diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 00000000000..e5908c26ac0 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,16 @@ +build +build.xml +ChangeLog +composer.json +CONTRIBUTING.md +COPYING +COPYRIGHT +dev +doc +Dockerfile +INSTALL +README-FR.md +README.md +robots.txt +scripts +test \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000000..5b3e0d6a8df --- /dev/null +++ b/.editorconfig @@ -0,0 +1,17 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true +# Unix-style newlines with a newline ending every file +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +[*.php] +indent_style = tab +[*.js] +indent_style = tab +[*.css] +indent_style = tab +[*.xml] +indent_style = tab diff --git a/.gitignore b/.gitignore index 20c87aa1e42..12983e5dfd8 100755 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ default.properties .buildpath .gitmodules dolibarr_install.log +upgrade.log doxygen_warnings.log /.project .DS_Store diff --git a/.mailmap b/.mailmap new file mode 100644 index 00000000000..e8821f0f8eb --- /dev/null +++ b/.mailmap @@ -0,0 +1,91 @@ +# This is mapping list between real user name/email and entry into sources files +# If you don't want to have your real email appears here, just send a Pull Request to +# replace the second field between <> with +Laurent Destailleur Laurent Destailleur +Laurent Destailleur eldy +Laurent Destailleur Laurent Destailleur +Laurent Destailleur eldy10 +Laurent Destailleur Laurent Destailleur +Regis Houssin Regis Houssin +Regis Houssin Régis Houssin +Juanjo Menent simnandez +Juanjo Menent Juanjo Menent +Juanjo Menent Simnandez +Juanjo Menent juanjo +Juanjo Menent juanjo +Marcos García de La Fuente Marcos García +Marcos García de La Fuente Marcos García +Florian Henry fhenry +Florian Henry Florian HENRY +Florian Henry FHenry +Florian Henry Florian HENRY +Florian Henry FHenry +Florian Henry HENRY Florian +Alexandre Spangaro aspangaro +Alexandre Spangaro Spangaro Alexandre +Alexandre Spangaro Alexandre SPANGARO +Raphaël Doursenaud Raphaël Doursenaud +Philippe Grand Grand Philippe +Philippe Grand Philippe GRAND +Philippe Grand philippe grand +Philippe Grand philippe +Philippe Grand unknown +Philippe Grand philippe +Philippe Grand Philippe Grand +Jean-François Ferry jfefe +Jean-François Ferry jfefe +Jean-François Ferry JF FERRY +Jean-François Ferry JF FERRY +Charles Benke BENKE Charles +Charles Benke BENKE Charlie +Charles Benke defrance69 +Maxime Kohlhaas MAxime Kohlhaas +Frédéric France Frédéric FRANCE +Frédéric France frederic34 +Frédéric France FRANCE Frédéric +Frédéric France frederic34 +Cyrille de Lambert cdelambert +Cédric Gross KreizIT +Cédric Gross Cedric +Cédric Gross Cedric GROSS +Jean Heimburger jean +Jean Heimburger tiaris +Benoit Mortier opensides +Eric Seigne erics +Jean-Louis Bergamo jlb +Remco Gerbrands r2gnl +Phf phf +Yannick Warnier ywarnier +Jerome Warnier jwarnier +Franky Van Liedekerke liedekef +Lalaina Rasamoelina lalaina rasamoelina +Marc Ocebo marc_ocebo +Unknown box7890 +Unknown beedauchon +Loic loic +Christophe Combelle +Unknown activdev +Unknown bouba +Unknown bcroq +Unknown dutoit +Unknown bureau2crea +Unknown unknown +Simon Tosser simontosser +Unknown tipaul +Raphaël Bertrand raphael_bertrand +Claudio Aschieri cla +Tommaso Basilici kaos +Tommaso Basilici Tommaso Basilici +Faust faust +Ferran Marcet fmarcet +Geoffrey Girard geoffrey.girard +Bernard Paquier BadPixxel +Patrick Delcroix delcroix Patrick +Damien Clochard damien clochard +Damien Clochard damien clochard +Grégory David Grégory DAVID +Grégory David Gregory DAVID +Baffir Abbes bafbes +Kevin Guerrier GUERRIER Kevin +Remy Younes remy +Estephe Loridan Estephe L. diff --git a/.scrutinizer.yml b/.scrutinizer.yml index 1db2aa867ae..0ca95ace51d 100644 --- a/.scrutinizer.yml +++ b/.scrutinizer.yml @@ -5,12 +5,13 @@ imports: filter: excluded_paths: - - 'build/*' - - 'dev/*' - - 'doc/*' - - 'test/*' - - 'htdocs/includes/*' - paths: { } + - build/* + - dev/* + - doc/* + - test/* + paths: + - htdocs/* + - scripts/* tools: # php_analyzer. Doc on https://scrutinizer-ci.com/docs/tools/php/php-analyzer/ @@ -18,15 +19,18 @@ tools: enabled: true extensions: - php - dependency_paths: { } + dependency_paths: + - htdocs/includes/ filter: excluded_paths: - - 'build/*' - - 'dev/*' - - 'doc/*' - - 'test/*' - - 'htdocs/includes/*' - paths: { } + - build/* + - dev/* + - doc/* + - test/* + - htdocs/includes/* + paths: + - htdocs/ + - scripts/ config: parameter_reference_check: enabled: true diff --git a/.travis.yml b/.travis.yml index 6c5833ccfdb..5bc5f49b2e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,6 +8,9 @@ notifications: on_success: never # [always|never|change] default: change on_failure: change # [always|never|change] default: always +addons: + postgresql: "9.3" + services: - memcached # will start memcached @@ -15,9 +18,15 @@ services: language: php php: # - "5.2" is not supported because pyrus to install PHP_Codesniffer is not available - - "5.3" - - "5.4" - - "5.5" + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - 7.0 + +matrix: + allow_failures: + - php: 7.0 env: - DB=mysql @@ -32,10 +41,12 @@ before_script: # - echo Update composer # - ~/.phpenv/versions/$(phpenv version-name)/bin/composer.phar self-update - echo PHPUnit version + - which phpunit - phpunit --version - echo Install phpcs then show installed rules - pyrus install pear/PHP_CodeSniffer - phpenv rehash + - which phpcs - phpcs --version - phpcs -i - echo Create dir $(pwd)/htdocs/documents @@ -55,7 +66,24 @@ before_script: - sh -c "if [ '$PHPV' = '5.4' ]; then echo 'zend_extension_ts = xdebug.so' >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini; fi" - cat ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini - echo Mysql version + # INSTALL MYSQL 5.6 + # (https://github.com/piwik/piwik/commit/20bd2e1c24e5d673dce3feb256204ad48c29f160) + # TODO: Remove when mysql 5.6 is provided by travis. + # Otherwise, our migrations will raise a syntax error. + - "sudo apt-get remove mysql-common mysql-server-5.5 mysql-server-core-5.5 mysql-client-5.5 mysql-client-core-5.5" + - "sudo apt-get autoremove" + - "sudo apt-get install libaio1" + - "wget -O mysql-5.6.14.deb http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.14-debian6.0-x86_64.deb/from/http://cdn.mysql.com/" + - "sudo dpkg -i mysql-5.6.14.deb" + - "sudo cp /opt/mysql/server-5.6/support-files/mysql.server /etc/init.d/mysql.server" + - "sudo ln -s /opt/mysql/server-5.6/bin/* /usr/bin/" + - "sudo sed -i'' 's/table_cache/table_open_cache/' /etc/mysql/my.cnf" + - "sudo sed -i'' 's/log_slow_queries/slow_query_log/' /etc/mysql/my.cnf" + - "sudo sed -i'' 's/basedir[^=]\\+=.*$/basedir = \\/opt\\/mysql\\/server-5.6/' /etc/mysql/my.cnf" + - "sudo /etc/init.d/mysql.server start" - mysql --version + - mysql -e "SELECT VERSION();" + # /END MYSQL 5.6- mysql --version - echo Init database - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'DROP DATABASE IF EXISTS myapp_test;' -U postgres; fi" - sh -c "if [ '$DB' = 'pgsql' ]; then psql -c 'CREATE DATABASE myapp_test;' -U postgres; fi" @@ -84,6 +112,8 @@ before_script: - sudo cat /etc/apache2/sites-available/default - sudo /etc/init.d/apache2 restart - wget http://localhost/ + - sudo cat /etc/apache2/envvars + - sudo cat /var/log/apache2/error.log - cat index.html @@ -91,14 +121,16 @@ before_script: script: - cd htdocs/install - date -# - php upgrade.php 3.4.0 3.5.0 ignoredbversion > upgrade.log -# - php upgrade2.php 3.4.0 3.5.0 ignoredbversion > upgrade2.log - - php upgrade.php 3.5.0 3.6.0 ignoredbversion >> upgrade.log - - php upgrade2.php 3.5.0 3.6.0 ignoredbversion >> upgrade2.log - - php upgrade.php 3.6.0 3.7.0 ignoredbversion >> upgrade.log -# - cat upgrade360370.log - - php upgrade2.php 3.6.0 3.7.0 ignoredbversion >> upgrade2.log -# - cat upgrade2.log +# - php upgrade.php 3.4.0 3.5.0 ignoredbversion > upgrade340350.log +# - php upgrade2.php 3.4.0 3.5.0 ignoredbversion > upgrade340350-2.log + - php upgrade.php 3.5.0 3.6.0 ignoredbversion > upgrade350360.log + - php upgrade2.php 3.5.0 3.6.0 ignoredbversion > upgrade350360-2.log + - php upgrade.php 3.6.0 3.7.0 ignoredbversion > upgrade360370.log + - php upgrade2.php 3.6.0 3.7.0 ignoredbversion > upgrade360370-2.log + - php upgrade.php 3.7.0 3.8.0 ignoredbversion > upgrade370380.log +# - cat upgrade370380.log + - php upgrade2.php 3.7.0 3.8.0 ignoredbversion > upgrade370380-2.log +# - cat upgrade370380-2.log - cd ../.. - date - phpunit -d memory_limit=-1 --configuration test/phpunit/phpunittest.xml test/phpunit/AllTests.php diff --git a/.tx/config b/.tx/config index 67c7b863f37..efa9dc872a2 100644 --- a/.tx/config +++ b/.tx/config @@ -146,6 +146,12 @@ source_file = htdocs/langs/en_US/holiday.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.incoterm] +file_filter = htdocs/langs//incoterm.lang +source_file = htdocs/langs/en_US/incoterm.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.install] file_filter = htdocs/langs//install.lang source_file = htdocs/langs/en_US/install.lang @@ -176,6 +182,12 @@ source_file = htdocs/langs/en_US/link.lang source_lang = en_US type = MOZILLAPROPERTIES +[dolibarr.loan] +file_filter = htdocs/langs//loan.lang +source_file = htdocs/langs/en_US/loan.lang +source_lang = en_US +type = MOZILLAPROPERTIES + [dolibarr.mailmanspip] file_filter = htdocs/langs//mailmanspip.lang source_file = htdocs/langs/en_US/mailmanspip.lang @@ -236,9 +248,9 @@ source_file = htdocs/langs/en_US/paypal.lang source_lang = en_US type = MOZILLAPROPERTIES -[dolibarr.printipp] -file_filter = htdocs/langs//printipp.lang -source_file = htdocs/langs/en_US/printipp.lang +[dolibarr.printing] +file_filter = htdocs/langs//printing.lang +source_file = htdocs/langs/en_US/printing.lang source_lang = en_US type = MOZILLAPROPERTIES diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000000..a603fd242cc --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,84 @@ +How to contribute to Dolibarr +============================= + +Bug reports and feature requests +-------------------------------- + +*Note*: Issues are not a support forum. If you need help using the software, please use [the forums](http://www.dolibarr.org/forum). + +**NEW** + +Issues are now managed on [GitHub](https://github.com/Dolibarr/dolibarr/Issues). + +1. Please [use the search engine](https://help.github.com/articles/searching-issues) to check if nobody's already reported your problem. +2. [Create an issue](https://help.github.com/articles/creating-an-issue). Choose an appropriate title. Prepend appropriately with Bug or Feature Request. +3. Report with as much detail as possible ([Use screenshots or even screencasts whenever possible](https://help.github.com/articles/issue-attachments)). + +We're still figuring out how to migrate old issues to GitHub. In the meantime, they are still available at [Doliforge](https://doliforge.org/projects/dolibarr). + +Code +--------------------- + +### Basic workflow + +1. [Fork](https://help.github.com/articles/fork-a-repo) the [GitHub repository](https://github.com/Dolibarr/dolibarr). +2. Clone your fork. +3. Choose a branch(See the [Branches](#branches) section below). +4. Commit and push your changes. +5. [Make a pull request](https://help.github.com/articles/creating-a-pull-request). + +### Branches + +Unless you're fixing a bug, all pull requests should be made against the *develop* branch. + +If you're fixing a bug, it is preferred that you cook your fix and pull request it +against the oldest version affected that's still supported. + +We officially support versions N, N − 1 and N − 2 for N the latest version available. + +Choose your base branch accordingly. + +### General rules +Please don't edit the ChangeLog file. A project manager will update it from your commit messages. + +### Commits +Use clear commit messages with the following structure: + +
+FIX|Fix #456 Short description (where #456 is number of bug fix, if it exists. In upper case to appear into ChangeLog)
+or
+CLOSE|Close #456 Short description (where #456 is number of feature request, if it exists. In upper case to appear into ChangeLog)
+or
+NEW|New Short description (In upper case to appear into ChangeLog, use this if you add a feature not tracked, otherwise use CLOSE #456)
+or
+Short description (when the commit is not introducing feature nor closing a bug)
+
+Long description (Can span accross multiple lines).
+
+ +### Pull Requests +When submitting a pull request, use same rule than Commits. With upper case keyword to appear into ChangeLog. + + +### Resources +[Developer documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) + +Translations +------------ +The source language (en_US) is maintained in the repository. See the [Code](#code) section above. + +All other translations are managed online at [Transifex](https://www.transifex.com/projects/p/dolibarr). + +Join an existing translation team or create your own and translate into the interface. + +Your translations will be available in the next major release. + +### Resources +[Translator documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) + +Documentation +------------- +The project's documentation is maintained on the [Wiki](http://wiki.dolibarr.org/index.php). + +*You need to create an account before being able to edit.* + diff --git a/COPYRIGHT b/COPYRIGHT index 1631f85d321..519910ea1b1 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -12,23 +12,26 @@ Dolibarr uses some external libraries released under different licenses. This is Component Version License GPL Compatible Usage ------------------------------------------------------------------------------------- PHP libraries: -AdoDb-Date 0.32 Modified BSD License Yes Date convertion (not into rpm package) +AdoDb-Date 0.33 Modified BSD License Yes Date convertion (not into rpm package) ChromePHP 4.3.3 Apache Software License 2.0 Yes Return server log to chrome browser console CKEditor 4.3.3 LGPL-2.1+ Yes Editor WYSIWYG -FPDI 1.4.2 Apache Software License 2.0 Yes PDF templates management -FPDF_TPL 1.2 Apache Software License 2.0 Yes PDF templates management +FPDI 1.5.2 Apache Software License 2.0 Yes PDF templates management GeoIP 1.4 LGPL-2.1+ Yes Sample code to make geoip convert (not into deb package) +Mobiledetect 2.8.3 MIT License Yes Detect mobile devices browsers NuSoap 0.9.5 LGPL 2.1+ Yes Library to develop SOAP Web services (not into rpm and deb package) +PEAR Mail_MIME 1.8.9 BSD Yes NuSoap dependency odtPHP 1.0.1 GPL-2+ b Yes Library to build/edit ODT files -PHPExcel 1.7.8 LGPL-2.1+ Yes Read/Write XLS files, read ODS files +PHPExcel 1.8.0 LGPL-2.1+ Yes Read/Write XLS files, read ODS files +php-iban 1.4.6 LGPL-3+ Yes Parse and validate IBAN (and IIBAN) bank account information in PHP PHPPrintIPP 1.3 GPL-2+ Yes Library to send print IPP requests -TCPDF 6.0.093 LGPL-3+ Yes PDF generation +Restler 3.0 LGPL-3+ Yes Library to develop REST Web services +TCPDF 6.2.6 LGPL-3+ Yes PDF generation JS libraries: -jQuery 1.8.2 MIT License Yes JS library -jQuery UI 1.9.1 GPL and MIT License Yes JS library plugin UI +jQuery 1.11.3 MIT License Yes JS library +jQuery UI 1.11.4 GPL and MIT License Yes JS library plugin UI jQuery select2 3.5.2 GPL and Apache License Yes JS library plugin for sexier multiselect -jQuery blockUI 2.43 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups) +jQuery blockUI 2.70.0 GPL and MIT License Yes JS library plugin blockUI (to use ajax popups) jQuery Colorpicker 1.1 MIT License Yes JS library for color picker for a defined list of colors jQuery DataTables 1.9.4 BSD Yes JS library for tables output jQuery FileUpload 5.0.3 GPL and MIT License Yes JS library to upload files @@ -45,6 +48,7 @@ jQuery TableDnD 0.6 GPL and MIT License Yes jQuery Timepicker 1.1.0 GPL and MIT License Yes JS library Timepicker addon for Datepicker jQuery Tiptip 1.3 GPL and MIT License Yes JS library for tooltips jsGantt 1.2 BSD License Yes JS library (to build Gantt reports) +JsTimezoneDetect 1.0.4 MIT Licence Yes JS library to detect user timezone For licenses compatibility informations: http://www.fsf.org/licensing/licenses/index_html @@ -54,7 +58,10 @@ Copyright --------- Copyright (C) 2015 +- Laurent Destailleur - Marcos García +- Alexandre Spangaro +- Frederic France Copyright (C) 2014 - Laurent Destailleur @@ -67,6 +74,7 @@ Copyright (C) 2014 - Maxime Kohlhaas - Juanjo Menent - Alexandre Spangaro +- Frederic France Copyright (C) 2013 - Christophe Battarel diff --git a/ChangeLog b/ChangeLog index 28b663e99b3..ed418b08f5c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -5,9 +5,48 @@ English Dolibarr ChangeLog WARNING: Do not try to make any Dolibarr upgrade if you are running Mysql version 5.5.40. Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. You may also experience troubles with Mysql 5.5.41 with error "Lost connection" during migration. -Upgrading to any other version or database system is abolutely required BEFORE trying to +Upgrading to any other version or any other database system is abolutely required BEFORE trying make a Dolibarr upgrade. + +***** ChangeLog for 3.8 compared to 3.7.* ***** +For users: +- New: Add Option to not change date on cloning project +- New: Add check list from table for extrafield type +- New: Use new combobox. +- New: Add hidden option MAXTABS_IN_CARD. +- New: A default label is suggested for stock correction and transfer instead of empty string. +- Fix / Improve : [ bug #1747 ] Remove creation of batch 'Undefined' +- Add Weighted average price as default price for buying price for margin calculation. Add option + MARGIN_PMP_AS_DEFAULT_BUY_PRICE to replace with first supplier price. +- Introduce option MAIN_HTML_TITLE to start to control format of html title content. +- Add extrafields on bank account cards. +- Added delay between mails in Newsletter module. +- [ task #1793 ] Create new permission to restrict commercial agent margin to logged user. +- Add experimental module ask supplier price to request supplier quotation. +- Add experimental module batch management. +- Fix: Corrected user timezone detection + +For translators: +- Update language files. +- New: When a translation is not available we always jump to en_US and only en_US. + +For developers: +- New: Function yn can show a visual checkbox. +- New: Introduced select2 jquery plugin. +- New: Possibility to add javascript in main login page with "getLoginPageOptions" hook + +WARNING: Following changes may create regression for some external modules, but was necessary to make +Dolibarr better: +- Removed hoo supplierorderdao into supplier order creation. This is a business event, so we must use the + trigger ORDER_SUPPLIER_CREATE instead. +- Hooks 'printLeftBlock' and 'formConfirm' are now compliant with hook development rules. They are + "addreplace" hooks, so you must return content with "->resprints='mycontent'" and not with "return 'mycontent'" +- All fields "fk_societe" were renamed into "fk_soc". +- Method select_PriceBaseType and load_PriceBaseType were merged into selectPriceBaseType. +- The trigger USER_LOGIN* are deprecated. They are still working but you should prefer use the + hook afterLogin or afterLoginFailed instead. + ***** ChangeLog for 3.7.2 compared to 3.7.1 ***** FIX [ bug #2855 ] Wrong translation key in localtax report page FIX [ bug #1852 ] JS error when editing a customer order line @@ -153,6 +192,7 @@ For users: - Fix: [ bug #1535 ] Supplier invoice Extrafields are not shown - Fix: datepicker first day of week can be monday by setting into display setup - Fix: [ bug #575 ] GED doesn't works if there is "/" in a mask +- Fix: [ task #1728 ] Deactivate RIB suggest in proposals / invoices / orders For users, new experimental module (need to set feature level of instance to experimental to see them): - New: Module Accounting Expert to manage accountancy diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000000..a5eb941c781 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM php:5.6-apache + +RUN apt-get update && apt-get install -y libpng12-dev libjpeg-dev \ + && rm -rf /var/lib/apt/lists/* \ + && docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr \ + && docker-php-ext-install gd + +RUN docker-php-ext-install mysqli + +COPY htdocs/ /var/www/html/ + +RUN chown -hR www-data:www-data /var/www/html + +EXPOSE 80 \ No newline at end of file diff --git a/README.md b/README.md index b97c14501ab..8359b66cbd9 100644 --- a/README.md +++ b/README.md @@ -1,151 +1,166 @@ # DOLIBARR ERP & CRM -Dolibarr ERP & CRM is a modern software to manage your company or foundation activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).It's an opensource software (wrote with PHP language) designed for small and medium companies, foundation and freelances. You can freely install, use and distribute it as a standalone application or as a web application to use it from every internet access and media. +Dolibarr ERP & CRM is a modern software to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...). + +It's an Open Source software (wrote in PHP language) designed for small and medium companies, foundation and freelances. + +You can freely use, study, modify or distribute it according to it's Free Software licence. + +You can use it as a standalone application or as a web application to be able to access it from the Internet or a LAN. ![ScreenShot](http://www.dolibarr.org/images/dolibarr_screenshot1_640x400.png) - ## LICENSE Dolibarr is released 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 (GPL-3+). +See the [COPYING](COPYING) file for a full copy of the license. +Other licenses apply for some included dependencies. See [COPYRIGHT](COPYRIGHT) for a full list. -## INSTALL +## INSTALLING -If you have no technical knowledge, and you are looking for an autoinstaller to install Dolibarr ERP/CRM in few clicks, you must download DoliWamp (the all-in-one package of Dolibarr for Windows), DoliDeb (the all-in-one package of Dolibarr for Debian or Ubuntu) or DoliRpm (the all-in-one package of Dolibarr for Fedora, Redhat, Opensuse, Mandriva or Mageia). +### Download -You can download this from the download area of [Official website] () +Releases can be downloaded from [official website](http://www.dolibarr.org/). -If you already have installed a Web server and a Mysql database, you can install the standard version like this: +### Simple setup -- Uncompress the downloaded archive. +If you have low technical skills and you're looking to install Dolibarr ERP/CRM in few clicks, you can use one of the packaged versions: -- Copy directory "dolibarr" and all its files inside your web server root, or copy directory anywhere and set up your web server to use "dolibarr/htdocs" as root for a new web server virtual host (second choice need to be server administrator). - -- Create an empty file "htdocs/conf/conf.php" and set permissions for your web server user (write permissions will be removed once install is finished). - -- From your browser, call the dolibarr "install/" page. +- DoliWamp for Windows +- DoliDeb for Debian or Ubuntu +- DoliRpm for Redhat, Fedora, OpenSuse, Mandriva or Mageia -Url depends on choice made on first step: +### Advanced setup - http://localhost/dolibarr/htdocs/install/ -or +You can use a Web server and a supported database (MySQL recommended) to install the standard version. - http://localhost/dolibarr/install/ -or +- Uncompress the downloaded archive +- Copy directory "dolibarr" and all its files inside your web server root, or copy directory anywhere and set up your web server to use "dolibarr/htdocs" as root for a new web server virtual host (second choice need to be server administrator) +- Create an empty file "htdocs/conf/conf.php" and set permissions for your web server user (write permissions will be removed once install is finished) +- From your browser, go to the dolibarr "install/" page - http://yourdolibarrvirtualhost/install/ + The URL will depends on choices made in the first step: + + http://localhost/dolibarr/htdocs/install/ + + or + + http://localhost/dolibarr/install/ + + or + + http://yourdolibarrvirtualhost/install/ -- Follow instructions provided by installer... +- Follow the installer instructions +## UPGRADING +- Overwrite all old files from 'dolibarr' directory with files provided into the new version's package. +- If you're upgrading from version x.y.z to x.y.w (only third number differs), there is no need to run any migration process. +- If you're upgrading from a beta version or from any version x.y.z to any other where x or y number differs, you must call the Dolibarr "install/" page in your browser (this should be done automatically at first dolibarr access) and follow the upgrade process. -## UPGRADE +*Note: migration process can safely be done multiple times.* -To upgrade Dolibarr from an old version to this one: +## NEWS -- Overwrite all old files inside old 'dolibarr' directory by files provided into new version package. - -- If you came from version x.y.z to x.y.w (only third number differ), there is no need to run any migrate process. - -- If you came from a beta version or from any version x.y.z to any other where x or y number differs, you must call the Dolibarr "install/" page in your browser (this should be done automatically at first dolibarr access). +See the [ChangeLog](ChangeLog) file. -This URL should looks like: +## FEATURES - http://localhost/dolibarr/htdocs/install/ -or +### General features +- Users and groups with finely grained rights +- Localization in most major languages +- Very user friendly and easy to use +- 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) +- Works with PHP 5.3+ and MySQL 4.1+ or PostgreSQL 8.1. (See requirements on the [Wiki](http://wiki.dolibarr.org/index.php/Prerequisite)) +- Compatible with all Cloud solutions that match MySQL, PHP or PostgreSQL prerequisites. +- An easy to understand, maintain and code interfaces with your own information system (PHP with no heavy framework; trigger and hook architecture) +- Support for country specific features: + - Spanish Tax RE and ISPF + - French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM) + - Canadian double taxes (federal/province) and other countries using cumulative VAT + - Tunisian tax stamp + - Compatible with [European directives](http://europa.eu/legislation_summaries/taxation/l31057_en.htm) (2006/112/CE ... 2010/45/UE) +- ... - http://localhost/dolibarr/install/ -or +### Main modules - http://yourdolibarrhost/install/ - -Then choose the "update" option according to your case. -Note: Migrate process can be ran safely several times. - - - -## WHAT'S NEW - -See ChangeLog file found into package. - - - -## WHAT DOLIBARR CAN DO - -### Main modules/features: - -- Customers, Prospects or Suppliers directory. -- Products and services catalog. -- Bank accounts management. -- Orders management. -- Commercial proposals management. -- Contracts management. -- Invoices management. -- Payments management. -- Standing orders management. -- Stock management. -- Shipping management. +- Customers, Prospects and/or Suppliers directory +- Products and/or Services catalog +- Bank accounts management +- Customer and Supplier Orders management +- Commercial proposals management +- Contracts management +- Invoices management +- Projects management +- Events management +- Payments management +- Standing orders management +- Stock management +- Shipping management +- Interventions management - PDF or ODT generation for invoice, proposals, orders... -- Agenda with ical,vcal export for third tools integration. -- EDM (Electronic Document Management). -- Foundations members management. -- Employee's holidays management. -- Mass Emailing. -- Realize surveys. -- Point of Sale. +- Agenda with ical and vcal export for third party tools integration +- Electronic Document Management (EDM) +- Foundations members management +- Employee's holidays management +- Mass emailing +- Surveys +- Point of Sale +- … -### Other modules: +### Other modules -- Bookmarks management. -- Donations management. -- Reporting. -- Data export/import. -- Third parties or products categories. -- LDAP connectivity. -- ClickToDial integration. -- RSS integration. -- Can be extended with a lot of other external modules available onto DoliStore.com. +- Bookmarks management +- Donations management +- Reporting +- Data export/import +- Thirdparties and/or products categories +- Barcodes support +- Margin calculations +- LDAP connectivity +- ClickToDial integration +- RSS integration +- Skype integration +- Payment platforms integration (PayBox, PayPal) +- … -### Miscellaneous: +### Extending -- Multi-user, with several permissions levels for each feature. -- Very user friendly and easy to use. -- Highly customizable: Enable only modules you need, 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). -- Works with PHP 5.3+, MySql 4.1 or PostgreSQL 8.1. -- Require PHP and Mysql or Postgresql (See exatc versions on http://wiki.dolibarr.org/index.php/Prerequisite). -- Compatible with all Cloud solutions that match MySql, PHP or PostgreSQL prerequisites. -- An easy to understand, maintain and code interfaces with your own system information (PHP with no heavy frameworks, trigger and hook architecture). -- Support countries specific features: - Spanish Tax RE and ISPF. - French NPR VAT rate (VAT called "Non Perçue Récupérable" for DOM-TOM). - Canadian double taxes (federal/province) and other countries using cumulative VAT. - Tunisian tax stamp. - Compatible with European directives (2006/112/CE ... 2010/45/UE) (http://europa.eu/legislation_summaries/taxation/l31057_en.htm) - ... +Dolibarr can be extended with a lot of other external modules from third party developers available at the [DoliStore](http://www.dolistore.com). +## FUTURE -## WHAT DOLIBARR CAN'T DO YET (TODO LIST) +These are features that Dolibarr does **not** yet fully support: -This is features that Dolibarr does not support completely yet: +- Double-entry bookkeeping (only bank and treasury management) +- Multiple currencies +- Multiple companies + If you want to manage several companies or foundations, you must install the software several times (on same server or not) or use the MultiCompany addon module that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas) +- Tasks dependencies in projects +- Payroll module +- Webmail +- Dolibarr can't do coffee (yet) -- No double party accountancy (only bank and treasury management). -- Dolibarr manage one currency at once (mono-currency). -- Dolibarr manage one master activity (mono-company). If you want to manage several companies or foundations, you must install several time the software (on same server or not). Another solution is to extend Dolibarr with the addon Module MultiCompany that allows to manage several companies in one Dolibarr instance (one database but with a logical isolation of datas). -- Tasks on module project can't have dependencies between each other. -- Dolibarr does not contains Payroll module. -- Dolibarr does not include any Webmail. -- Dolibarr can't do coffee (not yet). +## DOCUMENTATION +Administrator, user, developer and translator's documentations are available along with other community resources on the [Wiki](http://wiki.dolibarr.org). + +## CREDITS + +Dolibarr is the work of many contributors over the years and uses some fine libraries. + +See [COPYRIGHT](COPYRIGHT) file. ## SOCIAL NETWORKS -Follow Dolibarr project on - -Facebook: - -Google+: - -Twitter: +Follow Dolibarr project on: +- [Facebook](https://www.facebook.com/dolibarr) +- [Google+](https://plus.google.com/+DolibarrOrg) +- [Twitter](http://www.twitter.com/dolibarr) +- [LinkedIn](https://www.linkedin.com/company/association-dolibarr) +- [YouTube](https://www.youtube.com/user/DolibarrERPCRM) +- [GitHub](https://github.com/Dolibarr/dolibarr) diff --git a/build/debian/README.howto b/build/debian/README.howto index f9bb31c6fcf..6140412b831 100644 --- a/build/debian/README.howto +++ b/build/debian/README.howto @@ -38,6 +38,15 @@ filter-pristine-tar = True END +# Complete .bashrc with DEBEMAIL and DEBFULLNAME +Example: +export DEBFULLNAME="Laurent Destailleur (eldy)" +export DEBEMAIL=eldy@users.sourceforge.net +Other example: +export DEBFULLNAME="Laurent Destailleur" +export DEBEMAIL="eldy@destailleur.fr" + + # To use Alioth.debian.org * Create an account login * Update your ~/.ssh/config file to add: @@ -101,14 +110,38 @@ http://packages.qa.debian.org/package.html http://bugs.debian.org/package +##### Modify severity of a bug ticket + +- Send this email to control@bugs.debian.org and wait 10 minutes + +severity 123 xxx + + +##### Update but tracker system + +To set status of a bug to "pending" +> bts --smtp-host=yoursmtpserver tag 999999 +pending + +or replay to email 999999@bugs.debian.org + submitter of bug +With a message starting with: + +Control: tag -1 +pending +Thanks. Fixed into git. + +or replay to email control@bugs.debian.org +With only message +tag 729538 +pending + + ##### Testing a package into unstable env -Check you have a mysql server available from another interface than localhost +Check you have a mysql server available from another interface than "localhost". Comment line in /etc/mysql/my.cnf if required and restart mysql #bind-address = 127.0.0.1 -Create a chroot called "unstable-amd64-sbuild" +Create a chroot called "unstable-amd64-sbuild". +Chroot env is stored into /srv/chroot directory. > sudo sbuild-createchroot --keyring= unstable /srv/chroot/unstable http://ftp.uk.debian.org/debian Pour lister les env chroot @@ -116,6 +149,7 @@ Pour lister les env chroot Puis pour se connecter et préparer l'environnement > schroot -c name_of_chroot +> cat /etc/debian_chroot to check which debian branch we are into > vi /usr/sbin/policy-rc.d and replace return code 101 (not allowed) into 0 (ok) > apt-get install links mysql-client @@ -129,7 +163,10 @@ Pour tester un package > dpkg -i dolibarr*.deb ou pour avoir des traces: dpkg -D77777 -i dolibarr*.deb > apt-get install -f -Puis http://localhost/dolibarr/ (cela peut etre appeler depuis le hote). +If there is a problem launching apache, because port is already used, change it into your chroot install with +> vi /etc/apache2/ports.conf +Then restart. +Then you can call/test dolibarr with http://localhost:port/dolibarr/ (It can be also called from host). @@ -196,26 +233,9 @@ http://packages.qa.debian.org/t/tcpdf.html * Package will be into release when test will be moved as stable. - -##### Update but tracker system -To set status of a bug to pending -> bts tag 999999 +pending - -or replay to email 999999@bugs.debian.org + submitter of bug -With a message starting with: -Control: tag -1 +pending -and then a text like: -Thanks. Fixed into git. - -or replay to email control@bugs.debian.org -With only message -tag 729538 +pending - - - ##### Create/Maintain dolibarr package -To update dolibarr debian package +To update dolibarr debian package when upstream version has changed * You can git clone debian git repo > git clone git.debian.org:/git/collab-maint/dolibarr.git [dolibarr-debian] @@ -250,15 +270,25 @@ x.y.z+dfsgw Note: If there was errors solved manually after get-orig-sources.sh, you may need to make a git commit -* Add an entry into debian/changelog -> dch -v x.y.z+dfsg-w "My comment" will add entry. +* Fix debian/* files used to build package. +Add an entry into debian/changelog +> dch -v x.y.z+dfsgw-v "My comment" will add entry. For example: dch -v x.y.z+dfsgw-1 "New upstream release." for a new version (x.y.z = version, w start from 1 and increaed for each new import) Then modify changelog to replace "version" or "unstable" with "UNRELEASED". Then check/modify also the user/date signature: - Date must have format reported by "date -R" - Name and email must match value into debian/control file (Entry added here is used by next step). -* We try to build package + +To update dolibarr debian package when only files into debian has changed + +* Change files and commit. +* Add a tag debian/x.y.z+dfsgw-2 (increase the last 1 into 2) + + +Once files has been prepared, it's time to test: + +* Try to build package > rm -fr ../build-area; git-buildpackage -us -uc Note: You can use git-buildpackage -us -uc --git-ignore-new if you want to test build with uncommited file @@ -276,6 +306,7 @@ Note: If there was errors managed manually, you may need to make a git commit bu > git-buildpackage --git-tag-only --git-retag > git push --tags + * Compilation is then done by a debian developer and sent > sbuild ... > dput ... @@ -288,3 +319,17 @@ http://packages.qa.debian.org * Package will be into release when test will be moved as stable. + +##### Send an unblock request +Use this to move from unstable to testing. +reportbug -B debian +Choose package "release.debian.org" +Then "unblock" +Then name of package "dolibarr" +Fill message, for example: +"Please unblock package dolibarr +A security error CVE-2014-7137 was reported and is fixed into package 3.5.5. +Note that package 3.5.5 was prepared before the CVE was reported and include other fixes, but they are all related to stability or security (other se$ +After discussion with ..., it appears that security holes are enough to request this unblock request." + + diff --git a/build/debian/changelog b/build/debian/changelog index 98caa12a1d3..72718de7c6c 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -1,4 +1,4 @@ -dolibarr (3.7.2-3) UNRELEASED; urgency=low +dolibarr (3.8.0-3) UNRELEASED; urgency=low [ Laurent Destailleur (eldy) ] * New upstream release. diff --git a/build/doxygen/doxygen_footer.html b/build/doxygen/doxygen_footer.html index 1f4cbd00215..e11df270ddc 100755 --- a/build/doxygen/doxygen_footer.html +++ b/build/doxygen/doxygen_footer.html @@ -26,7 +26,7 @@ for $projectname by Doxygen $doxygenversio -
+
-
+
diff --git a/build/doxygen/doxygen_header.html b/build/doxygen/doxygen_header.html index 363d408d43c..0c2e189136b 100755 --- a/build/doxygen/doxygen_header.html +++ b/build/doxygen/doxygen_header.html @@ -24,7 +24,7 @@ File added into doxygen generated documentation
-
+
@@ -54,7 +54,7 @@ File added into doxygen generated documentation
$projectname
- $projectnumber
-
+
diff --git a/build/generate_filecheck_xml.php b/build/generate_filecheck_xml.php new file mode 100644 index 00000000000..04970b667f5 --- /dev/null +++ b/build/generate_filecheck_xml.php @@ -0,0 +1,70 @@ +#!/usr/bin/php + + * + * 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 build/generate_filecheck_xml.php + * \ingroup dev + * \brief This script create a xml checksum file + */ + +$sapi_type = php_sapi_name(); +$script_file = basename(__FILE__); +$path=dirname(__FILE__).'/'; + +// Test if batch mode +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; +} + + +// Main +parse_str($argv[1]); +//$outputfile=dirname(__FILE__).'/../htdocs/install/filelist-'.$release.'.xml'; +$outputfile=dirname(__FILE__).'/../htdocs/install/filelist.xml'; +$fp = fopen($outputfile,'w'); +fputs($fp, ''."\n"); +fputs($fp, ''."\n"); +fputs($fp, ''."\n"); +$dir_iterator = new RecursiveDirectoryIterator(dirname(__FILE__).'/../htdocs/'); +$iterator = new RecursiveIteratorIterator($dir_iterator); +// need to ignore document custom etc +$files = new RegexIterator($iterator, '#^(?:[A-Z]:)?(?:/(?!(?:custom|documents|conf|install|nltechno))[^/]+)+/[^/]+\.(?:php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$#i'); +$dir=''; +$needtoclose=0; +foreach ($files as $file) { + $newdir = str_replace(dirname(__FILE__).'/../htdocs', '', dirname($file)); + if ($newdir!=$dir) { + if ($needtoclose) + fputs($fp, ''."\n"); + fputs($fp, ''."\n"); + $dir = $newdir; + $needtoclose=1; + } + if (filetype($file)=="file") { + fputs($fp, ''.md5_file($file).''."\n"); + } +} +fputs($fp, ''."\n"); +fputs($fp, ''."\n"); +fputs($fp, ''."\n"); +fclose($fp); + +print "File ".$outputfile." generated\n"; + +exit(0); diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 8feecdd774e..a6cca8e2ce2 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -455,12 +455,15 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`; - # Removed known external modules to avoir any error when packaging on test env + + # Removed known external modules to avoid any error when packaging from env where external modules are tested $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom/*`; # For custom we want to keep dir $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/cabinetmed*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/lead*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`; @@ -488,6 +491,7 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/php-iban/docs`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`; diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 9f4555c1491..2cc29a14a9a 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -8,7 +8,7 @@ This files describe steps made by Dolibarr packaging team to make a beta version of Dolibarr, step by step. - Check all files are commited. -- Update version/info in ChangeLog. To generate a changelog, you can do "git log x.y.z..HEAD --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^FIXED\|NEW'" +- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base (x.y)-1 origin/develop`..x.y(.z) --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'" - Update version number with x.y.z-w in htdocs/filefunc.inc.php - Update version number with x.y.z-w in build/debian/changelog - Commit all changes. @@ -29,7 +29,7 @@ This files describe steps made by Dolibarr packaging team to make a complete release of Dolibarr, step by step. - Check all files are commited. -- Update version/info in ChangeLog. To generate a changelog, you can do "git log x.y.z..HEAD --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -e '^Fix\|New\|Sec'" +- Update version/info in ChangeLog. To generate a changelog, you can do "git log `git merge-base (x.y)-1 origin/develop`..x.y(.z) --no-merges --pretty=short --oneline | sed -e "s/^[0-9a-z]* //" | grep -i -e '^FIX\|NEW'" - Update version number with x.y.z in htdocs/filefunc.inc.php - Update version number with x.y.z in build/debian/changelog - Commit all changes. diff --git a/build/obs/README b/build/obs/README index fefe6dbd91d..cf312fc0e68 100644 --- a/build/obs/README +++ b/build/obs/README @@ -14,7 +14,7 @@ https://build.opensuse.org Packaging rules: http://en.opensuse.org/Portal:Packaging Add attributes: -OBS:Screenshots URL of screenshot +OBS:Screenshots URL of screenshot http://www.dolibarr.org/images/dolibarr_screenshot1.png OBS:QualityCategory Development|Testing|Stable|Private OBS:Maintained 1 diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 053f5c2fec6..f4e1fe2b330 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -172,8 +172,10 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/contrat %_datadir/dolibarr/htdocs/core %_datadir/dolibarr/htdocs/cron +%_datadir/dolibarr/htdocs/don %_datadir/dolibarr/htdocs/ecm %_datadir/dolibarr/htdocs/expedition +%_datadir/dolibarr/htdocs/expensereport %_datadir/dolibarr/htdocs/exports %_datadir/dolibarr/htdocs/externalsite %_datadir/dolibarr/htdocs/fichinter @@ -185,12 +187,13 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/install %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt %_datadir/dolibarr/htdocs/livraison +%_datadir/dolibarr/htdocs/loan %_datadir/dolibarr/htdocs/mailmanspip %_datadir/dolibarr/htdocs/margin %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index e4452e5bd91..171132aaf51 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -252,8 +252,10 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/contrat %_datadir/dolibarr/htdocs/core %_datadir/dolibarr/htdocs/cron +%_datadir/dolibarr/htdocs/don %_datadir/dolibarr/htdocs/ecm %_datadir/dolibarr/htdocs/expedition +%_datadir/dolibarr/htdocs/expensereport %_datadir/dolibarr/htdocs/exports %_datadir/dolibarr/htdocs/externalsite %_datadir/dolibarr/htdocs/fichinter @@ -265,12 +267,13 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/install %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt %_datadir/dolibarr/htdocs/livraison +%_datadir/dolibarr/htdocs/loan %_datadir/dolibarr/htdocs/mailmanspip %_datadir/dolibarr/htdocs/margin %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 9a7a6c30d53..4d020ad97de 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -169,8 +169,10 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/contrat %_datadir/dolibarr/htdocs/core %_datadir/dolibarr/htdocs/cron +%_datadir/dolibarr/htdocs/don %_datadir/dolibarr/htdocs/ecm %_datadir/dolibarr/htdocs/expedition +%_datadir/dolibarr/htdocs/expensereport %_datadir/dolibarr/htdocs/exports %_datadir/dolibarr/htdocs/externalsite %_datadir/dolibarr/htdocs/fichinter @@ -182,12 +184,13 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/install %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt %_datadir/dolibarr/htdocs/livraison +%_datadir/dolibarr/htdocs/loan %_datadir/dolibarr/htdocs/mailmanspip %_datadir/dolibarr/htdocs/margin %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index b1fb43e2845..f92bf828ed9 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -180,8 +180,10 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/contrat %_datadir/dolibarr/htdocs/core %_datadir/dolibarr/htdocs/cron +%_datadir/dolibarr/htdocs/don %_datadir/dolibarr/htdocs/ecm %_datadir/dolibarr/htdocs/expedition +%_datadir/dolibarr/htdocs/expensereport %_datadir/dolibarr/htdocs/exports %_datadir/dolibarr/htdocs/externalsite %_datadir/dolibarr/htdocs/fichinter @@ -193,12 +195,13 @@ done >>%{name}.lang %_datadir/dolibarr/htdocs/install %_datadir/dolibarr/htdocs/langs/HOWTO-Translation.txt %_datadir/dolibarr/htdocs/livraison +%_datadir/dolibarr/htdocs/loan %_datadir/dolibarr/htdocs/mailmanspip %_datadir/dolibarr/htdocs/margin %_datadir/dolibarr/htdocs/opensurvey %_datadir/dolibarr/htdocs/paybox %_datadir/dolibarr/htdocs/paypal -%_datadir/dolibarr/htdocs/printipp +%_datadir/dolibarr/htdocs/printing %_datadir/dolibarr/htdocs/product %_datadir/dolibarr/htdocs/projet %_datadir/dolibarr/htdocs/public diff --git a/composer.json b/composer.json index f0de86ce7ea..ed75d3ca61d 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,8 @@ "require": { "php": ">=5.3.0", "ext-gd": "*", - "ext-curl": "*" + "ext-curl": "*", + "restler/framework": "3.0.*" }, "suggest": { "ext-mysqli": "*", diff --git a/dev/ansible/README.md b/dev/ansible/README.md new file mode 100644 index 00000000000..e498ebc3340 --- /dev/null +++ b/dev/ansible/README.md @@ -0,0 +1,14 @@ +# This directory contains script example to use ansible to deploy or maitains dolibarr instances + +This is a quick tutorial: + +* Install ansible: +> apt-get install ansible + +* Add ip of server to manage into +/etc/ansible/hosts + +* Deploy public key to managed servers +- authorized_key: user=charlie key="{{ lookup('file', '/home/charlie/.ssh/id_rsa.pub') }}" + + diff --git a/dev/ansible/deployplaybook/deploydev.yml b/dev/ansible/deployplaybook/deploydev.yml new file mode 100644 index 00000000000..5802fb10a1e --- /dev/null +++ b/dev/ansible/deployplaybook/deploydev.yml @@ -0,0 +1,24 @@ +#!/usr/bin/env ansible-playbook + +# Run script with ansible-playbook deploydev.yml +# or ./deploydev.yml + +- name: Configure webserver with apache + hosts: webservers + sudo: True + tasks: + - name: install apache + apt: name=apache update_cache=yes + - name: copy apache config file + copy: src=files/apachealias.conf dest=/etc/apache/conf.d/dolibarr_dev + #- name: enable configuration + # file: > + # dest=/etc/apache/sites-enabled/default + # src=/etc/apache/sites-available/default + # state=link + - name: copy info.html + template: src=templates/info.html.j2 dest=/var/www/dolibarr_dev/info.html + mode=0644 + - name: restart apache + service: name=apache state=restarted + diff --git a/dev/ansible/deployplaybook/files/apachealias.conf b/dev/ansible/deployplaybook/files/apachealias.conf new file mode 100644 index 00000000000..d801094af5a --- /dev/null +++ b/dev/ansible/deployplaybook/files/apachealias.conf @@ -0,0 +1,2 @@ + +Alias /dolibarr_dev /var/www/dolibarr diff --git a/dev/ansible/deployplaybook/hosts b/dev/ansible/deployplaybook/hosts new file mode 100644 index 00000000000..99627faba2b --- /dev/null +++ b/dev/ansible/deployplaybook/hosts @@ -0,0 +1,2 @@ +[webservers] +testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=22 diff --git a/dev/ansible/deployplaybook/templates/info.html.j2 b/dev/ansible/deployplaybook/templates/info.html.j2 new file mode 100644 index 00000000000..66fac1c4deb --- /dev/null +++ b/dev/ansible/deployplaybook/templates/info.html.j2 @@ -0,0 +1,10 @@ + + + Page info ansible + + +

Apache, configured by Ansible

+

If you can see this, Ansible successfully installed apache.

+

{{ ansible_managed }}

+ + \ No newline at end of file diff --git a/dev/codesniffer/README b/dev/codesniffer/README index b06a2b1e5f6..8a68d8a1140 100755 --- a/dev/codesniffer/README +++ b/dev/codesniffer/README @@ -1,9 +1,12 @@ README (English) -------------------------------- -This directory contains ruleset files to use to -develop Dolibarr EPR & CRM with Eclipse. +This directory contains ruleset files to use to develop Dolibarr EPR & CRM. -Note: You must setup the PTI plugin of Eclipse into PHPCodeSniffer menu with: +To install/upgrade phpcs: +> sudo pear upgrade PHP_CodeSniffer + +Note with Eclipse: You must setup the PTI plugin of Eclipse into PHPCodeSniffer menu with: * tab value to 4 -* path of code sniffer standard to dev/codesniffer \ No newline at end of file +* path of code sniffer standard to dev/codesniffer + diff --git a/dev/codesniffer/ruleset.xml b/dev/codesniffer/ruleset.xml index 620da28d556..9b5c0931650 100755 --- a/dev/codesniffer/ruleset.xml +++ b/dev/codesniffer/ruleset.xml @@ -173,138 +173,44 @@ - + - + - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - + 0 - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - + + 0 + 0 + 0 + 0 + 0 - - - 0 - - - 0 - - - - 0 - - - 0 - - - 0 - - - 0 - + + - - 0 - + + 5 - + + 0 + + + 0 + + + + + + 0 + + + + 0 + + + + + + 0 + + + + 0 + + 0 @@ -419,6 +350,11 @@ + + + 0 + +
-
+
@@ -46,7 +46,7 @@
-
+
'."\n"; diff --git a/htdocs/admin/clicktodial.php b/htdocs/admin/clicktodial.php index 3e85d377055..b6d7e8b3449 100644 --- a/htdocs/admin/clicktodial.php +++ b/htdocs/admin/clicktodial.php @@ -60,7 +60,7 @@ $wikihelp='EN:Module_ClickToDial_En|FR:Module_ClickToDial|ES:Módulo_ClickTodial llxHeader('',$langs->trans("ClickToDialSetup"),$wikihelp); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ClickToDialSetup"),$linkback,'title_setup'); print $langs->trans("ClickToDialDesc")."
\n"; @@ -94,7 +94,7 @@ print ''; print ''; -print '

'; +print '

'; print '

'; diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index aaa1949d7dd..a569632cc02 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -263,8 +263,7 @@ llxHeader("",$langs->trans("OrdersSetup")); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'setup'); -print '
'; +print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); $head = order_admin_prepare_head(); @@ -348,18 +347,16 @@ foreach ($dirmodels as $reldir) $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $commande->type=0; $nextval=$module->getNextValue($mysoc,$commande); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { - $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { - $htmltooltip.=$nextval.'
'; - } - else - { - $htmltooltip.=$langs->trans($module->error).'
'; - } - } + 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 $form->textwithpicto('',$htmltooltip,1,0); @@ -624,9 +621,29 @@ else } print ''; - print '
'; + +/* + * Notifications + */ + +print_titre($langs->trans("Notifications")); +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +print '\n"; + +print '
'.$langs->trans("Parameter").' 
'; +print $langs->trans("YouMayFindNotificationsFeaturesIntoModuleNotification").'
'; +print '
'; +print "
'; + + llxFooter(); $db->close(); diff --git a/htdocs/admin/company.php b/htdocs/admin/company.php index da63d507e2b..db4c1dff209 100644 --- a/htdocs/admin/company.php +++ b/htdocs/admin/company.php @@ -4,6 +4,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2011 Philippe Grand + * Copyright (C) 2015 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 @@ -151,6 +152,7 @@ if ( ($action == 'update' && empty($_POST["cancel"])) dolibarr_set_const($db, "MAIN_INFO_PROFID6",$_POST["MAIN_INFO_PROFID6"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_INFO_TVAINTRA",$_POST["tva"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_INFO_SOCIETE_OBJECT",$_POST["object"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "SOCIETE_FISCAL_MONTH_START",$_POST["fiscalmonthstart"],'chaine',0,'',$conf->entity); @@ -275,7 +277,7 @@ $formcompany=new FormCompany($db); $countrynotdefined=''.$langs->trans("ErrorSetACountryFirst").' ('.$langs->trans("SeeAbove").')'; -print_fiche_titre($langs->trans("CompanyFoundation"),'','setup'); +print_fiche_titre($langs->trans("CompanyFoundation"),'','title_setup'); print $langs->trans("CompanyFundationDesc")."
\n"; print "
\n"; @@ -369,9 +371,9 @@ if ($action == 'edit' || $action == 'updateedit') // Logo $var=!$var; print ''; - print ''; @@ -420,7 +422,7 @@ if ($action == 'edit' || $action == 'updateedit') print ''; + + // Object of the company + $var=!$var; + print ''; print ''; print '
'; + print '
'; print ''; - print ''; + print ''; if (! empty($mysoc->logo_mini)) { print ''.img_delete($langs->trans("Delete")).''; @@ -383,7 +385,7 @@ if ($action == 'edit' || $action == 'updateedit') } else { - print ''; + print ''; } print '
'; print '
'; if ($mysoc->country_code) { - print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE,$mysoc->country_code); + print $formcompany->select_juridicalstatus($conf->global->MAIN_INFO_SOCIETE_FORME_JURIDIQUE, $mysoc->country_code, '', 'legal_form'); } else { @@ -528,6 +530,12 @@ if ($action == 'edit' || $action == 'updateedit') $var=!$var; print '
'; print ''; + print '
'; + print '
'; @@ -543,7 +551,7 @@ if ($action == 'edit' || $action == 'updateedit') $var=!$var; print ''; - print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',1) . ''; + print $formother->select_month($conf->global->SOCIETE_FISCAL_MONTH_START,'fiscalmonthstart',0,1) . ''; print ""; @@ -668,11 +676,11 @@ if ($action == 'edit' || $action == 'updateedit') } - print '
'; + print '
'; print ''; - print '     '; + print '     '; print ''; - print '
'; + print ''; print '
'; print ''; @@ -754,9 +762,9 @@ else $var=!$var; print ''.$langs->trans("Logo").''; - print ''; print ''; + + $var=!$var; + print ''; print '
'; + print '
'; print $mysoc->logo; - print ''; + print ''; // On propose la generation de la vignette si elle n'existe pas if (!is_file($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini) && preg_match('/(\.jpg|\.jpeg|\.png)$/i',$mysoc->logo)) @@ -769,7 +777,7 @@ else } else { - print ''; + print ''; } print '
'; @@ -929,6 +937,9 @@ else } print '
'.$langs->trans("CompanyObject").'' . (! empty($conf->global->MAIN_INFO_SOCIETE_OBJECT) ? nl2br($conf->global->MAIN_INFO_SOCIETE_OBJECT) : '') . '
'; print ''; diff --git a/htdocs/admin/compta.php b/htdocs/admin/compta.php index b5aed0c683e..6020cb7947e 100644 --- a/htdocs/admin/compta.php +++ b/htdocs/admin/compta.php @@ -44,7 +44,7 @@ $list = array( 'ACCOUNTING_PRODUCT_SOLD_ACCOUNT', 'ACCOUNTING_SERVICE_BUY_ACCOUNT', 'ACCOUNTING_SERVICE_SOLD_ACCOUNT', - 'ACCOUNTING_VAT_ACCOUNT', + 'ACCOUNTING_VAT_SOLD_ACCOUNT', 'ACCOUNTING_VAT_BUY_ACCOUNT', 'ACCOUNTING_ACCOUNT_CUSTOMER', 'ACCOUNTING_ACCOUNT_SUPPLIER' @@ -104,7 +104,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('ComptaSetup'),$linkback,'setup'); +print_fiche_titre($langs->trans('ComptaSetup'),$linkback,'title_setup'); print '
'; @@ -135,7 +135,6 @@ print ''.nl2br($langs->trans('OptionModeTrueDesc')); print "\n"; print ' '.$langs->trans('OptionModeVirtual').''; print ''.nl2br($langs->trans('OptionModeVirtualDesc'))."\n"; -print ''; print "\n"; @@ -163,11 +162,10 @@ foreach ($list as $key) print ''; } -print ''; print "\n"; print '

'; - +print ''; $db->close(); llxFooter(); diff --git a/htdocs/admin/confexped.php b/htdocs/admin/confexped.php index ae8a7452244..a6ed0acae30 100644 --- a/htdocs/admin/confexped.php +++ b/htdocs/admin/confexped.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2011-2015 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 @@ -74,7 +74,7 @@ $form=new Form($db); llxHeader("",""); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; $h = 0; @@ -121,11 +121,11 @@ print ''; print ''; print ''; -if($conf->global->MAIN_SUBMODULE_EXPEDITION == 0) +if (empty($conf->global->MAIN_SUBMODULE_EXPEDITION)) { print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } -else if($conf->global->MAIN_SUBMODULE_EXPEDITION == 1) +else { print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } @@ -141,11 +141,11 @@ print ''; print ''; print ''; -if($conf->global->MAIN_SUBMODULE_LIVRAISON == 0) +if (empty($conf->global->MAIN_SUBMODULE_LIVRAISON)) { print ''.img_picto($langs->trans("Disabled"),'switch_off').''; } -else if($conf->global->MAIN_SUBMODULE_LIVRAISON == 1) +else { print ''.img_picto($langs->trans("Enabled"),'switch_on').''; } diff --git a/htdocs/admin/const.php b/htdocs/admin/const.php index f8fdb461d1e..55434d4de2e 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -165,14 +165,14 @@ jQuery(document).ready(function() { var row_num = field_id.split("_"); jQuery("#updateconst").show(); jQuery("#action").val('update'); - jQuery("#check_" + row_num[1]).attr("checked",true); + jQuery("#check_" + row_num[1]).prop("checked",true); }); }); trans("OtherSetup"),'','setup'); +print_fiche_titre($langs->trans("OtherSetup"),'','title_setup'); print $langs->trans("ConstDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/contract.php b/htdocs/admin/contract.php index 6905156990b..c77d71a9af9 100644 --- a/htdocs/admin/contract.php +++ b/htdocs/admin/contract.php @@ -1,6 +1,6 @@ - * Copyright (C) 2011-2013 Philippe Grand + * Copyright (C) 2011-2014 Philippe Grand * * 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 @@ -214,7 +214,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); print "
"; @@ -299,18 +299,16 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$contract); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { - $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { - $htmltooltip.=$nextval.'
'; - } - else - { - $htmltooltip.=$langs->trans($module->error).'
'; - } - } + 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 $form->textwithpicto('',$htmltooltip,1,0); @@ -509,7 +507,6 @@ print ''; print $langs->trans("FreeLegalTextOnContracts").' ('.$langs->trans("AddCRIfTooLong").')
'; print ''; print ''."\n"; -print ''; //Use draft Watermark $var=!$var; diff --git a/htdocs/admin/delais.php b/htdocs/admin/delais.php index 274d1adc34e..e48dba1c355 100644 --- a/htdocs/admin/delais.php +++ b/htdocs/admin/delais.php @@ -127,7 +127,7 @@ $form = new Form($db); llxHeader(); -print_fiche_titre($langs->trans("DelaysOfToleranceBeforeWarning"),'','setup'); +print_fiche_titre($langs->trans("DelaysOfToleranceBeforeWarning"),'','title_setup'); print $langs->transnoentities("DelaysOfToleranceDesc",img_warning()); print " ".$langs->trans("OnlyActiveElementsAreShown",DOL_URL_ROOT.'/admin/modules.php')."
\n"; @@ -177,7 +177,7 @@ if ($action == 'edit') print '
'; - print '
'; + print '
'; print '
'; print ''; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index ae5326547ba..d13f43a6ed5 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent @@ -8,7 +8,7 @@ * Copyright (C) 2011 Remy Younes * Copyright (C) 2012-2015 Marcos García * Copyright (C) 2012 Christophe Battarel - * Copyright (C) 2011-2014 Alexandre Spangaro + * Copyright (C) 2011-2015 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 @@ -70,7 +70,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,0,5,11,0,6,0,10,23,12,13,0,14,0,7,17,0,22,20,18,21,0,15,0,24,0,25); +$taborder=array(9,0,4,3,2,0,1,8,19,16,27,0,5,11,0,6,0,7,17,24,28,0,10,23,12,13,0,14,0,22,20,18,21,0,15,0,25,0,26); // Name of SQL tables of dictionaries $tabname=array(); @@ -99,6 +99,9 @@ $tabname[22]= MAIN_DB_PREFIX."c_input_reason"; $tabname[23]= MAIN_DB_PREFIX."c_revenuestamp"; $tabname[24]= MAIN_DB_PREFIX."c_type_resource"; $tabname[25]= MAIN_DB_PREFIX."c_email_templates"; +$tabname[26]= MAIN_DB_PREFIX."c_units"; +$tabname[27]= MAIN_DB_PREFIX."c_stcomm"; +$tabname[28]= MAIN_DB_PREFIX."c_holiday_types"; // Dictionary labels $tablib=array(); @@ -127,22 +130,25 @@ $tablib[22]= "DictionarySource"; $tablib[23]= "DictionaryRevenueStamp"; $tablib[24]= "DictionaryResourceType"; $tablib[25]= "DictionaryEMailTemplates"; +$tablib[26]= "DictionaryUnits"; +$tablib[27]= "DictionaryProspectStatus"; +$tablib[28]= "DictionaryHolidayTypes"; // Requests to extract data $tabsql=array(); $tabsql[1] = "SELECT f.rowid as rowid, f.code, f.libelle, c.code as country_code, c.label as country, f.active FROM ".MAIN_DB_PREFIX."c_forme_juridique as f, ".MAIN_DB_PREFIX."c_country as c WHERE f.fk_pays=c.rowid"; $tabsql[2] = "SELECT d.rowid as rowid, d.code_departement as code, d.nom as libelle, d.fk_region as region_id, r.nom as region, c.code as country_code, c.label as country, d.active FROM ".MAIN_DB_PREFIX."c_departements as d, ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_country as c WHERE d.fk_region=r.code_region and r.fk_pays=c.rowid and r.active=1 and c.active=1"; $tabsql[3] = "SELECT r.rowid as rowid, r.code_region as code, r.nom as libelle, r.fk_pays as country_id, c.code as country_code, c.label as country, r.active FROM ".MAIN_DB_PREFIX."c_regions as r, ".MAIN_DB_PREFIX."c_country as c WHERE r.fk_pays=c.rowid and c.active=1"; -$tabsql[4] = "SELECT rowid as rowid, code, label, active, favorite FROM ".MAIN_DB_PREFIX."c_country"; +$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[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.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 code_iso as code, label, unicode, active FROM ".MAIN_DB_PREFIX."c_currencies"; +$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.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"; $tabsql[11]= "SELECT t.rowid as rowid, element, source, code, libelle, active FROM ".MAIN_DB_PREFIX."c_type_contact AS t"; -$tabsql[12]= "SELECT c.rowid as rowid, code, sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX.'c_payment_term AS c'; -$tabsql[13]= "SELECT id as rowid, code, c.libelle, type, active, accountancy_code FROM ".MAIN_DB_PREFIX."c_paiement AS c"; +$tabsql[12]= "SELECT c.rowid as rowid, c.code, c.sortorder, c.libelle, c.libelle_facture, nbjour, fdm, decalage, active FROM ".MAIN_DB_PREFIX.'c_payment_term AS c'; +$tabsql[13]= "SELECT c.id as rowid, c.code, c.libelle, c.type, c.active, c.accountancy_code FROM ".MAIN_DB_PREFIX."c_paiement AS c"; $tabsql[14]= "SELECT e.rowid as rowid, e.code as code, e.libelle, e.price, e.organization, e.fk_pays as country_id, c.code as country_code, c.label as country, e.active FROM ".MAIN_DB_PREFIX."c_ecotaxe AS e, ".MAIN_DB_PREFIX."c_country as c WHERE e.fk_pays=c.rowid and c.active=1"; $tabsql[15]= "SELECT rowid as rowid, code, label as libelle, width, height, unit, active FROM ".MAIN_DB_PREFIX."c_paper_format"; $tabsql[16]= "SELECT code, label as libelle, sortorder, active FROM ".MAIN_DB_PREFIX."c_prospectlevel"; @@ -152,9 +158,12 @@ $tabsql[19]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREF $tabsql[20]= "SELECT rowid as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_input_method"; $tabsql[21]= "SELECT c.rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_availability AS c"; $tabsql[22]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_input_reason"; -$tabsql[23]= "SELECT t.rowid, t.taux, c.label as country, c.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_revenuestamp as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; +$tabsql[23]= "SELECT t.rowid as rowid, t.taux, c.label as country, c.code as country_code, t.fk_pays as country_id, t.note, t.active, t.accountancy_code_sell, t.accountancy_code_buy FROM ".MAIN_DB_PREFIX."c_revenuestamp as t, ".MAIN_DB_PREFIX."c_country as c WHERE t.fk_pays=c.rowid"; $tabsql[24]= "SELECT rowid as rowid, code, label, active FROM ".MAIN_DB_PREFIX."c_type_resource"; $tabsql[25]= "SELECT rowid as rowid, label, type_template, private, position, topic, content, active FROM ".MAIN_DB_PREFIX."c_email_templates"; +$tabsql[26]= "SELECT rowid as rowid, code, label, short_label, active FROM ".MAIN_DB_PREFIX."c_units"; +$tabsql[27]= "SELECT id as rowid, code, libelle, active FROM ".MAIN_DB_PREFIX."c_stcomm"; +$tabsql[28]= "SELECT h.rowid as rowid, h.code, h.label, h.delay, h.newByMonth, h.fk_country as country_id, c.code as country_code, c.label as country, h.active FROM ".MAIN_DB_PREFIX."c_holiday_types as h LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON h.fk_country=c.rowid"; // Criteria to sort dictionaries $tabsqlsort=array(); @@ -183,6 +192,9 @@ $tabsqlsort[22]="code ASC, label ASC"; $tabsqlsort[23]="country ASC, taux ASC"; $tabsqlsort[24]="code ASC,label ASC"; $tabsqlsort[25]="label ASC"; +$tabsqlsort[26]="code ASC"; +$tabsqlsort[27]="code ASC"; +$tabsqlsort[28]="country ASC, code ASC"; // Nom des champs en resultat de select pour affichage du dictionnaire $tabfield=array(); @@ -211,6 +223,9 @@ $tabfield[22]= "code,label"; $tabfield[23]= "country_id,country,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfield[24]= "code,label"; $tabfield[25]= "label,type_template,private,position,topic,content"; +$tabfield[26]= "code,label,short_label"; +$tabfield[27]= "code,libelle"; +$tabfield[28]= "code,label,delay,newByMonth,country_id,country"; // Nom des champs d'edition pour modification d'un enregistrement $tabfieldvalue=array(); @@ -239,6 +254,9 @@ $tabfieldvalue[22]= "code,label"; $tabfieldvalue[23]= "country,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldvalue[24]= "code,label"; $tabfieldvalue[25]= "label,type_template,private,position,topic,content"; +$tabfieldvalue[26]= "code,label,short_label"; +$tabfieldvalue[27]= "code,libelle"; +$tabfieldvalue[28]= "code,label,delay,newByMonth,country"; // Nom des champs dans la table pour insertion d'un enregistrement $tabfieldinsert=array(); @@ -267,6 +285,9 @@ $tabfieldinsert[22]= "code,label"; $tabfieldinsert[23]= "fk_pays,taux,accountancy_code_sell,accountancy_code_buy,note"; $tabfieldinsert[24]= "code,label"; $tabfieldinsert[25]= "label,type_template,private,position,topic,content"; +$tabfieldinsert[26]= "code,label,short_label"; +$tabfieldinsert[27]= "code,libelle"; +$tabfieldinsert[28]= "code,label,delay,newByMonth,fk_country"; // Nom du rowid si le champ n'est pas de type autoincrement // Example: "" if id field is "rowid" and has autoincrement on @@ -297,6 +318,9 @@ $tabrowid[22]= "rowid"; $tabrowid[23]= ""; $tabrowid[24]= ""; $tabrowid[25]= ""; +$tabrowid[26]= ""; +$tabrowid[27]= "id"; +$tabrowid[28]= ""; // Condition to show dictionary in setup page $tabcond=array(); @@ -316,7 +340,7 @@ $tabcond[13]= (! empty($conf->commande->enabled) || ! empty($conf->propal->enabl $tabcond[14]= (! empty($conf->product->enabled) && ! empty($conf->ecotax->enabled)); $tabcond[15]= true; $tabcond[16]= (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS)); -$tabcond[17]= ! empty($conf->deplacement->enabled); +$tabcond[17]= (! empty($conf->deplacement->enabled) || ! empty($conf->expensereport->enabled)); $tabcond[18]= ! empty($conf->expedition->enabled); $tabcond[19]= ! empty($conf->societe->enabled); $tabcond[20]= ! empty($conf->fournisseur->enabled); @@ -325,6 +349,9 @@ $tabcond[22]= (! empty($conf->commande->enabled) || ! empty($conf->propal->enabl $tabcond[23]= true; $tabcond[24]= ! empty($conf->resource->enabled); $tabcond[25]= true; // && ! empty($conf->global->MAIN_EMAIL_EDIT_TEMPLATE_FROM_DIC); +$tabcond[26]= ! empty($conf->product->enabled); +$tabcond[27]= ! empty($conf->societe->enabled); +$tabcond[28]= ! empty($conf->holiday->enabled); // List of help for fields $tabhelp=array(); @@ -353,6 +380,9 @@ $tabhelp[22] = array(); $tabhelp[23] = array(); $tabhelp[24] = array(); $tabhelp[25] = array(); +$tabhelp[26] = array(); +$tabhelp[27] = array(); +$tabhelp[28] = array(); // List of check for fields (NOT USED YET) $tabfieldcheck=array(); @@ -381,6 +411,9 @@ $tabfieldcheck[22] = array(); $tabfieldcheck[23] = array(); $tabfieldcheck[24] = array(); $tabfieldcheck[25] = array(); +$tabfieldcheck[26] = array(); +$tabfieldcheck[27] = array(); +$tabfieldcheck[28] = array(); // Complete all arrays with entries found into modules complete_dictionary_with_modules($taborder,$tabname,$tablib,$tabsql,$tabsqlsort,$tabfield,$tabfieldvalue,$tabfieldinsert,$tabrowid,$tabcond,$tabhelp,$tabfieldcheck); @@ -453,7 +486,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) $ok=1; foreach ($listfield as $f => $value) { - if ($value == 'country_id' && in_array($tablib[$id],array('DictionaryVAT','DictionaryRegion','DictionaryCompanyType'))) continue; // For some pages, country is not mandatory + if ($value == 'country_id' && in_array($tablib[$id],array('DictionaryVAT','DictionaryRegion','DictionaryCompanyType','DictionaryHolidayTypes'))) continue; // For some pages, country is not mandatory if ($value == 'country' && in_array($tablib[$id],array('DictionaryCanton','DictionaryCompanyType'))) continue; // For some pages, country is not mandatory if ($value == 'localtax1' && empty($_POST['localtax1_type'])) continue; if ($value == 'localtax2' && empty($_POST['localtax2_type'])) continue; @@ -502,7 +535,7 @@ if (GETPOST('actionadd') || GETPOST('actionmodify')) } if (isset($_POST["country"]) && ($_POST["country"]=='0') && ($id != 2)) { - if (in_array($tablib[$id],array('DictionaryCompanyType'))) + if (in_array($tablib[$id],array('DictionaryCompanyType','DictionaryHolidayTypes'))) // Field country is no mandatory for such dictionaries { $_POST["country"]=''; } @@ -748,7 +781,7 @@ if ($id) $titre.=' - '.$langs->trans($tablib[$id]); $linkback=''.$langs->trans("BackToDictionaryList").''; } -print_fiche_titre($titre,$linkback,'setup'); +print_fiche_titre($titre,$linkback,'title_setup'); if (empty($id)) { @@ -858,6 +891,7 @@ if ($id) if ($fieldlist[$field]=='pcg_type') { $valuetoshow=$langs->trans("Pcg_type"); } if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); } if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); } + if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); } if ($id == 2) // Special cas for state page { @@ -883,7 +917,7 @@ if ($id) print ''; // Line to enter new values - print ""; + print ""; $obj = new stdClass(); // If data was already input, we define them in obj to populate input fields. @@ -913,7 +947,7 @@ if ($id) print ""; $colspan=count($fieldlist)+2; - if ($id == 4) $colspan++;; + if ($id == 4) $colspan++; if (! empty($alabelisused)) // Si un des champs est un libelle { @@ -995,6 +1029,7 @@ if ($id) if ($fieldlist[$field]=='pcg_type') { $valuetoshow=$langs->trans("Pcg_type"); } if ($fieldlist[$field]=='pcg_subtype') { $valuetoshow=$langs->trans("Pcg_subtype"); } if ($fieldlist[$field]=='sortorder') { $valuetoshow=$langs->trans("SortOrder"); } + if ($fieldlist[$field]=='short_label') { $valuetoshow=$langs->trans("ShortLabel"); } // Affiche nom du champ if ($showfield) @@ -1006,7 +1041,8 @@ if ($id) if ($id == 4) print getTitleFieldOfList($langs->trans("Favorite"),0,$_SERVER["PHP_SELF"],"favorite",($page?'page='.$page.'&':'').'&id='.$id,"",'align="center"',$sortfield,$sortorder); print getTitleFieldOfList($langs->trans("Status"),0,$_SERVER["PHP_SELF"],"active",($page?'page='.$page.'&':'').'&id='.$id,"",'align="center"',$sortfield,$sortorder); - print ' '; + print getTitleFieldOfList(''); + print getTitleFieldOfList(''); print ''; // Lines with values @@ -1159,7 +1195,14 @@ if ($id) else if ($fieldlist[$field]=='unicode') { $valuetoshow = $langs->getCurrencySymbol($obj->code,1); } - + else if ($fieldlist[$field]=='label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + $langs->load("products"); + $valuetoshow=$langs->trans($obj->$fieldlist[$field]); + } + else if ($fieldlist[$field]=='short_label' && $tabname[$_GET["id"]]==MAIN_DB_PREFIX.'c_units') { + $langs->load("products"); + $valuetoshow = $langs->trans($obj->$fieldlist[$field]); + } else if (($fieldlist[$field] == 'unit') && ($tabname[$id] == MAIN_DB_PREFIX.'c_paper_format')) { $key = $langs->trans('SizeUnit'.strtolower($obj->unit)); diff --git a/htdocs/admin/ecm.php b/htdocs/admin/ecm.php index 50ad5ce13e8..ed75fd141f9 100644 --- a/htdocs/admin/ecm.php +++ b/htdocs/admin/ecm.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 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 @@ -69,7 +70,7 @@ $help_url=''; llxHeader('',$langs->trans("ECMSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ECMSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ECMSetup"),$linkback,'title_setup'); print '
'; print ''; @@ -95,11 +96,11 @@ if ($conf->use_javascript_ajax) } else { - if($conf->global->ECM_AUTO_TREE_ENABLED == 0) + if (empty($conf->global->ECM_AUTO_TREE_ENABLED)) { print ''.img_picto($langs->trans("Disabled"),'off').''; } - else if($conf->global->USER_MAIL_REQUIRED == 1) + else if(! empty($conf->global->USER_MAIL_REQUIRED)) { print ''.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/admin/events.php b/htdocs/admin/events.php index d5562248c55..ed2a70f1b58 100644 --- a/htdocs/admin/events.php +++ b/htdocs/admin/events.php @@ -73,7 +73,7 @@ if ($action == "save") llxHeader('',$langs->trans("Audit")); //$linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("LogEventDesc")."
\n"; print "
\n"; @@ -104,7 +104,7 @@ foreach ($eventstolog as $key => $arr) print ''."\n"; } } diff --git a/htdocs/admin/expedition.php b/htdocs/admin/expedition.php index 2efdfdd56ba..e3842921d7f 100644 --- a/htdocs/admin/expedition.php +++ b/htdocs/admin/expedition.php @@ -217,7 +217,7 @@ $form=new Form($db); llxHeader("",""); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; @@ -324,18 +324,16 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$expedition); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { - $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { - $htmltooltip.=$nextval.'
'; - } - else - { - $htmltooltip.=$langs->trans($module->error).'
'; - } - } + 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 '
'; $key='MAIN_LOGEVENTS_'.$arr['id']; $value=$conf->global->$key; - print ''; + print ''; print '
'; print $form->textwithpicto('',$htmltooltip,1,0); diff --git a/htdocs/admin/expensereport.php b/htdocs/admin/expensereport.php new file mode 100644 index 00000000000..15c810f46c5 --- /dev/null +++ b/htdocs/admin/expensereport.php @@ -0,0 +1,503 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand (Resultic) + * Copyright (C) 2011-2013 Juanjo Menent + * Copyright (C) 2011-2013 Philippe Grand + * + * 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/admin/expensereport.php + * \ingroup expensereport + * \brief Setup page of module ExpenseReport + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/expensereport.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; + +$langs->load("admin"); +$langs->load("errors"); +$langs->load("trips"); +$langs->load('other'); + +if (! $user->admin) accessforbidden(); + +$action = GETPOST('action','alpha'); +$value = GETPOST('value','alpha'); +$label = GETPOST('label','alpha'); +$scandir = GETPOST('scandir','alpha'); +$type='expensereport'; + + +/* + * Actions + */ +if ($action == 'updateMask') +{ + $maskconst=GETPOST('maskconst','alpha'); + $maskvalue=GETPOST('maskvalue','alpha'); + if ($maskconst) $res = dolibarr_set_const($db,$maskconst,$maskvalue,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +else if ($action == 'specimen') // For fiche inter +{ + $modele= GETPOST('module','alpha'); + + $inter = new ExpenseReport($db); + $inter->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/expensereport/doc/pdf_".$modele.".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($inter,$langs) > 0) + { + header("Location: ".DOL_URL_ROOT."/document.php?modulepart=expensereport&file=SPECIMEN.pdf"); + return; + } + else + { + setEventMessage($obj->error,'errors'); + dol_syslog($obj->error, LOG_ERR); + } + } + else + { + setEventMessage($langs->trans("ErrorModuleNotFound"),'errors'); + dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR); + } +} + +// Define constants for submodules that contains parameters (forms with param1, param2, ... and value1, value2, ...) +if ($action == 'setModuleOptions') +{ + $post_size=count($_POST); + + $db->begin(); + + for($i=0;$i < $post_size;$i++) + { + if (array_key_exists('param'.$i,$_POST)) + { + $param=GETPOST("param".$i,'alpha'); + $value=GETPOST("value".$i,'alpha'); + if ($param) $res = dolibarr_set_const($db,$param,$value,'chaine',0,'',$conf->entity); + if (! $res > 0) $error++; + } + } + if (! $error) + { + $db->commit(); + setEventMessage($langs->trans("SetupSaved")); + } + else + { + $db->rollback(); + setEventMessage($langs->trans("Error"),'errors'); + } +} + +// Activate a model +else if ($action == 'set') +{ + $ret = addDocumentModel($value, $type, $label, $scandir); + if ($ret > 0 && empty($conf->global->EXPENSEREPORT_ADDON_PDF)) + { + dolibarr_set_const($db, 'EXPENSEREPORT_ADDON_PDF', $value,'chaine',0,'',$conf->entity); + } +} + +else if ($action == 'del') +{ + $ret = delDocumentModel($value, $type); + if ($ret > 0) + { + if ($conf->global->EXPENSEREPORT_ADDON_PDF == "$value") dolibarr_del_const($db, 'EXPENSEREPORT_ADDON_PDF',$conf->entity); + } +} + +// Set default model +else if ($action == 'setdoc') +{ + if (dolibarr_set_const($db, "EXPENSEREPORT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) + { + // La constante qui a ete lue en avant du nouveau set + // on passe donc par une variable pour avoir un affichage coherent + $conf->global->EXPENSEREPORT_ADDON_PDF = $value; + } + + // On active le modele + $ret = delDocumentModel($value, $type); + if ($ret > 0) + { + $ret = addDocumentModel($value, $type, $label, $scandir); + } +} + +else if ($action == 'setmod') +{ + // TODO Verifier si module numerotation choisi peut etre active + // par appel methode canBeActivated + + dolibarr_set_const($db, "EXPENSEREPORT_ADDON",$value,'chaine',0,'',$conf->entity); +} + +else if ($action == 'set_EXPENSEREPORT_FREE_TEXT') +{ + $freetext= GETPOST('EXPENSEREPORT_FREE_TEXT','alpha'); + $res = dolibarr_set_const($db, "EXPENSEREPORT_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +else if ($action == 'set_EXPENSEREPORT_DRAFT_WATERMARK') +{ + $draft= GETPOST('EXPENSEREPORT_DRAFT_WATERMARK','alpha'); + + $res = dolibarr_set_const($db, "EXPENSEREPORT_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + + + +/* + * View + */ + +$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); + +llxHeader(); + +$form=new Form($db); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("ExpenseReportsSetup"),$linkback,'title_setup'); + + +$head=expensereport_admin_prepare_head(); + +dol_fiche_head($head, 'expensereport', $langs->trans("ExpenseReports"), 0, 'trip'); + +// Interventions numbering model +/* +print_titre($langs->trans("FicheinterNumberingModules")); + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +clearstatcache(); + +foreach ($dirmodels as $reldir) +{ + $dir = dol_buildpath($reldir."core/modules/fichinter/"); + + if (is_dir($dir)) + { + $handle = opendir($dir); + if (is_resource($handle)) + { + $var=true; + + while (($file = readdir($handle))!==false) + { + if (preg_match('/^(mod_.*)\.php$/i',$file,$reg)) + { + $file = $reg[1]; + $classname = substr($file,4); + + require_once $dir.$file.'.php'; + + $module = new $file; + + if ($module->isEnabled()) + { + // 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; + + $var=!$var; + print ''; + + // Show example of numbering model + print ''."\n"; + + print ''; + + $ficheinter=new Fichinter($db); + $ficheinter->initAsSpecimen(); + + // Info + $htmltooltip=''; + $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; + $nextval=$module->getNextValue($mysoc,$ficheinter); + 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 ''; + } + } + } + closedir($handle); + } + } +} + +print '
'.$langs->trans("Name").''.$langs->trans("Description").''.$langs->trans("Example").''.$langs->trans("Status").''.$langs->trans("ShortInfo").'
'.$module->nom."\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 '
'; + if ($conf->global->FICHEINTER_ADDON == $classname) + { + print img_picto($langs->trans("Activated"),'switch_on'); + } + else + { + print ''.img_picto($langs->trans("Disabled"),'switch_off').''; + } + print ''; + print $form->textwithpicto('',$htmltooltip,1,0); + print '

'; +*/ + +/* + * Documents models for Interventions + */ + +print_titre($langs->trans("TemplatePDFExpenseReports")); + +// Defini tableau def des modeles +$type='expensereport'; +$def = array(); +$sql = "SELECT nom"; +$sql.= " FROM ".MAIN_DB_PREFIX."document_model"; +$sql.= " WHERE type = '".$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 ''; +print ''; +print ''; +print ''; +print '\n"; +print '\n"; +print ''; +print ''; +print "\n"; + +clearstatcache(); + +$var=true; +foreach ($dirmodels as $reldir) +{ + $dir = dol_buildpath($reldir."core/modules/expensereport/doc"); + + 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)) + { + $var=!$var; + + $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")); + $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + $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 ''; + } + } + } + } + } + } +} + +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 '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 ""; + 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 ''; + print $form->textwithpicto('',$htmltooltip,-1,0); + print ''; + if ($module->type == 'pdf') + { + print ''.img_object($langs->trans("Preview"),'intervention').''; + } + else + { + print img_object($langs->trans("PreviewNotAvailable"),'generic'); + } + print '
'; + +dol_fiche_end(); + + +llxFooter(); + +$db->close(); diff --git a/htdocs/admin/external_rss.php b/htdocs/admin/external_rss.php index f23e80f78ff..e067b5dcb6e 100644 --- a/htdocs/admin/external_rss.php +++ b/htdocs/admin/external_rss.php @@ -189,7 +189,7 @@ if ($_POST["delete"]) llxHeader('',$langs->trans("ExternalRSSSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ExternalRSSSetup"), $linkback, 'setup'); +print_fiche_titre($langs->trans("ExternalRSSSetup"), $linkback, 'title_setup'); print '
'; // Formulaire ajout @@ -214,11 +214,11 @@ print '
http://news.google.com/news?ned=us&topic=h&output=rss
http://www.d print '
'; -print '

'; +print '
'; print ''; print ''; print ''; -print '

'; +print '


'; print ''; diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index a7692655a0a..e993d2c276c 100644 --- a/htdocs/admin/facture.php +++ b/htdocs/admin/facture.php @@ -171,7 +171,7 @@ else if ($action == 'setdoc') // on passe donc par une variable pour avoir un affichage coherent $conf->global->FACTURE_ADDON_PDF = $value; } - + // On active le modele $ret = delDocumentModel($value, $type); if ($ret > 0) @@ -293,8 +293,7 @@ $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'setup'); -print '
'; +print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); $head = invoice_admin_prepare_head(); dol_fiche_head($head, 'general', $langs->trans("Invoices"), 0, 'invoice'); @@ -341,7 +340,7 @@ foreach ($dirmodels as $reldir) // Check if there is a filter on country preg_match('/\-(.*)_(.*)$/',$classname,$reg); if (! empty($reg[2]) && $reg[2] != strtoupper($mysoc->country_code)) continue; - + $classname = preg_replace('/\-.*$/','',$classname); if (! class_exists($classname) && is_readable($dir.$filebis) && (preg_match('/mod_/',$filebis) || preg_match('/mod_/',$classname)) && substr($filebis, dol_strlen($filebis)-3, 3) == 'php') { @@ -393,61 +392,53 @@ foreach ($dirmodels as $reldir) $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $facture->type=0; $nextval=$module->getNextValue($mysoc,$facture); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=$langs->trans("NextValueForInvoices").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval.'
'; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error).'
'; } } // Example for remplacement $facture->type=1; $nextval=$module->getNextValue($mysoc,$facture); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { - $htmltooltip.=$langs->trans("NextValueForReplacements").': '; - if ($nextval) - { - $htmltooltip.=$nextval.'
'; - } - else - { - $htmltooltip.=$langs->trans($module->error).'
'; - } + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval + $htmltooltip.=$langs->trans("NextValueForReplacements").': '; + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); + $htmltooltip.=$nextval.'
'; + } else { + $htmltooltip.=$langs->trans($module->error).'
'; + } } - + // Example for credit invoice $facture->type=2; $nextval=$module->getNextValue($mysoc,$facture); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=$langs->trans("NextValueForCreditNotes").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval.'
'; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error).'
'; } } // Example for deposit invoice $facture->type=3; $nextval=$module->getNextValue($mysoc,$facture); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=$langs->trans("NextValueForDeposit").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error); } } @@ -638,7 +629,6 @@ print ''; /* * Modes de reglement - * */ print '
'; print_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice")); @@ -680,7 +670,7 @@ if (! empty($conf->banque->enabled)) $row = $db->fetch_row($resql); print ''; $i++; @@ -704,7 +694,7 @@ print "".$langs->trans("SuggestPaymentByChequeToAddress").""; print ""; print '
'."\n"; + print '
'."\n"; print '
'; print ''."\n"; diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index dad5f484a4d..1e0e78db868 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -4,7 +4,7 @@ * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2014 Regis Houssin - * Copyright (C) 2008 Raphael Bertrand (Resultic) + * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2011-2013 Juanjo Menent * Copyright (C) 2011-2013 Philippe Grand * @@ -221,7 +221,7 @@ else if ($action == 'set_FICHINTER_DRAFT_WATERMARK') elseif ($action == 'set_FICHINTER_PRINT_PRODUCTS') { $val = GETPOST('FICHINTER_PRINT_PRODUCTS','alpha'); - $res = dolibarr_set_const($db, "FICHINTER_PRINT_PRODUCTS",($val == 'on'),'bool',0,'',$conf->entity); + $res = dolibarr_set_const($db, "FICHINTER_PRINT_PRODUCTS",($val == 'on' ? 1 : 0),'bool',0,'',$conf->entity); if (! $res > 0) $error++; @@ -247,7 +247,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("InterventionsSetup"),$linkback,'title_setup'); $head=fichinter_admin_prepare_head(); @@ -328,10 +328,16 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$ficheinter); - if ($nextval != $langs->trans("NotAvailable")) - { - $htmltooltip.=''.$langs->trans("NextValue").': '.$nextval; - } + 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 $form->textwithpicto('',$htmltooltip,1,0); print ''; @@ -548,7 +554,7 @@ print ''; print $langs->trans("PrintProductsOnFichinter").' ('.$langs->trans("PrintProductsOnFichinterDetails").')'; print 'global->FICHINTER_PRINT_PRODUCTS) - print 'checked="checked" '; + print 'checked '; print '/>'; print ''; print ''; diff --git a/htdocs/admin/geoipmaxmind.php b/htdocs/admin/geoipmaxmind.php index 39267a0cefb..119f97ac840 100644 --- a/htdocs/admin/geoipmaxmind.php +++ b/htdocs/admin/geoipmaxmind.php @@ -76,7 +76,7 @@ $form=new Form($db); llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("GeoIPMaxmindSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("GeoIPMaxmindSetup"),$linkback,'title_setup'); print '
'; $version=''; diff --git a/htdocs/admin/ihm.php b/htdocs/admin/ihm.php index 1477ef5577b..c1baf0bc979 100644 --- a/htdocs/admin/ihm.php +++ b/htdocs/admin/ihm.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -45,41 +45,55 @@ $action = GETPOST('action'); if (! defined("MAIN_MOTD")) define("MAIN_MOTD",""); // List of supported permanent search area -$searchform=array("MAIN_SEARCHFORM_SOCIETE", "MAIN_SEARCHFORM_CONTACT", "MAIN_SEARCHFORM_PRODUITSERVICE", "MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER", "MAIN_SEARCHFORM_ADHERENT"); -$searchformconst=array($conf->global->MAIN_SEARCHFORM_SOCIETE,$conf->global->MAIN_SEARCHFORM_CONTACT,$conf->global->MAIN_SEARCHFORM_PRODUITSERVICE,$conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER,$conf->global->MAIN_SEARCHFORM_ADHERENT); -$searchformtitle=array($langs->trans("Companies"),$langs->trans("Contacts"),$langs->trans("ProductsAndServices"),$langs->trans("ProductsAndServices").' ('.$langs->trans("SupplierRef").')',$langs->trans("Members")); -$searchformmodule=array('Module1Name','Module1Name','Module50Name','Module50Name','Module310Name'); +$searchform=array("MAIN_SEARCHFORM_SOCIETE", "MAIN_SEARCHFORM_CONTACT", "MAIN_SEARCHFORM_PRODUITSERVICE", "MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER", "MAIN_SEARCHFORM_ADHERENT", "MAIN_SEARCHFORM_PROJECT"); +$searchformconst=array($conf->global->MAIN_SEARCHFORM_SOCIETE,$conf->global->MAIN_SEARCHFORM_CONTACT,$conf->global->MAIN_SEARCHFORM_PRODUITSERVICE,$conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER,$conf->global->MAIN_SEARCHFORM_ADHERENT,$conf->global->MAIN_SEARCHFORM_PROJECT); +$searchformtitle=array($langs->trans("Companies"), $langs->trans("Contacts"), $langs->trans("ProductsAndServices"), $langs->trans("ProductsAndServices").' ('.$langs->trans("SupplierRef").')', $langs->trans("Members"), $langs->trans("Projects")); +$searchformmodule=array('Module1Name','Module1Name','Module50Name','Module50Name','Module310Name','Module400Name'); if ($action == 'update') { - dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", $_POST["main_size_liste_limit"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["main_disable_javascript"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", $_POST["MAIN_BUTTON_HIDE_UNAUTHORIZED"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_START_WEEK", $_POST["MAIN_START_WEEK"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", $_POST["MAIN_DEFAULT_WORKING_DAYS"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", $_POST["MAIN_DEFAULT_WORKING_HOURS"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SHOW_LOGO", $_POST["MAIN_SHOW_LOGO"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", $_POST["MAIN_FIRSTNAME_NAME_POSITION"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_LANG_DEFAULT", $_POST["main_lang_default"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MULTILANGS", $_POST["main_multilangs"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SIZE_LISTE_LIMIT", $_POST["main_size_liste_limit"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_DISABLE_JAVASCRIPT", $_POST["main_disable_javascript"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_BUTTON_HIDE_UNAUTHORIZED", $_POST["MAIN_BUTTON_HIDE_UNAUTHORIZED"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_START_WEEK", $_POST["MAIN_START_WEEK"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_DAYS", $_POST["MAIN_DEFAULT_WORKING_DAYS"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_DEFAULT_WORKING_HOURS", $_POST["MAIN_DEFAULT_WORKING_HOURS"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SHOW_LOGO", $_POST["MAIN_SHOW_LOGO"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_ACTIVATE_HTML5", $_POST["MAIN_ACTIVATE_HTML5"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_ACTIVATE_FILECACHE", $_POST["MAIN_ACTIVATE_FILECACHE"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_FIRSTNAME_NAME_POSITION", $_POST["MAIN_FIRSTNAME_NAME_POSITION"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_THEME", $_POST["main_theme"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT", $_POST["MAIN_SEARCHFORM_CONTACT"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE", $_POST["MAIN_SEARCHFORM_SOCIETE"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE",$_POST["MAIN_SEARCHFORM_PRODUITSERVICE"],'chaine',0,'',$conf->entity); + $val=(join(',',(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', join(',',colorStringToArray(GETPOST('THEME_ELDY_TOPMENU_BACK1'),array())),'chaine',0,'',$conf->entity); + + $val=(join(',',(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', join(',',colorStringToArray(GETPOST('THEME_ELDY_BACKTITLE1'),array())),'chaine',0,'',$conf->entity); + + dolibarr_set_const($db, "MAIN_SEARCHFORM_CONTACT", $_POST["MAIN_SEARCHFORM_CONTACT"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SEARCHFORM_SOCIETE", $_POST["MAIN_SEARCHFORM_SOCIETE"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE", $_POST["MAIN_SEARCHFORM_PRODUITSERVICE"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER",$_POST["MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_SEARCHFORM_ADHERENT",$_POST["MAIN_SEARCHFORM_ADHERENT"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SEARCHFORM_ADHERENT", $_POST["MAIN_SEARCHFORM_ADHERENT"],'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_SEARCHFORM_PROJECT", $_POST["MAIN_SEARCHFORM_PROJECT"],'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", $_POST["MAIN_HELPCENTER_DISABLELINK"],'chaine',0,'',0); // Param for all entities - dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr($_POST["main_motd"]),'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr($_POST["main_home"]),'chaine',0,'',$conf->entity); - dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", $_POST["MAIN_HELP_DISABLELINK"],'chaine',0,'',0); // Param for all entities + dolibarr_set_const($db, "MAIN_HELPCENTER_DISABLELINK", $_POST["MAIN_HELPCENTER_DISABLELINK"],'chaine',0,'',0); // Param for all entities + dolibarr_set_const($db, "MAIN_MOTD", dol_htmlcleanlastbr($_POST["main_motd"]),'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_HOME", dol_htmlcleanlastbr($_POST["main_home"]),'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_HELP_DISABLELINK", $_POST["MAIN_HELP_DISABLELINK"],'chaine',0,'',0); // Param for all entities + dolibarr_set_const($db, "MAIN_BUGTRACK_ENABLELINK", $_POST["MAIN_BUGTRACK_ENABLELINK"],'chaine',0,'',$conf->entity); + + if (GETPOST('check_THEME_ELDY_USE_HOVER') == 'on') dolibarr_set_const($db,"THEME_ELDY_USE_HOVER", 1,'chaine',0,'',$conf->entity); + else dolibarr_set_const($db,"THEME_ELDY_USE_HOVER",0,'chaine',0,'',$conf->entity); // This one is not always defined if (isset($_POST["MAIN_USE_PREVIEW_TABS"])) dolibarr_set_const($db, "MAIN_USE_PREVIEW_TABS", $_POST["MAIN_USE_PREVIEW_TABS"],'chaine',0,'',$conf->entity); - if (isset($_POST["MAIN_BUGTRACK_ENABLELINK"])) dolibarr_set_const($db, "MAIN_BUGTRACK_ENABLELINK", $_POST["MAIN_BUGTRACK_ENABLELINK"],'chaine',0,'',$conf->entity); $_SESSION["mainmenu"]=""; // Le gestionnaire de menu a pu changer @@ -99,7 +113,7 @@ $form=new Form($db); $formother=new FormOther($db); $formadmin=new FormAdmin($db); -print_fiche_titre($langs->trans("GUISetup"),'','setup'); +print_fiche_titre($langs->trans("GUISetup"),'','title_setup'); print $langs->trans("DisplayDesc")."
\n"; print "
\n"; @@ -142,7 +156,7 @@ if ($action == 'edit') // Edit print '
'."\n"; - // Themes + // Themes and themes options show_theme(null,1); print '
'; @@ -174,6 +188,27 @@ if ($action == 'edit') // Edit print ' '; print ''; + // Activate Html5 - Developement - Only available on Eldy template + if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5)) + { + $var=!$var; + print ''.$langs->trans("EnableHtml5").''; + print $form->selectyesno('MAIN_ACTIVATE_HTML5',$conf->global->MAIN_ACTIVATE_HTML5,1); + print ''; + print ' '; + print ''; + } + + // Activate FileCache - Developement + if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + $var=!$var; + print ''.$langs->trans("EnableFileCache").''; + print $form->selectyesno('MAIN_ACTIVATE_FILECACHE',$conf->global->MAIN_ACTIVATE_FILECACHE,1); + print ''; + print ' '; + print ''; + } + // Max size of lists $var=!$var; print ''.$langs->trans("DefaultMaxSizeList").''; @@ -256,22 +291,19 @@ if ($action == 'edit') // Edit print ' '; print ''; - if ($conf->global->MAIN_FEATURES_LEVEL >= 1 || ! empty($conf->global->MAIN_BUGTRACK_ENABLELINK)) - { - // Show bugtrack link - $var=!$var; - print ''.$langs->trans("ShowBugTrackLink").''; - print $form->selectyesno('MAIN_BUGTRACK_ENABLELINK',$conf->global->MAIN_BUGTRACK_ENABLELINK,1); - print ''; - print ' '; - print ''; - } + // Show bugtrack link + $var=!$var; + print ''.$langs->trans("ShowBugTrackLink", $langs->transnoentitiesnoconv("FindBug")).''; + print $form->selectyesno('MAIN_BUGTRACK_ENABLELINK',$conf->global->MAIN_BUGTRACK_ENABLELINK,1); + print ''; + print ' '; + print ''; // Message on login page $var=!$var; print ''.$langs->trans("MessageLogin").''; - $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 = 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 ''."\n"; @@ -280,7 +312,7 @@ if ($action == 'edit') // Edit $var=!$var; print ''.$langs->trans("MessageOfDay").''; - $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 = 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 ''."\n"; @@ -288,9 +320,9 @@ if ($action == 'edit') // Edit print ''."\n"; - print '
'; + print '
'; print ''; - print '
'; + print ''; print ''; print '
'; @@ -300,8 +332,6 @@ else // Show $var=true; // Language - print_fiche_titre($langs->trans("Language"),'',''); - print '
'; print ''; print ''; @@ -354,6 +384,23 @@ else // Show print ''; print ""; + // Activate Html5 - Developement - Only available on Eldy template + if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_HTML5)) + { + $var=!$var; + print ''; + print ''; + print ""; + } + + // Activate FileCache - Developement + if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + $var=!$var; + print ''; + print ''; + print ""; + } + $var=!$var; print ''; print ''; @@ -427,15 +474,12 @@ else // Show print yn((isset($conf->global->MAIN_HELP_DISABLELINK)?$conf->global->MAIN_HELP_DISABLELINK:0),1); print ''; - if ($conf->global->MAIN_FEATURES_LEVEL >= 1 || ! empty($conf->global->MAIN_BUGTRACK_ENABLELINK)) - { - // Show bugtrack link - $var=!$var; - print '"; - print ''; - print ""; - } + // Show bugtrack link + $var=!$var; + print '"; + print ''; + print ""; // Message login $var=!$var; diff --git a/htdocs/admin/index.php b/htdocs/admin/index.php index 9e6d316c9ee..2d47206d6ad 100644 --- a/htdocs/admin/index.php +++ b/htdocs/admin/index.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2015 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 @@ -42,7 +43,7 @@ llxHeader('',$langs->trans("Setup"),$wikihelp); $form = new Form($db); -print_fiche_titre($langs->trans("SetupArea"),'','setup'); +print_fiche_titre($langs->trans("SetupArea"),'','title_setup.png'); if (! empty($conf->global->MAIN_MOTD_SETUPPAGE)) @@ -110,7 +111,7 @@ if (empty($reshook)) print "
"; // Show logo - print '
'; + print '
'; } diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php index ef893031db1..ce4ba172583 100644 --- a/htdocs/admin/ldap.php +++ b/htdocs/admin/ldap.php @@ -82,7 +82,7 @@ llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:M&o $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -239,7 +239,7 @@ print '
'; print '
'.$langs->trans("Parameters").''.$langs->trans("Value").' 
 
'.$langs->trans("EnableHtml5").'' . yn($conf->global->MAIN_ACTIVATE_HTML5) . ' 
'.$langs->trans("EnableFileCache").'' . yn($conf->global->MAIN_ACTIVATE_FILECACHE) . ' 
'.$langs->trans("DefaultMaxSizeList").'' . $conf->global->MAIN_SIZE_LISTE_LIMIT . ' 
'.$langs->trans("ShowBugTrackLink").''; - print yn($conf->global->MAIN_BUGTRACK_ENABLELINK)." 
'.$langs->trans("ShowBugTrackLink", $langs->transnoentitiesnoconv("FindBug")).''; + print yn($conf->global->MAIN_BUGTRACK_ENABLELINK)." 
secret
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php index 81724449ecd..a92943b63ba 100644 --- a/htdocs/admin/ldap_contacts.php +++ b/htdocs/admin/ldap_contacts.php @@ -95,7 +95,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -156,7 +156,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FULLNAME?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FULLNAME?' checked':'').">"; print ''; // Name @@ -164,7 +164,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_NAME?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_NAME?' checked':'').">"; print ''; // Firstname @@ -172,7 +172,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFirstName").''; print ''; print ''.$langs->trans("LDAPFieldFirstNameExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FIRSTNAME?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FIRSTNAME?' checked':'').">"; print ''; // Company @@ -180,7 +180,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldCompany").''; print ''; print ''.$langs->trans("LDAPFieldCompanyExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COMPANY?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COMPANY?' checked':'').">"; print ''; // Mail @@ -188,7 +188,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MAIL?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MAIL?' checked':'').">"; print ''; // Phone pro @@ -196,7 +196,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldPhone").''; print ''; print ''.$langs->trans("LDAPFieldPhoneExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_PHONE?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_PHONE?' checked':'').">"; print ''; // Phone home @@ -204,7 +204,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldHomePhone").''; print ''; print ''.$langs->trans("LDAPFieldHomePhoneExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_HOMEPHONE?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_HOMEPHONE?' checked':'').">"; print ''; // Mobile @@ -212,7 +212,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldMobile").''; print ''; print ''.$langs->trans("LDAPFieldMobileExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MOBILE?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_MOBILE?' checked':'').">"; print ''; // Skype @@ -220,7 +220,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldSkype").''; print ''; print ''.$langs->trans("LDAPFieldSkypeExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_SKYPE?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_SKYPE?' checked':'').">"; print ''; // Fax @@ -228,7 +228,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFax").''; print ''; print ''.$langs->trans("LDAPFieldFaxExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FAX?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_FAX?' checked':'').">"; print ''; // Address @@ -236,7 +236,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldAddress").''; print ''; print ''.$langs->trans("LDAPFieldAddressExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ADDRESS?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ADDRESS?' checked':'').">"; print ''; // ZIP @@ -244,7 +244,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldZip").''; print ''; print ''.$langs->trans("LDAPFieldZipExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ZIP?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_ZIP?' checked':'').">"; print ''; // TOWN @@ -252,7 +252,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldTown").''; print ''; print ''.$langs->trans("LDAPFieldTownExample").''; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_TOWN?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_TOWN?' checked':'').">"; print ''; // COUNTRY @@ -260,7 +260,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldCountry").''; print ''; print ' '; -print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COUNTRY?' checked="checked"':'').">"; +print 'global->LDAP_KEY_CONTACTS && $conf->global->LDAP_KEY_CONTACTS==$conf->global->LDAP_CONTACT_FIELD_COUNTRY?' checked':'').">"; print ''; diff --git a/htdocs/admin/ldap_groups.php b/htdocs/admin/ldap_groups.php index a0bb5c4b605..f9ced81adba 100644 --- a/htdocs/admin/ldap_groups.php +++ b/htdocs/admin/ldap_groups.php @@ -86,7 +86,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -149,7 +149,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldCommonNameExample").''; -print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_FULLNAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_FULLNAME)?' checked':'').">"; print ''; // Name @@ -157,7 +157,7 @@ print ''; print ''.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").''; -print 'global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_NAME?' checked="checked"':'').">"; +print 'global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_NAME?' checked':'').">"; print ''; */ @@ -166,7 +166,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldDescription").''; print ''; print ''.$langs->trans("LDAPFieldDescriptionExample").''; -print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_DESCRIPTION)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_DESCRIPTION)?' checked':'').">"; print ''; // User group @@ -174,7 +174,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldGroupMembers").''; print ''; print ''.$langs->trans("LDAPFieldGroupMembersExample").''; -print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_GROUPMEMBERS)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_GROUPS && $conf->global->LDAP_KEY_GROUPS==$conf->global->LDAP_GROUP_FIELD_GROUPMEMBERS)?' checked':'').">"; print ''; diff --git a/htdocs/admin/ldap_members.php b/htdocs/admin/ldap_members.php index bddf16f8670..37b0250d04a 100644 --- a/htdocs/admin/ldap_members.php +++ b/htdocs/admin/ldap_members.php @@ -65,13 +65,14 @@ if ($action == 'setvalue' && $user->admin) if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_PHONE',GETPOST("fieldphone"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_PHONE_PERSO',GETPOST("fieldphoneperso"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_MOBILE',GETPOST("fieldmobile"),'chaine',0,'',$conf->entity)) $error++; - if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_SKYPE',GETPOST("fieldskype"),'chaine',0,'',$conf->entity)) $error++; + if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_SKYPE',GETPOST("fieldskype"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_FAX',GETPOST("fieldfax"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_ADDRESS',GETPOST("fieldaddress"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_ZIP',GETPOST("fieldzip"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_TOWN',GETPOST("fieldtown"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_COUNTRY',GETPOST("fieldcountry"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_DESCRIPTION',GETPOST("fielddescription"),'chaine',0,'',$conf->entity)) $error++; + if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_NOTE_PUBLIC',GETPOST("fieldnotepublic"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_MEMBER_FIELD_BIRTHDATE',GETPOST("fieldbirthdate"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_FIELD_MEMBER_STATUS',GETPOST("fieldstatus"),'chaine',0,'',$conf->entity)) $error++; if (! dolibarr_set_const($db, 'LDAP_FIELD_MEMBER_END_LASTSUBSCRIPTION', GETPOST("fieldendlastsubscription"),'chaine',0,'',$conf->entity)) $error++; @@ -109,7 +110,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -173,7 +174,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").''; -print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_FULLNAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_FULLNAME)?' checked':'').">"; print ''; // Name @@ -181,7 +182,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").''; -print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_NAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_NAME)?' checked':'').">"; print ''; // Firstname @@ -197,7 +198,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldLoginUnix").''; print ''; print ''.$langs->trans("LDAPFieldLoginExample").''; -print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN)?' checked':'').">"; print ''; // Login samba @@ -205,7 +206,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldLoginSamba").''; print ''; print ''.$langs->trans("LDAPFieldLoginSambaExample").''; -print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN_SAMBA)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_LOGIN_SAMBA)?' checked':'').">"; print ''; // Password not crypted @@ -229,7 +230,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").''; -print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_MAIL)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_MEMBERS && $conf->global->LDAP_KEY_MEMBERS==$conf->global->LDAP_MEMBER_FIELD_MAIL)?' checked':'').">"; print ''; // Phone pro @@ -312,6 +313,14 @@ print ''.$langs->trans("LDAPFieldDescriptionExample").''; print ' '; print ''; +// Public Note +$var=!$var; +print ''.$langs->trans("LDAPFieldNotePublic").''; +print ''; +print ''.$langs->trans("LDAPFieldNotePublicExample").''; +print ' '; +print ''; + // Birthday $var=!$var; print ''.$langs->trans("LDAPFieldBirthdate").''; diff --git a/htdocs/admin/ldap_users.php b/htdocs/admin/ldap_users.php index 32e5310a201..0a293022581 100644 --- a/htdocs/admin/ldap_users.php +++ b/htdocs/admin/ldap_users.php @@ -96,7 +96,7 @@ if ($action == 'setvalue' && $user->admin) llxHeader('',$langs->trans("LDAPSetup"),'EN:Module_LDAP_En|FR:Module_LDAP|ES:Módulo_LDAP'); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("LDAPSetup"),$linkback,'title_setup'); $head = ldap_prepare_head(); @@ -166,7 +166,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFullname").''; print ''; print ''.$langs->trans("LDAPFieldFullnameExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FULLNAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FULLNAME)?' checked':'').">"; print ''; // Name @@ -174,7 +174,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldName").''; print ''; print ''.$langs->trans("LDAPFieldNameExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_NAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_NAME)?' checked':'').">"; print ''; // Firstname @@ -182,7 +182,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFirstName").''; print ''; print ''.$langs->trans("LDAPFieldFirstNameExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FIRSTNAME)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FIRSTNAME)?' checked':'').">"; print ''; // Login unix @@ -190,7 +190,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldLoginUnix").''; print ''; print ''.$langs->trans("LDAPFieldLoginExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN)?' checked':'').">"; print ''; // Login samba @@ -198,7 +198,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldLoginSamba").''; print ''; print ''.$langs->trans("LDAPFieldLoginSambaExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN_SAMBA)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_LOGIN_SAMBA)?' checked':'').">"; print ''; // Password not crypted @@ -206,7 +206,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldPasswordNotCrypted").''; print ''; print ''.$langs->trans("LDAPFieldPasswordExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD)?' checked':'').">"; print ''; // Password crypted @@ -214,7 +214,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldPasswordCrypted").''; print ''; print ''.$langs->trans("LDAPFieldPasswordExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD_CRYPTED)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PASSWORD_CRYPTED)?' checked':'').">"; print ''; // Mail @@ -222,7 +222,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldMail").''; print ''; print ''.$langs->trans("LDAPFieldMailExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MAIL)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MAIL)?' checked':'').">"; print ''; // Phone @@ -230,7 +230,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldPhone").''; print ''; print ''.$langs->trans("LDAPFieldPhoneExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PHONE)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_PHONE)?' checked':'').">"; print ''; // Mobile @@ -238,7 +238,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldMobile").''; print ''; print ''.$langs->trans("LDAPFieldMobileExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MOBILE)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_MOBILE)?' checked':'').">"; print ''; // Skype @@ -246,7 +246,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldSkype").''; print ''; print ''.$langs->trans("LDAPFieldSkypeExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SKYPE)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SKYPE)?' checked':'').">"; print ''; // Fax @@ -254,7 +254,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldFax").''; print ''; print ''.$langs->trans("LDAPFieldFaxExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FAX)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_FAX)?' checked':'').">"; print ''; // Title @@ -262,7 +262,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldTitle").''; print ''; print ''.$langs->trans("LDAPFieldTitleExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_TITLE)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_TITLE)?' checked':'').">"; print ''; // Note @@ -270,7 +270,7 @@ $var=!$var; print ''.$langs->trans("Note").''; print ''; print ''.$langs->trans("LDAPFieldDescriptionExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_DESCRIPTION)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_DESCRIPTION)?' checked':'').">"; print ''; // Sid @@ -278,7 +278,7 @@ $var=!$var; print ''.$langs->trans("LDAPFieldSid").''; print ''; print ''.$langs->trans("LDAPFieldSidExample").''; -print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SID)?' checked="checked"':'').">"; +print 'global->LDAP_KEY_USERS && $conf->global->LDAP_KEY_USERS==$conf->global->LDAP_FIELD_SID)?' checked':'').">"; print ''; $var=!$var; diff --git a/htdocs/admin/limits.php b/htdocs/admin/limits.php index 5896ffc5416..9bfb8f801ed 100644 --- a/htdocs/admin/limits.php +++ b/htdocs/admin/limits.php @@ -88,7 +88,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("LimitsSetup"),'','setup'); +print_fiche_titre($langs->trans("LimitsSetup"),'','title_setup'); print $langs->trans("LimitsDesc")."
\n"; @@ -126,9 +126,9 @@ if ($action == 'edit') print ''; - print '
'; + print '
'; print ''; - print '
'; + print ''; print ''; print '
'; diff --git a/htdocs/admin/livraison.php b/htdocs/admin/livraison.php index b591aa79c08..2accd8236d4 100644 --- a/htdocs/admin/livraison.php +++ b/htdocs/admin/livraison.php @@ -208,7 +208,7 @@ llxHeader("",""); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SendingsSetup"),$linkback,'title_setup'); print '
'; @@ -309,15 +309,13 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$livraison); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval.'
'; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error).'
'; } } diff --git a/htdocs/admin/loan.php b/htdocs/admin/loan.php new file mode 100644 index 00000000000..bac6b748a93 --- /dev/null +++ b/htdocs/admin/loan.php @@ -0,0 +1,119 @@ + + * + * 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/admin/loan.php + * \ingroup loan + * \brief Setup page to configure loan module + */ + +require '../main.inc.php'; + +// Class +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; + +$langs->load("admin"); +$langs->load("loan"); + +// Security check +if (!$user->admin) + accessforbidden(); + +$action = GETPOST('action', 'alpha'); + +// Other parameters LOAN_* +$list = array ( + 'LOAN_ACCOUNTING_ACCOUNT_CAPITAL', + 'LOAN_ACCOUNTING_ACCOUNT_INTEREST', + 'LOAN_ACCOUNTING_ACCOUNT_INSURANCE' +); + +/* + * Actions + */ + +if ($action == 'update') +{ + $error = 0; + + foreach ($list as $constname) { + $constvalue = GETPOST($constname, 'alpha'); + + if (!dolibarr_set_const($db, $constname, $constvalue, 'chaine', 0, '', $conf->entity)) { + $error++; + } + } + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +/* + * View + */ + +llxHeader(); + +$form = new Form($db); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans('ConfigLoan'),$linkback,'title_setup'); + +print '
'; +print ''; +print ''; + +/* + * Params + */ +print ''; +print ''; +print ''; +print "\n"; + +foreach ($list as $key) +{ + $var=!$var; + + print ''; + + // Param + $label = $langs->trans($key); + print ''; + + // Value + print ''; +} + +print ''; + +print ''; +print "
' . $langs->trans('Options') . '
'; + print ''; + print '
\n"; + +print '
'; + +llxFooter(); +$db->close(); \ No newline at end of file diff --git a/htdocs/admin/mailing.php b/htdocs/admin/mailing.php index 22a6531fad6..c934a46b8e0 100644 --- a/htdocs/admin/mailing.php +++ b/htdocs/admin/mailing.php @@ -48,11 +48,14 @@ if ($action == 'setvalue') $mailerror = GETPOST('MAILING_EMAIL_ERRORSTO','alpha'); $checkread = GETPOST('value','alpha'); $checkread_key = GETPOST('MAILING_EMAIL_UNSUBSCRIBE_KEY','alpha'); + $mailingdelay = GETPOST('MAILING_DELAY', 'int'); $res=dolibarr_set_const($db, "MAILING_EMAIL_FROM",$mailfrom,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; $res=dolibarr_set_const($db, "MAILING_EMAIL_ERRORSTO",$mailerror,'chaine',0,'',$conf->entity); if (! $res > 0) $error++; + $res=dolibarr_set_const($db, "MAILING_DELAY",$mailingdelay,'chaine',0,'',$conf->entity); + if (! $res > 0) $error++; // Create temporary encryption key if nedded $res=dolibarr_set_const($db, "MAILING_EMAIL_UNSUBSCRIBE_KEY",$checkread_key,'chaine',0,'',$conf->entity); @@ -78,7 +81,7 @@ if ($action == 'setvalue') llxHeader('',$langs->trans("MailingSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailingSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("MailingSetup"),$linkback,'title_setup'); if (! empty($conf->use_javascript_ajax)) { @@ -124,6 +127,12 @@ print ''; +$var=!$var; +print ''; +print $langs->trans("MailingDelay").''; +print ''; +print ''; + // Constant to add salt into the unsubscribe and check read tag. // It is also used as a security key parameter. $var=!$var; diff --git a/htdocs/admin/mailman.php b/htdocs/admin/mailman.php index 3e4a2c14a98..dc8cf57aa53 100644 --- a/htdocs/admin/mailman.php +++ b/htdocs/admin/mailman.php @@ -152,7 +152,7 @@ llxHeader('',$langs->trans("MailmanSpipSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); $head = mailmanspip_admin_prepare_head(); @@ -162,11 +162,11 @@ $var=true; if (! empty($conf->global->ADHERENT_USE_MAILMAN)) { - //$lien=img_picto($langs->trans("Active"),'tick').' '; - $lien=''; - //$lien.=$langs->trans("Disable"); - $lien.=img_picto($langs->trans("Activated"),'switch_on'); - $lien.=''; + //$link=img_picto($langs->trans("Active"),'tick').' '; + $link=''; + //$link.=$langs->trans("Disable"); + $link.=img_picto($langs->trans("Activated"),'switch_on'); + $link.=''; // Edition des varibales globales $constantes=array( 'ADHERENT_MAILMAN_ADMINPW', @@ -175,7 +175,7 @@ if (! empty($conf->global->ADHERENT_USE_MAILMAN)) 'ADHERENT_MAILMAN_LISTS' ); - print_fiche_titre($langs->trans('MailmanTitle'), $lien,''); + print_fiche_titre($langs->trans('MailmanTitle'), $link,''); print '
'; @@ -207,11 +207,11 @@ if (! empty($conf->global->ADHERENT_USE_MAILMAN)) } else { - $lien=''; - //$lien.=img_$langs->trans("Activate") - $lien.=img_picto($langs->trans("Disabled"),'switch_off'); - $lien.=''; - print_fiche_titre($langs->trans('MailmanTitle'), $lien,''); + $link=''; + //$link.=img_$langs->trans("Activate") + $link.=img_picto($langs->trans("Disabled"),'switch_off'); + $link.=''; + print_fiche_titre($langs->trans('MailmanTitle'), $link,''); } dol_fiche_end(); diff --git a/htdocs/admin/mails.php b/htdocs/admin/mails.php index 61914d1a09c..148fcf76268 100644 --- a/htdocs/admin/mails.php +++ b/htdocs/admin/mails.php @@ -65,12 +65,12 @@ if ($action == 'update' && empty($_POST["cancel"])) { dolibarr_set_const($db, "MAIN_DISABLE_ALL_MAILS", GETPOST("MAIN_DISABLE_ALL_MAILS"),'chaine',0,'',$conf->entity); // Send mode parameters - dolibarr_set_const($db, "MAIN_MAIL_SENDMODE", GETPOST("MAIN_MAIL_SENDMODE"),'chaine',0,'',0); - if (isset($_POST["MAIN_MAIL_SMTP_PORT"])) dolibarr_set_const($db, "MAIN_MAIL_SMTP_PORT", GETPOST("MAIN_MAIL_SMTP_PORT"),'chaine',0,'',0); - if (isset($_POST["MAIN_MAIL_SMTP_SERVER"])) dolibarr_set_const($db, "MAIN_MAIL_SMTP_SERVER", GETPOST("MAIN_MAIL_SMTP_SERVER"),'chaine',0,'',0); - if (isset($_POST["MAIN_MAIL_SMTPS_ID"])) dolibarr_set_const($db, "MAIN_MAIL_SMTPS_ID", GETPOST("MAIN_MAIL_SMTPS_ID"), 'chaine',0,'',0); - if (isset($_POST["MAIN_MAIL_SMTPS_PW"])) dolibarr_set_const($db, "MAIN_MAIL_SMTPS_PW", GETPOST("MAIN_MAIL_SMTPS_PW"), 'chaine',0,'',0); - if (isset($_POST["MAIN_MAIL_EMAIL_TLS"])) dolibarr_set_const($db, "MAIN_MAIL_EMAIL_TLS", GETPOST("MAIN_MAIL_EMAIL_TLS"),'chaine',0,'',0); + dolibarr_set_const($db, "MAIN_MAIL_SENDMODE", GETPOST("MAIN_MAIL_SENDMODE"),'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MAIL_SMTP_PORT", GETPOST("MAIN_MAIL_SMTP_PORT"),'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MAIL_SMTP_SERVER", GETPOST("MAIN_MAIL_SMTP_SERVER"),'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MAIL_SMTPS_ID", GETPOST("MAIN_MAIL_SMTPS_ID"), 'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MAIL_SMTPS_PW", GETPOST("MAIN_MAIL_SMTPS_PW"), 'chaine',0,'',$conf->entity); + dolibarr_set_const($db, "MAIN_MAIL_EMAIL_TLS", GETPOST("MAIN_MAIL_EMAIL_TLS"),'chaine',0,'',$conf->entity); // Content parameters dolibarr_set_const($db, "MAIN_MAIL_EMAIL_FROM", GETPOST("MAIN_MAIL_EMAIL_FROM"), 'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_MAIL_ERRORS_TO", GETPOST("MAIN_MAIL_ERRORS_TO"), 'chaine',0,'',$conf->entity); @@ -121,7 +121,7 @@ if (! empty($_POST['removedfile']) || ! empty($_POST['removedfilehtml'])) $pathtodelete=$listofpaths[$keytodelete]; $filetodelete=$listofnames[$keytodelete]; $result = dol_delete_file($pathtodelete,1); - if ($result >= 0) + if ($result) { setEventMessage($langs->trans("FileWasRemoved"), $filetodelete); @@ -230,7 +230,6 @@ $linuxlike=1; if (preg_match('/^win/i',PHP_OS)) $linuxlike=0; if (preg_match('/^mac/i',PHP_OS)) $linuxlike=0; - if (empty($conf->global->MAIN_MAIL_SENDMODE)) $conf->global->MAIN_MAIL_SENDMODE='mail'; $port=! empty($conf->global->MAIN_MAIL_SMTP_PORT)?$conf->global->MAIN_MAIL_SMTP_PORT:ini_get('smtp_port'); if (! $port) $port=25; @@ -245,7 +244,7 @@ if (! $server) $server='127.0.0.1'; $wikihelp='EN:Setup EMails|FR:Paramétrage EMails|ES:Configuración EMails'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("EMailsSetup"),'','setup'); +print_fiche_titre($langs->trans("EMailsSetup"),'','title_setup'); print $langs->trans("EMailsDesc")."
\n"; print "
\n"; @@ -271,12 +270,25 @@ if ($action == 'edit') { jQuery(".drag").hide(); jQuery("#MAIN_MAIL_EMAIL_TLS").val(0); - jQuery("#MAIN_MAIL_EMAIL_TLS").attr(\'disabled\', \'disabled\'); + jQuery("#MAIN_MAIL_EMAIL_TLS").prop("disabled", true); '; if ($linuxlike) { - print ' jQuery("#MAIN_MAIL_SMTP_SERVER").attr(\'disabled\', \'disabled\');'; - print ' jQuery("#MAIN_MAIL_SMTP_PORT").attr(\'disabled\', \'disabled\');'; + print ' + jQuery("#MAIN_MAIL_SMTP_SERVER").hide(); + jQuery("#MAIN_MAIL_SMTP_PORT").hide(); + jQuery("#smtp_server_mess").show(); + jQuery("#smtp_port_mess").show(); + '; + } + else + { + print ' + jQuery("#MAIN_MAIL_SMTP_SERVER").prop("disabled", true); + jQuery("#MAIN_MAIL_SMTP_PORT").prop("disabled", true); + jQuery("#smtp_server_mess").hide(); + jQuery("#smtp_port_mess").hide(); + '; } print ' } @@ -284,10 +296,14 @@ if ($action == 'edit') { jQuery(".drag").show(); jQuery("#MAIN_MAIL_EMAIL_TLS").val('.$conf->global->MAIN_MAIL_EMAIL_TLS.'); - jQuery("#MAIN_MAIL_EMAIL_TLS").removeAttr(\'disabled\'); - jQuery("#MAIN_MAIL_SMTP_SERVER").removeAttr(\'disabled\'); - jQuery("#MAIN_MAIL_SMTP_PORT").removeAttr(\'disabled\'); - } + jQuery("#MAIN_MAIL_EMAIL_TLS").removeAttr("disabled"); + jQuery("#MAIN_MAIL_SMTP_SERVER").removeAttr("disabled"); + jQuery("#MAIN_MAIL_SMTP_PORT").removeAttr("disabled"); + jQuery("#MAIN_MAIL_SMTP_SERVER").show(); + jQuery("#MAIN_MAIL_SMTP_PORT").show(); + jQuery("#smtp_server_mess").hide(); + jQuery("#smtp_port_mess").hide(); + } } initfields(); jQuery("#MAIN_MAIL_SENDMODE").change(function() { @@ -336,7 +352,7 @@ if ($action == 'edit') } print ''; - // Server + // Host server $var=!$var; print ''; if (! $conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE == 'mail') @@ -357,6 +373,7 @@ if ($action == 'edit') { print ''; print ''; + print ''.$langs->trans("SeeLocalSendMailSetup").''; } else { @@ -389,6 +406,7 @@ if ($action == 'edit') { print ''; print ''; + print ''.$langs->trans("SeeLocalSendMailSetup").''; } else { @@ -477,11 +495,11 @@ if ($action == 'edit') print '">'; print ''; - print '
'; + print '
'; print ''; - print '     '; + print '     '; print ''; - print '
'; + print ''; print ''; print '
'; @@ -509,7 +527,7 @@ else print $text; print ''; - // Server + // Host server $var=!$var; if ($linuxlike && (isset($conf->global->MAIN_MAIL_SENDMODE) && $conf->global->MAIN_MAIL_SENDMODE == 'mail')) { diff --git a/htdocs/admin/menus.php b/htdocs/admin/menus.php index d12cd517fa7..ad83def9ce8 100644 --- a/htdocs/admin/menus.php +++ b/htdocs/admin/menus.php @@ -131,7 +131,7 @@ $formadmin=new FormAdmin($db); $wikihelp='EN:First_setup|FR:Premiers_paramétrages|ES:Primeras_configuraciones'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("Menus"),'','setup'); +print_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; @@ -183,10 +183,10 @@ if ($action == 'edit') $var=!$var; print ''.$langs->trans("DefaultMenuManager").''; print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_STANDARD_FORCED)?$conf->global->MAIN_MENU_STANDARD:$conf->global->MAIN_MENU_STANDARD_FORCED, 'MAIN_MENU_STANDARD', $dirstandard, empty($conf->global->MAIN_MENU_STANDARD_FORCED)?'':' disabled'); print ''; print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?$conf->global->MAIN_MENUFRONT_STANDARD:$conf->global->MAIN_MENUFRONT_STANDARD_FORCED, 'MAIN_MENUFRONT_STANDARD', $dirstandard, empty($conf->global->MAIN_MENUFRONT_STANDARD_FORCED)?'':' disabled'); print ''; print ''; @@ -194,10 +194,10 @@ if ($action == 'edit') $var=!$var; print ''.$langs->trans("DefaultMenuSmartphoneManager").''; print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?$conf->global->MAIN_MENU_SMARTPHONE:$conf->global->MAIN_MENU_SMARTPHONE_FORCED, 'MAIN_MENU_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENU_SMARTPHONE_FORCED)?'':' disabled'); print ''; print ''; - $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled="disabled"'); + $formadmin->select_menu(empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?$conf->global->MAIN_MENUFRONT_SMARTPHONE:$conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED, 'MAIN_MENUFRONT_SMARTPHONE', array_merge($dirstandard,$dirsmartphone), empty($conf->global->MAIN_MENUFRONT_SMARTPHONE_FORCED)?'':' disabled'); print ''; print ''; @@ -263,7 +263,7 @@ if ($action == 'edit') { print '
'; print ''; - print '     '; + print '       '; print ''; print '
'; } diff --git a/htdocs/admin/menus/edit.php b/htdocs/admin/menus/edit.php index f962592d5a5..4ab41c7991e 100644 --- a/htdocs/admin/menus/edit.php +++ b/htdocs/admin/menus/edit.php @@ -255,12 +255,12 @@ if ($action == 'create') { if (jQuery("#topleft").val() == \'top\') { - jQuery("#menuId").attr(\'disabled\',\'disabled\'); + jQuery("#menuId").prop("disabled", true); jQuery("#menuId").val(\'\'); } else { - jQuery("#menuId").removeAttr(\'disabled\'); + jQuery("#menuId").removeAttr("disabled"); } } init_topleft(); @@ -270,7 +270,7 @@ if ($action == 'create') }); '; - print_fiche_titre($langs->trans("NewMenu"),'','setup'); + print_fiche_titre($langs->trans("NewMenu"),'','title_setup'); print '
'; print ''; @@ -323,8 +323,8 @@ if ($action == 'create') { print ''; } // print ''; @@ -356,8 +356,8 @@ if ($action == 'create') // Target print ''.$langs->trans('Target').''.$langs->trans('DetailTarget').''; // Enabled @@ -369,15 +369,17 @@ if ($action == 'create') print ''; // Boutons - print '

'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; } elseif ($action == 'edit') { - print_fiche_titre($langs->trans("ModifMenu"),'','setup'); + print_fiche_titre($langs->trans("ModifMenu"),'','title_setup'); print '
'; print '
'; @@ -404,9 +406,9 @@ elseif ($action == 'edit') // User print ''.$langs->trans('MenuForUsers').''.$langs->trans('DetailUser').''; // Type @@ -436,8 +438,8 @@ elseif ($action == 'edit') // Target print ''.$langs->trans('Target').''.$langs->trans('DetailTarget').''; // Enabled @@ -453,9 +455,11 @@ elseif ($action == 'edit') print ''; // Bouton - print '

'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; diff --git a/htdocs/admin/menus/index.php b/htdocs/admin/menus/index.php index d7fce1c937d..62bf0bbd617 100644 --- a/htdocs/admin/menus/index.php +++ b/htdocs/admin/menus/index.php @@ -214,7 +214,7 @@ $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css') llxHeader('',$langs->trans("Menus"),'','',0,0,$arrayofjs,$arrayofcss); -print_fiche_titre($langs->trans("Menus"),'','setup'); +print_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; diff --git a/htdocs/admin/menus/other.php b/htdocs/admin/menus/other.php index 9da251ccb66..8a893b21321 100644 --- a/htdocs/admin/menus/other.php +++ b/htdocs/admin/menus/other.php @@ -71,7 +71,7 @@ else if ($action == 'disable_layoutmenu') llxHeader('',$langs->trans("Setup")); -print_fiche_titre($langs->trans("Menus"),'','setup'); +print_fiche_titre($langs->trans("Menus"),'','title_setup'); $h = 0; diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index e3524425c6c..86cfae1d606 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -5,6 +5,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 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 @@ -210,7 +211,7 @@ asort($orders); $nbofactivatedmodules=count($conf->modules); $moreinfo=$langs->trans("TotalNumberOfActivatedModules",($nbofactivatedmodules-1)); if ($nbofactivatedmodules <= 1) $moreinfo .= ' '.img_warning($langs->trans("YouMustEnableOneModule")); -print load_fiche_titre($langs->trans("ModulesSetup"),$moreinfo,'setup'); +print load_fiche_titre($langs->trans("ModulesSetup"),$moreinfo,'title_setup'); // Start to show page if (empty($mode)) $mode='common'; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index 695174f3303..bab6db29959 100644 --- a/htdocs/admin/notification.php +++ b/htdocs/admin/notification.php @@ -24,6 +24,7 @@ */ require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/notify.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/triggers/interface_50_modNotification_Notification.class.php'; @@ -48,25 +49,56 @@ $action = GETPOST("action"); if ($action == 'setvalue' && $user->admin) { + $db->begin(); + $result=dolibarr_set_const($db, "NOTIFICATION_EMAIL_FROM", $_POST["email_from"], 'chaine', 0, '', $conf->entity); if ($result < 0) $error++; if (! $error) { + //var_dump($_POST); foreach($_POST as $key => $val) { - if (! preg_match('/^NOTIFICATION_FIXEDEMAIL_/',$key)) continue; - //print $key.' - '.$val.'
'; - $result=dolibarr_set_const($db, $key, $val, 'chaine', 0, '', $conf->entity); + if (! preg_match('/^NOTIF_(.*)_key$/', $key, $reg)) continue; + + $newval=''; + $newkey=''; + + $shortkey=preg_replace('/_key$/','',$key); + //print $shortkey.'
'; + + if (preg_match('/^NOTIF_(.*)_old_(.*)_key/',$key,$reg)) + { + dolibarr_del_const($db, 'NOTIFICATION_FIXEDEMAIL_'.$reg[1].'_THRESHOLD_HIGHER_'.$reg[2], $conf->entity); + + $newkey='NOTIFICATION_FIXEDEMAIL_'.$reg[1].'_THRESHOLD_HIGHER_'.((int) GETPOST($shortkey.'_amount')); + $newval=GETPOST($shortkey.'_key'); + //print $newkey.' - '.$newval.'
'; + } + else if (preg_match('/^NOTIF_(.*)_new_key/',$key,$reg)) + { + // Add a new entry + $newkey='NOTIFICATION_FIXEDEMAIL_'.$reg[1].'_THRESHOLD_HIGHER_'.((int) GETPOST($shortkey.'_amount')); + $newval=GETPOST($shortkey.'_key'); + } + + if ($newkey && $newval) + { + $result=dolibarr_set_const($db, $newkey, $newval, 'chaine', 0, '', $conf->entity); + } } } if (! $error) { + $db->commit(); + setEventMessage($langs->trans("SetupSaved")); } else { + $db->rollback(); + setEventMessage($langs->trans("Error"),'errors'); } } @@ -78,11 +110,12 @@ if ($action == 'setvalue' && $user->admin) */ $form=new Form($db); +$notify = new Notify($db); llxHeader('',$langs->trans("NotificationSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("NotificationSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("NotificationSetup"),$linkback,'title_setup'); print $langs->trans("NotificationsDesc").'

'; @@ -107,7 +140,53 @@ print ''; print '
'; -print_fiche_titre($langs->trans("ListOfAvailableNotifications"),'',''); + +if ($conf->societe->enabled) +{ + print_fiche_titre($langs->trans("ListOfNotificationsPerContact"),'',''); + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + // Load array of available notifications + $notificationtrigger=new InterfaceNotification($db); + $listofnotifiedevents=$notificationtrigger->getListOfManagedEvents(); + + $var=true; + foreach($listofnotifiedevents as $notifiedevent) + { + $var=!$var; + $label=$langs->trans("Notify_".$notifiedevent['code']); //!=$langs->trans("Notify_".$notifiedevent['code'])?$langs->trans("Notify_".$notifiedevent['code']):$notifiedevent['label']; + + if ($notifiedevent['elementtype'] == 'order_supplier') $elementLabel = $langs->trans('SupplierOrder'); + elseif ($notifiedevent['elementtype'] == 'propal') $elementLabel = $langs->trans('Proposal'); + elseif ($notifiedevent['elementtype'] == 'facture') $elementLabel = $langs->trans('Bill'); + elseif ($notifiedevent['elementtype'] == 'commande') $elementLabel = $langs->trans('Order'); + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + + print '
'.$langs->trans("Module").''.$langs->trans("Code").''.$langs->trans("Label").''.$langs->trans("NbOfTargetedContacts").''.'
'.$elementLabel.''.$notifiedevent['code'].''.$label.''; + $tmparray = $notify->getNotificationsArray($notifiedevent['code'], 0); + print count($tmparray); + print '
'; + print '* '.$langs->trans("GoOntoContactCardToAddMore").'
'; + print '
'; +} + + +print_fiche_titre($langs->trans("ListOfFixedNotifications"),'',''); print ''; print ''; @@ -115,12 +194,15 @@ print ''; print ''; print ''; print ''; +print ''; +print ''; print "\n"; // Load array of available notifications $notificationtrigger=new InterfaceNotification($db); $listofnotifiedevents=$notificationtrigger->getListOfManagedEvents(); +$var=true; foreach($listofnotifiedevents as $notifiedevent) { $var=!$var; @@ -136,18 +218,47 @@ foreach($listofnotifiedevents as $notifiedevent) print ''; print ''; print ''; + + print ''; + + print ''; print ''; } @@ -155,7 +266,7 @@ print '
'.$langs->trans("Module").''.$langs->trans("Code").''.$langs->trans("Label").''.$langs->trans("FixedEmailTarget").''.$langs->trans("Threshold").''.'
'.$notifiedevent['code'].''.$label.''; - $param='NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code']; - $value=GETPOST($param)?GETPOST($param,'alpha'):$conf->global->$param; - $s=''; // Do not use type="email" here, we must be able to enter a list of email with , separator. - $arrayemail=explode(',',$value); - $showwarning=0; - foreach($arrayemail as $key=>$valuedet) - { - $valuedet=trim($valuedet); - if (! empty($valuedet) && ! isValidEmail($valuedet)) $showwarning++; - } - if ((! empty($conf->global->$param)) && $showwarning) $s.=' '.img_warning($langs->trans("ErrorBadEMail")); - print $form->textwithpicto($s,$langs->trans("YouCanUseCommaSeparatorForSeveralRecipients")); + // Notification with threshold + foreach($conf->global as $key => $val) + { + if ($val == '' || ! preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code'].'_THRESHOLD_HIGHER_(.*)/', $key, $reg)) continue; + + $param='NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code'].'_THRESHOLD_HIGHER_'.$reg[1]; + $value=GETPOST('NOTIF_'.$notifiedevent['code'].'_old_'.$reg[1].'_key')?GETPOST('NOTIF_'.$notifiedevent['code'].'_old_'.$reg[1].'_key','alpha'):$conf->global->$param; + + $s=''; // Do not use type="email" here, we must be able to enter a list of email with , separator. + $arrayemail=explode(',',$value); + $showwarning=0; + foreach($arrayemail as $key=>$valuedet) + { + $valuedet=trim($valuedet); + if (! empty($valuedet) && ! isValidEmail($valuedet,1)) $showwarning++; + } + if ((! empty($conf->global->$param)) && $showwarning) $s.=' '.img_warning($langs->trans("ErrorBadEMail")); + print $form->textwithpicto($s,$langs->trans("YouCanUseCommaSeparatorForSeveralRecipients").'
'.$langs->trans("YouCanAlsoUseSupervisorKeyword"),1,'help','',0,2); + print '
'; + } + // 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); + print '
'; + // Notification with threshold + foreach($conf->global as $key => $val) + { + if ($val == '' || ! preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifiedevent['code'].'_THRESHOLD_HIGHER_(.*)/', $key, $reg)) continue; + + print $langs->trans("AmountHT").' >= '; + print '
'; + } + // New entry input fields + print $langs->trans("AmountHT").' >= '; + print '
'; + // TODO Add link to show message content + print '
'; print '
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/admin/order_extrafields.php b/htdocs/admin/order_extrafields.php index 81b7e74a479..0c71c3285ad 100644 --- a/htdocs/admin/order_extrafields.php +++ b/htdocs/admin/order_extrafields.php @@ -70,49 +70,14 @@ $textobject=$langs->transnoentitiesnoconv("Orders"); llxHeader('',$langs->trans("OrdersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); print "
\n"; $head = order_admin_prepare_head(); dol_fiche_head($head, 'attributes', $langs->trans("Orders"), 0, 'order'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/admin/orderdet_extrafields.php b/htdocs/admin/orderdet_extrafields.php index 515714a51e4..9f16d7934b1 100644 --- a/htdocs/admin/orderdet_extrafields.php +++ b/htdocs/admin/orderdet_extrafields.php @@ -66,54 +66,19 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; * View */ -$textobject=$langs->transnoentitiesnoconv("Orders"); +$textobject=$langs->transnoentitiesnoconv("OrderLines"); llxHeader('',$langs->trans("OrdersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("OrdersSetup"),$linkback,'title_setup'); print "
\n"; $head = order_admin_prepare_head(); -dol_fiche_head($head, 'attributeslines', $langs->trans("Orders"), 0, 'order'); +dol_fiche_head($head, 'attributeslines', $langs->trans("OrderLines"), 0, 'order'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/admin/pdf.php b/htdocs/admin/pdf.php index f21687eecf7..9f12c98e1d8 100644 --- a/htdocs/admin/pdf.php +++ b/htdocs/admin/pdf.php @@ -2,7 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2012-2103 Juanjo Menent + * Copyright (C) 2012-2105 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 @@ -51,7 +51,7 @@ if ($action == 'update') { dolibarr_set_const($db, "MAIN_PDF_FORMAT", $_POST["MAIN_PDF_FORMAT"],'chaine',0,'',$conf->entity); - + dolibarr_set_const($db, "MAIN_PROFID1_IN_ADDRESS", $_POST["MAIN_PROFID1_IN_ADDRESS"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_PROFID2_IN_ADDRESS", $_POST["MAIN_PROFID2_IN_ADDRESS"],'chaine',0,'',$conf->entity); dolibarr_set_const($db, "MAIN_PROFID3_IN_ADDRESS", $_POST["MAIN_PROFID3_IN_ADDRESS"],'chaine',0,'',$conf->entity); @@ -93,7 +93,7 @@ $form=new Form($db); $formother=new FormOther($db); $formadmin=new FormAdmin($db); -print_fiche_titre($langs->trans("PDF"),'','setup'); +print_fiche_titre($langs->trans("PDF"),'','title_setup'); print $langs->trans("PDFDesc")."
\n"; print "
\n"; @@ -222,7 +222,7 @@ if ($action == 'edit') // Edit print ''.$langs->trans("HideAnyVATInformationOnPDF").''; print $form->selectyesno('MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT',(! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT))?$conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT:0,1); print ''; - + // Hide Tva Intra on adress $var=!$var; print ''.$langs->trans("ShowVATIntaInAddress").''; @@ -250,9 +250,9 @@ if ($action == 'edit') // Edit print ''; - print '
'; + print '
'; print ''; - print '
'; + print ''; print ''; print '
'; @@ -385,14 +385,14 @@ else // Show print ''; print ''; - + // Hide any PDF informations $var=!$var; print ''; - + // Encrypt and protect PDF $var=!$var; print ""; @@ -408,25 +408,25 @@ else // Show } print ''; print '"; - + print ""; print ''; - + // Hide Tva Intra on adress $var=!$var; print ''; - + //Desc $var=!$var; print ''."\n"; print ''."\n"; diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index 907ed389b38..5bb526352f6 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -64,10 +64,10 @@ if ($action == 'remove') llxHeader('',$langs->trans("DefaultRights")); -print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("DefaultRightsDesc"); -print " ".$langs->trans("OnlyActiveElementsAreShown")."
\n"; +print " ".$langs->trans("OnlyActiveElementsAreShown")."

\n"; $db->begin(); @@ -115,16 +115,15 @@ foreach ($modulesdir as $dir) $db->commit(); -// Show warning about external users -print info_admin(showModulesExludedForExternal($modules)).'
'."\n"; -print "
\n"; - - $head=security_prepare_head(); dol_fiche_head($head, 'default', $langs->trans("Security")); +// Show warning about external users +print info_admin(showModulesExludedForExternal($modules)).'
'."\n"; + + print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'.$langs->trans("HideAnyVATInformationOnPDF").''; print yn($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT,1); print '
'; - if ($conf->global->PDF_SECURITY_ENCRYPTION == 0) + if (empty($conf->global->PDF_SECURITY_ENCRYPTION)) { print ''.$langs->trans("Activate").''; } - if($conf->global->PDF_SECURITY_ENCRYPTION == 1) + else { print ''.$langs->trans("Disable").''; } print "
'.$langs->trans("ShowVATIntaInAddress").''; print yn($conf->global->MAIN_TVAINTRA_NOT_IN_ADDRESS,1); print '
'.$langs->trans("HideDescOnPDF").''; @@ -501,6 +501,13 @@ else // Show print ' ('.@constant('FPDI_PATH').')'; $i++; } + if (class_exists('TCPDI')) + { + if ($i) print ' + '; + print 'TCPDI'; + print ' ('.@constant('TCPDI_PATH').')'; + $i++; + } print ''; print '
'; // Affiche lignes des permissions diff --git a/htdocs/admin/prelevement.php b/htdocs/admin/prelevement.php index fe7a9f73a20..31c1e5e7dba 100644 --- a/htdocs/admin/prelevement.php +++ b/htdocs/admin/prelevement.php @@ -119,7 +119,7 @@ llxHeader('',$langs->trans("WithdrawalsSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("WithdrawalsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("WithdrawalsSetup"),$linkback,'title_setup'); print '
'; print ''; @@ -161,7 +161,7 @@ print ''; print '
'; print '
'; -print '
'; +print '
'; print ''; @@ -180,7 +180,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) $langs->load("mails"); print_titre($langs->trans("Notifications")); - $sql = "SELECT u.rowid, u.lastname, u.firstname, u.fk_societe, u.email"; + $sql = "SELECT u.rowid, u.lastname, u.firstname, u.fk_soc, u.email"; $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; $sql.= " WHERE entity IN (0,".$conf->entity.")"; @@ -194,7 +194,7 @@ if (! empty($conf->global->MAIN_MODULE_NOTIFICATION)) { $obj = $db->fetch_object($resql); $var=!$var; - if (!$obj->fk_societe) + if (!$obj->fk_soc) { $username=dolGetFirstLastname($obj->firstname,$obj->lastname); $internalusers[$obj->rowid] = $username; diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index 01f32740036..b407f5bc6f8 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -261,7 +261,7 @@ $form=new Form($db); //if ($mesg) print $mesg; $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); @@ -344,18 +344,16 @@ foreach ($dirmodels as $reldir) $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $propal->type=0; $nextval=$module->getNextValue($mysoc,$propal); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { - $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { - $htmltooltip.=$nextval.'
'; - } - else - { - $htmltooltip.=$langs->trans($module->error).'
'; - } - } + 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 $form->textwithpicto('',$htmltooltip,1,0); @@ -645,6 +643,27 @@ print "\n"; print "\n ".$langs->trans("PathDirectory")."\n ".$conf->propal->dir_output."\n\n"; print "\n
"; -$db->close(); + +/* + * Notifications + */ + +print_titre($langs->trans("Notifications")); +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +print '\n"; + +print '
'.$langs->trans("Parameter").' 
'; +print $langs->trans("YouMayFindNotificationsFeaturesIntoModuleNotification").'
'; +print '
'; +print "
'; + llxFooter(); + +$db->close(); diff --git a/htdocs/admin/proxy.php b/htdocs/admin/proxy.php index 2e9d1f49169..00d66944c97 100644 --- a/htdocs/admin/proxy.php +++ b/htdocs/admin/proxy.php @@ -81,7 +81,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Proxy")); -print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("ProxyDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/salaries.php b/htdocs/admin/salaries.php index 99651a4f4f3..01ae0d11d13 100644 --- a/htdocs/admin/salaries.php +++ b/htdocs/admin/salaries.php @@ -77,7 +77,7 @@ llxHeader('',$langs->trans('SalariesSetup')); $form = new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('SalariesSetup'),$linkback,'setup'); +print_fiche_titre($langs->trans('SalariesSetup'),$linkback,'title_setup'); print '
'; print ''; diff --git a/htdocs/admin/security.php b/htdocs/admin/security.php index adb590ffcd2..0eeef2cbe15 100644 --- a/htdocs/admin/security.php +++ b/htdocs/admin/security.php @@ -1,7 +1,7 @@ * Copyright (C) 2005-2007 Regis Houssin - * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013-2015 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 @@ -185,7 +185,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Passwords")); -print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("GeneratedPasswordDesc")."
\n"; print "
\n"; @@ -470,18 +470,18 @@ $var=!$var; print ""; print ''.$langs->trans("DisableForgetPasswordLinkOnLogonPage").''; print ''; -if($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 1) +if(! empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print img_picto($langs->trans("Active"),'tick'); } print ''; -if ($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 0) +if (empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print ''; print ''.$langs->trans("Activate").''; print ""; } -if($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK == 1) +if (!empty($conf->global->MAIN_SECURITY_DISABLEFORGETPASSLINK)) { print ''; print ''.$langs->trans("Disable").''; diff --git a/htdocs/admin/security_file.php b/htdocs/admin/security_file.php new file mode 100644 index 00000000000..e72ece4375c --- /dev/null +++ b/htdocs/admin/security_file.php @@ -0,0 +1,214 @@ + + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 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 + * 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/admin/security_file.php + * \ingroup core + * \brief Security options setup + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + +$langs->load("users"); +$langs->load("admin"); +$langs->load("other"); + +if (! $user->admin) + accessforbidden(); + +$action=GETPOST('action','alpha'); + +$upload_dir=$conf->admin->dir_temp; + + +/* + * Actions + */ + +if (GETPOST('sendit') && ! empty($conf->global->MAIN_UPLOAD_DOC)) +{ + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + dol_add_file_process($upload_dir, 0, 0, 'userfile'); +} + +if (preg_match('/set_(.*)/',$action,$reg)) +{ + $code=$reg[1]; + $value=(GETPOST($code) ? GETPOST($code) : 1); + if (dolibarr_set_const($db, $code, $value, 'chaine', 0, '', $conf->entity) > 0) + { + Header("Location: ".$_SERVER["PHP_SELF"]); + exit; + } + else + { + dol_print_error($db); + } +} + +else if (preg_match('/del_(.*)/',$action,$reg)) +{ + $code=$reg[1]; + if (dolibarr_del_const($db, $code, $conf->entity) > 0) + { + Header("Location: ".$_SERVER["PHP_SELF"]); + exit; + } + else + { + dol_print_error($db); + } +} + +else if ($action == 'updateform') +{ + $res3=dolibarr_set_const($db, 'MAIN_UPLOAD_DOC',$_POST["MAIN_UPLOAD_DOC"],'chaine',0,'',$conf->entity); + $res4=dolibarr_set_const($db, "MAIN_UMASK", $_POST["MAIN_UMASK"],'chaine',0,'',$conf->entity); + $res5=dolibarr_set_const($db, "MAIN_ANTIVIRUS_COMMAND", $_POST["MAIN_ANTIVIRUS_COMMAND"],'chaine',0,'',$conf->entity); + $res6=dolibarr_set_const($db, "MAIN_ANTIVIRUS_PARAM", $_POST["MAIN_ANTIVIRUS_PARAM"],'chaine',0,'',$conf->entity); + if ($res3 && $res4 && $res5 && $res6) setEventMessage($langs->trans("RecordModifiedSuccessfully")); +} + + + +// Delete file +else if ($action == 'delete') +{ + $langs->load("other"); + $file = $conf->admin->dir_temp . '/' . GETPOST('urlfile'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). + $ret=dol_delete_file($file); + if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile'))); + else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors'); + Header('Location: '.$_SERVER["PHP_SELF"]); + exit; +} + +/* + * View + */ + +$form = new Form($db); + +llxHeader('',$langs->trans("Files")); + +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); + +//print $langs->trans("FilesDesc")."
\n"; +//print "
\n"; + + + +print ''; +print ''; +print ''; + +$head=security_prepare_head(); + +dol_fiche_head($head, 'file', $langs->trans("Security")); + + +// Upload options +$var=false; + +print ''; +print ''; +print ''; +print ''; +print ''; + +print ''; +print ''; +print ''; +print ''; + +$var=!$var; +print ''; +print ''; +print ''; +print ''; + +// Use anti virus +$var=!$var; +print ""; +print ''; +print '"; +print ''; + +// Use anti virus +$var=!$var; +print ""; +print ''; +print '"; +print ''; + +print '
'.$langs->trans("Parameters").''.$langs->trans("Value").'
'.$langs->trans("MaxSizeForUploadedFiles").'.'; +$max=@ini_get('upload_max_filesize'); +if ($max) print ' '.$langs->trans("MustBeLowerThanPHPLimit",$max*1024,$langs->trans("Kb")).'.'; +else print ' '.$langs->trans("NoMaxSizeByPHPLimit").'.'; +print ''; +print ' '.$langs->trans("Kb"); +print '
'.$langs->trans("UMask").''; +print $form->textwithpicto('',$langs->trans("UMaskExplanation")); +print ''; +print ''; +print '
'.$langs->trans("AntiVirusCommand").'
'; +print $langs->trans("AntiVirusCommandExample"); +// Check command in inside safe_mode +print '
'; +if (ini_get('safe_mode') && ! empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) +{ + $langs->load("errors"); + $basedir=preg_replace('/"/','',dirname($conf->global->MAIN_ANTIVIRUS_COMMAND)); + $listdir=explode(';',ini_get('safe_mode_exec_dir')); + if (! in_array($basedir,$listdir)) + { + print img_warning($langs->trans('WarningSafeModeOnCheckExecDir')); + dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING); + } +} +print ''; +print "
'.$langs->trans("AntiVirusParam").'
'; +print $langs->trans("AntiVirusParamExample"); +print '
'; +print ''; +print "
'; + +dol_fiche_end(); + +print '
'; + +print ''; + + + +// Form to test upload +print '
'; +$formfile=new FormFile($db); +$formfile->form_attach_new_file($_SERVER['PHP_SELF'], $langs->trans("FormToTestFileUploadForm"), 0, 0, 1, 50, '', '', 1, '', 0); + +// List of document +$filearray=dol_dir_list($upload_dir, "files", 0, '', '', 'name', SORT_ASC, 1); +$formfile->list_of_documents($filearray, null, 'admin_temp', ''); + +llxFooter(); +$db->close(); diff --git a/htdocs/admin/security_other.php b/htdocs/admin/security_other.php index c7ad04c322c..74101f29710 100644 --- a/htdocs/admin/security_other.php +++ b/htdocs/admin/security_other.php @@ -37,20 +37,12 @@ if (! $user->admin) $action=GETPOST('action','alpha'); -$upload_dir=$conf->admin->dir_temp; /* * Actions */ -if (GETPOST('sendit') && ! empty($conf->global->MAIN_UPLOAD_DOC)) -{ - require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - - dol_add_file_process($upload_dir, 0, 0, 'userfile'); -} - if (preg_match('/set_(.*)/',$action,$reg)) { $code=$reg[1]; @@ -84,27 +76,11 @@ else if ($action == 'updateform') { $res1=dolibarr_set_const($db, "MAIN_APPLICATION_TITLE", $_POST["MAIN_APPLICATION_TITLE"],'chaine',0,'',$conf->entity); $res2=dolibarr_set_const($db, "MAIN_SESSION_TIMEOUT", $_POST["MAIN_SESSION_TIMEOUT"],'chaine',0,'',$conf->entity); - $res3=dolibarr_set_const($db, 'MAIN_UPLOAD_DOC',$_POST["MAIN_UPLOAD_DOC"],'chaine',0,'',$conf->entity); - $res4=dolibarr_set_const($db, "MAIN_UMASK", $_POST["MAIN_UMASK"],'chaine',0,'',$conf->entity); - $res5=dolibarr_set_const($db, "MAIN_ANTIVIRUS_COMMAND", $_POST["MAIN_ANTIVIRUS_COMMAND"],'chaine',0,'',$conf->entity); - $res6=dolibarr_set_const($db, "MAIN_ANTIVIRUS_PARAM", $_POST["MAIN_ANTIVIRUS_PARAM"],'chaine',0,'',$conf->entity); - if ($res1 && $res2 && $res3 && $res4 && $res5 && $res6) setEventMessage($langs->trans("RecordModifiedSuccessfully")); + if ($res1 && $res2) setEventMessage($langs->trans("RecordModifiedSuccessfully")); } -// Delete file -else if ($action == 'delete') -{ - $langs->load("other"); - $file = $conf->admin->dir_temp . '/' . GETPOST('urlfile'); // Do not use urldecode here ($_GET and $_REQUEST are already decoded by PHP). - $ret=dol_delete_file($file); - if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('urlfile'))); - else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('urlfile')), 'errors'); - Header('Location: '.$_SERVER["PHP_SELF"]); - exit; -} - /* * View */ @@ -113,7 +89,7 @@ $form = new Form($db); llxHeader('',$langs->trans("Miscellaneous")); -print_fiche_titre($langs->trans("SecuritySetup"),'','setup'); +print_fiche_titre($langs->trans("SecuritySetup"),'','title_setup'); print $langs->trans("MiscellaneousDesc")."
\n"; print "
\n"; @@ -129,7 +105,6 @@ $head=security_prepare_head(); dol_fiche_head($head, 'misc', $langs->trans("Security")); - // Other Options $var=true; @@ -231,74 +206,6 @@ print ''; print ''; -print '
'; - -// Upload options -$var=false; - -print ''; -print ''; -print ''; -print ''; -print ''; - -print ''; -print ''; -print ''; -print ''; - -$var=!$var; -print ''; -print ''; -print ''; -print ''; - -// Use anti virus -$var=!$var; -print ""; -print ''; -print '"; -print ''; - -// Use anti virus -$var=!$var; -print ""; -print ''; -print '"; -print ''; - -print '
'.$langs->trans("Parameters").''.$langs->trans("Value").'
'.$langs->trans("MaxSizeForUploadedFiles").'.'; -$max=@ini_get('upload_max_filesize'); -if ($max) print ' '.$langs->trans("MustBeLowerThanPHPLimit",$max*1024,$langs->trans("Kb")).'.'; -else print ' '.$langs->trans("NoMaxSizeByPHPLimit").'.'; -print ''; -print ' '.$langs->trans("Kb"); -print '
'.$langs->trans("UMask").''; -print $form->textwithpicto('',$langs->trans("UMaskExplanation")); -print ''; -print ''; -print '
'.$langs->trans("AntiVirusCommand").'
'; -print $langs->trans("AntiVirusCommandExample"); -// Check command in inside safe_mode -print '
'; -if (ini_get('safe_mode') && ! empty($conf->global->MAIN_ANTIVIRUS_COMMAND)) -{ - $langs->load("errors"); - $basedir=preg_replace('/"/','',dirname($conf->global->MAIN_ANTIVIRUS_COMMAND)); - $listdir=explode(';',ini_get('safe_mode_exec_dir')); - if (! in_array($basedir,$listdir)) - { - print img_warning($langs->trans('WarningSafeModeOnCheckExecDir')); - dol_syslog("safe_mode is on, basedir is ".$basedir.", safe_mode_exec_dir is ".ini_get('safe_mode_exec_dir'), LOG_WARNING); - } -} -print ''; -print "
'.$langs->trans("AntiVirusParam").'
'; -print $langs->trans("AntiVirusParamExample"); -print '
'; -print ''; -print "
'; - dol_fiche_end(); print '
'; @@ -306,15 +213,5 @@ print '
'; - -// Form to test upload -print '
'; -$formfile=new FormFile($db); -$formfile->form_attach_new_file($_SERVER['PHP_SELF'], $langs->trans("FormToTestFileUploadForm"), 0, 0, 1, 50, '', '', 1, '', 0); - -// List of document -$filearray=dol_dir_list($upload_dir, "files", 0, '', '', 'name', SORT_ASC, 1); -$formfile->list_of_documents($filearray, '', 'admin_temp', ''); - llxFooter(); $db->close(); diff --git a/htdocs/admin/sms.php b/htdocs/admin/sms.php index 0ba8427cca5..44bab100730 100644 --- a/htdocs/admin/sms.php +++ b/htdocs/admin/sms.php @@ -147,7 +147,7 @@ if (preg_match('/^mac/i',PHP_OS)) $linuxlike=0; $wikihelp='EN:Setup Sms|FR:Paramétrage Sms|ES:Configuración Sms'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("SmsSetup"),'','setup'); +print_fiche_titre($langs->trans("SmsSetup"),'','title_setup'); print $langs->trans("SmsDesc")."
\n"; print "
\n"; @@ -203,11 +203,11 @@ if ($action == 'edit') */ print ''; - print '
'; - print ''; - print '     '; + print '
'; + print ''; + print '     '; print ''; - print '
'; + print '
'; print ''; print '
'; diff --git a/htdocs/admin/spip.php b/htdocs/admin/spip.php index 9c81338562e..753fef37be6 100644 --- a/htdocs/admin/spip.php +++ b/htdocs/admin/spip.php @@ -110,7 +110,7 @@ llxHeader('',$langs->trans("MailmanSpipSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("MailmanSpipSetup"),$linkback,'title_setup'); $head = mailmanspip_admin_prepare_head(); @@ -124,11 +124,11 @@ $var=true; */ if (! empty($conf->global->ADHERENT_USE_SPIP)) { - //$lien=img_picto($langs->trans("Active"),'tick').' '; - $lien=''; - //$lien.=$langs->trans("Disable"); - $lien.=img_picto($langs->trans("Activated"),'switch_on'); - $lien.=''; + //$link=img_picto($langs->trans("Active"),'tick').' '; + $link=''; + //$link.=$langs->trans("Disable"); + $link.=img_picto($langs->trans("Activated"),'switch_on'); + $link.=''; // Edition des varibales globales $constantes=array( 'ADHERENT_SPIP_SERVEUR', @@ -137,18 +137,18 @@ if (! empty($conf->global->ADHERENT_USE_SPIP)) 'ADHERENT_SPIP_PASS' ); - print_fiche_titre($langs->trans('SPIPTitle'), $lien, ''); + print_fiche_titre($langs->trans('SPIPTitle'), $link, ''); print '
'; form_constantes($constantes); print '
'; } else { - $lien=''; - //$lien.=$langs->trans("Activate"); - $lien.=img_picto($langs->trans("Disabled"),'switch_off'); - $lien.=''; - print_fiche_titre($langs->trans('SPIPTitle'), $lien, ''); + $link=''; + //$link.=$langs->trans("Activate"); + $link.=img_picto($langs->trans("Disabled"),'switch_off'); + $link.=''; + print_fiche_titre($langs->trans('SPIPTitle'), $link, ''); } diff --git a/htdocs/admin/stock.php b/htdocs/admin/stock.php index 87ed5fe64c6..0f6560ad055 100644 --- a/htdocs/admin/stock.php +++ b/htdocs/admin/stock.php @@ -87,6 +87,9 @@ if($action) if($action == 'STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT') { $res = dolibarr_set_const($db, "STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT", GETPOST('STOCK_MUST_BE_ENOUGH_FOR_SHIPMENT','alpha'),'chaine',0,'',$conf->entity); } + if($action == 'INDEPENDANT_SUBPRODUCT_STOCK') { + $res = dolibarr_set_const($db, "INDEPENDANT_SUBPRODUCT_STOCK", GETPOST('INDEPENDANT_SUBPRODUCT_STOCK','alpha'),'chaine',0,'',$conf->entity); + } if (! $res > 0) $error++; @@ -110,7 +113,7 @@ if($action) llxHeader('',$langs->trans("StockSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("StockSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("StockSetup"),$linkback,'title_setup'); $form=new Form($db); @@ -119,7 +122,7 @@ $disabled=''; if (! empty($conf->productbatch->enabled)) { $langs->load("productbatch"); - $disabled=' disabled="disabled"'; + $disabled=' disabled'; print info_admin($langs->trans("WhenProductBatchModuleOnOptionAreForced")); } @@ -368,9 +371,29 @@ print ''; print "\n"; print "\n"; print '
'; -print ''; -print '
'; +/* I keep the option/feature, but hidden to end users for the moment. If feature is used by module, no need to have users see it. +If not used by a module, I still need to understand in which case user may need this now we can set rule on product page. +if ($conf->global->PRODUIT_SOUSPRODUITS) +{ + $var=!$var; + + print ""; + print ''.$langs->trans("IndependantSubProductStock").''; + + print ''; + print "
"; + print ''; + print ""; + print $form->selectyesno("INDEPENDANT_SUBPRODUCT_STOCK",$conf->global->INDEPENDANT_SUBPRODUCT_STOCK,1); + print ''; + print '
'; + print "\n"; + print "\n"; +} +*/ + +print ''; llxFooter(); diff --git a/htdocs/admin/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index 2f48eb2be79..9c70ecc5e4c 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -194,7 +194,7 @@ llxHeader("",""); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
"; @@ -278,15 +278,13 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$invoice); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval.'
'; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error).'
'; } } @@ -445,14 +443,16 @@ foreach ($dirmodels as $reldir) } } -print '
'; -print '
'; +print '
'; /* * Other options - * */ +print '
'; +print ''; +print ''; + print_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -461,16 +461,38 @@ print ''; print ''; print "\n"; -print ''; -print ''; -print ''; print '\n"; + +print '
'.$langs->trans("Value").' 
'; print $langs->trans("FreeLegalTextOnInvoices").' ('.$langs->trans("AddCRIfTooLong").')
'; print ''; print '
'; print ''; print "

'; + print '
'; -$db->close(); + +/* + * Notifications + */ + +print_titre($langs->trans("Notifications")); +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +print '\n"; + +print '
'.$langs->trans("Parameter").' 
'; +print $langs->trans("YouMayFindNotificationsFeaturesIntoModuleNotification").'
'; +print '
'; +print "
'; + + llxFooter(); + +$db->close(); diff --git a/htdocs/admin/supplier_order.php b/htdocs/admin/supplier_order.php index 2d4be98f34a..87d46ea10b0 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -165,22 +165,45 @@ else if ($action == 'addcat') $fourn->CreateCategory($user,$_POST["cat"]); } -else if ($action == 'set_SUPPLIER_ORDER_FREE_TEXT') +else if ($action == 'set_SUPPLIER_ORDER_OTHER') { $freetext = GETPOST('SUPPLIER_ORDER_FREE_TEXT'); // No alpha here, we want exact string + $doubleapproval = GETPOST('SUPPLIER_ORDER_DOUBLE_APPROVAL'); + //$doubleapprovalgroup = GETPOST('SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP') > 0 ? GETPOST('SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP') : ''; - $res = dolibarr_set_const($db, "SUPPLIER_ORDER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); + $res1 = dolibarr_set_const($db, "SUPPLIER_ORDER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); + $res2 = dolibarr_set_const($db, "SUPPLIER_ORDER_DOUBLE_APPROVAL",$doubleapproval,'chaine',0,'',$conf->entity); + /*if (isset($_POST["SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP"])) + { + $res3 = dolibarr_set_const($db, "SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP",$doubleapprovalgroup,'chaine',0,'',$conf->entity); + } + else + { + $res3=1; + }*/ - if (! $res > 0) $error++; + // TODO We add/delete permission here until permission can have a condition on a global var + include_once DOL_DOCUMENT_ROOT.'/core/modules/modFournisseur.class.php'; + $newmodule=new modFournisseur($db); + // clear default rights array + $newmodule->rights=array(); + // add new right + $r=0; + $newmodule->rights[$r][0] = 1190; + $newmodule->rights[$r][1] = $langs->trans("Permission1190"); + $newmodule->rights[$r][2] = 'w'; + $newmodule->rights[$r][3] = 0; + $newmodule->rights[$r][4] = 'commande'; + $newmodule->rights[$r][5] = 'approve2'; - if (! $error) - { - setEventMessage($langs->trans("SetupSaved")); - } - else - { - setEventMessage($langs->trans("Error"),'errors'); - } + if ($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL) + { + $newmodule->insert_permissions(1); + } + else + { + $newmodule->delete_permissions(); + } } @@ -188,14 +211,14 @@ else if ($action == 'set_SUPPLIER_ORDER_FREE_TEXT') * View */ +$form=new Form($db); + $dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); llxHeader("",""); -$form=new Form($db); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
"; @@ -279,15 +302,13 @@ foreach ($dirmodels as $reldir) $htmltooltip=''; $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; $nextval=$module->getNextValue($mysoc,$commande); - if ("$nextval" != $langs->trans("NotAvailable")) // Keep " on nextval - { + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval $htmltooltip.=''.$langs->trans("NextValue").': '; - if ($nextval) - { + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); $htmltooltip.=$nextval.'
'; - } - else - { + } else { $htmltooltip.=$langs->trans($module->error).'
'; } } @@ -441,14 +462,16 @@ foreach ($dirmodels as $reldir) } } -print '
'; -print '
'; +print '
'; /* * Other options - * */ +print '
'; +print ''; +print ''; + print_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -456,17 +479,60 @@ print ''; print ''; print ''; print "\n"; +$var=false; +if ($conf->global->MAIN_FEATURES_LEVEL > 0) +{ + print '\n"; + $var=!$var; + /*print '\n"; + $var=!$var;*/ +} -print ''; -print ''; -print ''; print '\n"; + +print '
'.$langs->trans("Parameter").''.$langs->trans("Value").' 
'; + print $langs->trans("UseDoubleApproval").'
'; + print $langs->trans("IfSetToYesDontForgetPermission"); + print '
'; + print $form->selectyesno('SUPPLIER_ORDER_DOUBLE_APPROVAL', $conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL, 1); + print ''; + print ''; + print "
'; + print $langs->trans("GroupOfUserForSecondApproval").''; + print $form->select_dolgroups($conf->global->SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP,'SUPPLIER_ORDER_DOUBLE_APPROVAL_GROUP', 1); + print ''; + print ''; + print "
'; print $langs->trans("FreeLegalTextOnOrders").' ('.$langs->trans("AddCRIfTooLong").')
'; print ''; print '
'; print ''; print "

'; + print '
'; -$db->close(); + + +/* + * Notifications + */ + +print_titre($langs->trans("Notifications")); +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +print '\n"; + +print '
'.$langs->trans("Parameter").' 
'; +print $langs->trans("YouMayFindNotificationsFeaturesIntoModuleNotification").'
'; +print '
'; +print "
'; + + llxFooter(); + +$db->close(); diff --git a/htdocs/admin/supplierinvoice_extrafields.php b/htdocs/admin/supplierinvoice_extrafields.php index 755a68b338e..4e9f1fce9ae 100644 --- a/htdocs/admin/supplierinvoice_extrafields.php +++ b/htdocs/admin/supplierinvoice_extrafields.php @@ -39,6 +39,7 @@ if (!$user->admin) $langs->load("admin"); $langs->load("other"); $langs->load("bills"); +$langs->load("orders"); $langs->load("suppliers"); $extrafields = new ExtraFields($db); @@ -73,49 +74,14 @@ $textobject=$langs->transnoentitiesnoconv("BillsSuppliers"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); dol_fiche_head($head, 'supplierinvoice', $langs->trans("Suppliers"), 0, 'company'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/admin/supplierinvoicedet_extrafields.php b/htdocs/admin/supplierinvoicedet_extrafields.php new file mode 100644 index 00000000000..b6f71ecc00c --- /dev/null +++ b/htdocs/admin/supplierinvoicedet_extrafields.php @@ -0,0 +1,127 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Claudio Aschieri + * + * 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/admin/supplierinvoicedet_extrafields.php + * \ingroup fourn + * \brief Page to setup extra fields of supplierinvoice line + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("other"); +$langs->load("bills"); +$langs->load("orders"); +$langs->load("suppliers"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='facture_fourn_det'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("BillsSuppliers"); + +llxHeader('',$langs->trans("SuppliersSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print "
\n"; + +$head = supplierorder_admin_prepare_head(); + +dol_fiche_head($head, 'supplierinvoicedet', $langs->trans("Suppliers"), 0, 'company'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/admin/supplierorder_extrafields.php b/htdocs/admin/supplierorder_extrafields.php index 96e20b92f17..135e02a92b4 100644 --- a/htdocs/admin/supplierorder_extrafields.php +++ b/htdocs/admin/supplierorder_extrafields.php @@ -70,49 +70,14 @@ $textobject=$langs->transnoentitiesnoconv("SuppliersOrders"); llxHeader('',$langs->trans("SuppliersSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); print "
\n"; $head = supplierorder_admin_prepare_head(); dol_fiche_head($head, 'supplierorder', $langs->trans("Suppliers"), 0, 'company'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/admin/supplierorderdet_extrafields.php b/htdocs/admin/supplierorderdet_extrafields.php new file mode 100644 index 00000000000..6d422de4d31 --- /dev/null +++ b/htdocs/admin/supplierorderdet_extrafields.php @@ -0,0 +1,124 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2015 Claudio Aschieri + * + * 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/admin/supplierorder_extrafields.php + * \ingroup fourn + * \brief Page to setup extra fields of supplierorder line + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("other"); +$langs->load("orders"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='commande_fournisseurdet'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("SuppliersOrders"); + +llxHeader('',$langs->trans("SuppliersSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("SuppliersSetup"),$linkback,'title_setup'); +print "
\n"; + +$head = supplierorder_admin_prepare_head(); + +dol_fiche_head($head, 'supplierorderdet', $langs->trans("Suppliers"), 0, 'company'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/admin/syslog.php b/htdocs/admin/syslog.php index c1fc11add9b..3eebfebb37b 100644 --- a/htdocs/admin/syslog.php +++ b/htdocs/admin/syslog.php @@ -147,7 +147,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("SyslogSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("SyslogSetup"),$linkback,'title_setup'); print '
'; $def = array(); @@ -161,7 +161,7 @@ if (! $defaultsyslogfile) $defaultsyslogfile='dolibarr.log'; if ($conf->global->MAIN_MODULE_MULTICOMPANY && $user->entity) { print '
'.$langs->trans("ContactSuperAdminForChange").'
'; - $option = 'disabled="disabled"'; + $option = 'disabled'; } @@ -192,7 +192,7 @@ foreach ($syslogModules as $moduleName) $var=!$var; print ''; print ''; - print ' '; + print ' '; print $module->getName(); print ''; diff --git a/htdocs/admin/system/about.php b/htdocs/admin/system/about.php index 532293cdad2..889885bb6ea 100644 --- a/htdocs/admin/system/about.php +++ b/htdocs/admin/system/about.php @@ -38,7 +38,7 @@ $langs->load("members"); llxHeader(); -print_fiche_titre("Dolibarr",'','setup'); +print_fiche_titre("Dolibarr",'','title_setup'); print '
'.img_picto_common('', 'dolibarr_box.png','height="120"').'
'; @@ -51,8 +51,8 @@ print ''; print $langs->trans("Developpers").':'; print ''; //print "
\n"; diff --git a/htdocs/admin/system/browser.php b/htdocs/admin/system/browser.php index 58601c6e998..1a68133127d 100644 --- a/htdocs/admin/system/browser.php +++ b/htdocs/admin/system/browser.php @@ -42,9 +42,9 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoBrowser"),'','setup'); +print_fiche_titre($langs->trans("InfoBrowser"),'','title_setup'); -$tmp=getBrowserInfo(); +$tmp=getBrowserInfo($_SERVER["HTTP_USER_AGENT"]); // Browser $var=true; diff --git a/htdocs/admin/system/constall.php b/htdocs/admin/system/constall.php index 0183da7a258..16c63b1b1fd 100644 --- a/htdocs/admin/system/constall.php +++ b/htdocs/admin/system/constall.php @@ -39,7 +39,7 @@ if (!$user->admin) llxHeader(); -print_fiche_titre($langs->trans("SummaryConst"),'','setup'); +print_fiche_titre($langs->trans("SummaryConst"),'','title_setup'); print_titre($langs->trans("ConfigurationFile").' ('.$conffiletoshowshort.')'); @@ -73,8 +73,10 @@ $configfileparameters=array( '?dolibarr_main_auth_ldap_debug', 'separator', '?dolibarr_lib_ADODB_PATH', - '?dolibarr_lib_TCPDF_PATH', - '?dolibarr_lib_FPDI_PATH', + '?dolibarr_lib_FPDF_PATH', + '?dolibarr_lib_TCPDF_PATH', + '?dolibarr_lib_FPDI_PATH', + '?dolibarr_lib_TCPDI_PATH', '?dolibarr_lib_NUSOAP_PATH', '?dolibarr_lib_PHPEXCEL_PATH', '?dolibarr_lib_GEOIP_PATH', diff --git a/htdocs/admin/system/database-tables.php b/htdocs/admin/system/database-tables.php index a29c8e66b32..9650b32bd5c 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -46,7 +46,7 @@ if ($action == 'convert') llxHeader(); -print_fiche_titre($langs->trans("Tables")." ".ucfirst($conf->db->type),'','setup'); +print_fiche_titre($langs->trans("Tables")." ".ucfirst($conf->db->type),'','title_setup'); // Define request to get table description @@ -66,6 +66,11 @@ else if ($conf->db->type == 'mssql') //$sqls[0] = ""; //$base=3; } +else if ($conf->db->type == 'sqlite' || $conf->db->type == 'sqlite3') +{ + //$sql = "SELECT name, type FROM sqlite_master"; + $base = 4; +} if (! $base) @@ -169,6 +174,40 @@ else } print ''; } + + if ($base == 4) + { + // Sqlite by PDO or by Sqlite3 + print ''; + print ''; + print ''; + print ''; + print "\n"; + + $sql = "SELECT name, type FROM sqlite_master where type='table' and name not like 'sqlite%' ORDER BY name"; + $resql = $db->query($sql); + + if ($resql) + { + $var=True; + while ($row = $db->fetch_row($resql)) { + + $rescount = $db->query("SELECT COUNT(*) FROM " . $row[0]); + if ($rescount) { + $row_count = $db->fetch_row($rescount); + $count = $row_count[0]; + } else { + $count = '?'; + } + + print ""; + print ''; + print ''; + print ''; + } + } + + } } llxFooter(); diff --git a/htdocs/admin/system/database.php b/htdocs/admin/system/database.php index 1cacc757971..e6fc31c4426 100644 --- a/htdocs/admin/system/database.php +++ b/htdocs/admin/system/database.php @@ -39,7 +39,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoDatabase"),'','setup'); +print_fiche_titre($langs->trans("InfoDatabase"),'','title_setup'); // Database print '
'.$langs->trans("TableName").''.$langs->trans("NbOfRecord").'
'.$row[0].''.$count.'
'; diff --git a/htdocs/admin/system/dbtable.php b/htdocs/admin/system/dbtable.php index 3102248bc0a..b2e01f65ebb 100644 --- a/htdocs/admin/system/dbtable.php +++ b/htdocs/admin/system/dbtable.php @@ -41,7 +41,7 @@ $table=GETPOST('table','alpha'); llxHeader(); -print_fiche_titre($langs->trans("Table") . " ".$table,'','setup'); +print_fiche_titre($langs->trans("Table") . " ".$table,'','title_setup'); // Define request to get table description $base=0; diff --git a/htdocs/admin/system/dolibarr.php b/htdocs/admin/system/dolibarr.php index 641a3166c04..a3788e04023 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -42,7 +42,7 @@ $form=new Form($db); llxHeader(); -print_fiche_titre($langs->trans("InfoDolibarr"),'','setup'); +print_fiche_titre($langs->trans("InfoDolibarr"),'','title_setup'); // Version $var=true; @@ -179,7 +179,7 @@ $c=getServerTimeZoneInt('summer'); $daylight=(is_numeric($c) && is_numeric($b))?round($c-$b):'unknown'; //print $a." ".$b." ".$c." ".$daylight; $val=($a>=0?'+':'').$a; -$val.=' ('.($a==='unknown'?'unknown':($a>=0?'+':'').($a*3600)).')'; +$val.=' ('.($a=='unknown'?'unknown':($a>=0?'+':'').($a*3600)).')'; $val.='       '.getServerTimeZoneString(); $val.='       '.$langs->trans("DaylingSavingTime").': '.($daylight==='unknown'?'unknown':($a==$c?yn($daylight):yn(0).($daylight?'     ('.$langs->trans('YesInSummer').')':''))); print $form->textwithtooltip($val,$txt,2,1,img_info('')); @@ -266,9 +266,10 @@ $configfileparameters=array( '?dolibarr_main_auth_ldap_debug' => 'dolibarr_main_auth_ldap_debug', 'separator3' => '', '?dolibarr_lib_ADODB_PATH' => 'dolibarr_lib_ADODB_PATH', - '?dolibarr_lib_TCPDF_PATH' => 'dolibarr_lib_TCPDF_PATH', '?dolibarr_lib_FPDF_PATH' => 'dolibarr_lib_FPDF_PATH', + '?dolibarr_lib_TCPDF_PATH' => 'dolibarr_lib_TCPDF_PATH', '?dolibarr_lib_FPDI_PATH' => 'dolibarr_lib_FPDI_PATH', + '?dolibarr_lib_TCPDI_PATH' => 'dolibarr_lib_TCPDI_PATH', '?dolibarr_lib_NUSOAP_PATH' => 'dolibarr_lib_NUSOAP_PATH', '?dolibarr_lib_PHPEXCEL_PATH' => 'dolibarr_lib_PHPEXCEL_PATH', '?dolibarr_lib_GEOIP_PATH' => 'dolibarr_lib_GEOIP_PATH', @@ -332,7 +333,7 @@ foreach($configfileparameters as $key => $value) { if ($i > 0) print ', '; print $value2; - if (! is_readable($value2)) + if (! is_readable($value2)) { $langs->load("errors"); print ' '.img_warning($langs->trans("ErrorCantReadDir",$value2)); diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php new file mode 100644 index 00000000000..d8f8f284e0e --- /dev/null +++ b/htdocs/admin/system/filecheck.php @@ -0,0 +1,157 @@ + + * Copyright (C) 2007 Rodolphe Quiedeville + * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/admin/system/filecheck.php + * \brief Page to check Dolibarr files integrity + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + +$langs->load("admin"); + +if (!$user->admin) + accessforbidden(); + + +/* + * View + */ + +llxHeader(); + +print_fiche_titre($langs->trans("FileCheckDolibarr"),'','title_setup'); + +// Version +$var = true; +print '
'; +print ''."\n"; +$var = ! $var; +print ''."\n"; +$var = ! $var; +print ''."\n"; +$var = ! $var; +print ''."\n"; +print '
'.$langs->trans("Version").''.$langs->trans("Value").'
'.$langs->trans("VersionLastInstall").''.$conf->global->MAIN_VERSION_LAST_INSTALL.'
'.$langs->trans("VersionLastUpgrade").''.$conf->global->MAIN_VERSION_LAST_UPGRADE.'
'.$langs->trans("VersionProgram").''.DOL_VERSION; +// If current version differs from last upgrade +if (empty($conf->global->MAIN_VERSION_LAST_UPGRADE)) { + // Compare version with last install database version (upgrades never occured) + if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_INSTALL) + print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_INSTALL)); +} else { + // Compare version with last upgrade database version + if (DOL_VERSION != $conf->global->MAIN_VERSION_LAST_UPGRADE) + print ' '.img_warning($langs->trans("RunningUpdateProcessMayBeRequired",DOL_VERSION,$conf->global->MAIN_VERSION_LAST_UPGRADE)); +} +print '
'; +print '
'; + + +// Modified or missing files +$file_list = array('missing' => array(), 'updated' => array()); + +// File to analyze +//$xmlfile = DOL_DOCUMENT_ROOT.'/install/filelist-'.DOL_VERSION.'.xml'; +$xmlfile = DOL_DOCUMENT_ROOT.'/install/filelist.xml'; + +if (file_exists($xmlfile)) +{ + $xml = simplexml_load_file($xmlfile); + if ($xml) + { + $ret = getFilesUpdated($xml->dolibarr_root_dir[0]); // Fill array $file_list + print ''; + print ''; + print ''; + print ''."\n"; + $var = true; + foreach ($file_list['missing'] as $file) + { + $var = !$var; + print ''; + print '' . "\n"; + print "\n"; + } + print '
' . $langs->trans("FilesMissing") . '
'.$file.'
'; + + print '
'; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''."\n"; + $var = true; + foreach ($file_list['updated'] as $file) + { + $var = !$var; + print ''; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print "\n"; + } + print '
' . $langs->trans("FilesUpdated") . '' . $langs->trans("Size") . '' . $langs->trans("DateModification") . '
'.$file.''.dol_print_size(dol_filesize(DOL_DOCUMENT_ROOT.'/'.$file)).''.dol_print_date(dol_filemtime(DOL_DOCUMENT_ROOT.'/'.$file),'dayhour').'
'; + } +} +else +{ + print $langs->trans('XmlNotFound') . ': ' . $xmlfile; +} + +llxFooter(); + +$db->close(); + + +/** + * Function to get list of updated or modified files + * + * @param SimpleXMLElement $dir SimpleXMLElement of files to test + * @param string $path Path of file + * @return array Array of filenames + */ +function getFilesUpdated(SimpleXMLElement $dir, $path = '') +{ + global $file_list; + $exclude = 'install'; + + foreach ($dir->md5file as $file) + { + $filename = $path.$file['name']; + + if (preg_match('#'.$exclude.'#', $filename)) + continue; + + if (!file_exists(DOL_DOCUMENT_ROOT.'/'.$filename)) { + $file_list['missing'][] = $filename; + } else { + $md5_local = md5_file(DOL_DOCUMENT_ROOT.'/'.$filename); + if ($md5_local != (string) $file) + $file_list['updated'][] = $filename; + } + } + + foreach ($dir->dir as $subdir) + getFilesUpdated($subdir, $path.$subdir['name'].'/'); + return $file_list; +} diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index 64df9432e82..133b6cfbfff 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -45,7 +45,7 @@ if (! $user->admin) accessforbidden(); llxHeader(); -print_fiche_titre($langs->trans("SummarySystem"),'','setup'); +print_fiche_titre($langs->trans("SummarySystem"),'','title_setup'); print ''; diff --git a/htdocs/admin/system/modules.php b/htdocs/admin/system/modules.php index 7e32055e180..1014beba184 100644 --- a/htdocs/admin/system/modules.php +++ b/htdocs/admin/system/modules.php @@ -39,7 +39,7 @@ if (! $user->admin) llxHeader(); -print_fiche_titre($langs->trans("AvailableModules"),'','setup'); +print_fiche_titre($langs->trans("AvailableModules"),'','title_setup'); print $langs->trans("ToActivateModule").'
'; print "
\n"; @@ -118,7 +118,7 @@ foreach($sortorder as $numero=>$name) $idperms=""; $var=!$var; // Module - print "'; +print ''; +print ''; +$var = !$var; +print ''; +print ''; +print ''; +print ''; +$var = !$var; +print ''; +print ''; +print ''; +print ''; +$var = !$var; +print ''; +print ''; +print ''; +print ''; +$var = ! $var; +print ''; +print ''; +print ''; +print ''; +$var = ! $var; +print ''; +print ''; +print ''; +print ''; +$var = ! $var; +print ''; +print ''; +print ''; +print ''; +$var = ! $var; +print ''; +print ''; +print ''; +print ''; +print '
"; + print "
'; $alt=$name.' - '.$modules_files[$numero]; if (! empty($picto[$numero])) { diff --git a/htdocs/admin/system/os.php b/htdocs/admin/system/os.php index 669e8d84be9..5c20fda1cd4 100644 --- a/htdocs/admin/system/os.php +++ b/htdocs/admin/system/os.php @@ -35,7 +35,7 @@ if (!$user->admin) llxHeader(); -print_fiche_titre($langs->trans("InfoOS"),'','setup'); +print_fiche_titre($langs->trans("InfoOS"),'','title_setup'); print ''; print ''; diff --git a/htdocs/admin/system/perf.php b/htdocs/admin/system/perf.php index 0e49564ece7..afa33e6b38f 100644 --- a/htdocs/admin/system/perf.php +++ b/htdocs/admin/system/perf.php @@ -48,7 +48,7 @@ $nowstring=dol_print_date(dol_now(),'dayhourlog'); llxHeader(); -print_fiche_titre($langs->trans("PerfDolibarr"),'','setup'); +print_fiche_titre($langs->trans("PerfDolibarr"),'','title_setup'); print $langs->trans("YouMayFindPerfAdviceHere",'http://wiki.dolibarr.org/index.php/FAQ_Increase_Performance').' ('.$langs->trans("Reload").')
'; diff --git a/htdocs/admin/system/phpinfo.php b/htdocs/admin/system/phpinfo.php index 681c5d43cf3..89b0f8cd8dc 100644 --- a/htdocs/admin/system/phpinfo.php +++ b/htdocs/admin/system/phpinfo.php @@ -43,7 +43,7 @@ $title='InfoPHP'; if (isset($title)) { - print_fiche_titre($langs->trans($title), '', 'setup'); + print_fiche_titre($langs->trans($title), '', 'title_setup'); } diff --git a/htdocs/admin/system/web.php b/htdocs/admin/system/web.php index 6c2e36a3e8e..2d51344b68c 100644 --- a/htdocs/admin/system/web.php +++ b/htdocs/admin/system/web.php @@ -42,7 +42,7 @@ if (!$user->admin) accessforbidden(); llxHeader(); -print_fiche_titre($langs->trans("InfoWebServer"),'','setup'); +print_fiche_titre($langs->trans("InfoWebServer"),'','title_setup'); print '
'.$langs->trans("Parameter").''.$langs->trans("Value").'
'; print "\n"; diff --git a/htdocs/admin/system/xcache.php b/htdocs/admin/system/xcache.php index 143e62b8b3c..e6c0f7ae477 100644 --- a/htdocs/admin/system/xcache.php +++ b/htdocs/admin/system/xcache.php @@ -35,7 +35,7 @@ $action=GETPOST('action'); llxHeader(); -print_fiche_titre("XCache",'','setup'); +print_fiche_titre("XCache",'','title_setup'); print "
\n"; diff --git a/htdocs/admin/system/xdebug.php b/htdocs/admin/system/xdebug.php index 7d32c76fb4d..501f74b414b 100644 --- a/htdocs/admin/system/xdebug.php +++ b/htdocs/admin/system/xdebug.php @@ -34,7 +34,7 @@ accessforbidden(); llxHeader(); -print_fiche_titre("XDebug",'','setup'); +print_fiche_titre("XDebug",'','title_setup'); print "
\n"; diff --git a/htdocs/admin/taxes.php b/htdocs/admin/taxes.php index 9184ede0920..bcbf11cfdb2 100644 --- a/htdocs/admin/taxes.php +++ b/htdocs/admin/taxes.php @@ -120,7 +120,7 @@ llxHeader(); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans('TaxSetup'),$linkback,'setup'); +print_fiche_titre($langs->trans('TaxSetup'),$linkback,'title_setup'); print '
'; if (empty($mysoc->tva_assuj)) diff --git a/htdocs/admin/tools/dolibarr_export.php b/htdocs/admin/tools/dolibarr_export.php index aec78f8aaac..88184065574 100644 --- a/htdocs/admin/tools/dolibarr_export.php +++ b/htdocs/admin/tools/dolibarr_export.php @@ -96,7 +96,7 @@ jQuery(document).ready(function() { jQuery("#select_sql_compat").click(function() { if (jQuery("#select_sql_compat").val() == 'POSTGRESQL') { - jQuery("#checkbox_dump_disable-add-locks").attr('checked',true); + jQuery("#checkbox_dump_disable-add-locks").prop('checked',true); } }); @@ -108,14 +108,9 @@ jQuery(document).ready(function() { trans("Backup"),'','setup'); +print_fiche_titre($langs->trans("Backup"),'','title_setup'); print $langs->trans("BackupDesc",DOL_DATA_ROOT).'

'; -print $langs->trans("BackupDesc2",DOL_DATA_ROOT).'
'; -print $langs->trans("BackupDescX").'

'; -print $langs->trans("BackupDesc3",DOL_DATA_ROOT).'
'; -print $langs->trans("BackupDescY").'

'; - ?> @@ -124,9 +119,29 @@ print $langs->trans("BackupDescY").'

'; name="token" value="" /> -
-'.$langs->trans("DatabaseName").' : '.$dolibarr_main_db_name.''; ?> -
".$langs->trans("Parameter")."".$langs->trans("Value")."
+
1 + +trans("BackupDesc3",$dolibarr_main_db_name).'
'; +//print $langs->trans("BackupDescY").'
'; +print '
'; +?> + +
+ +trans("BackupDumpWizard")); + +print '
'; +print ''; +print ''; +print ''; +print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + foreach($list as $key) { + $var = !$var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print '
'; +print $langs->trans("DatabaseName").' : '.$dolibarr_main_db_name.'
'; +print '
'; +?> +
@@ -182,7 +197,7 @@ print $langs->trans("BackupDescY").'

'; $fullpathofmysqldump=$conf->global->SYSTEMTOOLS_MYSQLDUMP; } ?>
-
@@ -194,13 +209,13 @@ print $langs->trans("BackupDescY").'

';
'; +?> + + +
+
+ +admin->dir_output.'/backup','files',0,'','',$sortfield,(strtolower($sortorder)=='asc'?SORT_ASC:SORT_DESC),1); $result=$formfile->list_of_documents($filearray,null,'systemtools','',1,'backup/',1,0,$langs->trans("NoBackupFileAvailable"),0,$langs->trans("PreviousDumpFiles")); print '
'; +?> +
+
+ + + +
+ +
2 +trans("BackupDesc2",DOL_DATA_ROOT).'
'; +print $langs->trans("BackupDescX").'

'; +?> +
+ + + + + trans("Restore"),'','setup'); +print_fiche_titre($langs->trans("Restore"),'','title_setup'); print $langs->trans("RestoreDesc",DOL_DATA_ROOT).'

'; +?> +
+1 +trans("RestoreDesc2",DOL_DATA_ROOT).'

'; -print $langs->trans("RestoreDesc3",DOL_DATA_ROOT).'

'; +?> +
+
+ +
+2 +trans("RestoreDesc3",$dolibarr_main_db_name).'

'; ?> -
-'.$langs->trans("DatabaseName").' : '.$dolibarr_main_db_name.''; ?> +trans("DatabaseName").' : '.$dolibarr_main_db_name.''; ?>

+ > - - - - - - - -
use_javascript_ajax) { ?> diff --git a/htdocs/admin/tools/eaccelerator.php b/htdocs/admin/tools/eaccelerator.php index d457be07b8e..da168eec510 100644 --- a/htdocs/admin/tools/eaccelerator.php +++ b/htdocs/admin/tools/eaccelerator.php @@ -34,314 +34,314 @@ if (!$user->admin) accessforbidden(); llxHeader(); -if (!function_exists('eaccelerator_info')) -{ - print 'eAccelerator is not installed.'; - llxFooter(); - exit; +if (!function_exists('eaccelerator_info')) { + print 'eAccelerator is not installed.'; + llxFooter(); + exit; } $info = eaccelerator_info(); if (isset($_POST['caching'])) { - if ($info['cache']) { - eaccelerator_caching(false); - } else { - eaccelerator_caching(true); - } + if ($info['cache']) { + eaccelerator_caching(false); + } else { + eaccelerator_caching(true); + } } else if (isset($_POST['optimizer']) && function_exists('eaccelerator_optimizer')) { - if ($info['optimizer']) { - eaccelerator_optimizer(false); - } else { - eaccelerator_optimizer(true); - } + if ($info['optimizer']) { + eaccelerator_optimizer(false); + } else { + eaccelerator_optimizer(true); + } } else if (isset($_POST['clear'])) { - eaccelerator_clear(); + eaccelerator_clear(); } else if (isset($_POST['clean'])) { - eaccelerator_clean(); + eaccelerator_clean(); } else if (isset($_POST['purge'])) { - eaccelerator_purge(); + eaccelerator_purge(); } $info = eaccelerator_info(); if (!is_array($info)) { - dol_print_error('','An error occured getting eAccelerator information, this is caused if eAccelerator isn\'t initalised properly'); - exit; + dol_print_error('','An error occured getting eAccelerator information, this is caused if eAccelerator isn\'t initalised properly'); + exit; } - +/** + * Compare revisions + * + * @param array $x Parts of version 1 + * @param array $y Parts of version 2 + * @return int -1 if 1<2, 0 if 1=2, 1 if 1>2 + */ function compare($x, $y) { - global $sortby; + global $sortby; - if ( $x[$sortby] == $y[$sortby] ) - return 0; - else if ( $x[$sortby] < $y[$sortby] ) - return -1; - else - return 1; + if ( $x[$sortby] == $y[$sortby] ) { + return 0; + } else if ($x[$sortby] < $y[$sortby]) { + return -1; + } else { + return 1; + } } /** * Compare revisions * - * @param array $x Parts of version 1 - * @param array $y Parts of version 2 - * @return int 1 if 1<2, 0 if 1=2, -1 if 1>2 + * @param array $x Parts of version 1 + * @param array $y Parts of version 2 + * @return int 1 if 1<2, 0 if 1=2, -1 if 1>2 */ function revcompare($x, $y) { - global $sortby; + global $sortby; - if ( $x[$sortby] == $y[$sortby] ) - return 0; - else if ( $x[$sortby] < $y[$sortby] ) - return 1; - else - return -1; + if ($x[$sortby] == $y[$sortby]) { + return 0; + } else if ($x[$sortby] < $y[$sortby]) { + return 1; + } else { + return -1; + } } /** * Output table * - * @param array $list Array of records - * @return void + * @param array $list Array of records + * @return void */ function create_script_table($list) { - global $sortby,$bc,$langs; - $var=true; + global $sortby,$bc,$langs; + $var=true; - if (isset($_GET['order']) && ($_GET['order'] == "asc" || $_GET['order'] =="desc")) { - $order = $_GET['order']; - } else { - $order = "asc"; - } + if (isset($_GET['order']) && ($_GET['order'] == "asc" || $_GET['order'] =="desc")) { + $order = $_GET['order']; + } else { + $order = "asc"; + } - if (isset($_GET['sort'])) { - switch ($_GET['sort']) { - case "mtime": - case "size": - case "reloads": - case "hits": - $sortby = $_GET['sort']; - ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); - break; - default: - $sortby = "file"; - ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); - } - } + if (isset($_GET['sort'])) { + switch ($_GET['sort']) { + case "mtime": + case "size": + case "reloads": + case "hits": + $sortby = $_GET['sort']; + ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); + break; + default: + $sortby = "file"; + ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); + } + } - ?> - - - - - - - - - '; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + switch ($sortby) { + case "mtime": + case "size": + case "reloads": + case "hits": + ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); + break; + case "file": + default: + $sortby = "file"; + ($order == "asc" ? uasort($list, 'compare') : uasort($list, 'revcompare')); - } + } + + foreach($list as $script) { + $var = ! $var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print '
">trans("Filename"); ?> ">trans("Date"); ?> ">trans("Size"); ?> ">trans("Reloads"); ?> ">trans("Hits"); ?> 
'.$langs->trans("Filename").' '; + if($sortby == "file") + print ($order == "asc" ? "↓" : "↑").''.$langs->trans("Date").' '; + if($sortby == "mtime") + print ($order == "asc" ? "↓" : "↑").''.$langs->trans("Size").' '; + if($sortby == "size") + print ($order == "asc" ? "↓" : "↑").''.$langs->trans("Reloads").' '; + if($sortby == "reloads") + print ($order == "asc" ? "↓" : "↑").''.$langs->trans("Hits").' '; + if($sortby == "hits") + print ($order == "asc" ? "↓" : "↑").'
'.dol_trunc($script['file'],80,'left').''.dol_print_date($script['mtime'],'dayhour').''.number_format($script['size'] / 1024, 2).'KB'.$script['reloads'].' ('.$script['usecount'].')'.$script['hits'].'
'; - foreach($list as $script) { ?> -
- KB ()
- - - - - - - - - - > - - - - - - -
NameCreatedtrans("Size"); ?>ttl
- KB
- '; + print '
NameCreated'.$langs->trans("Size").'ttl
'.dol_trunc($key['name'],80,'left').''.dol_print_date($key['created'],'dayhour').''.number_format($key['size']/1024, 3).'KB'; + if ($key['ttl'] == -1) { + print 'expired'; + } elseif ($key['ttl'] == 0) { + print 'none'; + } else { + print dol_print_date($key['ttl'],'dayhour'); + } + print '
'; } $form=new Form($db); -print_fiche_titre('Dolibarr eAccelerator '.$info['version'].' control panel','','setup'); +print_fiche_titre('Dolibarr eAccelerator '.$info['version'].' control panel','','title_setup'); $var=true; -?> -
+print '
'; - - - - - > - - - - > - - - - > - - - - > - - - - > - - - - > - - - - > - - - -
Information
Caching enabled
Optimizer enabled
Memory usage% - ( - MB / - MB)
Free memory in reserved cacheMB
Cached scripts
Removed scripts
Cached keys
-'; +print '
Information
Caching enabled'.($info['cache']?'yes':'no').'
Optimizer enabled'.$info['optimizer']?'yes':'no'.'
Memory usage'.number_format(100 * $info['memoryAllocated']/$info['memorySize'], 2).'%('.number_format($info['memoryAllocated'] / (1024*1024), 2).'MB / '.number_format($info['memorySize']/(1024*1024), 2).'MB)
Free memory in reserved cache'.number_format($info['memoryAvailable']/(1024*1024), 2).'MB
Cached scripts'.$info['cachedScripts'].'
Removed scripts'.$info['removedScripts'].'
Cached keys'.(isset($info['cachedKeys'])?$info['cachedKeys']:'').'
'; $var=true; -$resCached = @eaccelerator_cached_scripts(); // If success return an array +$resCached = @eaccelerator_cached_scripts(); // If success return an array $resRemoved = @eaccelerator_removed_scripts(); -if (is_array($resCached) || is_array($resRemoved)) -{ - print "
"; - print '
'; - print ''; - print ''; - print ''; +if (is_array($resCached) || is_array($resRemoved)) { + print "
"; + print ''; + print ''; + print '
Actions
'; + print ''; - if (is_array($resCached)) - { - $var = ! $var; - print ""; - print ""; - print ''; - print ""; - $var = ! $var; - print ""; - print ""; - print ''; - print ""; - } + if (is_array($resCached)) { + $var = ! $var; + print ""; + print ""; + print ''; + print ""; + $var = ! $var; + print ""; + print ""; + print ''; + print ""; + } - if (is_array($resRemoved)) - { - $var = ! $var; - print ""; - print ""; - print ''; - print ""; - $var = ! $var; - print ""; - print ""; - print ''; - print ""; - $var = ! $var; - print ""; - print ""; - print ''; - print "
Actions
Caching
Optimizer
Caching
Optimizer
Clear cache
Clean cache
Purge cache
"; - } + if (is_array($resRemoved)) { + $var = ! $var; + print ""; + print "Clear cache"; + print ''; + print ""; + $var = ! $var; + print ""; + print "Clean cache"; + print ''; + print ""; + $var = ! $var; + print ""; + print "Purge cache"; + print ''; + print ""; + } - if (is_array($resCached)) - { - print "

"; - print "Cached scripts
"; - create_script_table($resCached); - } + if (is_array($resCached)) { + print "

"; + print "Cached scripts
"; + create_script_table($resCached); + } - if (is_array($resRemoved)) - { - print "

"; - print "Removed scripts
"; - create_script_table($resRemoved); - } -} -else -{ - print "

"; - print "Check in your php.ini that eaccelerator.allowed_admin_path parameter is : "; - print "

"; - print "".$_SERVER["SCRIPT_FILENAME"].""; - print "

"; + if (is_array($resRemoved)) { + print "

"; + print "Removed scripts
"; + create_script_table($resRemoved); + } +} else { + print "

"; + print "Check in your php.ini that eaccelerator.allowed_admin_path parameter is : "; + print "

"; + print "".$_SERVER["SCRIPT_FILENAME"].""; + print "

"; } -if (function_exists('eaccelerator_get')) -{ - print '

'; - print 'Cached keys
'; - $res=eaccelerator_list_keys(); - create_key_table($res); +if (function_exists('eaccelerator_get')) { + print '

'; + print 'Cached keys
'; + $res=eaccelerator_list_keys(); + create_key_table($res); } print "

"; diff --git a/htdocs/admin/tools/export.php b/htdocs/admin/tools/export.php index 1668e4f4c67..f3f21388cc1 100644 --- a/htdocs/admin/tools/export.php +++ b/htdocs/admin/tools/export.php @@ -70,6 +70,10 @@ if ($action == 'delete') * View */ +$_SESSION["commandbackuplastdone"]=''; +$_SESSION["commandbackuptorun"]=''; +$_SESSION["commandbackupresult"]=''; + // Increase limit of time. Works only if we are not in safe mode $ExecTimeLimit=600; if (!empty($ExecTimeLimit)) @@ -88,10 +92,10 @@ if (!empty($MemoryLimit)) $form=new Form($db); $formfile = new FormFile($db); -$help_url='EN:Backups|FR:Sauvegardes|ES:Copias_de_seguridad'; -llxHeader('','',$help_url); +//$help_url='EN:Backups|FR:Sauvegardes|ES:Copias_de_seguridad'; +//llxHeader('','',$help_url); -print_fiche_titre($langs->trans("Backup"),'','setup'); +//print_fiche_titre($langs->trans("Backup"),'','title_setup'); // Start with empty buffer @@ -165,13 +169,18 @@ if ($what == 'mysql') $paramclear.=' -p"'.str_replace(array('"','`'),array('\"','\`'),$dolibarr_main_db_pass).'"'; } + $_SESSION["commandbackuplastdone"]=$command." ".$paramcrypted; + $_SESSION["commandbackuptorun"]=""; + /* print ''.$langs->trans("RunCommandSummary").':
'."\n"; print '
'."\n"; print '
'; + //print $paramclear; // Now run command and show result print ''.$langs->trans("BackupResult").': '; + */ $errormsg=''; @@ -264,6 +273,9 @@ if ($what == 'mysqlnobin') { backup_tables($outputfile); } + + $_SESSION["commandbackuplastdone"]=""; + $_SESSION["commandbackuptorun"]=""; } // POSTGRESQL @@ -320,7 +332,9 @@ if ($what == 'postgresql') $paramcrypted.=" -w ".$dolibarr_main_db_name; $paramclear.=" -w ".$dolibarr_main_db_name; - print $langs->trans("RunCommandSummaryToLaunch").':
'."\n"; + $_SESSION["commandbackuplastdone"]=""; + $_SESSION["commandbackuptorun"]=$command." ".$paramcrypted; + /*print $langs->trans("RunCommandSummaryToLaunch").':
'."\n"; print '
'."\n"; print '
'; @@ -330,7 +344,7 @@ if ($what == 'postgresql') print $langs->trans("YouMustRunCommandFromCommandLineAfterLoginToUser",$dolibarr_main_db_user,$dolibarr_main_db_user); print '
'; - print '
'; + print '
';*/ $what=''; } @@ -339,34 +353,49 @@ if ($what == 'postgresql') // Si on a demande une generation -if ($what) -{ +//if ($what) +//{ if ($errormsg) { - print '
'.$langs->trans("Error")." : ".$errormsg.'
'; - // print ''.$langs->trans("DownloadErrorFile").'
'; - print '
'; - print '
'; + setEventMessage($langs->trans("Error")." : ".$errormsg, 'errors'); + + $resultstring=''; + $resultstring.='
'.$langs->trans("Error")." : ".$errormsg.'
'; + + $_SESSION["commandbackupresult"]=$resultstring; } else - { - print '
'; - print $langs->trans("BackupFileSuccessfullyCreated").'.
'; - print $langs->trans("YouCanDownloadBackupFile"); - print '
'; - print '
'; - } -} + { + if ($what) + { + setEventMessage($langs->trans("BackupFileSuccessfullyCreated").'.
'.$langs->trans("YouCanDownloadBackupFile")); + $resultstring='
'; + $resultstring.=$langs->trans("BackupFileSuccessfullyCreated").'.
'; + $resultstring.=$langs->trans("YouCanDownloadBackupFile"); + $resultstring.='
'; + + $_SESSION["commandbackupresult"]=$resultstring; + } + else + { + setEventMessage($langs->trans("YouMustRunCommandFromCommandLineAfterLoginToUser",$dolibarr_main_db_user,$dolibarr_main_db_user)); + } + } +//} + +/* $filearray=dol_dir_list($conf->admin->dir_output.'/backup','files',0,'','',$sortfield,(strtolower($sortorder)=='asc'?SORT_ASC:SORT_DESC),1); $result=$formfile->list_of_documents($filearray,null,'systemtools','',1,'backup/',1,0,($langs->trans("NoBackupFileAvailable").'
'.$langs->trans("ToBuildBackupFileClickHere",DOL_URL_ROOT.'/admin/tools/dolibarr_export.php')),0,$langs->trans("PreviousDumpFiles")); print '
'; +*/ + +// Redirect t backup page +header("Location: dolibarr_export.php"); $time_end = time(); -llxFooter(); - $db->close(); diff --git a/htdocs/admin/tools/index.php b/htdocs/admin/tools/index.php index ec72b30864f..4ea716c322b 100644 --- a/htdocs/admin/tools/index.php +++ b/htdocs/admin/tools/index.php @@ -42,7 +42,7 @@ if (GETPOST('leftmenu') == 'modulesadmintools') $title=$langs->trans("ModulesSys llxHeader(array(),$title); -print_fiche_titre($title,'','setup'); +print_fiche_titre($title,'','title_setup'); print $langs->trans("SystemToolsAreaDesc").'
'; print "
"; @@ -53,7 +53,9 @@ print '

'; // Show logo -print '
'; +//print '
'; +print '
'; // For a reason I don't know, the div class="center does not works, we must keep the
+ llxFooter(); $db->close(); diff --git a/htdocs/admin/tools/listevents.php b/htdocs/admin/tools/listevents.php index 309bf1d935e..0ff5e5f1373 100644 --- a/htdocs/admin/tools/listevents.php +++ b/htdocs/admin/tools/listevents.php @@ -1,6 +1,7 @@ - * Copyright (C) 2005-2012 Regis Houssin +/* Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Bahfir Abbes * * 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 @@ -24,6 +25,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/events.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; if (! $user->admin) accessforbidden(); @@ -59,6 +61,32 @@ $search_user = GETPOST("search_user"); $search_desc = GETPOST("search_desc"); $search_ua = GETPOST("search_ua"); +$date_start=dol_mktime(0,0,0,$_REQUEST["date_startmonth"],$_REQUEST["date_startday"],$_REQUEST["date_startyear"]); +$date_end=dol_mktime(23,59,59,$_REQUEST["date_endmonth"],$_REQUEST["date_endday"],$_REQUEST["date_endyear"]); + +// checks:if date_start>date_end then date_end=date_start + 24 hours +if ($date_start > $date_end) $date_end=$date_start+86400; + +$now = dol_now(); +$nowarray = dol_getdate($now); + +$params = "&search_code=$search_code&search_ip=$search_ip&search_user=$search_user&search_desc=$search_desc&search_ua=$search_ua"; +$params.= "&date_startmonth=".$_REQUEST["date_startmonth"]; +$params.= "&date_startday=".$_REQUEST["date_startday"]; +$params.= "&date_startyear=".$_REQUEST["date_startyear"]; +$params.= "&date_endmonth=".$_REQUEST["date_endmonth"]; +$params.= "&date_endday=".$_REQUEST["date_endday"]; +$params.= "&date_endyear=".$_REQUEST["date_endyear"]; + +if (empty($date_start)) // We define date_start and date_end +{ + $date_start=dol_get_first_day($nowarray['year'],$nowarray['mon'],false); +} +if (empty($date_end)) +{ + $date_end=dol_mktime(23,59,59,$nowarray['mon'],$nowarray['mday'],$nowarray['year']); +} + /* * Actions @@ -123,7 +151,8 @@ $sql.= " e.fk_user, e.description,"; $sql.= " u.login"; $sql.= " FROM ".MAIN_DB_PREFIX."events as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON u.rowid = e.fk_user"; -$sql.= " WHERE e.entity = ".$conf->entity; +$sql.= " WHERE e.entity IN (".getEntity('actioncomm', 1).")"; +$sql.= " AND e.dateevent >= '".$db->idate($date_start)."' AND e.dateevent <= '".$db->idate($date_end)."'"; if ($search_code) { $usefilter++; $sql.=" AND e.type LIKE '%".$db->escape($search_code)."%'"; } if ($search_ip) { $usefilter++; $sql.=" AND e.ip LIKE '%".$db->escape($search_ip)."%'"; } if ($search_user) { $usefilter++; $sql.=" AND u.login LIKE '%".$db->escape($search_user)."%'"; } @@ -145,7 +174,8 @@ if ($result) if ($search_desc) $param.='&search_desc='.$search_desc; if ($search_ua) $param.='&search_ua='.$search_ua; - print_barre_liste($langs->trans("ListOfSecurityEvents"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, 0, 'setup'); + $langs->load('withdrawals'); + print_barre_liste($langs->trans("ListOfSecurityEvents").' : '.$num.' '.strtolower($langs->trans("Lines")), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, 0, 'setup'); if ($action == 'purge') { @@ -160,7 +190,7 @@ if ($result) print_liste_field_titre($langs->trans("IP"),$_SERVER["PHP_SELF"],"e.ip","","",'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("User"),$_SERVER["PHP_SELF"],"u.login","","",'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Description"),$_SERVER["PHP_SELF"],"e.description","","",'align="left"',$sortfield,$sortorder); - print_liste_field_titre('','',''); + print_liste_field_titre(''); print "\n"; @@ -168,7 +198,7 @@ if ($result) print '
'; print ''; - print ' '; + print ''.$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).$form->select_date($date_end,'date_end',0,0,0,'',1,0,1).''; print ''; print ''; diff --git a/htdocs/admin/tools/listsessions.php b/htdocs/admin/tools/listsessions.php index cab2881ed16..c313c91a7bd 100644 --- a/htdocs/admin/tools/listsessions.php +++ b/htdocs/admin/tools/listsessions.php @@ -134,7 +134,7 @@ if ($savehandler == 'files') print_liste_field_titre($langs->trans("DateModification"),$_SERVER["PHP_SELF"],"datem","","",'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Age"),$_SERVER["PHP_SELF"],"age","","",'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Raw"),$_SERVER["PHP_SELF"],"raw","","",'align="left"',$sortfield,$sortorder); - print_liste_field_titre('','',''); + print_liste_field_titre(''); print "\n"; $var=True; @@ -174,7 +174,7 @@ if ($savehandler == 'files') if (count($listofsessions) == 0) { - print ''.$langs->trans("NoSessionFound",$savepath,$openbasedir).''; + print ''.$langs->trans("NoSessionFound",$savepath,$openbasedir).''; } print ""; diff --git a/htdocs/admin/tools/purge.php b/htdocs/admin/tools/purge.php index 4f3f14302fd..9bd700a7c9e 100644 --- a/htdocs/admin/tools/purge.php +++ b/htdocs/admin/tools/purge.php @@ -89,7 +89,7 @@ if ($action=='purge' && ! preg_match('/^confirm/i',$choice) && ($choice != 'allf // If (file that is not logfile) or (if logfile with option logfile) if ($filesarray[$key]['fullname'] != $filelog || $choice=='logfile') { - $count+=dol_delete_file($filesarray[$key]['fullname']); + $count+=(dol_delete_file($filesarray[$key]['fullname'])?1:0); } } } @@ -117,7 +117,7 @@ llxHeader(); $form=new Form($db); -print_fiche_titre($langs->trans("Purge"),'','setup'); +print_fiche_titre($langs->trans("Purge"),'','title_setup'); print $langs->trans("PurgeAreaDesc",$dolibarr_main_data_root).'
'; print '
'; @@ -134,25 +134,25 @@ print ''; if (! empty($conf->syslog->enabled)) { print ' '.$langs->trans("PurgeDeleteLogFile",$filelog).'

'; } print ' '.$langs->trans("PurgeDeleteTemporaryFiles").'

'; print ' '.$langs->trans("PurgeDeleteAllFilesInDocumentsDir",$dolibarr_main_data_root).'
'; print ''; -if ($choice != 'confirm_allfiles') -{ +//if ($choice != 'confirm_allfiles') +//{ print '
'; - print '
'; -} + print '
'; +//} print '
'; diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 40683bdc747..b391ffa0d2a 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -24,10 +24,13 @@ require '../../main.inc.php'; include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; +include_once DOL_DOCUMENT_ROOT . '/core/lib/geturl.lib.php'; $langs->load("admin"); $langs->load("other"); +$action=GETPOST('action','alpha'); + if (! $user->admin) accessforbidden(); if (GETPOST('msg','alpha')) { @@ -42,14 +45,18 @@ $dolibarrroot=preg_replace('/([\\/]+)$/i','',DOL_DOCUMENT_ROOT); $dolibarrroot=preg_replace('/([^\\/]+)$/i','',$dolibarrroot); $dolibarrdataroot=preg_replace('/([\\/]+)$/i','',DOL_DATA_ROOT); +$dirins=DOL_DOCUMENT_ROOT.'/custom'; + + /* * Actions */ -if (GETPOST('action','alpha')=='install') +if ($action=='install') { $error=0; + // $original_file should match format module_modulename-x.y[.z].zip $original_file=basename($_FILES["fileinstall"]["name"]); $newfile=$conf->admin->dir_temp.'/'.$original_file.'/'.$original_file; @@ -71,43 +78,133 @@ if (GETPOST('action','alpha')=='install') if (! $error) { - @dol_delete_dir_recursive($conf->admin->dir_temp.'/'.$original_file); - dol_mkdir($conf->admin->dir_temp.'/'.$original_file); + if ($original_file) + { + @dol_delete_dir_recursive($conf->admin->dir_temp.'/'.$original_file); + dol_mkdir($conf->admin->dir_temp.'/'.$original_file); + } + + $tmpdir=preg_replace('/\.zip$/','',$original_file).'.dir'; + if ($tmpdir) + { + @dol_delete_dir_recursive($conf->admin->dir_temp.'/'.$tmpdir); + dol_mkdir($conf->admin->dir_temp.'/'.$tmpdir); + } $result=dol_move_uploaded_file($_FILES['fileinstall']['tmp_name'],$newfile,1,0,$_FILES['fileinstall']['error']); if ($result > 0) { - $documentrootalt=DOL_DOCUMENT_ROOT.'/extensions'; - $result=dol_uncompress($newfile,$documentrootalt); + $result=dol_uncompress($newfile,$conf->admin->dir_temp.'/'.$tmpdir); + if (! empty($result['error'])) { $langs->load("errors"); setEventMessage($langs->trans($result['error'],$original_file), 'errors'); + $error++; } else { - setEventMessage($langs->trans("SetupIsReadyForUse")); + // Now we move the dir of the module + $modulename=preg_replace('/module_/', '', $original_file); + $modulename=preg_replace('/\-[\d]+\.[\d]+.*$/', '', $modulename); + // Search dir $modulename + $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/'.$modulename; + //var_dump($modulenamedir); + if (! dol_is_dir($modulenamedir)) + { + $modulenamedir=$conf->admin->dir_temp.'/'.$tmpdir.'/htdocs/'.$modulename; + //var_dump($modulenamedir); + if (! dol_is_dir($modulenamedir)) + { + setEventMessage($langs->trans("ErrorModuleFileSeemsToHaveAWrongFormat"), 'errors'); + $error++; + } + } + + if (! $error) + { + //var_dump($dirins); + @dol_delete_dir_recursive($dirins.'/'.$modulename); + $result=dolCopyDir($modulenamedir, $dirins.'/'.$modulename, '0444', 1); + if ($result <= 0) + { + setEventMessage($langs->trans("ErrorFailedToCopy"), 'errors'); + $error++; + } + } } } + else + { + $error++; + } + } + + if (! $error) + { + setEventMessage($langs->trans("SetupIsReadyForUse")); } } + /* * View */ -$dirins=DOL_DOCUMENT_ROOT.'/extensions'; -$dirins_ok=(is_dir($dirins)); + + +// Set dir where external modules are installed +if (! dol_is_dir($dirins)) +{ + dol_mkdir($dirins); +} +$dirins_ok=(dol_is_dir($dirins)); $wikihelp='EN:Installation_-_Upgrade|FR:Installation_-_Mise_à_jour|ES:Instalación_-_Actualización'; llxHeader('',$langs->trans("Upgrade"),$wikihelp); -print_fiche_titre($langs->trans("Upgrade"),'','setup'); +print_fiche_titre($langs->trans("Upgrade"),'','title_setup'); print $langs->trans("CurrentVersion").' : '.DOL_VERSION.'
'; -print $langs->trans("LastStableVersion").' : '.$langs->trans("FeatureNotYetAvailable").'
'; + +$result = getURLContent('http://sourceforge.net/projects/dolibarr/rss'); +//var_dump($result['content']); +$sfurl = simplexml_load_string($result['content']); +if ($sfurl) +{ + $title=$sfurl->channel[0]->item[0]->title; + + function word_limiter($text, $limit = 30, $chars = '0123456789.') + { + if (strlen( $text ) > $limit) + { + $words = str_word_count($text, 2, $chars); + $words = array_reverse($words, TRUE); + foreach($words as $length => $word) { + if ($length + strlen( $word ) >= $limit) + { + array_shift($words); + } else { + break; + } + } + $words = array_reverse($words); + $text = implode(" ", $words) . ''; + } + return $text; + } + + $str = $title; + print $langs->trans("LastStableVersion").' : '. word_limiter( $str ).'
'; +} +else +{ + print $langs->trans("LastStableVersion").' : ' .$langs->trans("UpdateServerOffline").'
'; +} print '
'; + +// Upgrade print $langs->trans("Upgrade").'
'; print '
'; print $langs->trans("ThisIsProcessToFollow").'
'; @@ -127,20 +224,76 @@ print $langs->trans("RestoreLock",$dolibarrdataroot.'/install.lock').'
'; print '
'; print '
'; + +// Install external module + +$allowonlineinstall=true; +$allowfromweb=1; +if (dol_is_file($dolibarrdataroot.'/installmodules.lock')) $allowonlineinstall=false; + $fullurl=''.$urldolibarrmodules.''; +$message=''; +if (! empty($allowonlineinstall)) +{ + if (! in_array('/custom',explode(',',$dolibarr_main_url_root_alt))) + { + $message=info_admin($langs->trans("ConfFileMuseContainCustom", DOL_DOCUMENT_ROOT.'/custom', DOL_DOCUMENT_ROOT)); + $allowfromweb=-1; + } + else + { + if ($dirins_ok) + { + if (! is_writable(dol_osencode($dirins))) + { + $langs->load("errors"); + $message=info_admin($langs->trans("ErrorFailedToWriteInDir",$dirins)); + $allowfromweb=0; + } + } + else + { + + $message=info_admin($langs->trans("NotExistsDirect",$dirins).$langs->trans("InfDirAlt").$langs->trans("InfDirExample")); + $allowfromweb=0; + } + } +} +else +{ + $message=info_admin($langs->trans("InstallModuleFromWebHasBeenDisabledByFile",$dolibarrdataroot.'/installmodules.lock')); + $allowfromweb=0; +} + + + + + print $langs->trans("AddExtensionThemeModuleOrOther").'
'; print '
'; -print $langs->trans("ThisIsProcessToFollow").'
'; -print ''.$langs->trans("StepNb",1).': '; -print $langs->trans("FindPackageFromWebSite",$fullurl).'
'; -print ''.$langs->trans("StepNb",2).': '; -print $langs->trans("DownloadPackageFromWebSite",$fullurl).'
'; -print ''.$langs->trans("StepNb",3).': '; -print $langs->trans("UnpackPackageInDolibarrRoot",$dolibarrroot).'
'; -if (! empty($conf->global->MAIN_ONLINE_INSTALL_MODULE)) + +if ($allowfromweb < 1) { - if ($dirins_ok) + print $langs->trans("SomethingMakeInstallFromWebNotPossible"); + print $message; + //print $langs->trans("SomethingMakeInstallFromWebNotPossible2"); + print '
'; +} + + +if ($allowfromweb >= 0) +{ + if ($allowfromweb == 1) print $langs->trans("ThisIsProcessToFollow").'
'; + else print $langs->trans("ThisIsAlternativeProcessToFollow").'
'; + print ''.$langs->trans("StepNb",1).': '; + print $langs->trans("FindPackageFromWebSite",$fullurl).'
'; + print ''.$langs->trans("StepNb",2).': '; + print $langs->trans("DownloadPackageFromWebSite",$fullurl).'
'; + print ''.$langs->trans("StepNb",3).': '; + + if ($allowfromweb == 1) { + print $langs->trans("UnpackPackageInDolibarrRoot",$dirins).'
'; print '
'; print ''; print $langs->trans("YouCanSubmitFile").' '; @@ -149,16 +302,12 @@ if (! empty($conf->global->MAIN_ONLINE_INSTALL_MODULE)) } else { - $message=info_admin($langs->trans("NotExistsDirect",$dirins).$langs->trans("InfDirAlt").$langs->trans("InfDirExample")); - setEventMessage($message, 'warnings'); + print $langs->trans("UnpackPackageInDolibarrRoot",$dirins).'
'; + print ''.$langs->trans("StepNb",4).': '; + print $langs->trans("SetupIsReadyForUse").'
'; } } -else -{ - print ''.$langs->trans("StepNb",4).': '; - print $langs->trans("SetupIsReadyForUse").'
'; -} -print '
'; + if (! empty($result['return'])) { diff --git a/htdocs/admin/translation.php b/htdocs/admin/translation.php index 95e3f555b6d..cdea31fd7c4 100644 --- a/htdocs/admin/translation.php +++ b/htdocs/admin/translation.php @@ -52,7 +52,7 @@ $action=GETPOST('action'); $wikihelp='EN:Setup|FR:Paramétrage|ES:Configuración'; llxHeader('',$langs->trans("Setup"),$wikihelp); -print_fiche_titre($langs->trans("TranslationSetup"),'','setup'); +print_fiche_titre($langs->trans("TranslationSetup"),'','title_setup'); print $langs->trans("TranslationDesc")."
\n"; print "
\n"; diff --git a/htdocs/admin/triggers.php b/htdocs/admin/triggers.php index 85139b56ba9..fb7085a6ba8 100644 --- a/htdocs/admin/triggers.php +++ b/htdocs/admin/triggers.php @@ -42,7 +42,7 @@ llxHeader("",""); $form = new Form($db); -print_fiche_titre($langs->trans("TriggersAvailable"),'','setup'); +print_fiche_titre($langs->trans("TriggersAvailable"),'','title_setup'); print $langs->trans("TriggersDesc")."
"; print "
\n"; diff --git a/htdocs/admin/user.php b/htdocs/admin/user.php index b2a0d9f8363..dc21790ec32 100644 --- a/htdocs/admin/user.php +++ b/htdocs/admin/user.php @@ -1,10 +1,11 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2009 Laurent Destailleur - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2011 Regis Houssin +/* Copyright (C) 2003 Rodolphe Quiedeville + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2015 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 @@ -94,7 +95,7 @@ $help_url='EN:Module_Users|FR:Module_Utilisateurs|ES:Módulo_Usuarios'; llxHeader('',$langs->trans("UsersSetup"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("UsersSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("UsersSetup"),$linkback,'title_setup'); $head=user_admin_prepare_head(); @@ -124,11 +125,11 @@ if ($conf->use_javascript_ajax) } else { - if($conf->global->USER_MAIL_REQUIRED == 0) + if (empty($conf->global->USER_MAIL_REQUIRED)) { print ''.img_picto($langs->trans("Disabled"),'off').''; } - else if($conf->global->USER_MAIL_REQUIRED == 1) + else { print ''.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/admin/workflow.php b/htdocs/admin/workflow.php index bbf2ce751ba..255fc0f6d9c 100644 --- a/htdocs/admin/workflow.php +++ b/htdocs/admin/workflow.php @@ -61,7 +61,7 @@ if (preg_match('/del(.*)/',$action,$reg)) llxHeader('',$langs->trans("WorkflowSetup"),''); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("WorkflowSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("WorkflowSetup"),$linkback,'title_setup'); print $langs->trans("WorkflowDesc").'
'; print "
"; diff --git a/htdocs/api/README.md b/htdocs/api/README.md new file mode 100644 index 00000000000..30f90a7e13e --- /dev/null +++ b/htdocs/api/README.md @@ -0,0 +1,50 @@ +API howto +========= + +Explore the api +--------------- + +You can explore API method by using web interface : https://**yourdolibarr.tld**/htdocs/public/api/explorer/index.html (replace **yourdolibarr.tld** by real hostname of your Dolibarr installation) + +Access to the API +--------------- + +> **Warning : access to the API should (or better : must!) be secured with SSL connection** + +To access to the API you need a token to identify. When you access the API for the first time, you need to log in with user name and password to get a token. **Only** this token will allow to access API with. + +To log in with the API, use this uri : https://**yourdolibarr.tld**/htdocs/public/api/login?login=**username**&password=**password** (replace bold strings with real values) + +The token will be saved by Dolibarr for next user accesses to the API and it **must** be put into request uri as **api_key** parameter. + +Develop the API +-------------- + +The API uses Lucarast Restler framework. Please check documentation https://www.luracast.com/products/restler and examples http://help.luracast.com/restler/examples/ +Github contains also usefull informations : https://github.com/Luracast/Restler + +To implement it into Dolibarr, we need to create a specific class for object we want to use. A skeleton file is available into /dev directory : *skeleton_api_class.class.php* +The API class file must be put into object class directory, with specific file name. By example, API class file for '*myobject*' must be put as : /htdocs/*myobject*/class/api_*myobject*.class.php. Class must be named **MyobjectApi**. + +If a module provide several object, use a different name for '*myobject*' and put the file into the same directory. + +**Define url for methods** + +It is possible to specify url for API methods by simply use the PHPDoc tag **@url**. See examples : + + /** + * List contacts + * + * Get a list of contacts + * + * @url GET /contact/list + * @url GET /contact/list/{socid} + * @url GET /thirdparty/{socid}/contacts + * [...] + +**Other Annotations** +Other annotations are used, you are encouraged to read them : https://github.com/Luracast/Restler/blob/master/ANNOTATIONS.md + +PHPDoc tags can also be used to specify variables informations for API. Again, rtfm : https://github.com/Luracast/Restler/blob/master/PARAM.md + + diff --git a/htdocs/api/admin/api.php b/htdocs/api/admin/api.php new file mode 100644 index 00000000000..740d3eb7e8d --- /dev/null +++ b/htdocs/api/admin/api.php @@ -0,0 +1,117 @@ + + * Copyright (C) 2005-2010 Laurent Destailleur + * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2015 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 . + */ + +/** + * \file htdocs/api/admin/api.php + * \ingroup api + * \brief Page to setup api module + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; + +$langs->load("admin"); + +if (! $user->admin) + accessforbidden(); + +$action=GETPOST("action"); + +//Activate ProfId +if ($action == 'setproductionmode') +{ + $status = GETPOST('status','alpha'); + + if (dolibarr_set_const($db, 'API_PRODUCTION_MODE', $status, 'chaine', 0, '', $conf->entity) > 0) + { + header("Location: ".$_SERVER["PHP_SELF"]); + exit; + } + else + { + dol_print_error($db); + } +} + + +/* + * View + */ + +llxHeader(); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("ApiSetup"),$linkback,'title_setup'); + +print $langs->trans("ApiDesc")."
\n"; +print "
\n"; + +//print '
'; +print ''; +print ''; + +print ''; +print ""; +print ""; +print ""; +print ""; + +print ''; +print ''; +$production_mode=(empty($conf->global->API_PRODUCTION_MODE)?false:true); +if ($production_mode) +{ + print ''; +} +else +{ + print ''; +} +print ''; +print ''; + +print '
".$langs->trans("Parameter")."".$langs->trans("Value")." 
'.$langs->trans("ApiProductionMode").''; + print img_picto($langs->trans("Activated"),'switch_on'); + print ''; + print img_picto($langs->trans("Disabled"),'switch_off'); + print ' 
'; +print '

'; + +// API endpoint +print ''.$langs->trans("ApiEndPointIs").':
'; +$url=DOL_MAIN_URL_ROOT.'/public/api/'; +print img_picto('','object_globe.png').' '.$url."
\n"; +$url=DOL_MAIN_URL_ROOT.'/public/api/.json'; +print img_picto('','object_globe.png').' '.$url."
\n"; + +// Explorer +print ''.$langs->trans("ApiExporerIs").':
'; +$url=DOL_MAIN_URL_ROOT.'/public/api/explorer/index.html'; +print img_picto('','object_globe.png').' '.$url."
\n"; + +print '
'; +print '
'; +print $langs->trans("OnlyActiveElementsAreExposed", DOL_URL_ROOT.'/admin/modules.php'); + + + +llxFooter(); +$db->close(); diff --git a/htdocs/api/class/api.class.php b/htdocs/api/class/api.class.php new file mode 100644 index 00000000000..33bbe56e0a1 --- /dev/null +++ b/htdocs/api/class/api.class.php @@ -0,0 +1,219 @@ + + * + * 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\Restler; +use Luracast\Restler\RestException; + +require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; + +/** + * Class for API + * + */ +class DolibarrApi +{ + + /** + * @var DoliDb $db Database object + */ + static protected $db; + + /** + * @var Restler $r Restler object + */ + var $r; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) { + global $conf; + $this->db = $db; + $production_mode = ( empty($conf->global->API_PRODUCTION_MODE) ? false : true ); + $this->r = new Restler($production_mode); + } + + /** + * Executed method when API is called without parameter + * + * Display a short message an return a http code 200 + * + * @return array + */ + function index() + { + return array( + 'success' => array( + 'code' => 200, + 'message' => __class__.' is up and running!' + ) + ); + } + + + /** + * Clean sensible object datas + * + * @param object $object Object to clean + * @return array Array of cleaned object properties + * + * @todo use an array for properties to clean + * + */ + function _cleanObjectDatas($object) { + + // Remove $db object property for object + unset($object->db); + + // If object has lines, remove $db property + if(isset($object->lines) && count($object->lines) > 0) { + $nboflines = count($object->lines); + for ($i=0; $i < $nbofline; $i++) + { + $this->_cleanObjectDatas($object->lines[$i]); + } + } + + // If object has linked objects, remove $db property + if(isset($object->linkedObjects) && count($object->linkedObjects) > 0) { + foreach($object->linkedObjects as $type_object => $linked_object) { + foreach($linked_object as $object2clean) { + $this->_cleanObjectDatas($object2clean); + } + } + } + return $object; + } + + /** + * Check user access to a resource + * + * Check access by user to a given resource + * + * @param string $resource element to check + * @param int $resource_id Object ID if we want to check a particular record (optional) is linked to a owned thirdparty (optional). + * @param type $dbtablename 'TableName&SharedElement' with Tablename is table where object is stored. SharedElement is an optional key to define where to check entity. Not used if objectid is null (optional) + * @param string $feature2 Feature to check, second level of permission (optional). Can be or check with 'level1|level2'. + * @param string $dbt_keyfield Field name for socid foreign key if not fk_soc. Not used if objectid is null (optional) + * @param string $dbt_select Field name for select if not rowid. Not used if objectid is null (optional) + * @throws RestException + */ + static function _checkAccessToResource($resource, $resource_id=0, $dbtablename='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid') { + + // Features/modules to check + $featuresarray = array($resource); + if (preg_match('/&/', $resource)) { + $featuresarray = explode("&", $resource); + } + else if (preg_match('/\|/', $resource)) { + $featuresarray = explode("|", $resource); + } + + // More subfeatures to check + if (! empty($feature2)) { + $feature2 = explode("|", $feature2); + } + + return checkUserAccessToObject(DolibarrApiAccess::$user, $featuresarray,$resource_id,$dbtablename,$feature2,$dbt_keyfield,$dbt_select); + } +} + +/** + * API init + * + */ +class DolibarrApiInit extends DolibarrApi +{ + + function __construct() { + global $db; + $this->db = $db; + } + + /** + * Login + * + * Log user with username and password + * + * @param string $login Username + * @param string $password User password + * @param int $entity User entity + * @return array Response status and user token + * + * @throws RestException + */ + public function login($login, $password, $entity = 0) { + + // 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); + + include_once DOL_DOCUMENT_ROOT . '/core/lib/security2.lib.php'; + $login = checkLoginPassEntity($login, $password, $entity, $authmode); + if (empty($login)) + { + throw new RestException(403, 'Access denied'); + } + + // Generate token for user + $token = dol_hash($login.uniqid().$conf->global->MAIN_API_KEY,1); + + // We store API token into database + $sql = "UPDATE ".MAIN_DB_PREFIX."user"; + $sql.= " SET api_key = '".$this->db->escape($token)."'"; + $sql.= " WHERE login = '".$this->db->escape($login)."'"; + + dol_syslog(get_class($this)."::login", LOG_DEBUG); // No log + $result = $this->db->query($sql); + if (!$result) + { + throw new RestException(500, 'Error when updating user :'.$this->db->error_msg); + } + + //return token + return array( + 'success' => array( + 'code' => 200, + 'token' => $token, + 'message' => 'Welcome ' . $login + ) + ); + } + + /** + * Get status (Dolibarr version) + * + * @access protected + * @class DolibarrApiAccess {@requires admin} + */ + function status() { + require_once DOL_DOCUMENT_ROOT . '/core/lib/functions.lib.php'; + return array( + 'success' => array( + 'code' => 200, + 'dolibarr_version' => DOL_VERSION + ) + ); + } +} diff --git a/htdocs/api/class/api_access.class.php b/htdocs/api/class/api_access.class.php new file mode 100644 index 00000000000..027c9dcf5f4 --- /dev/null +++ b/htdocs/api/class/api_access.class.php @@ -0,0 +1,143 @@ + + * + * 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\iAuthenticate; +use \Luracast\Restler\Resources; +use \Luracast\Restler\Defaults; +use \Luracast\Restler\RestException; + + +/** + * Dolibarr API access class + * + */ +class DolibarrApiAccess implements iAuthenticate +{ + const REALM = 'Restricted Dolibarr API'; + + /** + * @var array $requires role required by API method user / external / admin + */ + public static $requires = array('user','external','admin'); + + /** + * @var string $role user role + */ + public static $role = 'user'; + + /** + * @var User $user Loggued user + */ + public static $user = ''; + + // @codingStandardsIgnoreStart + + /** + * Check access + * + * @return bool + * @throws RestException + */ + public function __isAllowed() + { + global $db; + + $stored_key = ''; + + $userClass = Defaults::$userIdentifierClass; + + if (isset($_GET['api_key'])) { + $sql = "SELECT u.login, u.datec, u.api_key, "; + $sql.= " u.tms as date_modification, u.entity"; + $sql.= " FROM ".MAIN_DB_PREFIX."user as u"; + $sql.= " WHERE u.api_key = '".$db->escape($_GET['api_key'])."'"; + + $result = $db->query($sql); + if ($result) + { + if ($db->num_rows($result)) + { + $obj = $db->fetch_object($result); + $login = $obj->login; + $stored_key = $obj->api_key; + } + } + else { + throw new RestException(503, 'Error when fetching user api_key :'.$db->error_msg); + } + + if ( $stored_key != $_GET['api_key']) { + $userClass::setCacheIdentifier($_GET['api_key']); + return false; + } + + $fuser = new User($db); + if(! $fuser->fetch('',$login)) { + throw new RestException(503, 'Error when fetching user :'.$fuser->error); + } + $fuser->getrights(); + static::$user = $fuser; + + if($fuser->societe_id) + static::$role = 'external'; + + if($fuser->admin) + static::$role = 'admin'; + } + else + { + return false; + } + + $userClass::setCacheIdentifier(static::$role); + Resources::$accessControlFunction = 'DolibarrApiAccess::verifyAccess'; + return in_array(static::$role, (array) static::$requires) || static::$role == 'admin'; + } + + /** + * @return string string to be used with WWW-Authenticate header + * @example Basic + * @example Digest + * @example OAuth + */ + public function __getWWWAuthenticateString() + { + return ''; + } + // @codingStandardsIgnoreEnd + + /** + * Verify access + * + * @param array $m Properties of method + * + * @access private + * @return bool + */ + public static function verifyAccess(array $m) + { + $requires = isset($m['class']['DolibarrApiAccess']['properties']['requires']) + ? $m['class']['DolibarrApiAccess']['properties']['requires'] + : false; + + + return $requires + ? static::$role == 'admin' || in_array(static::$role, (array) $requires) + : true; + + } +} diff --git a/htdocs/api/index.php b/htdocs/api/index.php new file mode 100644 index 00000000000..3ac00faa65f --- /dev/null +++ b/htdocs/api/index.php @@ -0,0 +1,8 @@ + s,1,Set(CALLERID(name)=${CURL(http://IP-DOLIBARR:80/asterisk/cidlookup.php?phone=${CALLERID(num)})}) - * - * Change IP-DOLIBARR to the IP address of your dolibarr - * server + * exten => s,1,Set(CALLERID(name)=${CURL(http://IP-DOLIBARR:80/asterisk/cidlookup.php?phone=${CALLERID(num)})}) * + * Change IP-DOLIBARR to the IP address of your dolibarr server */ -$phone = $_GET['phone']; include '../master.inc.php'; +$phone = GETPOST('phone'); +$notfound = $langs->trans("Unknown"); + +// Security check +if (empty($conf->clicktodial->enabled)) +{ + print "Error: Module Click to dial is not enabled.\n"; + exit; +} // Check parameters if (empty($phone)) @@ -57,13 +63,15 @@ if ($resql) if ($obj) { $found = $obj->name; + } else { + $found = $notfound; } $db->free($resql); } else { dol_print_error($db,'Error'); + $found = 'Error'; } echo $found; - diff --git a/htdocs/barcode/codeinit.php b/htdocs/barcode/codeinit.php index 071d1f32bda..bd8f2194fe4 100644 --- a/htdocs/barcode/codeinit.php +++ b/htdocs/barcode/codeinit.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2014-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -211,7 +211,7 @@ if ($conf->societe->enabled) { $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'',''); + print_fiche_titre($langs->trans("BarcodeInitForThirdparties"),'','object_company'); print '
'."\n"; $sql="SELECT count(rowid) as nb FROM ".MAIN_DB_PREFIX."societe where barcode IS NULL or barcode = ''"; $resql=$db->query($sql); @@ -233,10 +233,10 @@ if ($conf->societe->enabled) print $langs->trans("CurrentlyNWithoutBarCode", $nbno, $nbtotal, $langs->transnoentitiesnoconv("ThirdParties")).'
'."\n"; - print '
'; - print '


'; + print '



'; } @@ -252,7 +252,7 @@ if ($conf->product->enabled || $conf->product->service) $nbno=$nbtotal=0; - print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'',''); + print_fiche_titre($langs->trans("BarcodeInitForProductsOrServices"),'','object_product'); print '
'."\n"; $sql ="SELECT count(rowid) as nb, fk_product_type, datec"; @@ -307,12 +307,12 @@ if ($conf->product->enabled || $conf->product->service) print '
'; //print ' '.$langs->trans("ResetBarcodeForAllRecords").'
'; - $moretags1=(($disabled||$disabled1)?' disabled="disabled" title="'.dol_escape_htmltag($titleno).'"':''); + $moretags1=(($disabled||$disabled1)?' disabled title="'.dol_escape_htmltag($titleno).'"':''); print ''; - $moretags2=(($nbno == $nbtotal)?' disabled="disabled"':''); + $moretags2=(($nbno == $nbtotal)?' disabled':''); print '   '; print ''; - print '


'; + print '



'; } diff --git a/htdocs/barcode/printsheet.php b/htdocs/barcode/printsheet.php index fd89390f3db..36d9117eefe 100644 --- a/htdocs/barcode/printsheet.php +++ b/htdocs/barcode/printsheet.php @@ -1,7 +1,7 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2006-2013 Laurent Destailleur +/* Copyright (C) 2003 Rodolphe Quiedeville + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2006-2013 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 @@ -10,7 +10,7 @@ * * 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 + * 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 @@ -18,9 +18,9 @@ */ /** - * \file htdocs/barcode/printsheet.php - * \ingroup member - * \brief Page to print sheets with barcodes using the document templates into core/modules/printsheets + * \file htdocs/barcode/printsheet.php + * \ingroup member + * \brief Page to print sheets with barcodes using the document templates into core/modules/printsheets */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php'; @@ -96,13 +96,13 @@ if ($action == 'builddoc') if (empty($forbarcode)) // barcode value { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeValue")),'errors'); - $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeValue")),'errors'); + $error++; } if (empty($fk_barcode_type)) // barcode type = barcode encoding { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType")),'errors'); - $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("BarcodeType")),'errors'); + $error++; } if (! $error) @@ -123,46 +123,54 @@ if ($action == 'builddoc') $code=$forbarcode; $generator=$stdobject->barcode_type_coder; // coder (loaded by fetch_barcode). Engine. $encoding=strtoupper($stdobject->barcode_type_code); // code (loaded by fetch_barcode). Example 'ean', 'isbn', ... - $barcodeimage=$conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png'; $diroutput=$conf->barcode->dir_temp; dol_mkdir($diroutput); // Generate barcode - $dirbarcode=array_merge(array("/core/modules/barcode/doc/"),$conf->modules_parts['barcode']); + $dirbarcode=array_merge(array("/core/modules/barcode/doc/"),$conf->modules_parts['barcode']); - foreach($dirbarcode as $reldir) - { - $dir=dol_buildpath($reldir,0); - $newdir=dol_osencode($dir); - - // Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php) - if (! is_dir($newdir)) continue; - - $result=@include_once $newdir.$generator.'.modules.php'; - if ($result) break; - } - - // Load barcode class - $classname = "mod".ucfirst($generator); - $module = new $classname($db); - if ($module->encodingIsSupported($encoding)) - { - dol_delete_file($barcodeimage); - // File is created with full name $barcodeimage = $conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png'; - $result=$module->writeBarCode($code,$encoding,'Y',4); - - if ($result <= 0 || ! dol_is_file($barcodeimage)) - { - $error++; - setEventMessage('Failed to generate image file of barcode for code='.$code.' encoding='.$encoding.' file='.basename($barcodeimage), 'errors'); - } - } - else + foreach($dirbarcode as $reldir) { - $error++; - setEventMessage("Error, encoding ".$encoding." is not supported by encoder ".$generator.'. You must choose another barcode type or install a barcode generation engine that support '.$encoding, 'errors'); - } + $dir=dol_buildpath($reldir,0); + $newdir=dol_osencode($dir); + + // Check if directory exists (we do not use dol_is_dir to avoid loading files.lib.php) + if (! is_dir($newdir)) continue; + + $result=@include_once $newdir.$generator.'.modules.php'; + if ($result) break; + } + + // Load barcode class for generating barcode image + $classname = "mod".ucfirst($generator); + $module = new $classname($db); + if ($generator != 'tcpdfbarcode') { + $template = 'standardlabel'; + $is2d = false; + if ($module->encodingIsSupported($encoding)) + { + $barcodeimage=$conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png'; + dol_delete_file($barcodeimage); + // File is created with full name $barcodeimage = $conf->barcode->dir_temp.'/barcode_'.$code.'_'.$encoding.'.png'; + $result=$module->writeBarCode($code,$encoding,'Y',4); + + if ($result <= 0 || ! dol_is_file($barcodeimage)) + { + $error++; + setEventMessage('Failed to generate image file of barcode for code='.$code.' encoding='.$encoding.' file='.basename($barcodeimage), 'errors'); + } + } + else + { + $error++; + setEventMessage("Error, encoding ".$encoding." is not supported by encoder ".$generator.'. You must choose another barcode type or install a barcode generation engine that support '.$encoding, 'errors'); + } + } else { + $template = 'tcpdflabel'; + $encoding = $module->getTcpdfEncodingType($encoding); //convert to TCPDF compatible encoding types + $is2d = $module->is2d; + } } if (! $error) @@ -188,11 +196,12 @@ if ($action == 'builddoc') // For labels if ($mode == 'label') { - $txtforsticker="%PHOTO%"; - $textleft=make_substitutions($txtforsticker, $substitutionarray); - $textheader=''; - $textfooter=''; - $textright=''; + + $txtforsticker="%PHOTO%"; // Photo will be barcode image, %BARCODE% posible when using TCPDF generator + $textleft=make_substitutions((empty($conf->global->BARCODE_LABEL_LEFT_TEXT)?$txtforsticker:$conf->global->BARCODE_LABEL_LEFT_TEXT), $substitutionarray); + $textheader=make_substitutions((empty($conf->global->BARCODE_LABEL_HEADER_TEXT)?'':$conf->global->BARCODE_LABEL_HEADER_TEXT), $substitutionarray); + $textfooter=make_substitutions((empty($conf->global->BARCODE_LABEL_FOOTER_TEXT)?'':$conf->global->BARCODE_LABEL_FOOTER_TEXT), $substitutionarray); + $textright=make_substitutions((empty($conf->global->BARCODE_LABEL_RIGHT_TEXT)?'':$conf->global->BARCODE_LABEL_RIGHT_TEXT), $substitutionarray); $forceimgscalewidth=(empty($conf->global->BARCODE_FORCEIMGSCALEWIDTH)?1:$conf->global->BARCODE_FORCEIMGSCALEWIDTH); $forceimgscaleheight=(empty($conf->global->BARCODE_FORCEIMGSCALEHEIGHT)?1:$conf->global->BARCODE_FORCEIMGSCALEHEIGHT); @@ -203,6 +212,9 @@ if ($action == 'builddoc') 'textheader'=>$textheader, 'textfooter'=>$textfooter, 'textright'=>$textright, + 'code'=>$code, + 'encoding'=>$encoding, + 'is2d'=>$is2d, 'photo'=>$barcodeimage // Photo must be a file that exists with format supported by TCPDF ); } @@ -222,7 +234,7 @@ if ($action == 'builddoc') { $mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("DescADHERENT_ETIQUETTE_TYPE")); } - if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs, $diroutput); + if (! $mesg) $result=members_label_pdf_create($db, $arrayofmembers, $modellabel, $outputlangs, $diroutput, $template); } if ($result <= 0) @@ -230,11 +242,11 @@ if ($action == 'builddoc') dol_print_error('',$result); } - if (! $mesg) - { - $db->close(); - exit; - } + if (! $mesg) + { + $db->close(); + exit; + } } } @@ -301,28 +313,28 @@ jQuery(document).ready(function() { { if (jQuery("#fillmanually:checked").val() == "fillmanually") { - jQuery("#submitproduct").attr(\'disabled\',\'disabled\'); - jQuery("#submitthirdparty").attr(\'disabled\',\'disabled\'); - jQuery("#search_productid").attr(\'disabled\',\'disabled\'); - jQuery("#socid").attr(\'disabled\',\'disabled\'); + jQuery("#submitproduct").prop("disabled", true); + jQuery("#submitthirdparty").prop("disabled", true); + jQuery("#search_productid").prop("disabled", true); + jQuery("#socid").prop("disabled", true); jQuery(".showforproductselector").hide(); jQuery(".showforthirdpartyselector").hide(); } if (jQuery("#fillfromproduct:checked").val() == "fillfromproduct") { - jQuery("#submitproduct").removeAttr(\'disabled\'); - jQuery("#submitthirdparty").attr(\'disabled\',\'disabled\'); - jQuery("#search_productid").removeAttr(\'disabled\'); - jQuery("#socid").attr(\'disabled\',\'disabled\'); + jQuery("#submitproduct").removeAttr("disabled"); + jQuery("#submitthirdparty").prop("disabled", true); + jQuery("#search_productid").removeAttr("disabled"); + jQuery("#socid").prop("disabled", true); jQuery(".showforproductselector").show(); jQuery(".showforthirdpartyselector").hide(); } if (jQuery("#fillfromthirdparty:checked").val() == "fillfromthirdparty") { - jQuery("#submitproduct").attr(\'disabled\',\'disabled\'); - jQuery("#submitthirdparty").removeAttr(\'disabled\'); - jQuery("#search_productid").attr(\'disabled\',\'disabled\'); - jQuery("#socid").removeAttr(\'disabled\'); + jQuery("#submitproduct").prop("disabled", true); + jQuery("#submitthirdparty").removeAttr("disabled"); + jQuery("#search_productid").prop("disabled", true); + jQuery("#socid").removeAttr("disabled"); jQuery(".showforproductselector").hide(); jQuery(".showforthirdpartyselector").show(); } @@ -336,11 +348,11 @@ jQuery(document).ready(function() { { if (jQuery("#select_fk_barcode_type").val() > 0 && jQuery("#forbarcode").val()) { - jQuery("#submitformbarcodegen").removeAttr(\'disabled\'); + jQuery("#submitformbarcodegen").removeAttr("disabled"); } else { - jQuery("#submitformbarcodegen").attr(\'disabled\',\'disabled\'); + jQuery("#submitformbarcodegen").prop("disabled", true); } } init_gendoc_button(); @@ -354,17 +366,17 @@ jQuery(document).ready(function() { '; // Checkbox to select from free text -print ' '.$langs->trans("FillBarCodeTypeAndValueManually").'   '; +print ' '.$langs->trans("FillBarCodeTypeAndValueManually").'   '; print '
'; -print ' '.$langs->trans("FillBarCodeTypeAndValueFromProduct").'   '; +print ' '.$langs->trans("FillBarCodeTypeAndValueFromProduct").'   '; print '
'; print '
'; $form->select_produits(GETPOST('productid'), 'productid', ''); print '   '; print '
'; -print ' '.$langs->trans("FillBarCodeTypeAndValueFromThirdParty").'   '; +print ' '.$langs->trans("FillBarCodeTypeAndValueFromThirdParty").'   '; print '
'; print '
'; print $form->select_company(GETPOST('socid'), 'socid', '', 1); @@ -411,7 +423,7 @@ print '
'; print '
'; -print '
'; +print '
'; print ''; print '
'; diff --git a/htdocs/bookmarks/admin/bookmark.php b/htdocs/bookmarks/admin/bookmark.php index 68adb30f7ab..51274716eda 100644 --- a/htdocs/bookmarks/admin/bookmark.php +++ b/htdocs/bookmarks/admin/bookmark.php @@ -59,7 +59,7 @@ if ($action == 'setvalue') llxHeader(); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BookmarkSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("BookmarkSetup"),$linkback,'title_setup'); print $langs->trans("BookmarkDesc")."
\n"; @@ -80,7 +80,7 @@ print ''; print $langs->trans("NbOfBoomarkToShow").''; print ''; print ''; -print '
'; +print '
'; $db->close(); diff --git a/htdocs/bookmarks/card.php b/htdocs/bookmarks/card.php index 6bb6367171a..a821cf8e94f 100644 --- a/htdocs/bookmarks/card.php +++ b/htdocs/bookmarks/card.php @@ -53,6 +53,13 @@ $bookmark=new Bookmark($db); if ($action == 'add' || $action == 'addproduct' || $action == 'update') { + + if ($action == 'update') { + $invertedaction = 'edit'; + } else { + $invertedaction = 'create'; + } + $error = 0; if (GETPOST("cancel")) @@ -71,12 +78,12 @@ if ($action == 'add' || $action == 'addproduct' || $action == 'update') if (! $title) { $error++; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("BookmarkTitle")), 'errors'); + setEventMessage($langs->transnoentities("ErrorFieldRequired",$langs->trans("BookmarkTitle")), 'errors'); } if (! $url) { $error++; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("UrlOrLink")), 'errors'); + setEventMessage($langs->transnoentities("ErrorFieldRequired",$langs->trans("UrlOrLink")), 'errors'); } if (! $error) @@ -97,18 +104,18 @@ if ($action == 'add' || $action == 'addproduct' || $action == 'update') if ($bookmark->errno == 'DB_ERROR_RECORD_ALREADY_EXISTS') { $langs->load("errors"); - setEventMessage($langs->trans("WarningBookmarkAlreadyExists"), 'warnings'); + setEventMessage($langs->transnoentities("WarningBookmarkAlreadyExists"), 'warnings'); } else { setEventMessage($bookmark->error, 'errors'); } - $action='create'; + $action = $invertedaction; } } else { - $action='create'; + $action = $invertedaction; } } @@ -186,6 +193,13 @@ if ($id > 0 && ! preg_match('/^add/i',$action)) */ $bookmark->fetch($id); + $head = array( + array( + '', + $langs->trans('Card'), + 'card' + ) + ); if ($action == 'edit') { diff --git a/htdocs/bookmarks/class/bookmark.class.php b/htdocs/bookmarks/class/bookmark.class.php index aa92d2bedb9..06490f21cda 100644 --- a/htdocs/bookmarks/class/bookmark.class.php +++ b/htdocs/bookmarks/class/bookmark.class.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -210,4 +211,21 @@ class Bookmark } + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'bookmark' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } + } diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index e00772a0af5..7512785d78b 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -103,7 +103,7 @@ if ($resql) print_liste_field_titre($langs->trans("Owner"),$_SERVER["PHP_SELF"],"u.lastname","","",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"b.dateb","","",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Position"),$_SERVER["PHP_SELF"],"b.position","","",'align="right"',$sortfield,$sortorder); - print_liste_field_titre('','',''); + print_liste_field_titre(''); print "\n"; $var=True; @@ -119,17 +119,17 @@ if ($resql) print "bid."\">".img_object($langs->trans("ShowBookmark"),"bookmark").' '.$obj->bid.""; print ''; - $lieninterne=0; + $linkintern=0; $title=dol_trunc($obj->title,24); - $lien=dol_trunc($obj->url,24); + $link=dol_trunc($obj->url,24); // Title print ""; if ($obj->rowid) { // Lien interne societe - $lieninterne=1; - $lien="Dolibarr"; + $linkintern=1; + $link="Dolibarr"; if (! $obj->title) { // For compatibility with old Dolibarr bookmarks @@ -140,16 +140,16 @@ if ($resql) } $title=img_object($langs->trans("ShowCompany"),"company").' '.$obj->title; } - if ($lieninterne) print "url."\">"; + if ($linkintern) print "url."\">"; print $title; - if ($lieninterne) print ""; + if ($linkintern) print ""; print "\n"; // Url print ""; - if (! $lieninterne) print 'target?' target="newlink"':'').'>'; - print $lien; - if (! $lieninterne) print ''; + if (! $linkintern) print 'target?' target="newlink"':'').'>'; + print $link; + if (! $linkintern) print ''; print "\n"; // Target diff --git a/htdocs/cashdesk/admin/cashdesk.php b/htdocs/cashdesk/admin/cashdesk.php index 7571befb121..48804958b20 100644 --- a/htdocs/cashdesk/admin/cashdesk.php +++ b/htdocs/cashdesk/admin/cashdesk.php @@ -85,7 +85,7 @@ $formproduct=new FormProduct($db); llxHeader('',$langs->trans("CashDeskSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CashDeskSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("CashDeskSetup"),$linkback,'title_setup'); print '
'; @@ -102,7 +102,7 @@ print "\n"; $var=!$var; print ''.$langs->trans("CashDeskThirdPartyForSell").''; print ''; -print $form->select_thirdparty($conf->global->CASHDESK_ID_THIRDPARTY,'socid','s.client in (1,3)',0,array(),1); +print $form->select_company($conf->global->CASHDESK_ID_THIRDPARTY,'socid','s.client in (1,3)',1,0,1,array(),0); print ''; if (! empty($conf->banque->enabled)) { @@ -133,17 +133,17 @@ if (! empty($conf->stock->enabled)) if (empty($conf->productbatch->enabled)) { print $form->selectyesno('CASHDESK_NO_DECREASE_STOCK',$conf->global->CASHDESK_NO_DECREASE_STOCK,1); } - else + else { if (!$conf->global->CASHDESK_NO_DECREASE_STOCK) { $res = dolibarr_set_const($db,"CASHDESK_NO_DECREASE_STOCK",1,'chaine',0,'',$conf->entity); } - print $langs->trans('StockDecreaseForPointOfSaleDisabledbyBatch'); + print $langs->trans('StockDecreaseForPointOfSaleDisabledbyBatch'); } print ''; $disabled=$conf->global->CASHDESK_NO_DECREASE_STOCK; - + $var=!$var; print ''.$langs->trans("CashDeskIdWareHouse").''; // Force warehouse (this is not a default value) print ''; @@ -164,7 +164,7 @@ if (! empty($conf->service->enabled)) $var=! $var; print ''; print $langs->trans("CashdeskShowServices"); - print '';; + print ''; print $form->selectyesno("CASHDESK_SERVICES",$conf->global->CASHDESK_SERVICES,1); print "\n"; } @@ -172,7 +172,7 @@ if (! empty($conf->service->enabled)) print ''; print '
'; -print '
'; +print '
'; print "\n"; diff --git a/htdocs/cashdesk/tpl/facturation1.tpl.php b/htdocs/cashdesk/tpl/facturation1.tpl.php index 76055fb635e..b9335e80446 100644 --- a/htdocs/cashdesk/tpl/facturation1.tpl.php +++ b/htdocs/cashdesk/tpl/facturation1.tpl.php @@ -74,7 +74,7 @@ $langs->load("cashdesk"); for ($i = 0; $i < $nbtoshow; $i++) { if ( $id == $tab_designations[$i]['rowid'] ) - $selected = 'selected="selected"'; + $selected = 'selected'; else $selected = ''; @@ -111,18 +111,18 @@ $langs->load("cashdesk"); - + - + currency; ?> - currency; ?> + currency; ?> @@ -133,7 +133,7 @@ $langs->load("cashdesk"); for($i=0;$i < $tab_tva_size;$i++) { if ( $tva_tx == $tab_tva[$i]['taux'] ) - $selected = 'selected="selected"'; + $selected = 'selected'; else $selected = ''; @@ -158,13 +158,13 @@ $langs->load("cashdesk"); trans("TotalTicket"); ?>trans("Received"); ?>trans("Change"); ?> - + - + diff --git a/htdocs/cashdesk/tpl/liste_articles.tpl.php b/htdocs/cashdesk/tpl/liste_articles.tpl.php index 160c9afd8a8..e4b6bc14436 100644 --- a/htdocs/cashdesk/tpl/liste_articles.tpl.php +++ b/htdocs/cashdesk/tpl/liste_articles.tpl.php @@ -42,7 +42,7 @@ $tab=array(); $tab = $_SESSION['poscart']; $tab_size=count($tab); -if ($tab_size <= 0) print '
'.$langs->trans("NoArticle").'

'; +if ($tab_size <= 0) print '
'.$langs->trans("NoArticle").'

'; else { for ($i=0;$i < $tab_size;$i++) diff --git a/htdocs/categories/admin/categorie.php b/htdocs/categories/admin/categorie.php index 5301b7986e0..23ebc01f3e2 100644 --- a/htdocs/categories/admin/categorie.php +++ b/htdocs/categories/admin/categorie.php @@ -1,6 +1,7 @@ - * Copyright (C) 2013 Florian Henry +/* Copyright (C) 2008-2011 Laurent Destailleur + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 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 @@ -76,7 +77,7 @@ $linkback=''.$langs->trans("BackToM llxHeader('',$langs->trans("Categories"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); $head=categoriesadmin_prepare_head(); @@ -107,11 +108,11 @@ if ($conf->use_javascript_ajax) } else { - if($conf->global->CATEGORIE_RECURSIV_ADD == 0) + if (empty($conf->global->CATEGORIE_RECURSIV_ADD)) { print ''.img_picto($langs->trans("Disabled"),'off').''; } - else if($conf->global->CATEGORIE_RECURSIV_ADD == 1) + else { print ''.img_picto($langs->trans("Enabled"),'on').''; } diff --git a/htdocs/categories/admin/categorie_extrafields.php b/htdocs/categories/admin/categorie_extrafields.php index 712f60f25cd..df31e07d95b 100644 --- a/htdocs/categories/admin/categorie_extrafields.php +++ b/htdocs/categories/admin/categorie_extrafields.php @@ -49,6 +49,7 @@ if (!$user->admin) accessforbidden(); /* * Actions */ + require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; @@ -63,48 +64,13 @@ llxHeader('',$langs->trans("Categories"),$help_url); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("CategoriesSetup"),$linkback,'title_setup'); $head = categoriesadmin_prepare_head(); dol_fiche_head($head, 'attributes_categories', $langs->trans("Categories"), 0, 'category'); -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/categories/card.php b/htdocs/categories/card.php index 4b18eed7a22..814badf95a7 100644 --- a/htdocs/categories/card.php +++ b/htdocs/categories/card.php @@ -1,9 +1,10 @@ - * Copyright (C) 2006-2011 Laurent Destailleur + * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Raphaël Doursenaud * * 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,14 +51,14 @@ $parent=GETPOST('parent'); if ($origin) { - if ($type == 0) $idProdOrigin = $origin; - if ($type == 1) $idSupplierOrigin = $origin; - if ($type == 2) $idCompanyOrigin = $origin; - if ($type == 3) $idMemberOrigin = $origin; - if ($type == 4) $idContactOrigin = $origin; + if ($type == Categorie::TYPE_PRODUCT) $idProdOrigin = $origin; + if ($type == Categorie::TYPE_SUPPLIER) $idSupplierOrigin = $origin; + if ($type == Categorie::TYPE_CUSTOMER) $idCompanyOrigin = $origin; + if ($type == Categorie::TYPE_MEMBER) $idMemberOrigin = $origin; + if ($type == Categorie::TYPE_CONTACT) $idContactOrigin = $origin; } -if ($catorigin && $type == 0) $idCatOrigin = $catorigin; +if ($catorigin && $type == Categorie::TYPE_PRODUCT) $idCatOrigin = $catorigin; $object = new Categorie($db); @@ -233,11 +234,13 @@ if ($user->rights->categorie->creer) print_fiche_titre($langs->trans("CreateCat")); + dol_fiche_head(''); + print ''; // Ref print ''; - print ''; // Description @@ -261,11 +264,13 @@ if ($user->rights->categorie->creer) print '
'.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print'
'; - print '

'; + dol_fiche_end(''); + + print '
'; print ''; - print '     '; + print '     '; print ''; - print '
'; + print '
'; print ''; } diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 0746475ecec..083edbf6b7e 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -6,6 +6,8 @@ * Copyright (C) 2007 Patrick Raguin * Copyright (C) 2010 Juanjo Menent * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Raphaël Doursenaud + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,40 +48,40 @@ $dbtablename = ''; // For categories on third parties if (! empty($socid)) $id = $socid; -if (! isset($type)) $type = 0; -if ($type == 1 || $type == 2) $socid = $id; +if (! isset($type)) $type = Categorie::TYPE_PRODUCT; +if ($type == Categorie::TYPE_SUPPLIER || $type == Categorie::TYPE_CUSTOMER) $socid = $id; if ($id || $ref) { - if ($type == 0) { + if ($type == Categorie::TYPE_PRODUCT) { $elementtype = 'product'; $objecttype = 'produit|service&categorie'; $objectid = isset($id)?$id:(isset($ref)?$ref:''); $dbtablename = 'product'; $fieldid = isset($ref)?'ref':'rowid'; } - elseif ($type == 1) { + elseif ($type == Categorie::TYPE_SUPPLIER) { $elementtype = 'fournisseur'; $objecttype = 'societe&categorie'; $objectid = isset($id)?$id:(isset($socid)?$socid:''); $dbtablename = '&societe'; $fieldid = 'rowid'; } - elseif ($type == 2) { + elseif ($type == Categorie::TYPE_CUSTOMER) { $elementtype = 'societe'; $objecttype = 'societe&categorie'; $objectid = isset($id)?$id:(isset($socid)?$socid:''); $dbtablename = '&societe'; $fieldid = 'rowid'; } - elseif ($type == 3) { + elseif ($type == Categorie::TYPE_MEMBER) { $elementtype = 'member'; $objecttype = 'adherent&categorie'; $objectid = isset($id)?$id:(isset($ref)?$ref:''); $dbtablename = 'adherent'; $fieldid = ! empty($ref)?'ref':'rowid'; } - elseif ($type == 4) { + elseif ($type == Categorie::TYPE_CONTACT) { $elementtype = 'societe'; $objecttype = 'contact'; $objectid = isset($id)?$id:(isset($ref)?$ref:''); @@ -109,34 +111,34 @@ if (empty($reshook)) // Remove element from category if ($removecat > 0) { - if ($type==0 && ($user->rights->produit->creer || $user->rights->service->creer)) + if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $object = new Product($db); $result = $object->fetch($id, $ref); $elementtype = 'product'; } - if ($type==1 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } - if ($type==2 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) { $object = new Societe($db); $result = $object->fetch($objectid); $elementtype = 'societe'; } - if ($type == 3 && $user->rights->adherent->creer) + if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) { require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $object = new Adherent($db); $result = $object->fetch($objectid); $elementtype = 'member'; } - if ($type == 4 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; $object = new Contact($db); @@ -157,34 +159,34 @@ if (empty($reshook)) // Add object into a category if ($parent > 0) { - if ($type==0 && ($user->rights->produit->creer || $user->rights->service->creer)) + if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $object = new Product($db); $result = $object->fetch($id, $ref); $elementtype = 'product'; } - if ($type==1 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; $object = new Fournisseur($db); $result = $object->fetch($objectid); $elementtype = 'fournisseur'; } - if ($type==2 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) { $object = new Societe($db); $result = $object->fetch($objectid); $elementtype = 'societe'; } - if ($type==3 && $user->rights->adherent->creer) + if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) { require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $object = new Adherent($db); $result = $object->fetch($objectid); $elementtype = 'member'; } - if ($type == 4 && $user->rights->societe->creer) + if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; $object = new Contact($db); @@ -207,7 +209,7 @@ if (empty($reshook)) } else { - setEventMessages($cat->error,$this->errors,'errors'); + setEventMessages( $cat->error, $cat->errors, 'errors' ); } } } @@ -235,7 +237,9 @@ if ($socid) $soc = new Societe($db); $result = $soc->fetch($socid); - llxHeader("","",$langs->trans("Category")); + $title=$langs->trans("Category"); + if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$soc->name." - ".$title; + llxHeader("",$title); // Show tabs $head = societe_prepare_head($soc); @@ -248,6 +252,11 @@ if ($socid) print $form->showrefnav($soc,'socid','',($user->societe_id?0:1),'rowid','nom','','&type='.$type); print ''; + // Alias names (commercial, trademark or alias names) + print ''.$langs->trans('AliasNames').''; + print $soc->name_alias; + print ""; + if (! empty($conf->global->SOCIETE_USEPREFIX)) // Old not used prefix field { print ''.$langs->trans('Prefix').''.$soc->prefix_comm.''; @@ -322,7 +331,7 @@ if ($socid) } else if ($id || $ref) { - if ($type == 0) + if ($type == Categorie::TYPE_PRODUCT) { $langs->load("products"); @@ -339,9 +348,9 @@ else if ($id || $ref) llxHeader("","",$langs->trans("CardProduct".$product->type)); - $head=product_prepare_head($product, $user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type== Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'category', $titre,0,$picto); @@ -355,7 +364,7 @@ else if ($id || $ref) print ''; // Label - print ''.$langs->trans("Label").''.$product->libelle.''; + print ''.$langs->trans("Label").''.$product->label.''; print ''; // Status (to sell) @@ -375,7 +384,7 @@ else if ($id || $ref) formCategory($db,$product,0,$socid,($user->rights->produit->creer || $user->rights->service->creer)); } - if ($type == 3) + if ($type == Categorie::TYPE_MEMBER) { $langs->load("members"); @@ -453,7 +462,7 @@ else if ($id || $ref) formCategory($db,$member,3,0,$user->rights->adherent->creer); } - if ($type == 4) + if ($type == Categorie::TYPE_CONTACT) { $langs->load("contact"); @@ -616,16 +625,16 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) { global $user,$langs,$form,$bc; - if ($typeid == 0) $title = $langs->trans("ProductsCategoriesShort"); - if ($typeid == 1) $title = $langs->trans("SuppliersCategoriesShort"); - if ($typeid == 2) $title = $langs->trans("CustomersProspectsCategoriesShort"); - if ($typeid == 3) $title = $langs->trans("MembersCategoriesShort"); - if ($typeid == 4) $title = $langs->trans("ContactCategoriesShort"); + if ($typeid == Categorie::TYPE_PRODUCT) $title = $langs->trans("ProductsCategoriesShort"); + if ($typeid == Categorie::TYPE_SUPPLIER) $title = $langs->trans("SuppliersCategoriesShort"); + if ($typeid == Categorie::TYPE_CUSTOMER) $title = $langs->trans("CustomersProspectsCategoriesShort"); + if ($typeid == Categorie::TYPE_MEMBER) $title = $langs->trans("MembersCategoriesShort"); + if ($typeid == Categorie::TYPE_CONTACT) $title = $langs->trans("ContactCategoriesShort"); $linktocreate=''; if ($showclassifyform && $user->rights->categorie->creer) { - $linktocreate='id.'&type='.$typeid).'">'; + $linktocreate='id.'&type='.$typeid).'">'; $linktocreate.=$langs->trans("CreateCat").' '; $linktocreate.=img_picto($langs->trans("Create"),'filenew'); $linktocreate.=""; @@ -660,11 +669,11 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) if (count($cats) > 0) { - if ($typeid == 0) $title=$langs->trans("ProductIsInCategories"); - if ($typeid == 1) $title=$langs->trans("CompanyIsInSuppliersCategories"); - if ($typeid == 2) $title=$langs->trans("CompanyIsInCustomersCategories"); - if ($typeid == 3) $title=$langs->trans("MemberIsInCategories"); - if ($typeid == 4) $title=$langs->trans("ContactIsInCategories"); + if ($typeid == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductIsInCategories"); + if ($typeid == Categorie::TYPE_SUPPLIER) $title=$langs->trans("CompanyIsInSuppliersCategories"); + if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyIsInCustomersCategories"); + if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberIsInCategories"); + if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactIsInCategories"); print "\n"; print ''; print ''; @@ -685,11 +694,11 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) // Link to delete from category print '\n"; - print "\t\t\n"; print "\t\t".'\n"; @@ -284,17 +287,17 @@ else } // List of products or services (type is type of category) -if ($object->type == 0) +if ($object->type == Categorie::TYPE_PRODUCT) { $prods = $object->getObjectsInCateg("product"); if ($prods < 0) { - dol_print_error(); + dol_print_error($db, $prods->error, $prods->errors); } else { - $showclassifyform=1; $typeid=0; - + $showclassifyform=1; $typeid=Categorie::TYPE_PRODUCT; + // Form to add record into a category if ($showclassifyform) { @@ -315,7 +318,7 @@ if ($object->type == 0) print '
'.$title.':
'; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; - if ($typeid == 4) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_CONTACT) $permission=$user->rights->societe->creer; if ($permission) { print ""; @@ -713,18 +722,17 @@ function formCategory($db,$object,$typeid,$socid=0,$showclassifyform=1) } else { - if ($typeid == 0) $title=$langs->trans("ProductHasNoCategory"); - if ($typeid == 1) $title=$langs->trans("CompanyHasNoCategory"); - if ($typeid == 2) $title=$langs->trans("CompanyHasNoCategory"); - if ($typeid == 3) $title=$langs->trans("MemberHasNoCategory"); - if ($typeid == 4) $title=$langs->trans("ContactHasNoCategory"); + if ($typeid == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductHasNoCategory"); + if ($typeid == Categorie::TYPE_SUPPLIER) $title=$langs->trans("CompanyHasNoCategory"); + if ($typeid == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CompanyHasNoCategory"); + if ($typeid == Categorie::TYPE_MEMBER) $title=$langs->trans("MemberHasNoCategory"); + if ($typeid == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactHasNoCategory"); print $title; print "
"; } return 0; } - llxFooter(); $db->close(); diff --git a/htdocs/categories/class/api_category.class.php b/htdocs/categories/class/api_category.class.php new file mode 100644 index 00000000000..364147d097d --- /dev/null +++ b/htdocs/categories/class/api_category.class.php @@ -0,0 +1,355 @@ + + * + * 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; + + require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + +/** + * API class for category object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + * + */ +class CategoryApi extends DolibarrApi +{ + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'label', + 'type' + ); + + static $TYPES = array( + 0 => 'product', + 1 => 'supplier', + 2 => 'customer', + 3 => 'member', + 4 => 'contact', + ); + + /** + * @var Categorie $category {@type Categorie} + */ + public $category; + + /** + * Constructor + * + * @url GET category/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->category = new Categorie($this->db); + + } + + /** + * Get properties of a category object + * + * Return an array with category informations + * + * @param int $id ID of category + * @return array|mixed data without useless information + * + * @url GET category/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->categorie->lire) { + throw new RestException(401); + } + + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->category); + } + + /** + * List categories + * + * Get a list of categories + * + * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return array Array of category objects + * + * @url GET /category/list + */ + function getList($type='product', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + if(! DolibarrApiAccess::$user->rights->categorie->lire) { + throw new RestException(401); + } + + $sql = "SELECT s.rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."categorie as s"; + $sql.= ' WHERE s.entity IN ('.getEntity('categorie', 1).')'; + $sql.= ' AND s.type='.array_search($type,CategoryApi::$TYPES); + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $category_static = new Categorie($db); + if($category_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($category_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve category list : '.$category_static->error); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No category found'); + } + return $obj_ret; + } + + /** + * Get member categories list + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return mixed + * + * @url GET /category/list/member + */ + function getListCategoryMember($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('member', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get customer categories list + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/customer + */ + function getListCategoryCustomer($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('customer', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get supplier categories list + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/supplier + */ + function getListCategorySupplier($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('supplier', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get product categories list + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return mixed + * + * @url GET /category/list/product + */ + function getListCategoryProduct($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('product', $sortfield, $sortorder, $limit, $page); + } + + /** + * Get contact categories list + * + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * @return mixed + * + * @url GET /category/list/contact + */ + function getListCategoryContact($sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + return $this->getList('contact', $sortfield, $sortorder, $limit, $page); + } + + /** + * Create category object + * + * @param array $request_data Request data + * @return int ID of category + * + * @url POST category/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->categorie->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->category->$field = $value; + } + if($this->category->create(DolibarrApiAccess::$user) < 0) { + throw new RestException(503, 'Error when create category : '.$this->category->error); + } + return $this->category->id; + } + + /** + * Update category + * + * @param int $id Id of category to update + * @param array $request_data Datas + * @return int + * + * @url PUT category/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->categorie->creer) { + throw new RestException(401); + } + + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->category->$field = $value; + } + + if($this->category->update(DolibarrApiAccess::$user)) + return $this->get ($id); + + return false; + } + + /** + * Delete category + * + * @param int $id Category ID + * @return array + * + * @url DELETE category/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->categorie->supprimer) { + throw new RestException(401); + } + $result = $this->category->fetch($id); + if( ! $result ) { + throw new RestException(404, 'category not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('category',$this->category->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if (! $this->category->delete(DolibarrApiAccess::$user)) { + throw new RestException(401,'error when delete category'); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Category deleted' + ) + ); + } + + /** + * Validate fields before create or update object + * + * @param array $data Data to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $category = array(); + foreach (CategoryApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $category[$field] = $data[$field]; + } + return $category; + } +} diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index b9876bb8382..190f58d9388 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -1,12 +1,14 @@ - * Copyright (C) 2005 Davoleau Brice - * Copyright (C) 2005 Rodolphe Quiedeville - * Copyright (C) 2006-2012 Regis Houssin - * Copyright (C) 2006-2012 Laurent Destailleur - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2013 Juanjo Menent - * Copyright (C) 2013 Philippe Grand +/* Copyright (C) 2005 Matthieu Valleton + * Copyright (C) 2005 Davoleau Brice + * Copyright (C) 2005 Rodolphe Quiedeville + * Copyright (C) 2006-2012 Regis Houssin + * Copyright (C) 2006-2012 Laurent Destailleur + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2015 Marcos García + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -39,6 +41,74 @@ require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; */ class Categorie extends CommonObject { + // Categories types + const TYPE_PRODUCT = 0; + const TYPE_SUPPLIER = 1; + const TYPE_CUSTOMER = 2; + const TYPE_MEMBER = 3; + const TYPE_CONTACT = 4; + + /** + * @var array ID mapping from type string + * + * @note Move to const array when PHP 5.6 will be our minimum target + */ + private $MAP_ID = array( + 'product' => 0, + 'supplier' => 1, + 'customer' => 2, + 'member' => 3, + 'contact' => 4, + ); + /** + * @var array Foreign keys mapping from type string + * + * @note Move to const array when PHP 5.6 will be our minimum target + */ + private $MAP_CAT_FK = array( + 'product' => 'product', + 'customer' => 'soc', + 'supplier' => 'soc', + 'member' => 'member', + 'contact' => 'socpeople', + ); + /** + * @var array Category tables mapping from type string + * + * @note Move to const array when PHP 5.6 will be our minimum target + */ + private $MAP_CAT_TABLE = array( + 'product' => 'product', + 'customer' => 'societe', + 'supplier' => 'fournisseur', + 'member' => 'member', + 'contact' => 'contact', + ); + /** + * @var array Object class mapping from type string + * + * @note Move to const array when PHP 5.6 will be our minimum target + */ + private $MAP_OBJ_CLASS = array( + 'product' => 'Product', + 'customer' => 'Societe', + 'supplier' => 'Fournisseur', + 'member' => 'Adherent', + 'contact' => 'Contact', + ); + /** + * @var array Object table mapping from type string + * + * @note Move to const array when PHP 5.6 will be our minimum target + */ + private $MAP_OBJ_TABLE = array( + 'product' => 'product', + 'customer' => 'societe', + 'supplier' => 'societe', + 'member' => 'adherent', + 'contact' => 'socpeople', + ); + public $element='category'; public $table_element='categories'; @@ -47,13 +117,21 @@ class Categorie extends CommonObject var $label; var $description; var $socid; - var $type; // 0=Product, 1=Supplier, 2=Customer/Prospect, 3=Member, 4=Contact + /** + * @var int Category type + * + * @see Categorie::TYPE_PRODUCT + * @see Categorie::TYPE_SUPPLIER + * @see Categorie::TYPE_CUSTOMER + * @see Categorie::TYPE_MEMBER + * @see Categorie::TYPE_CONTACT + */ + var $type; var $import_key; var $cats=array(); // Tableau en memoire des categories var $motherof=array(); - /** * Constructor * @@ -201,7 +279,7 @@ class Categorie extends CommonObject $action='create'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('HookModuleNamedao')); $parameters=array('socid'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -294,7 +372,7 @@ class Categorie extends CommonObject $action='update'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('HookCategorydao')); $parameters=array(); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -468,11 +546,12 @@ class Categorie extends CommonObject } /** - * Link an object to the category + * Link an object to the category * - * @param Object $obj Object to link to category - * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') - * @return int 1 : OK, -1 : erreur SQL, -2 : id not defined, -3 : Already linked + * @param CommonObject $obj Object to link to category + * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member') + * + * @return int 1 : OK, -1 : erreur SQL, -2 : id not defined, -3 : Already linked */ function add_type($obj,$type) { @@ -483,18 +562,21 @@ class Categorie extends CommonObject if ($this->id == -1) return -2; // For backward compatibility - if ($type == 'company') $type='societe'; - if ($type == 'customer') $type='societe'; - if ($type == 'supplier') $type='fournisseur'; - - $column_name=$type; - if ($type=='contact') $column_name='socpeople'; - if ($type=='fournisseur') $column_name='societe'; + if ($type == 'societe') { + $type = 'customer'; + dol_syslog( get_class( $this ) . "::add_type(): type 'societe' is deprecated, please use 'customer' instead", + LOG_WARNING ); + } elseif ($type == 'fournisseur') { + $type = 'supplier'; + dol_syslog( get_class( $this ) . "::add_type(): type 'fournisseur' is deprecated, please use 'supplier' instead", + LOG_WARNING ); + } $this->db->begin(); - $sql = "INSERT INTO ".MAIN_DB_PREFIX."categorie_".$type." (fk_categorie, fk_".$column_name.")"; - $sql .= " VALUES (".$this->id.", ".$obj->id.")"; + $sql = "INSERT INTO " . MAIN_DB_PREFIX . "categorie_" . $this->MAP_CAT_TABLE[$type]; + $sql .= " (fk_categorie, fk_" . $this->MAP_CAT_FK[$type] . ")"; + $sql .= " VALUES (" . $this->id . ", " . $obj->id . ")"; dol_syslog(get_class($this).'::add_type', LOG_DEBUG); if ($this->db->query($sql)) @@ -577,9 +659,10 @@ class Categorie extends CommonObject /** * Delete object from category * - * @param Object $obj Object - * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') - * @return int 1 if OK, -1 if KO + * @param CommonObject $obj Object + * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member') + * + * @return int 1 if OK, -1 if KO */ function del_type($obj,$type) { @@ -588,19 +671,21 @@ class Categorie extends CommonObject $error=0; // For backward compatibility - if ($type == 'company') $type='societe'; - if ($type == 'customer') $type='societe'; - if ($type == 'supplier') $type='fournisseur'; - - $column_name=$type; - if ($type=='contact') $column_name='socpeople'; - if ($type=='fournisseur') $column_name='societe'; + if ($type == 'societe') { + $type = 'customer'; + dol_syslog( get_class( $this ) . "::del_type(): type 'societe' is deprecated, please use 'customer' instead", + LOG_WARNING ); + } elseif ($type == 'fournisseur') { + $type = 'supplier'; + dol_syslog( get_class( $this ) . "::del_type(): type 'fournisseur' is deprecated, please use 'supplier' instead", + LOG_WARNING ); + } $this->db->begin(); - $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_".$type; - $sql .= " WHERE fk_categorie = ".$this->id; - $sql .= " AND fk_".$column_name." = ".$obj->id; + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "categorie_" . $this->MAP_CAT_TABLE[$type]; + $sql .= " WHERE fk_categorie = " . $this->id; + $sql .= " AND fk_" . $this->MAP_CAT_FK[$type] . " = " . $obj->id; dol_syslog(get_class($this).'::del_type', LOG_DEBUG); if ($this->db->query($sql)) @@ -633,41 +718,32 @@ class Categorie extends CommonObject } /** - * Return list of fetched instance of elements having this category + * Return list of fetched instance of elements having this category * - * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') - * @return mixed -1 if KO, array of instance of object if OK + * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member') + * + * @return mixed -1 if KO, array of instance of object if OK */ function getObjectsInCateg($type) { - $field=''; $classname=''; $category_table=''; $object_table=''; - if ($type=='product') { $field='product'; $classname='Product'; } - if ($type=='customer') { $field='societe'; $classname='Societe'; } - if ($type=='supplier') { $field='societe'; $classname='Fournisseur'; $category_table='fournisseur'; } - if ($type=='member') { $field='member'; $classname='Adherent'; $category_table=''; $object_table='adherent'; } - if ($type=='contact') { $field='socpeople'; $classname='Contact'; $category_table='contact'; $object_table='socpeople'; } - $objs = array(); - // Clean parameters - if (empty($category_table)) $category_table=$field; - if (empty($object_table)) $object_table=$field; + $obj = new $this->MAP_OBJ_CLASS[$type]( $this->db ); - $sql = "SELECT c.fk_".$field; - $sql.= " FROM ".MAIN_DB_PREFIX."categorie_".$category_table." as c"; - $sql.= ", ".MAIN_DB_PREFIX.$object_table." as o"; - $sql.= " WHERE o.entity IN (".getEntity($field, 1).")"; + $sql = "SELECT c.fk_" . $this->MAP_CAT_FK[$type]; + $sql .= " FROM " . MAIN_DB_PREFIX . "categorie_" . $this->MAP_CAT_TABLE[$type] . " as c"; + $sql .= ", " . MAIN_DB_PREFIX . $this->MAP_OBJ_TABLE[$type] . " as o"; + $sql .= " WHERE o.entity IN (" . getEntity( $obj->element, 1).")"; $sql.= " AND c.fk_categorie = ".$this->id; - $sql.= " AND c.fk_".$field." = o.rowid"; + $sql .= " AND c.fk_" . $this->MAP_CAT_FK[$type] . " = o.rowid"; dol_syslog(get_class($this)."::getObjectsInCateg", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { - while ($rec = $this->db->fetch_array($resql)) - { - $obj = new $classname($this->db); - $obj->fetch($rec['fk_'.$field]); + while ($rec = $this->db->fetch_array($resql)) { + $obj = new $this->MAP_OBJ_CLASS[$type]( $this->db ); + $obj->fetch( $rec['fk_' . $this->MAP_CAT_FK[$type]]); $objs[] = $obj; } return $objs; @@ -680,40 +756,17 @@ class Categorie extends CommonObject } /** - * check for the presence of an object in a category + * Check for the presence of an object in a category * - * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact') - * @param int $object_id id of the object to search - * @return int number of occurrences + * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member') + * @param int $object_id id of the object to search + * + * @return int number of occurrences */ - function containsObject($type, $object_id) + function containsObject($type, $object_id ) { - $field = ''; - $category_table = ''; - - if ($type == 'product') { - $field = 'product'; - } - if ($type == 'customer') { - $field = 'societe'; - } - if ($type == 'supplier') { - $field = 'societe'; - $category_table = 'fournisseur'; - } - if ($type == 'member') { - $field = 'member'; - $category_table = ''; - } - if ($type == 'contact') { - $field = 'socpeople'; - $category_table = 'contact'; - } - if (empty($category_table)) { - $category_table = $field; - } - $sql = "SELECT COUNT(*) as nb FROM " . MAIN_DB_PREFIX . "categorie_" . $category_table; - $sql .= " WHERE fk_categorie = " . $this->id . " AND fk_" . $field . " = " . $object_id; + $sql = "SELECT COUNT(*) as nb FROM " . MAIN_DB_PREFIX . "categorie_" . $this->MAP_CAT_TABLE[$type]; + $sql .= " WHERE fk_categorie = " . $this->id . " AND fk_" . $this->MAP_CAT_FK[$type] . " = " . $object_id; dol_syslog(get_class($this)."::containsObject", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { @@ -753,7 +806,6 @@ class Categorie extends CommonObject } } - /** * Load this->motherof that is array(id_son=>id_parent, ...) * @@ -789,23 +841,34 @@ class Categorie extends CommonObject } /** - * Reconstruit l'arborescence des categories sous la forme d'un tableau - * Renvoi un tableau de tableau('id','id_mere',...) trie selon arbre et avec: - * id = id de la categorie - * id_mere = id de la categorie mere - * id_children = tableau des id enfant - * label = nom de la categorie - * fulllabel = nom avec chemin complet de la categorie - * fullpath = chemin complet compose des id + * Reconstruit l'arborescence des categories sous la forme d'un tableau + * Renvoi un tableau de tableau('id','id_mere',...) trie selon arbre et avec: + * id = id de la categorie + * id_mere = id de la categorie mere + * id_children = tableau des id enfant + * label = nom de la categorie + * fulllabel = nom avec chemin complet de la categorie + * fullpath = chemin complet compose des id * - * @param string $type Type of categories (0=product, 1=suppliers, 2=customers, 3=members) - * @param int $markafterid Removed all categories including the leaf $markafterid in category tree. - * @return array Array of categories. this->cats and this->motherof are set. + * @param string $type Type of categories ('customer', 'supplier', 'contact', 'product', 'member'). Old + * mode (0, 1, 2, ...) is deprecated. + * @param int $markafterid Removed all categories including the leaf $markafterid in category tree. + * + * @return array Array of categories. this->cats and this->motherof are set. */ function get_full_arbo($type,$markafterid=0) { global $conf, $langs; + // For backward compatibility + if (is_numeric( $type )) { + // We want to reverse lookup + $map_type = array_flip( $this->MAP_ID ); + $type = $map_type[$type]; + dol_syslog( get_class( $this ) . "::get_full_arbo(): numeric types are deprecated, please use string instead", + LOG_WARNING ); + } + $this->cats = array(); // Init this->motherof that is array(id_son=>id_parent, ...) @@ -817,8 +880,8 @@ class Categorie extends CommonObject if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= ", t.label as label_trans, t.description as description_trans"; $sql.= " FROM ".MAIN_DB_PREFIX."categorie as c"; if (! empty($conf->global->MAIN_MULTILANGS)) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."categorie_lang as t ON t.fk_category=c.rowid AND t.lang='".$current_lang."'"; - $sql.= " WHERE c.entity IN (".getEntity('category',1).")"; - $sql.= " AND c.type = ".$type; + $sql .= " WHERE c.entity IN (" . getEntity( 'category', 1 ) . ")"; + $sql .= " AND c.type = " . $this->MAP_ID[$type]; dol_syslog(get_class($this)."::get_full_arbo get category list", LOG_DEBUG); $resql = $this->db->query($sql); @@ -1000,7 +1063,7 @@ class Categorie extends CommonObject /** * Check if no category with same label already exists for this cat's parent or root and for this cat's type * - * @return boolean 1 if already exist, 0 otherwise, -1 if error + * @return integer 1 if already exist, 0 otherwise, -1 if error */ function already_exists() { @@ -1063,11 +1126,11 @@ class Categorie extends CommonObject */ function print_all_ways($sep = " >> ", $url='') { - $ways = array (); + $ways = array(); foreach ($this->get_all_ways() as $way) { - $w = array (); + $w = array(); foreach ($way as $cat) { if ($url == '') @@ -1152,31 +1215,35 @@ class Categorie extends CommonObject } /** - * Return list of categories (id or instances) linked to element of id $id and type $type - * Should be named getListOfCategForObject + * Return list of categories (object instances or labels) linked to element of id $id and type $type + * Should be named getListOfCategForObject * - * @param int $id Id of element - * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact'). Old mode (0, 1, 2, ...) is deprecated. - * @param string $mode 'object'=Get array of fetched category instances, 'label'=Get array of category labels - * @return mixed Array of category objects or < 0 if KO + * @param int $id Id of element + * @param string $type Type of category ('customer', 'supplier', 'contact', 'product', 'member'). Old mode + * (0, 1, 2, ...) is deprecated. + * @param string $mode 'object'=Get array of fetched category instances, 'label'=Get array of category + * labels + * + * @return mixed Array of category objects or < 0 if KO */ function containing($id,$type,$mode='object') { $cats = array(); - $typeid=-1; $table='';; - if ($type == '0' || $type == 'product') { $typeid=0; $table='product'; $type='product'; } - else if ($type == '1' || $type == 'supplier') { $typeid=1; $table='societe'; $type='fournisseur'; } - else if ($type == '2' || $type == 'customer') { $typeid=2; $table='societe'; $type='societe'; } - else if ($type == '3' || $type == 'member') { $typeid=3; $table='member'; $type='member'; } - else if ($type == '4' || $type == 'contact') { $typeid=4; $table='socpeople'; $type='contact'; } + // For backward compatibility + if (is_numeric($type)) + { + dol_syslog(__METHOD__ . ': using numeric value for parameter type is deprecated. Use string code instead.', LOG_WARNING); + // We want to reverse lookup + $map_type = array_flip($this->MAP_ID); + $type = $map_type[$type]; + } $sql = "SELECT ct.fk_categorie, c.label"; - $sql.= " FROM ".MAIN_DB_PREFIX."categorie_".$type." as ct, ".MAIN_DB_PREFIX."categorie as c"; - $sql.= " WHERE ct.fk_categorie = c.rowid AND ct.fk_".$table." = ".$id." AND c.type = ".$typeid; - $sql.= " AND c.entity IN (".getEntity('category',1).")"; + $sql .= " FROM " . MAIN_DB_PREFIX . "categorie_" . $this->MAP_CAT_TABLE[$type] . " as ct, " . MAIN_DB_PREFIX . "categorie as c"; + $sql .= " WHERE ct.fk_categorie = c.rowid AND ct.fk_" . $this->MAP_CAT_FK[$type] . " = " . $id . " AND c.type = " . $this->MAP_ID[$type]; + $sql .= " AND c.entity IN (" . getEntity( 'category', 1 ) . ")"; - dol_syslog(get_class($this).'::containing', LOG_DEBUG); $res = $this->db->query($sql); if ($res) { @@ -1216,19 +1283,26 @@ class Categorie extends CommonObject */ function rechercher($id, $nom, $type, $exact = false, $case = false) { + // Deprecation warning + if (is_numeric($type)) { + dol_syslog(__METHOD__ . ': using numeric types is deprecated.', LOG_WARNING); + } + $cats = array(); - $typeid=-1; - if ($type == 0 || $type == 'product') { $typeid=0; } - else if ($type == 1 || $type == 'supplier') { $typeid=1; } - else if ($type == 2 || $type == 'customer') { $typeid=2; } - else if ($type == 3 || $type == 'member') { $typeid=3; } - else if ($type == 4 || $type == 'contact') { $typeid=4; } + // For backward compatibility + if (is_numeric( $type )) { + // We want to reverse lookup + $map_type = array_flip( $this->MAP_ID ); + $type = $map_type; + dol_syslog( get_class( $this ) . "::rechercher(): numeric types are deprecated, please use string instead", + LOG_WARNING ); + } // Generation requete recherche - $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."categorie"; - $sql.= " WHERE type = ".$typeid; - $sql.= " AND entity IN (".getEntity('category',1).")"; + $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . "categorie"; + $sql .= " WHERE type = " . $this->MAP_ID[$type]; + $sql .= " AND entity IN (" . getEntity( 'category', 1 ) . ")"; if ($nom) { if (! $exact) @@ -1265,7 +1339,7 @@ class Categorie extends CommonObject /** * Return name and link of category (with picto) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param string $option Sur quoi pointe le lien ('', 'xyz') * @param int $maxlength Max length of text * @return string Chaine avec URL @@ -1275,17 +1349,17 @@ class Categorie extends CommonObject global $langs; $result=''; - - $lien = '
'; $label=$langs->trans("ShowCategory").': '. ($this->ref?$this->ref:$this->label); - $lienfin=''; + + $link = ''; + $linkend=''; $picto='category'; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.dol_trunc(($this->ref?$this->ref:$this->label),$maxlength).$lienfin; + if ($withpicto != 2) $result.=$link.dol_trunc(($this->ref?$this->ref:$this->label),$maxlength).$linkend; return $result; } @@ -1295,15 +1369,13 @@ class Categorie extends CommonObject * * @param string $sdir Repertoire destination finale * @param string $file Nom du fichier uploade - * @param int $maxWidth Largeur maximum que dois faire la miniature (160 par defaut) - * @param int $maxHeight Hauteur maximum que dois faire la miniature (120 par defaut) * @return void */ - function add_photo($sdir, $file, $maxWidth = 160, $maxHeight = 120) + function add_photo($sdir, $file) { require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - $dir = $sdir .'/'. get_exdir($this->id,2) . $this->id ."/"; + $dir = $sdir .'/'. get_exdir($this->id,2,0,0,$this,'category') . $this->id ."/"; $dir .= "photos/"; if (! file_exists($dir)) @@ -1321,36 +1393,11 @@ class Categorie extends CommonObject if (file_exists($originImage)) { // Cree fichier en taille vignette - $this->add_thumb($originImage,$maxWidth,$maxHeight); + $this->add_thumb($originImage); } } } - /** - * Build thumb - * - * @param string $file Chemin du fichier d'origine - * @return void - */ - function add_thumb($file) - { - global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini, $quality; - - require_once DOL_DOCUMENT_ROOT .'/core/lib/images.lib.php'; // This define also $maxwidthsmall, $quality, ... - - if (file_exists($file)) - { - // Create small thumbs for company (Ratio is near 16/9) - // Used on logon for example - $imgThumbSmall = vignette($file, $maxwidthsmall, $maxheightsmall, '_small', $quality); - - // Create mini thumbs for company (Ratio is near 16/9) - // Used on menu or for setup page for example - $imgThumbMini = vignette($file, $maxwidthmini, $maxheightmini, '_mini', $quality); - } - } - - /** * Return tableau de toutes les photos de la categorie * @@ -1576,6 +1623,23 @@ class Categorie extends CommonObject $this->specimen=1; $this->description = 'This is a description'; $this->socid = 1; - $this->type = 0; + $this->type = self::TYPE_PRODUCT; } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'categorie_societe' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } diff --git a/htdocs/categories/edit.php b/htdocs/categories/edit.php index 6b6ed88350d..a10823e6098 100644 --- a/htdocs/categories/edit.php +++ b/htdocs/categories/edit.php @@ -37,7 +37,7 @@ $action=GETPOST('action'); $confirm=GETPOST('confirm'); $socid=GETPOST('socid','int'); -$nom=GETPOST('nom'); +$label=GETPOST('label'); $description=GETPOST('description'); $visible=GETPOST('visible'); $parent=GETPOST('parent'); @@ -69,7 +69,7 @@ if ($action == 'update' && $user->rights->categorie->creer) $categorie = new Categorie($db); $result=$categorie->fetch($id); - $categorie->label = $nom; + $categorie->label = $label; $categorie->description = dol_htmlcleanlastbr($description); $categorie->socid = ($socid ? $socid : 'null'); $categorie->visible = $visible; @@ -141,13 +141,13 @@ print ''; // Ref print ''; -print ''; // Description print ''; -print ''; -print ''; +print '
'; print $langs->trans("Ref").''; +print ''; print '
'.$langs->trans("Description").''; +print ''.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor=new DolEditor('description',$object->description,'',200,'dolibarr_notes','',false,true,$conf->fckeditor->enabled,ROWS_6,50); $doleditor->Create(); @@ -167,8 +167,7 @@ if (empty($reshook) && ! empty($extrafields->attribute_label)) print '
'; print '
'; -print '
'; -print '
'; +print '
'; print ''; diff --git a/htdocs/categories/index.php b/htdocs/categories/index.php index 76a19c91d7d..fcfa8f9b910 100644 --- a/htdocs/categories/index.php +++ b/htdocs/categories/index.php @@ -1,9 +1,10 @@ - * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2006-2013 Laurent Destailleur - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin +/* Copyright (C) 2005 Matthieu Valleton + * Copyright (C) 2005 Eric Seigne + * Copyright (C) 2006-2015 Laurent Destailleur + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,13 +29,14 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/treeview.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; $langs->load("categories"); if (! $user->rights->categorie->lire) accessforbidden(); $id=GETPOST('id','int'); -$type=(GETPOST('type') ? GETPOST('type') : 0); +$type=(GETPOST('type') ? GETPOST('type') : Categorie::TYPE_PRODUCT); $catname=GETPOST('catname','alpha'); $section=(GETPOST('section')?GETPOST('section'):0); @@ -46,12 +48,12 @@ $section=(GETPOST('section')?GETPOST('section'):0); $categstatic = new Categorie($db); $form = new Form($db); -if ($type == 0) $title=$langs->trans("ProductsCategoriesArea"); -elseif ($type == 1) $title=$langs->trans("SuppliersCategoriesArea"); -elseif ($type == 2) $title=$langs->trans("CustomersCategoriesArea"); -elseif ($type == 3) $title=$langs->trans("MembersCategoriesArea"); -elseif ($type == 4) $title=$langs->trans("ContactsCategoriesArea"); -else $title=$langs->trans("CategoriesArea"); +if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoriesArea"); +elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoriesArea"); +elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCategoriesArea"); +elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoriesArea"); +elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactsCategoriesArea"); +else $title=$langs->trans("CategoriesArea"); $arrayofjs=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.js', '/includes/jquery/plugins/jquerytreeview/lib/jquery.cookie.js'); $arrayofcss=array('/includes/jquery/plugins/jquerytreeview/jquery.treeview.css'); @@ -151,16 +153,15 @@ foreach($fulltree as $key => $val) 'rowid'=>$val['rowid'], 'fk_menu'=>$val['fk_parent'], 'entry'=>''. + ''. ''. '
'.$li. - ''. - ' '.$val['description'].''.dolGetFirstLineOfText($val['description']).''.img_view().'
' ); } -print ''; -print ''; // Description print ''; $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -208,12 +210,13 @@ if (empty($reshook) && ! empty($extrafields->attribute_label)) print '
'.$langs->trans("Categories").''.$langs->trans("Description").''; +print ''; +print ''; // Visibility @@ -224,7 +225,7 @@ if ($object->id) $maxWidth = 160; $maxHeight = 120; - $pdir = get_exdir($object->id,2) . $object->id ."/photos/"; + $pdir = get_exdir($object->id,2,0,0,$object,'category') . $object->id ."/photos/"; $dir = $upload_dir.'/'.$pdir; print '
'; diff --git a/htdocs/categories/traduction.php b/htdocs/categories/traduction.php index 0c154a0b72f..94570d48f3e 100644 --- a/htdocs/categories/traduction.php +++ b/htdocs/categories/traduction.php @@ -1,7 +1,8 @@ - * Copyright (C) 2007 Rodolphe Quiedeville - * Copyright (C) 2010-2012 Destailleur Laurent +/* Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2007 Rodolphe Quiedeville + * Copyright (C) 2010-2012 Destailleur Laurent + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -143,12 +144,12 @@ llxHeader("","",$langs->trans("Translation")); $form = new Form($db); $formadmin=new FormAdmin($db); -if ($type == 0) $title=$langs->trans("ProductsCategoryShort"); -elseif ($type == 1) $title=$langs->trans("SuppliersCategoryShort"); -elseif ($type == 2) $title=$langs->trans("CustomersCategoryShort"); -elseif ($type == 3) $title=$langs->trans("MembersCategoryShort"); -elseif ($type == 4) $title=$langs->trans("ContactCategoriesShort"); -else $title=$langs->trans("Category"); +if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort"); +elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort"); +elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCategoryShort"); +elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); +elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); +else $title=$langs->trans("Category"); $head = categories_prepare_head($object,$type); dol_fiche_head($head, 'translation', $title, 0, 'category'); @@ -190,9 +191,11 @@ if ($action == 'edit') } } - print '
'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; @@ -266,9 +269,11 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print ''; print '
'.$langs->trans("Categories").''; if (! empty($conf->use_javascript_ajax)) { print ''; diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index 36a44f4bdda..f3a84eed5d5 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -1,9 +1,10 @@ - * Copyright (C) 2004-2010 Laurent Destailleur - * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2014 Jean-François Ferry +/* Copyright (C) 2001-2007 Rodolphe Quiedeville + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Jean-François Ferry + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -93,11 +94,11 @@ $form = new Form($db); if ($object->id) { $title=$langs->trans("ProductsCategoryShort"); - if ($type == 0) $title=$langs->trans("ProductsCategoryShort"); - elseif ($type == 1) $title=$langs->trans("SuppliersCategoryShort"); - elseif ($type == 2) $title=$langs->trans("CustomersCategoryShort"); - elseif ($type == 3) $title=$langs->trans("MembersCategoryShort"); - elseif ($type == 4) $title=$langs->trans("ContactCategoriesShort"); + if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort"); + elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort"); + elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCategoryShort"); + elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); + elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); $head = categories_prepare_head($object,$type); dol_fiche_head($head, 'photos', $title, 0, 'category'); @@ -128,7 +129,7 @@ if ($object->id) // Description print '
'; print $langs->trans("Description").''; - print nl2br($object->description); + print dol_htmlentitiesbr($object->description); print '
'; - print '
'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; diff --git a/htdocs/categories/viewcat.php b/htdocs/categories/viewcat.php index 0460ecde5ed..87d6dc57d63 100644 --- a/htdocs/categories/viewcat.php +++ b/htdocs/categories/viewcat.php @@ -1,8 +1,9 @@ - * Copyright (C) 2006-2010 Laurent Destailleur - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2005-2012 Regis Houssin +/* Copyright (C) 2005 Matthieu Valleton + * Copyright (C) 2006-2010 Laurent Destailleur + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -73,33 +74,33 @@ $hookmanager->initHooks(array('categorycard')); // Remove element from category if ($id > 0 && $removeelem > 0) { - if ($type==0 && ($user->rights->produit->creer || $user->rights->service->creer)) + if ($type == Categorie::TYPE_PRODUCT && ($user->rights->produit->creer || $user->rights->service->creer)) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $tmpobject = new Product($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'product'; } - else if ($type==1 && $user->rights->societe->creer) + else if ($type == Categorie::TYPE_SUPPLIER && $user->rights->societe->creer) { $tmpobject = new Societe($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'fournisseur'; } - else if ($type==2 && $user->rights->societe->creer) + else if ($type == Categorie::TYPE_CUSTOMER && $user->rights->societe->creer) { $tmpobject = new Societe($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'societe'; } - else if ($type == 3 && $user->rights->adherent->creer) + else if ($type == Categorie::TYPE_MEMBER && $user->rights->adherent->creer) { require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $tmpobject = new Adherent($db); $result = $tmpobject->fetch($removeelem); $elementtype = 'member'; } - else if ($type == 4 && $user->rights->societe->creer) { + else if ($type == Categorie::TYPE_CONTACT && $user->rights->societe->creer) { require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; $tmpobject = new Contact($db); @@ -124,13 +125,13 @@ if ($user->rights->categorie->supprimer && $action == 'confirm_delete' && $confi } } -if ($type==0 && $elemid && $action == 'addintocategory' && ($user->rights->produit->creer || $user->rights->service->creer)) +if ($type == Categorie::TYPE_PRODUCT && $elemid && $action == 'addintocategory' && ($user->rights->produit->creer || $user->rights->service->creer)) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $newobject = new Product($db); $result = $newobject->fetch($elemid); $elementtype = 'product'; - + // TODO Add into categ $result=$object->add_type($newobject,$elementtype); if ($result >= 0) @@ -148,7 +149,7 @@ if ($type==0 && $elemid && $action == 'addintocategory' && ($user->rights->produ setEventMessages($object->error,$object->errors,'errors'); } } - + } @@ -161,14 +162,15 @@ $form = new Form($db); llxHeader("","",$langs->trans("Categories")); -if ($type == 0) $title=$langs->trans("ProductsCategoryShort"); -elseif ($type == 1) $title=$langs->trans("SuppliersCategoryShort"); -elseif ($type == 2) $title=$langs->trans("CustomersCategoryShort"); -elseif ($type == 3) $title=$langs->trans("MembersCategoryShort"); -elseif ($type == 4) $title=$langs->trans("ContactCategoriesShort"); -else $title=$langs->trans("Category"); +if ($type == Categorie::TYPE_PRODUCT) $title=$langs->trans("ProductsCategoryShort"); +elseif ($type == Categorie::TYPE_SUPPLIER) $title=$langs->trans("SuppliersCategoryShort"); +elseif ($type == Categorie::TYPE_CUSTOMER) $title=$langs->trans("CustomersCategoryShort"); +elseif ($type == Categorie::TYPE_MEMBER) $title=$langs->trans("MembersCategoryShort"); +elseif ($type == Categorie::TYPE_CONTACT) $title=$langs->trans("ContactCategoriesShort"); +else $title=$langs->trans("Category"); $head = categories_prepare_head($object,$type); + dol_fiche_head($head, 'card', $title, 0, 'category'); @@ -197,7 +199,7 @@ print '
'; print $langs->trans("Description").''; -print nl2br($object->description); +print dol_htmlentitiesbr($object->description); print '
'; -print ''; +dol_fiche_end(); /* * Boutons actions */ + print "
\n"; if ($user->rights->categorie->creer) @@ -235,7 +238,7 @@ print "
"; $cats = $object->get_filles(); if ($cats < 0) { - dol_print_error(); + dol_print_error($db, $cats->error, $cats->errors); } else { @@ -257,7 +260,7 @@ else { $var=!$var; print "\t
"; + print "\t\t".''; print "".$cat->label.""; print "'.$cat->description."
'; print ''; } - + print "
"; print "\n"; print '\n"; @@ -330,15 +333,15 @@ if ($object->type == 0) print '\n"; - print '\n"; + print '\n"; // Link to delete from category print 'global->AGENDA_USE_EVENT_TYPE)?' class="fieldrequired"':'').'>'.$langs->trans("Title").''; // Full day event - print ''; + print ''; // Date start print ''; // Realised by @@ -962,7 +993,7 @@ if ($id > 0) // Contact print ''; } @@ -975,7 +1006,7 @@ if ($id > 0) // Projet associe $langs->load("project"); - print ''; @@ -998,7 +1029,7 @@ if ($id > 0) } // Description - print '
'.$langs->trans("ProductsAndServices")."
'; print $prod->getNomUrl(1,'category'); print "'.$prod->libelle."'.$prod->label."'; $typeid=$object->type; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($permission) { print ""; @@ -357,12 +360,12 @@ if ($object->type == 0) } } -if ($object->type == 1) +if ($object->type == Categorie::TYPE_SUPPLIER) { $socs = $object->getObjectsInCateg("supplier"); if ($socs < 0) { - dol_print_error(); + dol_print_error($db, $socs->error, $socs->errors); } else { @@ -385,10 +388,10 @@ if ($object->type == 1) print ''; $typeid=$object->type; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($permission) { print ""; @@ -408,12 +411,12 @@ if ($object->type == 1) } } -if($object->type == 2) +if($object->type == Categorie::TYPE_CUSTOMER) { $socs = $object->getObjectsInCateg("customer"); if ($socs < 0) { - dol_print_error(); + dol_print_error($db, $socs->error, $socs->errors); } else { @@ -439,10 +442,10 @@ if($object->type == 2) print ''; $typeid=$object->type; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($permission) { print ""; @@ -462,14 +465,14 @@ if($object->type == 2) } // List of members -if ($object->type == 3) +if ($object->type == Categorie::TYPE_MEMBER) { require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $prods = $object->getObjectsInCateg("member"); if ($prods < 0) { - dol_print_error($db,$object->error); + dol_print_error($db, $prods->error, $prods->errors); } else { @@ -494,10 +497,10 @@ if ($object->type == 3) print ''; $typeid=$object->type; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; if ($permission) { print ""; @@ -516,12 +519,12 @@ if ($object->type == 3) } //Categorie contact -if($object->type == 4) +if($object->type == Categorie::TYPE_CONTACT) { $contacts = $object->getObjectsInCateg("contact"); if ($contacts < 0) { - dol_print_error(); + dol_print_error($db, $contacts->error, $contacts->errors); } else { @@ -545,11 +548,11 @@ if($object->type == 4) print ''; $typeid=$object->type; $permission=0; - if ($typeid == 0) $permission=($user->rights->produit->creer || $user->rights->service->creer); - if ($typeid == 1) $permission=$user->rights->societe->creer; - if ($typeid == 2) $permission=$user->rights->societe->creer; - if ($typeid == 3) $permission=$user->rights->adherent->creer; - if ($typeid == 4) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_PRODUCT) $permission=($user->rights->produit->creer || $user->rights->service->creer); + if ($typeid == Categorie::TYPE_SUPPLIER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_CUSTOMER) $permission=$user->rights->societe->creer; + if ($typeid == Categorie::TYPE_MEMBER) $permission=$user->rights->adherent->creer; + if ($typeid == Categorie::TYPE_CONTACT) $permission=$user->rights->societe->creer; if ($permission) { print ""; diff --git a/htdocs/comm/action/card.php b/htdocs/comm/action/card.php index 8dce1b39df0..98fe5299a5e 100644 --- a/htdocs/comm/action/card.php +++ b/htdocs/comm/action/card.php @@ -1,11 +1,12 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Simon TOSSER * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2013 Florian Henry * Copyright (C) 2014 Cedric GROSS + * Copyright (C) 2015 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 @@ -36,6 +37,7 @@ require_once DOL_DOCUMENT_ROOT.'/comm/action/class/cactioncomm.class.php'; require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formactions.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.form.class.php'; if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; @@ -56,6 +58,7 @@ $backtopage=GETPOST('backtopage','alpha'); $contactid=GETPOST('contactid','int'); $origin=GETPOST('origin','alpha'); $originid=GETPOST('originid','int'); +$confirm = GETPOST('confirm', 'alpha'); $fulldayevent=GETPOST('fullday'); $datep=dol_mktime($fulldayevent?'00':GETPOST("aphour"), $fulldayevent?'00':GETPOST("apmin"), 0, GETPOST("apmonth"), GETPOST("apday"), GETPOST("apyear")); @@ -75,6 +78,11 @@ $cactioncomm = new CActionComm($db); $object = new ActionComm($db); $contact = new Contact($db); $extrafields = new ExtraFields($db); +$formfile = new FormFile($db); + +$form = new Form($db); +$formfile = new FormFile($db); +$formactions = new FormActions($db); // fetch optionals attributes and labels $extralabels=$extrafields->fetch_name_optionals_label($object->table_element); @@ -94,7 +102,7 @@ if (GETPOST('removedassigned') || GETPOST('removedassigned') == '0') { $idtoremove=GETPOST('removedassigned'); - if (! empty($_SESSION['assignedtouser'])) $tmpassigneduserids=dol_json_decode($_SESSION['assignedtouser'],1); + if (! empty($_SESSION['assignedtouser'])) $tmpassigneduserids=json_decode($_SESSION['assignedtouser'],1); else $tmpassigneduserids=array(); foreach ($tmpassigneduserids as $key => $val) @@ -102,7 +110,7 @@ if (GETPOST('removedassigned') || GETPOST('removedassigned') == '0') if ($val['id'] == $idtoremove || $val['id'] == -1) unset($tmpassigneduserids[$key]); } //var_dump($_POST['removedassigned']);exit; - $_SESSION['assignedtouser']=dol_json_encode($tmpassigneduserids); + $_SESSION['assignedtouser']=json_encode($tmpassigneduserids); $donotclearsession=1; if ($action == 'add') $action = 'create'; if ($action == 'update') $action = 'edit'; @@ -117,16 +125,39 @@ if (GETPOST('addassignedtouser') || GETPOST('updateassignedtouser')) $assignedtouser=array(); if (! empty($_SESSION['assignedtouser'])) { - $assignedtouser=dol_json_decode($_SESSION['assignedtouser'], true); + $assignedtouser=json_decode($_SESSION['assignedtouser'], true); } $assignedtouser[GETPOST('assignedtouser')]=array('id'=>GETPOST('assignedtouser'), 'transparency'=>GETPOST('transparency'),'mandatory'=>1); - $_SESSION['assignedtouser']=dol_json_encode($assignedtouser); + $_SESSION['assignedtouser']=json_encode($assignedtouser); } $donotclearsession=1; if ($action == 'add') $action = 'create'; if ($action == 'update') $action = 'edit'; } +// Action clone object +if ($action == 'confirm_clone' && $confirm == 'yes') +{ + if (1 == 0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers')) + { + setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors'); + } + else + { + if ($id > 0) { + $object->fetch($id); + $result = $object->createFromClone(GETPOST('fk_userowner'), GETPOST('socid')); + if ($result > 0) { + header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result); + exit(); + } else { + setEventMessage($object->error, 'errors'); + $action = ''; + } + } + } +} + // Add event if ($action == 'add') { @@ -213,7 +244,7 @@ if ($action == 'add') $object->duree=((float) (GETPOST('dureehour') * 60) + (float) GETPOST('dureemin')) * 60; $listofuserid=array(); - if (! empty($_SESSION['assignedtouser'])) $listofuserid=dol_json_decode($_SESSION['assignedtouser']); + if (! empty($_SESSION['assignedtouser'])) $listofuserid=json_decode($_SESSION['assignedtouser'], true); $i=0; foreach($listofuserid as $key => $value) { @@ -385,7 +416,7 @@ if ($action == 'update') if (! empty($_SESSION['assignedtouser'])) // Now concat assigned users { // Restore array with key with same value than param 'id' - $tmplist1=dol_json_decode($_SESSION['assignedtouser'], true); $tmplist2=array(); + $tmplist1=json_decode($_SESSION['assignedtouser'], true); $tmplist2=array(); foreach($tmplist1 as $key => $val) { if ($val['id'] > 0 && $val['id'] != $assignedtouser) $listofuserid[$val['id']]=$val; @@ -540,10 +571,6 @@ if ($action == 'mupdate') $help_url='EN:Module_Agenda_En|FR:Module_Agenda|ES:M&omodulodulo_Agenda'; llxHeader('',$langs->trans("Agenda"),$help_url); -$form = new Form($db); -$formfile = new FormFile($db); -$formactions = new FormActions($db); - if ($action == 'create') { $contact = new Contact($db); @@ -569,11 +596,11 @@ if ($action == 'create') $(".fulldayendmin").removeAttr("disabled"); $("#p2").removeAttr("disabled"); } else { - $(".fulldaystarthour").attr("disabled","disabled").val("00"); - $(".fulldaystartmin").attr("disabled","disabled").val("00"); - $(".fulldayendhour").attr("disabled","disabled").val("23"); - $(".fulldayendmin").attr("disabled","disabled").val("59"); - $("#p2").removeAttr("disabled"); + $(".fulldaystarthour").prop("disabled", true).val("00"); + $(".fulldaystartmin").prop("disabled", true).val("00"); + $(".fulldayendhour").prop("disabled", true).val("23"); + $(".fulldayendmin").prop("disabled", true).val("59"); + $("#p2").removeAttr("disabled"); } } setdatefields(); @@ -608,6 +635,8 @@ if ($action == 'create') if (GETPOST("actioncode") == 'AC_RDV') print_fiche_titre($langs->trans("AddActionRendezVous")); else print_fiche_titre($langs->trans("AddAnAction")); + dol_fiche_head(); + print ''; // Type of event @@ -622,7 +651,7 @@ if ($action == 'create') print 'global->AGENDA_USE_EVENT_TYPE)?' class="fieldrequired"':'').'>'.$langs->trans("Title").''; // Full day - print ''; + print ''; // Date start $datep=($datep?$datep:$object->datep); @@ -667,23 +696,23 @@ if ($action == 'create') } // Assigned to - print ''; // Realised by @@ -723,7 +752,7 @@ if ($action == 'create') print ''; print ''; @@ -735,7 +764,7 @@ if ($action == 'create') // Projet associe $langs->load("projects"); - print ''; // Description - print '
'.$langs->trans("EventOnFullDay").'
'.$langs->trans("EventOnFullDay").'
'.$langs->trans("ActionAffectedTo").''; + print '
'.$langs->trans("ActionAffectedTo").''; $listofuserid=array(); if (empty($donotclearsession)) { $assignedtouser=GETPOST("assignedtouser")?GETPOST("assignedtouser"):(! empty($object->userownerid) && $object->userownerid > 0 ? $object->userownerid : $user->id); if ($assignedtouser) $listofuserid[$assignedtouser]=array('id'=>$assignedtouser,'mandatory'=>0,'transparency'=>$object->transparency); // Owner first - $_SESSION['assignedtouser']=dol_json_encode($listofuserid); + $_SESSION['assignedtouser']=json_encode($listofuserid); } else { if (!empty($_SESSION['assignedtouser'])) { - $listofuserid=dol_json_decode($_SESSION['assignedtouser'], true); + $listofuserid=json_decode($_SESSION['assignedtouser'], true); } } print $form->select_dolusers_forevent(($action=='create'?'add':'update'), 'assignedtouser', 1, '', 0, '', '', 0, 0, 0, 'AND u.statut != 0'); - if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': '.$langs->trans("Busy"); + if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': '.$langs->trans("Busy"); print '
'.$langs->trans("ActionOnContact").''; - $form->select_contacts(GETPOST('socid','int'),GETPOST('contactid'),'contactid',1); + $form->select_contacts(GETPOST('socid','int'), GETPOST('contactid'), 'contactid', 1, '', '', 0, 'minwidth200'); print '
'.$langs->trans("Project").''; + print '
'.$langs->trans("Project").''; $numproject=$formproject->select_projects((! empty($societe->id)?$societe->id:0),GETPOST("projectid")?GETPOST("projectid"):'','projectid'); if ($numproject==0) @@ -764,7 +793,7 @@ if ($action == 'create') print '
'.$langs->trans("Description").''; + print '
'.$langs->trans("Description").''; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor=new DolEditor('note',(GETPOST('note')?GETPOST('note'):$object->note),'',180,'dolibarr_notes','In',true,true,$conf->fckeditor->enabled,ROWS_6,90); $doleditor->Create(); @@ -783,11 +812,13 @@ if ($action == 'create') print '
'; - print '

'; + dol_fiche_end(); + + print '
'; print ''; - print '     '; + print '     '; print ''; - print '
'; + print ''; print ""; } @@ -840,10 +871,10 @@ if ($id > 0) $(".fulldayendhour").removeAttr("disabled"); $(".fulldayendmin").removeAttr("disabled"); } else { - $(".fulldaystarthour").attr("disabled","disabled").val("00"); - $(".fulldaystartmin").attr("disabled","disabled").val("00"); - $(".fulldayendhour").attr("disabled","disabled").val("23"); - $(".fulldayendmin").attr("disabled","disabled").val("59"); + $(".fulldaystarthour").prop("disabled", true).val("00"); + $(".fulldaystartmin").prop("disabled", true).val("00"); + $(".fulldayendhour").prop("disabled", true).val("23"); + $(".fulldayendmin").prop("disabled", true).val("59"); } } setdatefields(); @@ -881,7 +912,7 @@ if ($id > 0) print '
'.$langs->trans("EventOnFullDay").'fulldayevent?' checked="checked"':'').'>
'.$langs->trans("EventOnFullDay").'fulldayevent?' checked':'').'>
'.$langs->trans("DateActionStart").''; @@ -909,7 +940,7 @@ if ($id > 0) } // Assigned to - print '
'.$langs->trans("ActionAssignedTo").''; + print '
'.$langs->trans("ActionAssignedTo").''; $listofuserid=array(); if (empty($donotclearsession)) { @@ -923,17 +954,17 @@ if ($id > 0) if ($val['id'] && $val['id'] != $object->userownerid) $listofuserid[$val['id']]=$val; } } - $_SESSION['assignedtouser']=dol_json_encode($listofuserid); + $_SESSION['assignedtouser']=json_encode($listofuserid); } else { if (!empty($_SESSION['assignedtouser'])) { - $listofuserid=dol_json_decode($_SESSION['assignedtouser'], true); + $listofuserid=json_decode($_SESSION['assignedtouser'], true); } } print $form->select_dolusers_forevent(($action=='create'?'add':'update'), 'assignedtouser', 1, '', 0, '', '', 0, 0, 0, 'AND u.statut != 0'); - if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': id]['transparency']?' checked="checked"':'').'">'.$langs->trans("Busy"); + if (in_array($user->id,array_keys($listofuserid))) print $langs->trans("MyAvailability").': id]['transparency']?' checked':'').'">'.$langs->trans("Busy"); print '
'.$langs->trans("Contact").''; - $form->select_contacts($object->socid, $object->contactid,'contactid',1); + $form->select_contacts($object->socid, $object->contactid, 'contactid', 1, '', '', 0, 'minwidth200'); print '
'.$langs->trans("Project").''; + print '
'.$langs->trans("Project").''; $numprojet=$formproject->select_projects($object->socid,$object->fk_project,'projectid'); if ($numprojet==0) { @@ -985,7 +1016,7 @@ if ($id > 0) } // Priority - print '
'.$langs->trans("Priority").''; + print '
'.$langs->trans("Priority").''; print ''; print '
'.$langs->trans("Description").''; + print '
'.$langs->trans("Description").''; // Editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $doleditor=new DolEditor('note',$object->note,'',240,'dolibarr_notes','In',true,true,$conf->fckeditor->enabled,ROWS_5,90); @@ -1017,9 +1048,11 @@ if ($id > 0) dol_fiche_end(); - print '
'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } @@ -1027,6 +1060,15 @@ if ($id > 0) { dol_fiche_head($head, 'card', $langs->trans("Action"),0,'action'); + + // Clone event + if($action == 'clone') + { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . GETPOST('id'), $langs->trans('CloneAction'), $langs->trans('ConfirmCloneAction', $object->label), 'confirm_clone', $formquestion, 'yes', 1); + + print $formconfirm; + } + // Affichage fiche action en mode visu print ''; @@ -1047,7 +1089,7 @@ if ($id > 0) print ''; // Full day event - print ''; + print ''; $rowspan=4; if (empty($conf->global->AGENDA_DISABLE_LOCATION)) $rowspan++; @@ -1093,13 +1135,13 @@ if ($id > 0) if ($val['id'] && $val['id'] != $object->userownerid) $listofuserid[$val['id']]=$val; } } - $_SESSION['assignedtouser']=dol_json_encode($listofuserid); + $_SESSION['assignedtouser']=json_encode($listofuserid); } else { if (!empty($_SESSION['assignedtouser'])) { - $listofuserid=dol_json_decode($_SESSION['assignedtouser'], true); + $listofuserid=json_decode($_SESSION['assignedtouser'], true); } } print $form->select_dolusers_forevent('view','assignedtouser',1); @@ -1160,7 +1202,7 @@ if ($id > 0) // Project if (! empty($conf->projet->enabled)) { - print ''; @@ -1184,7 +1226,7 @@ if ($id > 0) } // Description - print ''; @@ -1233,7 +1275,17 @@ if ($id > 0) { print ''; } - + + if ($user->rights->agenda->allactions->create || + (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->create)) + { + print ''; + } + else + { + print ''; + } + if ($user->rights->agenda->allactions->delete || (($object->authorid == $user->id || $object->userownerid == $user->id) && $user->rights->agenda->myactions->delete)) { @@ -1259,7 +1311,7 @@ if ($id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone pictoactionview"').' '; print ''."\n"; print ''; print ''; @@ -1268,7 +1320,7 @@ if ($id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone pictoactionview"').' '; print ''."\n"; print ''; print ''; @@ -1277,7 +1329,7 @@ if ($id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone pictoactionview"').' '; print ''."\n"; print ''; print ''; @@ -1286,7 +1338,7 @@ if ($id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone pictoactionview"').' '; print ''."\n"; print ''; diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index bda4362bed9..ec2a6c4a182 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -60,6 +61,7 @@ class ActionComm extends CommonObject /** * @var string * @deprecated Use $label + * @see label */ public $libelle; @@ -70,6 +72,7 @@ class ActionComm extends CommonObject * Object user that create action * @var User * @deprecated + * @see authorid */ var $author; @@ -77,6 +80,7 @@ class ActionComm extends CommonObject * Object user that modified action * @var User * @deprecated + * @see usermodid */ var $usermod; var $authorid; // Id user that create action @@ -113,6 +117,7 @@ class ActionComm extends CommonObject * Object user of owner * @var User * @deprecated + * @see userownerid */ var $usertodo; @@ -120,6 +125,7 @@ class ActionComm extends CommonObject * Object user that did action * @var User * @deprecated + * @see userdoneid */ var $userdone; @@ -129,12 +135,16 @@ class ActionComm extends CommonObject /** * Company linked to action (optional) * @var Societe|null + * @deprecated + * @see socid */ var $societe; /** * Contact linked to action (optional) * @var Contact|null + * @deprecated + * @see contactid */ var $contact; @@ -210,8 +220,16 @@ class ActionComm extends CommonObject if ($this->elementtype=='commande') $this->elementtype='order'; if ($this->elementtype=='contrat') $this->elementtype='contract'; + if (! is_array($this->userassigned) && ! empty($this->userassigned)) // For backward compatibility + { + $tmpid=$this->userassigned; + $this->userassigned=array(); + $this->userassigned[$tmpid]=array('id'=>$tmpid); + } + if (is_object($this->contact) && $this->contact->id > 0 && ! ($this->contactid > 0)) $this->contactid = $this->contact->id; // For backward compatibility. Using this->contact->xx is deprecated + $userownerid=$this->userownerid; $userdoneid=$this->userdoneid; @@ -327,7 +345,7 @@ class ActionComm extends CommonObject $action='create'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('actioncommdao')); $parameters=array('actcomm'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -373,6 +391,68 @@ class ActionComm extends CommonObject } + /** + * Load an object from its id and create a new one in database + * + * @param user $fuser Object user making action + * @param int $socid Id of thirdparty + * @return int New id of clone + */ + function createFromClone($fuser, $socid) + { + global $db, $user, $langs, $conf, $hookmanager; + + $this->context['createfromclone']='createfromclone'; + + $error=0; + $now=dol_now(); + + $this->db->begin(); + + // Load source object + $objFrom = dol_clone($this); + + $this->fetch_optionals(); + $this->fetch_userassigned(); + + $this->id=0; + + // Create clone + $result=$this->add($fuser); + if ($result < 0) $error++; + + if (! $error) + { + // Hook of thirdparty module + if (is_object($hookmanager)) + { + $parameters=array('objFrom'=>$objFrom); + $action=''; + $reshook=$hookmanager->executeHooks('createFrom',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) $error++; + } + + // Call trigger + $result=$this->call_trigger('ACTION_CLONE', $fuser); + if ($result < 0) { $error++; } + // End call triggers + } + + unset($this->context['createfromclone']); + + // End + if (! $error) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -1; + } + } + /** * Load object from database * @@ -459,7 +539,7 @@ class ActionComm extends CommonObject $this->fulldayevent = $obj->fulldayevent; $this->location = $obj->location; $this->transparency = $obj->transparency; - $this->punctual = $obj->punctual; + $this->punctual = $obj->punctual; // deprecated $this->socid = $obj->fk_soc; // To have fetch_thirdparty method working $this->contactid = $obj->fk_contact; // To have fetch_contact method working @@ -651,7 +731,7 @@ class ActionComm extends CommonObject $action='update'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('actioncommdao')); $parameters=array('actcomm'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -676,6 +756,10 @@ class ActionComm extends CommonObject foreach($this->userassigned as $key => $val) { + if (! is_array($val)) // For backward compatibility when val=id + { + $val=array('id'=>$val); + } $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['manadatory'])?'0':$val['manadatory']).", ".(empty($val['transparency'])?'0':$val['transparency']).", ".(empty($val['answer_status'])?'0':$val['answer_status']).")"; @@ -737,7 +821,7 @@ class ActionComm extends CommonObject $sql = "SELECT a.id"; $sql.= " FROM ".MAIN_DB_PREFIX."actioncomm as a"; - $sql.= " WHERE a.entity = ".$conf->entity; + $sql.= " WHERE a.entity IN (".getEntity('actioncomm', 1).")"; if (! empty($socid)) $sql.= " AND a.fk_soc = ".$socid; if (! empty($elementtype)) { @@ -773,18 +857,14 @@ class ActionComm extends CommonObject } /** - * Load indicators for dashboard (this->nbtodo and this->nbtodolate) + * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * - * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @param User $user Objet user + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { - global $conf, $user; - - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; + global $conf, $user, $langs; $sql = "SELECT a.id, a.datep as dp"; $sql.= " FROM (".MAIN_DB_PREFIX."actioncomm as a"; @@ -792,7 +872,7 @@ class ActionComm extends CommonObject if (! $user->rights->societe->client->voir && ! $user->societe_id) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON a.fk_soc = s.rowid"; $sql.= " WHERE a.percent >= 0 AND a.percent < 100"; - $sql.= " AND a.entity = ".$conf->entity; + $sql.= " AND a.entity IN (".getEntity('actioncomm', 1).")"; if (! $user->rights->societe->client->voir && ! $user->societe_id) $sql.= " AND (a.fk_soc IS NULL OR sc.fk_user = " .$user->id . ")"; if ($user->societe_id) $sql.=" AND a.fk_soc = ".$user->societe_id; 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 . ")"; @@ -800,13 +880,25 @@ class ActionComm extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $now = dol_now(); + + $response = new WorkboardResponse(); + $response->warning_delay = $conf->actions->warning_delay/60/60/24; + $response->label = $langs->trans("ActionsToDo"); + $response->url = DOL_URL_ROOT.'/comm/action/listactions.php?status=todo&mainmenu=agenda'; + $response->img = img_object($langs->trans("Actions"),"action"); + // This assignment in condition is not a bug. It allows walking the results. while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if (isset($obj->dp) && $this->db->jdate($obj->dp) < ($now - $conf->actions->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { @@ -946,7 +1038,7 @@ class ActionComm extends CommonObject * Return URL of event * Use $this->id, $this->type_code, $this->label and $this->type_label * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $maxlength Nombre de caracteres max dans libelle * @param string $classname Force style class on a link * @param string $option ''=Link to action,'birthday'=Link to contact @@ -958,36 +1050,42 @@ class ActionComm extends CommonObject global $conf,$langs; $result=''; - if ($option=='birthday') $lien = ''; - else $lien = ''; - $lienfin=''; - $label=$this->label; - if (empty($label)) $label=$this->libelle; // For backward compatibility + $tooltip = '' . $langs->trans('ShowAction'.$objp->code) . ''; + if (! empty($this->ref)) + $tooltip .= '
' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->label)) + $tooltip .= '
' . $langs->trans('Title') . ': ' . $this->label; + $label = $this->label; + if (empty($label)) $label=$this->libelle; // For backward compatibility + $linkclose = '" title="'.dol_escape_htmltag($tooltip, 1).'">'; + if ($option=='birthday') $link = 'type_code); + if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) $libelle=$langs->transnoentities("Action".$this->type_code); $libelleshort=''; } else - { - $libelle=(empty($this->libelle)?$label:$this->libelle.(($label && $label != $this->libelle)?' '.$label:'')); - if (! empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($libelle)) $libelle=($langs->transnoentities("Action".$this->type_code) != "Action".$this->type_code)?$langs->transnoentities("Action".$this->type_code):$this->type_label; - $libelleshort=dol_trunc($libelle,$maxlength); + { + $libelle=(empty($this->libelle)?$label:$this->libelle.(($label && $label != $this->libelle)?' '.$label:'')); + if (! empty($conf->global->AGENDA_USE_EVENT_TYPE) && empty($libelle)) $libelle=($langs->transnoentities("Action".$this->type_code) != "Action".$this->type_code)?$langs->transnoentities("Action".$this->type_code):$this->type_label; + $libelleshort=dol_trunc($libelle,$maxlength); } if ($withpicto) { - if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) // Add code into () - { - $libelle.=(($this->type_code && $libelle!=$langs->transnoentities("Action".$this->type_code) && $langs->transnoentities("Action".$this->type_code)!="Action".$this->type_code)?' ('.$langs->transnoentities("Action".$this->type_code).')':''); - } - $result.=$lien.img_object($langs->trans("ShowAction").': '.$libelle,($overwritepicto?$overwritepicto:'action')).$lienfin; + if (! empty($conf->global->AGENDA_USE_EVENT_TYPE)) // Add code into () + { + $libelle.=(($this->type_code && $libelle!=$langs->transnoentities("Action".$this->type_code) && $langs->transnoentities("Action".$this->type_code)!="Action".$this->type_code)?' ('.$langs->transnoentities("Action".$this->type_code).')':''); + } + $result.=$link.img_object($langs->trans("ShowAction").': '.$libelle, ($overwritepicto?$overwritepicto:'action'), 'class="classfortooltip"').$linkend; } if ($withpicto==1) $result.=' '; - $result.=$lien.$libelleshort.$lienfin; + $result.=$link.$libelleshort.$linkend; return $result; } @@ -1071,7 +1169,7 @@ class ActionComm extends CommonObject // We must filter on assignement table if ($filters['logint'] || $filters['login']) $sql.=", ".MAIN_DB_PREFIX."actioncomm_resources as ar"; $sql.= " WHERE a.fk_action=c.id"; - $sql.= " AND a.entity = ".$conf->entity; + $sql.= " AND a.entity IN (".getEntity('actioncomm', 1).")"; foreach ($filters as $key => $value) { if ($key == 'notolderthan' && $value != '') $sql.=" AND a.datep >= '".$this->db->idate($now-($value*24*60*60))."'"; @@ -1243,5 +1341,22 @@ class ActionComm extends CommonObject $this->userassigned[$user->id]=array('id'=>$user->id, 'transparency'=> 1); } + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'actioncomm' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } + } diff --git a/htdocs/comm/action/class/ical.class.php b/htdocs/comm/action/class/ical.class.php index e7bddb8bd7e..54f97fa2117 100644 --- a/htdocs/comm/action/class/ical.class.php +++ b/htdocs/comm/action/class/ical.class.php @@ -220,8 +220,8 @@ class ICal } if (($key == "DTSTAMP") or ($key == "LAST-MODIFIED") or ($key == "CREATED")) $value = $this->ical_date_to_unix($value); - if ($key == "RRULE" ) $value = $this->ical_rrule($value); - + //if ($key == "RRULE" ) $value = $this->ical_rrule($value); + if (stristr($key,"DTSTART") or stristr($key,"DTEND") or stristr($key,"DTSTART;VALUE=DATE") or stristr($key,"DTEND;VALUE=DATE")) { if (stristr($key,"DTSTART;VALUE=DATE") or stristr($key,"DTEND;VALUE=DATE")) diff --git a/htdocs/comm/action/document.php b/htdocs/comm/action/document.php index 82d88089684..d45a18e3e8c 100644 --- a/htdocs/comm/action/document.php +++ b/htdocs/comm/action/document.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Simon TOSSER @@ -143,7 +143,7 @@ if ($object->id > 0) print '
'; // Full day event - print ''; + print ''; // Date start print ''; + print ''; print ''; print '
'.$langs->trans("Title").''.$object->label.'
'.$langs->trans("EventOnFullDay").''.yn($object->fulldayevent).'
'.$langs->trans("EventOnFullDay").''.yn($object->fulldayevent, 3).'
'.$langs->trans("Project").''; + print '
'.$langs->trans("Project").''; if ($object->fk_project) { $project=new Project($db); @@ -1171,7 +1213,7 @@ if ($id > 0) } // Priority - print '
'.$langs->trans("Priority").''; + print '
'.$langs->trans("Priority").''; print ($object->priority?$object->priority:''); print '
'.$langs->trans("Description").''; + print '
'.$langs->trans("Description").''; print dol_htmlentitiesbr($object->note); print '
'.$langs->trans("Title").''.$object->label.'
'.$langs->trans("EventOnFullDay").''.yn($object->fulldayevent).'
'.$langs->trans("EventOnFullDay").''.yn($object->fulldayevent, 3).'
'.$langs->trans("DateActionStart").''; @@ -186,13 +186,13 @@ if ($object->id > 0) if ($val['id'] && $val['id'] != $object->userownerid) $listofuserid[$val['id']]=$val; } } - $_SESSION['assignedtouser']=dol_json_encode($listofuserid); + $_SESSION['assignedtouser']=json_encode($listofuserid); } else { if (!empty($_SESSION['assignedtouser'])) { - $listofuserid=dol_json_decode($_SESSION['assignedtouser'], true); + $listofuserid=json_decode($_SESSION['assignedtouser'], true); } } print $form->select_dolusers_forevent('view','assignedtouser',1); @@ -235,7 +235,7 @@ if ($object->id > 0) // Project if (! empty($conf->projet->enabled)) { - print '
'.$langs->trans("Project").''; + print '
'.$langs->trans("Project").''; if ($object->fk_project) { $project=new Project($db); @@ -274,7 +274,7 @@ if ($object->id > 0) } - print '
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; @@ -294,7 +294,7 @@ if ($object->id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendar','class="hideonsmartphone pictoactionview"').' '; print ''."\n"; print '
'; print ''; @@ -303,7 +303,7 @@ if ($object->id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarweek','class="hideonsmartphone pictoactionview"').' '; print '
'."\n"; print '
'; print ''; @@ -312,7 +312,7 @@ if ($object->id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarday','class="hideonsmartphone pictoactionview"').' '; print '
'."\n"; print '
'; print ''; @@ -321,7 +321,7 @@ if ($object->id > 0) print ''; print ''; //print ''; - print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone"').' '; + print img_picto($langs->trans("ViewCal"),'object_calendarperuser','class="hideonsmartphone pictoactionview"').' '; print '
'."\n"; print ''; diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index 2e91a8dd76b..e5472727aa2 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -358,7 +358,7 @@ if (! empty($conf->use_javascript_ajax)) $s.='});' . "\n"; $s.='' . "\n"; - $s.='
' . $langs->trans("LocalAgenda").'  
'; + $s.='
' . $langs->trans("LocalAgenda").'  
'; if (is_array($showextcals) && count($showextcals) > 0) { $s.='' . "\n"; if (! empty($conf->use_javascript_ajax)) { - $s.='
' . $langs->trans("LocalAgenda").'  
'; + $s.='
' . $langs->trans("LocalAgenda").'  
'; if (is_array($showextcals) && count($showextcals) > 0) { foreach ($showextcals as $val) @@ -314,7 +314,7 @@ if ($conf->use_javascript_ajax) $s.=' });' . "\n"; $s.='});' . "\n"; $s.='' . "\n"; - $s.='
' . $val ['name'] . '  
'; + $s.='
' . $val ['name'] . '  
'; } } } @@ -907,9 +907,9 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & $newcolor = ''; //init if (empty($event->fulldayevent)) { - $a = dol_mktime((int) $h,0,0,$month,$day,$year,false,false); - $b = dol_mktime((int) $h,30,0,$month,$day,$year,false,false); - $c = dol_mktime((int) $h+1,0,0,$month,$day,$year,false,false); + $a = dol_mktime((int) $h,0,0,$month,$day,$year,false,0); + $b = dol_mktime((int) $h,30,0,$month,$day,$year,false,0); + $c = dol_mktime((int) $h+1,0,0,$month,$day,$year,false,0); $dateendtouse=$event->date_end_in_calendar; if ($dateendtouse==$event->date_start_in_calendar) $dateendtouse++; diff --git a/htdocs/comm/address.php b/htdocs/comm/address.php index 0ffcb351500..963847aee18 100644 --- a/htdocs/comm/address.php +++ b/htdocs/comm/address.php @@ -281,14 +281,14 @@ if ($action == 'create') print '
'."\n"; - print '
'; + print '
'; print ''; if (! empty($backtopage)) { - print '     '; + print '     '; print ''; } - print '
'."\n"; + print '
'."\n"; print ''."\n"; @@ -381,11 +381,11 @@ elseif ($action == 'edit') print '
'; - print '
'; + print '
'; print ''; - print '   '; + print '     '; print ''; - print '
'; + print ''; print ''; } diff --git a/htdocs/comm/admin/askpricesupplier_extrafields.php b/htdocs/comm/admin/askpricesupplier_extrafields.php new file mode 100644 index 00000000000..4342549c46a --- /dev/null +++ b/htdocs/comm/admin/askpricesupplier_extrafields.php @@ -0,0 +1,151 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2012 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 . + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/askpricesupplier.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +$langs->load("companies"); +$langs->load("admin"); +$langs->load('askpricesupplier'); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='askpricesupplier'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("CommRequests"); + + +llxHeader('',$langs->trans("AskPriceSupplierSetup")); + + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); + + +$head = askpricesupplier_admin_prepare_head(); + +dol_fiche_head($head, 'attributes', $langs->trans("CommRequests"), 0, 'askpricesupplier'); + + +print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; +print '
'; + +// Load attribute_label +$extrafields->fetch_name_optionals_label($elementtype); + +print ""; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +$var=True; +foreach($extrafields->attribute_type as $key => $value) +{ + $var=!$var; + print ""; + print "\n"; + print "\n"; + print "\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; + // $i++; +} + +print "
'.$langs->trans("Position").''.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_pos[$key]."".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; + print "  ".img_delete()."
"; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print ''; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel + /* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/comm/admin/askpricesupplierdet_extrafields.php b/htdocs/comm/admin/askpricesupplierdet_extrafields.php new file mode 100644 index 00000000000..e419b6a3168 --- /dev/null +++ b/htdocs/comm/admin/askpricesupplierdet_extrafields.php @@ -0,0 +1,153 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Florian Henry + * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2013 Florian Henry + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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 . + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/askpricesupplier.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + + +if (!$user->admin) + accessforbidden(); + +$langs->load("admin"); +$langs->load("other"); +$langs->load("askpricesupplier"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); + +$elementtype='askpricesupplierdet'; //Must be the $table_element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject=$langs->transnoentitiesnoconv("CommRequests"); + +llxHeader('',$langs->trans("AskPriceSupplierSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'title_setup'); + +$head = askpricesupplier_admin_prepare_head(); + +dol_fiche_head($head, 'attributeslines', $langs->trans("CommRequests"), 0, 'askpricesupplier'); + + +print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; +print '
'; + +// Load attribute_label +$extrafields->fetch_name_optionals_label($elementtype); + +print ""; + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +$var=True; +foreach($extrafields->attribute_type as $key => $value) +{ + $var=!$var; + print ""; + print "\n"; + print "\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; +} + +print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; + print "  ".img_delete()."
"; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/comm/admin/propal_extrafields.php b/htdocs/comm/admin/propal_extrafields.php index 2a1a2286db5..bd0ce34329d 100644 --- a/htdocs/comm/admin/propal_extrafields.php +++ b/htdocs/comm/admin/propal_extrafields.php @@ -61,57 +61,17 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; $textobject=$langs->transnoentitiesnoconv("Proposals"); - llxHeader('',$langs->trans("PropalSetup")); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); dol_fiche_head($head, 'attributes', $langs->trans("Proposals"), 0, 'propal'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Position").''.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_pos[$key]."".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/comm/admin/propaldet_extrafields.php b/htdocs/comm/admin/propaldet_extrafields.php index 40dbad4ef94..58ab3adf109 100644 --- a/htdocs/comm/admin/propaldet_extrafields.php +++ b/htdocs/comm/admin/propaldet_extrafields.php @@ -72,48 +72,13 @@ $textobject=$langs->transnoentitiesnoconv("Proposals"); llxHeader('',$langs->trans("PropalSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("PropalSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("PropalSetup"),$linkback,'title_setup'); $head = propal_admin_prepare_head(); dol_fiche_head($head, 'attributeslines', $langs->trans("Proposals"), 0, 'propal'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/comm/askpricesupplier/card.php b/htdocs/comm/askpricesupplier/card.php new file mode 100644 index 00000000000..bfbcc9d4273 --- /dev/null +++ b/htdocs/comm/askpricesupplier/card.php @@ -0,0 +1,1825 @@ + + * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2011 Philippe Grand + * Copyright (C) 2012-2013 Christophe Battarel + * Copyright (C) 2013-2014 Florian Henry + * Copyright (C) 2014 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 + * 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 . + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formaskpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/askpricesupplier/class/askpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/action/class/actioncomm.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/modules/askpricesupplier/modules_askpricesupplier.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/askpricesupplier.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; +if (! empty($conf->projet->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; + require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; +} + +$langs->load('companies'); +$langs->load('askpricesupplier'); +$langs->load('compta'); +$langs->load('bills'); +$langs->load('orders'); +$langs->load('products'); +$langs->load("deliveries"); +$langs->load('sendings'); +if (! empty($conf->margin->enabled)) + $langs->load('margins'); + +$error = 0; + +$id = GETPOST('id', 'int'); +$ref = GETPOST('ref', 'alpha'); +$socid = GETPOST('socid', 'int'); +$action = GETPOST('action', 'alpha'); +$origin = GETPOST('origin', 'alpha'); +$originid = GETPOST('originid', 'int'); +$confirm = GETPOST('confirm', 'alpha'); +$lineid = GETPOST('lineid', 'int'); +$contactid = GETPOST('contactid','int'); + +// PDF +$hidedetails = (GETPOST('hidedetails', 'int') ? GETPOST('hidedetails', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DETAILS) ? 1 : 0)); +$hidedesc = (GETPOST('hidedesc', 'int') ? GETPOST('hidedesc', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_DESC) ? 1 : 0)); +$hideref = (GETPOST('hideref', 'int') ? GETPOST('hideref', 'int') : (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_HIDE_REF) ? 1 : 0)); + +// Nombre de ligne pour choix de produit/service predefinis +$NBLINES = 4; + +// Security check +if (! empty($user->societe_id)) $socid = $user->societe_id; +$result = restrictedArea($user, 'askpricesupplier', $id); + +$object = new AskPriceSupplier($db); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + +// Load object +if ($id > 0 || ! empty($ref)) { + $ret = $object->fetch($id, $ref); + if ($ret > 0) + $ret = $object->fetch_thirdparty(); + if ($ret < 0) + dol_print_error('', $object->error); +} + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('askpricesuppliercard','globalcard')); + +$permissionnote = $user->rights->askpricesupplier->creer; // Used by the include of actions_setnotes.inc.php + + +/* + * Actions + */ + +$parameters = array('socid' => $socid); +$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)) +{ + include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once + + // Action clone object + if ($action == 'confirm_clone' && $confirm == 'yes') + { + if (1 == 0 && ! GETPOST('clone_content') && ! GETPOST('clone_receivers')) + { + setEventMessage($langs->trans("NoCloneOptionsSpecified"), 'errors'); + } + else + { + if ($object->id > 0) { + $result = $object->createFromClone($socid); + if ($result > 0) { + header("Location: " . $_SERVER['PHP_SELF'] . '?id=' . $result); + exit(); + } else { + setEventMessage($object->error, 'errors'); + $action = ''; + } + } + } + } + + // Delete askprice + else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->askpricesupplier->supprimer) + { + $result = $object->delete($user); + if ($result > 0) { + header('Location: ' . DOL_URL_ROOT . '/comm/askpricesupplier/list.php'); + exit(); + } else { + $langs->load("errors"); + setEventMessage($langs->trans($object->error), 'errors'); + } + } + + // Remove line + else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->askpricesupplier->creer) + { + $result = $object->deleteline($lineid); + // reorder lines + if ($result) + $object->line_order(true); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id); + exit(); + } + + // Validation + else if ($action == 'confirm_validate' && $confirm == 'yes' && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->validate))) + ) + { + $result = $object->valid($user); + if ($result >= 0) + { + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + $ret = $object->fetch($id); // Reload to get new records + + $object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + } else { + $langs->load("errors"); + if (count($object->errors) > 0) setEventMessage($object->errors, 'errors'); + else setEventMessage($langs->trans($object->error), 'errors'); + } + } + + else if ($action == 'setdate_livraison' && $user->rights->askpricesupplier->creer) + { + $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year'])); + if ($result < 0) + dol_print_error($db, $object->error); + } + + // Create askprice + else if ($action == 'add' && $user->rights->askpricesupplier->creer) + { + $object->socid = $socid; + $object->fetch_thirdparty(); + + $date_delivery = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); + + if ($socid < 1) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), 'errors'); + $action = 'create'; + $error ++; + } + + if (! $error) + { + $db->begin(); + + // Si on a selectionne une demande a copier, on realise la copie + if (GETPOST('createmode') == 'copy' && GETPOST('copie_askpricesupplier')) + { + if ($object->fetch(GETPOST('copie_askpricesupplier')) > 0) { + $object->ref = GETPOST('ref'); + $object->date_livraison = $date_delivery; + $object->shipping_method_id = GETPOST('shipping_method_id', 'int'); + $object->cond_reglement_id = GETPOST('cond_reglement_id'); + $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->fk_account = GETPOST('fk_account', 'int'); + $object->remise_percent = GETPOST('remise_percent'); + $object->remise_absolue = GETPOST('remise_absolue'); + $object->socid = GETPOST('socid'); + $object->fk_project = GETPOST('projectid'); + $object->modelpdf = GETPOST('model'); + $object->author = $user->id; // deprecated + $object->note = GETPOST('note'); + $object->statut = 0; + + $id = $object->create_from($user); + } else { + setEventMessage($langs->trans("ErrorFailedToCopyProposal", GETPOST('copie_askpricesupplier')), 'errors'); + } + } else { + $object->ref = GETPOST('ref'); + $object->date_livraison = $date_delivery; + $object->demand_reason_id = GETPOST('demand_reason_id'); + $object->shipping_method_id = GETPOST('shipping_method_id', 'int'); + $object->cond_reglement_id = GETPOST('cond_reglement_id'); + $object->mode_reglement_id = GETPOST('mode_reglement_id'); + $object->fk_account = GETPOST('fk_account', 'int'); + $object->fk_project = GETPOST('projectid'); + $object->modelpdf = GETPOST('model'); + $object->author = $user->id; // deprecated + $object->note = GETPOST('note'); + + $object->origin = GETPOST('origin'); + $object->origin_id = GETPOST('originid'); + + for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++) + { + if ($_POST['idprod' . $i]) { + $xid = 'idprod' . $i; + $xqty = 'qty' . $i; + $xremise = 'remise' . $i; + $object->add_product($_POST[$xid], $_POST[$xqty], $_POST[$xremise]); + } + } + + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels, $object); + if ($ret < 0) { + $error ++; + $action = 'create'; + } + } + + if (! $error) + { + if ($origin && $originid) + { + $element = 'comm/askpricesupplier'; + $subelement = 'askpricesupplier'; + + $object->origin = $origin; + $object->origin_id = $originid; + + // Possibility to add external linked objects with hooks + $object->linked_objects [$object->origin] = $object->origin_id; + if (is_array($_POST['other_linked_objects']) && ! empty($_POST['other_linked_objects'])) { + $object->linked_objects = array_merge($object->linked_objects, $_POST['other_linked_objects']); + } + + $id = $object->create($user); + if ($id > 0) + { + dol_include_once('/' . $element . '/class/' . $subelement . '.class.php'); + + $classname = ucfirst($subelement); + $srcobject = new $classname($db); + + dol_syslog("Try to find source object origin=" . $object->origin . " originid=" . $object->origin_id . " to add lines"); + $result = $srcobject->fetch($object->origin_id); + + if ($result > 0) + { + $lines = $srcobject->lines; + if (empty($lines) && method_exists($srcobject, 'fetch_lines')) + { + $srcobject->fetch_lines(); + $lines = $srcobject->lines; + } + + $fk_parent_line=0; + $num=count($lines); + for ($i=0;$i<$num;$i++) + { + $label=(! empty($lines[$i]->label)?$lines[$i]->label:''); + $desc=(! empty($lines[$i]->desc)?$lines[$i]->desc:$lines[$i]->libelle); + + // Positive line + $product_type = ($lines[$i]->product_type ? $lines[$i]->product_type : 0); + + // Reset fk_parent_line for no child products and special product + if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) { + $fk_parent_line = 0; + } + + // Extrafields + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { + $lines[$i]->fetch_optionals($lines[$i]->rowid); + $array_option = $lines[$i]->array_options; + } + + $tva_tx=get_default_tva($mysoc, $object->thirdparty); + + $result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, 'HT', 0, $lines[$i]->info_bits, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $array_option); + + if ($result > 0) { + $lineid = $result; + } else { + $lineid = 0; + $error ++; + break; + } + + // Defined the new fk_parent_line + if ($result > 0 && $lines[$i]->product_type == 9) { + $fk_parent_line = $result; + } + } + + // Hooks + $parameters = array('objFrom' => $srcobject); + $reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been + // modified by hook + if ($reshook < 0) + $error ++; + } else { + setEventMessages($srcobject->error, $srcobject->errors, 'errors'); + $error ++; + } + } else { + setEventMessages($object->error, $object->errors, 'errors'); + $error ++; + } + } // Standard creation + else + { + $id = $object->create($user); + } + + if ($id > 0) + { + if (! $error) + { + $db->commit(); + + // Define output language + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + $model=$object->modelpdf; + + $ret = $object->fetch($id); // Reload to get new records + $result=$object->generateDocument($model, $outputlangs, $hidedetails, $hidedesc, $hideref); + if ($result < 0) dol_print_error($db,$result); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id); + exit(); + } + else + { + $db->rollback(); + $action='create'; + } + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + $db->rollback(); + $action='create'; + } + } + } + } + + // Reopen proposal + else if ($action == 'confirm_reopen' && $user->rights->askpricesupplier->cloturer && ! GETPOST('cancel')) { + // prevent browser refresh from reopening proposal several times + if ($object->statut == 2 || $object->statut == 3 || $object->statut == 4) { + $object->reopen($user, 1); + } + } + + // Close proposal + else if ($action == 'setstatut' && $user->rights->askpricesupplier->cloturer && ! GETPOST('cancel')) { + if (! GETPOST('statut')) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), 'errors'); + $action = 'statut'; + } else { + // prevent browser refresh from closing proposal several times + if ($object->statut == 1) { + $object->cloture($user, GETPOST('statut'), GETPOST('note')); + } + } + } + + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; + + + /* + * Send mail + */ + + // Actions to send emails + $actiontypecode='AC_ASKPRICE'; + $trigger_name='ASKPRICESUPPLIER_SENTBYMAIL'; + $paramname='id'; + $mode='emailfromaskpricesupplier'; + include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php'; + + + + // Go back to draft + if ($action == 'modif' && $user->rights->askpricesupplier->creer) + { + $object->set_draft($user); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + } + + else if ($action == "setabsolutediscount" && $user->rights->askpricesupplier->creer) { + if ($_POST["remise_id"]) { + if ($object->id > 0) { + $result = $object->insert_discount($_POST["remise_id"]); + if ($result < 0) { + setEventMessage($object->error, 'errors'); + } + } + } + } + + // Add line + else if ($action == 'addline' && $user->rights->askpricesupplier->creer) { + + // Set if we used free entry or predefined product + $predef=''; + $product_desc=(GETPOST('dp_desc')?GETPOST('dp_desc'):''); + $price_ht = GETPOST('price_ht'); + + if (GETPOST('prod_entry_mode') == 'free') + { + $idprod=0; + $tva_tx = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); + } + else + { + $idprod=GETPOST('idprod', 'int'); + $tva_tx = ''; + } + + $qty = GETPOST('qty' . $predef); + $remise_percent = GETPOST('remise_percent' . $predef); + + // Extrafields + $extrafieldsline = new ExtraFields($db); + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + // Unset extrafield + if (is_array($extralabelsline)) { + // Get extra fields + foreach ($extralabelsline as $key => $value) { + unset($_POST["options_" . $key]); + } + } + + if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && GETPOST('type') < 0) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), 'errors'); + $error ++; + } + + if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && $price_ht == '') // Unit price can be 0 but not ''. Also price can be negative for proposal. + { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), 'errors'); + $error ++; + } + if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && empty($product_desc)) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Description")), 'errors'); + $error ++; + } + + if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) { + $pu_ht = 0; + $pu_ttc = 0; + $price_min = 0; + $price_base_type = (GETPOST('price_base_type', 'alpha') ? GETPOST('price_base_type', 'alpha') : 'HT'); + + $db->begin(); + + // Ecrase $pu par celui du produit + // Ecrase $desc par celui du produit + // Ecrase $txtva par celui du produit + if (! empty($idprod)) { + $prod = new Product($db); + $prod->fetch($idprod); + + $label = ((GETPOST('product_label') && GETPOST('product_label') != $prod->label) ? GETPOST('product_label') : ''); + + // If prices fields are update + $tva_tx = get_default_tva($mysoc, $object->thirdparty, $prod->id); + $tva_npr = get_default_npr($mysoc, $object->thirdparty, $prod->id); + + //On garde le prix indiqué dans l'input pour la demande de prix fournisseur + //$pu_ht = $prod->price; + $pu_ht = price2num($price_ht, 'MU'); + //$pu_ttc = $prod->price_ttc; + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); + + $price_min = $prod->price_min; + $price_base_type = $prod->price_base_type; + + // On defini prix unitaire + if (! empty($conf->global->PRODUIT_MULTIPRICES) && $object->thirdparty->price_level) + { + $pu_ht = $prod->multiprices[$object->thirdparty->price_level]; + $pu_ttc = $prod->multiprices_ttc[$object->thirdparty->price_level]; + $price_min = $prod->multiprices_min[$object->thirdparty->price_level]; + $price_base_type = $prod->multiprices_base_type[$object->thirdparty->price_level]; + if (isset($prod->multiprices_tva_tx[$object->thirdparty->price_level])) $tva_tx=$prod->multiprices_tva_tx[$object->thirdparty->price_level]; + if (isset($prod->multiprices_recuperableonly[$object->thirdparty->price_level])) $tva_npr=$prod->multiprices_recuperableonly[$object->thirdparty->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' => $object->thirdparty->id); + + $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); + if ($result) { + 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; + $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; + } + } + } + + // if price ht is forced (ie: calculated by margin rate and cost price) + if (! empty($price_ht)) { + $pu_ht = price2num($price_ht, 'MU'); + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); + } + + // 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). + elseif ($tva_tx != $prod->tva_tx) { + if ($price_base_type != 'HT') { + $pu_ht = price2num($pu_ttc / (1 + ($tva_tx / 100)), 'MU'); + } else { + $pu_ttc = price2num($pu_ht * (1 + ($tva_tx / 100)), 'MU'); + } + } + + $desc = ''; + + // Define output language + if (! empty($conf->global->MAIN_MULTILANGS) && ! empty($conf->global->PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE)) { + $outputlangs = $langs; + $newlang = ''; + if (empty($newlang) && GETPOST('lang_id')) + $newlang = GETPOST('lang_id'); + if (empty($newlang)) + $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + + $desc = (! empty($prod->multilangs [$outputlangs->defaultlang] ["description"])) ? $prod->multilangs [$outputlangs->defaultlang] ["description"] : $prod->description; + } else { + $desc = $prod->description; + } + + $desc = dol_concatdesc($desc, $product_desc); + + // Add custom code and origin country into description + if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) { + $tmptxt = '('; + if (! empty($prod->customcode)) + $tmptxt .= $langs->transnoentitiesnoconv("CustomCode") . ': ' . $prod->customcode; + if (! empty($prod->customcode) && ! empty($prod->country_code)) + $tmptxt .= ' - '; + if (! empty($prod->country_code)) + $tmptxt .= $langs->transnoentitiesnoconv("CountryOrigin") . ': ' . getCountry($prod->country_code, 0, $db, $langs, 0); + $tmptxt .= ')'; + $desc = dol_concatdesc($desc, $tmptxt); + } + + $type = $prod->type; + } else { + $pu_ht = price2num($price_ht, 'MU'); + $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); + $tva_npr = (preg_match('/\*/', $tva_tx) ? 1 : 0); + $tva_tx = str_replace('*', '', $tva_tx); + $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); + $desc = $product_desc; + $type = GETPOST('type'); + } + + // Margin + $fournprice = (GETPOST('fournprice' . $predef) ? GETPOST('fournprice' . $predef) : ''); + $buyingprice = (GETPOST('buying_price' . $predef) ? GETPOST('buying_price' . $predef) : ''); + + // Local Taxes + $localtax1_tx = get_localtax($tva_tx, 1, $object->thirdparty); + $localtax2_tx = get_localtax($tva_tx, 2, $object->thirdparty); + + $info_bits = 0; + if ($tva_npr) + $info_bits |= 0x01; + + if (! empty($price_min) && (price2num($pu_ht) * (1 - price2num($remise_percent) / 100) < price2num($price_min))) { + $mesg = $langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)); + setEventMessage($mesg, 'errors'); + } else { + // Insert line + $ref_fourn = GETPOST('fourn_ref'); + $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $array_option, $ref_fourn); + + if ($result > 0) { + $db->commit(); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + unset($_POST['prod_entry_mode']); + + unset($_POST['qty']); + unset($_POST['type']); + unset($_POST['remise_percent']); + unset($_POST['price_ht']); + unset($_POST['price_ttc']); + unset($_POST['tva_tx']); + unset($_POST['product_ref']); + unset($_POST['product_label']); + unset($_POST['product_desc']); + unset($_POST['fournprice']); + unset($_POST['buying_price']); + unset($_POST['np_marginRate']); + unset($_POST['np_markRate']); + unset($_POST['dp_desc']); + unset($_POST['idprod']); + + } else { + $db->rollback(); + + setEventMessage($object->error, 'errors'); + } + } + } + } + + // Mise a jour d'une ligne dans la demande de prix + else if ($action == 'updateligne' && $user->rights->askpricesupplier->creer && GETPOST('save') == $langs->trans("Save")) { + // Define info_bits + $info_bits = 0; + if (preg_match('/\*/', GETPOST('tva_tx'))) + $info_bits |= 0x01; + + // Clean parameters + $description = dol_htmlcleanlastbr(GETPOST('product_desc')); + + // Define vat_rate + $vat_rate = (GETPOST('tva_tx') ? GETPOST('tva_tx') : 0); + $vat_rate = str_replace('*', '', $vat_rate); + $localtax1_rate = get_localtax($vat_rate, 1, $object->thirdparty); + $localtax2_rate = get_localtax($vat_rate, 2, $object->thirdparty); + $pu_ht = GETPOST('price_ht') ? GETPOST('price_ht') : 0; + + // Add buying price + $fournprice = (GETPOST('fournprice') ? GETPOST('fournprice') : ''); + $buyingprice = (GETPOST('buying_price') ? GETPOST('buying_price') : ''); + + // Extrafields + $extrafieldsline = new ExtraFields($db); + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline); + // Unset extrafield + if (is_array($extralabelsline)) { + // Get extra fields + foreach ($extralabelsline as $key => $value) { + unset($_POST["options_" . $key]); + } + } + + // Define special_code for special lines + $special_code=GETPOST('special_code'); + if (! GETPOST('qty')) $special_code=3; + + // Check minimum price + $productid = GETPOST('productid', 'int'); + if (! empty($productid)) { + $product = new Product($db); + $res = $product->fetch($productid); + + $type = $product->type; + + $price_min = $product->price_min; + if (! empty($conf->global->PRODUIT_MULTIPRICES) && ! empty($object->thirdparty->price_level)) + $price_min = $product->multiprices_min [$object->thirdparty->price_level]; + + $label = ((GETPOST('update_label') && GETPOST('product_label')) ? GETPOST('product_label') : ''); + + if ($price_min && (price2num($pu_ht) * (1 - price2num(GETPOST('remise_percent')) / 100) < price2num($price_min))) { + setEventMessage($langs->trans("CantBeLessThanMinPrice", price(price2num($price_min, 'MU'), 0, $langs, 0, 0, - 1, $conf->currency)), 'errors'); + $error ++; + } + } else { + $type = GETPOST('type'); + $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); + + // Check parameters + if (GETPOST('type') < 0) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), 'errors'); + $error ++; + } + } + + if (! $error) { + $db->begin(); + $ref_fourn = GETPOST('fourn_ref'); + $result = $object->updateline(GETPOST('lineid'), $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $array_option, $ref_fourn); + + if ($result >= 0) { + $db->commit(); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + unset($_POST['qty']); + unset($_POST['type']); + unset($_POST['productid']); + unset($_POST['remise_percent']); + unset($_POST['price_ht']); + unset($_POST['price_ttc']); + unset($_POST['tva_tx']); + unset($_POST['product_ref']); + unset($_POST['product_label']); + unset($_POST['product_desc']); + unset($_POST['fournprice']); + unset($_POST['buying_price']); + } else { + $db->rollback(); + + setEventMessage($object->error, 'errors'); + } + } + } + + else if ($action == 'updateligne' && $user->rights->askpricesupplier->creer && GETPOST('cancel') == $langs->trans('Cancel')) { + header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition + exit(); + } + + // Generation doc (depuis lien ou depuis cartouche doc) + else if ($action == 'builddoc' && $user->rights->askpricesupplier->creer) { + if (GETPOST('model')) { + $object->setDocModel($user, GETPOST('model')); + } + + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $result = $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + if ($result <= 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; + } + } + + // Remove file in doc form + else if ($action == 'remove_file' && $user->rights->askpricesupplier->creer) { + if ($object->id > 0) { + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + + $langs->load("other"); + $upload_dir = $conf->askpricesupplier->dir_output; + $file = $upload_dir . '/' . GETPOST('file'); + $ret = dol_delete_file($file, 0, 0, 0, $object); + if ($ret) + setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); + else + setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); + } + } + + // Set project + else if ($action == 'classin' && $user->rights->askpricesupplier->creer) { + $object->setProject($_POST['projectid']); + } + + // Delai de livraison + else if ($action == 'setavailability' && $user->rights->askpricesupplier->creer) { + $result = $object->availability($_POST['availability_id']); + } + + // Conditions de reglement + else if ($action == 'setconditions' && $user->rights->askpricesupplier->creer) { + $result = $object->setPaymentTerms(GETPOST('cond_reglement_id', 'int')); + } + + else if ($action == 'setremisepercent' && $user->rights->askpricesupplier->creer) { + $result = $object->set_remise_percent($user, $_POST['remise_percent']); + } + + else if ($action == 'setremiseabsolue' && $user->rights->askpricesupplier->creer) { + $result = $object->set_remise_absolue($user, $_POST['remise_absolue']); + } + + // Mode de reglement + else if ($action == 'setmode' && $user->rights->askpricesupplier->creer) { + $result = $object->setPaymentMethods(GETPOST('mode_reglement_id', 'int')); + } + + /* + * Ordonnancement des lignes + */ + + else if ($action == 'up' && $user->rights->askpricesupplier->creer) { + $object->line_up(GETPOST('rowid')); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid')); + exit(); + } + + else if ($action == 'down' && $user->rights->askpricesupplier->creer) { + $object->line_down(GETPOST('rowid')); + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) { + $outputlangs = new Translate("", $conf); + $newlang = (GETPOST('lang_id') ? GETPOST('lang_id') : $object->thirdparty->default_lang); + $outputlangs->setDefaultLang($newlang); + } + $ret = $object->fetch($id); // Reload to get new records + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $id . '#' . GETPOST('rowid')); + exit(); + } else if ($action == 'update_extras') { + // Fill array 'array_options' with data from update form + $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); + $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute')); + if ($ret < 0) + $error ++; + + if (! $error) { + // Actions on extra fields (by external module or standard code) + $hookmanager->initHooks(array('askpricesupplierdao')); + $parameters = array('id' => $object->id); + $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been + // modified by + // some hooks + if (empty($reshook)) { + $result = $object->insertExtraFields(); + if ($result < 0) { + $error ++; + } + } else if ($reshook < 0) + $error ++; + } + + if ($error) + $action = 'edit_extras'; + } +} + + +/* + * View + */ + +llxHeader('', $langs->trans('CommRequests'), 'EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'); + +$form = new Form($db); +$formother = new FormOther($db); +$formfile = new FormFile($db); +$formaskpricesupplier = new FormAskPriceSupplier($db); +$companystatic = new Societe($db); + +$now = dol_now(); + +// Add new askprice +if ($action == 'create') +{ + print_fiche_titre($langs->trans("NewAskPrice")); + + $soc = new Societe($db); + if ($socid > 0) + $res = $soc->fetch($socid); + + // Load objectsrc + if (! empty($origin) && ! empty($originid)) + { + $element = 'comm/askpricesupplier'; + $subelement = 'askpricesupplier'; + + dol_include_once('/' . $element . '/class/' . $subelement . '.class.php'); + + $classname = ucfirst($subelement); + $objectsrc = new $classname($db); + $objectsrc->fetch($originid); + if (empty($objectsrc->lines) && method_exists($objectsrc, 'fetch_lines')) + { + $objectsrc->fetch_lines(); + } + $objectsrc->fetch_thirdparty(); + + $projectid = (! empty($objectsrc->fk_project) ? $objectsrc->fk_project : ''); + $soc = $objectsrc->thirdparty; + + $cond_reglement_id = (! empty($objectsrc->cond_reglement_id)?$objectsrc->cond_reglement_id:(! empty($soc->cond_reglement_id)?$soc->cond_reglement_id:1)); + $mode_reglement_id = (! empty($objectsrc->mode_reglement_id)?$objectsrc->mode_reglement_id:(! empty($soc->mode_reglement_id)?$soc->mode_reglement_id:0)); + $remise_percent = (! empty($objectsrc->remise_percent)?$objectsrc->remise_percent:(! empty($soc->remise_percent)?$soc->remise_percent:0)); + $remise_absolue = (! empty($objectsrc->remise_absolue)?$objectsrc->remise_absolue:(! empty($soc->remise_absolue)?$soc->remise_absolue:0)); + + // Replicate extrafields + $objectsrc->fetch_optionals($originid); + $object->array_options = $objectsrc->array_options; + + } + + $object = new AskPriceSupplier($db); + + print '
'; + print ''; + print ''; + if ($origin != 'project' && $originid) { + print ''; + print ''; + } + + dol_fiche_head(); + + print ''; + + // Reference + print ''; + + // Third party + print ''; + print ''; + if ($socid > 0) { + print ''; + } else { + print ''; + } + print '' . "\n"; + + // Terms of payment + print ''; + + // Mode of payment + print ''; + + // Bank Account + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) { + print ''; + } + + // Shipping Method + if (! empty($conf->expedition->enabled)) { + print ''; + } + + // Delivery date (or manufacturing) + print ''; + print ''; + + + // Model + print ''; + print ''; + print '"; + + // Project + if (! empty($conf->projet->enabled) && $socid > 0) { + + $formproject = new FormProjets($db); + + $projectid = 0; + if ($origin == 'project') + $projectid = ($originid ? $originid : 0); + + print ''; + print ''; + print ''; + } + + + // Other attributes + $parameters = array('colspan' => ' colspan="3"'); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified + // by + // hook + if (empty($reshook) && ! empty($extrafields->attribute_label)) { + print $object->showOptionals($extrafields, 'edit'); + } + + + // Lines from source + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) + { + // TODO for compatibility + if ($origin == 'contrat') { + // Calcul contrat->price (HT), contrat->total (TTC), contrat->tva + $objectsrc->remise_absolue = $remise_absolue; + $objectsrc->remise_percent = $remise_percent; + $objectsrc->update_price(1, - 1, 1); + } + + print "\n"; + print "\n"; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print ''; + print ''; + + print ''; + print ''; + print '"; + if ($mysoc->localtax1_assuj == "1" || $objectsrc->total_localtax1 != 0 ) // Localtax1 + { + print '"; + } + + if ($mysoc->localtax2_assuj == "1" || $objectsrc->total_localtax2 != 0) // Localtax2 + { + print '"; + } + print '"; + } + + print "
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
' . $langs->trans('Supplier') . ''; + print $soc->getNomUrl(1); + print ''; + print ''; + print $form->select_company('', 'socid', 's.fournisseur = 1', 1); + print '
' . $langs->trans('PaymentConditionsShort') . ''; + $form->select_conditions_paiements($soc->cond_reglement_id, 'cond_reglement_id', -1, 1); + print '
' . $langs->trans('PaymentMode') . ''; + $form->select_types_paiements($soc->mode_reglement_id, 'mode_reglement_id'); + print '
' . $langs->trans('BankAccount') . ''; + $form->select_comptes($fk_account, 'fk_account', 0, '', 1); + print '
' . $langs->trans('SendingMethod') . ''; + print $form->selectShippingMethod($shipping_method_id, 'shipping_method_id', '', 1); + print '
' . $langs->trans("DeliveryDate") . ''; + if ($conf->global->DATE_LIVRAISON_WEEK_DELAY != "") { + $tmpdte = time() + ((7 * $conf->global->DATE_LIVRAISON_WEEK_DELAY) * 24 * 60 * 60); + $syear = date("Y", $tmpdte); + $smonth = date("m", $tmpdte); + $sday = date("d", $tmpdte); + $form->select_date($syear."-".$smonth."-".$sday, 'liv_', '', '', '', "addask"); + } else { + $form->select_date(-1, 'liv_', '', '', '', "addask", 1, 1); + } + print '
' . $langs->trans("DefaultModel") . ''; + $liste = ModelePDFAskPriceSupplier::liste_modeles($db); + print $form->selectarray('model', $liste, ($conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_DEFAULT ? $conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_DEFAULT : $conf->global->ASKPRICESUPPLIER_ADDON_PDF)); + print "
' . $langs->trans("Project") . ''; + + $numprojet = $formproject->select_projects($soc->id, $projectid); + if ($numprojet == 0) { + $langs->load("projects"); + print '   ' . $langs->trans("AddProject") . ''; + } + print '
' . $langs->trans('CommRequest') . '' . $objectsrc->getNomUrl(1) . '
' . $langs->trans('TotalHT') . '' . price($objectsrc->total_ht) . '
' . $langs->trans('TotalVAT') . '' . price($objectsrc->total_tva) . "
' . $langs->transcountry("AmountLT1", $mysoc->country_code) . '' . price($objectsrc->total_localtax1) . "
' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($objectsrc->total_localtax2) . "
' . $langs->trans('TotalTTC') . '' . price($objectsrc->total_ttc) . "
\n"; + + + /* + * Combobox pour la fonction de copie + */ + + if (empty($conf->global->ASKPRICESUPPLIER_CLONE_ON_CREATE_PAGE)) print ''; + + if (! empty($conf->global->ASKPRICESUPPLIER_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '
'; + if (! empty($conf->global->ASKPRICESUPPLIER_CLONE_ON_CREATE_PAGE)) + { + // For backward compatibility + print ''; + print ''; + print ''; + print ''; + + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) + print ''; + + print ''; + print ''; + } + + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) + { + print ''; + } + if (! empty($conf->global->ASKPRICESUPPLIER_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '
' . $langs->trans("CopyAskFrom") . ' '; + $liste_ask = array(); + $liste_ask [0] = ''; + + $sql = "SELECT p.rowid as id, p.ref, s.nom"; + $sql .= " FROM " . MAIN_DB_PREFIX . "askpricesupplier p"; + $sql .= ", " . MAIN_DB_PREFIX . "societe s"; + $sql .= " WHERE s.rowid = p.fk_soc"; + $sql .= " AND p.entity = " . $conf->entity; + $sql .= " AND p.fk_statut <> 0"; + $sql .= " ORDER BY Id"; + + $resql = $db->query($sql); + if ($resql) { + $num = $db->num_rows($resql); + $i = 0; + while ($i < $num) { + $row = $db->fetch_row($resql); + $askPriceSupplierRefAndSocName = $row [1] . " - " . $row [2]; + $liste_ask [$row [0]] = $askPriceSupplierRefAndSocName; + $i ++; + } + print $form->selectarray("copie_askpricesupplier", $liste_ask, 0); + } else { + dol_print_error($db); + } + print '
 
' . $langs->trans("CreateEmptyAsk") . '
'; + if (! empty($conf->product->enabled) || ! empty($conf->service->enabled)) { + $lib = $langs->trans("ProductsAndServices"); + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + for($i = 1; $i <= $conf->global->PRODUCT_SHOW_WHEN_CREATE; $i ++) { + print ''; + print ''; + print ''; + print ''; + } + print "
' . $lib . '' . $langs->trans("Qty") . '' . $langs->trans("ReductionShort") . '
'; + // multiprix + if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) + $form->select_produits('', "idprod" . $i, '', $conf->product->limit_size, $soc->price_level); + else + $form->select_produits('', "idprod" . $i, '', $conf->product->limit_size); + print '%
"; + } + print '
'; + + dol_fiche_end(); + + print '
'; + print ''; + print '     '; + print ''; + print '
'; + + print "
"; + + + // Show origin lines + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { + print '
'; + + $title = $langs->trans('ProductsAndServices'); + print_titre($title); + + print ''; + + $objectsrc->printOriginLinesList(); + + print '
'; + } + +} else { + /* + * Show object in view mode + */ + + $soc = new Societe($db); + $soc->fetch($object->socid); + + $head = askpricesupplier_prepare_head($object); + dol_fiche_head($head, 'comm', $langs->trans('CommRequest'), 0, 'askpricesupplier'); + + $formconfirm = ''; + + // Clone confirmation + if ($action == 'clone') { + // Create an array for form + $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' => 'socid','label' => $langs->trans("SelectThirdParty"),'value' => $form->select_company(GETPOST('socid', 'int'), 'socid', 's.fournisseur=1'))); + // Paiement incomplet. On demande si motif = escompte ou autre + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('CloneAsk'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1); + } + + // Confirm delete + else if ($action == 'delete') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('DeleteAsk'), $langs->trans('ConfirmDeleteAsk', $object->ref), 'confirm_delete', '', 0, 1); + } + + // Confirm reopen + else if ($action == 'reopen') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ReOpen'), $langs->trans('ConfirmReOpenAsk', $object->ref), 'confirm_reopen', '', 0, 1); + } + + // Confirmation delete product/service line + else if ($action == 'ask_deleteline') { + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id . '&lineid=' . $lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); + } + + // Confirm validate askprice + else if ($action == 'validate') { + $error = 0; + + // on verifie si l'objet est en numerotation provisoire + $ref = substr($object->ref, 1, 4); + if ($ref == 'PROV') { + $numref = $object->getNextNumRef($soc); + if (empty($numref)) { + $error ++; + setEventMessage($object->error, 'errors'); + } + } else { + $numref = $object->ref; + } + + $text = $langs->trans('ConfirmValidateAsk', $numref); + if (! empty($conf->notification->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; + $notify = new Notify($db); + $text .= '
'; + $text .= $notify->confirmMessage('ASKPRICESUPPLIER_VALIDATE', $object->socid, $object); + } + + if (! $error) + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('ValidateAsk'), $text, 'confirm_validate', '', 0, 1); + } + + if (! $formconfirm) { + $parameters = array('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; + + print ''; + + $linkback = '' . $langs->trans("BackToList") . ''; + + // Ref + print ''; + + // Company + print ''; + print ''; + + // Payment term + print ''; + print ''; + + // Delivery date + $langs->load('deliveries'); + print ''; + print ''; + + // Payment mode + print ''; + print ''; + + // Project + if (! empty($conf->projet->enabled)) { + $langs->load("projects"); + print ''; + } else { + print '
' . $langs->trans('Ref') . ''; + print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); + print '
' . $langs->trans('Supplier') . '' . $soc->getNomUrl(1) . '
'; + print ''; + if ($action != 'editconditions' && ! empty($object->brouillon)) + print ''; + print '
'; + print $langs->trans('PaymentConditionsShort'); + print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetConditions'), 1) . '
'; + print '
'; + if ($action == 'editconditions') { + $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id', 1); + } else { + $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->cond_reglement_id, 'none', 1); + } + print '
'; + print ''; + if ($action != 'editdate_livraison' && ! empty($object->brouillon)) + print ''; + print '
'; + print $langs->trans('DeliveryDate'); + print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'), 1) . '
'; + print '
'; + if ($action == 'editdate_livraison') { + print '
'; + print ''; + print ''; + $form->select_date($object->date_livraison, 'liv_', '', '', '', "editdate_livraison"); + print ''; + print '
'; + } else { + print dol_print_date($object->date_livraison, 'daytext'); + } + print '
'; + print ''; + if ($action != 'editmode' && ! empty($object->brouillon)) + print ''; + print '
'; + print $langs->trans('PaymentMode'); + print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetMode'), 1) . '
'; + print '
'; + if ($action == 'editmode') { + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'mode_reglement_id'); + } else { + $form->form_modes_reglement($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->mode_reglement_id, 'none'); + } + print '
'; + print ''; + if ($user->rights->askpricesupplier->creer) { + if ($action != 'classify') + print ''; + print '
'; + print $langs->trans('Project') . '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '
'; + print '
'; + if ($action == 'classify') { + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid'); + } else { + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none'); + } + print '
'; + if (! empty($object->fk_project)) { + print ''; + $proj = new Project($db); + $proj->fetch($object->fk_project); + print ''; + print $proj->ref; + print ''; + print ''; + } else { + print ' '; + } + } + print ''; + } + + + if ($soc->outstanding_limit) + { + // Outstanding Bill + print ''; + print $langs->trans('OutstandingBill'); + print ''; + print price($soc->get_OutstandingBill()) . ' / '; + print price($soc->outstanding_limit, 0, '', 1, - 1, - 1, $conf->currency); + print ''; + print ''; + } + + if (! empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL) && $conf->banque->enabled) + { + // Bank Account + print ''; + print ''; + if ($action != 'editbankaccount' && $user->rights->askpricesupplier->creer) + print ''; + print '
'; + print $langs->trans('BankAccount'); + print 'id.'">'.img_edit($langs->trans('SetBankAccount'),1).'
'; + print ''; + if ($action == 'editbankaccount') { + $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'fk_account', 1); + } else { + $form->formSelectAccount($_SERVER['PHP_SELF'].'?id='.$object->id, $object->fk_account, 'none'); + } + print ''; + print ''; + } + + // Other attributes + $cols = 3; + include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; + + // Amount HT + print '' . $langs->trans('AmountHT') . ''; + print '' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; + + // Margin Infos + if (! empty($conf->margin->enabled)) { + print ''; + $object->displayMarginInfos(); + print ''; + } + print ''; + + // Amount VAT + print '' . $langs->trans('AmountVAT') . ''; + print '' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; + + // Amount Local Taxes + if ($mysoc->localtax1_assuj == "1" || $object->total_localtax1 != 0) // Localtax1 + { + print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . ''; + print '' . price($object->total_localtax1, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; + } + if ($mysoc->localtax2_assuj == "1" || $object->total_localtax2 != 0) // Localtax2 + { + print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . ''; + print '' . price($object->total_localtax2, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; + } + + // Amount TTC + print '' . $langs->trans('AmountTTC') . ''; + print '' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; + + // Statut + print '' . $langs->trans('Status') . '' . $object->getLibStatut(4) . ''; + + print '
'; + + if (! empty($conf->global->MAIN_DISABLE_CONTACTS_TAB)) { + $blocname = 'contacts'; + $title = $langs->trans('ContactsAddresses'); + include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; + } + + if (! empty($conf->global->MAIN_DISABLE_NOTES_TAB)) { + $blocname = 'notes'; + $title = $langs->trans('Notes'); + include DOL_DOCUMENT_ROOT . '/core/tpl/bloc_showhide.tpl.php'; + } + + /* + * Lines + */ + + // Show object lines + $result = $object->getLinesArray(); + + print '
+ + + + + '; + + if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { + include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; + } + + print ''; + + if (! empty($object->lines)) + $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); + + // Form to add new line + if ($object->statut == 0 && $user->rights->askpricesupplier->creer) + { + if ($action != 'editline') + { + $var = true; + + // Add products/services form + $object->formAddObjectLine(1, $mysoc, $soc); + + $parameters = array(); + $reshook = $hookmanager->executeHooks('formAddObjectLine', $parameters, $object, $action); // Note that $action and $object may have been modified by hook + } + } + + print '
'; + + print "
\n"; + + dol_fiche_end(); + + if ($action == 'statut') + { + /* + * Form to close proposal (signed or not) + */ + $form_close = '
'; + $form_close .= '

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

'; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= '
' . $langs->trans("CloseAs") . ''; + $form_close .= ''; + $form_close .= ''; + $form_close .= '
' . $langs->trans('Note') . '
'; + $form_close .= ''; + $form_close .= '   '; + $form_close .= ' '; + $form_close .= '
'; + + print $form_close; + } + + /* + * Boutons Actions + */ + if ($action != 'presend') { + print '
'; + + $parameters = array(); + $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been + // modified by hook + if (empty($reshook)) + { + if ($action != 'statut' && $action != 'editline') + { + // Validate + if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->validate))) + ) { + if (count($object->lines) > 0) + print ''; + // else print ''.$langs->trans('Validate').''; + } + + // Edit + if ($object->statut == 1 && $user->rights->askpricesupplier->creer) { + print ''; + } + + // ReOpen + if (($object->statut == 2 || $object->statut == 3 || $object->statut == 4) && $user->rights->askpricesupplier->cloturer) { + print ''; + } + + // Send + if ($object->statut == 1 || $object->statut == 2) { + if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->askpricesupplier->send) { + print ''; + } else + print ''; + } + + // Create an order + if (! empty($conf->commande->enabled) && $object->statut == 2) { + if ($user->rights->commande->creer) { + print ''; + } + } + + // Close + if ($object->statut == 1 && $user->rights->askpricesupplier->cloturer) { + print ''; + } + + // Clone + if ($user->rights->askpricesupplier->creer) { + print ''; + } + + // Delete + if ($user->rights->askpricesupplier->supprimer) { + print ''; + } + } + } + + print '
'; + } + print "
\n"; + + if ($action != 'presend') + { + print '
'; + + /* + * Documents generes + */ + $filename = dol_sanitizeFileName($object->ref); + $filedir = $conf->askpricesupplier->dir_output . "/" . dol_sanitizeFileName($object->ref); + $urlsource = $_SERVER["PHP_SELF"] . "?id=" . $object->id; + $genallowed = $user->rights->askpricesupplier->creer; + $delallowed = $user->rights->askpricesupplier->supprimer; + + $var = true; + + $somethingshown = $formfile->show_documents('askpricesupplier', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); + + // Linked object block + $somethingshown = $form->showLinkedObjectBlock($object); + + // Show links to link elements + //$linktoelem = $form->showLinkToObjectBlock($object); + //if ($linktoelem) print '
'.$linktoelem; + + print '
'; + + // List of actions on element + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formactions.class.php'; + $formactions = new FormActions($db); + $somethingshown = $formactions->showactions($object, 'askpricesupplier', $socid); + + print '
'; + } + + /* + * Action presend + */ + if (GETPOST('modelselected')) { + $action = 'presend'; + } + if ($action == 'presend') + { + $object->fetch_projet(); + + $ref = dol_sanitizeFileName($object->ref); + include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + $fileparams = dol_most_recent_file($conf->askpricesupplier->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; + + // 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); + $outputlangs->load('commercial'); + } + + // Build document if it not exists + if (! $file || ! is_readable($file)) { + $result = $object->generateDocument(GETPOST('model') ? GETPOST('model') : $object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + if ($result <= 0) + { + dol_print_error($db, $result); + exit(); + } + $fileparams = dol_most_recent_file($conf->askpricesupplier->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; + } + + print '
'; + print_titre($langs->trans('SendAskByMail')); + + // Create form object + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; + $formmail = new FormMail($db); + $formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang); + $formmail->fromtype = 'user'; + $formmail->fromid = $user->id; + $formmail->fromname = $user->getFullName($langs); + $formmail->frommail = $user->email; + $formmail->withfrom = 1; + $liste = array(); + foreach ($object->thirdparty->thirdparty_and_contact_email_array(1) as $key => $value) + $liste [$key] = $value; + $formmail->withto = GETPOST("sendto") ? GETPOST("sendto") : $liste; + $formmail->withtocc = $liste; + $formmail->withtoccc = (! empty($conf->global->MAIN_EMAIL_USECCC) ? $conf->global->MAIN_EMAIL_USECCC : false); + + $formmail->withtopic = $outputlangs->trans('SendAskRef', '__ASKREF__'); + + $formmail->withfile = 2; + $formmail->withbody = 1; + $formmail->withdeliveryreceipt = 1; + $formmail->withcancel = 1; + + // Tableau des substitutions + $formmail->substit['__ASKREF__'] = $object->ref; + $formmail->substit['__SIGNATURE__'] = $user->signature; + $formmail->substit['__THIRPARTY_NAME__'] = $object->thirdparty->name; + $formmail->substit['__PROJECT_REF__'] = (is_object($object->projet)?$object->projet->ref:''); + $formmail->substit['__CONTACTCIVNAME__'] = ''; + $formmail->substit['__PERSONALIZED__'] = ''; + + // Tableau des parametres complementaires + $formmail->param['action'] = 'send'; + $formmail->param['models'] = 'askpricesupplier_send'; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); + $formmail->param['id'] = $object->id; + $formmail->param['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id; + // Init list of files + if (GETPOST("mode") == 'init') { + $formmail->clear_attached_files(); + $formmail->add_attached_files($file, basename($file), dol_mimetype($file)); + } + + print $formmail->get_form(); + + print '
'; + } +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php b/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php new file mode 100644 index 00000000000..2854a0a0d4b --- /dev/null +++ b/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php @@ -0,0 +1,2956 @@ + + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005 Marc Barilley + * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2008 Raphael Bertrand + * Copyright (C) 2010-2015 Juanjo Menent + * Copyright (C) 2010-2011 Philippe Grand + * Copyright (C) 2012-2014 Christophe Battarel + * Copyright (C) 2013 Florian Henry + * 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 . + */ + +/** + * \file htdocs/comm/propal/class/propal.class.php + * \brief File of class to manage proposals + */ + +require_once DOL_DOCUMENT_ROOT .'/fourn/class/fournisseur.product.class.php'; +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 .'/contact/class/contact.class.php'; +require_once DOL_DOCUMENT_ROOT .'/margin/lib/margins.lib.php'; + +/** + * Class to manage price ask supplier + */ +class AskPriceSupplier extends CommonObject +{ + public $element='askpricesupplier'; + public $table_element='askpricesupplier'; + public $table_element_line='askpricesupplierdet'; + public $fk_element='fk_askpricesupplier'; + protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe + + /** + * {@inheritdoc} + */ + protected $table_ref_field = 'ref'; + + var $id; + + var $socid; // Id client + var $client; // Objet societe client (a charger par fetch_client) + + var $fk_project; + /** + * @deprecated + * @see user_author_id + */ + var $author; + var $ref; + var $ref_fourn; //Reference saisie lors de l'ajout d'une ligne à la demande + var $statut; // 0 (draft), 1 (validated), 2 (signed), 3 (not signed), 4 (billed) + var $date; // Date of proposal + var $date_livraison; + + /** + * @deprecated + * @see date_creation + */ + var $datec; + + /** + * Creation date + * @var int + */ + public $date_creation; + + /** + * @deprecated + * @see date_validation + */ + var $datev; + + /** + * Validation date + * @var int + */ + public $date_validation; + + + var $user_author_id; + var $user_valid_id; + var $user_close_id; + + var $total_ht; // Total net of tax + var $total_tva; // Total VAT + var $total_localtax1; // Total Local Taxes 1 + var $total_localtax2; // Total Local Taxes 2 + var $total_ttc; // Total with tax + + /** + * @deprecated + * @see price_ht + */ + var $price; + /** + * @deprecated + * @see total_tva + */ + var $tva; + /** + * @deprecated + * @see total_ttc + */ + var $total; + + var $cond_reglement_id; + var $cond_reglement_code; + var $fk_account; // Id of bank account + var $mode_reglement_id; + var $mode_reglement_code; + var $remise; + var $remise_percent; + var $remise_absolue; + /** + * @deprecated + * @see note_public, note_private + */ + var $note; + var $note_private; + var $note_public; + var $shipping_method_id; + + var $products=array(); + var $extraparams=array(); + + var $lines = array(); + var $line; + + var $origin; + var $origin_id; + + var $labelstatut=array(); + var $labelstatut_short=array(); + + var $nbtodo; + var $nbtodolate; + + var $specimen; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param int $socid Id third party + * @param int $askpricesupplierid Id askpricesupplier + */ + function __construct($db, $socid="", $askpricesupplierid=0) + { + global $conf,$langs; + + $this->db = $db; + $this->socid = $socid; + $this->id = $askpricesupplierid; + $this->products = array(); + $this->remise = 0; + $this->remise_percent = 0; + $this->remise_absolue = 0; + + $langs->load("askpricesupplier"); + $this->labelstatut[0]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_DRAFT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_DRAFT_LABEL : $langs->trans("AskpricesupplierStatusDraft")); + $this->labelstatut[1]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_VALIDATED_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_VALIDATED_LABEL : $langs->trans("AskpricesupplierStatusValidated")); + $this->labelstatut[2]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_SIGNED_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_SIGNED_LABEL : $langs->trans("AskpricesupplierStatusSigned")); + $this->labelstatut[3]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_NOTSIGNED_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_NOTSIGNED_LABEL : $langs->trans("AskpricesupplierStatusNotSigned")); + $this->labelstatut[4]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_BILLED_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_BILLED_LABEL : $langs->trans("AskpricesupplierStatusBilled")); + $this->labelstatut_short[0]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_DRAFTSHORT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_DRAFTSHORT_LABEL : $langs->trans("AskpricesupplierStatusDraftShort")); + $this->labelstatut_short[1]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_VALIDATEDSHORT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_VALIDATEDSHORT_LABEL : $langs->trans("Opened")); + $this->labelstatut_short[2]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_SIGNEDSHORT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_SIGNEDSHORT_LABEL : $langs->trans("AskpricesupplierStatusSignedShort")); + $this->labelstatut_short[3]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_NOTSIGNEDSHORT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_NOTSIGNEDSHORT_LABEL : $langs->trans("AskpricesupplierStatusNotSignedShort")); + $this->labelstatut_short[4]=(! empty($conf->global->ASKPRICESUPPLIER_STATUS_BILLEDSHORT_LABEL) ? $conf->global->ASKPRICESUPPLIER_STATUS_BILLEDSHORT_LABEL : $langs->trans("AskpricesupplierStatusBilledShort")); + } + + + /** + * Add line into array products + * $this->client doit etre charge + * + * @param int $idproduct Product Id to add + * @param int $qty Quantity + * @param int $remise_percent Discount effected on Product + * @return int <0 if KO, >0 if OK + * + * TODO Remplacer les appels a cette fonction par generation objet Ligne + * insere dans tableau $this->products + */ + function add_product($idproduct, $qty, $remise_percent=0) + { + global $conf, $mysoc; + + if (! $qty) $qty = 1; + + dol_syslog(get_class($this)."::add_product $idproduct, $qty, $remise_percent"); + if ($idproduct > 0) + { + $prod=new Product($this->db); + $prod->fetch($idproduct); + + $productdesc = $prod->description; + + $tva_tx = get_default_tva($mysoc,$this->client,$prod->id); + // local taxes + $localtax1_tx = get_default_localtax($mysoc,$this->client,1,$prod->tva_tx); + $localtax2_tx = get_default_localtax($mysoc,$this->client,2,$prod->tva_tx); + + // multiprix + if($conf->global->PRODUIT_MULTIPRICES && $this->client->price_level) + { + $price = $prod->multiprices[$this->client->price_level]; + } + else + { + $price = $prod->price; + } + + $line = new AskPriceSupplierLine($this->db); + + $line->fk_product=$idproduct; + $line->desc=$productdesc; + $line->qty=$qty; + $line->subprice=$price; + $line->remise_percent=$remise_percent; + $line->tva_tx=$tva_tx; + + $this->lines[]=$line; + } + } + + /** + * Adding line of fixed discount in the proposal in DB + * + * @param int $idremise Id of fixed discount + * @return int >0 if OK, <0 if KO + */ + function insert_discount($idremise) + { + global $langs; + + include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; + include_once DOL_DOCUMENT_ROOT.'/core/class/discount.class.php'; + + $this->db->begin(); + + $remise=new DiscountAbsolute($this->db); + $result=$remise->fetch($idremise); + + if ($result > 0) + { + if ($remise->fk_facture) // Protection against multiple submission + { + $this->error=$langs->trans("ErrorDiscountAlreadyUsed"); + $this->db->rollback(); + return -5; + } + + $askpricesupplierligne=new AskPriceSupplierLine($this->db); + $askpricesupplierligne->fk_askpricesupplier=$this->id; + $askpricesupplierligne->fk_remise_except=$remise->id; + $askpricesupplierligne->desc=$remise->description; // Description ligne + $askpricesupplierligne->tva_tx=$remise->tva_tx; + $askpricesupplierligne->subprice=-$remise->amount_ht; + $askpricesupplierligne->fk_product=0; // Id produit predefini + $askpricesupplierligne->qty=1; + $askpricesupplierligne->remise=0; + $askpricesupplierligne->remise_percent=0; + $askpricesupplierligne->rang=-1; + $askpricesupplierligne->info_bits=2; + + // TODO deprecated + $askpricesupplierligne->price=-$remise->amount_ht; + + $askpricesupplierligne->total_ht = -$remise->amount_ht; + $askpricesupplierligne->total_tva = -$remise->amount_tva; + $askpricesupplierligne->total_ttc = -$remise->amount_ttc; + + $result=$askpricesupplierligne->insert(); + if ($result > 0) + { + $result=$this->update_price(1); + if ($result > 0) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } + } + else + { + $this->error=$askpricesupplierligne->error; + $this->db->rollback(); + return -2; + } + } + else + { + $this->db->rollback(); + return -2; + } + } + + /** + * Add a proposal line into database (linked to product/service or not) + * Les parametres sont deja cense etre juste et avec valeurs finales a l'appel + * de cette methode. Aussi, pour le taux tva, il doit deja avoir ete defini + * par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,'',produit) + * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) + * + * @param string $desc Description de la ligne + * @param double $pu_ht Prix unitaire + * @param double $qty Quantite + * @param double $txtva Taux de tva + * @param double $txlocaltax1 Local tax 1 rate + * @param double $txlocaltax2 Local tax 2 rate + * @param int $fk_product Id du produit/service predefini + * @param double $remise_percent Pourcentage de remise de la ligne + * @param string $price_base_type HT or TTC + * @param double $pu_ttc Prix unitaire TTC + * @param int $info_bits Bits de type de lignes + * @param int $type Type of line (product, service) + * @param int $rang Position of line + * @param int $special_code Special code (also used by externals modules!) + * @param int $fk_parent_line Id of parent line + * @param int $fk_fournprice Id supplier price + * @param int $pa_ht Buying price without tax + * @param string $label ??? + * @param array $array_option extrafields array + * @param string $ref_fourn Supplier price reference + * @return int >0 if OK, <0 if KO + * + * @see add_product + */ + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $price_base_type='HT', $pu_ttc=0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$array_option=0, $ref_fourn='') + { + global $mysoc; + + dol_syslog(get_class($this)."::addline askpricesupplierid=$this->id, desc=$desc, pu_ht=$pu_ht, qty=$qty, txtva=$txtva, fk_product=$fk_product, remise_except=$remise_percent, price_base_type=$price_base_type, pu_ttc=$pu_ttc, info_bits=$info_bits, type=$type"); + include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; + + // Clean parameters + if (empty($remise_percent)) $remise_percent=0; + if (empty($qty)) $qty=0; + if (empty($info_bits)) $info_bits=0; + if (empty($rang)) $rang=0; + if (empty($fk_parent_line) || $fk_parent_line < 0) $fk_parent_line=0; + + $remise_percent=price2num($remise_percent); + $qty=price2num($qty); + $pu_ht=price2num($pu_ht); + $pu_ttc=price2num($pu_ttc); + $txtva=price2num($txtva); + $txlocaltax1=price2num($txlocaltax1); + $txlocaltax2=price2num($txlocaltax2); + $pa_ht=price2num($pa_ht); + if ($price_base_type=='HT') + { + $pu=$pu_ht; + } + else + { + $pu=$pu_ttc; + } + + // Check parameters + if ($type < 0) return -1; + + if ($this->statut == 0) + { + $this->db->begin(); + + // Calcul du total TTC et de la TVA pour la ligne a partir de + // qty, pu, remise_percent et txtva + // TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker + // la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva. + + $localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty,$mysoc); + + $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, '', $localtaxes_type); + $total_ht = $tabprice[0]; + $total_tva = $tabprice[1]; + $total_ttc = $tabprice[2]; + $total_localtax1 = $tabprice[9]; + $total_localtax2 = $tabprice[10]; + + // Rang to use + $rangtouse = $rang; + if ($rangtouse == -1) + { + $rangmax = $this->line_max($fk_parent_line); + $rangtouse = $rangmax + 1; + } + + // TODO A virer + // Anciens indicateurs: $price, $remise (a ne plus utiliser) + $price = $pu; + $remise = 0; + if ($remise_percent > 0) + { + $remise = round(($pu * $remise_percent / 100), 2); + $price = $pu - $remise; + } + + // Insert line + $this->line=new AskPriceSupplierLine($this->db); + + $this->line->fk_askpricesupplier=$this->id; + $this->line->label=$label; + $this->line->desc=$desc; + $this->line->qty=$qty; + $this->line->tva_tx=$txtva; + $this->line->localtax1_tx=$txlocaltax1; + $this->line->localtax2_tx=$txlocaltax2; + $this->line->localtax1_type = $localtaxes_type[0]; + $this->line->localtax2_type = $localtaxes_type[2]; + $this->line->fk_product=$fk_product; + $this->line->remise_percent=$remise_percent; + $this->line->subprice=$pu_ht; + $this->line->rang=$rangtouse; + $this->line->info_bits=$info_bits; + $this->line->total_ht=$total_ht; + $this->line->total_tva=$total_tva; + $this->line->total_localtax1=$total_localtax1; + $this->line->total_localtax2=$total_localtax2; + $this->line->total_ttc=$total_ttc; + $this->line->product_type=$type; + $this->line->special_code=$special_code; + $this->line->fk_parent_line=$fk_parent_line; + + $this->line->ref_fourn = $this->db->escape($ref_fourn); + + // infos marge + if (!empty($fk_product) && empty($fk_fournprice) && empty($pa_ht)) { + // by external module, take lowest buying price + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; + $productFournisseur = new ProductFournisseur($this->db); + $productFournisseur->find_min_price_product_fournisseur($fk_product); + $this->line->fk_fournprice = $productFournisseur->product_fourn_price_id; + } else { + $this->line->fk_fournprice = $fk_fournprice; + } + $this->line->pa_ht = $pa_ht; + + // Mise en option de la ligne + if (empty($qty) && empty($special_code)) $this->line->special_code=3; + + // TODO deprecated + $this->line->price=$price; + $this->line->remise=$remise; + + if (is_array($array_option) && count($array_option)>0) { + $this->line->array_options=$array_option; + } + + $result=$this->line->insert(); + if ($result > 0) + { + // Reorder if child line + if (! empty($fk_parent_line)) $this->line_order(true,'DESC'); + + // Mise a jour informations denormalisees au niveau de la propale meme + $result=$this->update_price(1,'auto'); // This method is designed to add line from user input so total calculation must be done using 'auto' mode. + if ($result > 0) + { + $this->db->commit(); + return $this->line->rowid; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + else + { + $this->error=$this->line->error; + $this->db->rollback(); + return -2; + } + } + } + + + /** + * Update a proposal line + * + * @param int $rowid Id de la ligne + * @param double $pu Prix unitaire (HT ou TTC selon price_base_type) + * @param double $qty Quantity + * @param double $remise_percent Remise effectuee sur le produit + * @param double $txtva Taux de TVA + * @param double $txlocaltax1 Local tax 1 rate + * @param double $txlocaltax2 Local tax 2 rate + * @param string $desc Description + * @param double $price_base_type HT ou TTC + * @param int $info_bits Miscellaneous informations + * @param int $special_code Special code (also used by externals modules!) + * @param int $fk_parent_line Id of parent line (0 in most cases, used by modules adding sublevels into lines). + * @param int $skip_update_total Keep fields total_xxx to 0 (used for special lines by some modules) + * @param int $fk_fournprice Id of origin supplier price + * @param int $pa_ht Price (without tax) of product when it was bought + * @param string $label ??? + * @param int $type 0/1=Product/service + * @param array $array_option extrafields array + * @param string $ref_fourn Supplier price reference + * @return int 0 if OK, <0 if KO + */ + function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0, $txlocaltax2=0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $array_option=0, $ref_fourn='') + { + global $conf,$user,$langs, $mysoc; + + dol_syslog(get_class($this)."::updateLine $rowid, $pu, $qty, $remise_percent, $txtva, $desc, $price_base_type, $info_bits"); + include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; + + // Clean parameters + $remise_percent=price2num($remise_percent); + $qty=price2num($qty); + $pu = price2num($pu); + $txtva = price2num($txtva); + $txlocaltax1=price2num($txlocaltax1); + $txlocaltax2=price2num($txlocaltax2); + $pa_ht=price2num($pa_ht); + if (empty($qty) && empty($special_code)) $special_code=3; // Set option tag + if (! empty($qty) && $special_code == 3) $special_code=0; // Remove option tag + + if ($this->statut == 0) + { + $this->db->begin(); + + // Calcul du total TTC et de la TVA pour la ligne a partir de + // qty, pu, remise_percent et txtva + // TRES IMPORTANT: C'est au moment de l'insertion ligne qu'on doit stocker + // la part ht, tva et ttc, et ce au niveau de la ligne qui a son propre taux tva. + + $localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty,$mysoc); + + $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type,'', $localtaxes_type); + $total_ht = $tabprice[0]; + $total_tva = $tabprice[1]; + $total_ttc = $tabprice[2]; + $total_localtax1 = $tabprice[9]; + $total_localtax2 = $tabprice[10]; + + // Anciens indicateurs: $price, $remise (a ne plus utiliser) + $price = $pu; + if ($remise_percent > 0) + { + $remise = round(($pu * $remise_percent / 100), 2); + $price = $pu - $remise; + } + + // Update line + $this->line=new AskPriceSupplierLine($this->db); + + // Stock previous line records + $staticline=new AskPriceSupplierLine($this->db); + $staticline->fetch($rowid); + $this->line->oldline = $staticline; + + // Reorder if fk_parent_line change + if (! empty($fk_parent_line) && ! empty($staticline->fk_parent_line) && $fk_parent_line != $staticline->fk_parent_line) + { + $rangmax = $this->line_max($fk_parent_line); + $this->line->rang = $rangmax + 1; + } + + $this->line->rowid = $rowid; + $this->line->label = $label; + $this->line->desc = $desc; + $this->line->qty = $qty; + $this->line->product_type = $type; + $this->line->tva_tx = $txtva; + $this->line->localtax1_tx = $txlocaltax1; + $this->line->localtax2_tx = $txlocaltax2; + $this->line->localtax1_type = $localtaxes_type[0]; + $this->line->localtax2_type = $localtaxes_type[2]; + $this->line->remise_percent = $remise_percent; + $this->line->subprice = $pu; + $this->line->info_bits = $info_bits; + $this->line->total_ht = $total_ht; + $this->line->total_tva = $total_tva; + $this->line->total_localtax1 = $total_localtax1; + $this->line->total_localtax2 = $total_localtax2; + $this->line->total_ttc = $total_ttc; + $this->line->special_code = $special_code; + $this->line->fk_parent_line = $fk_parent_line; + $this->line->skip_update_total = $skip_update_total; + $this->line->ref_fourn = $ref_fourn; + + // infos marge + if (!empty($fk_product) && empty($fk_fournprice) && empty($pa_ht)) { + // by external module, take lowest buying price + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; + $productFournisseur = new ProductFournisseur($this->db); + $productFournisseur->find_min_price_product_fournisseur($fk_product); + $this->line->fk_fournprice = $productFournisseur->product_fourn_price_id; + } else { + $this->line->fk_fournprice = $fk_fournprice; + } + $this->line->pa_ht = $pa_ht; + + // TODO deprecated + $this->line->price=$price; + $this->line->remise=$remise; + + if (is_array($array_option) && count($array_option)>0) { + $this->line->array_options=$array_option; + } + + $result=$this->line->update(); + if ($result > 0) + { + // Reorder if child line + if (! empty($fk_parent_line)) $this->line_order(true,'DESC'); + + $this->update_price(1); + + $this->fk_askpricesupplier = $this->id; + $this->rowid = $rowid; + + $this->db->commit(); + return $result; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + else + { + dol_syslog(get_class($this)."::updateline Erreur -2 Askpricesupplier en mode incompatible pour cette action"); + return -2; + } + } + + + /** + * Delete detail line + * + * @param int $lineid Id of line to delete + * @return int >0 if OK, <0 if KO + */ + function deleteline($lineid) + { + if ($this->statut == 0) + { + $line=new AskPriceSupplierLine($this->db); + + // For triggers + $line->fetch($lineid); + + if ($line->delete() > 0) + { + $this->update_price(1); + + return 1; + } + else + { + return -1; + } + } + else + { + return -2; + } + } + + + /** + * Create commercial proposal into database + * this->ref can be set or empty. If empty, we will use "(PROVid)" + * + * @param User $user User that create + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int <0 if KO, >=0 if OK + */ + function create($user, $notrigger=0) + { + global $langs,$conf,$mysoc,$hookmanager; + $error=0; + + $now=dol_now(); + + dol_syslog(get_class($this)."::create"); + + // Check parameters + $result=$this->fetch_thirdparty(); + if ($result < 0) + { + $this->error="Failed to fetch company"; + dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR); + return -3; + } + + // Check parameters + if (! empty($this->ref)) // We check that ref is not already used + { + $result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used + if ($result > 0) + { + $this->error='ErrorRefAlreadyExists'; + dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING); + $this->db->rollback(); + return -1; + } + } + + $this->db->begin(); + + // Insert into database + $sql = "INSERT INTO ".MAIN_DB_PREFIX."askpricesupplier ("; + $sql.= "fk_soc"; + $sql.= ", price"; + $sql.= ", remise"; + $sql.= ", remise_percent"; + $sql.= ", remise_absolue"; + $sql.= ", tva"; + $sql.= ", total"; + $sql.= ", datec"; + $sql.= ", ref"; + $sql.= ", fk_user_author"; + $sql.= ", note_private"; + $sql.= ", note_public"; + $sql.= ", model_pdf"; + $sql.= ", fk_cond_reglement"; + $sql.= ", fk_mode_reglement"; + $sql.= ", fk_account"; + $sql.= ", date_livraison"; + $sql.= ", fk_shipping_method"; + $sql.= ", fk_projet"; + $sql.= ", entity"; + $sql.= ") "; + $sql.= " VALUES ("; + $sql.= $this->socid; + $sql.= ", 0"; + $sql.= ", ".$this->remise; + $sql.= ", ".($this->remise_percent?$this->remise_percent:'null'); + $sql.= ", ".($this->remise_absolue?$this->remise_absolue:'null'); + $sql.= ", 0"; + $sql.= ", 0"; + $sql.= ", '".$this->db->idate($now)."'"; + $sql.= ", '(PROV)'"; + $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); + $sql.= ", '".$this->db->escape($this->note_private)."'"; + $sql.= ", '".$this->db->escape($this->note_public)."'"; + $sql.= ", '".$this->modelpdf."'"; + $sql.= ", ".$this->cond_reglement_id; + $sql.= ", ".$this->mode_reglement_id; + $sql.= ", ".($this->fk_account>0?$this->fk_account:'NULL'); + $sql.= ", ".($this->date_livraison!=''?"'".$this->db->idate($this->date_livraison)."'":"null"); + $sql.= ", ".($this->shipping_method_id>0?$this->shipping_method_id:'NULL'); + $sql.= ", ".($this->fk_project?$this->fk_project:"null"); + $sql.= ", ".$conf->entity; + $sql.= ")"; + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."askpricesupplier"); + + if ($this->id) + { + $this->ref='(PROV'.$this->id.')'; + $sql = 'UPDATE '.MAIN_DB_PREFIX."askpricesupplier SET ref='".$this->ref."' WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) $error++; + + /* + * Insertion du detail des produits dans la base + */ + if (! $error) + { + $fk_parent_line=0; + $num=count($this->lines); + + for ($i=0;$i<$num;$i++) + { + // Reset fk_parent_line for no child products and special product + if (($this->lines[$i]->product_type != 9 && empty($this->lines[$i]->fk_parent_line)) || $this->lines[$i]->product_type == 9) { + $fk_parent_line = 0; + } + + $result = $this->addline( + $this->lines[$i]->desc, + $this->lines[$i]->subprice, + $this->lines[$i]->qty, + $this->lines[$i]->tva_tx, + $this->lines[$i]->localtax1_tx, + $this->lines[$i]->localtax2_tx, + $this->lines[$i]->fk_product, + $this->lines[$i]->remise_percent, + 'HT', + 0, + 0, + $this->lines[$i]->product_type, + $this->lines[$i]->rang, + $this->lines[$i]->special_code, + $fk_parent_line, + $this->lines[$i]->fk_fournprice, + $this->lines[$i]->pa_ht, + $this->lines[$i]->label, + $this->lines[$i]->array_options, + $this->lines[$i]->ref_fourn + ); + + if ($result < 0) + { + $error++; + $this->error=$this->db->error; + dol_print_error($this->db); + break; + } + // Defined the new fk_parent_line + if ($result > 0 && $this->lines[$i]->product_type == 9) { + $fk_parent_line = $result; + } + } + } + + // Add linked object + if (! $error && $this->origin && $this->origin_id) + { + $ret = $this->add_object_linked(); + if (! $ret) dol_print_error($this->db); + } + + if (! $error) + { + // Mise a jour infos denormalisees + $resql=$this->update_price(1); + if ($resql) + { + $action='update'; + + // Actions on extra fields (by external module or standard code) + $hookmanager->initHooks(array('askpricesupplierdao')); + $parameters=array('socid'=>$this->id); + $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + if (empty($reshook)) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + else if ($reshook < 0) $error++; + + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('ASKPRICESUPPLIER_CREATE',$user); + if ($result < 0) { $error++; } + // End call triggers + } + } + else + { + $this->error=$this->db->lasterror(); + $error++; + } + } + } + else + { + $this->error=$this->db->lasterror(); + $error++; + } + + if (! $error) + { + $this->db->commit(); + dol_syslog(get_class($this)."::create done id=".$this->id); + return $this->id; + } + else + { + $this->db->rollback(); + return -2; + } + } + else + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return -1; + } + } + + + /** + * Insert into DB a askpricesupplier object completely defined by its data members (ex, results from copy). + * + * @param User $user User that create + * @return int Id of the new object if ok, <0 if ko + * @see create + */ + function create_from($user) + { + $this->products=$this->lines; + + return $this->create($user); + } + + /** + * Load an object from its id and create a new one in database + * + * @param int $socid Id of thirdparty + * @return int New id of clone + */ + function createFromClone($socid=0) + { + global $user,$langs,$conf,$hookmanager; + + $error=0; + $now=dol_now(); + + $this->db->begin(); + + // get extrafields so they will be clone + foreach($this->lines as $line) + $line->fetch_optionals($line->rowid); + + // Load source object + $objFrom = dol_clone($this); + + $objsoc=new Societe($this->db); + + // Change socid if needed + if (! empty($socid) && $socid != $this->socid) + { + if ($objsoc->fetch($socid) > 0) + { + $this->socid = $objsoc->id; + $this->cond_reglement_id = (! empty($objsoc->cond_reglement_id) ? $objsoc->cond_reglement_id : 0); + $this->mode_reglement_id = (! empty($objsoc->mode_reglement_id) ? $objsoc->mode_reglement_id : 0); + $this->fk_project = ''; + } + + // TODO Change product price if multi-prices + } + else + { + $objsoc->fetch($this->socid); + } + + $this->id=0; + $this->statut=0; + + if (empty($conf->global->ASKPRICESUPPLIER_ADDON) || ! is_readable(DOL_DOCUMENT_ROOT ."/core/modules/askpricesupplier/".$conf->global->ASKPRICESUPPLIER_ADDON.".php")) + { + $this->error='ErrorSetupNotComplete'; + return -1; + } + + // Clear fields + $this->user_author = $user->id; + $this->user_valid = ''; + $this->date = $now; + + // Set ref + require_once DOL_DOCUMENT_ROOT ."/core/modules/askpricesupplier/".$conf->global->ASKPRICESUPPLIER_ADDON.'.php'; + $obj = $conf->global->ASKPRICESUPPLIER_ADDON; + $modAskPriceSupplier = new $obj; + $this->ref = $modAskPriceSupplier->getNextValue($objsoc,$this); + + // Create clone + $result=$this->create($user); + if ($result < 0) $error++; + + if (! $error) + { + // Hook of thirdparty module + if (is_object($hookmanager)) + { + $parameters=array('objFrom'=>$objFrom); + $action=''; + $reshook=$hookmanager->executeHooks('createFrom',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) $error++; + } + + // Call trigger + $result=$this->call_trigger('ASKPRICESUPPLIER_CLONE',$user); + if ($result < 0) { $error++; } + // End call triggers + } + + // End + if (! $error) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -1; + } + } + + /** + * Load a proposal from database and its ligne array + * + * @param int $rowid id of object to load + * @param string $ref Ref of proposal + * @return int >0 if OK, <0 if KO + */ + function fetch($rowid,$ref='') + { + global $conf; + + $sql = "SELECT p.rowid, p.ref, p.remise, p.remise_percent, p.remise_absolue, p.fk_soc"; + $sql.= ", p.total, p.tva, p.localtax1, p.localtax2, p.total_ht"; + $sql.= ", p.datec"; + $sql.= ", p.date_valid as datev"; + $sql.= ", p.date_livraison as date_livraison"; + $sql.= ", p.model_pdf, p.extraparams"; + $sql.= ", p.note_private, p.note_public"; + $sql.= ", p.fk_projet, p.fk_statut"; + $sql.= ", p.fk_user_author, p.fk_user_valid, p.fk_user_cloture"; + $sql.= ", p.fk_cond_reglement"; + $sql.= ", p.fk_mode_reglement"; + $sql.= ', p.fk_account'; + $sql.= ", p.fk_shipping_method"; + $sql.= ", c.label as statut_label"; + $sql.= ", cr.code as cond_reglement_code, cr.libelle as cond_reglement, cr.libelle_facture as cond_reglement_libelle_doc"; + $sql.= ", cp.code as mode_reglement_code, cp.libelle as mode_reglement"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_propalst as c, ".MAIN_DB_PREFIX."askpricesupplier as p"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as cp ON p.fk_mode_reglement = cp.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as cr ON p.fk_cond_reglement = cr.rowid'; + $sql.= " WHERE p.fk_statut = c.id"; + $sql.= " AND p.entity = ".$conf->entity; + if ($ref) $sql.= " AND p.ref='".$ref."'"; + else $sql.= " AND p.rowid=".$rowid; + + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + + $this->ref = $obj->ref; + $this->remise = $obj->remise; + $this->remise_percent = $obj->remise_percent; + $this->remise_absolue = $obj->remise_absolue; + $this->total = $obj->total; // TODO deprecated + $this->total_ht = $obj->total_ht; + $this->total_tva = $obj->tva; + $this->total_localtax1 = $obj->localtax1; + $this->total_localtax2 = $obj->localtax2; + $this->total_ttc = $obj->total; + $this->socid = $obj->fk_soc; + $this->fk_project = $obj->fk_projet; + $this->modelpdf = $obj->model_pdf; + $this->note = $obj->note_private; // TODO deprecated + $this->note_private = $obj->note_private; + $this->note_public = $obj->note_public; + $this->statut = $obj->fk_statut; + $this->statut_libelle = $obj->statut_label; + + $this->datec = $this->db->jdate($obj->datec); // TODO deprecated + $this->datev = $this->db->jdate($obj->datev); // TODO deprecated + $this->date_creation = $this->db->jdate($obj->datec); //Creation date + $this->date_validation = $this->db->jdate($obj->datev); //Validation date + $this->date_livraison = $this->db->jdate($obj->date_livraison); + $this->shipping_method_id = ($obj->fk_shipping_method>0)?$obj->fk_shipping_method:null; + + $this->mode_reglement_id = $obj->fk_mode_reglement; + $this->mode_reglement_code = $obj->mode_reglement_code; + $this->mode_reglement = $obj->mode_reglement; + $this->fk_account = ($obj->fk_account>0)?$obj->fk_account:null; + $this->cond_reglement_id = $obj->fk_cond_reglement; + $this->cond_reglement_code = $obj->cond_reglement_code; + $this->cond_reglement = $obj->cond_reglement; + $this->cond_reglement_doc = $obj->cond_reglement_libelle_doc; + + $this->extraparams = (array) json_decode($obj->extraparams, true); + + $this->user_author_id = $obj->fk_user_author; + $this->user_valid_id = $obj->fk_user_valid; + $this->user_close_id = $obj->fk_user_cloture; + + if ($obj->fk_statut == 0) + { + $this->brouillon = 1; + } + + // Retreive all extrafield for invoice + // fetch optionals attributes and labels + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafields=new ExtraFields($this->db); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); + $this->fetch_optionals($this->id,$extralabels); + + $this->db->free($resql); + + $this->lines = array(); + + /* + * Lignes askprice liees a un produit ou non + */ + $sql = "SELECT d.rowid, d.fk_askpricesupplier, d.fk_parent_line, d.label as custom_label, d.description, d.price, d.tva_tx, d.localtax1_tx, d.localtax2_tx, d.qty, d.fk_remise_except, d.remise_percent, d.subprice, d.fk_product,"; + $sql.= " d.info_bits, d.total_ht, d.total_tva, d.total_localtax1, d.total_localtax2, d.total_ttc, d.fk_product_fournisseur_price as fk_fournprice, d.buy_price_ht as pa_ht, d.special_code, d.rang, d.product_type,"; + $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label,'; + $sql.= ' d.ref_fourn as ref_produit_fourn'; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplierdet as d"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON d.fk_product = p.rowid"; + $sql.= " WHERE d.fk_askpricesupplier = ".$this->id; + $sql.= " ORDER by d.rang"; + + $result = $this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows($result); + $i = 0; + + while ($i < $num) + { + $objp = $this->db->fetch_object($result); + + $line = new AskPriceSupplierLine($this->db); + + $line->rowid = $objp->rowid; + $line->fk_askpricesupplier = $objp->fk_askpricesupplier; + $line->fk_parent_line = $objp->fk_parent_line; + $line->product_type = $objp->product_type; + $line->label = $objp->custom_label; + $line->desc = $objp->description; // Description ligne + $line->qty = $objp->qty; + $line->tva_tx = $objp->tva_tx; + $line->localtax1_tx = $objp->localtax1_tx; + $line->localtax2_tx = $objp->localtax2_tx; + $line->subprice = $objp->subprice; + $line->fk_remise_except = $objp->fk_remise_except; + $line->remise_percent = $objp->remise_percent; + $line->price = $objp->price; // TODO deprecated + + $line->info_bits = $objp->info_bits; + $line->total_ht = $objp->total_ht; + $line->total_tva = $objp->total_tva; + $line->total_localtax1 = $objp->total_localtax1; + $line->total_localtax2 = $objp->total_localtax2; + $line->total_ttc = $objp->total_ttc; + $line->fk_fournprice = $objp->fk_fournprice; + $marginInfos = getMarginInfos($objp->subprice, $objp->remise_percent, $objp->tva_tx, $objp->localtax1_tx, $objp->localtax2_tx, $line->fk_fournprice, $objp->pa_ht); + $line->pa_ht = $marginInfos[0]; + $line->marge_tx = $marginInfos[1]; + $line->marque_tx = $marginInfos[2]; + $line->special_code = $objp->special_code; + $line->rang = $objp->rang; + + $line->fk_product = $objp->fk_product; + + $line->ref = $objp->product_ref; // TODO deprecated + $line->product_ref = $objp->product_ref; + $line->libelle = $objp->product_label; // TODO deprecated + $line->product_label = $objp->product_label; + $line->product_desc = $objp->product_desc; // Description produit + $line->fk_product_type = $objp->fk_product_type; + + $line->ref_fourn = $objp->ref_produit_fourn; + + $this->lines[$i] = $line; + + $i++; + } + $this->db->free($result); + } + else + { + $this->error=$this->db->error(); + return -1; + } + + // Retreive all extrafield for askprice + // fetch optionals attributes and labels + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafields=new ExtraFields($this->db); + $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); + $this->fetch_optionals($this->id,$extralabels); + + return 1; + } + + $this->error="Record Not Found"; + return 0; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + /** + * Update value of extrafields on the proposal + * + * @param User $user Object user that modify + * @return int <0 if ko, >0 if ok + */ + function update_extrafields($user) + { + $action='update'; + + // Actions on extra fields (by external module or standard code) + $hookmanager->initHooks(array('askpricesupplierdao')); + $parameters=array('id'=>$this->id); + $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + if (empty($reshook)) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + else if ($reshook < 0) $error++; + + if (!$error) + { + return 1; + } + else + { + return -1; + } + + } + + /** + * Set status to validated + * + * @param User $user Object user that validate + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int <0 if KO, >=0 if OK + */ + function valid($user, $notrigger=0) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + global $conf,$langs; + + $error=0; + $now=dol_now(); + + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->askpricesupplier->validate))) + { + $this->db->begin(); + + // Numbering module definition + $soc = new Societe($this->db); + $soc->fetch($this->socid); + + // Define new ref + if (! $error && (preg_match('/^[\(]?PROV/i', $this->ref))) + { + $num = $this->getNextNumRef($soc); + } + else + { + $num = $this->ref; + } + $this->newref = $num; + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier"; + $sql.= " SET ref = '".$num."',"; + $sql.= " fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + + dol_syslog(get_class($this)."::valid", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) + { + dol_print_error($this->db); + $error++; + } + + // Trigger calls + if (! $error && ! $notrigger) + { + // Call trigger + $result=$this->call_trigger('ASKPRICESUPPLIER_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)) + { + // Rename of propal directory ($this->ref = old ref, $num = new ref) + // to not lose the linked files + $oldref = dol_sanitizeFileName($this->ref); + $newref = dol_sanitizeFileName($num); + $dirsource = $conf->askpricesupplier->dir_output.'/'.$oldref; + $dirdest = $conf->askpricesupplier->dir_output.'/'.$newref; + + if (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->askpricesupplier->dir_output.'/'.$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); + } + } + } + } + + $this->ref=$num; + $this->brouillon=0; + $this->statut = 1; + $this->user_valid_id=$user->id; + $this->datev=$now; + + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } + } + } + + /** + * Set delivery date + * + * @param User $user Object user that modify + * @param int $date_livraison Delivery date + * @return int <0 if ko, >0 if ok + */ + function set_date_livraison($user, $date_livraison) + { + if (! empty($user->rights->askpricesupplier->creer)) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier "; + $sql.= " SET date_livraison = ".($date_livraison!=''?"'".$this->db->idate($date_livraison)."'":'null'); + $sql.= " WHERE rowid = ".$this->id; + + if ($this->db->query($sql)) + { + $this->date_livraison = $date_livraison; + return 1; + } + else + { + $this->error=$this->db->error(); + dol_syslog(get_class($this)."::set_date_livraison Erreur SQL"); + return -1; + } + } + } + + /** + * Set an overall discount on the proposal + * + * @param User $user Object user that modify + * @param double $remise Amount discount + * @return int <0 if ko, >0 if ok + */ + function set_remise_percent($user, $remise) + { + $remise=trim($remise)?trim($remise):0; + + if (! empty($user->rights->askpricesupplier->creer)) + { + $remise = price2num($remise); + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier SET remise_percent = ".$remise; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + + if ($this->db->query($sql) ) + { + $this->remise_percent = $remise; + $this->update_price(1); + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + } + + + /** + * Set an absolute overall discount on the proposal + * + * @param User $user Object user that modify + * @param double $remise Amount discount + * @return int <0 if ko, >0 if ok + */ + function set_remise_absolue($user, $remise) + { + $remise=trim($remise)?trim($remise):0; + + if (! empty($user->rights->askpricesupplier->creer)) + { + $remise = price2num($remise); + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier "; + $sql.= " SET remise_absolue = ".$remise; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + + if ($this->db->query($sql) ) + { + $this->remise_absolue = $remise; + $this->update_price(1); + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + } + + + + /** + * Reopen the commercial proposal + * + * @param User $user Object user that close + * @param int $statut Statut + * @param string $note Comment + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int <0 if KO, >0 if OK + */ + function reopen($user, $statut, $note='', $notrigger=0) + { + global $langs,$conf; + + $this->statut = $statut; + $error=0; + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier"; + $sql.= " SET fk_statut = ".$this->statut.","; + if (! empty($note)) $sql.= " note_private = '".$this->db->escape($note)."',"; + $sql.= " date_cloture=NULL, fk_user_cloture=NULL"; + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::reopen", LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { + $error++; $this->errors[]="Error ".$this->db->lasterror(); + } + if (! $error) + { + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('ASKPRICESUPPLIER_REOPEN',$user); + if ($result < 0) { $error++; } + // End call triggers + } + } + + // Commit or rollback + if ($error) + { + if (!empty($this->errors)) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + /** + * Close the askprice + * + * @param User $user Object user that close + * @param int $statut Statut + * @param string $note Comment + * @return int <0 if KO, >0 if OK + */ + function cloture($user, $statut, $note) + { + global $langs,$conf; + + $this->statut = $statut; + $error=0; + $now=dol_now(); + + $this->db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier"; + $sql.= " SET fk_statut = ".$statut.", note_private = '".$this->db->escape($note)."', date_cloture='".$this->db->idate($now)."', fk_user_cloture=".$user->id; + $sql.= " WHERE rowid = ".$this->id; + + $resql=$this->db->query($sql); + if ($resql) + { + $modelpdf=$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_CLOSED?$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_CLOSED:$this->modelpdf; + $trigger_name='ASKPRICESUPPLIER_CLOSE_REFUSED'; + + if ($statut == 2) + { + $trigger_name='ASKPRICESUPPLIER_CLOSE_SIGNED'; + $modelpdf=$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_TOBILL?$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_TOBILL:$this->modelpdf; + + // The connected company is classified as a client + $soc=new Societe($this->db); + $soc->id = $this->socid; + $result=$soc->set_as_client(); + + if ($result < 0) + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -2; + } + else + { + $this->updateOrCreatePriceFournisseur($user); + } + } + if ($statut == 4) + { + $trigger_name='ASKPRICESUPPLIER_CLASSIFY_BILLED'; + } + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) + { + // Define output language + $outputlangs = $langs; + if (! empty($conf->global->MAIN_MULTILANGS)) + { + $outputlangs = new Translate("",$conf); + $newlang=(GETPOST('lang_id') ? GETPOST('lang_id') : $this->client->default_lang); + $outputlangs->setDefaultLang($newlang); + } + //$ret=$object->fetch($id); // Reload to get new records + $this->generateDocument($modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + // Call trigger + $result=$this->call_trigger($trigger_name,$user); + if ($result < 0) { $error++; } + // End call triggers + + if ( ! $error ) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + /** + * Choose between update or create ProductFournisseur + * + * @param User $user Object user + */ + function updateOrCreatePriceFournisseur($user) + { + $productsupplier = new ProductFournisseur($this->db); + + dol_syslog(get_class($this)."::updateOrCreatePriceFournisseur", LOG_DEBUG); + foreach ($this->lines as $product) { + if ($product->subprice <= 0) + continue; + + $idProductFourn = $productsupplier->find_min_price_product_fournisseur($product->fk_product, $product->qty); + $res = $productsupplier->fetch($idProductFourn); + + if ($productsupplier->id) { + if ($productsupplier->fourn_qty == $product->qty) { + $this->updatePriceFournisseur($productsupplier->product_fourn_price_id, $product, $user); + } else { + $this->createPriceFournisseur($product, $user); + } + } else { + $this->createPriceFournisseur($product, $user); + } + } + } + + /** + * Upate ProductFournisseur + * + * @param int $idProductFournPrice id of llx_product_fournisseur_price + * @param int $product contain informations to update + * @param User $user Object user + * @return int <0 if KO, >0 if OK + */ + function updatePriceFournisseur($idProductFournPrice, $product, $user) { + $price=price2num($product->subprice*$product->qty,'MU'); + $unitPrice = price2num($product->subprice,'MU'); + + $sql = 'UPDATE '.MAIN_DB_PREFIX.'product_fournisseur_price SET '.(!empty($product->ref_fourn) ? 'ref_fourn = "'.$product->ref_fourn.'", ' : '').' price ='.$price.', unitprice ='.$unitPrice.' WHERE rowid = '.$idProductFournPrice; + + $resql = $this->db->query($sql); + if (!$resql) { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + /** + * Create ProductFournisseur + * + * @param Product $product Object Product + * @param User $user Object user + * @return int <0 if KO, >0 if OK + */ + function createPriceFournisseur($product, $user) { + $price=price2num($product->subprice*$product->qty,'MU'); + $qty=price2num($product->qty); + $unitPrice = price2num($product->subprice,'MU'); + $now=dol_now(); + + $values = array( + "'".$this->db->idate($now)."'", + $product->fk_product, + $this->client->id, + "'".$product->ref_fourn."'", + $price, + $qty, + $unitPrice, + $product->tva_tx, + $user->id + ); + + $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'product_fournisseur_price '; + $sql .= '(datec, fk_product, fk_soc, ref_fourn, price, quantity, unitprice, tva_tx, fk_user) VALUES ('.implode(',', $values).')'; + + $resql = $this->db->query($sql); + if (!$resql) { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + /** + * Set draft status + * + * @param User $user Object user that modify + * @return int <0 if KO, >0 if OK + */ + function set_draft($user) + { + global $conf,$langs; + + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplier SET fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id; + + if ($this->db->query($sql)) + { + $this->statut = 0; + $this->brouillon = 1; + return 1; + } + else + { + return -1; + } + } + + + /** + * Return list of askprice (eventually filtered on user) into an array + * + * @param int $shortlist 0=Return array[id]=ref, 1=Return array[](id=>id,ref=>ref,name=>name) + * @param int $draft 0=not draft, 1=draft + * @param int $notcurrentuser 0=all user, 1=not current user + * @param int $socid Id third pary + * @param int $limit For pagination + * @param int $offset For pagination + * @param string $sortfield Sort criteria + * @param string $sortorder Sort order + * @return int -1 if KO, array with result if OK + */ + function liste_array($shortlist=0, $draft=0, $notcurrentuser=0, $socid=0, $limit=0, $offset=0, $sortfield='p.datec', $sortorder='DESC') + { + global $conf,$user; + + $ga = array(); + + $sql = "SELECT s.rowid, s.nom as name, s.client,"; + $sql.= " p.rowid as askpricesupplierid, p.fk_statut, p.total_ht, p.ref, p.remise, "; + $sql.= " p.datep as dp, p.fin_validite as datelimite"; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."askpricesupplier as p, ".MAIN_DB_PREFIX."c_propalst as c"; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE p.entity = ".$conf->entity; + $sql.= " AND p.fk_soc = s.rowid"; + $sql.= " AND p.fk_statut = c.id"; + if (! $user->rights->societe->client->voir && ! $socid) //restriction + { + $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + } + if ($socid) $sql.= " AND s.rowid = ".$socid; + if ($draft) $sql.= " AND p.fk_statut = 0"; + if ($notcurrentuser > 0) $sql.= " AND p.fk_user_author <> ".$user->id; + $sql.= $this->db->order($sortfield,$sortorder); + $sql.= $this->db->plimit($limit,$offset); + + $result=$this->db->query($sql); + if ($result) + { + $num = $this->db->num_rows($result); + if ($num) + { + $i = 0; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + + if ($shortlist == 1) + { + $ga[$obj->askpricesupplierid] = $obj->ref; + } + else if ($shortlist == 2) + { + $ga[$obj->askpricesupplierid] = $obj->ref.' ('.$obj->name.')'; + } + else + { + $ga[$i]['id'] = $obj->askpricesupplierid; + $ga[$i]['ref'] = $obj->ref; + $ga[$i]['name'] = $obj->name; + } + + $i++; + } + } + return $ga; + } + else + { + dol_print_error($this->db); + return -1; + } + } + + /** + * Delete askprice + * + * @param User $user Object user that delete + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int 1 if ok, otherwise if error + */ + function delete($user, $notrigger=0) + { + global $conf,$langs; + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + + $error=0; + + $this->db->begin(); + + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('ASKPRICESUPPLIER_DELETE',$user); + if ($result < 0) { $error++; } + // End call triggers + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."askpricesupplierdet WHERE fk_askpricesupplier = ".$this->id; + if ($this->db->query($sql)) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."askpricesupplier WHERE rowid = ".$this->id; + if ($this->db->query($sql)) + { + // Delete linked object + $res = $this->deleteObjectLinked(); + if ($res < 0) $error++; + + if (! $error) + { + // We remove directory + $ref = dol_sanitizeFileName($this->ref); + if ($conf->askpricesupplier->dir_output && !empty($this->ref)) + { + $dir = $conf->askpricesupplier->dir_output . "/" . $ref ; + $file = $dir . "/" . $ref . ".pdf"; + if (file_exists($file)) + { + dol_delete_preview($this); + + if (! dol_delete_file($file,0,0,0,$this)) // For triggers + { + $this->error='ErrorFailToDeleteFile'; + $this->errors=array('ErrorFailToDeleteFile'); + $this->db->rollback(); + return 0; + } + } + if (file_exists($dir)) + { + $res=@dol_delete_dir_recursive($dir); + if (! $res) + { + $this->error='ErrorFailToDeleteDir'; + $this->errors=array('ErrorFailToDeleteDir'); + $this->db->rollback(); + return 0; + } + } + } + } + + // Removed extrafields + if (! $error) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->deleteExtraFields(); + if ($result < 0) + { + $error++; + $errorflag=-4; + dol_syslog(get_class($this)."::delete erreur ".$errorflag." ".$this->error, LOG_ERR); + } + } + } + + if (! $error) + { + dol_syslog(get_class($this)."::delete ".$this->id." by ".$user->id, LOG_DEBUG); + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return 0; + } + } + else + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return -3; + } + } + else + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return -2; + } + } + else + { + $this->db->rollback(); + return -1; + } + } + + /** + * Object AskPriceSupplier Information + * + * @param int $id Proposal id + * @return void + */ + function info($id) + { + $sql = "SELECT c.rowid, "; + $sql.= " c.datec, c.date_valid as datev, c.date_cloture as dateo,"; + $sql.= " c.fk_user_author, c.fk_user_valid, c.fk_user_cloture"; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier as c"; + $sql.= " WHERE c.rowid = ".$id; + + $result = $this->db->query($sql); + + if ($result) + { + if ($this->db->num_rows($result)) + { + $obj = $this->db->fetch_object($result); + + $this->id = $obj->rowid; + + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_validation = $this->db->jdate($obj->datev); + $this->date_cloture = $this->db->jdate($obj->dateo); + + $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->db->free($result); + + } + else + { + dol_print_error($this->db); + } + } + + + /** + * Return label of status of proposal (draft, validated, ...) + * + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @return string Label + */ + function getLibStatut($mode=0) + { + return $this->LibStatut($this->statut,$mode); + } + + /** + * Return label of a status (draft, validated, ...) + * + * @param int $statut id statut + * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @return string Label + */ + function LibStatut($statut,$mode=1) + { + global $langs; + $langs->load("askpricesupplier"); + + if ($statut==0) $statuttrans='statut0'; + if ($statut==1) $statuttrans='statut1'; + if ($statut==2) $statuttrans='statut3'; + if ($statut==3) $statuttrans='statut5'; + if ($statut==4) $statuttrans='statut6'; + + if ($mode == 0) return $this->labelstatut[$statut]; + if ($mode == 1) return $this->labelstatut_short[$statut]; + if ($mode == 2) return img_picto($this->labelstatut_short[$statut], $statuttrans).' '.$this->labelstatut_short[$statut]; + if ($mode == 3) return img_picto($this->labelstatut[$statut], $statuttrans); + if ($mode == 4) return img_picto($this->labelstatut[$statut],$statuttrans).' '.$this->labelstatut[$statut]; + if ($mode == 5) return ''.$this->labelstatut_short[$statut].' '.img_picto($this->labelstatut_short[$statut],$statuttrans); + } + + + /** + * Load indicators for dashboard (this->nbtodo and this->nbtodolate) + * + * @param User $user Object user + * @param int $mode "opened" for askprice to close, "signed" for proposal to invoice + * @return int <0 if KO, >0 if OK + */ + function load_board($user,$mode) + { + global $conf, $user; + + $now=dol_now(); + + $this->nbtodo=$this->nbtodolate=0; + $clause = " WHERE"; + + $sql = "SELECT p.rowid, p.ref, p.datec as datec"; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier as p"; + if (!$user->rights->societe->client->voir && !$user->societe_id) + { + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON p.fk_soc = sc.fk_soc"; + $sql.= " WHERE sc.fk_user = " .$user->id; + $clause = " AND"; + } + $sql.= $clause." p.entity = ".$conf->entity; + if ($mode == 'opened') $sql.= " AND p.fk_statut = 1"; + if ($mode == 'signed') $sql.= " AND p.fk_statut = 2"; + if ($user->societe_id) $sql.= " AND p.fk_soc = ".$user->societe_id; + + $resql=$this->db->query($sql); + if ($resql) + { + if ($mode == 'opened') $delay_warning=$conf->askpricesupplier->cloture->warning_delay; + if ($mode == 'signed') $delay_warning=$conf->askpricesupplier->facturation->warning_delay; + + // This assignment in condition is not a bug. It allows walking the results. + while ($obj=$this->db->fetch_object($resql)) + { + $this->nbtodo++; + if ($mode == 'opened') + { + $datelimit = $this->db->jdate($obj->datefin); + if ($datelimit < ($now - $delay_warning)) + { + $this->nbtodolate++; + } + } + // TODO Definir regle des propales a facturer en retard + // if ($mode == 'signed' && ! count($this->FactureListeArray($obj->rowid))) $this->nbtodolate++; + } + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + + /** + * Initialise an instance with random values. + * Used to build previews or test instances. + * id must be 0 if object instance is a specimen. + * + * @return void + */ + function initAsSpecimen() + { + global $user,$langs,$conf; + + // Charge tableau des produits prodids + $prodids = array(); + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."product"; + $sql.= " WHERE entity IN (".getEntity('product', 1).")"; + $resql = $this->db->query($sql); + if ($resql) + { + $num_prods = $this->db->num_rows($resql); + $i = 0; + while ($i < $num_prods) + { + $i++; + $row = $this->db->fetch_row($resql); + $prodids[$i] = $row[0]; + } + } + + // Initialise parametres + $this->id=0; + $this->ref = 'SPECIMEN'; + $this->specimen=1; + $this->socid = 1; + $this->date = time(); + $this->cond_reglement_id = 1; + $this->cond_reglement_code = 'RECEP'; + $this->mode_reglement_id = 7; + $this->mode_reglement_code = 'CHQ'; + $this->note_public='This is a comment (public)'; + $this->note_private='This is a comment (private)'; + // Lines + $nbp = 5; + $xnbp = 0; + while ($xnbp < $nbp) + { + $line=new AskPriceSupplierLine($this->db); + $line->desc=$langs->trans("Description")." ".$xnbp; + $line->qty=1; + $line->subprice=100; + $line->price=100; + $line->tva_tx=19.6; + $line->localtax1_tx=0; + $line->localtax2_tx=0; + if ($xnbp == 2) + { + $line->total_ht=50; + $line->total_ttc=59.8; + $line->total_tva=9.8; + $line->remise_percent=50; + } + else + { + $line->total_ht=100; + $line->total_ttc=119.6; + $line->total_tva=19.6; + $line->remise_percent=00; + } + + $prodid = rand(1, $num_prods); + $line->fk_product=$prodids[$prodid]; + + $this->lines[$xnbp]=$line; + + $this->total_ht += $line->total_ht; + $this->total_tva += $line->total_tva; + $this->total_ttc += $line->total_ttc; + + $xnbp++; + } + } + + /** + * Charge indicateurs this->nb de tableau de bord + * + * @return int <0 if ko, >0 if ok + */ + function load_state_board() + { + global $conf, $user; + + $this->nb=array(); + $clause = "WHERE"; + + $sql = "SELECT count(p.rowid) as nb"; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier as p"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON p.fk_soc = s.rowid"; + if (!$user->rights->societe->client->voir && !$user->societe_id) + { + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; + $sql.= " WHERE sc.fk_user = " .$user->id; + $clause = "AND"; + } + $sql.= " ".$clause." p.entity = ".$conf->entity; + + $resql=$this->db->query($sql); + if ($resql) + { + // This assignment in condition is not a bug. It allows walking the results. + while ($obj=$this->db->fetch_object($resql)) + { + $this->nb["askprice"]=$obj->nb; + } + $this->db->free($resql); + return 1; + } + else + { + dol_print_error($this->db); + $this->error=$this->db->error(); + return -1; + } + } + + + /** + * Returns the reference to the following non used Proposal used depending on the active numbering module + * defined into ASKPRICESUPPLIER_ADDON + * + * @param Societe $soc Object thirdparty + * @return string Reference libre pour la propale + */ + function getNextNumRef($soc) + { + global $conf, $db, $langs; + $langs->load("askpricesupplier"); + + if (! empty($conf->global->ASKPRICESUPPLIER_ADDON)) + { + $mybool=false; + + $file = $conf->global->ASKPRICESUPPLIER_ADDON.".php"; + $classname = $conf->global->ASKPRICESUPPLIER_ADDON; + + // Include file with class + $dirmodels = array_merge(array('/'), (array) $conf->modules_parts['models']); + foreach ($dirmodels as $reldir) { + + $dir = dol_buildpath($reldir."core/modules/askpricesupplier/"); + + // Load file with numbering class (if found) + $mybool|=@include_once $dir.$file; + } + + if (! $mybool) + { + dol_print_error('',"Failed to include file ".$file); + return ''; + } + + $obj = new $classname(); + $numref = ""; + $numref = $obj->getNextValue($soc,$this); + + if ($numref != "") + { + return $numref; + } + else + { + $this->error=$obj->error; + return ""; + } + } + else + { + $langs->load("errors"); + print $langs->trans("Error")." ".$langs->trans("ErrorModuleSetupNotComplete"); + return ""; + } + } + + /** + * Return clicable link of object (with eventually picto) + * + * @param int $withpicto Add picto into link + * @param string $option Where point the link ('compta', 'expedition', 'document', ...) + * @param string $get_params Parametres added to url + * @return string String with URL + */ + function getNomUrl($withpicto=0,$option='', $get_params='') + { + global $langs; + + $result=''; + $label=$langs->trans("ShowAskpricesupplier").': '.$this->ref; + $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; + if ($option == '') { + $link = ''; + + $picto='askpricesupplier'; + + + if ($withpicto) + $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); + if ($withpicto && $withpicto != 2) + $result.=' '; + $result.=$link.$this->ref.$linkend; + return $result; + } + + /** + * Retrieve an array of askprice lines + * + * @return int <0 if ko, >0 if ok + */ + function getLinesArray() + { + $sql = 'SELECT pt.rowid, pt.label as custom_label, pt.description, pt.fk_product, pt.fk_remise_except,'; + $sql.= ' pt.qty, pt.tva_tx, pt.remise_percent, pt.subprice, pt.info_bits,'; + $sql.= ' pt.total_ht, pt.total_tva, pt.total_ttc, pt.fk_product_fournisseur_price as fk_fournprice, pt.buy_price_ht as pa_ht, pt.special_code, pt.localtax1_tx, pt.localtax2_tx,'; + $sql.= ' pt.product_type, pt.rang, pt.fk_parent_line,'; + $sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid,'; + $sql.= ' p.description as product_desc, pt.ref_fourn as ref_produit_fourn'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'askpricesupplierdet as pt'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON pt.fk_product=p.rowid'; + $sql.= ' WHERE pt.fk_askpricesupplier = '.$this->id; + $sql.= ' ORDER BY pt.rang ASC, pt.rowid'; + + dol_syslog(get_class($this).'::getLinesArray', LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + + $this->lines[$i] = new AskPriceSupplierLine($this->db); + $this->lines[$i]->id = $obj->rowid; // for backward compatibility + $this->lines[$i]->rowid = $obj->rowid; + $this->lines[$i]->label = $obj->custom_label; + $this->lines[$i]->description = $obj->description; + $this->lines[$i]->fk_product = $obj->fk_product; + $this->lines[$i]->ref = $obj->ref; + $this->lines[$i]->product_label = $obj->product_label; + $this->lines[$i]->product_desc = $obj->product_desc; + $this->lines[$i]->fk_product_type = $obj->fk_product_type; // deprecated + $this->lines[$i]->product_type = $obj->product_type; + $this->lines[$i]->qty = $obj->qty; + $this->lines[$i]->subprice = $obj->subprice; + $this->lines[$i]->fk_remise_except = $obj->fk_remise_except; + $this->lines[$i]->remise_percent = $obj->remise_percent; + $this->lines[$i]->tva_tx = $obj->tva_tx; + $this->lines[$i]->info_bits = $obj->info_bits; + $this->lines[$i]->total_ht = $obj->total_ht; + $this->lines[$i]->total_tva = $obj->total_tva; + $this->lines[$i]->total_ttc = $obj->total_ttc; + $this->lines[$i]->fk_fournprice = $obj->fk_fournprice; + $marginInfos = getMarginInfos($obj->subprice, $obj->remise_percent, $obj->tva_tx, $obj->localtax1_tx, $obj->localtax2_tx, $this->lines[$i]->fk_fournprice, $obj->pa_ht); + $this->lines[$i]->pa_ht = $marginInfos[0]; + $this->lines[$i]->marge_tx = $marginInfos[1]; + $this->lines[$i]->marque_tx = $marginInfos[2]; + $this->lines[$i]->fk_parent_line = $obj->fk_parent_line; + $this->lines[$i]->special_code = $obj->special_code; + $this->lines[$i]->rang = $obj->rang; + + $this->lines[$i]->ref_fourn = $obj->ref_produit_fourn; + + $i++; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + /** + * Create a document onto disk according to template module. + * + * @param string $modele Force model to use ('' to not force) + * @param Translate $outputlangs Object langs to use for output + * @param int $hidedetails Hide details of lines + * @param int $hidedesc Hide description + * @param int $hideref Hide ref + * @return int 0 if KO, 1 if OK + */ + public function generateDocument($modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) + { + global $conf,$user,$langs; + + $langs->load("askpricesupplier"); + + // Positionne le modele sur le nom du modele a utiliser + if (! dol_strlen($modele)) + { + if (! empty($conf->global->ASKPRICESUPPLIER_ADDON_PDF)) + { + $modele = $conf->global->ASKPRICESUPPLIER_ADDON_PDF; + } + else + { + $modele = 'aurore'; + } + } + + $modelpath = "core/modules/askpricesupplier/doc/"; + + return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + + function printOriginLinesList() + { + global $langs, $hookmanager; + + print ''; + print ''.$langs->trans('Ref').''; + print ''.$langs->trans('Description').''; + print ''.$langs->trans('VAT').''; + print ''.$langs->trans('PriceUHT').''; + print ''.$langs->trans('Qty').''; + print ''.$langs->trans('ReductionShort').''; + + $num = count($this->lines); + $var = true; + $i = 0; + + foreach ($this->lines as $line) + { + if (empty($line->subprice) || $line->qty <= 0) + continue; + + $var=!$var; + + if (is_object($hookmanager) && (($line->product_type == 9 && ! empty($line->special_code)) || ! empty($line->fk_parent_line))) + { + if (empty($line->fk_parent_line)) + { + $parameters=array('line'=>$line,'var'=>$var,'i'=>$i); + $action=''; + $reshook=$hookmanager->executeHooks('printOriginObjectLine',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + } + } + else + { + $this->printOriginLine($line,$var); + } + + $i++; + } + } + + +} + + +/** + * \class AskPriceSupplierLine + * \brief Class to manage askpricesupplier lines + */ +class AskPriceSupplierLine extends CommonObject +{ + var $db; + var $error; + + public $element='askpricesupplierdet'; + public $table_element='askpricesupplierdet'; + + var $oldline; + + // From llx_askpricesupplierdet + var $rowid; + var $fk_askpricesupplier; + var $fk_parent_line; + var $desc; // Description ligne + var $fk_product; // Id produit predefini + /** + * @deprecated + * @see product_type + */ + var $fk_product_type; + /** + * Product type + * @var int + * @see Product::TYPE_PRODUCT, Product::TYPE_SERVICE + */ + public $product_type = Product::TYPE_PRODUCT; + + var $qty; + var $tva_tx; + var $subprice; + var $remise_percent; + var $fk_remise_except; + + var $rang = 0; + + var $fk_fournprice; + var $pa_ht; + var $marge_tx; + var $marque_tx; + + var $special_code; // Tag for special lines (exlusive tags) + // 1: frais de port + // 2: ecotaxe + // 3: option line (when qty = 0) + + var $info_bits = 0; // Liste d'options cumulables: + // Bit 0: 0 si TVA normal - 1 si TVA NPR + // Bit 1: 0 ligne normale - 1 si ligne de remise fixe + + var $total_ht; // Total HT de la ligne toute quantite et incluant la remise ligne + var $total_tva; // Total TVA de la ligne toute quantite et incluant la remise ligne + var $total_ttc; // Total TTC de la ligne toute quantite et incluant la remise ligne + + /** + * @deprecated + * @see remise_percent, fk_remise_except + */ + var $remise; + /** + * @deprecated + * @see subprice + */ + var $price; + + // From llx_product + /** + * @deprecated + * @see product_ref + */ + var $ref; + /** + * Product reference + * @var string + */ + public $product_ref; + /** + * @deprecated + * @see product_label + */ + var $libelle; + /** + * Product label + * @var string + */ + public $product_label; + /** + * Product description + * @var string + */ + public $product_desc; + + var $localtax1_tx; // Local tax 1 + var $localtax2_tx; // Local tax 2 + var $localtax1_type; // Local tax 1 type + var $localtax2_type; // Local tax 2 type + var $total_localtax1; // Line total local tax 1 + var $total_localtax2; // Line total local tax 2 + + var $skip_update_total; // Skip update price total for special lines + + var $ref_fourn; + + /** + * Class line Contructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db= $db; + } + + /** + * Retrieve the propal line object + * + * @param int $rowid Propal line id + * @return int <0 if KO, >0 if OK + */ + function fetch($rowid) + { + $sql = 'SELECT pd.rowid, pd.fk_askpricesupplier, pd.fk_parent_line, pd.fk_product, pd.label as custom_label, pd.description, pd.price, pd.qty, pd.tva_tx,'; + $sql.= ' pd.remise, pd.remise_percent, pd.fk_remise_except, pd.subprice,'; + $sql.= ' pd.info_bits, pd.total_ht, pd.total_tva, pd.total_ttc, pd.fk_product_fournisseur_price as fk_fournprice, pd.buy_price_ht as pa_ht, pd.special_code, pd.rang,'; + $sql.= ' pd.localtax1_tx, pd.localtax2_tx, pd.total_localtax1, pd.total_localtax2,'; + $sql.= ' p.ref as product_ref, p.label as product_label, p.description as product_desc,'; + $sql.= ' pd.product_type, pd.ref_fourn as ref_produit_fourn'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'askpricesupplierdet as pd'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON pd.fk_product = p.rowid'; + $sql.= ' WHERE pd.rowid = '.$rowid; + + $result = $this->db->query($sql); + if ($result) + { + $objp = $this->db->fetch_object($result); + + $this->rowid = $objp->rowid; + $this->fk_askpricesupplier = $objp->fk_askpricesupplier; + $this->fk_parent_line = $objp->fk_parent_line; + $this->label = $objp->custom_label; + $this->desc = $objp->description; + $this->qty = $objp->qty; + $this->price = $objp->price; // deprecated + $this->subprice = $objp->subprice; + $this->tva_tx = $objp->tva_tx; + $this->remise = $objp->remise; + $this->remise_percent = $objp->remise_percent; + $this->fk_remise_except = $objp->fk_remise_except; + $this->fk_product = $objp->fk_product; + $this->info_bits = $objp->info_bits; + + $this->total_ht = $objp->total_ht; + $this->total_tva = $objp->total_tva; + $this->total_ttc = $objp->total_ttc; + + $this->fk_fournprice = $objp->fk_fournprice; + + $marginInfos = getMarginInfos($objp->subprice, $objp->remise_percent, $objp->tva_tx, $objp->localtax1_tx, $objp->localtax2_tx, $this->fk_fournprice, $objp->pa_ht); + $this->pa_ht = $marginInfos[0]; + $this->marge_tx = $marginInfos[1]; + $this->marque_tx = $marginInfos[2]; + + $this->special_code = $objp->special_code; + $this->product_type = $objp->product_type; + $this->rang = $objp->rang; + + $this->ref = $objp->product_ref; // deprecated + $this->product_ref = $objp->product_ref; + $this->libelle = $objp->product_label; // deprecated + $this->product_label = $objp->product_label; + $this->product_desc = $objp->product_desc; + + $this->ref_fourn = $objp->ref_produit_forun; + + $this->db->free($result); + } + else + { + dol_print_error($this->db); + } + } + + /** + * Insert object line propal in database + * + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int <0 if KO, >0 if OK + */ + function insert($notrigger=0) + { + global $conf,$langs,$user; + + $error=0; + + dol_syslog(get_class($this)."::insert rang=".$this->rang); + + // Clean parameters + if (empty($this->tva_tx)) $this->tva_tx=0; + if (empty($this->localtax1_tx)) $this->localtax1_tx=0; + if (empty($this->localtax2_tx)) $this->localtax2_tx=0; + if (empty($this->localtax1_type)) $this->localtax1_type=0; + if (empty($this->localtax2_type)) $this->localtax2_type=0; + if (empty($this->total_localtax1)) $this->total_localtax1=0; + if (empty($this->total_localtax2)) $this->total_localtax2=0; + if (empty($this->rang)) $this->rang=0; + if (empty($this->remise)) $this->remise=0; + if (empty($this->remise_percent)) $this->remise_percent=0; + if (empty($this->info_bits)) $this->info_bits=0; + if (empty($this->special_code)) $this->special_code=0; + if (empty($this->fk_parent_line)) $this->fk_parent_line=0; + if (empty($this->fk_fournprice)) $this->fk_fournprice=0; + + if (empty($this->pa_ht)) $this->pa_ht=0; + + // si prix d'achat non renseigne et utilise pour calcul des marges alors prix achat = prix vente + if ($this->pa_ht == 0) { + if ($this->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) + $this->pa_ht = $this->subprice * (1 - $this->remise_percent / 100); + } + + // Check parameters + if ($this->product_type < 0) return -1; + + $this->db->begin(); + + // Insert line into database + $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'askpricesupplierdet'; + $sql.= ' (fk_askpricesupplier, fk_parent_line, label, description, fk_product, product_type,'; + $sql.= ' fk_remise_except, qty, tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,'; + $sql.= ' subprice, remise_percent, '; + $sql.= ' info_bits, '; + $sql.= ' total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, fk_product_fournisseur_price, buy_price_ht, special_code, rang,'; + $sql.= ' ref_fourn)'; + $sql.= " VALUES (".$this->fk_askpricesupplier.","; + $sql.= " ".($this->fk_parent_line>0?"'".$this->fk_parent_line."'":"null").","; + $sql.= " ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null").","; + $sql.= " '".$this->db->escape($this->desc)."',"; + $sql.= " ".($this->fk_product?"'".$this->fk_product."'":"null").","; + $sql.= " '".$this->product_type."',"; + $sql.= " ".($this->fk_remise_except?"'".$this->fk_remise_except."'":"null").","; + $sql.= " ".price2num($this->qty).","; + $sql.= " ".price2num($this->tva_tx).","; + $sql.= " ".price2num($this->localtax1_tx).","; + $sql.= " ".price2num($this->localtax2_tx).","; + $sql.= " '".$this->localtax1_type."',"; + $sql.= " '".$this->localtax2_type."',"; + $sql.= " ".($this->subprice?price2num($this->subprice):"null").","; + $sql.= " ".price2num($this->remise_percent).","; + $sql.= " ".(isset($this->info_bits)?"'".$this->info_bits."'":"null").","; + $sql.= " ".price2num($this->total_ht).","; + $sql.= " ".price2num($this->total_tva).","; + $sql.= " ".price2num($this->total_localtax1).","; + $sql.= " ".price2num($this->total_localtax2).","; + $sql.= " ".price2num($this->total_ttc).","; + $sql.= " ".(!empty($this->fk_fournprice)?"'".$this->fk_fournprice."'":"null").","; + $sql.= " ".(isset($this->pa_ht)?"'".price2num($this->pa_ht)."'":"null").","; + $sql.= ' '.$this->special_code.','; + $sql.= ' '.$this->rang.','; + $sql.= " '".$this->db->escape($this->ref_fourn)."'"; + $sql.= ')'; + + dol_syslog(get_class($this).'::insert', LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->rowid=$this->db->last_insert_id(MAIN_DB_PREFIX.'askpricesupplierdet'); + + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $this->id=$this->rowid; + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('LINEASKPRICESUPPLIER_INSERT',$user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + // End call triggers + } + + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error()." sql=".$sql; + $this->db->rollback(); + return -1; + } + } + + /** + * Delete line in database + * + * @return int <0 if ko, >0 if ok + */ + function delete() + { + global $conf,$langs,$user; + + $error=0; + $this->db->begin(); + + $sql = "DELETE FROM ".MAIN_DB_PREFIX."askpricesupplierdet WHERE rowid = ".$this->rowid; + dol_syslog("AskPriceSupplierLine::delete", LOG_DEBUG); + if ($this->db->query($sql) ) + { + + // Remove extrafields + if ((! $error) && (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED))) // For avoid conflicts if trigger used + { + $this->id=$this->rowid; + $result=$this->deleteExtraFields(); + if ($result < 0) + { + $error++; + dol_syslog(get_class($this)."::delete error -4 ".$this->error, LOG_ERR); + } + } + + // Call trigger + $result=$this->call_trigger('LINEASKPRICESUPLLIER_DELETE',$user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + // End call triggers + + $this->db->commit(); + + return 1; + } + else + { + $this->error=$this->db->error()." sql=".$sql; + $this->db->rollback(); + return -1; + } + } + + /** + * Update propal line object into DB + * + * @param int $notrigger 1=Does not execute triggers, 0= execuete triggers + * @return int <0 if ko, >0 if ok + */ + function update($notrigger=0) + { + global $conf,$langs,$user; + + $error=0; + + // Clean parameters + if (empty($this->tva_tx)) $this->tva_tx=0; + if (empty($this->localtax1_tx)) $this->localtax1_tx=0; + if (empty($this->localtax2_tx)) $this->localtax2_tx=0; + if (empty($this->total_localtax1)) $this->total_localtax1=0; + if (empty($this->total_localtax2)) $this->total_localtax2=0; + if (empty($this->localtax1_type)) $this->localtax1_type=0; + if (empty($this->localtax2_type)) $this->localtax2_type=0; + if (empty($this->marque_tx)) $this->marque_tx=0; + if (empty($this->marge_tx)) $this->marge_tx=0; + if (empty($this->price)) $this->price=0; // TODO A virer + if (empty($this->remise)) $this->remise=0; // TODO A virer + if (empty($this->remise_percent)) $this->remise_percent=0; + if (empty($this->info_bits)) $this->info_bits=0; + if (empty($this->special_code)) $this->special_code=0; + if (empty($this->fk_parent_line)) $this->fk_parent_line=0; + if (empty($this->fk_fournprice)) $this->fk_fournprice=0; + + if (empty($this->pa_ht)) $this->pa_ht=0; + + // si prix d'achat non renseigne et utilise pour calcul des marges alors prix achat = prix vente + if ($this->pa_ht == 0) { + if ($this->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) + $this->pa_ht = $this->subprice * (1 - $this->remise_percent / 100); + } + + $this->db->begin(); + + // Mise a jour ligne en base + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplierdet SET"; + $sql.= " description='".$this->db->escape($this->desc)."'"; + $sql.= " , label=".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null"); + $sql.= " , product_type=".$this->product_type; + $sql.= " , tva_tx='".price2num($this->tva_tx)."'"; + $sql.= " , localtax1_tx=".price2num($this->localtax1_tx); + $sql.= " , localtax2_tx=".price2num($this->localtax2_tx); + $sql.= " , localtax1_type='".$this->localtax1_type."'"; + $sql.= " , localtax2_type='".$this->localtax2_type."'"; + $sql.= " , qty='".price2num($this->qty)."'"; + $sql.= " , subprice=".price2num($this->subprice).""; + $sql.= " , remise_percent=".price2num($this->remise_percent).""; + $sql.= " , price=".price2num($this->price).""; // TODO A virer + $sql.= " , remise=".price2num($this->remise).""; // TODO A virer + $sql.= " , info_bits='".$this->info_bits."'"; + if (empty($this->skip_update_total)) + { + $sql.= " , total_ht=".price2num($this->total_ht).""; + $sql.= " , total_tva=".price2num($this->total_tva).""; + $sql.= " , total_ttc=".price2num($this->total_ttc).""; + $sql.= " , total_localtax1=".price2num($this->total_localtax1).""; + $sql.= " , total_localtax2=".price2num($this->total_localtax2).""; + } + $sql.= " , fk_product_fournisseur_price=".(! empty($this->fk_fournprice)?"'".$this->fk_fournprice."'":"null"); + $sql.= " , buy_price_ht=".price2num($this->pa_ht); + if (strlen($this->special_code)) $sql.= " , special_code=".$this->special_code; + $sql.= " , fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null"); + if (! empty($this->rang)) $sql.= ", rang=".$this->rang; + $sql.= " , ref_fourn=".(! empty($this->ref_fourn)?"'".$this->db->escape($this->ref_fourn)."'":"null"); + $sql.= " WHERE rowid = ".$this->rowid; + + dol_syslog(get_class($this)."::update", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $this->id=$this->rowid; + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + + if (! $notrigger) + { + // Call trigger + $result=$this->call_trigger('LINEASKPRICESUPPLIER_UPDATE',$user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + // End call triggers + } + + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -2; + } + } + + /** + * Update DB line fields total_xxx + * Used by migration + * + * @return int <0 if ko, >0 if ok + */ + function update_total() + { + $this->db->begin(); + + // Mise a jour ligne en base + $sql = "UPDATE ".MAIN_DB_PREFIX."askpricesupplierdet SET"; + $sql.= " total_ht=".price2num($this->total_ht,'MT').""; + $sql.= ",total_tva=".price2num($this->total_tva,'MT').""; + $sql.= ",total_ttc=".price2num($this->total_ttc,'MT').""; + $sql.= " WHERE rowid = ".$this->rowid; + + dol_syslog("AskPriceSupplierLine::update_total", LOG_DEBUG); + + $resql=$this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -2; + } + } + +} + diff --git a/htdocs/accountancy/customer/index.html b/htdocs/comm/askpricesupplier/class/index.html similarity index 100% rename from htdocs/accountancy/customer/index.html rename to htdocs/comm/askpricesupplier/class/index.html diff --git a/htdocs/comm/askpricesupplier/document.php b/htdocs/comm/askpricesupplier/document.php new file mode 100644 index 00000000000..f2558e826dc --- /dev/null +++ b/htdocs/comm/askpricesupplier/document.php @@ -0,0 +1,127 @@ + + * Copyright (C) 2004-2009 Laurent Destailleur + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Cédric Salvador + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/comm/propal/document.php + * \ingroup propal + * \brief Management page of documents attached to a business proposal + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/askpricesupplier/class/askpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/askpricesupplier.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'; + +$langs->load('compta'); +$langs->load('other'); + +$action = GETPOST('action','alpha'); +$confirm = GETPOST('confirm','alpha'); +$id = GETPOST('id','int'); +$ref = GETPOST('ref','alpha'); + +// Security check +$socid=''; +if (! empty($user->societe_id)) +{ + $action=''; + $socid = $user->societe_id; +} +$result = restrictedArea($user, 'askpricesupplier', $id); + +// Get parameters +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="name"; + +$object = new AskPriceSupplier($db); +$object->fetch($id,$ref); +if ($object->id > 0) +{ + $object->fetch_thirdparty(); + $upload_dir = $conf->askpricesupplier->dir_output.'/'.dol_sanitizeFileName($object->ref); + include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php'; +} + + +/* + * View + */ + +llxHeader('',$langs->trans('CommRequest'),'EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'); + +$form = new Form($db); + +if ($object->id > 0) +{ + $upload_dir = $conf->askpricesupplier->dir_output.'/'.dol_sanitizeFileName($object->ref); + + $head = askpricesupplier_prepare_head($object); + dol_fiche_head($head, 'document', $langs->trans('CommRequest'), 0, 'askpricesupplier'); + + // Construit liste des fichiers + $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); + $totalsize=0; + foreach($filearray as $key => $file) + { + $totalsize+=$file['size']; + } + + print ''; + + $linkback=''.$langs->trans("BackToList").''; + + // Ref + print ''; + + // Supplier + print ""; + print ''; + + print ''; + print ''; + + print '
'.$langs->trans('Ref').''; + print $form->showrefnav($object,'ref',$linkback,1,'ref','ref',''); + print '
".$langs->trans("Supplier")."'.$object->thirdparty->getNomUrl(1).'
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print ''; + + $modulepart = 'askpricesupplier'; + $permission = $user->rights->askpricesupplier->creer; + $param = '&id=' . $object->id; + include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; +} +else +{ + print $langs->trans("ErrorUnknown"); +} + +llxFooter(); +$db->close(); diff --git a/htdocs/comm/askpricesupplier/index.php b/htdocs/comm/askpricesupplier/index.php new file mode 100644 index 00000000000..2f943cef083 --- /dev/null +++ b/htdocs/comm/askpricesupplier/index.php @@ -0,0 +1,377 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005-2012 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/comm/propal/index.php + * \ingroup propal + * \brief Home page of proposal area + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT .'/comm/askpricesupplier/class/askpricesupplier.class.php'; + +$langs->load("askpricesupplier"); +$langs->load("companies"); + +// Security check +$socid=GETPOST('socid','int'); +if (isset($user->societe_id) && $user->societe_id > 0) +{ + $action = ''; + $socid = $user->societe_id; +} +$result = restrictedArea($user, 'askpricesupplier'); + + +/* + * View + */ +$now=dol_now(); +$askpricesupplierstatic=new AskPriceSupplier($db); +$companystatic=new Societe($db); +$form = new Form($db); +$formfile = new FormFile($db); +$help_url="EN:Module_Ask_Price_Supplier|FR:Module_Demande_de_prix_fournisseur"; + +llxHeader("",$langs->trans("AskPriceSupplierArea"),$help_url); + +print_fiche_titre($langs->trans("AskPriceSupplierArea")); + +print '
'; + + +/* + * Search form + */ +$var=false; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print "
'.$langs->trans("SearchRequest").'
'; +print $langs->trans("Ref").':
'.$langs->trans("Other").':

\n"; + + +/* + * Statistics + */ + +$sql = "SELECT count(p.rowid), p.fk_statut"; +$sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; +$sql.= ", ".MAIN_DB_PREFIX."askpricesupplier as p"; +if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql.= " WHERE p.fk_soc = s.rowid"; +$sql.= " AND p.entity = ".$conf->entity; +if ($user->societe_id) $sql.=' AND p.fk_soc = '.$user->societe_id; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +$sql.= " AND p.fk_statut IN (0,1,2,3,4)"; +$sql.= " GROUP BY p.fk_statut"; +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + + $total=0; + $totalinprocess=0; + $dataseries=array(); + $vals=array(); + // -1=Canceled, 0=Draft, 1=Validated, (2=Accepted/On process not managed for customer orders), 3=Closed (Sent/Received, billed or not) + while ($i < $num) + { + $row = $db->fetch_row($resql); + if ($row) + { + //if ($row[1]!=-1 && ($row[1]!=3 || $row[2]!=1)) + { + $vals[$row[1]]=$row[0]; + $totalinprocess+=$row[0]; + } + $total+=$row[0]; + } + $i++; + } + $db->free($resql); + + print ''; + print ''."\n"; + $var=true; + $listofstatus=array(0,1,2,3,4); + foreach ($listofstatus as $status) + { + $dataseries[]=array('label'=>$askpricesupplierstatic->LibStatut($status,1),'data'=>(isset($vals[$status])?(int) $vals[$status]:0)); + if (! $conf->use_javascript_ajax) + { + $var=!$var; + print ""; + print ''; + print ''; + print "\n"; + } + } + if ($conf->use_javascript_ajax) + { + print ''; + } + + print ''; + print "
'.$langs->trans("Statistics").' - '.$langs->trans("CommRequests").'
'.$askpricesupplierstatic->LibStatut($status,0).''.(isset($vals[$status])?$vals[$status]:0).'
'; + $data=array('series'=>$dataseries); + dol_print_graph('stats',300,180,$data,1,'pie',1); + print '
'.$langs->trans("Total").''.$total.'

"; +} +else +{ + dol_print_error($db); +} + + +/* + * Draft askprice + */ +if (! empty($conf->askpricesupplier->enabled)) +{ + $sql = "SELECT c.rowid, c.ref, s.nom as socname, s.rowid as socid, s.canvas, s.client"; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier 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.fk_statut = 0"; + if ($socid) $sql.= " AND c.fk_soc = ".$socid; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + + $resql=$db->query($sql); + if ($resql) + { + print ''; + print ''; + print ''; + $langs->load("askpricesupplier"); + $num = $db->num_rows($resql); + if ($num) + { + $i = 0; + $var = True; + while ($i < $num) + { + $var=!$var; + $obj = $db->fetch_object($resql); + print ""; + + $askpricesupplierstatic->id=$obj->rowid; + $askpricesupplierstatic->ref=$obj->ref; + print ''; + + $companystatic->id=$obj->socid; + $companystatic->name=$obj->socname; + $companystatic->client=$obj->client; + $companystatic->canvas=$obj->canvas; + print ''; + + print ''; + $i++; + } + } + print "
'.$langs->trans("DraftRequests").'
'.$askpricesupplierstatic->getNomUrl(1).''.$companystatic->getNomUrl(1,'customer',24).'

"; + } +} + +print '
'; + + +$max=5; + +/* + * Last modified askprice + */ + +$sql = "SELECT c.rowid, c.ref, c.fk_statut, s.nom as socname, s.rowid as socid, s.canvas, s.client,"; +$sql.= " date_cloture as datec"; +$sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier 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.fk_statut > 2"; +if ($socid) $sql .= " AND c.fk_soc = ".$socid; +if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +$sql.= " ORDER BY c.tms DESC"; +$sql.= $db->plimit($max, 0); + +$resql=$db->query($sql); +if ($resql) +{ + print ''; + print ''; + print ''; + + $num = $db->num_rows($resql); + if ($num) + { + $i = 0; + $var = True; + while ($i < $num) + { + $var=!$var; + $obj = $db->fetch_object($resql); + + print ""; + print ''; + + $companystatic->id=$obj->socid; + $companystatic->name=$obj->socname; + $companystatic->client=$obj->client; + $companystatic->canvas=$obj->canvas; + print ''; + + print ''; + print ''; + print ''; + $i++; + } + } + print "
'.$langs->trans("LastModifiedRequests",$max).'
'; + + $askpricesupplierstatic->id=$obj->rowid; + $askpricesupplierstatic->ref=$obj->ref; + + print ''; + print ''; + + print ''; + + print '
'; + print $askpricesupplierstatic->getNomUrl(1); + print ''; + print ' '; + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->askpricesupplier->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->rowid; + print $formfile->getDocumentsLink($askpricesupplierstatic->element, $filename, $filedir); + print '
'; + + print '
'.$companystatic->getNomUrl(1,'customer').''.dol_print_date($db->jdate($obj->datec),'day').''.$askpricesupplierstatic->LibStatut($obj->fk_statut,5).'

"; +} +else dol_print_error($db); + + +/* + * Opened askprice + */ +if (! empty($conf->askpricesupplier->enabled) && $user->rights->askpricesupplier->lire) +{ + $langs->load("askpricesupplier"); + + $now=dol_now(); + + $sql = "SELECT s.nom as socname, s.rowid as socid, s.canvas, s.client, p.rowid as askpricesupplierid, p.total as total_ttc, p.total_ht, p.ref, p.fk_statut, p.datec as dp"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; + $sql.= ", ".MAIN_DB_PREFIX."askpricesupplier as p"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE p.fk_soc = s.rowid"; + $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.fk_statut = 1"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid) $sql.= " AND s.rowid = ".$socid; + $sql.= " ORDER BY p.rowid DESC"; + + $result=$db->query($sql); + if ($result) + { + $total = 0; + $num = $db->num_rows($result); + $i = 0; + if ($num > 0) + { + $var=true; + + print ''; + print ''; + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) + { + $obj = $db->fetch_object($result); + $var=!$var; + print ''; + + // Ref + print '"; + + $companystatic->id=$obj->socid; + $companystatic->name=$obj->socname; + $companystatic->client=$obj->client; + $companystatic->canvas=$obj->canvas; + print ''."\n"; + + print ''."\n"; + print ''; + print ''."\n"; + print ''."\n"; + $i++; + $total += $obj->total_ttc; + } + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { + print '"; + } + print "
'.$langs->trans("RequestsOpened").' '.$num.'
'; + + $askpricesupplierstatic->id=$obj->askpricesupplierid; + $askpricesupplierstatic->ref=$obj->ref; + + print ''; + print ''; + print ''; + print '
'; + print $askpricesupplierstatic->getNomUrl(1); + print ''; + if ($db->jdate($obj->dfv) < ($now - $conf->askpricesupplier->cloture->warning_delay)) print img_warning($langs->trans("Late")); + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->askpricesupplier->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->askpricesupplierid; + print $formfile->getDocumentsLink($askpricesupplierstatic->element, $filename, $filedir); + print '
'; + + print "
'.$companystatic->getNomUrl(1,'customer',44).''; + print dol_print_date($db->jdate($obj->dp),'day').''.price($obj->total_ttc).''.$askpricesupplierstatic->LibStatut($obj->fk_statut,3).'
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; + } + } + else + { + dol_print_error($db); + } +} + +print '
'; + +llxFooter(); + +$db->close(); diff --git a/htdocs/comm/askpricesupplier/info.php b/htdocs/comm/askpricesupplier/info.php new file mode 100644 index 00000000000..3b8f95d45fa --- /dev/null +++ b/htdocs/comm/askpricesupplier/info.php @@ -0,0 +1,65 @@ + + * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2005-2012 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/comm/propal/info.php + * \ingroup propal + * \brief Page d'affichage des infos d'une proposition commerciale + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/askpricesupplier/class/askpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/askpricesupplier.lib.php'; + +$langs->load('askpricesupplier'); +$langs->load('compta'); + +$id=GETPOST('id','int'); +$socid=GETPOST('socid','int'); + +// Security check +if (! empty($user->societe_id)) $socid=$user->societe_id; +$result = restrictedArea($user, 'askpricesupplier', $id); + + +/* + * View + */ + +llxHeader('',$langs->trans('CommRequest'),'EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'); + +$object = new AskPriceSupplier($db); +$object->fetch($id); +$object->fetch_thirdparty(); + +$head = askpricesupplier_prepare_head($object); +dol_fiche_head($head, 'info', $langs->trans('CommRequest'), 0, 'askpricesupplier'); + +$object->info($object->id); + +print '
'; +dol_print_object_info($object); +print '
'; + +print ''; + + +llxFooter(); +$db->close(); diff --git a/htdocs/comm/askpricesupplier/list.php b/htdocs/comm/askpricesupplier/list.php new file mode 100644 index 00000000000..bce521489e0 --- /dev/null +++ b/htdocs/comm/askpricesupplier/list.php @@ -0,0 +1,425 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2010-2011 Juanjo Menent + * Copyright (C) 2010-2011 Philippe Grand + * Copyright (C) 2012 Christophe Battarel + * Copyright (C) 2013 Cédric Salvador +* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/comm/propal/list.php + * \ingroup propal + * \brief Page of commercial proposals card and list + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formaskpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/askpricesupplier/class/askpricesupplier.class.php'; +if (! empty($conf->projet->enabled)) + require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + +$langs->load('companies'); +$langs->load('askpricesupplier'); +$langs->load('compta'); +$langs->load('bills'); +$langs->load('orders'); +$langs->load('products'); + +$socid=GETPOST('socid','int'); + +$search_user=GETPOST('search_user','int'); +$search_sale=GETPOST('search_sale','int'); +$search_ref=GETPOST('sf_ref')?GETPOST('sf_ref','alpha'):GETPOST('search_ref','alpha'); +$search_societe=GETPOST('search_societe','alpha'); +$search_montant_ht=GETPOST('search_montant_ht','alpha'); +$search_author=GETPOST('search_author','alpha'); +$viewstatut=$db->escape(GETPOST('viewstatut')); +$object_statut=$db->escape(GETPOST('askpricesupplier_statut')); + +$sall=GETPOST("sall"); +$mesg=(GETPOST("msg") ? GETPOST("msg") : GETPOST("mesg")); +$year=GETPOST("year"); +$month=GETPOST("month"); + +// Nombre de ligne pour choix de produit/service predefinis +$NBLINES=4; + +// Security check +$module='askpricesupplier'; +$dbtable=''; +$objectid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; +if (! empty($socid)) +{ + $objectid=$socid; + $module='societe'; + $dbtable='&societe'; +} +$result = restrictedArea($user, $module, $objectid, $dbtable); + +if (GETPOST("button_removefilter") || GETPOST("button_removefilter_x")) // Both tests are required to be compatible with all browsers +{ + $search_categ=''; + $search_user=''; + $search_sale=''; + $search_ref=''; + $search_societe=''; + $search_montant_ht=''; + $search_author=''; + $year=''; + $month=''; + $viewstatut=''; + $object_statut=''; +} + +if($object_statut != '') +$viewstatut=$object_statut; + + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('askpricesupplierlist')); + + + +/* + * Actions + */ + + +$parameters=array('socid'=>$socid); +$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'); + + + +/* + * View + */ + +llxHeader('',$langs->trans('CommRequest'),'EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'); + +$form = new Form($db); +$formother = new FormOther($db); +$formfile = new FormFile($db); +$formaskpricesupplier = new FormAskPriceSupplier($db); +$companystatic=new Societe($db); + +$now=dol_now(); + +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; + +if (! $sortfield) $sortfield='p.date_livraison'; +if (! $sortorder) $sortorder='DESC'; +$limit = $conf->liste_limit; + + +$sql = 'SELECT s.rowid, s.nom as name, s.town, s.client, s.code_client,'; +$sql.= ' p.rowid as askpricesupplierid, p.note_private, p.total_ht, p.ref, p.fk_statut, p.fk_user_author, p.date_livraison as dp,'; +if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; +$sql.= ' u.login'; +$sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'askpricesupplier as p'; +if ($sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'askpricesupplierdet as pd ON p.rowid=pd.fk_askpricesupplier'; +$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON p.fk_user_author = u.rowid'; +// We'll need this table joined to the select in order to filter by sale +if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if ($search_user > 0) +{ + $sql.=", ".MAIN_DB_PREFIX."element_contact as c"; + $sql.=", ".MAIN_DB_PREFIX."c_type_contact as tc"; +} +$sql.= ' WHERE p.fk_soc = s.rowid'; +$sql.= ' AND p.entity = '.$conf->entity; +if (! $user->rights->societe->client->voir && ! $socid) //restriction +{ + $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; +} +if ($search_ref) { + $sql .= natural_search('p.ref', $search_ref); +} +if ($search_societe) { + $sql .= natural_search('s.nom', $search_societe); +} +if ($search_author) +{ + $sql.= " AND u.login LIKE '%".$db->escape(trim($search_author))."%'"; +} +if ($search_montant_ht) +{ + $sql.= " AND p.total_ht='".$db->escape(price2num(trim($search_montant_ht)))."'"; +} +if ($sall) { + $sql .= natural_search(array('s.nom', 'p.note_private', 'p.note_public', 'pd.description'), $sall); +} +if ($socid) $sql.= ' AND s.rowid = '.$socid; +if ($viewstatut <> '') +{ + $sql.= ' AND p.fk_statut IN ('.$viewstatut.')'; +} +if ($month > 0) +{ + if ($year > 0 && empty($day)) + $sql.= " AND p.date_livraison BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; + else if ($year > 0 && ! empty($day)) + $sql.= " AND p.date_livraison BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month, $day, $year))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month, $day, $year))."'"; + else + $sql.= " AND date_format(p.date_livraison, '%m') = '".$month."'"; +} +else if ($year > 0) +{ + $sql.= " AND p.date_livraison BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; +} +if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; +if ($search_user > 0) +{ + $sql.= " AND c.fk_c_type_contact = tc.rowid AND tc.element='askpricesupplier' AND tc.source='internal' AND c.element_id = p.rowid AND c.fk_socpeople = ".$search_user; +} + + +$sql.= ' ORDER BY '.$sortfield.' '.$sortorder.', p.ref DESC'; + +$nbtotalofrecords = 0; +if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) +{ + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); +} + + +$sql.= $db->plimit($limit + 1,$offset); +$result=$db->query($sql); + +if ($result) +{ + $objectstatic=new AskPriceSupplier($db); + $userstatic=new User($db); + $num = $db->num_rows($result); + + if ($socid) + { + $soc = new Societe($db); + $soc->fetch($socid); + } + + $param='&socid='.$socid.'&viewstatut='.$viewstatut; + if ($month) $param.='&month='.$month; + if ($year) $param.='&year='.$year; + if ($search_ref) $param.='&search_ref=' .$search_ref; + if ($search_societe) $param.='&search_societe=' .$search_societe; + if ($search_user > 0) $param.='&search_user='.$search_user; + if ($search_sale > 0) $param.='&search_sale='.$search_sale; + if ($search_montant_ht) $param.='&search_montant_ht='.$search_montant_ht; + if ($search_author) $param.='&search_author='.$search_author; + print_barre_liste($langs->trans('ListOfAskPriceSupplier').' '.($socid?'- '.$soc->name:''), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + + // Lignes des champs de filtre + print '
'; + + $i = 0; + print ''; + + $moreforfilter=''; + + // If the user can view prospects other than his' + if ($user->rights->societe->client->voir || $socid) + { + $langs->load("commercial"); + $moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': '; + $moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user); + $moreforfilter.='       '; + } + // If the user can view prospects other than his' + if ($user->rights->societe->client->voir || $socid) + { + $moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': '; + $moreforfilter.=$form->select_dolusers($search_user,'search_user',1); + } + if (! empty($moreforfilter)) + { + print ''; + print ''; + } + + print ''; + print_liste_field_titre($langs->trans('Ref'),$_SERVER["PHP_SELF"],'p.ref','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('Company'),$_SERVER["PHP_SELF"],'s.nom','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('AskPriceSupplierDate'),$_SERVER["PHP_SELF"],'p.date_livraison','',$param, 'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('AmountHT'),$_SERVER["PHP_SELF"],'p.total_ht','',$param, 'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('Author'),$_SERVER["PHP_SELF"],'u.login','',$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('Status'),$_SERVER["PHP_SELF"],'p.fk_statut','',$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre(''); + print "\n"; + + print ''; + print ''; + print ''; + + // Date + print ''; + + // Amount + print ''; + // Author + print ''; + print ''; + + print ''; + + print "\n"; + + $var=true; + $total=0; + $subtotal=0; + + while ($i < min($num,$limit)) + { + $objp = $db->fetch_object($result); + $now = dol_now(); + $var=!$var; + print ''; + print '\n"; + + $url = DOL_URL_ROOT.'/comm/card.php?socid='.$objp->rowid; + + // Company + $companystatic->id=$objp->rowid; + $companystatic->name=$objp->name; + $companystatic->client=$objp->client; + $companystatic->code_client=$objp->code_client; + print ''; + + // Date askprice + print '\n"; + + print '\n"; + + $userstatic->id=$objp->fk_user_author; + $userstatic->login=$objp->login; + print '\n"; + + print '\n"; + + print ''; + + print "\n"; + + $total += $objp->total_ht; + $subtotal += $objp->total_ht; + + $i++; + } + + if ($total>0) + { + if($num<$limit){ + $var=!$var; + print ''; + print ''; + print ''; + } + else + { + $var=!$var; + print ''; + print ''; + print ''; + } + + } + + print '
'; + print $moreforfilter; + print '
'; + print ''; + print ''; + print ''; + print ''; + //print $langs->trans('Month').': '; + print ''; + //print ' '.$langs->trans('Year').': '; + $syear = $year; + $formother->select_year($syear,'year',1, 20, 5); + print ''; + print ''; + print ''; + print ''; + print ''; + $formaskpricesupplier->selectAskPriceSupplierStatus($viewstatut,1); + print ''; + print ''; + print ''; + print '
'; + + $objectstatic->id=$objp->askpricesupplierid; + $objectstatic->ref=$objp->ref; + + print ''; + print ''; + + print ''; + + // Ref + print '
'; + print $objectstatic->getNomUrl(1); + print ''; + if ($objp->fk_statut == 1 && $db->jdate($objp->dfv) < ($now - $conf->askpricesupplier->cloture->warning_delay)) print img_warning($langs->trans("Late")); + if (! empty($objp->note_private)) + { + print ' '; + print ''.img_picto($langs->trans("ViewPrivateNote"),'object_generic').''; + print ''; + } + print ''; + $filename=dol_sanitizeFileName($objp->ref); + $filedir=$conf->askpricesupplier->dir_output . '/' . dol_sanitizeFileName($objp->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$objp->askpricesupplierid; + print $formfile->getDocumentsLink($objectstatic->element, $filename, $filedir); + print '
'; + + print "
'; + print $companystatic->getNomUrl(1,'customer'); + print ''; + print dol_print_date($db->jdate($objp->dp), 'day'); + print "'.price($objp->total_ht)."'; + if ($userstatic->id) print $userstatic->getLoginUrl(1); + else print ' '; + print "'.$objectstatic->LibStatut($objp->fk_statut,5)." 
'.$langs->trans("TotalHT").''.price($total).'
'.$langs->trans("TotalHTforthispage").''.price($total).'
'; + + print '
'; + + $db->free($result); +} +else +{ + dol_print_error($db); +} + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/comm/askpricesupplier/note.php b/htdocs/comm/askpricesupplier/note.php new file mode 100644 index 00000000000..0ce89fe5e8b --- /dev/null +++ b/htdocs/comm/askpricesupplier/note.php @@ -0,0 +1,113 @@ + + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Florian Henry + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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/comm/propal/note.php + * \ingroup propal + * \brief Fiche d'information sur une proposition commerciale + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/comm/askpricesupplier/class/askpricesupplier.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/askpricesupplier.lib.php'; + +$langs->load('askpricesupplier'); +$langs->load('compta'); +$langs->load('bills'); + +$id = GETPOST('id','int'); +$ref=GETPOST('ref','alpha'); +$action=GETPOST('action','alpha'); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'askpricesupplier', $id, 'askpricesupplier'); + +$object = new AskPriceSupplier($db); + + + +/******************************************************************************/ +/* Actions */ +/******************************************************************************/ + +$permissionnote=$user->rights->askpricesupplier->creer; // Used by the include of actions_setnotes.inc.php + +include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not includ_once + + + +/******************************************************************************/ +/* Affichage fiche */ +/******************************************************************************/ + +llxHeader('',$langs->trans('CommRequest'),'EN:Ask_Price_Supplier|FR:Demande_de_prix_fournisseur'); + +$form = new Form($db); + +if ($id > 0 || ! empty($ref)) +{ + if ($mesg) print $mesg; + + $now=dol_now(); + + if ($object->fetch($id, $ref)) + { + $societe = new Societe($db); + if ( $societe->fetch($object->socid) ) + { + $head = askpricesupplier_prepare_head($object); + dol_fiche_head($head, 'note', $langs->trans('CommRequest'), 0, 'askpricesupplier'); + + print ''; + + $linkback = ''.$langs->trans('BackToList').''; + + // Ref + print ''; + + // Customer + if ( is_null($object->client) ) + $object->fetch_thirdparty(); + print ""; + print ''; + + print ''; + print ''; + + print "
'.$langs->trans('Ref').''; + print $form->showrefnav($object,'ref',$linkback,1,'ref','ref',''); + print '
".$langs->trans("Supplier")."'.$object->client->getNomUrl(1).'
'.$langs->trans('AskPriceSupplierDate').''; + print dol_print_date($object->date_livraison,'daytext'); + print '
"; + + print '
'; + + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + dol_fiche_end(); + } + } +} + + +llxFooter(); +$db->close(); diff --git a/htdocs/comm/prospect/class/index.html b/htdocs/comm/askpricesupplier/tpl/index.html similarity index 100% rename from htdocs/comm/prospect/class/index.html rename to htdocs/comm/askpricesupplier/tpl/index.html diff --git a/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php b/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php new file mode 100644 index 00000000000..a45fac8b3c9 --- /dev/null +++ b/htdocs/comm/askpricesupplier/tpl/linkedobjectblock.tpl.php @@ -0,0 +1,74 @@ + + * Copyright (C) 2013 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 . + */ + +?> + + + +'; +print_titre($langs->trans('RelatedAskPriceSupplier')); +?> + + + + + + + + + + > + + + + + + + + + + + +
trans("Ref"); ?>trans("Date"); ?>trans("AmountHTShort"); ?>trans("Status"); ?>
+ trans("ShowAskPriceSupplier"),"askpricesupplier").' '.$object->ref; ?>datec,'day'); ?>rights->askpricesupplier->lire) { + $total = $total + $object->total_ht; + echo price($object->total_ht); + } ?>getLibStatut(3); ?>
trans('TotalHT'); ?>rights->askpricesupplier->lire) { + echo price($total); + } ?> 
+ + diff --git a/htdocs/comm/card.php b/htdocs/comm/card.php index 450a462c751..aa0a2f8b61a 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -7,6 +7,8 @@ * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Alexandre Spangaro + * Copyright (C) 2015 Frederic France + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -31,11 +33,14 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; 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 . '/categories/class/categorie.class.php'; if (! empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; +if (! empty($conf->expedition->enabled)) require_once DOL_DOCUMENT_ROOT.'/expedition/class/expedition.class.php'; if (! empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; if (! empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; @@ -43,6 +48,7 @@ if (! empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichin $langs->load("companies"); if (! empty($conf->contrat->enabled)) $langs->load("contracts"); if (! empty($conf->commande->enabled)) $langs->load("orders"); +if (! empty($conf->expedition->enabled)) $langs->load("sendings"); if (! empty($conf->facture->enabled)) $langs->load("bills"); if (! empty($conf->projet->enabled)) $langs->load("projects"); if (! empty($conf->ficheinter->enabled)) $langs->load("interventions"); @@ -68,10 +74,15 @@ if (! $sortorder) $sortorder="ASC"; if (! $sortfield) $sortfield="nom"; $cancelbutton = GETPOST('cancel'); +$object = new Client($db); +$extrafields = new ExtraFields($db); + +// fetch optionals attributes and labels +$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); + // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('commcard','globalcard')); -$object = new Societe($db); /* * Actions @@ -83,19 +94,18 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { + if ($cancelbutton) + { + $action=""; + } + + // set accountancy code if ($action == 'setcustomeraccountancycode') { - if (! $cancelbutton) - { - $result=$object->fetch($id); - $object->code_compta=$_POST["customeraccountancycode"]; - $result=$object->update($object->id,$user,1,1,0); - if ($result < 0) - { - setEventMessage($object->errors, 'errors'); - } - } - $action=""; + $result=$object->fetch($id); + $object->code_compta=$_POST["customeraccountancycode"]; + $result=$object->update($object->id,$user,1,1,0); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } // conditions de reglement @@ -103,25 +113,24 @@ if (empty($reshook)) { $object->fetch($id); $result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int')); - if ($result < 0) dol_print_error($db,$object->error); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } + // mode de reglement if ($action == 'setmode' && $user->rights->societe->creer) { $object->fetch($id); $result=$object->setPaymentMethods(GETPOST('mode_reglement_id','int')); - if ($result < 0) dol_print_error($db,$object->error); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } + // assujetissement a la TVA if ($action == 'setassujtva' && $user->rights->societe->creer) { $object->fetch($id); $object->tva_assuj=$_POST['assujtva_value']; - - // TODO move to DAO class - $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET tva_assuj='".$_POST['assujtva_value']."' WHERE rowid='".$id."'"; - $result = $db->query($sql); - if (! $result) dol_print_error($result); + $result=$object->update($object->id); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } // set prospect level @@ -130,28 +139,25 @@ if (empty($reshook)) $object->fetch($id); $object->fk_prospectlevel=GETPOST('prospect_level_id','alpha'); $result=$object->set_prospect_level($user); - if ($result < 0) setEventMessage($object->error,'errors'); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } - // Update communication level - if ($action == 'cstc') + // set communication status + if ($action == 'setstcomm') { $object->fetch($id); - $object->stcomm_id=GETPOST('stcomm','int'); + $object->stcomm_id=dol_getIdFromCode($db, GETPOST('stcomm','alpha'), 'c_stcomm'); $result=$object->set_commnucation_level($user); - if ($result < 0) setEventMessage($object->error,'errors'); + if ($result < 0) setEventMessages($object->error,$object->errors,'errors'); } - // Update communication level - if ($action == 'setOutstandingBill') + // update outstandng limit + if ($action == 'setoutstanding_limit') { - if (!$cancelbutton) - { - $object->fetch($id); - $object->outstanding_limit=GETPOST('OutstandingBill'); - $result=$object->set_OutstandingBill($user); - if ($result < 0) setEventMessage($object->error,'errors'); - } + $object->fetch($id); + $object->outstanding_limit=GETPOST('outstanding_limit'); + $result=$object->set_OutstandingBill($user); + if ($result < 0) setEventMessage($object->error,$object->errors,'errors'); } } @@ -160,14 +166,24 @@ if (empty($reshook)) * View */ -llxHeader('',$langs->trans('CustomerCard')); - - $contactstatic = new Contact($db); $userstatic=new User($db); $form = new Form($db); $formcompany=new FormCompany($db); +if ($id > 0 && empty($object->id)) +{ + // Load data of third party + $res=$object->fetch($id); + if ($object->id <= 0) dol_print_error($db,$object->error); +} + +$title=$langs->trans("CustomerCard"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name; +$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('',$title,$help_url); + + if ($mode == 'search') { @@ -197,14 +213,6 @@ if ($mode == 'search') if ($id > 0) { - // Load data of third party - $object->fetch($id); - if ($object->id <= 0) - { - dol_print_error($db,$object->error); - } - - $head = societe_prepare_head($object); dol_fiche_head($head, 'customer', $langs->trans("ThirdParty"),0,'company'); @@ -216,10 +224,14 @@ if ($id > 0) print ''; print ''; + // Alias names (commercial, trademark or alias names) + print '"; + // Prospect/Customer print '"; @@ -394,9 +406,23 @@ if ($id > 0) { print ''; print ''; print ''; } @@ -421,9 +447,9 @@ if ($id > 0) print ''; } - // Level of prospect if ($object->client == 2 || $object->client == 3) { + // Level of prospect print '
'.$langs->trans("ThirdPartyName").''; - $object->next_prev_filter="te.client in (1,2,3)"; print $form->showrefnav($object,'socid','',($user->societe_id?0:1),'rowid','nom','',''); print '
'.$langs->trans('AliasNames').''; + print $object->name_alias; + print "
'.$langs->trans('ProspectCustomer').''; print $object->getLibCustProspStatut(); @@ -253,7 +265,7 @@ if ($id > 0) } // Address - print '
'.$langs->trans('Address').''; + print '
'.$langs->trans('Address').''; dol_print_address($object->address,'gmap','thirdparty',$object->id); print "
'; - print $form->editfieldkey("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer); + print $form->editfieldkey("OutstandingBill",'outstanding_limit',$object->outstanding_limit,$object,$user->rights->societe->creer); print ''; - print $form->editfieldval("OutstandingBill",'OutstandingBill',$object->outstanding_limit,$object,$user->rights->societe->creer,'amount',($object->outstanding_limit != '' ? price($object->outstanding_limit) : '')); + $limit_field_type = (! empty($conf->global->MAIN_USE_JQUERY_JEDITABLE)) ? 'numeric' : 'amount'; + print $form->editfieldval("OutstandingBill",'outstanding_limit',$object->outstanding_limit,$object,$user->rights->societe->creer,$limit_field_type,($object->outstanding_limit != '' ? price($object->outstanding_limit) : '')); + if (empty($object->outstanding_limit)) print $langs->trans("NoLimit"); + // display amount and link to unpaid bill + $outstandingBills = $object->get_OutstandingBill(); + print ' (' . $langs->trans('CurrentOutstandingBill') . ': '; + print price($outstandingBills, '', $langs, 0, 0, - 1, $conf->currency); + if ($object->outstanding_limit != '') + { + if ($outstandingBills > $object->outstanding_limit) + print img_warning($langs->trans("OutstandingBillReached")); + //print ' / ' . price($soc->outstanding_limit); + } + print ')'; + print '
'; print ''; // Status - print ''; - print ''; + $object->loadCacheOfProspStatus(); + print ''; } - // Sales representative + // Categories + if (!empty( $conf->categorie->enabled ) && !empty( $user->rights->categorie->lire )) { + print ''; + print '"; + } + + // Other attributes + $parameters=array('socid'=>$object->id, 'colspan' => ' colspan="3"', 'colspanvalue' => '3'); + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + if (empty($reshook) && ! empty($extrafields->attribute_label)) + { + print $object->showOptionals($extrafields); + } + + // Sales representative include DOL_DOCUMENT_ROOT.'/societe/tpl/linesalesrepresentative.tpl.php'; // Module Adherent @@ -457,7 +502,7 @@ if ($id > 0) { $langs->load("members"); $langs->load("users"); - print ''; + print ''; print '
'; print $langs->trans('ProspectLevel'); @@ -439,17 +465,36 @@ if ($id > 0) print '
'.$langs->trans("StatusProsp").''.$object->getLibProspCommStatut(4).''; - if ($object->stcomm_id != -1) print ''.img_action(0,-1).''; - if ($object->stcomm_id != 0) print ''.img_action(0,0).''; - if ($object->stcomm_id != 1) print ''.img_action(0,1).''; - if ($object->stcomm_id != 2) print ''.img_action(0,2).''; - if ($object->stcomm_id != 3) print ''.img_action(0,3).''; - print '
'.$langs->trans("StatusProsp").''.$object->getLibProspCommStatut(4, $object->cacheprospectstatus[$object->stcomm_id]['label']); + print '    
'; + foreach($object->cacheprospectstatus as $key => $val) + { + $titlealt='default'; + if (! empty($val['code']) && ! in_array($val['code'], array('ST_NO', 'ST_NEVER', 'ST_TODO', 'ST_PEND', 'ST_DONE'))) $titlealt=$val['label']; + if ($object->stcomm_id != $val['id']) print ''.img_action($titlealt,$val['code']).''; + } + print '
' . $langs->trans( "Categories" ) . ''; + print $form->showCategories( $object->id, 'customer', 1 ); + print "
'.$langs->trans("LinkedToDolibarrMember").'
'.$langs->trans("LinkedToDolibarrMember").''; $adh=new Adherent($db); $result=$adh->fetch('','',$object->id); @@ -502,8 +547,11 @@ if ($id > 0) { $propal_static = new Propal($db); - $sql = "SELECT s.nom, s.rowid, p.rowid as propalid, p.fk_statut, p.total_ht, p.ref, p.remise, "; - $sql.= " p.datep as dp, p.fin_validite as datelimite"; + $sql = "SELECT s.nom, s.rowid, p.rowid as propalid, p.fk_statut, p.total_ht"; + $sql.= ", p.tva as total_tva"; + $sql.= ", p.total as total_ttc"; + $sql.= ", p.ref, p.ref_client, p.remise"; + $sql.= ", p.datep as dp, p.fin_validite as datelimite"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p, ".MAIN_DB_PREFIX."c_propalst as c"; $sql.= " WHERE p.fk_soc = s.rowid AND p.fk_statut = c.id"; $sql.= " AND s.rowid = ".$object->id; @@ -521,7 +569,7 @@ if ($id > 0) print ''; print ''; - print ''; print ''; + print ''; print ''; $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook - - print "\n"; + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre(''); + print "\n"; print ''; @@ -226,6 +234,10 @@ if ($result) print ' '; print ''; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print ''; @@ -234,10 +246,8 @@ if ($result) print ''; print ''; - $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + print ''."\n"; - print "\n"; $var=True; @@ -255,6 +265,7 @@ if ($result) $thirdpartystatic->code_client=$obj->code_client; $thirdpartystatic->canvas=$obj->canvas; $thirdpartystatic->status=$obj->status; + $thirdpartystatic->name_alias=$obj->name_alias; print $thirdpartystatic->getNomUrl(1); print ''; print ''; @@ -262,23 +273,27 @@ if ($result) print ''; print ''; print ''; - print ''; - print ''; $parameters=array('obj' => $obj); - $formconfirm=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print ''; + + print ''; print "\n"; $i++; } - //print_barre_liste($langs->trans("ListOfCustomers"), $page, $_SERVER["PHP_SELF"],'',$sortfield,$sortorder,'',$num); - print "
'; + print ''; print ''; @@ -533,11 +581,17 @@ if ($id > 0) $objp = $db->fetch_object($resql); $var=!$var; print ""; - print '\n"; print ''; print ''; @@ -560,9 +614,12 @@ if ($id > 0) { $commande_static=new Commande($db); - $sql = "SELECT s.nom, s.rowid,"; - $sql.= " c.rowid as cid, c.total_ht, c.ref, c.fk_statut, c.facture,"; - $sql.= " c.date_commande as dc"; + $sql = "SELECT s.nom, s.rowid"; + $sql.= ", c.rowid as cid, c.total_ht"; + $sql.= ", c.tva as total_tva"; + $sql.= ", c.total_ttc"; + $sql.= ", c.ref, c.ref_client, c.fk_statut, c.facture"; + $sql.= ", c.date_commande as dc"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c"; $sql.= " WHERE c.fk_soc = s.rowid "; $sql.= " AND s.rowid = ".$object->id; @@ -594,7 +651,7 @@ if ($id > 0) print '
'.$langs->trans("LastPropals",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllPropals").' ('.$num.')'; print ''; print '
'.$langs->trans("LastPropals",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllPropals").' '.$num.''.img_picto($langs->trans("Statistics"),'stats').'
'.img_object($langs->trans("ShowPropal"),"propal").' '.$objp->ref.''."\n"; - if ( ($db->jdate($objp->dp) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == 1 ) - { - print " ".img_warning(); - } + print ''; + $propal_static->id = $objp->propalid; + $propal_static->ref = $objp->ref; + $propal_static->ref_client = $objp->ref_client; + $propal_static->total_ht = $objp->total_ht; + $propal_static->total_tva = $objp->total_tva; + $propal_static->total_ttc = $objp->total_ttc; + print $propal_static->getNomUrl(1); + if ( ($db->jdate($objp->dp) < ($now - $conf->propal->cloture->warning_delay)) && $objp->fk_statut == 1 ) { + print " ".img_warning(); + } print ''.dol_print_date($db->jdate($objp->dp),'day')."'.price($objp->total_ht).''.$propal_static->LibStatut($objp->fk_statut,5).'
'; print ''; - print ''; print ''; } $i = 0; @@ -708,7 +839,7 @@ if ($id > 0) print '
'; + print ''; print ''; + print '
'.$langs->trans("LastOrders",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllOrders").' ('.$num.')'; print ''; //if($num2 > 0) print ''; //else print ''; @@ -608,7 +665,14 @@ if ($id > 0) $objp = $db->fetch_object($resql); $var=!$var; print ""; - print '\n"; print ''; print ''; @@ -624,6 +688,73 @@ if ($id > 0) } } + /* + * Last sendings + */ + if (! empty($conf->expedition->enabled) && $user->rights->expedition->lire) { + $sendingstatic = new Expedition($db); + + $sql = 'SELECT e.rowid as id'; + $sql.= ', e.ref'; + $sql.= ', e.date_creation'; + $sql.= ', e.fk_statut as statut'; + $sql.= ', s.nom'; + $sql.= ', s.rowid as socid'; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."expedition as e"; + $sql.= " WHERE e.fk_soc = s.rowid AND s.rowid = ".$object->id; + $sql.= " AND e.entity IN (".getEntity('expedition', 1).")"; + $sql.= ' GROUP BY e.rowid'; + $sql.= ', e.ref'; + $sql.= ', e.date_creation'; + $sql.= ', e.fk_statut'; + $sql.= ', s.nom'; + $sql.= ', s.rowid'; + $sql.= " ORDER BY e.date_creation DESC"; + + $resql = $db->query($sql); + if ($resql) { + $var = true; + $num = $db->num_rows($resql); + $i = 0; + if ($num > 0) { + print '
'.$langs->trans("LastCustomerOrders",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllOrders").' '.$num.''.img_picto($langs->trans("Statistics"),'stats').''.img_picto($langs->trans("CreateInvoiceForThisCustomer"),'object_bill').''.img_picto($langs->trans("NoOrdersToInvoice"),'object_bill').'
'.img_object($langs->trans("ShowOrder"),"order").' '.$objp->ref."\n"; + print ''; + $commande_static->id = $objp->cid; + $commande_static->ref = $objp->ref; + $commande_static->ref_client=$objp->ref_client; + $commande_static->total_ht = $objp->total_ht; + $commande_static->total_tva = $objp->total_tva; + $commande_static->total_ttc = $objp->total_ttc; + print $commande_static->getNomUrl(1); print ''.dol_print_date($db->jdate($objp->dc),'day')."'.price($objp->total_ht).''.$commande_static->LibStatut($objp->fk_statut,$objp->facture,5).'
'; + + $tableaushown=1; + print ''; + print ''; + print ''; + } + + while ($i < $num && $i < $MAXLIST) { + $objp = $db->fetch_object($resql); + $var = ! $var; + print ""; + print ''; + if ($objp->date_creation > 0) { + print ''; + } else { + print ''; + } + + print ''; + print "\n"; + $i++; + } + $db->free($resql); + + if ($num > 0) + print "
'; + print ''; + print '
'.$langs->trans("LastSendings",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllSendings").' '.$num.''.img_picto($langs->trans("Statistics"),'stats').'
'; + $sendingstatic->id = $objp->id; + $sendingstatic->ref = $objp->ref; + print $sendingstatic->getNomUrl(1); + print ''.dol_print_date($db->jdate($objp->date_creation),'day').'!!!' . $sendingstatic->LibStatut($objp->statut, 5) . '
"; + } else { + dol_print_error($db); + } + } + /* * Last linked contracts */ @@ -649,7 +780,7 @@ if ($id > 0) print '
'; - print '
'.$langs->trans("LastContracts",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllContracts").' ('.$num.')
'.$langs->trans("AllContracts").' '.$num.'
'; print ''; - print ''; + print ''; print ''; $var=!$var; } @@ -746,15 +877,18 @@ if ($id > 0) { $facturestatic = new Facture($db); - $sql = 'SELECT f.rowid as facid, f.facnumber, f.type, f.amount, f.total, f.total_ttc,'; - $sql.= ' f.datef as df, f.datec as dc, f.paye as paye, f.fk_statut as statut,'; - $sql.= ' s.nom, s.rowid as socid,'; - $sql.= ' SUM(pf.amount) as am'; + $sql = 'SELECT f.rowid as facid, f.facnumber, f.type, f.amount'; + $sql.= ', f.total as total_ht'; + $sql.= ', f.tva as total_tva'; + $sql.= ', f.total_ttc'; + $sql.= ', f.datef as df, f.datec as dc, f.paye as paye, f.fk_statut as statut'; + $sql.= ', s.nom, s.rowid as socid'; + $sql.= ', SUM(pf.amount) as am'; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".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_soc = s.rowid AND s.rowid = ".$object->id; $sql.= " AND f.entity = ".$conf->entity; - $sql.= ' GROUP BY f.rowid, f.facnumber, f.type, f.amount, f.total, f.total_ttc,'; + $sql.= ' GROUP BY f.rowid, f.facnumber, f.type, f.amount, f.total, f.tva, f.total_ttc,'; $sql.= ' f.datef, f.datec, f.paye, f.fk_statut,'; $sql.= ' s.nom, s.rowid'; $sql.= " ORDER BY f.datef DESC, f.datec DESC"; @@ -771,7 +905,7 @@ if ($id > 0) $tableaushown=1; print ''; - print '
'.$langs->trans("LastInterventions",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllInterventions").' ('.$num.')
'.$langs->trans("LastInterventions",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllInterventions").' '.$num.'
'; + print ''; print ''; @@ -783,9 +917,12 @@ if ($id > 0) $var=!$var; print ""; print ''; if ($objp->df > 0) @@ -796,7 +933,7 @@ if ($id > 0) { print ''; } - print ''; + print ''; print ''; print "\n"; diff --git a/htdocs/comm/contact.php b/htdocs/comm/contact.php index a80796fe574..7bdbaf99b80 100644 --- a/htdocs/comm/contact.php +++ b/htdocs/comm/contact.php @@ -131,8 +131,8 @@ if ($resql) print_liste_field_titre($langs->trans("Lastname"),$_SERVER["PHP_SELF"],"p.name", $begin, $param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Firstname"),$_SERVER["PHP_SELF"],"p.firstname", $begin, $param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom", $begin, $param,"",$sortfield,$sortorder); - print ''; - print ''; + print_liste_field_titre($langs->trans("Email")); + print_liste_field_titre($langs->trans("Phone")); print "\n"; print ''; diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index bda5c6598f7..7dc359b4568 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -2,6 +2,7 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 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 @@ -30,6 +31,7 @@ require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/agenda.lib.php'; if (! empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; +if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; if (! $user->rights->societe->lire) accessforbidden(); @@ -62,10 +64,11 @@ $form = new Form($db); $formfile = new FormFile($db); $companystatic=new Societe($db); if (! empty($conf->propal->enabled)) $propalstatic=new Propal($db); +if (! empty($conf->commande->enabled)) $orderstatic=new Commande($db); llxHeader(); -print_fiche_titre($langs->trans("CommercialArea")); +print_fiche_titre($langs->trans("CommercialArea"),'','title_commercial.png'); print '
'; @@ -90,15 +93,30 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { $var=false; - print '
'.$langs->trans("LastCustomersBills",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllBills").' ('.$num.')'; print ''; print '
'.$langs->trans("LastCustomersBills",($num<=$MAXLIST?"":$MAXLIST)).''.$langs->trans("AllBills").' '.$num.''.img_picto($langs->trans("Statistics"),'stats').'
'; - $facturestatic->id=$objp->facid; - $facturestatic->ref=$objp->facnumber; - $facturestatic->type=$objp->type; + $facturestatic->id = $objp->facid; + $facturestatic->ref = $objp->facnumber; + $facturestatic->type = $objp->type; + $facturestatic->total_ht = $objp->total_ht; + $facturestatic->total_tva = $objp->total_tva; + $facturestatic->total_ttc = $objp->total_ttc; print $facturestatic->getNomUrl(1); print '!!!'.price($objp->total_ttc).''.price($objp->total_ht).''.($facturestatic->LibStatut($objp->paye,$objp->statut,5,$objp->am)).'
'.$langs->trans("Email").''.$langs->trans("Phone").'
'; print ''; print ''; + print '
'; print ''; print ''; print ''; print ''; - print "
'.$langs->trans("SearchACustomerOrder").'
'; print ':
:

\n"; + print "

\n"; +} + +// Search supplier order +if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->lire) +{ + $var=false; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'.$langs->trans("SearchASupplierOrder").'
'; + print ':
:

\n"; } // Search contract @@ -140,13 +158,13 @@ if (! empty($conf->ficheinter->enabled) && $user->rights->ficheinter->lire) */ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) { - $sql = "SELECT p.rowid, p.ref, p.total_ht, s.rowid as socid, s.nom as name, s.client, s.canvas"; + $sql = "SELECT p.rowid, p.ref, p.ref_client, p.total_ht, p.tva as total_tva, p.total as total_ttc, s.rowid as socid, s.nom as name, s.client, s.canvas"; $sql.= " FROM ".MAIN_DB_PREFIX."propal as p"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.fk_statut = 0"; $sql.= " AND p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; @@ -170,6 +188,10 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) print '
'; $propalstatic->id=$obj->rowid; $propalstatic->ref=$obj->ref; + $propalstatic->ref_client=$obj->ref_client; + $propalstatic->total_ht = $obj->total_ht; + $propalstatic->total_tva = $obj->total_tva; + $propalstatic->total_ttc = $obj->total_ttc; print $propalstatic->getNomUrl(1); print ''; @@ -207,13 +229,13 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { $langs->load("orders"); - $sql = "SELECT c.rowid, c.ref, c.total_ttc, s.rowid as socid, s.nom as name, s.client, s.canvas"; + $sql = "SELECT c.rowid, c.ref, c.ref_client, c.total_ht, c.tva as total_tva, c.total_ttc, s.rowid as socid, s.nom as name, s.client, s.canvas"; $sql.= " FROM ".MAIN_DB_PREFIX."commande 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.fk_statut = 0"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('commande', 1).")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND c.fk_soc = ".$socid; @@ -234,7 +256,15 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { $var=!$var; $obj = $db->fetch_object($resql); - print '
'.img_object($langs->trans("ShowOrder"),"order").' '.$obj->ref.'
'; + $orderstatic->id=$obj->rowid; + $orderstatic->ref=$obj->ref; + $orderstatic->ref_client=$obj->ref_client; + $orderstatic->total_ht = $obj->total_ht; + $orderstatic->total_tva = $obj->total_tva; + $orderstatic->total_ttc = $obj->total_ttc; + print $orderstatic->getNomUrl(1); + print ''; $companystatic->id=$obj->socid; $companystatic->name=$obj->name; @@ -410,7 +440,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire && 0) // TO $sql.= ", ".MAIN_DB_PREFIX."product as p"; 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('contrat', 1).")"; $sql.= " AND c.fk_product = p.rowid"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; @@ -461,12 +491,12 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) { $langs->load("propal"); - $sql = "SELECT s.nom as name, s.rowid, p.rowid as propalid, p.total as total_ttc, p.total_ht, p.ref, p.fk_statut, p.datep as dp, p.fin_validite as dfv"; + $sql = "SELECT s.nom as name, s.rowid, p.rowid as propalid, p.total as total_ttc, p.total_ht, p.tva as total_tva, p.ref, p.ref_client, p.fk_statut, p.datep as dp, p.fin_validite as dfv"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."propal as p"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; $sql.= " AND p.fk_statut = 1"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; @@ -483,7 +513,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) $var=true; print ''; - print ''; + print ''; $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD)); while ($i < $nbofloop) @@ -497,6 +527,10 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) $propalstatic->id=$obj->propalid; $propalstatic->ref=$obj->ref; + $propalstatic->ref_client=$obj->ref_client; + $propalstatic->total_ht = $obj->total_ht; + $propalstatic->total_tva = $obj->total_tva; + $propalstatic->total_ttc = $obj->total_ttc; print '
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("ProposalsOpened").' '.$num.'
'; print '"; - print ''."\n"; + print ''; print ''."\n"; print ''; @@ -540,6 +580,103 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) } } +/* + * Opened Order + */ +if (! empty($conf->commande->enabled) && $user->rights->commande->lire) +{ + $langs->load("orders"); + + $sql = "SELECT s.nom as name, s.rowid, c.rowid as commandeid, c.total_ttc, c.total_ht, c.tva as total_tva, c.ref, c.ref_client, c.fk_statut, c.date_valid as dv, c.facture as billed"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; + $sql.= ", ".MAIN_DB_PREFIX."commande as c"; + 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 IN (".getEntity('commande', 1).")"; + $sql.= " AND c.fk_statut = 1"; + if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid) $sql.= " AND s.rowid = ".$socid; + $sql.= " ORDER BY c.rowid DESC"; + + $result=$db->query($sql); + if ($result) + { + $total = 0; + $num = $db->num_rows($result); + $i = 0; + if ($num > 0) + { + $var=true; + + print '
'; @@ -514,7 +548,13 @@ if (! empty($conf->propal->enabled) && $user->rights->propal->lire) print "'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($obj->name,44).''; + $companystatic->id=$obj->rowid; + $companystatic->name=$obj->name; + $companystatic->client=$obj->client; + $companystatic->canvas=$obj->canvas; + print $companystatic->getNomUrl(1, 'company', 44); + print ''; print dol_print_date($db->jdate($obj->dp),'day').''.price($obj->total_ttc).'
'; + print ''; + + $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD)); + while ($i < $nbofloop) + { + $obj = $db->fetch_object($result); + $var=!$var; + print ''; + + // Ref + print '"; + + print ''; + print ''."\n"; + print ''; + print ''."\n"; + print ''."\n"; + $i++; + $total += $obj->total_ttc; + } + if ($num > $nbofloop) + { + print '"; + } + else if ($total>0) + { + print '"; + } + print "
'.$langs->trans("OrdersOpened").' '.$num.'
'; + + $orderstatic->id=$obj->commandeid; + $orderstatic->ref=$obj->ref; + $orderstatic->ref_client=$obj->ref_client; + $orderstatic->total_ht = $obj->total_ht; + $orderstatic->total_tva = $obj->total_tva; + $orderstatic->total_ttc = $obj->total_ttc; + + print ''; + print ''; + print ''; + print '
'; + print $orderstatic->getNomUrl(1); + print ''; + //if ($db->jdate($obj->dfv) < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); + print ''; + $filename=dol_sanitizeFileName($obj->ref); + $filedir=$conf->commande->dir_output . '/' . dol_sanitizeFileName($obj->ref); + $urlsource=$_SERVER['PHP_SELF'].'?id='.$obj->propalid; + print $formfile->getDocumentsLink($orderstatic->element, $filename, $filedir); + print '
'; + + print "
'; + $companystatic->id=$obj->rowid; + $companystatic->name=$obj->name; + $companystatic->client=$obj->client; + $companystatic->canvas=$obj->canvas; + print $companystatic->getNomUrl(1, 'company', 44); + print ''; + print dol_print_date($db->jdate($obj->dp),'day').''.price($obj->total_ttc).''.$orderstatic->LibStatut($obj->fk_statut,$obj->billed,3).'
'.$langs->trans("XMoreLines", ($num - $nbofloop))."
'.$langs->trans("Total")."".price($total)." 

"; + } + } + else + { + dol_print_error($db); + } +} + + print ''; diff --git a/htdocs/comm/list.php b/htdocs/comm/list.php index b35e4fab7cc..9e42d2e7167 100644 --- a/htdocs/comm/list.php +++ b/htdocs/comm/list.php @@ -4,8 +4,10 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Marcos García * - * This program is free software; you can redistribute it and/or modify + * This program is freei 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. @@ -56,7 +58,7 @@ $search_compta=GETPOST("search_compta"); $search_status = GETPOST("search_status",'int'); // Load sale and categ filters -$search_sale = GETPOST("search_sale"); +$search_sale = GETPOST("search_sale",'int'); $search_categ = GETPOST("search_categ",'int'); $catid = GETPOST("catid",'int'); // If the internal user must only see his customers, force searching by him @@ -64,6 +66,7 @@ if (!$user->rights->societe->client->voir && !$socid) $search_sale = $user->id; // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('customerlist')); +$extrafields = new ExtraFields($db); /* @@ -90,6 +93,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both if ($search_status=='') $search_status=1; // always display activ customer first + /* * view */ @@ -101,39 +105,40 @@ $thirdpartystatic=new Societe($db); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; llxHeader('',$langs->trans("ThirdParty"),$help_url); -$sql = "SELECT s.rowid, s.nom as name, s.client, s.zip, s.town, st.libelle as stcomm, s.prefix_comm, s.code_client, s.code_compta, s.status as status,"; +$sql = "SELECT s.rowid, s.nom as name, s.name_alias, s.client, s.zip, s.town, st.libelle as stcomm, s.prefix_comm, s.code_client, s.code_compta, s.status as status,"; $sql.= " s.datec, s.canvas"; -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $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) +if ((!$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) +// Add fields for extrafields +foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; +// Add fields from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; -if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe"; // We need this table joined to the select in order to filter by categ -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale +if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; // We need this table joined to the select in order to filter by categ +if ((!$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.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; $sql.= " WHERE s.fk_stcomm = st.id"; $sql.= " AND s.client IN (1, 3)"; $sql.= ' AND s.entity IN ('.getEntity('societe', 1).')'; -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= " AND s.rowid = sc.fk_soc"; +if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; if ($socid) $sql.= " AND s.rowid = ".$socid; -if ($search_sale) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale +if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale if ($catid > 0) $sql.= " AND cs.fk_categorie = ".$catid; if ($catid == -2) $sql.= " AND cs.fk_categorie IS NULL"; if ($search_categ > 0) $sql.= " AND cs.fk_categorie = ".$search_categ; if ($search_categ == -2) $sql.= " AND cs.fk_categorie IS NULL"; -if ($search_company) { - $sql .= natural_search('s.nom', $search_company); -} -if ($search_zipcode) $sql.= " AND s.zip LIKE '".$db->escape($search_zipcode)."%'"; -if ($search_town) { - $sql .= natural_search('s.town', $search_town); -} -if ($search_code) $sql.= " AND s.code_client LIKE '%".$db->escape($search_code)."%'"; -if ($search_compta) $sql.= " AND s.code_compta LIKE '%".$db->escape($search_compta)."%'"; - -if ($search_status!='') $sql .= " AND s.status = ".$db->escape($search_status); -// Insert sale filter -if ($search_sale) -{ - $sql .= " AND sc.fk_user = ".$search_sale; -} +if ($search_company) $sql.= natural_search(array('s.nom', 's.name_alias'), $search_company); +if ($search_zipcode) $sql.= natural_search("s.zip", $search_zipcode); +if ($search_town) $sql.= natural_search('s.town', $search_town); +if ($search_code) $sql.= natural_search("s.code_client", $search_code); +if ($search_compta) $sql.= natural_search("s.code_compta", $search_compta); +if ($search_status!='') $sql.= " AND s.status = ".$db->escape($search_status); +if ($search_sale > 0) $sql.= " AND sc.fk_user = ".$search_sale; +// Add where from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; // Count total nb of records $nbtotalofrecords = 0; @@ -154,10 +159,10 @@ if ($result) $param = "&search_company=".$search_company."&search_code=".$search_code."&search_zipcode=".$search_zipcode."&search_town=".$search_town; if ($search_categ != '') $param.='&search_categ='.$search_categ; - if ($search_sale != '') $param.='&search_sale='.$search_sale; + if ($search_sale > 0) $param.='&search_sale='.$search_sale; if ($search_status != '') $param.='&search_status='.$search_status; - print_barre_liste($langs->trans("ListOfCustomers"), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + print_barre_liste($langs->trans("ListOfCustomers"), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies.png'); $i = 0; @@ -181,6 +186,9 @@ if ($result) { print '
'; print $moreforfilter; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; print '
'; } @@ -193,12 +201,12 @@ if ($result) print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("AccountancyCode"),$_SERVER["PHP_SELF"],"s.code_compta","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"datec","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="center"',$sortfield,$sortorder); - print '
 
'; print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); print '
'.$obj->zip.''.$obj->code_client.''.$obj->code_compta.''.dol_print_date($db->jdate($obj->datec),'day').''.$thirdpartystatic->getLibStatut(3); - print ''.$thirdpartystatic->getLibStatut(3); + print '
\n"; - print "\n"; $db->free($result); $parameters=array('sql' => $sql); - $formconfirm=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook + $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print "
\n"; + print "\n"; } else { diff --git a/htdocs/comm/mailing/card.php b/htdocs/comm/mailing/card.php index f8aa86428af..91082646913 100644 --- a/htdocs/comm/mailing/card.php +++ b/htdocs/comm/mailing/card.php @@ -140,9 +140,7 @@ if (empty($reshook)) { if (empty($conf->global->MAILING_LIMIT_SENDBYWEB)) { - //TODO: What is this for? - // Pour des raisons de securite, on ne permet pas cette fonction via l'IHM, - // on affiche donc juste un message + // As security measure, we don't allow send from the GUI setEventMessage($langs->trans("MailingNeedCommand"), 'warnings'); setEventMessage('', 'warnings'); setEventMessage($langs->trans("MailingNeedCommand2"), 'warnings'); @@ -155,7 +153,7 @@ if (empty($reshook)) } else { - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); if ($object->statut == 0) { @@ -325,8 +323,12 @@ if (empty($reshook)) } } + if (!empty($conf->global->MAILING_DELAY)) + { + sleep($conf->global->MAILING_DELAY); + } - //test if CHECK READ change statut prospect contact + //test if CHECK READ change statut prospect contact } else { @@ -396,7 +398,7 @@ if (empty($reshook)) { $error=0; - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); $object->sendto = $_POST["sendto"]; if (! $object->sendto) @@ -493,7 +495,7 @@ if (empty($reshook)) // Action update description of emailing if ($action == 'settitre' || $action == 'setemail_from' || $action == 'setreplyto' || $action == 'setemail_errorsto') { - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); if ($action == 'settitre') $object->titre = trim(GETPOST('titre','alpha')); else if ($action == 'setemail_from') $object->email_from = trim(GETPOST('email_from','alpha')); @@ -525,7 +527,7 @@ if (empty($reshook)) */ if (! empty($_POST['addfile'])) { - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -538,7 +540,7 @@ if (empty($reshook)) // Action remove file if (! empty($_POST["removedfile"])) { - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; @@ -673,6 +675,8 @@ if ($action == 'create') print_fiche_titre($langs->trans("NewMailing")); + dol_fiche_head(); + print ''; print ''; print ''; @@ -704,12 +708,14 @@ if ($action == 'create') print ''; print '
'.$langs->trans("MailTitle").'
'.$langs->trans("MailFrom").'
'; // Editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; - $doleditor=new DolEditor('body',$_POST['body'],'',320,'dolibarr_mailings','',true,true,$conf->global->FCKEDITOR_ENABLE_MAILING,20,70); + $doleditor=new DolEditor('body',$_POST['body'],'',320,'dolibarr_mailings','',true,true,$conf->global->FCKEDITOR_ENABLE_MAILING,20,'90%'); $doleditor->Create(); print '
'; - print '
'; + dol_fiche_end(); + + print '
'; print ''; } @@ -717,7 +723,7 @@ else { if ($object->id > 0) { - $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1); + $upload_dir = $conf->mailing->dir_output . "/" . get_exdir($object->id,2,0,1,$object,'mailing'); $head = emailing_prepare_head($object); @@ -1158,11 +1164,11 @@ else print '
'; - print '
'; + print '
'; print ''; - print '   '; + print '     '; print ''; - print '
'; + print ''; print ''; print '
'; diff --git a/htdocs/comm/mailing/cibles.php b/htdocs/comm/mailing/cibles.php index ff129a557e8..6958821a05f 100644 --- a/htdocs/comm/mailing/cibles.php +++ b/htdocs/comm/mailing/cibles.php @@ -419,13 +419,8 @@ if ($object->fetch($id) >= 0) print_liste_field_titre($langs->trans("DateSending"),$_SERVER["PHP_SELF"],"mc.date_envoi",$param,'','align="center"',$sortfield,$sortorder); } - // Statut print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"mc.statut",$param,'','align="right"',$sortfield,$sortorder); - - //Search Icon - print ''; - print ' '; - print ''; + print_liste_field_titre(''); print ''; diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index b5302063a65..8cd48a75f40 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -8,6 +8,7 @@ * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2010-2011 Philippe Grand * Copyright (C) 2012-2013 Christophe Battarel + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2014 Ferran Marcet * @@ -40,6 +41,7 @@ require_once DOL_DOCUMENT_ROOT . '/core/modules/propale/modules_propale.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/propal.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT . '/projet/class/project.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formprojet.class.php'; @@ -53,6 +55,7 @@ $langs->load('orders'); $langs->load('products'); $langs->load("deliveries"); $langs->load('sendings'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); if (! empty($conf->margin->enabled)) $langs->load('margins'); @@ -62,6 +65,7 @@ $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); $socid = GETPOST('socid', 'int'); $action = GETPOST('action', 'alpha'); +$cancel = GETPOST('cancel', 'alpha'); $origin = GETPOST('origin', 'alpha'); $originid = GETPOST('originid', 'int'); $confirm = GETPOST('confirm', 'alpha'); @@ -100,6 +104,7 @@ $hookmanager->initHooks(array('propalcard','globalcard')); $permissionnote = $user->rights->propale->creer; // Used by the include of actions_setnotes.inc.php + /* * Actions */ @@ -110,6 +115,8 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { + if ($cancel) $action = ''; + include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once // Action clone object @@ -172,7 +179,10 @@ if (empty($reshook)) } // Validation - else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->propal->valider) + else if ($action == 'confirm_validate' && $confirm == 'yes' && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->propal_advance->validate))) + ) { $result = $object->valid($user); if ($result >= 0) @@ -226,7 +236,7 @@ if (empty($reshook)) } else if ($action == 'setdate_livraison' && $user->rights->propal->creer) { - $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['liv_month'], $_POST['liv_day'], $_POST['liv_year'])); + $result = $object->set_date_livraison($user, dol_mktime(12, 0, 0, $_POST['date_livraisonmonth'], $_POST['date_livraisonday'], $_POST['date_livraisonyear'])); if ($result < 0) dol_print_error($db, $object->error); } @@ -237,6 +247,12 @@ if (empty($reshook)) $object->set_ref_client($user, $_POST['ref_client']); } + // Set incoterm + elseif ($action == 'set_incoterms' && !empty($conf->incoterm->enabled)) + { + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); + } + // Create proposal else if ($action == 'add' && $user->rights->propal->creer) { @@ -244,7 +260,7 @@ if (empty($reshook)) $object->fetch_thirdparty(); $datep = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); - $date_delivery = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); + $date_delivery = dol_mktime(12, 0, 0, GETPOST('date_livraisonmonth'), GETPOST('date_livraisonday'), GETPOST('date_livraisonyear')); $duration = GETPOST('duree_validite'); if (empty($datep)) { @@ -290,8 +306,11 @@ if (empty($reshook)) $object->fk_project = GETPOST('projectid'); $object->modelpdf = GETPOST('model'); $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); - $object->statut = 0; + $object->note_private = GETPOST('note_private'); + $object->note_public = GETPOST('note_public'); + $object->statut = Propal::STATUS_DRAFT; + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $id = $object->create_from($user); } else { @@ -314,7 +333,10 @@ if (empty($reshook)) $object->fk_project = GETPOST('projectid'); $object->modelpdf = GETPOST('model'); $object->author = $user->id; // deprecated - $object->note = GETPOST('note'); + $object->note_private = GETPOST('note_private'); + $object->note_public = GETPOST('note_public'); + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->origin = GETPOST('origin'); $object->origin_id = GETPOST('originid'); @@ -431,12 +453,12 @@ if (empty($reshook)) // Extrafields if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) { $lines[$i]->fetch_optionals($lines[$i]->rowid); - $array_option = $lines[$i]->array_options; + $array_options = $lines[$i]->array_options; } $tva_tx=get_default_tva($mysoc, $object->thirdparty); - $result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, 'HT', 0, $lines[$i]->info_bits, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $date_start, $date_end, $array_option); + $result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, 'HT', 0, $lines[$i]->info_bits, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $date_start, $date_end, $array_options, $lines[$i]->fk_unit); if ($result > 0) { $lineid = $result; @@ -527,32 +549,86 @@ if (empty($reshook)) } // Classify billed - else if ($action == 'classifybilled' && $user->rights->propal->cloturer) { - $object->cloture($user, 4, ''); + else if ($action == 'classifybilled' && $user->rights->propal->cloturer) + { + $result=$object->cloture($user, 4, ''); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } } // Reopen proposal - else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) { + else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) + { // prevent browser refresh from reopening proposal several times - if ($object->statut == 2 || $object->statut == 3 || $object->statut == 4) { + if ($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED) { $object->reopen($user, 1); } } // Close proposal - else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) { + else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) + { if (! GETPOST('statut')) { setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), 'errors'); $action = 'statut'; } else { // prevent browser refresh from closing proposal several times - if ($object->statut == 1) { + if ($object->statut == Propal::STATUS_VALIDATED) + { + $result=$object->cloture($user, GETPOST('statut'), GETPOST('note')); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } + } + } + } + + // Classify billed + else if ($action == 'classifybilled' && $user->rights->propal->cloturer) + { + $result=$object->cloture($user, 4, ''); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } + } + + // Reopen proposal + else if ($action == 'confirm_reopen' && $user->rights->propal->cloturer && ! GETPOST('cancel')) + { + // prevent browser refresh from reopening proposal several times + if ($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED) + { + $result=$object->reopen($user, 1); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + } + } + } + + // Close proposal + else if ($action == 'setstatut' && $user->rights->propal->cloturer && ! GETPOST('cancel')) + { + if (! GETPOST('statut')) { + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("CloseAs")), 'errors'); + $action = 'statut'; + } else { + // prevent browser refresh from closing proposal several times + if ($object->statut == Propal::STATUS_VALIDATED) { $object->cloture($user, GETPOST('statut'), GETPOST('note')); } } } - include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php'; + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; /* @@ -621,7 +697,7 @@ if (empty($reshook)) // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); - $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); // Unset extrafield if (is_array($extralabelsline)) { // Get extra fields @@ -656,6 +732,7 @@ if (empty($reshook)) // Ecrase $pu par celui du produit // Ecrase $desc par celui du produit // Ecrase $txtva par celui du produit + // Replaces $fk_unit with the product unit if (! empty($idprod)) { $prod = new Product($db); $prod->fetch($idprod); @@ -737,8 +814,21 @@ if (empty($reshook)) $desc = dol_concatdesc($desc, $product_desc); + // Add dimensions into product description + /*if (empty($conf->global->MAIN_PRODUCT_DISABLE_AUTOADD_DIM)) + { + $text=''; + if ($prod->weight) $text.=($text?"\n":"").$outputlangs->trans("Weight").': '.$prod->weight.' '.$prod->weight_units; + if ($prod->length) $text.=($text?"\n":"").$outputlangs->trans("Length").': '.$prod->length.' '.$prod->length_units; + if ($prod->surface) $text.=($text?"\n":"").$outputlangs->trans("Surface").': '.$prod->surface.' '.$prod->surface_units; + if ($prod->volume) $text.=($text?"\n":"").$outputlangs->trans("Volume").': '.$prod->volume.' '.$prod->volume_units; + + $desc = dol_concatdesc($desc, $text); + }*/ + // Add custom code and origin country into description - if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) { + if (empty($conf->global->MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE) && (! empty($prod->customcode) || ! empty($prod->country_code))) + { $tmptxt = '('; if (! empty($prod->customcode)) $tmptxt .= $langs->transnoentitiesnoconv("CustomCode") . ': ' . $prod->customcode; @@ -751,6 +841,7 @@ if (empty($reshook)) } $type = $prod->type; + $fk_unit = $prod->fk_unit; } else { $pu_ht = price2num($price_ht, 'MU'); $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); @@ -759,6 +850,8 @@ if (empty($reshook)) $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); $desc = $product_desc; $type = GETPOST('type'); + + $fk_unit = GETPOST('units', 'alpha'); } // Margin @@ -781,7 +874,7 @@ if (empty($reshook)) setEventMessage($mesg, 'errors'); } else { // Insert line - $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $date_start, $date_end, $array_option); + $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $price_base_type, $pu_ttc, $info_bits, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $date_start, $date_end, $array_options, $fk_unit); if ($result > 0) { $db->commit(); @@ -815,6 +908,7 @@ if (empty($reshook)) unset($_POST['np_markRate']); unset($_POST['dp_desc']); unset($_POST['idprod']); + unset($_POST['units']); unset($_POST['date_starthour']); unset($_POST['date_startmin']); @@ -865,7 +959,7 @@ if (empty($reshook)) // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); - $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline); // Unset extrafield if (is_array($extralabelsline)) { // Get extra fields @@ -910,7 +1004,7 @@ if (empty($reshook)) if (! $error) { $db->begin(); - $result = $object->updateline(GETPOST('lineid'), $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $date_start, $date_end, $array_option); + $result = $object->updateline(GETPOST('lineid'), $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, $description, 'HT', $info_bits, $special_code, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $type, $date_start, $date_end, $array_options, $_POST["units"]); if ($result >= 0) { $db->commit(); @@ -973,13 +1067,10 @@ if (empty($reshook)) } $ret = $object->fetch($id); // Reload to get new records $result = $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - - if ($result <= 0) { - dol_print_error($db, $result); - exit(); - } else { - header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc')); - exit(); + if ($result <= 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } @@ -1091,7 +1182,7 @@ if (empty($reshook)) if (! $error) { // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('propaldao')); $parameters = array('id' => $object->id); $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been @@ -1156,6 +1247,7 @@ if (empty($reshook)) } } + /* * View */ @@ -1167,6 +1259,7 @@ $formother = new FormOther($db); $formfile = new FormFile($db); $formpropal = new FormPropal($db); $companystatic = new Societe($db); +if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } $now = dol_now(); @@ -1241,16 +1334,17 @@ if ($action == 'create') print '
'; print ''; print ''; - if ($origin != 'project' && $originid) { print ''; print ''; } + dol_fiche_head(); + print ''; // Reference - print ''; + print ''; // Ref customer print ''; - // Model + // Project + if (! empty($conf->projet->enabled) && $socid > 0) + { + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); + + $langs->load("projects"); + print ''; + print ''; + print ''; + } + + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + } + + // Template to use by default print ''; print ''; print '"; - // Project - if (! empty($conf->projet->enabled) && $socid > 0) { - - $formproject = new FormProjets($db); - - $projectid = 0; - if ($origin == 'project') - $projectid = ($originid ? $originid : 0); + // Public note + print ''; + print ''; + print ''; - print ''; + print ''; - print ''; + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); + print $doleditor->Create(1); + // print ' + print ''; } // Other attributes @@ -1423,33 +1550,30 @@ if ($action == 'create') $newclassname = 'Intervention'; print ''; - print ''; - print '"; + print ''; + print '"; if ($mysoc->localtax1_assuj == "1" || $objectsrc->total_localtax1 != 0 ) // Localtax1 { - print '"; + print '"; } if ($mysoc->localtax2_assuj == "1" || $objectsrc->total_localtax2 != 0) // Localtax2 { - print '"; + print '"; } - print '"; + print '"; } print "
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
' . $langs->trans('RefCustomer') . ''; @@ -1291,7 +1385,7 @@ if ($action == 'create') $absolute_discount = $soc->getAvailableDiscounts(); print '. '; if ($absolute_discount) - print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->trans("Currency" . $conf->currency)); + print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount, 0, $langs, 1, -1, -1, $conf->currency)); else print $langs->trans("CompanyHasNoAbsoluteDiscount"); print '.'; @@ -1348,13 +1442,38 @@ if ($action == 'create') $syear = date("Y", $tmpdte); $smonth = date("m", $tmpdte); $sday = date("d", $tmpdte); - $form->select_date($syear."-".$smonth."-".$sday, 'liv_', '', '', '', "addprop"); + $form->select_date($syear."-".$smonth."-".$sday, 'date_livraison', '', '', '', "addprop"); } else { - $form->select_date(-1, 'liv_', '', '', '', "addprop", 1, 1); + $form->select_date(-1, 'date_livraison', '', '', '', "addprop", 1, 1); } print '
' . $langs->trans("Project") . ''; + $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + print '   id).'">' . $langs->trans("AddProject") . ''; + print '
'; + print $form->select_incoterms((!empty($soc->fk_incoterms) ? $soc->fk_incoterms : ''), (!empty($soc->location_incoterms)?$soc->location_incoterms:'')); + print '
' . $langs->trans("DefaultModel") . ''; @@ -1362,25 +1481,33 @@ if ($action == 'create') print $form->selectarray('model', $liste, ($conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT ? $conf->global->PROPALE_ADDON_PDF_ODT_DEFAULT : $conf->global->PROPALE_ADDON_PDF)); print "
' . $langs->trans('NotePublic') . ''; + $note_public = ''; + if (is_object($objectsrc)) // Take value from source object + { + $note_public = $objectsrc->note_public; + } + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); + print $doleditor->Create(1); + // Private note + if (empty($user->societe_id)) + { print '
' . $langs->trans("Project") . ''; - - $numprojet = $formproject->select_projects($soc->id, $projectid); - if ($numprojet == 0) { - $langs->load("projects"); - print '   ' . $langs->trans("AddProject") . ''; + print '' . $langs->trans('NotePrivate') . ''; + $note_private = ''; + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) // Take value from source object + { + $note_private = $objectsrc->note_private; } - print '
' . $langs->trans($newclassname) . '' . $objectsrc->getNomUrl(1) . '
' . $langs->trans('TotalHT') . '' . price($objectsrc->total_ht) . '
' . $langs->trans('TotalVAT') . '' . price($objectsrc->total_tva) . "
' . $langs->trans('TotalHT') . '' . price($objectsrc->total_ht, 0, $langs, 1, -1, -1, $conf->currency) . '
' . $langs->trans('TotalVAT') . '' . price($objectsrc->total_tva, 0, $langs, 1, -1, -1, $conf->currency) . "
' . $langs->transcountry("AmountLT1", $mysoc->country_code) . '' . price($objectsrc->total_localtax1) . "
' . $langs->transcountry("AmountLT1", $mysoc->country_code) . '' . price($objectsrc->total_localtax1, 0, $langs, 1, -1, -1, $conf->currency) . "
' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($objectsrc->total_localtax2) . "
' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($objectsrc->total_localtax2, 0, $langs, 1, -1, -1, $conf->currency) . "
' . $langs->trans('TotalTTC') . '' . price($objectsrc->total_ttc) . "
' . $langs->trans('TotalTTC') . '' . price($objectsrc->total_ttc, 0, $langs, 1, -1, -1, $conf->currency) . "
\n"; - print '
'; - - /* * Combobox pour la fonction de copie */ if (empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) print ''; - if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print ''; + if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '
'; if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE)) { // For backward compatibility @@ -1464,7 +1588,7 @@ if ($action == 'create') $sql .= " FROM " . MAIN_DB_PREFIX . "propal p"; $sql .= ", " . MAIN_DB_PREFIX . "societe s"; $sql .= " WHERE s.rowid = p.fk_soc"; - $sql .= " AND p.entity = " . $conf->entity; + $sql .= " AND p.entity IN (".getEntity('propal', 1).")"; $sql .= " AND p.fk_statut <> 0"; $sql .= " ORDER BY Id"; @@ -1487,7 +1611,7 @@ if ($action == 'create') if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print ''; - print ''; + print ''; print ''; } @@ -1519,14 +1643,16 @@ if ($action == 'create') } print ''; } - if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print '
 
' . $langs->trans("CreateEmptyPropal") . '

'; + if (! empty($conf->global->PROPAL_CLONE_ON_CREATE_PAGE) || ! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) print ''; + dol_fiche_end(); $langs->load("bills"); - print '
'; + print '
'; print ''; - print ' '; - print '
'; + print '     '; + print ''; + print ''; print "
"; @@ -1607,7 +1733,7 @@ if ($action == 'create') require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; $notify = new Notify($db); $text .= '
'; - $text .= $notify->confirmMessage('PROPAL_VALIDATE', $object->socid); + $text .= $notify->confirmMessage('PROPAL_VALIDATE', $object->socid, $object); } if (! $error) @@ -1616,9 +1742,9 @@ if ($action == 'create') if (! $formconfirm) { $parameters = array('lineid' => $lineid); - $formconfirm = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified - // by - // hook + $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 @@ -1659,7 +1785,7 @@ if ($action == 'create') print '' . $langs->trans('Company') . '' . $soc->getNomUrl(1) . ''; print ''; - // Ligne info remises tiers + // Lin for thirdparty discounts print '' . $langs->trans('Discounts') . ''; if ($soc->remise_percent) print $langs->trans("CompanyHasRelativeDiscount", $soc->remise_percent); @@ -1671,7 +1797,7 @@ if ($action == 'create') $absolute_discount = price2num($absolute_discount, 'MT'); $absolute_creditnote = price2num($absolute_creditnote, 'MT'); if ($absolute_discount) { - if ($object->statut > 0) { + if ($object->statut > Propal::STATUS_DRAFT) { print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount, 0, $langs, 0, 0, -1, $conf->currency)); } else { // Remise dispo de type non avoir @@ -1733,7 +1859,7 @@ if ($action == 'create') } else { if (! empty($object->fin_validite)) { print dol_print_date($object->fin_validite, 'daytext'); - if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) + if ($object->statut == Propal::STATUS_VALIDATED && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); } else { print ' '; @@ -1762,23 +1888,9 @@ if ($action == 'create') // Delivery date $langs->load('deliveries'); print ''; - print ''; - if ($action != 'editdate_livraison' && ! empty($object->brouillon)) - print ''; - print '
'; - print $langs->trans('DeliveryDate'); - print 'id . '">' . img_edit($langs->transnoentitiesnoconv('SetDeliveryDate'), 1) . '
'; + print $form->editfieldkey($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer); print ''; - if ($action == 'editdate_livraison') { - print '
'; - print ''; - print ''; - $form->select_date($object->date_livraison, 'liv_', '', '', '', "editdate_livraison"); - print ''; - print '
'; - } else { - print dol_print_date($object->date_livraison, 'daytext'); - } + print $form->editfieldval($langs->trans('DeliveryDate'), 'date_livraison', $object->date_livraison, $object, $user->rights->propal->creer, 'day'); print ''; print ''; @@ -1856,20 +1968,22 @@ if ($action == 'create') print ''; // Project - if (! empty($conf->projet->enabled)) { + if (! empty($conf->projet->enabled)) + { $langs->load("projects"); print ''; print ''; - if ($user->rights->propal->creer) { + if ($user->rights->propal->creer) + { if ($action != 'classify') print ''; print '
'; print $langs->trans('Project') . '' . img_edit($langs->transnoentitiesnoconv('SetProject')) . '
'; print ''; if ($action == 'classify') { - $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid'); + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1); } else { - $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none'); + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0); } print ''; } else { @@ -1878,7 +1992,7 @@ if ($action == 'create') print ''; $proj = new Project($db); $proj->fetch($object->fk_project); - print ''; + print ''; print $proj->ref; print ''; print ''; @@ -1896,7 +2010,7 @@ if ($action == 'create') print $langs->trans('OutstandingBill'); print ''; print price($soc->get_OutstandingBill()) . ' / '; - print price($soc->outstanding_limit, 0, '', 1, - 1, - 1, $conf->currency); + print price($soc->outstanding_limit, 0, $langs, 1, - 1, - 1, $conf->currency); print ''; print ''; } @@ -1921,14 +2035,36 @@ if ($action == 'create') print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
'; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->propal->creer) print ''.img_edit().''; + else print ' '; + print '
'; + print ''; + print ''; + if ($action != 'editincoterm') + { + print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); + } + else + { + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?id='.$object->id); + } + print ''; + } + // Other attributes $cols = 3; include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; // Amount HT print '' . $langs->trans('AmountHT') . ''; - print '' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . ''; - print ''; + print '' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . ''; // Margin Infos if (! empty($conf->margin->enabled)) { @@ -1940,27 +2076,27 @@ if ($action == 'create') // Amount VAT print '' . $langs->trans('AmountVAT') . ''; - print '' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . ''; - print ''; + print '' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; // Amount Local Taxes if ($mysoc->localtax1_assuj == "1" || $object->total_localtax1 != 0) // Localtax1 { print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . ''; - print '' . price($object->total_localtax1, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_localtax1, '', $langs, 0, - 1, - 1, $conf->currency) . ''; print ''; } if ($mysoc->localtax2_assuj == "1" || $object->total_localtax2 != 0) // Localtax2 { print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . ''; - print '' . price($object->total_localtax2, '', $langs, 0, - 1, - 1, $conf->currency) . ''; - print ''; + print '' . price($object->total_localtax2, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; } // Amount TTC print '' . $langs->trans('AmountTTC') . ''; - print '' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . ''; - print ''; + print '' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . ''; + print ''; // Statut print '' . $langs->trans('Status') . '' . $object->getLibStatut(4) . ''; @@ -1993,7 +2129,7 @@ if ($action == 'create') '; - if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { + if (! empty($conf->use_javascript_ajax) && $object->statut == Propal::STATUS_DRAFT) { include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; } @@ -2003,7 +2139,7 @@ if ($action == 'create') $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); // Form to add new line - if ($object->statut == 0 && $user->rights->propal->creer) + if ($object->statut == Propal::STATUS_DRAFT && $user->rights->propal->creer) { if ($action != 'editline') { @@ -2061,35 +2197,37 @@ if ($action == 'create') $parameters = array(); $reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been // modified by hook - if (empty($reshook)) { - if ($action != 'statut' && $action != 'editline') { + if (empty($reshook)) + { + if ($action != 'statut' && $action != 'editline') + { // Validate - if ($object->statut == 0 && $object->total_ttc >= 0 && count($object->lines) > 0 && $user->rights->propal->valider) { + if ($object->statut == Propal::STATUS_DRAFT && $object->total_ttc >= 0 && count($object->lines) > 0 && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->propal_advance->validate))) + ) { if (count($object->lines) > 0) print ''; // else print ''.$langs->trans('Validate').''; } // Create event - if ($conf->agenda->enabled && ! empty($conf->global->MAIN_ADD_EVENT_ON_ELEMENT_CARD)) // Add hidden condition because this is not a - // "workflow" action so should appears somewhere - // else on - // page. + if ($conf->agenda->enabled && ! empty($conf->global->MAIN_ADD_EVENT_ON_ELEMENT_CARD)) // Add hidden condition because this is not a "workflow" action so should appears somewhere else on page. { print '' . $langs->trans("AddAction") . ''; } // Edit - if ($object->statut == 1 && $user->rights->propal->creer) { + if ($object->statut == Propal::STATUS_VALIDATED && $user->rights->propal->creer) { print ''; } // ReOpen - if (($object->statut == 2 || $object->statut == 3 || $object->statut == 4) && $user->rights->propal->cloturer) { + if (($object->statut == Propal::STATUS_SIGNED || $object->statut == Propal::STATUS_NOTSIGNED || $object->statut == Propal::STATUS_BILLED) && $user->rights->propal->cloturer) { print ''; } // Send - if ($object->statut == 1 || $object->statut == 2) { + if ($object->statut == Propal::STATUS_VALIDATED || $object->statut == Propal::STATUS_SIGNED) { if (empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->propal->propal_advance->send) { print ''; } else @@ -2097,14 +2235,14 @@ if ($action == 'create') } // Create an order - if (! empty($conf->commande->enabled) && $object->statut == 2) { + if (! empty($conf->commande->enabled) && $object->statut == Propal::STATUS_SIGNED) { if ($user->rights->commande->creer) { print ''; } } // Create contract - if ($conf->contrat->enabled && $object->statut == 2) { + if ($conf->contrat->enabled && $object->statut == Propal::STATUS_SIGNED) { $langs->load("contracts"); if ($user->rights->contrat->creer) { @@ -2113,7 +2251,8 @@ if ($action == 'create') } // Create an invoice and classify billed - if ($object->statut == 2) { + if ($object->statut == Propal::STATUS_SIGNED) + { if (! empty($conf->facture->enabled) && $user->rights->facture->creer) { print ''; @@ -2127,7 +2266,7 @@ if ($action == 'create') } // Close - if ($object->statut == 1 && $user->rights->propal->cloturer) { + if ($object->statut == Propal::STATUS_VALIDATED && $user->rights->propal->cloturer) { print ''; } @@ -2168,10 +2307,13 @@ if ($action == 'create') $somethingshown = $formfile->show_documents('propal', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); - /* - * Linked object block - */ - $somethingshown = $object->showLinkedObjectBlock(); + // Linked object block + $somethingshown = $form->showLinkedObjectBlock($object); + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object); + if ($linktoelem) print '
'.$linktoelem; + print '
'; // print ''; @@ -2188,14 +2330,18 @@ if ($action == 'create') /* * Action presend */ + //Select mail models is same action as presend + if (GETPOST('modelselected')) { + $action = 'presend'; + } if ($action == 'presend') { $object->fetch_projet(); $ref = dol_sanitizeFileName($object->ref); include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; - $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; // Define output language $outputlangs = $langs; @@ -2219,8 +2365,8 @@ if ($action == 'create') dol_print_error($db, $result); exit(); } - $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $fileparams = dol_most_recent_file($conf->propal->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; } print '
'; @@ -2282,6 +2428,7 @@ if ($action == 'create') // Tableau des parametres complementaires $formmail->param['action'] = 'send'; $formmail->param['models'] = 'propal_send'; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); $formmail->param['id'] = $object->id; $formmail->param['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id; // Init list of files diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 775e1ad2782..b80b96654c1 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -9,8 +9,9 @@ * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2010-2011 Philippe Grand * Copyright (C) 2012-2014 Christophe Battarel + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -32,6 +33,7 @@ */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT ."/core/class/commonobjectline.class.php"; require_once DOL_DOCUMENT_ROOT .'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT .'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT .'/margin/lib/margins.lib.php'; @@ -54,19 +56,65 @@ class Propal extends CommonObject var $id; - var $socid; // Id client - var $client; // Objet societe client (a charger par fetch_client) + /** + * ID of the client + * @var int + */ + var $socid; + /** + * Client (loaded by fetch_client) + * @var Societe + */ + var $client; var $contactid; var $fk_project; var $author; var $ref; var $ref_client; - var $statut; // 0 (draft), 1 (validated), 2 (signed), 3 (not signed), 4 (billed) - var $datec; // Date of creation - var $datev; // Date of validation - var $date; // Date of proposal - var $datep; // Same than date + + /** + * Status of the quote + * @var int + * @see Propal::STATUS_DRAFT, Propal::STATUS_VALIDATED, Propal::STATUS_SIGNED, Propal::STATUS_NOTSIGNED, Propal::STATUS_BILLED + */ + var $statut; + + /** + * @deprecated + * @see date_creation + */ + var $datec; + + /** + * Creation date + * @var int + */ + public $date_creation; + + /** + * @deprecated + * @see date_validation + */ + var $datev; + + /** + * Validation date + * @var int + */ + public $date_validation; + + /** + * Date of the quote + * @var + */ + var $date; + + /** + * @deprecated + * @see date + */ + var $datep; var $date_livraison; var $fin_validite; @@ -79,9 +127,22 @@ class Propal extends CommonObject var $total_localtax1; // Total Local Taxes 1 var $total_localtax2; // Total Local Taxes 2 var $total_ttc; // Total with tax - var $price; // deprecated (for compatibility) - var $tva; // deprecated (for compatibility) - var $total; // deprecated (for compatibility) + + /** + * @deprecated + * @see total_ht + */ + var $price; + /** + * @deprecated + * @see total_tva + */ + var $tva; + /** + * @deprecated + * @see total_ttc + */ + var $total; var $cond_reglement_id; var $cond_reglement_code; @@ -91,10 +152,17 @@ class Propal extends CommonObject var $remise; var $remise_percent; var $remise_absolue; - var $note; // deprecated (for compatibility) + /** + * @deprecated + * @see note_private, note_public + */ + var $note; var $note_private; var $note_public; - var $fk_delivery_address; // deprecated (for compatibility) + /** + * @deprecated + */ + var $fk_delivery_address; var $fk_address; var $address_type; var $address; @@ -107,6 +175,9 @@ class Propal extends CommonObject var $products=array(); var $extraparams=array(); + /** + * @var PropaleLigne[] + */ var $lines = array(); var $line; @@ -116,12 +187,33 @@ class Propal extends CommonObject var $labelstatut=array(); var $labelstatut_short=array(); - // Pour board - var $nbtodo; - var $nbtodolate; - var $specimen; + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip + + /** + * Draft status + */ + const STATUS_DRAFT = 0; + /** + * Validated status + */ + const STATUS_VALIDATED = 1; + /** + * Signed quote + */ + const STATUS_SIGNED = 2; + /** + * Not signed quote + */ + const STATUS_NOTSIGNED = 3; + /** + * Billed quote + */ + const STATUS_BILLED = 4; /** * Constructor @@ -207,6 +299,7 @@ class Propal extends CommonObject $line->subprice=$price; $line->remise_percent=$remise_percent; $line->tva_tx=$tva_tx; + $line->fk_unit=$prod->fk_unit; $this->lines[]=$line; } @@ -318,12 +411,13 @@ class Propal extends CommonObject * @param string $label ??? * @param int $date_start Start date of the line * @param int $date_end End date of the line - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int >0 if OK, <0 if KO * * @see add_product */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $fk_product=0, $remise_percent=0.0, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$date_start='', $date_end='',$array_option=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $fk_product=0, $remise_percent=0.0, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=0, $pa_ht=0, $label='',$date_start='', $date_end='',$array_options=0, $fk_unit=null) { global $mysoc; @@ -357,7 +451,7 @@ class Propal extends CommonObject // Check parameters if ($type < 0) return -1; - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { $this->db->begin(); @@ -420,6 +514,7 @@ class Propal extends CommonObject $this->line->product_type=$type; $this->line->special_code=$special_code; $this->line->fk_parent_line=$fk_parent_line; + $this->line->fk_unit=$fk_unit; $this->line->date_start=$date_start; $this->line->date_end=$date_end; @@ -444,8 +539,8 @@ class Propal extends CommonObject $this->line->price=$price; $this->line->remise=$remise; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->insert(); @@ -500,10 +595,11 @@ class Propal extends CommonObject * @param int $type 0/1=Product/service * @param int $date_start Start date of the line * @param int $date_end End date of the line - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int 0 if OK, <0 if KO */ - function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $date_start='', $date_end='', $array_option=0) + function updateline($rowid, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0, $txlocaltax2=0.0, $desc='', $price_base_type='HT', $info_bits=0, $special_code=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=0, $pa_ht=0, $label='', $type=0, $date_start='', $date_end='', $array_options=0, $fk_unit=null) { global $mysoc; @@ -521,7 +617,7 @@ class Propal extends CommonObject if (empty($qty) && empty($special_code)) $special_code=3; // Set option tag if (! empty($qty) && $special_code == 3) $special_code=0; // Remove option tag - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { $this->db->begin(); @@ -585,6 +681,7 @@ class Propal extends CommonObject $this->line->special_code = $special_code; $this->line->fk_parent_line = $fk_parent_line; $this->line->skip_update_total = $skip_update_total; + $this->line->fk_unit = $fk_unit; // infos marge if (!empty($fk_product) && empty($fk_fournprice) && empty($pa_ht)) { @@ -605,8 +702,8 @@ class Propal extends CommonObject $this->line->price=$price; $this->line->remise=$remise; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->update(); @@ -647,7 +744,7 @@ class Propal extends CommonObject */ function deleteline($lineid) { - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { $line=new PropaleLigne($this->db); @@ -753,6 +850,8 @@ class Propal extends CommonObject $sql.= ", fk_availability"; $sql.= ", fk_input_reason"; $sql.= ", fk_projet"; + $sql.= ", fk_incoterms"; + $sql.= ", location_incoterms"; $sql.= ", entity"; $sql.= ") "; $sql.= " VALUES ("; @@ -780,6 +879,8 @@ class Propal extends CommonObject $sql.= ", ".$this->availability_id; $sql.= ", ".$this->demand_reason_id; $sql.= ", ".($this->fk_project?$this->fk_project:"null"); + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ", ".$conf->entity; $sql.= ")"; @@ -834,7 +935,8 @@ class Propal extends CommonObject $this->lines[$i]->label, $this->lines[$i]->date_start, $this->lines[$i]->date_end, - $this->lines[$i]->array_options + $this->lines[$i]->array_options, + $this->lines[$i]->fk_unit ); if ($result < 0) @@ -878,7 +980,7 @@ class Propal extends CommonObject $action='update'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('propaldao')); $parameters=array('socid'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -1011,7 +1113,7 @@ class Propal extends CommonObject } $this->id=0; - $this->statut=0; + $this->statut=self::STATUS_DRAFT; if (empty($conf->global->PROPALE_ADDON) || ! is_readable(DOL_DOCUMENT_ROOT ."/core/modules/propale/".$conf->global->PROPALE_ADDON.".php")) { @@ -1111,6 +1213,8 @@ class Propal extends CommonObject $sql.= ", p.fk_mode_reglement"; $sql.= ', p.fk_account'; $sql.= ", p.fk_shipping_method"; + $sql.= ", p.fk_incoterms, p.location_incoterms"; + $sql.= ", i.libelle as libelle_incoterms"; $sql.= ", c.label as statut_label"; $sql.= ", ca.code as availability_code, ca.label as availability"; $sql.= ", dr.code as demand_reason_code, dr.label as demand_reason"; @@ -1121,8 +1225,9 @@ class Propal extends CommonObject $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as cr ON p.fk_cond_reglement = cr.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_availability as ca ON p.fk_availability = ca.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON p.fk_input_reason = dr.rowid'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON p.fk_incoterms = i.rowid'; $sql.= " WHERE p.fk_statut = c.id"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if ($ref) $sql.= " AND p.ref='".$ref."'"; else $sql.= " AND p.rowid=".$rowid; @@ -1141,7 +1246,7 @@ class Propal extends CommonObject $this->remise = $obj->remise; $this->remise_percent = $obj->remise_percent; $this->remise_absolue = $obj->remise_absolue; - $this->total = $obj->total; // TODO obsolete + $this->total = $obj->total; // TODO deprecated $this->total_ht = $obj->total_ht; $this->total_tva = $obj->tva; $this->total_localtax1 = $obj->localtax1; @@ -1150,14 +1255,14 @@ class Propal extends CommonObject $this->socid = $obj->fk_soc; $this->fk_project = $obj->fk_projet; $this->modelpdf = $obj->model_pdf; - $this->note = $obj->note_private; // TODO obsolete + $this->note = $obj->note_private; // TODO deprecated $this->note_private = $obj->note_private; $this->note_public = $obj->note_public; $this->statut = $obj->fk_statut; $this->statut_libelle = $obj->statut_label; - $this->datec = $this->db->jdate($obj->datec); // TODO obsolete - $this->datev = $this->db->jdate($obj->datev); // TODO obsolete + $this->datec = $this->db->jdate($obj->datec); // TODO deprecated + $this->datev = $this->db->jdate($obj->datev); // TODO deprecated $this->date_creation = $this->db->jdate($obj->datec); //Creation date $this->date_validation = $this->db->jdate($obj->datev); //Validation date $this->date = $this->db->jdate($obj->dp); // Proposal date @@ -1188,7 +1293,12 @@ class Propal extends CommonObject $this->user_valid_id = $obj->fk_user_valid; $this->user_close_id = $obj->fk_user_cloture; - if ($obj->fk_statut == 0) + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; + + if ($obj->fk_statut == self::STATUS_DRAFT) { $this->brouillon = 1; } @@ -1209,6 +1319,7 @@ class Propal extends CommonObject */ $sql = "SELECT d.rowid, d.fk_propal, d.fk_parent_line, d.label as custom_label, d.description, d.price, d.tva_tx, d.localtax1_tx, d.localtax2_tx, d.qty, d.fk_remise_except, d.remise_percent, d.subprice, d.fk_product,"; $sql.= " d.info_bits, d.total_ht, d.total_tva, d.total_localtax1, d.total_localtax2, d.total_ttc, d.fk_product_fournisseur_price as fk_fournprice, d.buy_price_ht as pa_ht, d.special_code, d.rang, d.product_type,"; + $sql.= " d.fk_unit,"; $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label,'; $sql.= ' d.date_start, d.date_end'; $sql.= " FROM ".MAIN_DB_PREFIX."propaldet as d"; @@ -1219,6 +1330,11 @@ class Propal extends CommonObject $result = $this->db->query($sql); if ($result) { + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafieldsline=new ExtraFields($this->db); + $line = new PropaleLigne($this->db); + $extralabelsline=$extrafieldsline->fetch_name_optionals_label($line->table_element,true); + $num = $this->db->num_rows($result); $i = 0; @@ -1228,7 +1344,8 @@ class Propal extends CommonObject $line = new PropaleLigne($this->db); - $line->rowid = $objp->rowid; + $line->rowid = $objp->rowid; //Deprecated + $line->id = $objp->rowid; $line->fk_propal = $objp->fk_propal; $line->fk_parent_line = $objp->fk_parent_line; $line->product_type = $objp->product_type; @@ -1265,10 +1382,13 @@ class Propal extends CommonObject $line->product_label = $objp->product_label; $line->product_desc = $objp->product_desc; // Description produit $line->fk_product_type = $objp->fk_product_type; + $line->fk_unit = $objp->fk_unit; $line->date_start = $objp->date_start; $line->date_end = $objp->date_end; + $line->fetch_optionals($line->id,$extralabelsline); + $this->lines[$i] = $line; //dol_syslog("1 ".$line->fk_product); //print "xx $i ".$this->lines[$i]->fk_product; @@ -1282,12 +1402,6 @@ class Propal extends CommonObject return -1; } - // Retreive all extrafield for propal - // fetch optionals attributes and labels - require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; - $extrafields=new ExtraFields($this->db); - $extralabels=$extrafields->fetch_name_optionals_label($this->table_element,true); - $this->fetch_optionals($this->id,$extralabels); return 1; } @@ -1313,7 +1427,7 @@ class Propal extends CommonObject $action='update'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('propaldao')); $parameters=array('id'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -1357,7 +1471,8 @@ class Propal extends CommonObject $error=0; $now=dol_now(); - if ($user->rights->propale->valider) + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->propal->propal_advance->validate))) { $this->db->begin(); @@ -1378,8 +1493,8 @@ class Propal extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."propal"; $sql.= " SET ref = '".$num."',"; - $sql.= " fk_statut = 1, date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id; - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " fk_statut = ".self::STATUS_VALIDATED.", date_valid='".$this->db->idate($now)."', fk_user_valid=".$user->id; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; dol_syslog(get_class($this)."::valid", LOG_DEBUG); $resql=$this->db->query($sql); @@ -1434,7 +1549,7 @@ class Propal extends CommonObject $this->ref=$num; $this->brouillon=0; - $this->statut = 1; + $this->statut = self::STATUS_VALIDATED; $this->user_valid_id=$user->id; $this->datev=$now; @@ -1466,10 +1581,10 @@ class Propal extends CommonObject return -1; } - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET datep = '".$this->db->idate($date)."'"; - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; dol_syslog(get_class($this)."::set_date", LOG_DEBUG); if ($this->db->query($sql) ) @@ -1495,10 +1610,10 @@ class Propal extends CommonObject */ function set_echeance($user, $date_fin_validite) { - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fin_validite = ".($date_fin_validite!=''?"'".$this->db->idate($date_fin_validite)."'":'null'); - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; if ($this->db->query($sql) ) { $this->fin_validite = $date_fin_validite; @@ -1521,7 +1636,7 @@ class Propal extends CommonObject */ function set_date_livraison($user, $date_livraison) { - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $sql = "UPDATE ".MAIN_DB_PREFIX."propal "; $sql.= " SET date_livraison = ".($date_livraison!=''?"'".$this->db->idate($date_livraison)."'":'null'); @@ -1550,7 +1665,7 @@ class Propal extends CommonObject */ function set_availability($user, $id) { - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $sql = "UPDATE ".MAIN_DB_PREFIX."propal "; $sql.= " SET fk_availability = '".$id."'"; @@ -1579,7 +1694,7 @@ class Propal extends CommonObject */ function set_demand_reason($user, $id) { - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $sql = "UPDATE ".MAIN_DB_PREFIX."propal "; $sql.= " SET fk_input_reason = '".$id."'"; @@ -1608,7 +1723,7 @@ class Propal extends CommonObject */ function set_ref_client($user, $ref_client) { - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { dol_syslog('Propale::set_ref_client this->id='.$this->id.', ref_client='.$ref_client); @@ -1643,12 +1758,12 @@ class Propal extends CommonObject { $remise=trim($remise)?trim($remise):0; - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $remise = price2num($remise); $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET remise_percent = ".$remise; - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; if ($this->db->query($sql) ) { @@ -1676,13 +1791,13 @@ class Propal extends CommonObject { $remise=trim($remise)?trim($remise):0; - if ($user->rights->propale->creer) + if (! empty($user->rights->propal->creer)) { $remise = price2num($remise); $sql = "UPDATE ".MAIN_DB_PREFIX."propal "; $sql.= " SET remise_absolue = ".$remise; - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; if ($this->db->query($sql) ) { @@ -1774,7 +1889,6 @@ class Propal extends CommonObject { global $langs,$conf; - $this->statut = $statut; $error=0; $now=dol_now(); @@ -1790,7 +1904,7 @@ class Propal extends CommonObject $modelpdf=$conf->global->PROPALE_ADDON_PDF_ODT_CLOSED?$conf->global->PROPALE_ADDON_PDF_ODT_CLOSED:$this->modelpdf; $trigger_name='PROPAL_CLOSE_REFUSED'; - if ($statut == 2) + if ($statut == self::STATUS_SIGNED) { $trigger_name='PROPAL_CLOSE_SIGNED'; $modelpdf=$conf->global->PROPALE_ADDON_PDF_ODT_TOBILL?$conf->global->PROPALE_ADDON_PDF_ODT_TOBILL:$this->modelpdf; @@ -1802,12 +1916,12 @@ class Propal extends CommonObject if ($result < 0) { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -2; } } - if ($statut == 4) + if ($statut == self::STATUS_BILLED) { $trigger_name='PROPAL_CLASSIFY_BILLED'; } @@ -1833,7 +1947,9 @@ class Propal extends CommonObject if ( ! $error ) { - $this->db->commit(); + $this->statut = $statut; + + $this->db->commit(); return 1; } else @@ -1844,7 +1960,7 @@ class Propal extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -1; } @@ -1857,11 +1973,11 @@ class Propal extends CommonObject */ function classifyBilled() { - $sql = 'UPDATE '.MAIN_DB_PREFIX.'propal SET fk_statut = 4'; - $sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > 0 ;'; + $sql = 'UPDATE '.MAIN_DB_PREFIX.'propal SET fk_statut = '.self::STATUS_BILLED; + $sql .= ' WHERE rowid = '.$this->id.' AND fk_statut > '.self::STATUS_DRAFT.' ;'; if ($this->db->query($sql) ) { - $this->statut=4; + $this->statut=self::STATUS_BILLED; return 1; } else @@ -1875,9 +1991,12 @@ class Propal extends CommonObject * * @return int <0 si ko, >0 si ok * @deprecated + * @see classifyBilled() */ function classer_facturee() { + dol_syslog(__METHOD__ . " is deprecated", LOG_WARNING); + return $this->classifyBilled(); } @@ -1889,12 +2008,12 @@ class Propal extends CommonObject */ function set_draft($user) { - $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = 0"; + $sql = "UPDATE ".MAIN_DB_PREFIX."propal SET fk_statut = ".self::STATUS_DRAFT; $sql.= " WHERE rowid = ".$this->id; if ($this->db->query($sql)) { - $this->statut = 0; + $this->statut = self::STATUS_DRAFT; $this->brouillon = 1; return 1; } @@ -1930,7 +2049,7 @@ class Propal extends CommonObject if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p, ".MAIN_DB_PREFIX."c_propalst as c"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE p.entity = ".$conf->entity; + $sql.= " WHERE p.entity IN (".getEntity('propal', 1).")"; $sql.= " AND p.fk_soc = s.rowid"; $sql.= " AND p.fk_statut = c.id"; if (! $user->rights->societe->client->voir && ! $socid) //restriction @@ -1938,7 +2057,7 @@ class Propal extends CommonObject $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; } if ($socid) $sql.= " AND s.rowid = ".$socid; - if ($draft) $sql.= " AND p.fk_statut = 0"; + if ($draft) $sql.= " AND p.fk_statut = ".self::STATUS_DRAFT; if ($notcurrentuser > 0) $sql.= " AND p.fk_user_author <> ".$user->id; $sql.= $this->db->order($sortfield,$sortorder); $sql.= $this->db->plimit($limit,$offset); @@ -2208,7 +2327,7 @@ class Propal extends CommonObject function availability($availability_id) { dol_syslog('Propale::availability('.$availability_id.')'); - if ($this->statut >= 0) + if ($this->statut >= self::STATUS_DRAFT) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'propal'; $sql .= ' SET fk_availability = '.$availability_id; @@ -2242,7 +2361,7 @@ class Propal extends CommonObject function demand_reason($demand_reason_id) { dol_syslog('Propale::demand_reason('.$demand_reason_id.')'); - if ($this->statut >= 0) + if ($this->statut >= self::STATUS_DRAFT) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'propal'; $sql .= ' SET fk_input_reason = '.$demand_reason_id; @@ -2349,11 +2468,11 @@ class Propal extends CommonObject global $langs; $langs->load("propal"); - if ($statut==0) $statuttrans='statut0'; - if ($statut==1) $statuttrans='statut1'; - if ($statut==2) $statuttrans='statut3'; - if ($statut==3) $statuttrans='statut5'; - if ($statut==4) $statuttrans='statut6'; + if ($statut==self::STATUS_DRAFT) $statuttrans='statut0'; + if ($statut==self::STATUS_VALIDATED) $statuttrans='statut1'; + if ($statut==self::STATUS_SIGNED) $statuttrans='statut3'; + if ($statut==self::STATUS_NOTSIGNED) $statuttrans='statut5'; + if ($statut==self::STATUS_BILLED) $statuttrans='statut6'; if ($mode == 0) return $this->labelstatut[$statut]; if ($mode == 1) return $this->labelstatut_short[$statut]; @@ -2369,15 +2488,12 @@ class Propal extends CommonObject * * @param User $user Object user * @param int $mode "opened" for proposal to close, "signed" for proposal to invoice - * @return int <0 if KO, >0 if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user,$mode) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT p.rowid, p.ref, p.datec as datec, p.fin_validite as datefin"; @@ -2388,33 +2504,51 @@ class Propal extends CommonObject $sql.= " WHERE sc.fk_user = " .$user->id; $clause = " AND"; } - $sql.= $clause." p.entity = ".$conf->entity; - if ($mode == 'opened') $sql.= " AND p.fk_statut = 1"; - if ($mode == 'signed') $sql.= " AND p.fk_statut = 2"; + $sql.= $clause." p.entity IN (".getEntity('propal', 1).")"; + if ($mode == 'opened') $sql.= " AND p.fk_statut = ".self::STATUS_VALIDATED; + if ($mode == 'signed') $sql.= " AND p.fk_statut = ".self::STATUS_SIGNED; if ($user->societe_id) $sql.= " AND p.fk_soc = ".$user->societe_id; $resql=$this->db->query($sql); if ($resql) { - if ($mode == 'opened') $delay_warning=$conf->propal->cloture->warning_delay; - if ($mode == 'signed') $delay_warning=$conf->propal->facturation->warning_delay; + $langs->load("propal"); + $now=dol_now(); + + if ($mode == 'opened') { + $delay_warning=$conf->propal->cloture->warning_delay; + $statut = self::STATUS_VALIDATED; + $label = $langs->trans("PropalsToClose"); + } + if ($mode == 'signed') { + $delay_warning=$conf->propal->facturation->warning_delay; + $statut = self::STATUS_SIGNED; + $label = $langs->trans("PropalsToBill"); + } + + $response = new WorkboardResponse(); + $response->warning_delay = $delay_warning/60/60/24; + $response->label = $label; + $response->url = DOL_URL_ROOT.'/comm/propal/list.php?viewstatut='.$statut; + $response->img = img_object($langs->trans("Propals"),"propal"); // This assignment in condition is not a bug. It allows walking the results. while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; + $response->nbtodo++; if ($mode == 'opened') { $datelimit = $this->db->jdate($obj->datefin); if ($datelimit < ($now - $delay_warning)) { - $this->nbtodolate++; + $response->nbtodolate++; } } // TODO Definir regle des propales a facturer en retard // if ($mode == 'signed' && ! count($this->FactureListeArray($obj->rowid))) $this->nbtodolate++; } - return 1; + + return $response; } else { @@ -2533,7 +2667,7 @@ class Propal extends CommonObject $sql.= " WHERE sc.fk_user = " .$user->id; $clause = "AND"; } - $sql.= " ".$clause." p.entity = ".$conf->entity; + $sql.= " ".$clause." p.entity IN (".getEntity('propal', 1).")"; $resql=$this->db->query($sql); if ($resql) @@ -2617,7 +2751,7 @@ class Propal extends CommonObject * Return clicable link of object (with eventually picto) * * @param int $withpicto Add picto into link - * @param string $option Where point the link ('compta', 'expedition', 'document', ...) + * @param string $option Where point the link ('expedition', 'document', ...) * @param string $get_params Parametres added to url * @return string String with URL */ @@ -2626,30 +2760,40 @@ class Propal extends CommonObject global $langs; $result=''; - if ($option == '') - { - $lien = ''; + $label = '' . $langs->trans("ShowPropal") . ''; + if (! empty($this->ref)) + $label.= '
'.$langs->trans('Ref').': '.$this->ref; + if (! empty($this->ref_client)) + $label.= '
'.$langs->trans('RefCustomer').': '.$this->ref_client; + if (! empty($this->total_ht)) + $label.= '
' . $langs->trans('AmountHT') . ': ' . price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_tva)) + $label.= '
' . $langs->trans('TVA') . ': ' . price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_ttc)) + $label.= '
' . $langs->trans('AmountTTC') . ': ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; + if ($option == '') { + $link = '
'; + if ($option == 'compta') { // deprecated + $link = ''; + if ($option == 'expedition') { + $link = ''; + if ($option == 'document') { + $link = 'ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); - if ($withpicto && $withpicto != 2) $result.=' '; - $result.=$lien.$this->ref.$lienfin; + + if ($withpicto) + $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); + if ($withpicto && $withpicto != 2) + $result.=' '; + $result.=$link.$this->ref.$linkend; return $result; } @@ -2664,8 +2808,10 @@ class Propal extends CommonObject $sql.= ' pt.qty, pt.tva_tx, pt.remise_percent, pt.subprice, pt.info_bits,'; $sql.= ' pt.total_ht, pt.total_tva, pt.total_ttc, pt.fk_product_fournisseur_price as fk_fournprice, pt.buy_price_ht as pa_ht, pt.special_code, pt.localtax1_tx, pt.localtax2_tx,'; $sql.= ' pt.date_start, pt.date_end, pt.product_type, pt.rang, pt.fk_parent_line,'; + $sql.= ' pt.fk_unit,'; $sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid,'; - $sql.= ' p.description as product_desc'; + $sql.= ' p.description as product_desc,'; + $sql.= ' p.entity'; $sql.= ' FROM '.MAIN_DB_PREFIX.'propaldet as pt'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON pt.fk_product=p.rowid'; $sql.= ' WHERE pt.fk_propal = '.$this->id; @@ -2689,9 +2835,10 @@ class Propal extends CommonObject $this->lines[$i]->description = $obj->description; $this->lines[$i]->fk_product = $obj->fk_product; $this->lines[$i]->ref = $obj->ref; + $this->lines[$i]->entity = $obj->entity; // Product entity $this->lines[$i]->product_label = $obj->product_label; $this->lines[$i]->product_desc = $obj->product_desc; - $this->lines[$i]->fk_product_type = $obj->fk_product_type; // deprecated + $this->lines[$i]->fk_product_type = $obj->fk_product_type; // deprecated $this->lines[$i]->product_type = $obj->product_type; $this->lines[$i]->qty = $obj->qty; $this->lines[$i]->subprice = $obj->subprice; @@ -2712,6 +2859,7 @@ class Propal extends CommonObject $this->lines[$i]->rang = $obj->rang; $this->lines[$i]->date_start = $this->db->jdate($obj->date_start); $this->lines[$i]->date_end = $this->db->jdate($obj->date_end); + $this->lines[$i]->fk_unit = $obj->fk_unit; $i++; } @@ -2760,7 +2908,22 @@ class Propal extends CommonObject return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'propal' + ); + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } @@ -2768,23 +2931,29 @@ class Propal extends CommonObject * \class PropaleLigne * \brief Class to manage commercial proposal lines */ -class PropaleLigne extends CommonObject +class PropaleLigne extends CommonObjectLine { - var $db; - var $error; - public $element='propaldet'; public $table_element='propaldet'; var $oldline; // From llx_propaldet - var $rowid; var $fk_propal; var $fk_parent_line; var $desc; // Description ligne var $fk_product; // Id produit predefini - var $product_type = 0; // Type 0 = product, 1 = Service + /** + * @deprecated + * @see product_type + */ + var $fk_product_type; + /** + * Product type. + * @var int + * @see Product::TYPE_PRODUCT, Product::TYPE_SERVICE + */ + var $product_type = Product::TYPE_PRODUCT; var $qty; var $tva_tx; @@ -2812,14 +2981,43 @@ class PropaleLigne extends CommonObject var $total_tva; // Total TVA de la ligne toute quantite et incluant la remise ligne var $total_ttc; // Total TTC de la ligne toute quantite et incluant la remise ligne - // Ne plus utiliser + /** + * @deprecated + * @see $remise_percent, $fk_remise_except + */ var $remise; + /** + * @deprecated + * @see subprice + */ var $price; // From llx_product - var $ref; // Reference produit - var $libelle; // Label produit - var $product_desc; // Description produit + /** + * @deprecated + * @see product_ref + */ + var $ref; + /** + * Product reference + * @var string + */ + public $product_ref; + /** + * @deprecated + * @see product_label + */ + var $libelle; + /** + * Product label + * @var string + */ + public $product_label; + /** + * Product description + * @var string + */ + public $product_desc; var $localtax1_tx; // Local tax 1 var $localtax2_tx; // Local tax 2 @@ -2854,6 +3052,7 @@ class PropaleLigne extends CommonObject $sql = 'SELECT pd.rowid, pd.fk_propal, pd.fk_parent_line, pd.fk_product, pd.label as custom_label, pd.description, pd.price, pd.qty, pd.tva_tx,'; $sql.= ' pd.remise, pd.remise_percent, pd.fk_remise_except, pd.subprice,'; $sql.= ' pd.info_bits, pd.total_ht, pd.total_tva, pd.total_ttc, pd.fk_product_fournisseur_price as fk_fournprice, pd.buy_price_ht as pa_ht, pd.special_code, pd.rang,'; + $sql.= ' pd.fk_unit,'; $sql.= ' pd.localtax1_tx, pd.localtax2_tx, pd.total_localtax1, pd.total_localtax2,'; $sql.= ' p.ref as product_ref, p.label as product_label, p.description as product_desc,'; $sql.= ' pd.date_start, pd.date_end, pd.product_type'; @@ -2866,7 +3065,8 @@ class PropaleLigne extends CommonObject { $objp = $this->db->fetch_object($result); - $this->rowid = $objp->rowid; + $this->id = $objp->rowid; + $this->rowid = $objp->rowid; // deprecated $this->fk_propal = $objp->fk_propal; $this->fk_parent_line = $objp->fk_parent_line; $this->label = $objp->custom_label; @@ -2875,7 +3075,7 @@ class PropaleLigne extends CommonObject $this->price = $objp->price; // deprecated $this->subprice = $objp->subprice; $this->tva_tx = $objp->tva_tx; - $this->remise = $objp->remise; + $this->remise = $objp->remise; // deprecated $this->remise_percent = $objp->remise_percent; $this->fk_remise_except = $objp->fk_remise_except; $this->fk_product = $objp->fk_product; @@ -2901,6 +3101,7 @@ class PropaleLigne extends CommonObject $this->libelle = $objp->product_label; // deprecated $this->product_label = $objp->product_label; $this->product_desc = $objp->product_desc; + $this->fk_unit = $objp->fk_unit; $this->date_start = $this->db->jdate($objp->date_start); $this->date_end = $this->db->jdate($objp->date_end); @@ -2963,6 +3164,7 @@ class PropaleLigne extends CommonObject $sql.= ' subprice, remise_percent, '; $sql.= ' info_bits, '; $sql.= ' total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, fk_product_fournisseur_price, buy_price_ht, special_code, rang,'; + $sql.= ' fk_unit,'; $sql.= ' date_start, date_end)'; $sql.= " VALUES (".$this->fk_propal.","; $sql.= " ".($this->fk_parent_line>0?"'".$this->fk_parent_line."'":"null").","; @@ -2989,6 +3191,7 @@ class PropaleLigne extends CommonObject $sql.= " ".(isset($this->pa_ht)?"'".price2num($this->pa_ht)."'":"null").","; $sql.= ' '.$this->special_code.','; $sql.= ' '.$this->rang.','; + $sql.= ' '.(!$this->fk_unit ? 'NULL' : $this->fk_unit).','; $sql.= " ".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null").','; $sql.= " ".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null"); $sql.= ')'; @@ -3154,6 +3357,7 @@ class PropaleLigne extends CommonObject if (! empty($this->rang)) $sql.= ", rang=".$this->rang; $sql.= " , date_start=".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null"); $sql.= " , date_end=".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null"); + $sql.= " , fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid = ".$this->rowid; dol_syslog(get_class($this)."::update", LOG_DEBUG); diff --git a/htdocs/comm/propal/class/propalestats.class.php b/htdocs/comm/propal/class/propalestats.class.php index bc9a13832c2..8dd693624ac 100644 --- a/htdocs/comm/propal/class/propalestats.class.php +++ b/htdocs/comm/propal/class/propalestats.class.php @@ -69,7 +69,7 @@ class PropaleStats extends Stats $this->where.= " p.fk_statut > 0"; //$this->where.= " AND p.fk_soc = s.rowid AND p.entity = ".$conf->entity; - $this->where.= " AND p.entity = ".$conf->entity; + $this->where.= " AND p.entity IN (".getEntity('propal', 1).")"; if (!$user->rights->societe->client->voir && !$this->socid) $this->where .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if($this->socid) { diff --git a/htdocs/comm/propal/document.php b/htdocs/comm/propal/document.php index d224c20bc97..af603d0606b 100644 --- a/htdocs/comm/propal/document.php +++ b/htdocs/comm/propal/document.php @@ -34,6 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; $langs->load('compta'); $langs->load('other'); +$langs->load('companies'); $action = GETPOST('action','alpha'); $confirm = GETPOST('confirm','alpha'); diff --git a/htdocs/comm/propal/index.php b/htdocs/comm/propal/index.php index bfa82a5ea84..428e561f4fe 100644 --- a/htdocs/comm/propal/index.php +++ b/htdocs/comm/propal/index.php @@ -83,7 +83,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."propal as p"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.fk_soc = s.rowid"; -$sql.= " AND p.entity = ".$conf->entity; +$sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if ($user->societe_id) $sql.=' AND p.fk_soc = '.$user->societe_id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; $sql.= " AND p.fk_statut IN (0,1,2,3,4)"; @@ -115,7 +115,7 @@ if ($resql) } $db->free($resql); - print ''; + print '
'; print ''."\n"; $var=true; $listofstatus=array(0,1,2,3,4); @@ -159,7 +159,7 @@ if (! empty($conf->propal->enabled)) $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('propal', 1).")"; $sql.= " AND c.fk_statut = 0"; if ($socid) $sql.= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -217,7 +217,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."propal 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('propal', 1).")"; //$sql.= " AND c.fk_statut > 2"; if ($socid) $sql .= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -296,7 +296,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire) $sql.= ", ".MAIN_DB_PREFIX."propal as p"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; $sql.= " AND p.fk_statut = 1"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; @@ -313,7 +313,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire) $var=true; print '
'.$langs->trans("Statistics").' - '.$langs->trans("Proposals").'
'; - print ''; + print ''; $nbofloop=min($num, (empty($conf->global->MAIN_MAXLIST_OVERLOAD)?500:$conf->global->MAIN_MAXLIST_OVERLOAD)); while ($i < $nbofloop) @@ -399,7 +399,7 @@ if (! empty($conf->propal->enabled)) print '
'.$langs->trans("ProposalsOpened").' ('.$num.')
'.$langs->trans("ProposalsOpened").' '.$num.'
'; print ''; - print ''; + print ''; if ($num) { @@ -471,7 +471,7 @@ if (! empty($conf->propal->enabled)) print '
'.$langs->trans("ProposalsToProcess").' ('.$num.')
'.$langs->trans("ProposalsToProcess").' '.$num.'
'; print ''; - print ''; + print ''; if ($num) { diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index b7c856fdbf5..c8e96919f84 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -9,6 +9,7 @@ * Copyright (C) 2010-2011 Philippe Grand * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 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 @@ -55,6 +56,7 @@ $search_refcustomer=GETPOST('search_refcustomer','alpha'); $search_societe=GETPOST('search_societe','alpha'); $search_montant_ht=GETPOST('search_montant_ht','alpha'); $search_author=GETPOST('search_author','alpha'); +$search_product_category=GETPOST('search_product_category','int'); $search_town=GETPOST('search_town','alpha'); $viewstatut=$db->escape(GETPOST('viewstatut')); $object_statut=$db->escape(GETPOST('propal_statut')); @@ -90,6 +92,7 @@ if (GETPOST("button_removefilter") || GETPOST("button_removefilter_x")) // Both $search_societe=''; $search_montant_ht=''; $search_author=''; + $search_product_category=''; $search_town=''; $year=''; $month=''; @@ -144,24 +147,25 @@ if (! $sortorder) $sortorder='DESC'; $limit = $conf->liste_limit; -if (! $sall) $sql = 'SELECT'; -else $sql = 'SELECT DISTINCT'; +$sql = 'SELECT'; +if ($sall || $search_product_category > 0) $sql = 'SELECT DISTINCT'; $sql.= ' s.rowid, s.nom as name, s.town, s.client, s.code_client,'; $sql.= ' p.rowid as propalid, p.note_private, p.total_ht, p.ref, p.ref_client, p.fk_statut, p.fk_user_author, p.datep as dp, p.fin_validite as dfv,'; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " sc.fk_soc, sc.fk_user,"; $sql.= ' u.login'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s, '.MAIN_DB_PREFIX.'propal as p'; -if ($sall) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'propaldet as pd ON p.rowid=pd.fk_propal'; +if ($sall || $search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'propaldet as pd ON p.rowid=pd.fk_propal'; +if ($search_product_category > 0) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'categorie_product as cp ON cp.fk_product=pd.fk_product'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'user as u ON p.fk_user_author = u.rowid'; // We'll need this table joined to the select in order to filter by sale -if ($search_sale || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; if ($search_user > 0) { $sql.=", ".MAIN_DB_PREFIX."element_contact as c"; $sql.=", ".MAIN_DB_PREFIX."c_type_contact as tc"; } $sql.= ' WHERE p.fk_soc = s.rowid'; -$sql.= ' AND p.entity = '.$conf->entity; +$sql.= ' AND p.entity IN ('.getEntity('propal', 1).')'; if (! $user->rights->societe->client->voir && ! $socid) //restriction { $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -182,14 +186,15 @@ if ($search_author) { $sql.= " AND u.login LIKE '%".$db->escape(trim($search_author))."%'"; } -if ($search_montant_ht) +if ($search_montant_ht != '') { - $sql.= " AND p.total_ht='".$db->escape(price2num(trim($search_montant_ht)))."'"; + $sql.= natural_search("p.total_ht", $search_montant_ht, 1); } if ($sall) { $sql .= natural_search(array('s.nom', 'p.note_private', 'p.note_public', 'pd.description'), $sall); } -if ($socid) $sql.= ' AND s.rowid = '.$socid; +if ($search_product_category > 0) $sql.=" AND cp.fk_categorie = ".$search_product_category; +if ($socid > 0) $sql.= ' AND s.rowid = '.$socid; if ($viewstatut <> '') { $sql.= ' AND p.fk_statut IN ('.$viewstatut.')'; @@ -222,7 +227,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $result = $db->query($sql); $nbtotalofrecords = $db->num_rows($result); } - +//print $sql; $sql.= $db->plimit($limit + 1,$offset); $result=$db->query($sql); @@ -250,7 +255,7 @@ if ($result) if ($search_montant_ht) $param.='&search_montant_ht='.$search_montant_ht; if ($search_author) $param.='&search_author='.$search_author; if ($search_town) $param.='&search_town='.$search_town; - print_barre_liste($langs->trans('ListOfProposals').' '.($socid?'- '.$soc->name:''), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + print_barre_liste($langs->trans('ListOfProposals').' '.($socid?'- '.$soc->name:''), $page, $_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_commercial.png'); // Lignes des champs de filtre print '
'; @@ -264,15 +269,28 @@ if ($result) if ($user->rights->societe->client->voir || $socid) { $langs->load("commercial"); - $moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': '; + $moreforfilter.='
'; + $moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': '; $moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user); - $moreforfilter.='       '; + $moreforfilter.='
'; } // If the user can view prospects other than his' if ($user->rights->societe->client->voir || $socid) { - $moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': '; + $moreforfilter.='
'; + $moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': '; $moreforfilter.=$form->select_dolusers($search_user,'search_user',1); + $moreforfilter.='
'; + } + // If the user can view prospects other than his' + if ($conf->categorie->enabled && $user->rights->produit->lire) + { + include_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; + $moreforfilter.='
'; + $moreforfilter.=$langs->trans('IncludingProductWithTag'). ': '; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, null, 'parent', null, null, 1); + $moreforfilter.=$form->selectarray('search_product_category', $cate_arbo, $search_product_category, 1, 0, 0, '', 0, 0, 0, 0, '', 1); + $moreforfilter.='
'; } if (! empty($moreforfilter)) { @@ -316,12 +334,12 @@ if ($result) print ''; print '
'; // Amount - print ''; // Author print ''; print ''; - print ''; print ''; } else { $var=!$var; print ''; - print ''; print ''; } diff --git a/htdocs/comm/propal/note.php b/htdocs/comm/propal/note.php index 9292684d06f..1e5ace7353e 100644 --- a/htdocs/comm/propal/note.php +++ b/htdocs/comm/propal/note.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Florian Henry @@ -32,6 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/propal.lib.php'; $langs->load('propal'); $langs->load('compta'); $langs->load('bills'); +$langs->load("companies"); $id = GETPOST('id','int'); $ref=GETPOST('ref','alpha'); @@ -103,7 +104,7 @@ if ($id > 0 || ! empty($ref)) print ""; print ''; - // Ligne info remises tiers + // Discounts print ' > + > + '; - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="center"',$sortfield,$sortorder); - print ''; + print_liste_field_titre(''); - $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"s.status","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre(''); print "\n"; @@ -351,25 +373,20 @@ if ($resql) print ''; print ''; - // Added by Matelli + // Prospect level print ''; + // Prospect status print ''; print ''; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldListSearch',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + print ''; // Print the search button @@ -398,17 +425,11 @@ if ($resql) print ''; print "\n"; - $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook - print "\n"; $i = 0; $var=true; - $prospectstatic=new Prospect($db); - $prospectstatic->client=2; - while ($i < min($num,$conf->liste_limit)) { $obj = $db->fetch_object($resql); @@ -417,16 +438,17 @@ if ($resql) print ''; print ''; - print ""; - print ""; + print ""; + print ""; print ''; // Creation date print ''; @@ -436,29 +458,27 @@ if ($resql) print ""; // Statut print '"; - //$sts = array(-1,0,1,2,3); print ''; - print ''; - print ''; - $parameters=array('obj' => $obj); - $formconfirm=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print ''; print "\n"; $i++; @@ -473,7 +493,8 @@ if ($resql) $db->free($resql); $parameters=array('sql' => $sql); - $formconfirm=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook + $reshook=$hookmanager->executeHooks('printFieldListFooter',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; } else { diff --git a/htdocs/comm/remise.php b/htdocs/comm/remise.php index fe3e39d266d..b2d92dd55dc 100644 --- a/htdocs/comm/remise.php +++ b/htdocs/comm/remise.php @@ -136,14 +136,14 @@ if ($socid > 0) print "
'.$langs->trans("OnProcessOrders").' ('.$num.')
'.$langs->trans("OnProcessOrders").' '.$num.'
 '; - print ''; + print ''; + print ''; print ''; - print ''; + print ''; print ''; $formpropal->selectProposalStatus($viewstatut,1); @@ -437,14 +455,14 @@ if ($result) if($num<$limit){ $var=!$var; print '
'.$langs->trans("TotalHT").''.price($total).''; + print ''.price($total).'
'.$langs->trans("TotalHTforthispage").''.price($total).''; + print ''.price($total).'
".$langs->trans("Company")."'.$object->client->getNomUrl(1).'
'.$langs->trans('Discounts').''; if ($societe->remise_percent) print $langs->trans("CompanyHasRelativeDiscount",$societe->remise_percent); else print $langs->trans("CompanyHasNoRelativeDiscount"); @@ -126,7 +127,7 @@ if ($id > 0 || ! empty($ref)) if ($object->fin_validite) { print dol_print_date($object->fin_validite,'daytext'); - if ($object->statut == 1 && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); + if ($object->statut == Propal::STATUS_VALIDATED && $object->fin_validite < ($now - $conf->propal->cloture->warning_delay)) print img_warning($langs->trans("Late")); } else { diff --git a/htdocs/comm/propal/stats/index.php b/htdocs/comm/propal/stats/index.php index 61985c8560f..291d4b4557f 100644 --- a/htdocs/comm/propal/stats/index.php +++ b/htdocs/comm/propal/stats/index.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García + * Copyright (C) 2015 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 @@ -60,7 +61,7 @@ $langs->load('other'); llxHeader(); -print_fiche_titre($langs->trans("ProposalsStatistics")); +print_fiche_titre($langs->trans("ProposalsStatistics"),'','title_commercial.png'); $dir=$conf->propal->dir_temp; diff --git a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php index cb920afd5fc..19763f8510c 100644 --- a/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php +++ b/htdocs/comm/propal/tpl/linkedobjectblock.tpl.php @@ -51,8 +51,8 @@ foreach($linkedObjectBlock as $object) { $var=!$var; ?> -
- trans("ShowPropal"),"propal").' '.$object->ref; ?>
getNomUrl(1); ?> ref_client; ?> date,'day'); ?> - * Copyright (C) 2006-2012 Laurent Destailleur - * Copyright (C) 2005-2012 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/comm/prospect/class/prospect.class.php - * \ingroup societe - * \brief Fichier de la classe des prospects - */ -include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; - - -/** - * \class Prospect - * \brief Classe permettant la gestion des prospects - */ -class Prospect extends Societe -{ - var $db; - - - /** - * Constructor - * - * @param DoliDB $db Databas handler - */ - function __construct($db) - { - $this->db = $db; - - return 0; - } - - - /** - * Charge indicateurs this->nb de tableau de bord - * - * @return int <0 if KO, >0 if OK - */ - function load_state_board() - { - global $user; - - $this->nb=array("customers" => 0,"prospects" => 0); - $clause = "WHERE"; - - $sql = "SELECT count(s.rowid) as nb, s.client"; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - if (!$user->rights->societe->client->voir && !$user->societe_id) - { - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON s.rowid = sc.fk_soc"; - $sql.= " WHERE sc.fk_user = " .$user->id; - $clause = "AND"; - } - $sql.= " ".$clause." s.client IN (1,2,3)"; - $sql.= " AND s.entity IN (".getEntity($this->element, 1).")"; - $sql.= " GROUP BY s.client"; - - $resql=$this->db->query($sql); - if ($resql) - { - while ($obj=$this->db->fetch_object($resql)) - { - if ($obj->client == 1 || $obj->client == 3) $this->nb["customers"]+=$obj->nb; - if ($obj->client == 2 || $obj->client == 3) $this->nb["prospects"]+=$obj->nb; - } - $this->db->free($resql); - return 1; - } - else - { - dol_print_error($this->db); - $this->error=$this->db->error(); - return -1; - } - } - - - /** - * Return status of prospect - * - * @param int $mode 0=libelle long, 1=libelle court, 2=Picto + Libelle court, 3=Picto, 4=Picto + Libelle long - * @return string Libelle - */ - function getLibProspStatut($mode=0) - { - return $this->LibProspStatut($this->stcomm_id,$mode); - } - - /** - * Return label of a given status - * - * @param int $statut Id statut - * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto - * @return string Libelle du statut - */ - function LibProspStatut($statut,$mode=0) - { - global $langs; - $langs->load('customers'); - - if ($mode == 2) - { - if ($statut == -1) return img_action($langs->trans("StatusProspect-1"),-1).' '.$langs->trans("StatusProspect-1"); - if ($statut == 0) return img_action($langs->trans("StatusProspect0"), 0).' '.$langs->trans("StatusProspect0"); - if ($statut == 1) return img_action($langs->trans("StatusProspect1"), 1).' '.$langs->trans("StatusProspect1"); - if ($statut == 2) return img_action($langs->trans("StatusProspect2"), 2).' '.$langs->trans("StatusProspect2"); - if ($statut == 3) return img_action($langs->trans("StatusProspect3"), 3).' '.$langs->trans("StatusProspect3"); - } - if ($mode == 3) - { - if ($statut == -1) return img_action($langs->trans("StatusProspect-1"),-1); - if ($statut == 0) return img_action($langs->trans("StatusProspect0"), 0); - if ($statut == 1) return img_action($langs->trans("StatusProspect1"), 1); - if ($statut == 2) return img_action($langs->trans("StatusProspect2"), 2); - if ($statut == 3) return img_action($langs->trans("StatusProspect3"), 3); - } - if ($mode == 4) - { - if ($statut == -1) return img_action($langs->trans("StatusProspect-1"),-1).' '.$langs->trans("StatusProspect-1"); - if ($statut == 0) return img_action($langs->trans("StatusProspect0"), 0).' '.$langs->trans("StatusProspect0"); - if ($statut == 1) return img_action($langs->trans("StatusProspect1"), 1).' '.$langs->trans("StatusProspect1"); - if ($statut == 2) return img_action($langs->trans("StatusProspect2"), 2).' '.$langs->trans("StatusProspect2"); - if ($statut == 3) return img_action($langs->trans("StatusProspect3"), 3).' '.$langs->trans("StatusProspect3"); - } - - return "Error, mode/status not found"; - } - - /** - * Renvoi le libelle du niveau - * - * @return string Libelle - */ - function getLibProspLevel() - { - return $this->LibProspLevel($this->fk_prospectlevel); - } - - /** - * Renvoi le libelle du niveau - * - * @param int $fk_prospectlevel Prospect level - * @return string Libelle du niveau - */ - function LibProspLevel($fk_prospectlevel) - { - global $langs; - - $lib=$langs->trans("ProspectLevel".$fk_prospectlevel); - // If lib not found in language file, we get label from cache/databse - if ($lib == $langs->trans("ProspectLevel".$fk_prospectlevel)) - { - $lib=$langs->getLabelFromKey($this->db,$fk_prospectlevel,'c_prospectlevel','code','label'); - } - return $lib; - } -} diff --git a/htdocs/comm/prospect/index.php b/htdocs/comm/prospect/index.php index b2756044210..0d72eac46e3 100644 --- a/htdocs/comm/prospect/index.php +++ b/htdocs/comm/prospect/index.php @@ -120,7 +120,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire) if (! $user->rights->societe->client->voir && ! $socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.fk_statut = 0"; $sql.= " AND p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; $resql=$db->query($sql); @@ -183,7 +183,7 @@ if (! empty($conf->propal->enabled) && $user->rights->propale->lire) $sql.= " WHERE p.fk_soc = s.rowid"; $sql.= " AND p.fk_statut = c.id"; $sql.= " AND p.fk_statut = 1"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; $sql.= " ORDER BY p.rowid DESC"; diff --git a/htdocs/comm/prospect/list.php b/htdocs/comm/prospect/list.php index 9cfae67947f..5f841b609da 100644 --- a/htdocs/comm/prospect/list.php +++ b/htdocs/comm/prospect/list.php @@ -1,10 +1,13 @@ - * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2011 Philippe Grand - * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Cédric Salvador +/* Copyright (C) 2001-2004 Rodolphe Quiedeville + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2011 Philippe Grand + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Raphaël Doursenaud + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,7 +30,7 @@ */ require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/comm/prospect/class/prospect.class.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("propal"); @@ -40,7 +43,8 @@ $result = restrictedArea($user, 'societe',$socid,''); $action = GETPOST('action','alpha'); $socname = GETPOST("socname",'alpha'); -$stcomm = GETPOST("stcomm",'int'); +$stcomm = GETPOST("stcomm",'alpha'); // code +$search_stcomm = GETPOST("search_stcomm",'int'); $search_nom = GETPOST("search_nom"); $search_zipcode = GETPOST("search_zipcode"); $search_town = GETPOST("search_town"); @@ -141,8 +145,8 @@ if ($resql) else dol_print_error($db); // Load sale and categ filters -$search_sale = GETPOST('search_sale'); -$search_categ = GETPOST('search_categ'); +$search_sale = GETPOST('search_sale','int'); +$search_categ = GETPOST('search_categ','int'); // If the internal user must only see his prospect, force searching by him if (!$user->rights->societe->client->voir && !$socid) $search_sale = $user->id; @@ -152,12 +156,14 @@ $sts = array(-1,0,1,2,3); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('prospectlist')); +$extrafields = new ExtraFields($db); // Do we click on purge search criteria ? if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers { $socname=""; $stcomm=""; + $search_stcomm=""; $search_nom=""; $search_zipcode=""; $search_town=""; @@ -169,6 +175,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both if ($search_status=='') $search_status=1; // always display active customer first + + /* * Actions */ @@ -177,12 +185,17 @@ $parameters=array(); $reshook=$hookmanager->executeHooks('doActions',$parameters); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); -if (empty($reshook)) { - if ($action == 'cstc') +if (empty($reshook)) +{ + if ($action == 'setstcomm') { - $sql = "UPDATE ".MAIN_DB_PREFIX."societe SET fk_stcomm = ".$_GET["pstcomm"]; - $sql .= " WHERE rowid = ".$_GET["socid"]; - $result=$db->query($sql); + $object = new Client($db); + $result=$object->fetch($socid); + $object->stcomm_id=dol_getIdFromCode($db, GETPOST('stcomm','alpha'), 'c_stcomm'); + $result=$object->set_commnucation_level($user); + if ($result < 0) setEventMessages($object->error,$object->errors,'errors'); + + $action=''; $socid=0; } } @@ -193,53 +206,56 @@ if (empty($reshook)) { $formother=new FormOther($db); $form=new Form($db); +$prospectstatic=new Client($db); +$prospectstatic->client=2; +$prospectstatic->loadCacheOfProspStatus(); -$sql = "SELECT s.rowid, s.nom as name, s.zip, s.town, s.datec, s.status as status, s.code_client, s.client,"; -$sql.= " st.libelle as stcomm, s.prefix_comm, s.fk_stcomm, s.fk_prospectlevel,"; +$sql = "SELECT s.rowid as socid, s.nom as name, s.name_alias, s.zip, s.town, s.datec, s.status as status, s.code_client, s.client,"; +$sql.= " s.prefix_comm, s.fk_prospectlevel, s.fk_stcomm as stcomm_id,"; +$sql.= " st.libelle as stcomm_label,"; $sql.= " d.nom as departement"; -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $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) +if ((!$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) +// Add fields for extrafields +foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; +// Add fields from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListSelect',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; $sql .= " FROM ".MAIN_DB_PREFIX."c_stcomm as st"; $sql.= ", ".MAIN_DB_PREFIX."societe as s"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_departements as d on (d.rowid = s.fk_departement)"; -if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe"; // We need this table joined to the select in order to filter by categ -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale +if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; // We need this table joined to the select in order to filter by categ +if ((!$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 s.fk_stcomm = st.id"; $sql.= " AND s.client IN (2, 3)"; $sql.= ' AND s.entity IN ('.getEntity('societe', 1).')'; -if ((!$user->rights->societe->client->voir && !$socid) || $search_sale) $sql.= " AND s.rowid = sc.fk_soc"; +if ((!$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; if ($socid) $sql.= " AND s.rowid = " .$socid; -if (isset($stcomm) && $stcomm != '') $sql.= " AND s.fk_stcomm=".$stcomm; -if ($catid > 0) $sql.= " AND cs.fk_categorie = ".$catid; -if ($catid == -2) $sql.= " AND cs.fk_categorie IS NULL"; -if ($search_categ > 0) $sql.= " AND cs.fk_categorie = ".$search_categ; -if ($search_categ == -2) $sql.= " AND cs.fk_categorie IS NULL"; -if ($search_nom) { - $sql .= natural_search('s.nom', $search_nom); -} +if ($search_stcomm != '') $sql.= natural_search("s.fk_stcomm",$search_stcomm,2); +if ($catid > 0) $sql.= " AND cs.fk_categorie = ".$catid; +if ($catid == -2) $sql.= " AND cs.fk_categorie IS NULL"; +if ($search_categ > 0) $sql.= " AND cs.fk_categorie = ".$search_categ; +if ($search_categ == -2) $sql.= " AND cs.fk_categorie IS NULL"; +if ($search_nom) $sql .= natural_search(array('s.nom','s.name_alias'), $search_nom); if ($search_zipcode) $sql .= " AND s.zip LIKE '".$db->escape(strtolower($search_zipcode))."%'"; -if ($search_town) { - $sql .= natural_search('s.town', $search_town); -} -if ($search_state) { - $sql .= natural_search('d.nom', $search_state); -} -if ($search_datec) $sql .= " AND s.datec LIKE '%".$db->escape($search_datec)."%'"; +if ($search_town) $sql .= natural_search('s.town', $search_town); +if ($search_state) $sql .= natural_search('d.nom', $search_state); +if ($search_datec) $sql .= " AND s.datec LIKE '%".$db->escape($search_datec)."%'"; if ($search_status!='') $sql .= " AND s.status = ".$db->escape($search_status); // Insert levels filters -if ($search_levels) -{ - $sql .= " AND s.fk_prospectlevel IN (".$search_levels.')'; -} +if ($search_levels) $sql .= " AND s.fk_prospectlevel IN (".$search_levels.')'; // Insert sale filter -if ($search_sale) +if ($search_sale > 0) $sql .= " AND sc.fk_user = ".$db->escape($search_sale); +if ($socname) { - $sql .= " AND sc.fk_user = ".$db->escape($search_sale); -} -if ($socname) { $sql .= natural_search('s.nom', $search_nom); $sortfield = "s.nom"; $sortorder = "ASC"; } +// Add where from hooks +$parameters=array(); +$reshook=$hookmanager->executeHooks('printFieldListWhere',$parameters); // Note that $action and $object may have been modified by hook +$sql.=$hookmanager->resPrint; // Count total nb of records $nbtotalofrecords = 0; if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) @@ -259,7 +275,7 @@ if ($resql) if ($num == 1 && $socname) { $obj = $db->fetch_object($resql); - header("Location: card.php?socid=".$obj->rowid); + header("Location: card.php?socid=".$obj->socid); exit; } else @@ -268,27 +284,27 @@ if ($resql) llxHeader('',$langs->trans("ThirdParty"),$help_url); } - $param='&stcomm='.$stcomm.'&search_nom='.urlencode($search_nom).'&search_zipcode='.urlencode($search_zipcode).'&search_town='.urlencode($search_town); + $param='&search_stcomm='.$search_stcomm.'&search_nom='.urlencode($search_nom).'&search_zipcode='.urlencode($search_zipcode).'&search_town='.urlencode($search_town); // Store the status filter in the URL - if (isSet($search_cstc)) + if (isSet($search_setstcomm)) { - foreach ($search_cstc as $key => $value) + foreach ($search_setstcomm as $key => $value) { if ($value == 'true') - $param.='&search_cstc['.((int) $key).']=true'; + $param.='&search_setstcomm['.((int) $key).']=true'; else - $param.='&search_cstc['.((int) $key).']=false'; + $param.='&search_setstcomm['.((int) $key).']=false'; } } - if ($search_level_from != '') $param.='&search_level_from='.$search_level_from; - if ($search_level_to != '') $param.='&search_level_to='.$search_level_to; - if ($search_categ != '') $param.='&search_categ='.$search_categ; - if ($search_sale != '') $param.='&search_sale='.$search_sale; - if ($search_status != '') $param.='&search_status='.$search_status; + if ($search_level_from != '') $param.='&search_level_from='.$search_level_from; + if ($search_level_to != '') $param.='&search_level_to='.$search_level_to; + if ($search_categ != '') $param.='&search_categ='.$search_categ; + if ($search_sale > 0) $param.='&search_sale='.$search_sale; + if ($search_status != '') $param.='&search_status='.$search_status; // $param and $urladd should have the same value $urladd = $param; - print_barre_liste($langs->trans("ListOfProspects"), $page, $_SERVER["PHP_SELF"], $param, $sortfield,$sortorder,'',$num,$nbtotalofrecords); + print_barre_liste($langs->trans("ListOfProspects"), $page, $_SERVER["PHP_SELF"], $param, $sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_companies.png'); // Print the search-by-sale and search-by-categ filters @@ -298,8 +314,9 @@ if ($resql) $moreforfilter=''; if (! empty($conf->categorie->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $moreforfilter.=$langs->trans('Categories'). ': '; - $moreforfilter.=$formother->select_categories(2,$search_categ,'search_categ',1); + $moreforfilter.=$formother->select_categories(Categorie::TYPE_CUSTOMER,$search_categ,'search_categ',1); $moreforfilter.='       '; } // If the user can view prospects other than his' @@ -312,6 +329,9 @@ if ($resql) { print '
'; print $moreforfilter; + $parameters=array(); + $reshook=$hookmanager->executeHooks('printFieldPreListTitle',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; print '
'; } @@ -325,12 +345,14 @@ if ($resql) print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"s.datec","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProspectLevelShort"),$_SERVER["PHP_SELF"],"s.fk_prospectlevel","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("StatusProsp"),$_SERVER["PHP_SELF"],"s.fk_stcomm","",$param,'align="center"',$sortfield,$sortorder); - print '
  
'; - // Generate in $options_from the list of each option sorted - $options_from = ''; + $options_from = ''; // Generate in $options_from the list of each option sorted foreach ($tab_level as $tab_level_sortorder => $tab_level_label) { - $options_from .= ''; } - - // Reverse the list - array_reverse($tab_level, true); - - // Generate in $options_to the list of each option sorted in the reversed order - $options_to = ''; + array_reverse($tab_level, true); // Reverse the list + $options_to = ''; // Generate in $options_to the list of each option sorted in the reversed order foreach ($tab_level as $tab_level_sortorder => $tab_level_label) { - $options_to .= ''; } @@ -381,16 +398,26 @@ if ($resql) print ''; - print ' '; + $arraystcomm=array(); + foreach($prospectstatic->cacheprospectstatus as $key => $val) + { + $arraystcomm[$val['id']]=$val['label']; + } + print $form->selectarray('search_stcomm', $arraystcomm, $search_stcomm, 1); print ''; print ' '; print ''; - print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); + print $form->selectarray('search_status', array('0'=>$langs->trans('ActivityCeased'),'1'=>$langs->trans('InActivity')),$search_status); print '
'; - $prospectstatic->id=$obj->rowid; + $prospectstatic->id=$obj->socid; $prospectstatic->name=$obj->name; $prospectstatic->status=$obj->status; $prospectstatic->code_client=$obj->code_client; $prospectstatic->client=$obj->client; $prospectstatic->fk_prospectlevel=$obj->fk_prospectlevel; + $prospectstatic->name_alias=$obj->name_alias; print $prospectstatic->getNomUrl(1,'prospect'); print '".$obj->zip." ".$obj->town." ".$obj->zip."".$obj->town."'.$obj->departement.''.dol_print_date($db->jdate($obj->datec)).''; - print $prospectstatic->LibProspStatut($obj->fk_stcomm,2); + print $prospectstatic->LibProspCommStatut($obj->stcomm_id,2,$prospectstatic->cacheprospectstatus[$obj->stcomm_id]['label']); print "'; - foreach ($sts as $key => $value) + foreach($prospectstatic->cacheprospectstatus as $key => $val) { - if ($value <> $obj->fk_stcomm) - { - print ''; - print img_action(0,$value); - print ' '; - } + $titlealt='default'; + if (! empty($val['code']) && ! in_array($val['code'], array('ST_NO', 'ST_NEVER', 'ST_TODO', 'ST_PEND', 'ST_DONE'))) $titlealt=$val['label']; + if ($obj->stcomm_id != $val['id']) print ''.img_action($titlealt,$val['code']).''; } print ''; + $parameters=array('obj' => $obj); + $reshook=$hookmanager->executeHooks('printFieldListValue',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; + + print ''; print $prospectstatic->LibStatut($prospectstatic->status,3); print '
"; - print '
'; + print '
'; print ''; if (! empty($backtopage)) { - print '    '; + print '     '; print ''; } - print '
'; + print '
'; print ""; diff --git a/htdocs/comm/remx.php b/htdocs/comm/remx.php index 99bfcb3a072..a68e9d28c19 100644 --- a/htdocs/comm/remx.php +++ b/htdocs/comm/remx.php @@ -278,14 +278,14 @@ if ($socid > 0) print ""; - print '
'; + print '
'; print ''; if (! empty($backtopage)) { - print '    '; + print '     '; print ''; } - print '
'; + print '
'; print ''; diff --git a/htdocs/commande/apercu.php b/htdocs/commande/apercu.php index 839ca73d5b9..f3d83b837dd 100644 --- a/htdocs/commande/apercu.php +++ b/htdocs/commande/apercu.php @@ -3,7 +3,8 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2014 Frederic 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 @@ -22,21 +23,17 @@ /** * \file htdocs/commande/apercu.php * \ingroup commande - * \brief Page de l'onglet apercu d'une commande + * \brief Preview tab of order */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/order.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; -if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; -if (! empty($conf->projet->enabled)) require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $langs->load('orders'); -$langs->load('propal'); $langs->load("bills"); $langs->load('compta'); -$langs->load('sendings'); // Security check $socid=0; @@ -47,19 +44,11 @@ $result=restrictedArea($user,'commande',$id,''); /* - * View + * View Mode */ llxHeader('',$langs->trans('Order'),'EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'); -$form = new Form($db); - -/* *************************************************************************** */ -/* */ -/* Mode fiche */ -/* */ -/* *************************************************************************** */ - if ($id > 0 || ! empty($ref)) { $object = new Commande($db); @@ -70,40 +59,46 @@ if ($id > 0 || ! empty($ref)) $soc->fetch($object->socid); - $head = commande_prepare_head($object); + $head = commande_prepare_head($object); dol_fiche_head($head, 'preview', $langs->trans("CustomerOrder"), 0, 'order'); - print ''; + print '
'; // Ref - print '"; - print ''; - print '"; + print '"; + print ''; // Ref cde client - print ''; - print ''; - $nbrow=6; - print ''; + print ''; + print ''; - /* - * Documents - */ + // Client + print ''; + print ''; + print ''; + + // Statut + print ''; + print ''; + print ''; + + // Discount - left part + print ''; + print ''; + print ''; + + // Date - left part + print ''; + print ''; + + // Right part with $rowspan lines + $rowspan=4; + print '
'.$langs->trans("Ref")."'.$object->ref.''.$langs->trans("Source").' : '.$object->getLabelSource(); - if ($object->source == 0) - { - // Propale - $propal = new Propal($db); - $propal->fetch($object->propale_id); - print ' -> '.$propal->ref.''; - } - print "
'.$langs->trans("Ref")."'.$object->ref.'
'; - print ''; - print '
'; - print $langs->trans('RefCustomer').''; - print '
'; - print '
'; - print $object->ref_client; - print ''; + print '
'.$langs->trans('RefCustomer').''.$object->ref_client.'
'.$langs->trans("Customer").''.$soc->getNomUrl(1).'
'.$langs->trans("Status").''.$object->getLibStatut(4).'
'.$langs->trans('Discounts').''.$object->remise_percent.'%
'.$langs->trans("Date").''.dol_print_date($object->date,"daytext").''; + + /* + * Documents + */ $objectref = dol_sanitizeFileName($object->ref); $dir_output = $conf->commande->dir_output . "/"; $filepath = $dir_output . $objectref . "/"; @@ -119,27 +114,27 @@ if ($id > 0 || ! empty($ref)) $var=true; - // Si fichier PDF existe + // if PDF file exist if (file_exists($file)) { $encfile = urlencode($file); - print_titre($langs->trans("Documents")); - print ''; + print '
'; + print ''; print ""; - print ''; + print ''; print ''; print ''; print ''; // Si fichier detail PDF existe - // TODO obsolete ? + // TODO deprecated ? if (file_exists($filedetail)) { print ""; - print ''; + print ''; print ''; print ''; print ''; @@ -162,37 +157,24 @@ if ($id > 0 || ! empty($ref)) } } - print ""; + print ''; - // Client - print ""; - print ''; + // Total HT - left part + print ''; + print ''; print ''; - // Statut - print ''; - print "\n"; + // Total VAT - left part + print ''; + print ''; print ''; - // Date - print ''; - print "\n"; - print ''; + // Total TTC - left part + print ''; + print ''; + print ''; - // ligne 6 - // partie Gauche - print ''; - print ''; - print ''; - - // ligne 7 - // partie Gauche - print ''; - print ''; - print ''; - print '
'.$langs->trans("Documents").'
".$langs->trans("Order")." PDF'.$object->ref.'.pdf'.$object->ref.'.pdf'.dol_print_size(dol_filesize($file)).''.dol_print_date(dol_filemtime($file),'dayhour').'
Commande detaillee'.$object->ref.'-detail.pdf'.$object->ref.'-detail.pdf'.dol_print_size(dol_filesize($filedetail)).''.dol_print_date(dol_filemtime($filedetail),'dayhour').'
".$langs->trans("Customer")."'; - print ''.$soc->getNomUrl(1).''; - print '
'.$langs->trans('AmountHT').'' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans("Status").'".$object->getLibStatut(4)."
'.$langs->trans('AmountVAT').'' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans("Date").'".dol_print_date($object->date,"daytext")."
'.$langs->trans('AmountTTC').'' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans('GlobalDiscount').''.$object->remise_percent.'%
'.$langs->trans('AmountHT').''.price($object->total_ht).''.$langs->trans("Currency".$conf->currency).'
'; + print '
'; dol_fiche_end(); } @@ -203,10 +185,13 @@ if ($id > 0 || ! empty($ref)) } } +print ''; +print ''; +print '
'; +print '
'; // Si fichier png PDF d'1 page trouve if (file_exists($fileimage)) { - print ''; + print ''; } // Si fichier png PDF de plus d'1 page trouve elseif (file_exists($fileimagebis)) @@ -219,10 +204,13 @@ elseif (file_exists($fileimagebis)) if (file_exists($dir_output.$preview)) { - print '

'; + print '

'; } } } +print '

'; +print '
'; llxFooter(); diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index c326959619a..79f752f8355 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -8,8 +8,10 @@ * Copyright (C) 2011 Philippe Grand * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2012 Marcos García + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Ferran Marcet + * Copyright (C) 2014 Ferran Marcet + * Copyright (C) 2015 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 @@ -55,6 +57,7 @@ $langs->load('propal'); $langs->load('deliveries'); $langs->load('sendings'); $langs->load('products'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); if (! empty($conf->margin->enabled)) $langs->load('margins'); @@ -84,15 +87,14 @@ $extrafields = new ExtraFields($db); $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); // Load object -if ($id > 0 || ! empty($ref)) { - $ret = $object->fetch($id, $ref); - $ret = $object->fetch_thirdparty(); -} +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('ordercard','globalcard')); $permissionnote = $user->rights->commande->creer; // Used by the include of actions_setnotes.inc.php +$permissionedit = $user->rights->commande->creer; // Used by the include of actions_lineupdown.inc.php + /* @@ -105,7 +107,11 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { - include DOL_DOCUMENT_ROOT . '/core/actions_setnotes.inc.php'; // Must be include, not includ_once + if ($cancel) $action=''; + + include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once + + include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php'; // Must be include, not include_once // Action clone object if ($action == 'confirm_clone' && $confirm == 'yes' && $user->rights->commande->creer) @@ -140,7 +146,7 @@ if (empty($reshook)) // Reopen a closed order else if ($action == 'reopen' && $user->rights->commande->creer) { - if ($object->statut == -1 || $object->statut == 3) + if ($object->statut == STATUS_CANCELED || $object->statut == Commande::STATUS_CLOSED) { $result = $object->set_reopen($user); if ($result > 0) @@ -156,21 +162,26 @@ if (empty($reshook)) } // Suppression de la commande - else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) { + else if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->commande->supprimer) + { $result = $object->delete($user); - if ($result > 0) { + if ($result > 0) + { header('Location: index.php'); exit; } - else { + else + { setEventMessage($object->error, 'errors'); } } // Remove a product line - else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) { + else if ($action == 'confirm_deleteline' && $confirm == 'yes' && $user->rights->commande->creer) + { $result = $object->deleteline($lineid); - if ($result > 0) { + if ($result > 0) + { // Define output language $outputlangs = $langs; $newlang = ''; @@ -197,12 +208,14 @@ if (empty($reshook)) } // Categorisation dans projet - else if ($action == 'classin' && $user->rights->commande->creer) { + else if ($action == 'classin' && $user->rights->commande->creer) + { $object->setProject(GETPOST('projectid')); } // Add order - else if ($action == 'add' && $user->rights->commande->creer) { + else if ($action == 'add' && $user->rights->commande->creer) + { $datecommande = dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); $datelivraison = dol_mktime(12, 0, 0, GETPOST('liv_month'), GETPOST('liv_day'), GETPOST('liv_year')); @@ -240,9 +253,12 @@ if (empty($reshook)) $object->shipping_method_id = GETPOST('shipping_method_id', 'int'); $object->fk_delivery_address = GETPOST('fk_address'); $object->contactid = GETPOST('contactid'); + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); // If creation from another object of another module (Example: origin=propal, originid=1) - if (! empty($origin) && ! empty($originid)) { + if (! empty($origin) && ! empty($originid)) + { // Parse element/subelement (ex: project_task) $element = $subelement = $origin; if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { @@ -303,37 +319,37 @@ if (empty($reshook)) for($i = 0; $i < $num; $i ++) { - $label = (! empty($lines [$i]->label) ? $lines [$i]->label : ''); - $desc = (! empty($lines [$i]->desc) ? $lines [$i]->desc : $lines [$i]->libelle); - $product_type = (! empty($lines [$i]->product_type) ? $lines [$i]->product_type : 0); + $label = (! empty($lines[$i]->label) ? $lines[$i]->label : ''); + $desc = (! empty($lines[$i]->desc) ? $lines[$i]->desc : $lines[$i]->libelle); + $product_type = (! empty($lines[$i]->product_type) ? $lines[$i]->product_type : 0); // Dates // TODO mutualiser - $date_start = $lines [$i]->date_debut_prevue; - if ($lines [$i]->date_debut_reel) - $date_start = $lines [$i]->date_debut_reel; - if ($lines [$i]->date_start) - $date_start = $lines [$i]->date_start; - $date_end = $lines [$i]->date_fin_prevue; - if ($lines [$i]->date_fin_reel) - $date_end = $lines [$i]->date_fin_reel; - if ($lines [$i]->date_end) - $date_end = $lines [$i]->date_end; + $date_start = $lines[$i]->date_debut_prevue; + if ($lines[$i]->date_debut_reel) + $date_start = $lines[$i]->date_debut_reel; + if ($lines[$i]->date_start) + $date_start = $lines[$i]->date_start; + $date_end = $lines[$i]->date_fin_prevue; + if ($lines[$i]->date_fin_reel) + $date_end = $lines[$i]->date_fin_reel; + if ($lines[$i]->date_end) + $date_end = $lines[$i]->date_end; // Reset fk_parent_line for no child products and special product - if (($lines [$i]->product_type != 9 && empty($lines [$i]->fk_parent_line)) || $lines [$i]->product_type == 9) { + if (($lines[$i]->product_type != 9 && empty($lines[$i]->fk_parent_line)) || $lines[$i]->product_type == 9) { $fk_parent_line = 0; } // Extrafields - if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines [$i], 'fetch_optionals')) // For avoid conflicts if + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && method_exists($lines[$i], 'fetch_optionals')) // For avoid conflicts if // trigger used { - $lines [$i]->fetch_optionals($lines [$i]->rowid); - $array_option = $lines [$i]->array_options; + $lines[$i]->fetch_optionals($lines[$i]->rowid); + $array_options = $lines[$i]->array_options; } - $result = $object->addline($desc, $lines [$i]->subprice, $lines [$i]->qty, $lines [$i]->tva_tx, $lines [$i]->localtax1_tx, $lines [$i]->localtax2_tx, $lines [$i]->fk_product, $lines [$i]->remise_percent, $lines [$i]->info_bits, $lines [$i]->fk_remise_except, 'HT', 0, $date_start, $date_end, $product_type, $lines [$i]->rang, $lines [$i]->special_code, $fk_parent_line, $lines [$i]->fk_fournprice, $lines [$i]->pa_ht, $label, $array_option); + $result = $object->addline($desc, $lines[$i]->subprice, $lines[$i]->qty, $lines[$i]->tva_tx, $lines[$i]->localtax1_tx, $lines[$i]->localtax2_tx, $lines[$i]->fk_product, $lines[$i]->remise_percent, $lines[$i]->info_bits, $lines[$i]->fk_remise_except, 'HT', 0, $date_start, $date_end, $product_type, $lines[$i]->rang, $lines[$i]->special_code, $fk_parent_line, $lines[$i]->fk_fournprice, $lines[$i]->pa_ht, $label, $array_options, $lines[$i]->fk_unit); if ($result < 0) { $error++; @@ -341,7 +357,7 @@ if (empty($reshook)) } // Defined the new fk_parent_line - if ($result > 0 && $lines [$i]->product_type == 9) { + if ($result > 0 && $lines[$i]->product_type == 9) { $fk_parent_line = $result; } } @@ -387,8 +403,10 @@ if (empty($reshook)) } // Insert default contacts if defined - if ($object_id > 0) { - if (GETPOST('contactid')) { + if ($object_id > 0) + { + if (GETPOST('contactid')) + { $result = $object->add_contact(GETPOST('contactid'), 'CUSTOMER', 'external'); if ($result < 0) { setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors'); @@ -401,7 +419,8 @@ if (empty($reshook)) } // End of object creation, we show it - if ($object_id > 0 && ! $error) { + if ($object_id > 0 && ! $error) + { $db->commit(); header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object_id); exit(); @@ -501,6 +520,12 @@ if (empty($reshook)) } } + // Set incoterm + elseif ($action == 'set_incoterms' && !empty($conf->incoterm->enabled)) + { + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); + } + // bank account else if ($action == 'setbankaccount' && $user->rights->commande->creer) { $result=$object->setBankAccount(GETPOST('fk_account', 'int')); @@ -546,7 +571,7 @@ if (empty($reshook)) // Extrafields $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); - $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); // Unset extrafield if (is_array($extralabelsline)) { // Get extra fields @@ -690,6 +715,7 @@ if (empty($reshook)) } $type = $prod->type; + $fk_unit = $prod->fk_unit; } else { $pu_ht = price2num($price_ht, 'MU'); $pu_ttc = price2num(GETPOST('price_ttc'), 'MU'); @@ -698,6 +724,7 @@ if (empty($reshook)) $label = (GETPOST('product_label') ? GETPOST('product_label') : ''); $desc = $product_desc; $type = GETPOST('type'); + $fk_unit=GETPOST('units', 'alpha'); } // Margin @@ -719,7 +746,7 @@ if (empty($reshook)) setEventMessage($mesg, 'errors'); } else { // Insert line - $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $info_bits, 0, $price_base_type, $pu_ttc, $date_start, $date_end, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $array_option); + $result = $object->addline($desc, $pu_ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, $idprod, $remise_percent, $info_bits, 0, $price_base_type, $pu_ttc, $date_start, $date_end, $type, - 1, 0, GETPOST('fk_parent_line'), $fournprice, $buyingprice, $label, $array_options, $fk_unit); if ($result > 0) { $ret = $object->fetch($object->id); // Reload to get new records @@ -755,6 +782,7 @@ if (empty($reshook)) unset($_POST['np_markRate']); unset($_POST['dp_desc']); unset($_POST['idprod']); + unset($_POST['units']); unset($_POST['date_starthour']); unset($_POST['date_startmin']); @@ -776,9 +804,9 @@ if (empty($reshook)) } /* - * Mise a jour d'une ligne dans la commande - */ - else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('save') == $langs->trans('Save')) + * Update a line + */ + else if ($action == 'updateline' && $user->rights->commande->creer && GETPOST('save')) { // Clean parameters $date_start=''; @@ -806,7 +834,7 @@ if (empty($reshook)) // Extrafields Lines $extrafieldsline = new ExtraFields($db); $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); - $array_option = $extrafieldsline->getOptionalsFromPost($extralabelsline); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline); // Unset extrafield POST Data if (is_array($extralabelsline)) { foreach ($extralabelsline as $key => $value) { @@ -848,7 +876,7 @@ if (empty($reshook)) } if (! $error) { - $result = $object->updateline(GETPOST('lineid'), $description, $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, 'HT', $info_bits, $date_start, $date_end, $type, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $special_code, $array_option); + $result = $object->updateline(GETPOST('lineid'), $description, $pu_ht, GETPOST('qty'), GETPOST('remise_percent'), $vat_rate, $localtax1_rate, $localtax2_rate, 'HT', $info_bits, $date_start, $date_end, $type, GETPOST('fk_parent_line'), 0, $fournprice, $buyingprice, $label, $special_code, $array_options, GETPOST('units')); if ($result >= 0) { if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { @@ -886,12 +914,16 @@ if (empty($reshook)) } } - else if ($action == 'updateligne' && $user->rights->commande->creer && GETPOST('cancel') == $langs->trans('Cancel')) { + else if ($action == 'updateline' && $user->rights->commande->creer && GETPOST('cancel') == $langs->trans('Cancel')) { header('Location: ' . $_SERVER['PHP_SELF'] . '?id=' . $object->id); // Pour reaffichage de la fiche en cours d'edition exit(); } - else if ($action == 'confirm_validate' && $confirm == 'yes' && $user->rights->commande->valider) { + else if ($action == 'confirm_validate' && $confirm == 'yes' && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) + ) + { $idwarehouse = GETPOST('idwarehouse'); $qualified_for_stock_change=0; @@ -999,7 +1031,11 @@ if (empty($reshook)) } } - else if ($action == 'confirm_cancel' && $confirm == 'yes' && $user->rights->commande->valider) { + else if ($action == 'confirm_cancel' && $confirm == 'yes' && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) + ) + { $idwarehouse = GETPOST('idwarehouse'); $qualified_for_stock_change=0; @@ -1032,57 +1068,7 @@ if (empty($reshook)) } } - /* - * Ordonnancement des lignes - */ - - else if ($action == 'up' && $user->rights->commande->creer) { - $object->line_up(GETPOST('rowid')); - - // 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); - } - - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { - $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - - header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid')); - exit(); - } - - else if ($action == 'down' && $user->rights->commande->creer) { - $object->line_down(GETPOST('rowid')); - - // 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); - } - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { - $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - } - - header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid')); - exit(); - } - - // Generate order document (define into /core/modules/commande/modules_commande.php) - else if ($action == 'builddoc') // In get or post + if ($action == 'builddoc') // In get or post { // Save last template used to generate document if (GETPOST('model')) @@ -1105,16 +1091,18 @@ if (empty($reshook)) $outputlangs->setDefaultLang($newlang); } $result = $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - - if ($result <= 0) { - dol_print_error($db, $result); - exit(); + if ($result <= 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } // Remove file in doc form - else if ($action == 'remove_file') { - if ($object->id > 0) { + if ($action == 'remove_file') + { + if ($object->id > 0) + { require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; $langs->load("other"); @@ -1129,15 +1117,17 @@ if (empty($reshook)) } } - else if ($action == 'update_extras') { + if ($action == 'update_extras') + { // Fill array 'array_options' with data from update form $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); $ret = $extrafields->setOptionalsFromPost($extralabels, $object, GETPOST('attribute')); if ($ret < 0) $error++; - if (! $error) { + if (! $error) + { // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('orderdao')); $parameters = array('id' => $object->id); $reshook = $hookmanager->executeHooks('insertExtraFields', $parameters, $object, $action); // Note that $action and $object may have been modified by @@ -1155,7 +1145,7 @@ if (empty($reshook)) $action = 'edit_extras'; } - include DOL_DOCUMENT_ROOT.'/core/actions_printipp.inc.php'; + include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php'; /* @@ -1224,6 +1214,7 @@ llxHeader('', $langs->trans('Order'), 'EN:Customers_Orders|FR:Commandes_Clients| $form = new Form($db); $formfile = new FormFile($db); $formorder = new FormOrder($db); +if (! empty($conf->projet->enabled)) { $formproject = new FormProjets($db); } /** * ******************************************************************* @@ -1232,14 +1223,16 @@ $formorder = new FormOrder($db); * * ******************************************************************* */ -if ($action == 'create' && $user->rights->commande->creer) { - print_fiche_titre($langs->trans('CreateOrder')); +if ($action == 'create' && $user->rights->commande->creer) +{ + print_fiche_titre($langs->trans('CreateOrder'),'','title_commercial.png'); $soc = new Societe($db); if ($socid > 0) $res = $soc->fetch($socid); - if (! empty($origin) && ! empty($originid)) { + if (! empty($origin) && ! empty($originid)) + { // Parse element/subelement (ex: project_task) $element = $subelement = $origin; if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { @@ -1323,10 +1316,12 @@ if ($action == 'create' && $user->rights->commande->creer) { print ''; print ''; + dol_fiche_head(''); + print ''; // Reference - print ''; + print ''; // Reference client print ''; // Project - if (! empty($conf->projet->enabled) && $socid > 0) { - $formproject = new FormProjets($db); + if (! empty($conf->projet->enabled) && $socid > 0) + { + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); - print ''; + print ''; + print ''; + } + + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; } @@ -1453,29 +1461,30 @@ if ($action == 'create' && $user->rights->commande->creer) { print $form->selectarray('model', $liste, $conf->global->COMMANDE_ADDON_PDF); print ""; - // Note publique + // Note public print ''; print ''; print ''; - // Note privee + // Note private if (empty($user->societe_id)) { print ''; print ''; print ''; } - if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) + { // TODO for compatibility if ($origin == 'contrat') { // Calcul contrat->price (HT), contrat->total (TTC), contrat->tva @@ -1509,8 +1518,11 @@ if ($action == 'create' && $user->rights->commande->creer) { } print '"; - } else { - if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { + } + else + { + if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) + { /* * Services/produits predefinis */ @@ -1542,8 +1554,10 @@ if ($action == 'create' && $user->rights->commande->creer) { print '
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
' . $langs->trans('Ref') . '' . $langs->trans("Draft") . '
' . $langs->trans('RefCustomer') . ''; @@ -1353,7 +1348,7 @@ if ($action == 'create' && $user->rights->commande->creer) { /* * Contact de la commande - */ + */ if ($socid > 0) { print "
" . $langs->trans("DefaultContact") . ''; $form->select_contacts($soc->id, $setcontact, 'contactid', 1, $srccontactslist); @@ -1426,14 +1421,27 @@ if ($action == 'create' && $user->rights->commande->creer) { print '
' . $langs->trans('Project') . ''; - $numprojet = $formproject->select_projects($soc->id, $projectid); - if ($numprojet == 0) { - print '   ' . $langs->trans("AddProject") . ''; - } + $langs->load("projects"); + print '
' . $langs->trans("Project") . ''; + $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + print '   id).'">' . $langs->trans("AddProject") . ''; + print '
'; + print $form->select_incoterms((!empty($objectsrc->fk_incoterms) ? $objectsrc->fk_incoterms : ''), (!empty($objectsrc->location_incoterms)?$objectsrc->location_incoterms:'')); print '
' . $langs->trans('NotePublic') . ''; - $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print ''; print '
' . $langs->trans('NotePrivate') . ''; - $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print ''; print '
' . $langs->trans('TotalTTC') . '' . price($objectsrc->total_ttc) . "
'; + dol_fiche_end(); + // Button "Create Draft" - print '
'; + print '
'; print ''; @@ -1592,7 +1606,8 @@ if ($action == 'create' && $user->rights->commande->creer) { /* * Confirmation de la validation */ - if ($action == 'validate') { + if ($action == 'validate') + { // on verifie si l'objet est en numerotation provisoire $ref = substr($object->ref, 1, 4); if ($ref == 'PROV') { @@ -1602,11 +1617,12 @@ if ($action == 'create' && $user->rights->commande->creer) { } $text = $langs->trans('ConfirmValidateOrder', $numref); - if (! empty($conf->notification->enabled)) { + if (! empty($conf->notification->enabled)) + { require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; $notify = new Notify($db); $text .= '
'; - $text .= $notify->confirmMessage('ORDER_VALIDATE', $object->socid); + $text .= $notify->confirmMessage('ORDER_VALIDATE', $object->socid, $object); } $qualified_for_stock_change=0; @@ -1710,9 +1726,7 @@ if ($action == 'create' && $user->rights->commande->creer) { $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $object->id, $langs->trans('Cancel'), $text, 'confirm_cancel', $formquestion, 0, 1); } - /* - * Confirmation de la suppression d'une ligne produit - */ + // Confirmation to delete line if ($action == 'ask_deleteline') { $formconfirm=$form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); @@ -1734,8 +1748,9 @@ if ($action == 'create' && $user->rights->commande->creer) { if (! $formconfirm) { $parameters = array('lineid' => $lineid); - $formconfirm = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified - // by hook + $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 @@ -1817,7 +1832,7 @@ if ($action == 'create' && $user->rights->commande->creer) { $absolute_discount = price2num($absolute_discount, 'MT'); $absolute_creditnote = price2num($absolute_creditnote, 'MT'); if ($absolute_discount) { - if ($object->statut > 0) { + if ($object->statut > Commande::STATUS_DRAFT) { print $langs->trans("CompanyHasAbsoluteDiscount", price($absolute_discount), $langs->transnoentities("Currency" . $conf->currency)); } else { // Remise dispo de type remise fixe (not credit note) @@ -1979,9 +1994,9 @@ if ($action == 'create' && $user->rights->commande->creer) { print ''; // print "$object->id, $object->socid, $object->fk_project"; if ($action == 'classify') { - $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid'); + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1); } else { - $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none'); + $form->form_project($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0); } print ''; } @@ -1997,6 +2012,29 @@ if ($action == 'create' && $user->rights->commande->creer) { print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
'; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->commande->creer) print ''.img_edit().''; + else print ' '; + print '
'; + print ''; + print ''; + if ($action != 'editincoterm') + { + print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); + } + else + { + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?id='.$object->id); + } + print ''; + } + // Other attributes $cols = 3; include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; @@ -2029,7 +2067,7 @@ if ($action == 'create' && $user->rights->commande->creer) { // Total HT print '' . $langs->trans('AmountHT') . ''; - print '' . price($object->total_ht, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_ht, 1, '', 1, - 1, - 1, $conf->currency) . ''; // Margin Infos if (! empty($conf->margin->enabled)) { @@ -2041,23 +2079,23 @@ if ($action == 'create' && $user->rights->commande->creer) { print ''; - // Total TVA - print '' . $langs->trans('AmountVAT') . '' . price($object->total_tva, 1, '', 1, - 1, - 1, $conf->currency) . ''; + // Total VAT + print '' . $langs->trans('AmountVAT') . '' . price($object->total_tva, 1, '', 1, - 1, - 1, $conf->currency) . ''; // Amount Local Taxes if ($mysoc->localtax1_assuj == "1" || $object->total_localtax1 != 0) // Localtax1 { print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . ''; - print '' . price($object->total_localtax1, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_localtax1, 1, '', 1, - 1, - 1, $conf->currency) . ''; } if ($mysoc->localtax2_assuj == "1" || $object->total_localtax2 != 0) // Localtax2 IRPF { print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . ''; - print '' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . ''; } // Total TTC - print '' . $langs->trans('AmountTTC') . '' . price($object->total_ttc, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . $langs->trans('AmountTTC') . '' . price($object->total_ttc, 1, '', 1, - 1, - 1, $conf->currency) . ''; // Statut print '' . $langs->trans('Status') . '' . $object->getLibStatut(4) . ''; @@ -2084,12 +2122,12 @@ if ($action == 'create' && $user->rights->commande->creer) { print '
- + '; - if (! empty($conf->use_javascript_ajax) && $object->statut == 0) { + if (! empty($conf->use_javascript_ajax) && $object->statut == Commande::STATUS_DRAFT) { include DOL_DOCUMENT_ROOT . '/core/tpl/ajaxrow.tpl.php'; } @@ -2104,7 +2142,7 @@ if ($action == 'create' && $user->rights->commande->creer) { /* * Form to add new line */ - if ($object->statut == 0 && $user->rights->commande->creer) + if ($object->statut == Commande::STATUS_DRAFT && $user->rights->commande->creer) { if ($action != 'editline') { @@ -2134,11 +2172,15 @@ if ($action == 'create' && $user->rights->commande->creer) { // modified by hook if (empty($reshook)) { // Valid - if ($object->statut == 0 && $object->total_ttc >= 0 && $numlines > 0 && $user->rights->commande->valider) { + if ($object->statut == Commande::STATUS_DRAFT && $object->total_ttc >= 0 && $numlines > 0 && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) + ) + { print ''; } // Edit - if ($object->statut == 1 && $user->rights->commande->creer) { + if ($object->statut == Commande::STATUS_VALIDATED && $user->rights->commande->creer) { print ''; } // Create event @@ -2149,7 +2191,7 @@ if ($action == 'create' && $user->rights->commande->creer) { print '' . $langs->trans("AddAction") . ''; } // Send - if ($object->statut > 0) { + if ($object->statut > Commande::STATUS_DRAFT) { if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) || $user->rights->commande->order_advance->send)) { print ''; } else @@ -2161,7 +2203,7 @@ if ($action == 'create' && $user->rights->commande->creer) { if (! empty($conf->expedition->enabled)) { $numshipping = $object->nb_expedition(); - if ($object->statut > 0 && $object->statut < 3 && $object->getNbOfProductsLines() > 0) { + if ($object->statut > Commande::STATUS_DRAFT && $object->statut < Commande::STATUS_CLOSED && $object->getNbOfProductsLines() > 0) { if (($conf->expedition_bon->enabled && $user->rights->expedition->creer) || ($conf->livraison_bon->enabled && $user->rights->expedition->livraison->creer)) { if ($user->rights->expedition->creer) { print ''; @@ -2179,7 +2221,7 @@ if ($action == 'create' && $user->rights->commande->creer) { if ($conf->ficheinter->enabled) { $langs->load("interventions"); - if ($object->statut > 0 && $object->statut < 3 && $object->getNbOfServicesLines() > 0) { + if ($object->statut > Commande::STATUS_DRAFT && $object->statut < Commande::STATUS_CLOSED && $object->getNbOfServicesLines() > 0) { if ($user->rights->ficheinter->creer) { print ''; } else { @@ -2189,12 +2231,12 @@ if ($action == 'create' && $user->rights->commande->creer) { } // Reopen a closed order - if (($object->statut == 3 || $object->statut == -1) && $user->rights->commande->creer) { + if (($object->statut == Commande::STATUS_CLOSED || $object->statut == Commande::STATUS_CANCELED) && $user->rights->commande->creer) { print ''; } // Create contract - if ($conf->contrat->enabled && ($object->statut == 1 || $object->statut == 2)) { + if ($conf->contrat->enabled && ($object->statut == Commande::STATUS_VALIDATED || $object->statut == Commande::STATUS_ACCEPTED)) { $langs->load("contracts"); if ($user->rights->contrat->creer) { @@ -2204,17 +2246,17 @@ if ($action == 'create' && $user->rights->commande->creer) { // Create bill and Classify billed // Note: Even if module invoice is not enabled, we should be able to use button "Classified billed" - if ($object->statut > 0 && ! $object->billed) { + if ($object->statut > Commande::STATUS_DRAFT && ! $object->billed) { if (! empty($conf->facture->enabled) && $user->rights->facture->creer && empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) { print ''; } - if ($user->rights->commande->creer && $object->statut > 2 && empty($conf->global->WORKFLOW_DISABLE_CLASSIFY_BILLED_FROM_ORDER) && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) { + if ($user->rights->commande->creer && $object->statut > Commande::STATUS_ACCEPTED && empty($conf->global->WORKFLOW_DISABLE_CLASSIFY_BILLED_FROM_ORDER) && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT)) { print ''; } } // Set to shipped - if (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer) { + if (($object->statut == Commande::STATUS_VALIDATED || $object->statut == Commande::STATUS_ACCEPTED) && $user->rights->commande->cloturer) { print ''; } @@ -2224,7 +2266,11 @@ if ($action == 'create' && $user->rights->commande->creer) { } // Cancel order - if ($object->statut == 1 && $user->rights->commande->annuler) { + if ($object->statut == Commande::STATUS_VALIDATED && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->cloturer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->annuler))) + ) + { print ''; } @@ -2259,10 +2305,13 @@ if ($action == 'create' && $user->rights->commande->creer) { $delallowed = $user->rights->commande->supprimer; $somethingshown = $formfile->show_documents('commande', $comref, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', '', '', $soc->default_lang); - /* - * Linked object block - */ - $somethingshown = $object->showLinkedObjectBlock(); + // Linked object block + $somethingshown = $form->showLinkedObjectBlock($object); + + // Show links to link elements + //$linktoelem = $form->showLinkToObjectBlock($object); + //if ($linktoelem) print '
'.$linktoelem; + print '
'; // print ''; @@ -2285,8 +2334,7 @@ if ($action == 'create' && $user->rights->commande->creer) { $ref = dol_sanitizeFileName($object->ref); include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; - $fileparams = dol_most_recent_file($conf->commande->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $file = $fileparams['fullname']; // Define output language $outputlangs = $langs; @@ -2310,8 +2358,8 @@ if ($action == 'create' && $user->rights->commande->creer) { dol_print_error($db, $result); exit(); } - $fileparams = dol_most_recent_file($conf->commande->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $fileparams = dol_most_recent_file($conf->commande->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; } print '
'; @@ -2371,6 +2419,7 @@ if ($action == 'create' && $user->rights->commande->creer) { // Tableau des parametres complementaires $formmail->param['action'] = 'send'; $formmail->param['models'] = 'order_send'; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); $formmail->param['orderid'] = $object->id; $formmail->param['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id; diff --git a/htdocs/commande/class/api_commande.class.php b/htdocs/commande/class/api_commande.class.php new file mode 100644 index 00000000000..e8266fe6383 --- /dev/null +++ b/htdocs/commande/class/api_commande.class.php @@ -0,0 +1,335 @@ + + * + * 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; + + require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; + +/** + * API class for commande object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + * @category Api + * @package Api + * + * + */ +class CommandeApi extends DolibarrApi +{ + + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'socid' + ); + + /** + * @var Commande $commande {@type Commande} + */ + public $commande; + + /** + * Constructor + * + * @url GET order/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->commande = new Commande($this->db); + } + + /** + * Get properties of a commande object + * + * Return an array with commande informations + * + * @param int $id ID of order + * @param string $ref Ref of object + * @param string $ref_ext External reference of object + * @param string $ref_int Internal reference of other object + * @return array|mixed data without useless information + * + * @url GET order/{id} + * @throws RestException + */ + function get($id='',$ref='', $ref_ext='', $ref_int='') + { + if(! DolibarrApiAccess::$user->rights->commande->lire) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $this->commande->fetchObjectLinked(); + return $this->_cleanObjectDatas($this->commande); + } + + /** + * List orders + * + * Get a list of orders + * + * @param int $mode Use this param to filter list + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @url GET /order/list + * @return array Array of order objects + */ + function getList($mode=0, $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."commande as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + + // Example of use $mode + //if ($mode == 1) $sql.= " AND s.client IN (1, 3)"; + //if ($mode == 2) $sql.= " AND s.client IN (2, 3)"; + + $sql.= ' WHERE s.entity IN ('.getEntity('commande', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; + if ($socid) $sql.= " AND s.fk_soc = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $commande_static = new Commande($db); + if($commande_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($commande_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve commande list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No commande found'); + } + return $obj_ret; + } + + /** + * Create order object + * + * @param array $request_data Request datas + * + * @url POST order/ + * + * @return int ID of commande + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->commande->$field = $value; + } + if(! $this->commande->create(DolibarrApiAccess::$user) ) { + throw new RestException(401); + } + + return $this->commande->ref; + } + + /** + * Update order + * + * @param int $id Id of commande to update + * @param array $request_data Datas + * + * @url PUT order/{id} + * + * @return int + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Commande not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->commande->$field = $value; + } + + if($this->commande->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get ($id); + + return false; + } + + /** + * Delete order + * + * @param int $id Order ID + * + * @url DELETE order/{id} + * + * @return array + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->commande->supprimer) { + throw new RestException(401); + } + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( ! $this->commande->delete(DolibarrApiAccess::$user)) { + throw new RestException(500, 'Error when delete order : '.$this->commande->error); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Order deleted' + ) + ); + + } + + /** + * Validate an order + * + * @param int $id Order ID + * @param int $idwarehouse Warehouse ID + * + * @url GET order/{id}/validate + * @url POST order/{id}/validate + * + * @return array + * + */ + function validOrder($id, $idwarehouse=0) + { + if(! DolibarrApiAccess::$user->rights->commande->creer) { + throw new RestException(401); + } + $result = $this->commande->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Order not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('commande',$this->commande->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( ! $this->commande->valid(DolibarrApiAccess::$user, $idwarehouse)) { + throw new RestException(500, 'Error when validate order'); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Order validated' + ) + ); + } + + /** + * Validate fields before create or update object + * + * @param array $data Array with data to verify + * @return array + * @throws RestException + */ + function _validate($data) + { + $commande = array(); + foreach (CommandeApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $commande[$field] = $data[$field]; + } + return $commande; + } +} diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index 0564c60ef4b..c941dfc1ff8 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -6,8 +6,9 @@ * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2011 Jean Heimburger * Copyright (C) 2012-2014 Christophe Battarel + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -29,6 +30,7 @@ * \brief Fichier des classes de commandes */ include_once DOL_DOCUMENT_ROOT.'/core/class/commonorder.class.php'; +require_once DOL_DOCUMENT_ROOT ."/core/class/commonobjectline.class.php"; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT .'/margin/lib/margins.lib.php'; @@ -51,8 +53,17 @@ class Commande extends CommonOrder var $id; - var $socid; // Id client - var $client; // Objet societe client (a charger par fetch_client) + /** + * Client ID + * @var int + */ + var $socid; + + /** + * Client (loaded by fetch_client) + * @var Societe + */ + var $client; var $ref; var $ref_client; @@ -60,8 +71,18 @@ class Commande extends CommonOrder var $ref_int; var $contactid; var $fk_project; - var $statut; // -1=Canceled, 0=Draft, 1=Validated, (2=Accepted/On process not managed for customer orders), 3=Closed (Delivered=Sent/Received, billed or not) - var $facturee; // deprecated + + /** + * Status of the order. Check the following constants: + * @var int + * @see Commande::STATUS_CANCELED, Commande::STATUS_DRAFT, Commande::STATUS_ACCEPTED, Commande::STATUS_CLOSED + */ + var $statut; + /** + * @deprecated + * @see billed + */ + var $facturee; var $billed; // billed or not var $brouillon; @@ -77,7 +98,11 @@ class Commande extends CommonOrder var $fk_delivery_address; var $address; var $date; // Date commande - var $date_commande; // Date commande (deprecated) + /** + * @deprecated + * @see date + */ + var $date_commande; var $date_livraison; // Date livraison souhaitee var $shipping_method_id; var $fk_remise_except; @@ -93,7 +118,11 @@ class Commande extends CommonOrder var $rang; var $special_code; var $source; // Origin of order - var $note; // deprecated + /** + * @deprecated + * @see note_private, note_public + */ + var $note; var $note_private; var $note_public; var $extraparams=array(); @@ -104,17 +133,46 @@ class Commande extends CommonOrder var $user_author_id; - var $lines = array(); + /** + * @var OrderLine[] + */ + var $lines = array(); + + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip // Pour board var $nbtodo; var $nbtodolate; - /** + /** * ERR Not engouch stock */ const STOCK_NOT_ENOUGH_FOR_ORDER = -3; + /** + * Canceled status + */ + const STATUS_CANCELED = -1; + /** + * Draft status + */ + const STATUS_DRAFT = 0; + /** + * Validated status + */ + const STATUS_VALIDATED = 1; + /** + * Accepted/On process not managed for customer orders + */ + const STATUS_ACCEPTED = 2; + /** + * Closed (Sent/Received, billed or not) + */ + const STATUS_CLOSED = 3; + /** * Constructor @@ -203,13 +261,14 @@ class Commande extends CommonOrder $error=0; // Protection - if ($this->statut == 1) + if ($this->statut == self::STATUS_VALIDATED) { dol_syslog(get_class($this)."::valid no draft status", LOG_WARNING); return 0; } - if (! $user->rights->commande->valider) + if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate)))) { $this->error='Permission denied'; dol_syslog(get_class($this)."::valid ".$this->error, LOG_ERR); @@ -241,7 +300,7 @@ class Commande extends CommonOrder // Validate $sql = "UPDATE ".MAIN_DB_PREFIX."commande"; $sql.= " SET ref = '".$num."',"; - $sql.= " fk_statut = 1,"; + $sql.= " fk_statut = ".self::STATUS_VALIDATED.","; $sql.= " date_valid='".$this->db->idate($now)."',"; $sql.= " fk_user_valid = ".$user->id; $sql.= " WHERE rowid = ".$this->id; @@ -331,7 +390,7 @@ class Commande extends CommonOrder if (! $error) { $this->ref = $num; - $this->statut = 1; + $this->statut = self::STATUS_VALIDATED; } if (! $error) @@ -360,12 +419,13 @@ class Commande extends CommonOrder $error=0; // Protection - if ($this->statut <= 0) + if ($this->statut <= self::STATUS_DRAFT) { return 0; } - if (! $user->rights->commande->valider) + if (! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate)))) { $this->error='Permission denied'; return -1; @@ -374,7 +434,7 @@ class Commande extends CommonOrder $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."commande"; - $sql.= " SET fk_statut = 0"; + $sql.= " SET fk_statut = ".self::STATUS_DRAFT; $sql.= " WHERE rowid = ".$this->id; dol_syslog(get_class($this)."::set_draft", LOG_DEBUG); @@ -400,7 +460,7 @@ class Commande extends CommonOrder if (!$error) { - $this->statut=0; + $this->statut=self::STATUS_DRAFT; $this->db->commit(); return $result; } @@ -412,7 +472,7 @@ class Commande extends CommonOrder } } - $this->statut=0; + $this->statut=self::STATUS_DRAFT; $this->db->commit(); return 1; } @@ -437,7 +497,7 @@ class Commande extends CommonOrder global $conf,$langs; $error=0; - if ($this->statut != -1 && $this->statut != 3) + if ($this->statut != self::STATUS_CANCELED && $this->statut != self::STATUS_CLOSED) { dol_syslog(get_class($this)."::set_reopen order has not status closed", LOG_WARNING); return 0; @@ -446,7 +506,7 @@ class Commande extends CommonOrder $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; - $sql.= ' SET fk_statut=1, facture=0'; + $sql.= ' SET fk_statut='.self::STATUS_VALIDATED.', facture=0'; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_reopen", LOG_DEBUG); @@ -467,7 +527,7 @@ class Commande extends CommonOrder if (! $error) { - $this->statut = 1; + $this->statut = self::STATUS_VALIDATED; $this->billed = 0; $this->facturee = 0; // deprecated @@ -498,17 +558,18 @@ class Commande extends CommonOrder $error=0; - if ($user->rights->commande->valider) + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->commande->order_advance->validate))) { $this->db->begin(); $now=dol_now(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; - $sql.= ' SET fk_statut = 3,'; + $sql.= ' SET fk_statut = '.self::STATUS_CLOSED.','; $sql.= ' fk_user_cloture = '.$user->id.','; $sql.= " date_cloture = '".$this->db->idate($now)."'"; - $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut > 0'; + $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut > '.self::STATUS_DRAFT; if ($this->db->query($sql)) { @@ -519,7 +580,7 @@ class Commande extends CommonOrder if (! $error) { - $this->statut=3; + $this->statut=self::STATUS_CLOSED; $this->db->commit(); return 1; @@ -556,9 +617,9 @@ class Commande extends CommonOrder $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."commande"; - $sql.= " SET fk_statut = -1"; + $sql.= " SET fk_statut = ".self::STATUS_CANCELED; $sql.= " WHERE rowid = ".$this->id; - $sql.= " AND fk_statut = 1"; + $sql.= " AND fk_statut = ".self::STATUS_VALIDATED; dol_syslog(get_class($this)."::cancel", LOG_DEBUG); if ($this->db->query($sql)) @@ -597,7 +658,7 @@ class Commande extends CommonOrder if (! $error) { - $this->statut=-1; + $this->statut=self::STATUS_CANCELED; $this->db->commit(); return 1; } @@ -625,8 +686,8 @@ class Commande extends CommonOrder * Note that this->ref can be set or empty. If empty, we will use "(PROV)" * * @param User $user Objet user that make creation - * @param int $notrigger Disable all triggers - * @return int <0 if KO, >0 if OK + * @param int $notrigger Disable all triggers + * @return int <0 if KO, >0 if OK */ function create($user, $notrigger=0) { @@ -634,22 +695,22 @@ class Commande extends CommonOrder $error=0; // Clean parameters - $this->brouillon = 1; // On positionne en mode brouillon la commande + $this->brouillon = 1; // set command as draft dol_syslog(get_class($this)."::create user=".$user->id); // Check parameters if (! empty($this->ref)) // We check that ref is not already used - { - $result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used - if ($result > 0) - { - $this->error='ErrorRefAlreadyExists'; - dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING); - $this->db->rollback(); - return -1; - } - } + { + $result=self::isExistingObject($this->element, 0, $this->ref); // Check ref is not yet used + if ($result > 0) + { + $this->error='ErrorRefAlreadyExists'; + dol_syslog(get_class($this)."::create ".$this->error,LOG_WARNING); + $this->db->rollback(); + return -1; + } + } $soc = new Societe($this->db); $result=$soc->fetch($this->socid); @@ -678,6 +739,7 @@ class Commande extends CommonOrder $sql.= ", model_pdf, fk_cond_reglement, fk_mode_reglement, fk_account, fk_availability, fk_input_reason, date_livraison, fk_delivery_address"; $sql.= ", fk_shipping_method"; $sql.= ", remise_absolue, remise_percent"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ", entity"; $sql.= ")"; $sql.= " VALUES ('(PROV)',".$this->socid.", '".$this->db->idate($now)."', ".$user->id; @@ -700,6 +762,8 @@ class Commande extends CommonOrder $sql.= ", ".($this->shipping_method_id>0?$this->shipping_method_id:'NULL'); $sql.= ", ".($this->remise_absolue>0?$this->remise_absolue:'NULL'); $sql.= ", ".($this->remise_percent>0?$this->remise_percent:0); + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ", ".$conf->entity; $sql.= ")"; @@ -715,7 +779,7 @@ class Commande extends CommonOrder $num=count($this->lines); /* - * Insertion du detail des produits dans la base + * Insert products details into db */ for ($i=0;$i<$num;$i++) { @@ -746,7 +810,8 @@ class Commande extends CommonOrder $this->lines[$i]->fk_fournprice, $this->lines[$i]->pa_ht, $this->lines[$i]->label, - $this->lines[$i]->array_options + $this->lines[$i]->array_options, + $this->lines[$i]->fk_unit ); if ($result < 0) { @@ -764,13 +829,16 @@ class Commande extends CommonOrder } } - // Mise a jour ref - $sql = 'UPDATE '.MAIN_DB_PREFIX."commande SET ref='(PROV".$this->id.")' WHERE rowid=".$this->id; + // update ref + $initialref='(PROV'.$this->id.')'; + if (! empty($this->ref)) $initialref=$this->ref; + + $sql = 'UPDATE '.MAIN_DB_PREFIX."commande SET ref='".$this->db->escape($initialref)."' WHERE rowid=".$this->id; if ($this->db->query($sql)) { if ($this->id) { - $this->ref="(PROV".$this->id.")"; + $this->ref = $initialref; // Add object linked if (is_array($this->linked_objects) && ! empty($this->linked_objects)) @@ -815,28 +883,25 @@ class Commande extends CommonOrder if (! $error) { - $action='create'; + //$action='create'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! - $hookmanager->initHooks(array('orderdao')); + // TODO le hook fait double emploi avec le trigger !! + /*$hookmanager->initHooks(array('orderdao')); $parameters=array('socid'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks if (empty($reshook)) { if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used - { + {*/ $result=$this->insertExtraFields(); - if ($result < 0) - { - $error++; - } - } + if ($result < 0) $error++; + /* } } - else if ($reshook < 0) $error++; + else if ($reshook < 0) $error++;*/ } - if (! $notrigger) + if (! $error && ! $notrigger) { // Call trigger $result=$this->call_trigger('ORDER_CREATE',$user); @@ -844,29 +909,27 @@ class Commande extends CommonOrder // End call triggers } - if (!$error) { + if (! $error) + { $this->db->commit(); return $this->id; } - - foreach($this->errors as $errmsg) - { - dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); - $this->error.=($this->error?', '.$errmsg:$errmsg); - } - $this->db->rollback(); - return -1*$error; - + else + { + $this->db->rollback(); + return -1*$error; + } } else - { + { + $this->error=$this->db->lasterror(); $this->db->rollback(); return -1; } } } else - { + { dol_print_error($this->db); $this->db->rollback(); return -1; @@ -915,7 +978,7 @@ class Commande extends CommonOrder } $this->id=0; - $this->statut=0; + $this->statut=self::STATUS_DRAFT; // Clear fields $this->user_author_id = $user->id; @@ -1010,6 +1073,7 @@ class Commande extends CommonOrder $line->rang = $object->lines[$i]->rang; $line->special_code = $object->lines[$i]->special_code; $line->fk_parent_line = $object->lines[$i]->fk_parent_line; + $line->fk_unit = $object->lines[$i]->fk_unit; $line->date_start = $object->lines[$i]->date_start; $line->date_end = $object->lines[$i]->date_end; @@ -1109,8 +1173,8 @@ class Commande extends CommonOrder * @param int $fk_remise_except Id remise * @param string $price_base_type HT or TTC * @param float $pu_ttc Prix unitaire TTC - * @param int $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) - * @param int $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param int $date_start Start date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) + * @param int $date_end End date of the line - Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) * @param int $type Type of line (0=product, 1=service) * @param int $rang Position of line * @param int $special_code Special code (also used by externals modules!) @@ -1118,7 +1182,8 @@ class Commande extends CommonOrder * @param int $fk_fournprice Id supplier price * @param int $pa_ht Buying price (without tax) * @param string $label Label - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int >0 if OK, <0 if KO * * @see add_product @@ -1128,11 +1193,11 @@ class Commande extends CommonOrder * par l'appelant par la methode get_default_tva(societe_vendeuse,societe_acheteuse,produit) * et le desc doit deja avoir la bonne valeur (a l'appelant de gerer le multilangue) */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_option=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $info_bits=0, $fk_remise_except=0, $price_base_type='HT', $pu_ttc=0, $date_start='', $date_end='', $type=0, $rang=-1, $special_code=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='',$array_options=0, $fk_unit=null) { global $mysoc, $conf, $langs; - dol_syslog(get_class($this)."::addline commandeid=$this->id, desc=$desc, pu_ht=$pu_ht, qty=$qty, txtva=$txtva, fk_product=$fk_product, remise_percent=$remise_percent, info_bits=$info_bits, fk_remise_except=$fk_remise_except, price_base_type=$price_base_type, pu_ttc=$pu_ttc, date_start=$date_start, date_end=$date_end, type=$type", LOG_DEBUG); + dol_syslog(get_class($this)."::addline commandeid=$this->id, desc=$desc, pu_ht=$pu_ht, qty=$qty, txtva=$txtva, fk_product=$fk_product, remise_percent=$remise_percent, info_bits=$info_bits, fk_remise_except=$fk_remise_except, price_base_type=$price_base_type, pu_ttc=$pu_ttc, date_start=$date_start, date_end=$date_end, type=$type, fk_unit=$fk_unit", LOG_DEBUG); include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; @@ -1168,7 +1233,7 @@ class Commande extends CommonOrder // Check parameters if ($type < 0) return -1; - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { $this->db->begin(); @@ -1201,7 +1266,7 @@ class Commande extends CommonOrder $result=$product->fetch($fk_product); $product_type=$product->type; - if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_ORDER && $product_type == 0 && $product->stock_reel < $qty) + if (! empty($conf->global->STOCK_MUST_BE_ENOUGH_FOR_ORDER) && $product_type == 0 && $product->stock_reel < $qty) { $this->error=$langs->trans('ErrorStockIsNotEnough'); dol_syslog(get_class($this)."::addline error=Product ".$product->ref.": ".$this->error, LOG_ERR); @@ -1249,6 +1314,7 @@ class Commande extends CommonOrder $this->line->product_type=$type; $this->line->special_code=$special_code; $this->line->fk_parent_line=$fk_parent_line; + $this->line->fk_unit=$fk_unit; $this->line->date_start=$date_start; $this->line->date_end=$date_end; @@ -1269,8 +1335,8 @@ class Commande extends CommonOrder $this->line->price=$price; $this->line->remise=$remise; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->insert(); @@ -1350,8 +1416,9 @@ class Commande extends CommonOrder $line->localtax1_tx=$localtax1_tx; $line->localtax2_tx=$localtax2_tx; $line->ref=$prod->ref; - $line->libelle=$prod->libelle; + $line->libelle=$prod->label; $line->product_desc=$prod->description; + $line->fk_unit=$prod->fk_unit; // Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) // Save the start and end date of the line in the object @@ -1408,6 +1475,8 @@ class Commande extends CommonOrder $sql.= ', c.fk_shipping_method'; $sql.= ', c.fk_projet, c.remise_percent, c.remise, c.remise_absolue, c.source, c.facture as billed'; $sql.= ', c.note_private, c.note_public, c.ref_client, c.ref_ext, c.ref_int, c.model_pdf, c.fk_delivery_address, c.extraparams'; + $sql.= ', c.fk_incoterms, c.location_incoterms'; + $sql.= ", i.libelle as libelle_incoterms"; $sql.= ', p.code as mode_reglement_code, p.libelle as mode_reglement_libelle'; $sql.= ', cr.code as cond_reglement_code, cr.libelle as cond_reglement_libelle, cr.libelle_facture as cond_reglement_libelle_doc'; $sql.= ', ca.code as availability_code'; @@ -1417,7 +1486,8 @@ class Commande extends CommonOrder $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON (c.fk_mode_reglement = p.id)'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_availability as ca ON (c.fk_availability = ca.rowid)'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_input_reason as dr ON (c.fk_input_reason = ca.rowid)'; - $sql.= " WHERE c.entity = ".$conf->entity; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON c.fk_incoterms = i.rowid'; + $sql.= " WHERE c.entity IN (".getEntity('commande', 1).")"; if ($id) $sql.= " AND c.rowid=".$id; if ($ref) $sql.= " AND c.ref='".$this->db->escape($ref)."'"; if ($ref_ext) $sql.= " AND c.ref_ext='".$this->db->escape($ref_ext)."'"; @@ -1472,13 +1542,18 @@ class Commande extends CommonOrder $this->shipping_method_id = ($obj->fk_shipping_method>0)?$obj->fk_shipping_method:null; $this->fk_delivery_address = $obj->fk_delivery_address; + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; + $this->extraparams = (array) json_decode($obj->extraparams, true); $this->lines = array(); - if ($this->statut == 0) $this->brouillon = 1; + if ($this->statut == self::STATUS_DRAFT) $this->brouillon = 1; - // Retreive all extrafield for invoice + // Retrieve all extrafields for invoice // fetch optionals attributes and labels require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $extrafields=new ExtraFields($this->db); @@ -1600,6 +1675,7 @@ class Commande extends CommonOrder $sql = 'SELECT l.rowid, l.fk_product, l.fk_parent_line, l.product_type, l.fk_commande, l.label as custom_label, l.description, l.price, l.qty, l.tva_tx,'; $sql.= ' l.localtax1_tx, l.localtax2_tx, l.fk_remise_except, l.remise_percent, l.subprice, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht, l.rang, l.info_bits, l.special_code,'; $sql.= ' l.total_ht, l.total_ttc, l.total_tva, l.total_localtax1, l.total_localtax2, l.date_start, l.date_end,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.ref as product_ref, p.description as product_desc, p.fk_product_type, p.label as product_label'; $sql.= ' FROM '.MAIN_DB_PREFIX.'commandedet as l'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON (p.rowid = l.fk_product)'; @@ -1620,12 +1696,12 @@ class Commande extends CommonOrder $line = new OrderLine($this->db); - $line->rowid = $objp->rowid; // \deprecated + $line->rowid = $objp->rowid; $line->id = $objp->rowid; $line->fk_commande = $objp->fk_commande; - $line->commande_id = $objp->fk_commande; // \deprecated + $line->commande_id = $objp->fk_commande; $line->label = $objp->custom_label; - $line->desc = $objp->description; // Description ligne + $line->desc = $objp->description; $line->product_type = $objp->product_type; $line->qty = $objp->qty; $line->tva_tx = $objp->tva_tx; @@ -1651,12 +1727,13 @@ class Commande extends CommonOrder $line->special_code = $objp->special_code; $line->fk_parent_line = $objp->fk_parent_line; - $line->ref = $objp->product_ref; // TODO deprecated + $line->ref = $objp->product_ref; $line->product_ref = $objp->product_ref; - $line->libelle = $objp->product_label; // TODO deprecated + $line->libelle = $objp->product_label; $line->product_label = $objp->product_label; - $line->product_desc = $objp->product_desc; // Description produit + $line->product_desc = $objp->product_desc; $line->fk_product_type = $objp->fk_product_type; // Produit ou service + $line->fk_unit = $objp->fk_unit; $line->date_start = $this->db->jdate($objp->date_start); $line->date_end = $this->db->jdate($objp->date_end); @@ -1714,7 +1791,7 @@ class Commande extends CommonOrder * @param int $filtre_statut Filter on status * @return int <0 if KO, Nb of lines found if OK * - * TODO deprecated, move to Shipping class + * TODO deprecate, move to Shipping class */ function loadExpeditions($filtre_statut=-1) { @@ -1761,7 +1838,7 @@ class Commande extends CommonOrder * * @return int Nb of shipments * - * TODO deprecated, move to Shipping class + * TODO deprecate, move to Shipping class */ function nb_expedition() { @@ -1787,9 +1864,9 @@ class Commande extends CommonOrder * @param int $filtre_statut Filtre sur statut * @return int 0 si OK, <0 si KO * - * TODO deprecated, move to Shipping class + * TODO deprecate, move to Shipping class */ - function livraison_array($filtre_statut=-1) + function livraison_array($filtre_statut=self::STATUS_CANCELED) { $delivery = new Livraison($this->db); $deliveryArray = $delivery->livraison_array($filtre_statut); @@ -1804,7 +1881,7 @@ class Commande extends CommonOrder * * TODO FONCTION NON FINIE A FINIR */ - function stock_array($filtre_statut=-1) + function stock_array($filtre_statut=self::STATUS_CANCELED) { $this->stocks = array(); @@ -1846,7 +1923,7 @@ class Commande extends CommonOrder { global $user; - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { $this->db->begin(); @@ -1929,7 +2006,7 @@ class Commande extends CommonOrder $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; $sql.= ' SET remise_percent = '.$remise; - $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut = 0 ;'; + $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut = '.self::STATUS_DRAFT.' ;'; if ($this->db->query($sql)) { @@ -1963,7 +2040,7 @@ class Commande extends CommonOrder $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; $sql.= ' SET remise_absolue = '.$remise; - $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut = 0 ;'; + $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut = '.self::STATUS_DRAFT.' ;'; dol_syslog(get_class($this)."::set_remise_absolue", LOG_DEBUG); @@ -1995,7 +2072,7 @@ class Commande extends CommonOrder { $sql = "UPDATE ".MAIN_DB_PREFIX."commande"; $sql.= " SET date_commande = ".($date ? $this->db->idate($date) : 'null'); - $sql.= " WHERE rowid = ".$this->id." AND fk_statut = 0"; + $sql.= " WHERE rowid = ".$this->id." AND fk_statut = ".self::STATUS_DRAFT; dol_syslog(get_class($this)."::set_date",LOG_DEBUG); $resql=$this->db->query($sql); @@ -2132,14 +2209,14 @@ class Commande extends CommonOrder if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.entity = ".$conf->entity; + $sql.= " WHERE c.entity IN (".getEntity('commande', 1).")"; $sql.= " AND c.fk_soc = s.rowid"; if (! $user->rights->societe->client->voir && ! $socid) //restriction { $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; } if ($socid) $sql.= " AND s.rowid = ".$socid; - if ($draft) $sql.= " AND c.fk_statut = 0"; + if ($draft) $sql.= " AND c.fk_statut = ".self::STATUS_DRAFT; if (is_object($excluser)) $sql.= " AND c.fk_user_author <> ".$excluser->id; $sql.= $this->db->order($sortfield,$sortorder); $sql.= $this->db->plimit($limit,$offset); @@ -2190,7 +2267,7 @@ class Commande extends CommonOrder function availability($availability_id) { dol_syslog('Commande::availability('.$availability_id.')'); - if ($this->statut >= 0) + if ($this->statut >= self::STATUS_DRAFT) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; $sql .= ' SET fk_availability = '.$availability_id; @@ -2224,7 +2301,7 @@ class Commande extends CommonOrder function demand_reason($demand_reason_id) { dol_syslog('Commande::demand_reason('.$demand_reason_id.')'); - if ($this->statut >= 0) + if ($this->statut >= self::STATUS_DRAFT) { $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande'; $sql .= ' SET fk_input_reason = '.$demand_reason_id; @@ -2295,7 +2372,7 @@ class Commande extends CommonOrder $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'commande SET facture = 1'; - $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut > 0'; + $sql.= ' WHERE rowid = '.$this->id.' AND fk_statut > '.self::STATUS_DRAFT; dol_syslog(get_class($this)."::classifyBilled", LOG_DEBUG); if ($this->db->query($sql)) @@ -2337,9 +2414,12 @@ class Commande extends CommonOrder * * @return int <0 if ko, >0 if ok * @deprecated + * @see classifyBilled() */ function classer_facturee() { + dol_syslog(__METHOD__ . " is deprecated", LOG_WARNING); + return $this->classifyBilled(); } @@ -2366,10 +2446,11 @@ class Commande extends CommonOrder * @param int $pa_ht Price (without tax) of product when it was bought * @param string $label Label * @param int $special_code Special code (also used by externals modules!) - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0,$txlocaltax2=0.0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $txtva, $txlocaltax1=0.0,$txlocaltax2=0.0, $price_base_type='HT', $info_bits=0, $date_start='', $date_end='', $type=0, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_options=0, $fk_unit=null) { global $conf, $mysoc; @@ -2389,6 +2470,7 @@ class Commande extends CommonOrder if (empty($remise)) $remise=0; if (empty($remise_percent)) $remise_percent=0; if (empty($special_code) || $special_code == 3) $special_code=0; + $remise_percent=price2num($remise_percent); $qty=price2num($qty); $pu = price2num($pu); @@ -2461,6 +2543,7 @@ class Commande extends CommonOrder $this->line->product_type=$type; $this->line->fk_parent_line=$fk_parent_line; $this->line->skip_update_total=$skip_update_total; + $this->line->fk_unit=$fk_unit; // infos marge if (!empty($fk_product) && empty($fk_fournprice) && empty($pa_ht)) { @@ -2478,8 +2561,8 @@ class Commande extends CommonOrder $this->line->price=$price; $this->line->remise=$remise; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->update(); @@ -2610,7 +2693,7 @@ class Commande extends CommonOrder $action='create'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('orderdao')); $parameters=array('id'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -2755,15 +2838,12 @@ class Commande extends CommonOrder * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Object user - * @return int <0 if KO, >0 if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT c.rowid, c.date_creation as datec, c.date_livraison as delivery_date, c.fk_statut"; @@ -2774,22 +2854,34 @@ class Commande extends CommonOrder $sql.= " WHERE sc.fk_user = " .$user->id; $clause = " AND"; } - $sql.= $clause." c.entity = ".$conf->entity; + $sql.= $clause." c.entity IN (".getEntity('commande', 1).")"; //$sql.= " AND c.fk_statut IN (1,2,3) AND c.facture = 0"; - $sql.= " AND ((c.fk_statut IN (1,2)) OR (c.fk_statut = 3 AND c.facture = 0))"; // If status is 2 and facture=1, it must be selected + $sql.= " AND ((c.fk_statut IN (".self::STATUS_VALIDATED.",".self::STATUS_ACCEPTED.")) OR (c.fk_statut = ".self::STATUS_CLOSED." AND c.facture = 0))"; // If status is 2 and facture=1, it must be selected if ($user->societe_id) $sql.=" AND c.fk_soc = ".$user->societe_id; $resql=$this->db->query($sql); if ($resql) { + $now=dol_now(); + + $response = new WorkboardResponse(); + $response->warning_delay=$conf->commande->client->warning_delay/60/60/24; + $response->label=$langs->trans("OrdersToProcess"); + $response->url=DOL_URL_ROOT.'/commande/list.php?viewstatut=-3'; + $response->img=img_object($langs->trans("Orders"),"order"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; + $response->nbtodo++; $date_to_test = empty($obj->delivery_date) ? $obj->datec : $obj->delivery_date; - if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) $this->nbtodolate++; + + if ($obj->fk_statut != 3 && $this->db->jdate($date_to_test) < ($now - $conf->commande->client->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { @@ -2838,57 +2930,57 @@ class Commande extends CommonOrder //print 'x'.$statut.'-'.$billed; if ($mode == 0) { - if ($statut==-1) return $langs->trans('StatusOrderCanceled'); - if ($statut==0) return $langs->trans('StatusOrderDraft'); - if ($statut==1) return $langs->trans('StatusOrderValidated'); - if ($statut==2) return $langs->trans('StatusOrderSentShort'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderToBill'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderProcessed'); + if ($statut==self::STATUS_CANCELED) return $langs->trans('StatusOrderCanceled'); + if ($statut==self::STATUS_DRAFT) return $langs->trans('StatusOrderDraft'); + if ($statut==self::STATUS_VALIDATED) return $langs->trans('StatusOrderValidated'); + if ($statut==self::STATUS_ACCEPTED) return $langs->trans('StatusOrderSentShort'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderToBill'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderProcessed'); } elseif ($mode == 1) { - if ($statut==-1) return $langs->trans('StatusOrderCanceledShort'); - if ($statut==0) return $langs->trans('StatusOrderDraftShort'); - if ($statut==1) return $langs->trans('StatusOrderValidatedShort'); - if ($statut==2) return $langs->trans('StatusOrderSentShort'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderToBillShort'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderProcessed'); + if ($statut==self::STATUS_CANCELED) return $langs->trans('StatusOrderCanceledShort'); + if ($statut==self::STATUS_DRAFT) return $langs->trans('StatusOrderDraftShort'); + if ($statut==self::STATUS_VALIDATED) return $langs->trans('StatusOrderValidatedShort'); + if ($statut==self::STATUS_ACCEPTED) return $langs->trans('StatusOrderSentShort'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderToBillShort'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return $langs->trans('StatusOrderProcessed'); } elseif ($mode == 2) { - if ($statut==-1) return img_picto($langs->trans('StatusOrderCanceled'),'statut5').' '.$langs->trans('StatusOrderCanceledShort'); - if ($statut==0) return img_picto($langs->trans('StatusOrderDraft'),'statut0').' '.$langs->trans('StatusOrderDraftShort'); - if ($statut==1) return img_picto($langs->trans('StatusOrderValidated'),'statut1').' '.$langs->trans('StatusOrderValidatedShort'); - if ($statut==2) return img_picto($langs->trans('StatusOrderSent'),'statut3').' '.$langs->trans('StatusOrderSentShort'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7').' '.$langs->trans('StatusOrderToBillShort'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6').' '.$langs->trans('StatusOrderProcessedShort'); + if ($statut==self::STATUS_CANCELED) return img_picto($langs->trans('StatusOrderCanceled'),'statut5').' '.$langs->trans('StatusOrderCanceledShort'); + if ($statut==self::STATUS_DRAFT) return img_picto($langs->trans('StatusOrderDraft'),'statut0').' '.$langs->trans('StatusOrderDraftShort'); + if ($statut==self::STATUS_VALIDATED) return img_picto($langs->trans('StatusOrderValidated'),'statut1').' '.$langs->trans('StatusOrderValidatedShort'); + if ($statut==self::STATUS_ACCEPTED) return img_picto($langs->trans('StatusOrderSent'),'statut3').' '.$langs->trans('StatusOrderSentShort'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7').' '.$langs->trans('StatusOrderToBillShort'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6').' '.$langs->trans('StatusOrderProcessedShort'); } elseif ($mode == 3) { - if ($statut==-1) return img_picto($langs->trans('StatusOrderCanceled'),'statut5'); - if ($statut==0) return img_picto($langs->trans('StatusOrderDraft'),'statut0'); - if ($statut==1) return img_picto($langs->trans('StatusOrderValidated'),'statut1'); - if ($statut==2) return img_picto($langs->trans('StatusOrderSentShort'),'statut3'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6'); + if ($statut==self::STATUS_CANCELED) return img_picto($langs->trans('StatusOrderCanceled'),'statut5'); + if ($statut==self::STATUS_DRAFT) return img_picto($langs->trans('StatusOrderDraft'),'statut0'); + if ($statut==self::STATUS_VALIDATED) return img_picto($langs->trans('StatusOrderValidated'),'statut1'); + if ($statut==self::STATUS_ACCEPTED) return img_picto($langs->trans('StatusOrderSentShort'),'statut3'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6'); } elseif ($mode == 4) { - if ($statut==-1) return img_picto($langs->trans('StatusOrderCanceled'),'statut5').' '.$langs->trans('StatusOrderCanceled'); - if ($statut==0) return img_picto($langs->trans('StatusOrderDraft'),'statut0').' '.$langs->trans('StatusOrderDraft'); - if ($statut==1) return img_picto($langs->trans('StatusOrderValidated'),'statut1').' '.$langs->trans('StatusOrderValidated'); - if ($statut==2) return img_picto($langs->trans('StatusOrderSentShort'),'statut3').' '.$langs->trans('StatusOrderSent'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7').' '.$langs->trans('StatusOrderToBill'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6').' '.$langs->trans('StatusOrderProcessed'); + if ($statut==self::STATUS_CANCELED) return img_picto($langs->trans('StatusOrderCanceled'),'statut5').' '.$langs->trans('StatusOrderCanceled'); + if ($statut==self::STATUS_DRAFT) return img_picto($langs->trans('StatusOrderDraft'),'statut0').' '.$langs->trans('StatusOrderDraft'); + if ($statut==self::STATUS_VALIDATED) return img_picto($langs->trans('StatusOrderValidated'),'statut1').' '.$langs->trans('StatusOrderValidated'); + if ($statut==self::STATUS_ACCEPTED) return img_picto($langs->trans('StatusOrderSentShort'),'statut3').' '.$langs->trans('StatusOrderSent'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderToBill'),'statut7').' '.$langs->trans('StatusOrderToBill'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return img_picto($langs->trans('StatusOrderProcessed'),'statut6').' '.$langs->trans('StatusOrderProcessed'); } elseif ($mode == 5) { - if ($statut==-1) return ''.$langs->trans('StatusOrderCanceledShort').' '.img_picto($langs->trans('StatusOrderCanceled'),'statut5'); - if ($statut==0) return ''.$langs->trans('StatusOrderDraftShort').' '.img_picto($langs->trans('StatusOrderDraft'),'statut0'); - if ($statut==1) return ''.$langs->trans('StatusOrderValidatedShort').' '.img_picto($langs->trans('StatusOrderValidated'),'statut1'); - if ($statut==2) return ''.$langs->trans('StatusOrderSentShort').' '.img_picto($langs->trans('StatusOrderSent'),'statut3'); - if ($statut==3 && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return ''.$langs->trans('StatusOrderToBillShort').' '.img_picto($langs->trans('StatusOrderToBill'),'statut7'); - if ($statut==3 && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return ''.$langs->trans('StatusOrderProcessedShort').' '.img_picto($langs->trans('StatusOrderProcessed'),'statut6'); + if ($statut==self::STATUS_CANCELED) return ''.$langs->trans('StatusOrderCanceledShort').' '.img_picto($langs->trans('StatusOrderCanceled'),'statut5'); + if ($statut==self::STATUS_DRAFT) return ''.$langs->trans('StatusOrderDraftShort').' '.img_picto($langs->trans('StatusOrderDraft'),'statut0'); + if ($statut==self::STATUS_VALIDATED) return ''.$langs->trans('StatusOrderValidatedShort').' '.img_picto($langs->trans('StatusOrderValidated'),'statut1'); + if ($statut==self::STATUS_ACCEPTED) return ''.$langs->trans('StatusOrderSentShort').' '.img_picto($langs->trans('StatusOrderSent'),'statut3'); + if ($statut==self::STATUS_CLOSED && (! $billed && empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return ''.$langs->trans('StatusOrderToBillShort').' '.img_picto($langs->trans('StatusOrderToBill'),'statut7'); + if ($statut==self::STATUS_CLOSED && ($billed || ! empty($conf->global->WORKFLOW_BILL_ON_SHIPMENT))) return ''.$langs->trans('StatusOrderProcessedShort').' '.img_picto($langs->trans('StatusOrderProcessed'),'statut6'); } } @@ -2913,13 +3005,23 @@ class Commande extends CommonOrder if ($short) return $url; - $linkstart = ''; + $picto = 'order'; + $label = '' . $langs->trans("ShowOrder") . ''; + if (! empty($this->ref)) + $label .= '
' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->ref_client)) + $label.= '
' . $langs->trans('RefCustomer') . ': ' . $this->ref_client; + if (! empty($this->total_ht)) + $label.= '
' . $langs->trans('AmountHT') . ': ' . price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_tva)) + $label.= '
' . $langs->trans('TVA') . ': ' . price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_ttc)) + $label.= '
' . $langs->trans('AmountTTC') . ': ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); + + $linkstart = '
'; $linkend=''; - $picto='order'; - $label=$langs->trans("ShowOrder").': '.$this->ref; - - if ($withpicto) $result.=($linkstart.img_object($label,$picto).$linkend); + if ($withpicto) $result.=($linkstart.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; $result.=$linkstart.$this->ref.$linkend; return $result; @@ -3089,7 +3191,7 @@ class Commande extends CommonOrder $sql.= " WHERE sc.fk_user = " .$user->id; $clause = "AND"; } - $sql.= " ".$clause." co.entity = ".$conf->entity; + $sql.= " ".$clause." co.entity IN (".getEntity('commande', 1).")"; $resql=$this->db->query($sql); if ($resql) @@ -3122,8 +3224,10 @@ class Commande extends CommonOrder $sql.= ' l.fk_remise_except, l.remise_percent, l.subprice, l.info_bits, l.rang, l.special_code, l.fk_parent_line,'; $sql.= ' l.total_ht, l.total_tva, l.total_ttc, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht, l.localtax1_tx, l.localtax2_tx,'; $sql.= ' l.date_start, l.date_end,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.label as product_label, p.ref, p.fk_product_type, p.rowid as prodid, '; - $sql.= ' p.description as product_desc, p.stock as stock_reel'; + $sql.= ' p.description as product_desc, p.stock as stock_reel,'; + $sql.= ' p.entity'; $sql.= ' FROM '.MAIN_DB_PREFIX.'commandedet as l'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product=p.rowid'; $sql.= ' WHERE l.fk_commande = '.$this->id; @@ -3145,6 +3249,7 @@ class Commande extends CommonOrder $this->lines[$i]->description = $obj->description; $this->lines[$i]->fk_product = $obj->fk_product; $this->lines[$i]->ref = $obj->ref; + $this->lines[$i]->entity = $obj->entity; // Product entity $this->lines[$i]->product_label = $obj->product_label; $this->lines[$i]->product_desc = $obj->product_desc; $this->lines[$i]->fk_product_type = $obj->fk_product_type; @@ -3169,6 +3274,7 @@ class Commande extends CommonOrder $this->lines[$i]->pa_ht = $marginInfos[0]; $this->lines[$i]->marge_tx = $marginInfos[1]; $this->lines[$i]->marque_tx = $marginInfos[2]; + $this->lines[$i]->fk_unit = $obj->fk_unit; $i++; } @@ -3218,6 +3324,23 @@ class Commande extends CommonOrder return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'commande' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } @@ -3226,56 +3349,46 @@ class Commande extends CommonOrder */ class OrderLine extends CommonOrderLine { - var $db; - var $error; - public $element='commandedet'; public $table_element='commandedet'; var $oldline; + /** + * Id of parent order + * @var int + */ + public $fk_commande; + + /** + * Id of parent order + * @var int + * @deprecated Use fk_commande + * @see fk_commande + */ + public $commande_id; + // From llx_commandedet - var $rowid; var $fk_parent_line; var $fk_facture; var $label; - var $desc; // Description ligne - var $fk_product; // Id produit predefini - var $product_type = 0; // Type 0 = product, 1 = Service - - var $qty; // Quantity (example 2) - var $tva_tx; // VAT Rate for product/service (example 19.6) - var $localtax1_tx; // Local tax 1 - var $localtax2_tx; // Local tax 2 - var $localtax1_type; // Local tax 1 type - var $localtax2_type; // Local tax 2 type - var $subprice; // U.P. HT (example 100) - var $remise_percent; // % for line discount (example 20%) var $fk_remise_except; var $rang = 0; var $fk_fournprice; + + /** + * Buy price without taxes + * @var float + */ var $pa_ht; var $marge_tx; var $marque_tx; - var $info_bits = 0; // Bit 0: 0 si TVA normal - 1 si TVA NPR - // Bit 1: 0 ligne normale - 1 si ligne de remise fixe - var $special_code = 0; - var $total_ht; // Total HT de la ligne toute quantite et incluant la remise ligne - var $total_tva; // Total TVA de la ligne toute quantite et incluant la remise ligne - var $total_localtax1; // Total local tax 1 for the line - var $total_localtax2; // Total local tax 2 for the line - var $total_ttc; // Total TTC de la ligne toute quantite et incluant la remise ligne - // Ne plus utiliser - var $remise; - var $price; - - // From llx_product - var $ref; // deprecated - var $libelle; // deprecated - var $product_ref; - var $product_label; // Label produit - var $product_desc; // Description produit + /** + * @deprecated + * @see remise_percent, fk_remise_except + */ + var $remise; // Added by Matelli (See http://matelli.fr/showcases/patchs-dolibarr/add-dates-in-order-lines.html) // Start and end date of the line @@ -3306,6 +3419,7 @@ class OrderLine extends CommonOrderLine $sql = 'SELECT cd.rowid, cd.fk_commande, cd.fk_parent_line, cd.fk_product, cd.product_type, cd.label as custom_label, cd.description, cd.price, cd.qty, cd.tva_tx, cd.localtax1_tx, cd.localtax2_tx,'; $sql.= ' cd.remise, cd.remise_percent, cd.fk_remise_except, cd.subprice,'; $sql.= ' cd.info_bits, cd.total_ht, cd.total_tva, cd.total_localtax1, cd.total_localtax2, cd.total_ttc, cd.fk_product_fournisseur_price as fk_fournprice, cd.buy_price_ht as pa_ht, cd.rang, cd.special_code,'; + $sql.= ' cd.fk_unit,'; $sql.= ' p.ref as product_ref, p.label as product_libelle, p.description as product_desc,'; $sql.= ' cd.date_start, cd.date_end'; $sql.= ' FROM '.MAIN_DB_PREFIX.'commandedet as cd'; @@ -3351,6 +3465,7 @@ class OrderLine extends CommonOrderLine $this->libelle = $objp->product_libelle; // deprecated $this->product_label = $objp->product_libelle; $this->product_desc = $objp->product_desc; + $this->fk_unit = $objp->fk_unit; $this->date_start = $this->db->jdate($objp->date_start); $this->date_end = $this->db->jdate($objp->date_end); @@ -3467,7 +3582,8 @@ class OrderLine extends CommonOrderLine $sql.= ' tva_tx, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type,'; $sql.= ' fk_product, product_type, remise_percent, subprice, price, remise, fk_remise_except,'; $sql.= ' special_code, rang, fk_product_fournisseur_price, buy_price_ht,'; - $sql.= ' info_bits, total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, date_start, date_end)'; + $sql.= ' info_bits, total_ht, total_tva, total_localtax1, total_localtax2, total_ttc, date_start, date_end,'; + $sql.= ' fk_unit)'; $sql.= " VALUES (".$this->fk_commande.","; $sql.= " ".($this->fk_parent_line>0?"'".$this->fk_parent_line."'":"null").","; $sql.= " ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null").","; @@ -3496,7 +3612,8 @@ class OrderLine extends CommonOrderLine $sql.= " '".price2num($this->total_localtax2)."',"; $sql.= " '".price2num($this->total_ttc)."',"; $sql.= " ".(! empty($this->date_start)?"'".$this->db->idate($this->date_start)."'":"null").','; - $sql.= " ".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null"); + $sql.= " ".(! empty($this->date_end)?"'".$this->db->idate($this->date_end)."'":"null").','; + $sql.= ' '.(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= ')'; dol_syslog(get_class($this)."::insert", LOG_DEBUG); @@ -3515,7 +3632,7 @@ class OrderLine extends CommonOrderLine } } - if (! $notrigger) + if (! $error && ! $notrigger) { // Call trigger $result=$this->call_trigger('LINEORDER_INSERT',$user); @@ -3614,6 +3731,7 @@ class OrderLine extends CommonOrderLine $sql.= " , product_type=".$this->product_type; $sql.= " , fk_parent_line=".(! empty($this->fk_parent_line)?$this->fk_parent_line:"null"); if (! empty($this->rang)) $sql.= ", rang=".$this->rang; + $sql.= " , fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid = ".$this->rowid; dol_syslog(get_class($this)."::update", LOG_DEBUG); diff --git a/htdocs/commande/customer.php b/htdocs/commande/customer.php index 333ce5f7908..391962c98cb 100644 --- a/htdocs/commande/customer.php +++ b/htdocs/commande/customer.php @@ -73,7 +73,7 @@ if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."c_stcomm as st, ".MAIN_DB_PREFIX."commande as c"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.fk_stcomm = st.id AND c.fk_soc = s.rowid"; -$sql.= " AND s.entity = ".$conf->entity; +$sql.= " AND s.entity IN (".getEntity('societe', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (dol_strlen($stcomm)) { @@ -158,12 +158,12 @@ if ($resql) print ''; $result=''; - $lien=$lienfin=''; - $lien = ''; - $lienfin=''; + $link=$linkend=''; + $link = ''; + $linkend=''; $name=$obj->name; - $result.=($lien.img_object($langs->trans("ShowCompany").': '.$name,'company').$lienfin); - $result.=$lien.(dol_trunc($name,$maxlen)).$lienfin; + $result.=($link.img_object($langs->trans("ShowCompany").': '.$name,'company').$linkend); + $result.=$link.(dol_trunc($name,$maxlen)).$linkend; print $result; print ''; diff --git a/htdocs/commande/index.php b/htdocs/commande/index.php index fac4da390ad..7957803a5d5 100644 --- a/htdocs/commande/index.php +++ b/htdocs/commande/index.php @@ -82,7 +82,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."commande as c"; 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('societe', 1).")"; if ($user->societe_id) $sql.=' AND c.fk_soc = '.$user->societe_id; if (! $user->rights->societe->client->voir && ! $socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; $sql.= " GROUP BY c.fk_statut, c.facture"; @@ -115,7 +115,7 @@ if ($resql) $i++; } $db->free($resql); - print ''; + print '
'; print ''."\n"; $listofstatus=array(0,1,2,3,3,-1); $bool=false; @@ -171,7 +171,7 @@ if (! empty($conf->commande->enabled)) $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('commande', 1).")"; $sql.= " AND c.fk_statut = 0"; if ($socid) $sql.= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -220,7 +220,7 @@ $sql.= " FROM ".MAIN_DB_PREFIX."commande 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('commande', 1).")"; //$sql.= " AND c.fk_statut > 2"; if ($socid) $sql .= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -290,7 +290,7 @@ if (! empty($conf->commande->enabled)) $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('commande', 1).")"; $sql.= " AND c.fk_statut = 1"; if ($socid) $sql.= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -303,7 +303,7 @@ if (! empty($conf->commande->enabled)) print '
'.$langs->trans("Statistics").' - '.$langs->trans("CustomersOrders").'
'; print ''; - print ''; + print ''; if ($num) { @@ -361,7 +361,7 @@ if (! empty($conf->commande->enabled)) $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('commande', 1).")"; $sql.= " AND c.fk_statut = 2 "; if ($socid) $sql.= " AND c.fk_soc = ".$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -374,7 +374,7 @@ if (! empty($conf->commande->enabled)) print '
'.$langs->trans("OrdersToProcess").' ('.$num.')
'.$langs->trans("OrdersToProcess").' '.$num.'
'; print ''; - print ''; + print ''; if ($num) { diff --git a/htdocs/commande/list.php b/htdocs/commande/list.php index 07826c68445..351a4171dd6 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -6,7 +6,9 @@ * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Frederic France * Copyright (C) 2015 Marcos García + * Copyright (C) 2015 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 @@ -51,6 +53,7 @@ $sall=GETPOST('sall'); $socid=GETPOST('socid','int'); $search_user=GETPOST('search_user','int'); $search_sale=GETPOST('search_sale','int'); +$search_total_ht=GETPOST('search_total_ht','alpha'); // Security check $id = (GETPOST('orderid')?GETPOST('orderid'):GETPOST('id','int')); @@ -79,6 +82,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_ref=''; $search_ref_customer=''; $search_company=''; + $search_total_ht=''; $orderyear=''; $ordermonth=''; $deliverymonth=''; @@ -96,6 +100,7 @@ $parameters=array('socid'=>$socid); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + /* * View */ @@ -110,7 +115,7 @@ $companystatic = new Societe($db); $help_url="EN:Module_Customers_Orders|FR:Module_Commandes_Clients|ES:Módulo_Pedidos_de_clientes"; llxHeader('',$langs->trans("Orders"),$help_url); -$sql = 'SELECT s.nom as name, s.rowid as socid, s.client, c.rowid, c.ref, c.total_ht, c.ref_client,'; +$sql = 'SELECT s.nom as name, s.rowid as socid, s.client, s.code_client, c.rowid, c.ref, c.total_ht, c.tva as total_tva, c.total_ttc, c.ref_client,'; $sql.= ' c.date_valid, c.date_commande, c.note_private, c.date_livraison as date_delivery, c.fk_statut, c.facture as facturee'; $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s'; $sql.= ', '.MAIN_DB_PREFIX.'commande as c'; @@ -122,7 +127,7 @@ if ($search_user > 0) $sql.=", ".MAIN_DB_PREFIX."c_type_contact as tc"; } $sql.= ' WHERE c.fk_soc = s.rowid'; -$sql.= ' AND c.entity = '.$conf->entity; +$sql.= ' AND c.entity IN ('.getEntity('commande', 1).')'; if ($socid) $sql.= ' AND s.rowid = '.$socid; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($search_ref) { @@ -198,7 +203,10 @@ if ($search_user > 0) { $sql.= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='commande' AND tc.source='internal' AND ec.element_id = c.rowid AND ec.fk_socpeople = ".$search_user; } - +if ($search_total_ht != '') +{ + $sql.= natural_search('c.total_ht', $search_total_ht, 1); +} $sql.= ' ORDER BY '.$sortfield.' '.$sortorder; $nbtotalofrecords = 0; @@ -252,9 +260,10 @@ if ($resql) if ($search_ref_customer) $param.='&search_ref_customer='.$search_ref_customer; if ($search_user > 0) $param.='&search_user='.$search_user; if ($search_sale > 0) $param.='&search_sale='.$search_sale; + if ($search_total_ht != '') $param.='&search_total_ht='.$search_total_ht; $num = $db->num_rows($resql); - print_barre_liste($title, $page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + print_barre_liste($title, $page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_commercial.png'); $i = 0; // Lignes des champs de filtre @@ -316,7 +325,9 @@ if ($resql) print ''; $formother->select_year($deliveryyear?$deliveryyear:-1,'deliveryyear',1, 20, 5); print ''; - print ''; + print ''; print '\n"; @@ -328,7 +339,8 @@ if ($resql) $generic_commande = new Commande($db); $generic_product = new Product($db); - while ($i < min($num,$limit)) { + while ($i < min($num,$limit)) + { $objp = $db->fetch_object($resql); $var=!$var; print ''; @@ -336,6 +348,10 @@ if ($resql) $generic_commande->id=$objp->rowid; $generic_commande->ref=$objp->ref; + $generic_commande->ref_client = $objp->ref_client; + $generic_commande->total_ht = $objp->total_ht; + $generic_commande->total_tva = $objp->total_tva; + $generic_commande->total_ttc = $objp->total_ttc; $generic_commande->lines=array(); $generic_commande->getLinesArray(); @@ -354,7 +370,7 @@ if ($resql) $nbprod++; // order contains real products $generic_product->id = $generic_commande->lines[$lig]->fk_product; if (empty($productstat_cache[$generic_commande->lines[$lig]->fk_product])) { - $generic_product->load_stock(true); + $generic_product->load_stock(); $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stock_reel'] = $generic_product->stock_reel; } else { $generic_product->stock_reel = $productstat_cache[$generic_commande->lines[$lig]->fk_product]['stock_reel']; @@ -441,6 +457,7 @@ if ($resql) // Company $companystatic->id=$objp->socid; + $companystatic->code_client = $objp->code_client; $companystatic->name=$objp->name; $companystatic->client=$objp->client; print ''; print "
'.$langs->trans("OnProcessOrders").' ('.$num.')
'.$langs->trans("OnProcessOrders").' '.$num.'
 '; + print ''; + print ''; print ''; print "
'; diff --git a/htdocs/commande/orderstoinvoice.php b/htdocs/commande/orderstoinvoice.php index 930fee833fa..e75a9dda73b 100644 --- a/htdocs/commande/orderstoinvoice.php +++ b/htdocs/commande/orderstoinvoice.php @@ -412,7 +412,7 @@ if ($action == 'create' && !$error) // Standard invoice print '
'; - print ''; + print ''; print ''; $desc=$html->textwithpicto($langs->trans("InvoiceStandardAsk"),$langs->transnoentities("InvoiceStandardDesc"),1); print $desc; @@ -496,26 +496,25 @@ if ($action == 'create' && !$error) } // Button "Create Draft" - print '
'; + print '
'; print "\n"; print '
\n"; } - //Mode liste -if (($action != 'create' && $action != 'add') || !$error) +if (($action != 'create' && $action != 'add') && !$error) { llxHeader(); ?> @@ -526,7 +525,7 @@ if (($action != 'create' && $action != 'add') || !$error) $sql.= ' FROM '.MAIN_DB_PREFIX.'societe as s'; $sql.= ', '.MAIN_DB_PREFIX.'commande as c'; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= ' WHERE c.entity = '.$conf->entity; + $sql.= ' WHERE c.entity IN ('.getEntity('commande', 1).')'; $sql.= ' AND c.fk_soc = s.rowid'; // Show orders with status validated, shipping started and delivered (well any order we can bill) @@ -655,12 +654,12 @@ if (($action != 'create' && $action != 'add') || !$error) print ''.$objp->ref_client.''; // Order date - print ''; + print ''; print dol_print_date($db->jdate($objp->date_commande),'day'); print ''; //Delivery date - print ''; + print ''; print dol_print_date($db->jdate($objp->date_livraison),'day'); print ''; @@ -683,7 +682,7 @@ if (($action != 'create' && $action != 'add') || !$error) /* * Boutons actions */ - print '

'.$langs->trans("CloseProcessedOrdersAutomatically"); + print '
'.$langs->trans("CloseProcessedOrdersAutomatically"); print '
'; print ''; print ''; @@ -691,6 +690,7 @@ if (($action != 'create' && $action != 'add') || !$error) //print ''.$langs->trans("GoBack").''; print ''; print '
'; + print '
'; print ''; $db->free($resql); } diff --git a/htdocs/commande/stats/index.php b/htdocs/commande/stats/index.php index fcc33a666d2..71558be0e57 100644 --- a/htdocs/commande/stats/index.php +++ b/htdocs/commande/stats/index.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2012 Marcos García + * Copyright (C) 2015 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 @@ -76,7 +77,7 @@ if ($mode == 'supplier') $dir=$conf->fournisseur->dir_output.'/commande/temp'; } -print_fiche_titre($title); +print_fiche_titre($title,'','title_commercial.png'); dol_mkdir($dir); diff --git a/htdocs/commande/tpl/linkedobjectblock.tpl.php b/htdocs/commande/tpl/linkedobjectblock.tpl.php index c47aefe0958..2eb94d7974a 100644 --- a/htdocs/commande/tpl/linkedobjectblock.tpl.php +++ b/htdocs/commande/tpl/linkedobjectblock.tpl.php @@ -30,12 +30,13 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("orders"); echo '
'; -print_titre($langs->trans('RelatedOrders')); +print_titre($langs->trans('RelatedCustomerOrders')); ?> + @@ -47,8 +48,9 @@ foreach($linkedObjectBlock as $object) { $var=!$var; ?> - > + > + + - + '; + print ''; print ''; // Label - print ''; + print ''; print ''; print '
trans("Ref"); ?>trans("RefCustomer"); ?> trans("Date"); ?> trans("AmountHTShort"); ?> trans("Status"); ?>
- trans("ShowOrder"),"order").' '.$object->ref; ?>
getNomUrl(1); ?>ref_client; ?> date,'day'); ?> rights->commande->lire) { @@ -62,7 +64,7 @@ foreach($linkedObjectBlock as $object) ?>
trans('TotalHT'); ?>trans('TotalHT'); ?> rights->commande->lire) { echo price($total); diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 024e21510e1..f2a7649166a 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -6,7 +6,8 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent * Copyright (C) 2012-2014 Marcos García - * Copyright (C) 2011-2014 Alexandre Spangaro + * Copyright (C) 2011-2015 Alexandre Spangaro + * Copyright (C) 2015 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -37,6 +38,9 @@ require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php' require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; @@ -44,6 +48,10 @@ $langs->load("banks"); $langs->load("categories"); $langs->load("bills"); $langs->load("companies"); +$langs->load("salaries"); +$langs->load("loan"); +$langs->load("donations"); +$langs->load("trips"); $id = (GETPOST('id','int') ? GETPOST('id','int') : GETPOST('account','int')); $ref = GETPOST('ref','alpha'); @@ -63,6 +71,15 @@ $req_desc=GETPOST("req_desc",'',3); $req_debit=GETPOST("req_debit",'',3); $req_credit=GETPOST("req_credit",'',3); +$req_stdtmonth=GETPOST('req_stdtmonth', 'int'); +$req_stdtday=GETPOST('req_stdtday', 'int'); +$req_stdtyear=GETPOST('req_stdtyear', 'int'); +$req_stdt = dol_mktime(0, 0, 0, $req_stdtmonth, $req_stdtday, $req_stdtyear); +$req_enddtmonth=GETPOST('req_enddtmonth', 'int'); +$req_enddtday=GETPOST('req_enddtday', 'int'); +$req_enddtyear=GETPOST('req_enddtyear', 'int'); +$req_enddt = dol_mktime(23, 59, 59, $req_enddtmonth, $req_enddtday, $req_enddtyear); + $vline=GETPOST("vline"); $page=GETPOST('page','int'); $negpage=GETPOST('negpage','int'); @@ -74,6 +91,24 @@ if ($negpage) $object = new Account($db); +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +{ + $paiementtype=""; + $req_nb=""; + $thirdparty=""; + $req_desc=""; + $req_debit=""; + $req_credit=""; + $req_stdtmonth=""; + $req_stdtday=""; + $req_stdtyear=""; + $req_stdt = ""; + $req_enddtmonth=""; + $req_enddtday=""; + $req_enddtyear=""; + $req_enddt = ""; +} + /* * Action */ @@ -143,16 +178,19 @@ if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->banque->m * View */ -llxHeader(); +llxHeader('',$langs->trans("FinancialAccount").'-'.$langs->trans("Transactions")); $societestatic=new Societe($db); $userstatic=new User($db); $chargestatic=new ChargeSociales($db); +$loanstatic=new Loan($db); $memberstatic=new Adherent($db); $paymentstatic=new Paiement($db); $paymentsupplierstatic=new PaiementFourn($db); $paymentvatstatic=new TVA($db); $paymentsalstatic=new PaymentSalary($db); +$donstatic=new Don($db); +$expensereportstatic=new ExpenseReport($db); $bankstatic=new Account($db); $banklinestatic=new AccountLine($db); @@ -185,7 +223,7 @@ if ($id > 0 || ! empty($ref)) $var=True; $num = $db->num_rows($result); $i = 0; - $options = ''; + $options = ''; while ($i < $num) { $obj = $db->fetch_object($result); @@ -236,6 +274,27 @@ if ($id > 0 || ! empty($ref)) $param.='&paiementtype='.urlencode($paiementtype); $mode_search = 1; } + + if ($req_stdt && $req_enddt) + { + $sql_rech.=" AND (b.datev BETWEEN '".$db->escape($db->idate($req_stdt))."' AND '".$db->escape($db->idate($req_enddt))."')"; + $param.='&req_stdtmonth='.$req_stdtmonth.'&req_stdtyear='.$req_stdtyear.'&req_stdtday='.$req_stdtday; + $param.='&req_enddtmonth='.$req_enddtmonth.'&req_enddtday='.$req_enddtday.'&req_enddtyear='.$req_enddtyear; + $mode_search = 1; + } + elseif ($req_stdt) + { + $sql_rech.=" AND b.datev >= '".$db->escape($db->idate($req_stdt))."'"; + $param.='&req_stdtmonth='.$req_stdtmonth.'&req_stdtyear='.$req_stdtyear.'&req_stdtday='.$req_stdtday; + $mode_search = 1; + } + elseif ($req_enddt) + { + $sql_rech.=" AND b.datev <= '".$db->escape($db->idate($req_enddt))."'"; + $param.='&req_enddtmonth='.$req_enddtmonth.'&req_enddtday='.$req_enddtday.'&req_enddtyear='.$req_enddtyear; + $mode_search = 1; + } + $sql = "SELECT count(*) as total"; $sql.= " FROM ".MAIN_DB_PREFIX."bank_account as ba"; @@ -247,7 +306,7 @@ if ($id > 0 || ! empty($ref)) } $sql.= " WHERE b.fk_account = ".$object->id; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= $sql_rech; dol_syslog("account.php count transactions -", LOG_DEBUG); @@ -296,19 +355,65 @@ if ($id > 0 || ! empty($ref)) $linkback = ''.$langs->trans("BackToList").''; // Ref - print '
'.$langs->trans("Ref").'
'.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref'); print '
'.$langs->trans("Label").'
'.$langs->trans("Label").''.$object->label.'
'; - print '
'; + dol_fiche_end(); + + + /* + * Boutons actions + */ + + if ($action != 'delete') + { + print '
'; + + if ($object->type != 2 && $object->rappro) // If not cash account and can be reconciliate + { + if ($user->rights->banque->consolidate) + { + print ''.$langs->trans("Conciliate").''; + } + else + { + print ''.$langs->trans("Conciliate").''; + } + } + + if ($action != 'addline') + { + if (empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) + { + if ($user->rights->banque->modifier) + { + print 'id.'&page='.$page.($vline?'&vline='.$vline:'').'">'.$langs->trans("AddBankRecord").''; + } + else + { + print ''.$langs->trans("AddBankRecord").''; + } + } + else + { + print ''.$langs->trans("AddBankRecord").''; + } + } + + print '
'; + } + + print '
'; + /** * Search form */ @@ -335,7 +440,13 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; print ''; - + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $navig ='
'; if ($limitsql > $viewline) $navig.=''.img_previous().''; $navig.= ' "; // ' Page '; @@ -347,15 +458,15 @@ if ($id > 0 || ! empty($ref)) } $navig.='
'; + //var_dump($navig); - print ''; - - // Show title if ($action != 'addline' && $action != 'delete') { - print ''; + print '
'.$navig.'
'; } + + print '
'.$navig.'
'; // Form to add a transaction with no invoice if ($user->rights->banque->modifier && $action == 'addline') @@ -387,7 +498,7 @@ if ($id > 0 || ! empty($ref)) print ''; if ($nbcategories) { - print '
'.$langs->trans("Category").': '; + print '
'.$langs->trans("Rubrique").': '; } print ''; print ''; @@ -426,9 +537,12 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; + $period_filter .= $langs->trans('From').' '.$form->select_date($req_stdt,'req_stdt',0,0,1,null,1,1,1); + $period_filter .= '
'. $langs->trans('to').' '.$form->select_date($req_enddt,'req_enddt',0,0,1,null,1,1,1); + print ''; print ''; - print ''; + print ''; print ''; print ''; print ''; - print ''; + print ''; print "\n"; @@ -492,7 +609,7 @@ if ($id > 0 || ! empty($ref)) } $sql.= " WHERE b.fk_account=".$object->id; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= $sql_rech; $sql.= $db->order("b.datev, b.datec", "ASC"); // We add date of creation to have correct order when everything is done the same day $sql.= $db->plimit($limitsql, 0); @@ -510,7 +627,7 @@ if ($id > 0 || ! empty($ref)) $var=true; $num = $db->num_rows($result); - $i = 0; $total = 0; $sep = -1; + $i = 0; $total = 0; $sep = -1; $total_deb=0; $total_cred=0; while ($i < $num) { @@ -606,6 +723,24 @@ if ($id > 0 || ! empty($ref)) $paymentsalstatic->ref=$links[$key]['url_id']; print ' '.$paymentsalstatic->getNomUrl(2); } + elseif ($links[$key]['type']=='payment_loan') + { + print ''; + print ' '.img_object($langs->trans('ShowPayment'),'payment').' '; + print ''; + } + elseif ($links[$key]['type']=='payment_donation') + { + print ''; + print ' '.img_object($langs->trans('ShowPayment'),'payment').' '; + print ''; + } + elseif ($links[$key]['type']=='payment_expensereport') + { + print ''; + print ' '.img_object($langs->trans('ShowPayment'),'payment').' '; + print ''; + } elseif ($links[$key]['type']=='banktransfert') { // Do not show link to transfer since there is no transfer card (avoid confusion). Can already be accessed from transaction detail. @@ -705,6 +840,21 @@ if ($id > 0 || ! empty($ref)) $chargestatic->ref=$chargestatic->lib; print $chargestatic->getNomUrl(1,16); } + else if ($links[$key]['type']=='loan') + { + $loanstatic->id=$links[$key]['url_id']; + if (preg_match('/^\((.*)\)$/i',$links[$key]['label'],$reg)) + { + if ($reg[1]=='loan') $reg[1]='Loan'; + $loanstatic->label=$langs->trans($reg[1]); + } + else + { + $loanstatic->label=$links[$key]['label']; + } + $loanstatic->ref=$loanstatic->label; + print $loanstatic->getLinkUrl(1,16); + } else if ($links[$key]['type']=='member') { $memberstatic->id=$links[$key]['url_id']; @@ -718,10 +868,12 @@ if ($id > 0 || ! empty($ref)) if ($objp->amount < 0) { print ''."\n"; + $total_deb +=$objp->amount; } else { print ''."\n"; + $total_cred +=$objp->amount; } // Balance @@ -729,11 +881,11 @@ if ($id > 0 || ! empty($ref)) { if ($total >= 0) { - print ''; + print ''; } else { - print ''; + print ''; } } else @@ -744,7 +896,7 @@ if ($id > 0 || ! empty($ref)) // Transaction reconciliated or edit link if ($objp->rappro && $object->canBeConciliated() > 0) // If line not conciliated and account can be conciliated { - print ''; - print ''; + print ''; + print ''; + print ''; + } else { + // Only total according row displays + print ''; + print ''; + print ''; + print ''; print ''; print ''; } @@ -812,51 +976,6 @@ if ($id > 0 || ! empty($ref)) print "\n"; - dol_fiche_end(); - - - /* - * Boutons actions - */ - - if ($action != 'delete') - { - print '
'; - - if ($object->type != 2 && $object->rappro) // If not cash account and can be reconciliate - { - if ($user->rights->banque->consolidate) - { - print ''.$langs->trans("Conciliate").''; - } - else - { - print ''.$langs->trans("Conciliate").''; - } - } - - if ($action != 'addline') - { - if (empty($conf->global->BANK_DISABLE_DIRECT_INPUT)) - { - if ($user->rights->banque->modifier) - { - print 'id.'&page='.$page.($vline?'&vline='.$vline:'').'">'.$langs->trans("AddBankRecord").''; - } - else - { - print ''.$langs->trans("AddBankRecord").''; - } - } - else - { - print ''.$langs->trans("AddBankRecord").''; - } - } - - print '
'; - } - print '
'; } else diff --git a/htdocs/compta/bank/annuel.php b/htdocs/compta/bank/annuel.php index 30cf5b9c5ac..68ef0a42e32 100644 --- a/htdocs/compta/bank/annuel.php +++ b/htdocs/compta/bank/annuel.php @@ -80,7 +80,7 @@ $sql.= ", date_format(b.dateo,'%Y-%m') as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; -$sql.= " AND ba.entity = ".$conf->entity; +$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.amount >= 0"; if (! empty($id)) $sql .= " AND b.fk_account IN (".$db->escape($id).")"; @@ -108,7 +108,7 @@ $sql.= ", date_format(b.dateo,'%Y-%m') as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; -$sql.= " AND ba.entity = ".$conf->entity; +$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.amount <= 0"; if (! empty($id)) $sql .= " AND b.fk_account IN (".$db->escape($id).")"; @@ -137,14 +137,14 @@ $head=bank_prepare_head($acct); dol_fiche_head($head,'annual',$langs->trans("FinancialAccount"),0,'account'); $title=$langs->trans("FinancialAccount")." : ".$acct->label; -$lien=($year_start?"".img_previous()." ".$langs->trans("Year")." ".img_next()."":""); +$link=($year_start?"".img_previous()." ".$langs->trans("Year")." ".img_next()."":""); print '
  '.$period_filter.''; //$filtertype=array('TIP'=>'TIP','PRE'=>'PRE',...) $filtertype=''; @@ -440,7 +554,10 @@ if ($id > 0 || ! empty($ref)) print ' '; + print ''; + print ''; + print '
'.price($objp->amount * -1).'   '.price($objp->amount).' '.price($total).' '.price($total).' '.price($total).' '.price($total).''; + print ''; print ''; print img_edit(); print ''; @@ -793,11 +945,23 @@ if ($id > 0 || ! empty($ref)) // Show total if ($page == 0 && ! $mode_search) { + //Real account situation print '
'; if ($sep > 0) print ' '; // If we had at least one line in future else print $langs->trans("CurrentBalance"); print ' '.$object->currency_code.''.price($total, 0, $langs, 0, 0, -1, $object->currency_code).''.price($solde, 0, $langs, 0, 0, -1, $object->currency_code).' 
'; + if ($sep > 0) print ' '; // If we had at least one line in future + else print $langs->trans("Total"); + print ' '.$object->currency_code.''.price($total_deb*-1, 0, $langs, 0, 0, -1, $object->currency_code).''.price($total_cred, 0, $langs, 0, 0, -1, $object->currency_code).''.price($total_cred-($total_deb*-1), 0, $langs, 0, 0, -1, $object->currency_code).' 
'; $linkback = ''.$langs->trans("BackToList").''; // Ref -print ''; +print ''; print ''; // Label -print ''; +print ''; print ''; print '
'.$langs->trans("Ref").'
'.$langs->trans("Ref").''; if ($_GET["account"]) { @@ -172,7 +172,7 @@ else print '
'.$langs->trans("Label").'
'.$langs->trans("Label").''; if (! empty($id)) { @@ -186,12 +186,14 @@ print '
'; -print '
'; +dol_fiche_end(); + // Affiche tableau -print ''; +print '
'.$link.'
'; -print ''; + +print '
'.$lien.'
'; print ''; for ($annee = $year_start ; $annee <= $year_end ; $annee++) @@ -245,23 +247,20 @@ for ($annee = $year_start ; $annee <= $year_end ; $annee++) } print "\n"; -// Ligne vierge -print ''; -$nbcol=0; -for ($annee = $year_start ; $annee <= $year_end ; $annee++) -{ - $nbcol+=2; -} -print "\n"; +print "
'.$langs->trans("Month").'
 
"; -// Solde actuel + +print '
'; + + +// Current balance $balance=0; $sql = "SELECT SUM(b.amount) as total"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; -$sql.= " AND ba.entity = ".$conf->entity; +$sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; if (! empty($id)) $sql.= " AND b.fk_account IN (".$db->escape($id).")"; @@ -274,6 +273,9 @@ if ($resql) else { dol_print_error($db); } + +print ''; + print '"; print ''; print "\n"; @@ -302,7 +304,7 @@ else $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; if ($id && $_GET["option"]!='all') $sql.= " AND b.fk_account IN (".$id.")"; $resql = $db->query($sql); @@ -333,7 +335,7 @@ else $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.datev >= '".($year-$annee)."-01-01 00:00:00'"; $sql.= " AND b.datev <= '".($year-$annee)."-12-31 23:59:59'"; $sql.= " AND b.amount > 0"; @@ -422,7 +424,7 @@ else $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.datev >= '".($year-$annee)."-01-01 00:00:00'"; $sql.= " AND b.datev <= '".($year-$annee)."-12-31 23:59:59'"; $sql.= " AND b.amount < 0"; @@ -496,11 +498,11 @@ else unset($tblyear[1]); unset($tblyear[2]); - print '
'; + print '
'; // do not use class="center" here, it will have no effect for the js graph inside. print $show1; - print '
'; + print '
'; // do not use class="center" here, it will have no effect for the js graph inside. print $show2; - print '
'; + print '
'; print '
'; } diff --git a/htdocs/compta/bank/bankid_fr.php b/htdocs/compta/bank/bankid_fr.php deleted file mode 100644 index 03f0babe75d..00000000000 --- a/htdocs/compta/bank/bankid_fr.php +++ /dev/null @@ -1,461 +0,0 @@ - - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2008 Laurent Destailleur - * Copytight (C) 2005-2009 Regis Houssin - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -/** - * \file htdocs/compta/bank/bankid_fr.php - * \ingroup banque - * \brief Fiche creation compte bancaire - */ - -require('../../main.inc.php'); -require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; - -$langs->load("banks"); -$langs->load("categories"); -$langs->load("bills"); - -$action=GETPOST('action'); -$id=GETPOST('id','int'); -$ref=GETPOST('ref'); - -// Security check -if (isset($_GET["id"]) || isset($_GET["ref"])) -{ - $id = isset($_GET["id"])?$_GET["id"]:(isset($_GET["ref"])?$_GET["ref"]:''); -} -$fieldid = isset($_GET["ref"])?'ref':'rowid'; -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid); - - -/* - * Actions - */ - -if ($action == 'update' && ! $_POST["cancel"]) -{ - // Modification - $account = new Account($db); - $account->fetch($id); - - $account->bank = trim($_POST["bank"]); - $account->code_banque = trim($_POST["code_banque"]); - $account->code_guichet = trim($_POST["code_guichet"]); - $account->number = trim($_POST["number"]); - $account->cle_rib = trim($_POST["cle_rib"]); - $account->bic = trim($_POST["bic"]); - $account->iban = trim($_POST["iban"]); - $account->domiciliation = trim($_POST["domiciliation"]); - $account->proprio = trim($_POST["proprio"]); - $account->owner_address = trim($_POST["owner_address"]); - $account->state_id = trim($_POST["state_id"]); - //$account->country_id = trim($_POST["country_id"]); // We do not change this. - - if ($account->id) - { - $result = $account->update_bban($user); - if ($result >= 0) - { - $_GET["id"]=$_POST["id"]; // Force chargement page en mode visu - } - else - { - setEventMessage($account->error, 'errors'); - $action='edit'; // Force chargement page edition - } - } -} - -if ($action == 'confirm_delete' && $_POST["confirm"] == "yes" && $user->rights->banque->configurer) -{ - // Modification - $account = new Account($db); - $account->fetch($id); - $account->delete(); - - header("Location: ".DOL_URL_ROOT."/compta/bank/index.php"); - exit; -} - - -/* - * View - */ - -llxHeader(); - -$form = new Form($db); - -/* ************************************************************************** */ -/* */ -/* Affichage page en mode creation */ -/* */ -/* ************************************************************************** */ - -if (($_GET["id"] || $_GET["ref"]) && $action != 'edit') -{ - $account = new Account($db); - if ($_GET["id"]) - { - $result=$account->fetch($id); - } - if ($_GET["ref"]) - { - $result=$account->fetch(0,$_GET["ref"]); - $_GET["id"]=$account->id; - } - - // Onglets - $head=bank_prepare_head($account); - dol_fiche_head($head, 'bankid', $langs->trans("FinancialAccount"),0,'account'); - - // Confirmation de la suppression - if ($action == 'delete') - { - print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$account->id,$langs->trans("DeleteAccount"),$langs->trans("ConfirmDeleteAccount"),"confirm_delete"); - - } - - - print '
'.$langs->trans("CurrentBalance")."'.price($balance).'
'; - - $linkback = ''.$langs->trans("BackToList").''; - - // Ref - print ''; - print ''; - - // Label - print ''; - print ''; - - // Type - print ''; - print ''; - - // Currency - print ''; - print ''; - - // Status - print ''; - print ''; - - if ($account->type == 0 || $account->type == 1) - { - // Country - print '\n"; - - print ''; - print ''; - - // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - } - - $ibankey="IBANNumber"; - $bickey="BICNumber"; - if ($account->getCountryCode() == 'IN') $ibankey="IFSC"; - if ($account->getCountryCode() == 'IN') $bickey="SWIFT"; - - print ''; - print ''; - - print ''; - print ''; - - print '\n"; - - print '\n"; - - print '\n"; - - } - - print '
'.$langs->trans("Ref").''; - print $form->showrefnav($account, 'ref', $linkback, 1, 'ref'); - print '
'.$langs->trans("Label").''.$account->label.'
'.$langs->trans("AccountType").''.$account->type_lib[$account->type].'
'.$langs->trans("Currency").''; - $selectedcode=$account->account_currency_code; - if (! $selectedcode) $selectedcode=$conf->currency; - print $langs->trans("Currency".$selectedcode); - print '
'.$langs->trans("Status").''.$account->getLibStatut(4).'
'.$langs->trans("BankAccountCountry").''; - $img=picto_from_langcode($account->country_code); - print $img?$img.' ':''; - print getCountry($account->getCountryCode(), 0, $db); - print "
'.$langs->trans("BankName").''.$account->bank.'
'.$langs->trans("BankCode").''.$account->code_banque.'
'.$langs->trans("DeskCode").''.$account->code_guichet.'
'.$langs->trans("BankCode").''.$account->code_banque.'
'.$langs->trans("BankAccountNumber").''.$account->number.'
'.$langs->trans("BankAccountNumberKey").''.$account->cle_rib.'
'.$langs->trans($ibankey).''.$account->iban.'
'.$langs->trans($bickey).''.$account->bic.'
'.$langs->trans("BankAccountDomiciliation").''; - print nl2br($account->domiciliation); - print "
'.$langs->trans("BankAccountOwner").''; - print $account->proprio; - print "
'.$langs->trans("BankAccountOwnerAddress").''; - print nl2br($account->owner_address); - print "
'; - - - // Check BBAN - if (! checkBanForAccount($account)) - { - print '
'.$langs->trans("RIBControlError").'
'; - } - - print "\n
\n"; - - - /* - * Barre d'actions - */ - - print '
'; - - if ($user->rights->banque->configurer) - { - print 'id.'">'.$langs->trans("Modify").''; - } - - print '
'; - -} - -/* ************************************************************************** */ -/* */ -/* Edition */ -/* */ -/* ************************************************************************** */ - -if ($_GET["id"] && $action == 'edit' && $user->rights->banque->configurer) -{ - $account = new Account($db); - $account->fetch($id); - - print_fiche_titre($langs->trans("EditFinancialAccount")); - print "
"; - - print '
'; - print ''; - print ''; - print ''."\n\n"; - - print ''; - - // Ref - print ''; - print ''; - - // Label - print ''; - print ''; - - // Type - print ''; - print ''; - - // Currency - print ''; - print ''; - - // Status - print ''; - print ''; - - if ($account->type == 0 || $account->type == 1) - { - print '\n"; - - // If bank account - print ''; - print ''; - print ''; - - // Show fields of bank account - $fieldlists='BankCode DeskCode AccountNumber BankAccountNumberKey'; - if (! empty($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if (is_numeric($conf->global->BANK_SHOW_ORDER_OPTION)) - { - if ($conf->global->BANK_SHOW_ORDER_OPTION == '1') $fieldlists='BankCode DeskCode BankAccountNumberKey AccountNumber'; - } - else $fieldlists=$conf->global->BANK_SHOW_ORDER_OPTION; - } - $fieldlistsarray=explode(' ',$fieldlists); - - foreach($fieldlistsarray as $val) - { - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - - if ($val == 'DeskCode') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - - if ($val == 'BankCode') - { - if ($account->useDetailedBBAN() == 2) - { - print ''; - print ''; - print ''; - } - } - - if ($val == 'AccountNumber') - { - print ''; - print ''; - print ''; - } - - if ($val == 'BankAccountNumberKey') - { - if ($account->useDetailedBBAN() == 1) - { - print ''; - print ''; - print ''; - } - } - } - - $ibankey="IBANNumber"; - $bickey="BICNumber"; - if ($account->getCountryCode() == 'IN') $ibankey="IFSC"; - if ($account->getCountryCode() == 'IN') $bickey="SWIFT"; - - // IBAN - print ''; - print ''; - - print ''; - print ''; - - print '"; - - print ''; - print ''; - - print '"; - - } - - print '
'.$langs->trans("Ref").''.$account->ref; - print '
'.$langs->trans("Label").''.$account->label; - print '
'.$langs->trans("AccountType").''.$account->type_lib[$account->type]; - print '
'.$langs->trans("Currency").''; - $selectedcode=$account->account_currency_code; - if (! $selectedcode) $selectedcode=$conf->currency; - print $langs->trans("Currency".$selectedcode); - print '
'.$langs->trans("Status").''.$account->getLibStatut(4); - print '
'.$langs->trans("BankAccountCountry").''; - $img=picto_from_langcode($account->country_code); - print $img?$img.' ':''; - print getCountry($account->getCountryCode(), 0, $db); - print "
'.$langs->trans("BankName").'
'.$langs->trans("BankCode").'
'.$langs->trans("DeskCode").'
'.$langs->trans("BankCode").'
'.$langs->trans("BankAccountNumber").'
'.$langs->trans("BankAccountNumberKey").'
'.$langs->trans($ibankey).'
'.$langs->trans($bickey).'
'.$langs->trans("BankAccountDomiciliation").''; - print "
'.$langs->trans("BankAccountOwner").''; - print '
'.$langs->trans("BankAccountOwnerAddress").''; - print "
'; - - print '
'; - - print '
'; - print ''; - print '   '; - print '
'; - - print '
'; -} - - -llxFooter(); - -$db->close(); diff --git a/htdocs/compta/bank/budget.php b/htdocs/compta/bank/budget.php index 04697909eac..f22ce342bf0 100644 --- a/htdocs/compta/bank/budget.php +++ b/htdocs/compta/bank/budget.php @@ -1,7 +1,8 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copytight (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 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 @@ -43,7 +44,7 @@ $companystatic=new Societe($db); llxHeader(); // List movements bu category for bank transactions -print_fiche_titre($langs->trans("BankTransactionByCategories")); +print_fiche_titre($langs->trans("BankTransactionByCategories"), '', 'title_bank.png'); print ''; print ""; diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index 98c302f7320..acc1d3ecfa3 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -1,9 +1,10 @@ - * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2012 Laurent Destailleur - * Copytight (C) 2005-2009 Regis Houssin - * Copytight (C) 2014 Alexandre Spangaro + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2014-2015 Alexandre Spangaro + * Copyright (C) 2015 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 @@ -21,18 +22,20 @@ /** * \file htdocs/compta/bank/card.php - * \ingroup banque + * \ingroup bank * \brief Page to create/view a bank account */ require('../../main.inc.php'); -require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formbank.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/bank.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formbank.class.php'; +require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/extrafields.class.php'; $langs->load("banks"); +$langs->load("bills"); $langs->load("categories"); $langs->load("companies"); $langs->load("compta"); @@ -48,6 +51,10 @@ $fieldid = isset($_GET["ref"])?'ref':'rowid'; if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'banque',$id,'bank_account&bank_account','','',$fieldid); +$account = new Account($db); +$extrafields = new ExtraFields($db); +// fetch optionals attributes and labels +$extralabels=$extrafields->fetch_name_optionals_label($account->table_element); /* * Actions @@ -66,6 +73,18 @@ if ($_POST["action"] == 'add') $account->rappro = (isset($_POST["norappro"]) && $_POST["norappro"])?0:1; $account->url = $_POST["url"]; + $account->bank = trim($_POST["bank"]); + $account->code_banque = trim($_POST["code_banque"]); + $account->code_guichet = trim($_POST["code_guichet"]); + $account->number = trim($_POST["number"]); + $account->cle_rib = trim($_POST["cle_rib"]); + $account->bic = trim($_POST["bic"]); + $account->iban = trim($_POST["iban"]); + $account->domiciliation = trim($_POST["domiciliation"]); + + $account->proprio = trim($_POST["proprio"]); + $account->owner_address = trim($_POST["owner_address"]); + $account->account_number = trim($_POST["account_number"]); $account->accountancy_journal = trim($_POST["accountancy_journal"]); @@ -77,8 +96,8 @@ if ($_POST["action"] == 'add') $account->state_id = $_POST["account_state_id"]; $account->country_id = $_POST["account_country_id"]; - $account->min_allowed = $_POST["account_min_allowed"]; - $account->min_desired = $_POST["account_min_desired"]; + $account->min_allowed = GETPOST("account_min_allowed",'int'); + $account->min_desired = GETPOST("account_min_desired",'int'); $account->comment = trim($_POST["account_comment"]); if ($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED && empty($account->account_number)) @@ -100,6 +119,9 @@ if ($_POST["action"] == 'add') $error++; } + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels,$account); + if (! $error) { $id = $account->create($user); @@ -149,8 +171,8 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) $account->state_id = $_POST["account_state_id"]; $account->country_id = $_POST["account_country_id"]; - $account->min_allowed = $_POST["account_min_allowed"]; - $account->min_desired = $_POST["account_min_desired"]; + $account->min_allowed = GETPOST("account_min_allowed",'int'); + $account->min_desired = GETPOST("account_min_desired",'int'); $account->comment = trim($_POST["account_comment"]); if ($conf->global->MAIN_BANK_ACCOUNTANCY_CODE_ALWAYS_REQUIRED && empty($account->account_number)) @@ -172,6 +194,9 @@ if ($_POST["action"] == 'update' && ! $_POST["cancel"]) $error++; } + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels,$account); + if (! $error) { $result = $account->update($user); @@ -218,12 +243,16 @@ if ($action == 'create') { $account=new Account($db); - print_fiche_titre($langs->trans("NewFinancialAccount")); + print_fiche_titre($langs->trans("NewFinancialAccount"), '', 'title_bank.png'); if ($conf->use_javascript_ajax) { - print "\n".''; - $desc = $form->textwithpicto($langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1); - print '
'; - if (($origin == 'propal') || ($origin == 'commande')) { + + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceDeposit"), $langs->transnoentities("InvoiceDepositDesc"), 1, 'help', '', 0, 3); + print '
' . $desc . '
'; + if (($origin == 'propal') || ($origin == 'commande')) + { print '
'; + print $desc; + print ''; $arraylist = array('amount' => 'FixAmount','variable' => 'VarAmount'); print $form->selectarray('typedeposit', $arraylist, GETPOST('typedeposit'), 0, 0, 0, '', 1); @@ -1972,29 +2118,52 @@ if ($action == 'create') print '' . $langs->trans('Value') . ':'; } print '
'; - print '' . "\n"; + + print '
'; } if ($socid > 0) { + if (! empty($conf->global->INVOICE_USE_SITUATION)) + { + // First situation invoice + print '
'; + $tmp=' '; + $desc = $form->textwithpicto($tmp.$langs->trans("InvoiceFirstSituationAsk"), $langs->transnoentities("InvoiceFirstSituationDesc"), 1, 'help', '', 0, 3); + print $desc; + print '
'; + + // Next situation invoice + $opt = $form->selectSituationInvoices(GETPOST('originid'), $socid); + print '
'; + $tmp='' . $langs->trans('NoSituations') . '') || (GETPOST('origin') && GETPOST('origin') != 'facture')) $tmp.=' disabled'; + $tmp.= '> '; + $text = $tmp.$langs->trans("InvoiceSituationAsk") . ' '; + $text .= ''; + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceSituationDesc"), 1, 'help', '', 0, 3); + print $desc; + print '
'; + } + // Replacement - print ''; - print ''; - print ''; + print '
'; + $tmp=' jQuery(document).ready(function() { jQuery("#fac_replacement").change(function() { - jQuery("#radio_replacement").attr(\'checked\',\'checked\'); + jQuery("#radio_replacement").prop("checked", true); }); }); '; - $text = $langs->trans("InvoiceReplacementAsk") . ' '; + $text = $tmp.$langs->trans("InvoiceReplacementAsk") . ' '; $text .= ''; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); print $desc; - print '' . "\n"; + print '
'; } else { - print ''; - print ''; - print ''; - $text = $langs->trans("InvoiceReplacement") . ' '; + print '
'; + $tmp=' '; + $text = $tmp.$langs->trans("InvoiceReplacement") . ' '; $text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') '; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceReplacementDesc"), 1, 'help', '', 0, 3); print $desc; - print '' . "\n"; + print '
'; } if (empty($origin)) @@ -2024,16 +2192,14 @@ if ($action == 'create') if ($socid > 0) { // Credit note - print ''; - print ''; - print ''; + print '
'; + $tmp=' jQuery(document).ready(function() { - if (! jQuery("#radio_creditnote").attr(\'checked\')) + if (! jQuery("#radio_creditnote").is(":checked")) { jQuery("#credit_note_options").hide(); } @@ -2045,11 +2211,11 @@ if ($action == 'create') }); }); '; - $text = $langs->transnoentities("InvoiceAvoirAsk") . ' '; + $text = $tmp.$langs->transnoentities("InvoiceAvoirAsk") . ' '; // $text.=''; $text .= ''; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); print $desc; print '
'; - print '    0 ? 'checked="checked"':'').' /> "; - print '
    0 ? 'checked="checked"':'').' /> "; + print '    0 ? 'checked':'').' /> "; + print '
    0 ? 'checked':'').' /> "; print '
'; - print '' . "\n"; + print '
'; } else { - print ''; - print ''; - print ''; - $text = $langs->trans("InvoiceAvoir") . ' '; + print '
'; + $tmp=' '; + $text = $tmp.$langs->trans("InvoiceAvoir") . ' '; $text.= '('.$langs->trans("YouMustCreateInvoiceFromThird").') '; - $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1); + $desc = $form->textwithpicto($text, $langs->transnoentities("InvoiceAvoirDesc"), 1, 'help', '', 0, 3); print $desc; - print '' . "\n"; + print '
' . "\n"; } } - print ''; + print ''; + print ''; if ($socid > 0) @@ -2126,12 +2292,25 @@ if ($action == 'create') print ''; // Project - if (! empty($conf->projet->enabled) && $socid > 0) { - $formproject = new FormProjets($db); + if (! empty($conf->projet->enabled) && $socid > 0) + { + $projectid = GETPOST('projectid')?GETPOST('projectid'):0; + if ($origin == 'project') $projectid = ($originid ? $originid : 0); $langs->load('projects'); print '' . $langs->trans('Project') . ''; - $formproject->select_projects($soc->id, $projectid, 'projectid'); + $numprojet = $formproject->select_projects($soc->id, $projectid, 'projectid', 0); + print '   id).'">' . $langs->trans("AddProject") . ''; + print ''; + } + + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + print $form->select_incoterms((!empty($objectsrc->fk_incoterms) ? $objectsrc->fk_incoterms : ''), (!empty($objectsrc->location_incoterms)?$objectsrc->location_incoterms:'')); print ''; } @@ -2143,7 +2322,7 @@ if ($action == 'create') print $object->showOptionals($extrafields, 'edit'); } - // Modele PDF + // Template to use by default print '' . $langs->trans('Model') . ''; print ''; include_once DOL_DOCUMENT_ROOT . '/core/modules/facture/modules_facture.php'; @@ -2160,7 +2339,7 @@ if ($action == 'create') { $note_public = $objectsrc->note_public; } - $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // Private note @@ -2174,7 +2353,7 @@ if ($action == 'create') { $note_private = $objectsrc->note_private; } - $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, '90%'); print $doleditor->Create(1); // print ' print ''; @@ -2241,7 +2420,9 @@ if ($action == 'create') print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . '' . price($objectsrc->total_localtax2) . ""; } print '' . $langs->trans('TotalTTC') . '' . price($objectsrc->total_ttc) . ""; - } else { + } + else + { // Show deprecated optional form to add product line here if (! empty($conf->global->PRODUCT_SHOW_WHEN_CREATE)) { print ''; @@ -2295,11 +2476,14 @@ if ($action == 'create') print "\n"; + dol_fiche_end(); + // Button "Create Draft" - print '
'; + print '
'; print ''; - print ' '; - print '
'; + print '     '; + print ''; + print ''; print "\n"; @@ -2318,7 +2502,9 @@ if ($action == 'create') } print '
'; -} else if ($id > 0 || ! empty($ref)) { +} +else if ($id > 0 || ! empty($ref)) +{ /* * Show object in view mode */ @@ -2338,7 +2524,8 @@ if ($action == 'create') $result = $object->fetch_thirdparty(); $soc = new Societe($db); - $soc->fetch($object->socid); + $result=$soc->fetch($object->socid); + if ($result < 0) dol_print_error($db); $selleruserevenustamp = $mysoc->useRevenueStamp(); $totalpaye = $object->getSommePaiement(); @@ -2441,7 +2628,7 @@ if ($action == 'create') require_once DOL_DOCUMENT_ROOT . '/core/class/notify.class.php'; $notify = new Notify($db); $text .= '
'; - $text .= $notify->confirmMessage('BILL_VALIDATE', $object->socid); + $text .= $notify->confirmMessage('BILL_VALIDATE', $object->socid, $object); } $formquestion = array(); @@ -2479,7 +2666,7 @@ if ($action == 'create') { $text .= '
' . img_warning() . ' ' . $langs->trans("ErrorInvoiceOfThisTypeMustBePositive"); } - $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), ($conf->notification->enabled ? 0 : 2)); + $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?facid=' . $object->id, $langs->trans('ValidateBill'), $text, 'confirm_valid', $formquestion, (($object->type != Facture::TYPE_CREDIT_NOTE && $object->total_ttc < 0) ? "no" : "yes"), 2); } // Confirm back to draft status @@ -2603,8 +2790,9 @@ if ($action == 'create') if (! $formconfirm) { $parameters = array('lineid' => $lineid); - $formconfirm = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by - // hook + $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 @@ -2669,11 +2857,12 @@ if ($action == 'create') print '   '; print '(' . $langs->trans('OtherBills') . ''; // Outstanding Bill - $outstandigBills = $soc->get_OutstandingBill(); + $outstandingBills = $soc->get_OutstandingBill(); print ' - ' . $langs->trans('CurrentOutstandingBill') . ': '; - print price($outstandigBills, '', $langs, 0, 0, - 1, $conf->currency); - if ($soc->outstanding_limit != '') { - if ($outstandigBills > $soc->outstanding_limit) + print price($outstandingBills, '', $langs, 0, 0, - 1, $conf->currency); + if ($soc->outstanding_limit != '') + { + if ($outstandingBills > $soc->outstanding_limit) print img_warning($langs->trans("OutstandingBillReached")); print ' / ' . price($soc->outstanding_limit); } @@ -2761,7 +2950,8 @@ if ($action == 'create') } else print '. '; } - if ($absolute_creditnote > 0) { + if ($absolute_creditnote > 0) + { // If validated, we show link "add credit note to payment" if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) { @@ -2776,16 +2966,7 @@ if ($action == 'create') print '
'; // $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, // $filtercreditnote, $resteapayer); - $form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We - // must - // allow - // credit - // not - // even - // if - // amount - // is - // higher + $form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We allow credit note even if amount is higher } } if (! $absolute_discount && ! $absolute_creditnote) { @@ -2873,14 +3054,17 @@ if ($action == 'create') $sql .= ' ORDER BY p.datep, p.tms'; $result = $db->query($sql); - if ($result) { + if ($result) + { $num = $db->num_rows($result); $i = 0; // if ($object->type != 2) // { - if ($num > 0) { - while ($i < $num) { + if ($num > 0) + { + while ($i < $num) + { $objp = $db->fetch_object($result); $var = ! $var; print ''; @@ -2888,7 +3072,8 @@ if ($action == 'create') print dol_print_date($db->jdate($objp->dp), 'day') . ''; $label = ($langs->trans("PaymentType" . $objp->payment_code) != ("PaymentType" . $objp->payment_code)) ? $langs->trans("PaymentType" . $objp->payment_code) : $objp->payment_label; print '' . $label . ' ' . $objp->num_paiement . ''; - if (! empty($conf->banque->enabled)) { + if (! empty($conf->banque->enabled)) + { $bankaccountstatic->id = $objp->baid; $bankaccountstatic->ref = $objp->ref; $bankaccountstatic->label = $objp->ref; @@ -2911,7 +3096,8 @@ if ($action == 'create') dol_print_error($db); } - if ($object->type != Facture::TYPE_CREDIT_NOTE) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) + { // Total already paid print ''; if ($object->type != Facture::TYPE_DEPOSIT) @@ -2930,11 +3116,13 @@ if ($action == 'create') $sql .= " FROM " . MAIN_DB_PREFIX . "societe_remise_except as re"; $sql .= " WHERE fk_facture = " . $object->id; $resql = $db->query($sql); - if ($resql) { + if ($resql) + { $num = $db->num_rows($resql); $i = 0; $invoice = new Facture($db); - while ($i < $num) { + while ($i < $num) + { $obj = $db->fetch_object($resql); $invoice->fetch($obj->fk_facture_source); print ''; @@ -2960,28 +3148,28 @@ if ($action == 'create') // Paye partiellement 'escompte' if (($object->statut == 2 || $object->statut == 3) && $object->close_code == 'discount_vat') { - print ''; + print ''; print $form->textwithpicto($langs->trans("Discount") . ':', $langs->trans("HelpEscompte"), - 1); print '' . price($object->total_ttc - $creditnoteamount - $depositamount - $totalpaye) . ' '; $resteapayeraffiche = 0; } // Paye partiellement ou Abandon 'badcustomer' if (($object->statut == 2 || $object->statut == 3) && $object->close_code == 'badcustomer') { - print ''; + print ''; print $form->textwithpicto($langs->trans("Abandoned") . ':', $langs->trans("HelpAbandonBadCustomer"), - 1); print '' . price($object->total_ttc - $creditnoteamount - $depositamount - $totalpaye) . ' '; // $resteapayeraffiche=0; } // Paye partiellement ou Abandon 'product_returned' if (($object->statut == 2 || $object->statut == 3) && $object->close_code == 'product_returned') { - print ''; + print ''; print $form->textwithpicto($langs->trans("ProductReturned") . ':', $langs->trans("HelpAbandonProductReturned"), - 1); print '' . price($object->total_ttc - $creditnoteamount - $depositamount - $totalpaye) . ' '; $resteapayeraffiche = 0; } // Paye partiellement ou Abandon 'abandon' if (($object->statut == 2 || $object->statut == 3) && $object->close_code == 'abandon') { - print ''; + print ''; $text = $langs->trans("HelpAbandonOther"); if ($object->close_note) $text .= '

' . $langs->trans("Reason") . ':' . $object->close_note; @@ -3002,7 +3190,8 @@ if ($action == 'create') print ' :'; print '' . price($resteapayeraffiche) . ''; print ' '; - } else // Credit note + } + else // Credit note { // Total already paid back print ''; @@ -3048,7 +3237,8 @@ if ($action == 'create') print 'id . '">' . img_edit($langs->trans('SetConditions'), 1) . ''; print ''; print ''; - if ($object->type != Facture::TYPE_CREDIT_NOTE) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) + { if ($action == 'editconditions') { $form->form_conditions_reglement($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->cond_reglement_id, 'cond_reglement_id'); } else { @@ -3068,7 +3258,8 @@ if ($action == 'create') print 'id . '">' . img_edit($langs->trans('SetDate'), 1) . ''; print ''; print ''; - if ($object->type != Facture::TYPE_CREDIT_NOTE) { + if ($object->type != Facture::TYPE_CREDIT_NOTE) + { if ($action == 'editpaymentterm') { $form->form_date($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->date_lim_reglement, 'paymentterm'); } else { @@ -3120,22 +3311,70 @@ if ($action == 'create') print ""; print ''; + // Situations + if (! empty($conf->global->INVOICE_US_SITUATION)) + { + if ($object->type == 5 && ($object->situation_counter > 1)) + { + $prevsits = $object->get_prev_sits(); + print ''; + print $langs->trans('SituationAmount'); + print ' '; + + print $prevsits[0]->situation_counter; + for ($i = 1; $i < count($prevsits); $i++) { + print ' + '; + print $prevsits[$i]->situation_counter; + } + print ' + '; + print $object->situation_counter; + + print ''; + print ''; + + $prevsits_total_amount = 0; + foreach ($prevsits as $situation) { + $prevsits_total_amount += $situation->total_ht; + } + $prevsits_total_amount += $object->total_ht; + + print price($prevsits_total_amount); + print ''; + print '' . $langs->trans('Currency' . $conf->currency) . ''; + + // Previous situation(s) deduction(s) + for ($i = 0; $i < count($prevsits); $i++) { + print ''; + print ''; + print $langs->trans('SituationDeduction'); + print ' '; + print $prevsits[$i]->situation_counter; + print ''; + + print ''; + print '- ' . price($prevsits[$i]->total_ht); + print ''; + print '' . $langs->trans('Currency' . $conf->currency) . ''; + } + } + } + // Amount print '' . $langs->trans('AmountHT') . ''; - print '' . price($object->total_ht, 1, '', 1, - 1, - 1, $conf->currency) . ''; - print '' . $langs->trans('AmountVAT') . '' . price($object->total_tva, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_ht, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . $langs->trans('AmountVAT') . '' . price($object->total_tva, 1, '', 1, - 1, - 1, $conf->currency) . ''; print ''; // Amount Local Taxes if (($mysoc->localtax1_assuj == "1" && $mysoc->useLocalTax(1)) || $object->total_localtax1 != 0) // Localtax1 { print '' . $langs->transcountry("AmountLT1", $mysoc->country_code) . ''; - print '' . price($object->total_localtax1, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_localtax1, 1, '', 1, - 1, - 1, $conf->currency) . ''; } if (($mysoc->localtax2_assuj == "1" && $mysoc->useLocalTax(2)) || $object->total_localtax2 != 0) // Localtax2 { print '' . $langs->transcountry("AmountLT2", $mysoc->country_code) . ''; - print '' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . price($object->total_localtax2, 1, '', 1, - 1, - 1, $conf->currency) . ''; } // Revenue stamp @@ -3148,7 +3387,7 @@ if ($action == 'create') if ($action != 'editrevenuestamp' && ! empty($object->brouillon) && $user->rights->facture->creer) print 'id . '">' . img_edit($langs->trans('SetRevenuStamp'), 1) . ''; print ''; - print ''; + print ''; if ($action == 'editrevenuestamp') { print '
'; print ''; @@ -3164,11 +3403,11 @@ if ($action == 'create') } // Total with tax - print '' . $langs->trans('AmountTTC') . '' . price($object->total_ttc, 1, '', 1, - 1, - 1, $conf->currency) . ''; + print '' . $langs->trans('AmountTTC') . '' . price($object->total_ttc, 1, '', 1, - 1, - 1, $conf->currency) . ''; // Statut print '' . $langs->trans('Status') . ''; - print '' . ($object->getLibStatut(4, $totalpaye)) . ''; + print '' . ($object->getLibStatut(4, $totalpaye)) . ''; // Project if (! empty($conf->projet->enabled)) { @@ -3188,14 +3427,37 @@ if ($action == 'create') print ''; if ($action == 'classify') { - $form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'projectid'); + $form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'projectid', 0, 0, 1); } else { - $form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'none'); + $form->form_project($_SERVER['PHP_SELF'] . '?facid=' . $object->id, $object->socid, $object->fk_project, 'none', 0, 0); } print ''; print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
'; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->facture->creer) print ''.img_edit().''; + else print ' '; + print '
'; + print ''; + print ''; + if ($action != 'editincoterm') + { + print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); + } + else + { + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?id='.$object->id); + } + print ''; + } + // Other attributes $cols = 5; include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; @@ -3230,12 +3492,61 @@ if ($action == 'create') print ''; + // Show global modifiers + if (! empty($conf->global->INVOICE_US_SITUATION)) + { + if ($object->situation_cycle_ref && $object->statut == 0) { + print ''; + print ''; + print ''; + print ''; + print ''; + + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { + print ''; + } + print ''; + print ''; + print ''; + if ($inputalsopricewithtax) print ''; + print ''; + print ''; + print ''; + if (! empty($conf->margin->enabled) && empty($user->societe_id)) + { + print ''; + if ((! empty($conf->global->DISPLAY_MARGIN_RATES) || ! empty($conf->global->DISPLAY_MARK_RATES)) && $user->rights->margins->liretous) { + print ''; + } + } + print ''; + print ''; + print ''; + print ''; + print "\n"; + + if (!empty($conf->global->MAIN_VIEW_LINE_NUMBER)) { + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + } + // Show object lines if (! empty($object->lines)) $ret = $object->printObjectLines($action, $mysoc, $soc, $lineid, 1); // Form to add new line - if ($object->statut == 0 && $user->rights->facture->creer && $action != 'valid' && $action != 'editline') + if ($object->statut == 0 && $user->rights->facture->creer && $action != 'valid' && $action != 'editline' && ($object->is_first() || !$object->situation_cycle_ref)) { if ($action != 'editline') { @@ -3272,12 +3583,16 @@ if ($action == 'create') $ventilExportCompta = $object->getVentilExportCompta(); if ($resteapayer == $object->total_ttc && $object->paye == 0 && $ventilExportCompta == 0) { - if (! $objectidnext) { - if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && $user->rights->facture->valider) || $user->rights->facture->invoice_advance->unvalidate) { + if (! $objectidnext && $object->is_last_in_cycle()) { + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->facture->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->invoice_advance->unvalidate))) + { print ''; } else { print '
' . $langs->trans('Modify') . '
'; } + } else if (!$object->is_last_in_cycle()) { + print '
' . $langs->trans('Modify') . '
'; } else { print '
' . $langs->trans('Modify') . '
'; } @@ -3300,8 +3615,10 @@ if ($action == 'create') } // Validate - if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) { - if ($user->rights->facture->valider) { + if ($object->statut == 0 && count($object->lines) > 0 && ((($object->type == Facture::TYPE_STANDARD || $object->type == Facture::TYPE_REPLACEMENT || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_PROFORMA || $object->type == Facture::TYPE_SITUATION) && (! empty($conf->global->FACTURE_ENABLE_NEGATIVE) || $object->total_ttc >= 0)) || ($object->type == Facture::TYPE_CREDIT_NOTE && $object->total_ttc <= 0))) { + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->facture->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->facture->invoice_advance->validate))) + { print ''; } } @@ -3412,6 +3729,17 @@ if ($action == 'create') } } + //Create next situation invoice + if ($user->rights->facture->creer && ($object->type == 5) && ($object->statut == 1 || $object->statut == 2)) { + if ($object->is_last_in_cycle() && $object->situation_final != 1) { + print ''; + } else if (!$object->is_last_in_cycle()) { + print ''; + } else { + print ''; + } + } + // Delete if ($user->rights->facture->supprimer) { @@ -3433,6 +3761,10 @@ if ($action == 'create') } print '
'; + // Select mail models is same action as presend + if (GETPOST('modelselected')) { + $action = 'presend'; + } if ($action != 'prerelance' && $action != 'presend') { print '
'; @@ -3449,77 +3781,10 @@ if ($action == 'create') $somethingshown = $formfile->numoffiles; // Linked object block - $somethingshown = $object->showLinkedObjectBlock(); + $somethingshown = $form->showLinkedObjectBlock($object); - $linktoelem=''; - - if (! empty($conf->commande->enabled)) - { - $linktoelem.=($linktoelem?'   ':'').'' . $langs->trans('LinkedOrder') . ''; - - print ' - - '; - - print '
 ' . $langs->trans('ModifyAllLines') . '     ' . $langs->trans('Progress') . '      
 
     %
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - while ($i < $num) - { - $objp = $db->fetch_object($resqlorderlist); - if ($objp->socid == $soc->id) { - $var = ! $var; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - } - - $i ++; - } - print '
' . $langs->trans("Ref") . '' . $langs->trans("RefCustomer") . '' . $langs->trans("AmountHTShort") . '' . $langs->trans("Company") . '
'; - print ''; - print '' . $objp->ref . '' . $objp->ref_client . '' . price($objp->total_ht) . '' . $objp->name . '
'; - print '
 
'; - print ''; - $db->free($resqlorderlist); - } else { - dol_print_error($db); - } - - print ''; - } - - // Show link to elements + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object,array('order')); if ($linktoelem) print '
'.$linktoelem; // Link for paypal payment @@ -3561,8 +3826,8 @@ if ($action == 'create') $ref = dol_sanitizeFileName($object->ref); include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; - $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; // Define output language $outputlangs = $langs; @@ -3586,14 +3851,16 @@ if ($action == 'create') dol_print_error($db, $result); exit(); } - $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/').'([^\-])+'); - $file = $fileparams ['fullname']; + $fileparams = dol_most_recent_file($conf->facture->dir_output . '/' . $ref, preg_quote($ref, '/').'[^\-]+'); + $file = $fileparams['fullname']; } print '
'; print_titre($langs->trans($titreform)); // Cree l'objet formulaire mail + dol_fiche_head(); + include_once DOL_DOCUMENT_ROOT . '/core/class/html.formmail.class.php'; $formmail = new FormMail($db); $formmail->param['langsmodels']=(empty($newlang)?$langs->defaultlang:$newlang); @@ -3653,6 +3920,7 @@ if ($action == 'create') // Tableau des parametres complementaires du post $formmail->param['action'] = $action; $formmail->param['models'] = $modelmail; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); $formmail->param['facid'] = $object->id; $formmail->param['returnurl'] = $_SERVER["PHP_SELF"] . '?id=' . $object->id; @@ -3664,7 +3932,7 @@ if ($action == 'create') print $formmail->get_form(); - print '
'; + dol_fiche_end(); } } diff --git a/htdocs/compta/facture/admin/facture_cust_extrafields.php b/htdocs/compta/facture/admin/facture_cust_extrafields.php index 6d60180593a..58d4e46f8dd 100644 --- a/htdocs/compta/facture/admin/facture_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facture_cust_extrafields.php @@ -62,56 +62,17 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; $textobject=strtolower($langs->transnoentitiesnoconv("BillsCustomers")); - llxHeader('',$langs->trans("BillsSetup")); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); print '
'; $head = invoice_admin_prepare_head(); dol_fiche_head($head, 'attributes', $langs->trans("Invoices"), 0, 'invoice'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'

'."\n"; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Position").''.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_pos[$key]."".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); @@ -147,7 +108,7 @@ if ($action == 'create') if ($action == 'edit' && ! empty($attrname)) { $langs->load("members"); - + print "
"; print_titre($langs->trans("FieldEdition", $attrname)); diff --git a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php index fd4284a01dd..e69060aa3cf 100644 --- a/htdocs/compta/facture/admin/facturedet_cust_extrafields.php +++ b/htdocs/compta/facture/admin/facturedet_cust_extrafields.php @@ -63,56 +63,17 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; $textobject=strtolower($langs->transnoentitiesnoconv("BillsCustomers")); - llxHeader('',$langs->trans("BillsSetup")); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("BillsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("BillsSetup"),$linkback,'title_setup'); print '
'; $head = invoice_admin_prepare_head(); dol_fiche_head($head, 'attributeslines', $langs->trans("Invoices"), 0, 'invoice'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'

'."\n"; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Position").''.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_pos[$key]."".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/compta/facture/apercu.php b/htdocs/compta/facture/apercu.php index 211d9241a8f..340df8172dc 100644 --- a/htdocs/compta/facture/apercu.php +++ b/htdocs/compta/facture/apercu.php @@ -3,7 +3,8 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2014 Frederic 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 @@ -21,9 +22,9 @@ */ /** - * \file htdocs/compta/facture/apercu.php - * \ingroup facture - * \brief Page de l'onglet apercu d'une facture + * \file htdocs/compta/facture/apercu.php + * \ingroup facture + * \brief Preview Tab of invoice */ require '../../main.inc.php'; @@ -67,12 +68,6 @@ if ($id > 0 || ! empty($ref)) $soc = new Societe($db); $soc->fetch($object->socid); - $author = new User($db); - if ($object->user_author) - { - $author->fetch($object->user_author); - } - $head = facture_prepare_head($object); dol_fiche_head($head, 'preview', $langs->trans("InvoiceCustomer"), 0, 'bill'); @@ -80,32 +75,28 @@ if ($id > 0 || ! empty($ref)) $totalpaye = $object->getSommePaiement(); /* - * Facture + * Invoice */ print ''; - $rowspan=3; // Ref - print ''; + print ''; + print ''; + print ''; // Ref customer - print ''; - print ''; + print ''; + print ''; + print ''; - // Societe + // Thirdparty print ''; print ''; print ''; // Type - print ''; + print ''; + print ''; + print ''; // Relative and absolute discounts $addabsolutediscount=' '.$langs->trans("AddGlobalDiscount").''; $addcreditnote=' '.$langs->trans("AddCreditNote").''; - print ''; + print ''; + print ''; + print ''; // Dates print ''; - print ''; - print ""; + print ''; - // Date payment term - print ''; - - // Conditions reglement - print ''; - print ''; - - // Mode de reglement - print ''; - - $nbrows=5; - if (! empty($conf->projet->enabled)) $nbrows++; - print '"; - print '"; + print '"; print "
'.$langs->trans('Ref').''.$object->ref.'
'.$langs->trans('Ref').''.$object->ref.'
'; - print ''; - print '
'; - print $langs->trans('RefCustomer'); - print '
'; - print '
'; - print $object->ref_client; - print '
'.$langs->trans('RefCustomer').''.$object->ref_client.'
'.$langs->trans("Company").''.$soc->getNomUrl(1,'compta').'
'.$langs->trans('Type').''; + print '
'.$langs->trans('Type').''; print $object->getLibType(); if ($object->type == Facture::TYPE_REPLACEMENT) { @@ -141,30 +132,31 @@ if ($id > 0 || ! empty($ref)) $facthatreplace->fetch($objectidnext); print ' ('.$langs->transnoentities("ReplacedByInvoice",$facthatreplace->getNomUrl(1)).')'; } - print '
'.$langs->trans('Discounts'); - print ''; + print '
'.$langs->trans('Discounts').''; if ($soc->remise_percent) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_percent); else print $langs->trans("CompanyHasNoRelativeDiscount"); if ($absolute_discount > 0) { print '. '; - if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) + if ($object->statut > Facture::STATUS_DRAFT || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { - if ($object->statut == 0) + if ($object->statut == Facture::STATUS_DRAFT) { print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); print '. '; } else { - if ($object->statut < 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) + if ($object->statut < Facture::STATUS_VALIDATED || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); print '
'.$text.'.
'; @@ -187,9 +179,9 @@ if ($id > 0 || ! empty($ref)) } else { - if ($absolute_creditnote > 0) // If not linke will be added later + if ($absolute_creditnote > 0) // If not linked will be added later { - if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; + if ($object->statut == Facture::STATUS_DRAFT && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; else print '.'; } else print '. '; @@ -197,9 +189,9 @@ if ($id > 0 || ! empty($ref)) if ($absolute_creditnote > 0) { // If validated, we show link "add credit note to payment" - if ($object->statut != 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) + if ($object->statut != Facture::STATUS_VALIDATED || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { - if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) + if ($object->statut == Facture::STATUS_DRAFT && $object->type != Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)); print $form->textwithpicto($text,$langs->trans("CreditNoteDepositUse")); @@ -220,7 +212,7 @@ if ($id > 0 || ! empty($ref)) if (! $absolute_discount && ! $absolute_creditnote) { print $langs->trans("CompanyHasNoAbsoluteDiscount"); - if ($object->statut == 0 && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; + if ($object->statut == Facture::STATUS_DRAFT && $object->type != Facture::TYPE_CREDIT_NOTE && $object->type != Facture::TYPE_DEPOSIT) print ' - '.$addabsolutediscount.'
'; else print '. '; } /*if ($object->statut == 0 && $object->type != 2 && $object->type != 3) @@ -230,66 +222,17 @@ if ($id > 0 || ! empty($ref)) print $addabsolutediscount; //print '   -   '.$addcreditnote; // We disbale link to credit note }*/ - print '
'.$langs->trans("Date").''.dol_print_date($object->date,"daytext").'
'.dol_print_date($object->date,"daytext").'
'; - print ''; - if ($object->type != Facture::TYPE_CREDIT_NOTE && $action != 'editpaymentterm' && $object->brouillon && $user->rights->facture->creer) print ''; - print '
'; - print $langs->trans('DateMaxPayment'); - print 'id.'">'.img_edit($langs->trans('SetDate'),1).'
'; - print '
'; - if ($object->type != Facture::TYPE_CREDIT_NOTE) - { - if ($action == 'editpaymentterm') - { - $form->form_date($_SERVER['PHP_SELF'].'?facid='.$object->id,$object->date_lim_reglement,'paymentterm'); - } - else - { - print dol_print_date($object->date_lim_reglement,'daytext'); - if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == 1 && ! $object->am) print img_warning($langs->trans('Late')); - } - } - else - { - print ' '; - } - print '
'.$langs->trans("PaymentConditionsShort").''; - $form->form_conditions_reglement($_SERVER["PHP_SELF"]."?facid=$object->id",$object->cond_reglement_id,"none"); - print '
'; - print ''; - if ($action != 'editmode' && $object->brouillon && $user->rights->facture->creer) print ''; - print '
'; - print $langs->trans('PaymentMode'); - print 'id.'">'.img_edit($langs->trans('SetMode'),1).'
'; - print '
'; - if ($action == 'editmode') - { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?facid='.$object->id,$object->mode_reglement_id,'mode_reglement_id'); - } - else - { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?facid='.$object->id,$object->mode_reglement_id,'none'); - } - print ''; + // Right part with $rowspan lines + $rowspan=5; + if (! empty($conf->projet->enabled)) $rowspan++; + print ''; /* * Documents @@ -303,7 +246,7 @@ if ($id > 0 || ! empty($ref)) $relativepathdetail = $objectref.'/'.$objectref.'-detail.pdf'; // Define path to preview pdf file (preview precompiled "file.ext" are "file.ext_preview.png") - $fileimage = $file.'_preview.png'; // If PDF has 1 page + $fileimage = $file.'_preview.png'; // If PDF has 1 page $fileimagebis = $file.'_preview-0.pdf.png'; // If PDF has more than one page $relativepathimage = $relativepath.'_preview.png'; @@ -313,8 +256,8 @@ if ($id > 0 || ! empty($ref)) if (file_exists($file)) { $encfile = urlencode($file); - print_titre($langs->trans("Documents")); - print ''; + print '
'; + print ''; print ""; @@ -353,24 +296,32 @@ if ($id > 0 || ! empty($ref)) } print ""; + // Total HT print ''; - print ''; - print ''; + print ''; + print ''; - print ''; - print ''; - print ''; - print ''; + // Total VAT + print ''; + print ''; + print ''; + + // Total TTC + print ''; + print ''; + print ''; // Statut - print ''; + print ''; + print ''; + print ''; // Projet if (! empty($conf->projet->enabled)) { $langs->load("projects"); - print ''; - print ''; + print ''; print ''; // Title @@ -201,6 +206,7 @@ if ($action == 'create') $sql.= ' l.date_start,'; $sql.= ' l.date_end,'; $sql.= ' l.product_type,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.ref, p.fk_product_type, p.label as product_label,'; $sql.= ' p.description as product_desc'; $sql.= " FROM ".MAIN_DB_PREFIX."facturedet as l"; @@ -221,6 +227,9 @@ if ($action == 'create') print ''; print ''; print ''; + if ($conf->global->PRODUCT_USE_UNITS) { + print ''; + } print ''; print ''; print ''; @@ -245,6 +254,7 @@ if ($action == 'create') // Show product and description $type=(isset($objp->product_type)?$objp->product_type:$objp->fk_product_type); + $product_static->fk_unit=$objp->fk_unit; if ($objp->fk_product > 0) { @@ -298,6 +308,10 @@ if ($action == 'create') // Qty print ''; + if ($conf->global->PRODUCT_USE_UNITS) { + print ''; + } + // Percent if ($objp->remise_percent > 0) { @@ -356,14 +370,19 @@ if ($action == 'create') print ''; } - print ''; - print "\n"; print "
'.$langs->trans("Documents").'
".$langs->trans("Bill")." PDF
'.$langs->trans("AmountHT").''.price($object->total_ht).''.$langs->trans("Currency".$conf->currency).'
' . price($object->total_ht, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans('AmountVAT').''.price($object->total_tva).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->trans('AmountTTC').''.price($object->total_ttc).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->trans('AmountVAT').'' . price($object->total_tva, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans('AmountTTC').'' . price($object->total_ttc, '', $langs, 0, - 1, - 1, $conf->currency) . '
'.$langs->trans('Status').''.($object->getLibStatut(4,$totalpaye)).'
'.$langs->trans('Status').''.($object->getLibStatut(4,$totalpaye)).'
'.$langs->trans("Project").''; + print '
'.$langs->trans("Project").''; if ($object->fk_project > 0) { $project = New Project($db); @@ -391,14 +342,17 @@ if ($id > 0 || ! empty($ref)) else { // Facture non trouvee - print $langs->trans("ErrorBillNotFound",$_GET["facid"]); + print $langs->trans("ErrorBillNotFound",$id); } } +print ''; +print ''; +print '
'; +print '
'; // Si fichier png PDF d'1 page trouve if (file_exists($fileimage)) { - print ''; + print ''; } // Si fichier png PDF de plus d'1 page trouve elseif (file_exists($fileimagebis)) @@ -411,11 +365,13 @@ elseif (file_exists($fileimagebis)) if (file_exists($dir_output.$preview)) { - print '

'; + print '

'; } } } - +print '

'; +print '
'; llxFooter(); diff --git a/htdocs/compta/facture/class/api_invoice.class.php b/htdocs/compta/facture/class/api_invoice.class.php new file mode 100644 index 00000000000..60098a38b9f --- /dev/null +++ b/htdocs/compta/facture/class/api_invoice.class.php @@ -0,0 +1,297 @@ + + * + * 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; + + require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + +/** + * API class for invoice object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + */ +class InvoiceApi extends DolibarrApi +{ + /** + * + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'socid' + ); + + /** + * @var Facture $invoice {@type Facture} + */ + public $invoice; + + /** + * Constructor + * + * @url GET invoice/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->invoice = new Facture($this->db); + } + + /** + * Get properties of a invoice object + * + * Return an array with invoice informations + * + * @param int $id ID of invoice + * @return array|mixed data without useless information + * + * @url GET invoice/{id} + * @throws RestException + */ + function get($id) + { + if(! DolibarrApiAccess::$user->rights->facture->lire) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->_cleanObjectDatas($this->invoice); + } + + /** + * List invoices + * + * Get a list of invoices + * + * @param int $socid Filter list with thirdparty ID + * @param string $mode Filter by invoice status : draft | unpaid | paid | cancelled + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of invoice objects + * + * @url GET invoice/list + * @url GET invoice/list/{mode} + * @url GET thirdparty/{socid}/invoice/list + * @url GET thirdparty/{socid}/invoice/list/{mode} + */ + function getList($socid=0, $mode='', $sortfield = "s.rowid", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + // If the internal user must only see his customers, force searching by him + if (! DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) $search_sale = DolibarrApiAccess::$user->id; + + $sql = "SELECT s.rowid"; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql .= ", sc.fk_soc, sc.fk_user"; // We need these fields in order to filter by sale (including the case where the user can only see his prospects) + $sql.= " FROM ".MAIN_DB_PREFIX."facture as s"; + + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; // We need this table joined to the select in order to filter by sale + + $sql.= ' WHERE s.entity IN ('.getEntity('facture', 1).')'; + if ((!DolibarrApiAccess::$user->rights->societe->client->voir && !$socid) || $search_sale > 0) $sql.= " AND s.fk_soc = sc.fk_soc"; + if ($socid) $sql.= " AND s.fk_soc = ".$socid; + if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc"; // Join for the needed table to filter by sale + + + // Example of use $mode + if ($mode == 'draft') $sql.= " AND s.fk_statut IN (0)"; + if ($mode == 'unpaid') $sql.= " AND s.fk_statut IN (1)"; + if ($mode == 'paid') $sql.= " AND s.fk_statut IN (2)"; + if ($mode == 'cancelled') $sql.= " AND s.fk_statut IN (3)"; + + // Insert sale filter + if ($search_sale > 0) + { + $sql .= " AND sc.fk_user = ".$search_sale; + } + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $invoice_static = new Facture($db); + if($invoice_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($invoice_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve invoice list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No invoice found'); + } + return $obj_ret; + } + + /** + * Create invoice object + * + * @param array $request_data Request datas + * @return int ID of invoice + * + * @url POST invoice/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->facture->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->invoice->$field = $value; + } + if(! array_keys($request_data,'date')) { + $this->invoice->date = dol_now(); + } + if( ! $this->invoice->create(DolibarrApiAccess::$user)) { + throw new RestException(500); + } + return $this->invoice->id; + } + + /** + * Update invoice + * + * @param int $id Id of invoice to update + * @param array $request_data Datas + * @return int + * + * @url PUT invoice/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->facture->creer) { + throw new RestException(401); + } + + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->invoice->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->invoice->$field = $value; + } + + if($this->invoice->update($id, DolibarrApiAccess::$user)) + return $this->get ($id); + + return false; + } + + /** + * Delete invoice + * + * @param int $id Invoice ID + * @return type + * + * @url DELETE invoice/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->facture->supprimer) { + throw new RestException(401); + } + $result = $this->invoice->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Facture not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('facture',$this->facture->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + if( !$this->invoice->delete($id)) + { + throw new RestException(500); + } + + return array( + 'success' => array( + 'code' => 200, + 'message' => 'Facture deleted' + ) + ); + + } + + /** + * Validate fields before create or update object + * + * @param array $data Datas to validate + * @return array + * + * @throws RestException + */ + function _validate($data) + { + $invoice = array(); + foreach (InvoiceApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $invoice[$field] = $data[$field]; + } + return $invoice; + } +} diff --git a/htdocs/compta/facture/class/facture-rec.class.php b/htdocs/compta/facture/class/facture-rec.class.php index 3c0bcf4319f..7d0de20ce0b 100644 --- a/htdocs/compta/facture/class/facture-rec.class.php +++ b/htdocs/compta/facture/class/facture-rec.class.php @@ -1,9 +1,11 @@ - * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -96,7 +98,7 @@ class FactureRec extends Facture // Clean parameters $this->titre=trim($this->titre); $this->usenewprice=empty($this->usenewprice)?0:$this->usenewprice; - + $this->db->begin(); // Charge facture modele @@ -161,7 +163,8 @@ class FactureRec extends Facture $facsrc->lines[$i]->product_type, $facsrc->lines[$i]->rang, $facsrc->lines[$i]->special_code, - $facsrc->lines[$i]->label + $facsrc->lines[$i]->label, + $facsrc->lines[$i]->fk_unit ); if ($result_insert < 0) @@ -260,7 +263,7 @@ class FactureRec extends Facture $this->rang = $obj->rang; $this->special_code = $obj->special_code; - if ($this->statut == 0) $this->brouillon = 1; + if ($this->statut == self::STATUS_DRAFT) $this->brouillon = 1; /* * Lines @@ -299,6 +302,7 @@ class FactureRec extends Facture $sql.= ' l.remise, l.remise_percent, l.subprice,'; $sql.= ' l.total_ht, l.total_tva, l.total_ttc,'; $sql.= ' l.rang, l.special_code,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.ref as product_ref, p.fk_product_type as fk_product_type, p.label as product_label, p.description as product_desc'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facturedet_rec as l'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product = p.rowid'; @@ -341,6 +345,7 @@ class FactureRec extends Facture $line->code_ventilation = $objp->fk_code_ventilation; $line->rang = $objp->rang; $line->special_code = $objp->special_code; + $line->fk_unit = $objp->fk_unit; // Ne plus utiliser $line->price = $objp->price; @@ -410,13 +415,14 @@ class FactureRec extends Facture * @param int $rang Position of line * @param int $special_code Special code * @param string $label Label of the line + * @param string $fk_unit Unit * @return int <0 if KO, Id of line if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $fk_product=0, $remise_percent=0, $price_base_type='HT', $info_bits=0, $fk_remise_except='', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $label='') + function addline($desc, $pu_ht, $qty, $txtva, $fk_product=0, $remise_percent=0, $price_base_type='HT', $info_bits=0, $fk_remise_except='', $pu_ttc=0, $type=0, $rang=-1, $special_code=0, $label='', $fk_unit=null) { $facid=$this->id; - dol_syslog("FactureRec::addline facid=$facid,desc=$desc,pu_ht=$pu_ht,qty=$qty,txtva=$txtva,fk_product=$fk_product,remise_percent=$remise_percent,date_start=$date_start,date_end=$date_end,ventil=$ventil,info_bits=$info_bits,fk_remise_except=$fk_remise_except,price_base_type=$price_base_type,pu_ttc=$pu_ttc,type=$type", LOG_DEBUG); + dol_syslog("FactureRec::addline facid=$facid,desc=$desc,pu_ht=$pu_ht,qty=$qty,txtva=$txtva,fk_product=$fk_product,remise_percent=$remise_percent,date_start=$date_start,date_end=$date_end,ventil=$ventil,info_bits=$info_bits,fk_remise_except=$fk_remise_except,price_base_type=$price_base_type,pu_ttc=$pu_ttc,type=$type,fk_unit=$fk_unit", LOG_DEBUG); include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; // Check parameters @@ -476,6 +482,7 @@ class FactureRec extends Facture $sql.= ", total_ttc"; $sql.= ", rang"; $sql.= ", special_code"; + $sql.= ", fk_unit"; $sql.= ") VALUES ("; $sql.= "'".$facid."'"; $sql.= ", ".(! empty($label)?"'".$this->db->escape($label)."'":"null"); @@ -492,7 +499,8 @@ class FactureRec extends Facture $sql.= ", '".price2num($total_tva)."'"; $sql.= ", '".price2num($total_ttc)."'"; $sql.= ", ".$rang; - $sql.= ", ".$special_code.")"; + $sql.= ", ".$special_code; + $sql.= ", ".($fk_unit?"'".$this->db->escape($fk_unit)."'":"null").")"; dol_syslog(get_class($this)."::addline", LOG_DEBUG); if ($this->db->query($sql)) @@ -547,9 +555,9 @@ class FactureRec extends Facture } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param string $option Sur quoi pointe le lien ('', 'withdraw') * @return string Chaine avec URL */ @@ -558,21 +566,21 @@ class FactureRec extends Facture global $langs; $result=''; + $label=$langs->trans("ShowInvoice").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='bill'; - $label=$langs->trans("ShowInvoice").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } - + /** * Initialise an instance with random values. * Used to build previews or test instances. @@ -593,5 +601,21 @@ class FactureRec extends Facture $this->usenewprice = 1; } - + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'facture_rec' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } diff --git a/htdocs/compta/facture/class/facture.class.php b/htdocs/compta/facture/class/facture.class.php index 3786f6aaf7a..d91352a4a1a 100644 --- a/htdocs/compta/facture/class/facture.class.php +++ b/htdocs/compta/facture/class/facture.class.php @@ -9,7 +9,9 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2012-2014 Christophe Battarel - * Copyright (C) 2012-2014 Marcos García + * Copyright (C) 2012-2015 Marcos García + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2012-2014 Raphaël Doursenaud * Copyright (C) 2013 Cedric Gross * Copyright (C) 2013 Florian Henry * @@ -34,6 +36,7 @@ */ include_once DOL_DOCUMENT_ROOT.'/core/class/commoninvoice.class.php'; +require_once DOL_DOCUMENT_ROOT ."/core/class/commonobjectline.class.php"; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; require_once DOL_DOCUMENT_ROOT.'/margin/lib/margins.lib.php'; @@ -89,14 +92,17 @@ class Facture extends CommonInvoice var $revenuestamp; /** * @deprecated + * @see note_private, note_public */ var $note; var $note_private; var $note_public; - //! 0=draft, - //! 1=validated (need to be paid), - //! 2=classified paid partially (close_code='discount_vat','badcustomer') or completely (close_code=null), - //! 3=classified abandoned and no payment done (close_code='badcustomer','abandon' or 'replaced') + + /** + * Invoice status + * @var int + * @see Facture::STATUS_DRAFT, Facture::STATUS_VALIDATED, Facture::STATUS_PAID, Facture::STATUS_ABANDONED + */ var $statut; //! Fermeture apres paiement partiel: discount_vat, badcustomer, abandon //! Fermeture alors que aucun paiement: replaced (si remplace), abandon @@ -123,16 +129,36 @@ class Facture extends CommonInvoice * @deprecated */ var $products=array(); + /** + * @var FactureLigne[] + */ var $lines=array(); var $line; var $extraparams=array(); - //! Pour board - var $nbtodo; - var $nbtodolate; var $specimen; var $fac_rec; + //Incoterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip + + /** + * @var int Situation cycle reference number + */ + public $situation_cycle_ref; + + /** + * @var int Situation counter inside the cycle + */ + public $situation_counter; + + /** + * @var bool Final situation flag + */ + public $situation_final; + /** * Standard invoice */ @@ -158,6 +184,44 @@ class Facture extends CommonInvoice */ const TYPE_PROFORMA = 4; + /** + * Situation invoice + */ + const TYPE_SITUATION = 5; + + /** + * Draft + */ + const STATUS_DRAFT = 0; + + /** + * Validated (need to be paid) + */ + const STATUS_VALIDATED = 1; + + /** + * Classified paid. + * If paid partially, $this->close_code can be: + * - CLOSECODE_DISCOUNTVAT + * - CLOSECODE_BADDEBT + * If paid completelly, this->close_code will be null + */ + const STATUS_CLOSED = 2; + + /** + * Classified abandoned and no payment done. + * $this->close_code can be: + * - CLOSECODE_BADDEBT + * - CLOSECODE_ABANDONED + * - CLOSECODE_REPLACED + */ + const STATUS_ABANDONED = 3; + + const CLOSECODE_DISCOUNTVAT = 'discount_vat'; + const CLOSECODE_BADDEBT = 'badcustomer'; + const CLOSECODE_ABANDONED = 'abandon'; + const CLOSECODE_REPLACED = 'replaced'; + /** * Constructor * @@ -226,6 +290,8 @@ class Facture extends CommonInvoice $this->mode_reglement_id = $_facrec->mode_reglement_id; $this->remise_absolue = $_facrec->remise_absolue; $this->remise_percent = $_facrec->remise_percent; + $this->fk_incoterms = $_facrec->fk_incoterms; + $this->location_incoterms= $_facrec->location_incoterms; // Clean parametres if (! $this->type) $this->type = self::TYPE_STANDARD; @@ -259,6 +325,8 @@ class Facture extends CommonInvoice $sql.= ", fk_account"; $sql.= ", fk_facture_source, fk_user_author, fk_projet"; $sql.= ", fk_cond_reglement, fk_mode_reglement, date_lim_reglement, model_pdf"; + $sql.= ", situation_cycle_ref, situation_counter, situation_final"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ")"; $sql.= " VALUES ("; $sql.= "'(PROV)'"; @@ -267,20 +335,26 @@ class Facture extends CommonInvoice $sql.= ", '".$this->type."'"; $sql.= ", '".$socid."'"; $sql.= ", '".$this->db->idate($now)."'"; - $sql.= ",".($this->remise_absolue>0?$this->remise_absolue:'NULL'); - $sql.= ",".($this->remise_percent>0?$this->remise_percent:'NULL'); + $sql.= ", ".($this->remise_absolue>0?$this->remise_absolue:'NULL'); + $sql.= ", ".($this->remise_percent>0?$this->remise_percent:'NULL'); $sql.= ", '".$this->db->idate($this->date)."'"; - $sql.= ",".($this->note_private?"'".$this->db->escape($this->note_private)."'":"null"); - $sql.= ",".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null"); - $sql.= ",".($this->ref_client?"'".$this->db->escape($this->ref_client)."'":"null"); - $sql.= ",".($this->ref_int?"'".$this->db->escape($this->ref_int)."'":"null"); + $sql.= ", ".($this->note_private?"'".$this->db->escape($this->note_private)."'":"null"); + $sql.= ", ".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null"); + $sql.= ", ".($this->ref_client?"'".$this->db->escape($this->ref_client)."'":"null"); + $sql.= ", ".($this->ref_int?"'".$this->db->escape($this->ref_int)."'":"null"); $sql.= ", ".($this->fk_account>0?$this->fk_account:'NULL'); - $sql.= ",".($this->fk_facture_source?"'".$this->db->escape($this->fk_facture_source)."'":"null"); - $sql.= ",".($user->id > 0 ? "'".$user->id."'":"null"); - $sql.= ",".($this->fk_project?$this->fk_project:"null"); - $sql.= ','.$this->cond_reglement_id; - $sql.= ",".$this->mode_reglement_id; - $sql.= ", '".$this->db->idate($datelim)."', '".$this->modelpdf."')"; + $sql.= ", ".($this->fk_facture_source?"'".$this->db->escape($this->fk_facture_source)."'":"null"); + $sql.= ", ".($user->id > 0 ? "'".$user->id."'":"null"); + $sql.= ", ".($this->fk_project?$this->fk_project:"null"); + $sql.= ", ".$this->cond_reglement_id; + $sql.= ", ".$this->mode_reglement_id; + $sql.= ", '".$this->db->idate($datelim)."', '".$this->modelpdf."'"; + $sql.= ", ".($this->situation_cycle_ref?"'".$this->db->escape($this->situation_cycle_ref)."'":"null"); + $sql.= ", ".($this->situation_counter?"'".$this->db->escape($this->situation_counter)."'":"null"); + $sql.= ", ".($this->situation_final?$this->situation_final:0); + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; + $sql.=")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); $resql=$this->db->query($sql); @@ -410,7 +484,10 @@ class Facture extends CommonInvoice $this->lines[$i]->fk_fournprice, $this->lines[$i]->pa_ht, $this->lines[$i]->label, - $this->lines[$i]->array_options + $this->lines[$i]->array_options, + $this->lines[$i]->situation_percent, + $this->lines[$i]->fk_prev_id, + $this->lines[$i]->fk_unit ); if ($result < 0) { @@ -462,7 +539,11 @@ class Facture extends CommonInvoice 0, null, 0, - $_facrec->lines[$i]->label + $_facrec->lines[$i]->label, + null, + $_facrec->lines[$i]->situation_percent, + '', + $_facrec->lines[$i]->fk_unit ); if ( $result_insert < 0) @@ -483,7 +564,7 @@ class Facture extends CommonInvoice $action='create'; // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! + // TODO le hook fait double emploi avec le trigger !! $hookmanager->initHooks(array('invoicedao')); $parameters=array('invoiceid'=>$this->id); $reshook=$hookmanager->executeHooks('insertExtraFields',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks @@ -567,10 +648,14 @@ class Facture extends CommonInvoice $facture->lines = $this->lines; // Tableau des lignes de factures $facture->products = $this->lines; // Tant que products encore utilise + $facture->situation_counter = $this->situation_counter; + $facture->situation_cycle_ref=$this->situation_cycle_ref; + $facture->situation_final = $this->situation_final; // Loop on each line of new invoice foreach($facture->lines as $i => $line) { + $facture->lines[$i]->fk_prev_id = $this->lines[$i]->rowid; if ($invertdetail) { $facture->lines[$i]->subprice = -$facture->lines[$i]->subprice; @@ -638,7 +723,7 @@ class Facture extends CommonInvoice } $this->id=0; - $this->statut=0; + $this->statut= self::STATUS_DRAFT; // Clear fields $this->date = dol_now(); // Date of invoice is set to current date when cloning. // TODO Best is to ask date into confirm box @@ -750,6 +835,7 @@ class Facture extends CommonInvoice $line->rang = $object->lines[$i]->rang; $line->special_code = $object->lines[$i]->special_code; $line->fk_parent_line = $object->lines[$i]->fk_parent_line; + $line->fk_unit = $object->lines[$i]->fk_unit; $line->fk_fournprice = $object->lines[$i]->fk_fournprice; $marginInfos = getMarginInfos($object->lines[$i]->subprice, $object->lines[$i]->remise_percent, $object->lines[$i]->tva_tx, $object->lines[$i]->localtax1_tx, $object->lines[$i]->localtax2_tx, $object->lines[$i]->fk_fournprice, $object->lines[$i]->pa_ht); @@ -838,16 +924,27 @@ class Facture extends CommonInvoice if ($this->type == self::TYPE_CREDIT_NOTE) $picto.='a'; // Credit note if ($this->type == self::TYPE_DEPOSIT) $picto.='d'; // Deposit invoice - $label=$langs->trans("ShowInvoice").': '.$this->ref; + $label = '' . $langs->trans("ShowInvoice") . ''; + if (! empty($this->ref)) + $label .= '
'.$langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->ref_client)) + $label .= '
' . $langs->trans('RefCustomer') . ': ' . $this->ref_client; + if (! empty($this->total_ht)) + $label.= '
' . $langs->trans('AmountHT') . ': ' . price($this->total_ht, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_tva)) + $label.= '
' . $langs->trans('TVA') . ': ' . price($this->total_tva, 0, $langs, 0, -1, -1, $conf->currency); + if (! empty($this->total_ttc)) + $label.= '
' . $langs->trans('AmountTTC') . ': ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); if ($this->type == self::TYPE_REPLACEMENT) $label=$langs->transnoentitiesnoconv("ShowInvoiceReplace").': '.$this->ref; if ($this->type == self::TYPE_CREDIT_NOTE) $label=$langs->transnoentitiesnoconv("ShowInvoiceAvoir").': '.$this->ref; if ($this->type == self::TYPE_DEPOSIT) $label=$langs->transnoentitiesnoconv("ShowInvoiceDeposit").': '.$this->ref; + if ($this->type == self::TYPE_SITUATION) $label=$langs->transnoentitiesnoconv("ShowInvoiceSituation").': '.$this->ref; if ($moretitle) $label.=' - '.$moretitle; - $linkstart=''; + $linkstart=''; $linkend=''; - if ($withpicto) $result.=($linkstart.img_object(($max?dol_trunc($label,$max):$label),$picto).$linkend); + if ($withpicto) $result.=($linkstart.img_object(($max?dol_trunc($label,$max):$label), $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; if ($withpicto != 2) $result.=$linkstart.($max?dol_trunc($this->ref,$max):$this->ref).$linkend; return $result; @@ -878,12 +975,16 @@ class Facture extends CommonInvoice $sql.= ', f.note_private, f.note_public, f.fk_statut, f.paye, f.close_code, f.close_note, f.fk_user_author, f.fk_user_valid, f.model_pdf'; $sql.= ', f.fk_facture_source'; $sql.= ', f.fk_mode_reglement, f.fk_cond_reglement, f.fk_projet, f.extraparams'; + $sql.= ', f.situation_cycle_ref, f.situation_counter, f.situation_final'; $sql.= ', f.fk_account'; $sql.= ', p.code as mode_reglement_code, p.libelle as mode_reglement_libelle'; $sql.= ', c.code as cond_reglement_code, c.libelle as cond_reglement_libelle, c.libelle_facture as cond_reglement_libelle_doc'; + $sql.= ', f.fk_incoterms, f.location_incoterms'; + $sql.= ", i.libelle as libelle_incoterms"; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture as f'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_payment_term as c ON f.fk_cond_reglement = c.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_paiement as p ON f.fk_mode_reglement = p.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON f.fk_incoterms = i.rowid'; $sql.= ' WHERE f.entity = '.$conf->entity; if ($rowid) $sql.= " AND f.rowid=".$rowid; if ($ref) $sql.= " AND f.facnumber='".$this->db->escape($ref)."'"; @@ -938,10 +1039,17 @@ class Facture extends CommonInvoice $this->user_author = $obj->fk_user_author; $this->user_valid = $obj->fk_user_valid; $this->modelpdf = $obj->model_pdf; - + $this->situation_cycle_ref = $obj->situation_cycle_ref; + $this->situation_counter = $obj->situation_counter; + $this->situation_final = $obj->situation_final; $this->extraparams = (array) json_decode($obj->extraparams, true); - if ($this->statut == 0) $this->brouillon = 1; + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; + + if ($this->statut == self::STATUS_DRAFT) $this->brouillon = 1; // Retreive all extrafield for invoice // fetch optionals attributes and labels @@ -989,10 +1097,12 @@ class Facture extends CommonInvoice $this->lines=array(); $sql = 'SELECT l.rowid, l.fk_product, l.fk_parent_line, l.label as custom_label, l.description, l.product_type, l.price, l.qty, l.tva_tx, '; + $sql .= ' l.situation_percent, l.fk_prev_id,'; $sql.= ' l.localtax1_tx, l.localtax2_tx, l.localtax1_type, l.localtax2_type, l.remise_percent, l.fk_remise_except, l.subprice,'; $sql.= ' l.rang, l.special_code,'; $sql.= ' l.date_start as date_start, l.date_end as date_end,'; $sql.= ' l.info_bits, l.total_ht, l.total_tva, l.total_localtax1, l.total_localtax2, l.total_ttc, l.fk_code_ventilation, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.ref as product_ref, p.fk_product_type as fk_product_type, p.label as product_label, p.description as product_desc'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facturedet as l'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product = p.rowid'; @@ -1010,7 +1120,8 @@ class Facture extends CommonInvoice $objp = $this->db->fetch_object($result); $line = new FactureLigne($this->db); - $line->rowid = $objp->rowid; + $line->id = $objp->rowid; + $line->rowid = $objp->rowid; // deprecated $line->label = $objp->custom_label; // deprecated $line->desc = $objp->description; // Description line $line->product_type = $objp->product_type; // Type of line @@ -1048,6 +1159,9 @@ class Facture extends CommonInvoice $line->rang = $objp->rang; $line->special_code = $objp->special_code; $line->fk_parent_line = $objp->fk_parent_line; + $line->situation_percent= $objp->situation_percent; + $line->fk_prev_id = $objp->fk_prev_id; + $line->fk_unit = $objp->fk_unit; $this->lines[$i] = $line; @@ -1088,6 +1202,17 @@ class Facture extends CommonInvoice if (isset($this->note_public)) $this->note_public=trim($this->note_public); if (isset($this->modelpdf)) $this->modelpdf=trim($this->modelpdf); if (isset($this->import_key)) $this->import_key=trim($this->import_key); + if (empty($this->situation_cycle_ref)) { + $this->situation_cycle_ref = 'null'; + } + + if (empty($this->situation_counter)) { + $this->situation_counter = 'null'; + } + + if (empty($this->situation_final)) { + $this->situation_final = '0'; + } // Check parameters // Put here code to add control on parameters values @@ -1125,7 +1250,10 @@ class Facture extends CommonInvoice $sql.= " note_private=".(isset($this->note_private)?"'".$this->db->escape($this->note_private)."'":"null").","; $sql.= " note_public=".(isset($this->note_public)?"'".$this->db->escape($this->note_public)."'":"null").","; $sql.= " model_pdf=".(isset($this->modelpdf)?"'".$this->db->escape($this->modelpdf)."'":"null").","; - $sql.= " import_key=".(isset($this->import_key)?"'".$this->db->escape($this->import_key)."'":"null").""; + $sql.= " import_key=".(isset($this->import_key)?"'".$this->db->escape($this->import_key)."'":"null"); + $sql.= ", situation_cycle_ref=".$this->situation_cycle_ref; + $sql.= ", situation_counter=".$this->situation_counter; + $sql.= ", situation_final=".$this->situation_final; $sql.= " WHERE rowid=".$this->id; @@ -1461,7 +1589,7 @@ class Facture extends CommonInvoice dol_syslog(get_class($this)."::set_paid rowid=".$this->id, LOG_DEBUG); $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture SET'; - $sql.= ' fk_statut=2'; + $sql.= ' fk_statut='.self::STATUS_CLOSED; if (! $close_code) $sql.= ', paye=1'; if ($close_code) $sql.= ", close_code='".$this->db->escape($close_code)."'"; if ($close_note) $sql.= ", close_note='".$this->db->escape($close_note)."'"; @@ -1516,7 +1644,7 @@ class Facture extends CommonInvoice $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture'; - $sql.= ' SET paye=0, fk_statut=1, close_code=null, close_note=null'; + $sql.= ' SET paye=0, fk_statut='.self::STATUS_VALIDATED.', close_code=null, close_note=null'; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_unpaid", LOG_DEBUG); @@ -1569,7 +1697,7 @@ class Facture extends CommonInvoice $this->db->begin(); $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture SET'; - $sql.= ' fk_statut=3'; + $sql.= ' fk_statut='.self::STATUS_ABANDONED; if ($close_code) $sql.= ", close_code='".$this->db->escape($close_code)."'"; if ($close_note) $sql.= ", close_note='".$this->db->escape($close_note)."'"; $sql.= ' WHERE rowid = '.$this->id; @@ -1640,7 +1768,8 @@ class Facture extends CommonInvoice return 0; } - if (! $user->rights->facture->valider) + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->facture->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->facture->invoice_advance->validate))) { $this->error='Permission denied'; dol_syslog(get_class($this)."::validate ".$this->error, LOG_ERR); @@ -1719,7 +1848,7 @@ class Facture extends CommonInvoice // Validate $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture'; - $sql.= " SET facnumber='".$num."', fk_statut = 1, fk_user_valid = ".$user->id.", date_valid = '".$this->db->idate($now)."'"; + $sql.= " SET facnumber='".$num."', fk_statut = ".self::STATUS_VALIDATED.", fk_user_valid = ".$user->id.", date_valid = '".$this->db->idate($now)."'"; if (! empty($conf->global->FAC_FORCE_DATE_VALIDATION)) // If option enabled, we force invoice date { $sql.= ", datef='".$this->db->idate($this->date)."'"; @@ -1820,9 +1949,18 @@ class Facture extends CommonInvoice { $this->ref = $num; $this->facnumber=$num; - $this->statut=1; + $this->statut= self::STATUS_VALIDATED; $this->brouillon=0; $this->date_validation=$now; + $i = 0; + $final = True; + while ($i < count($this->lines) && $final == True) { + $final = ($this->lines[$i]->situation_percent == 100); + $i++; + } + if ($final) { + $this->setFinal(); + } } } else @@ -1855,7 +1993,7 @@ class Facture extends CommonInvoice $error=0; - if ($this->statut == 0) + if ($this->statut == self::STATUS_DRAFT) { dol_syslog(get_class($this)."::set_draft already draft status", LOG_WARNING); return 0; @@ -1864,7 +2002,7 @@ class Facture extends CommonInvoice $this->db->begin(); $sql = "UPDATE ".MAIN_DB_PREFIX."facture"; - $sql.= " SET fk_statut = 0"; + $sql.= " SET fk_statut = ".self::STATUS_DRAFT; $sql.= " WHERE rowid = ".$this->id; dol_syslog(get_class($this)."::set_draft", LOG_DEBUG); @@ -1895,7 +2033,7 @@ class Facture extends CommonInvoice { $old_statut=$this->statut; $this->brouillon = 1; - $this->statut = 0; + $this->statut = self::STATUS_DRAFT; // Call trigger $result=$this->call_trigger('BILL_UNVALIDATE',$user); if ($result < 0) @@ -1961,14 +2099,22 @@ class Facture extends CommonInvoice * @param int $fk_fournprice Supplier price id (to calculate margin) or '' * @param int $pa_ht Buying price of line (to calculate margin) or '' * @param string $label Label of the line (deprecated, do not use) - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param int $situation_percent Situation advance percentage + * @param int $fk_prev_id Previous situation line id reference + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int <0 if KO, Id of line if OK */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type=self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='', $array_option=0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1=0, $txlocaltax2=0, $fk_product=0, $remise_percent=0, $date_start='', $date_end='', $ventil=0, $info_bits=0, $fk_remise_except='', $price_base_type='HT', $pu_ttc=0, $type=self::TYPE_STANDARD, $rang=-1, $special_code=0, $origin='', $origin_id=0, $fk_parent_line=0, $fk_fournprice=null, $pa_ht=0, $label='', $array_options=0, $situation_percent=100, $fk_prev_id='', $fk_unit = null) { + // Deprecation warning + if ($label) { + dol_syslog(__METHOD__ . ": using line label is deprecated", LOG_WARNING); + } + global $mysoc, $conf, $langs; - dol_syslog(get_class($this)."::addline facid=$this->id,desc=$desc,pu_ht=$pu_ht,qty=$qty,txtva=$txtva, txlocaltax1=$txlocaltax1, txlocaltax2=$txlocaltax2, fk_product=$fk_product,remise_percent=$remise_percent,date_start=$date_start,date_end=$date_end,ventil=$ventil,info_bits=$info_bits,fk_remise_except=$fk_remise_except,price_base_type=$price_base_type,pu_ttc=$pu_ttc,type=$type", LOG_DEBUG); + dol_syslog(get_class($this)."::addline facid=$this->id,desc=$desc,pu_ht=$pu_ht,qty=$qty,txtva=$txtva, txlocaltax1=$txlocaltax1, txlocaltax2=$txlocaltax2, fk_product=$fk_product,remise_percent=$remise_percent,date_start=$date_start,date_end=$date_end,ventil=$ventil,info_bits=$info_bits,fk_remise_except=$fk_remise_except,price_base_type=$price_base_type,pu_ttc=$pu_ttc,type=$type, fk_unit=$fk_unit", LOG_DEBUG); include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; // Clean parameters @@ -1981,6 +2127,8 @@ class Facture extends CommonInvoice if (empty($txlocaltax1)) $txlocaltax1=0; if (empty($txlocaltax2)) $txlocaltax2=0; if (empty($fk_parent_line) || $fk_parent_line < 0) $fk_parent_line=0; + if (empty($fk_prev_id)) $fk_prev_id = 'null'; + if (is_null($situation_percent) || $situation_percent > 100) $situation_percent = 100; $remise_percent=price2num($remise_percent); $qty=price2num($qty); @@ -2014,7 +2162,7 @@ class Facture extends CommonInvoice $localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty, $mysoc); - $tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type); + $tabprice = calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type, $situation_percent); $total_ht = $tabprice[0]; $total_tva = $tabprice[1]; @@ -2038,7 +2186,7 @@ class Facture extends CommonInvoice $result=$product->fetch($fk_product); $product_type=$product->type; - if($conf->global->STOCK_MUST_BE_ENOUGH_FOR_INVOICE && $product_type == 0 && $product->stock_reel < $qty) { + if (! empty($conf->global->STOCK_MUST_BE_ENOUGH_FOR_INVOICE) && $product_type == 0 && $product->stock_reel < $qty) { $this->error=$langs->trans('ErrorStockIsNotEnough'); $this->db->rollback(); return -3; @@ -2068,9 +2216,9 @@ class Facture extends CommonInvoice $this->line->info_bits=$info_bits; $this->line->fk_remise_except=$fk_remise_except; $this->line->total_ht= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative - $this->line->total_tva= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva); - $this->line->total_localtax1=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax1):$total_localtax1); - $this->line->total_localtax2=(($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax2):$total_localtax2); + $this->line->total_tva= $total_tva; + $this->line->total_localtax1=$total_localtax1; + $this->line->total_localtax2=$total_localtax2; $this->line->localtax1_type = $localtaxes_type[0]; $this->line->localtax2_type = $localtaxes_type[2]; $this->line->total_ttc= (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc); @@ -2078,13 +2226,16 @@ class Facture extends CommonInvoice $this->line->fk_parent_line=$fk_parent_line; $this->line->origin=$origin; $this->line->origin_id=$origin_id; + $this->line->situation_percent = $situation_percent; + $this->line->fk_prev_id = $fk_prev_id; + $this->line->fk_unit=$fk_unit; // infos marge $this->line->fk_fournprice = $fk_fournprice; $this->line->pa_ht = $pa_ht; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->insert(); @@ -2138,16 +2289,23 @@ class Facture extends CommonInvoice * @param int $pa_ht Price (without tax) of product when it was bought * @param string $label Label of the line (deprecated, do not use) * @param int $special_code Special code (also used by externals modules!) - * @param array $array_option extrafields array + * @param array $array_options extrafields array + * @param int $situation_percent Situation advance percentage + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int < 0 if KO, > 0 if OK */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type= self::TYPE_STANDARD, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_option=0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $txtva, $txlocaltax1=0, $txlocaltax2=0, $price_base_type='HT', $info_bits=0, $type= self::TYPE_STANDARD, $fk_parent_line=0, $skip_update_total=0, $fk_fournprice=null, $pa_ht=0, $label='', $special_code=0, $array_options=0, $situation_percent=0, $fk_unit = null) { + // Deprecation warning + if ($label) { + dol_syslog(__METHOD__ . ": using line label is deprecated", LOG_WARNING); + } + include_once DOL_DOCUMENT_ROOT.'/core/lib/price.lib.php'; global $mysoc; - dol_syslog(get_class($this)."::updateline rowid=$rowid, desc=$desc, pu=$pu, qty=$qty, remise_percent=$remise_percent, date_start=$date_start, date_end=$date_end, txtva=$txtva, txlocaltax1=$txlocaltax1, txlocaltax2=$txlocaltax2, price_base_type=$price_base_type, info_bits=$info_bits, type=$type, fk_parent_line=$fk_parent_line pa_ht=$pa_ht, special_code=$special_code", LOG_DEBUG); + dol_syslog(get_class($this)."::updateline rowid=$rowid, desc=$desc, pu=$pu, qty=$qty, remise_percent=$remise_percent, date_start=$date_start, date_end=$date_end, txtva=$txtva, txlocaltax1=$txlocaltax1, txlocaltax2=$txlocaltax2, price_base_type=$price_base_type, info_bits=$info_bits, type=$type, fk_parent_line=$fk_parent_line pa_ht=$pa_ht, special_code=$special_code fk_unit=$fk_unit", LOG_DEBUG); if ($this->brouillon) { @@ -2157,6 +2315,7 @@ class Facture extends CommonInvoice if (empty($qty)) $qty=0; if (empty($fk_parent_line) || $fk_parent_line < 0) $fk_parent_line=0; if (empty($special_code) || $special_code == 3) $special_code=0; + if ($situation_percent > 100 || is_null($situation_percent) || $situation_percent == "") $situation_percent = 100; $remise_percent = price2num($remise_percent); $qty = price2num($qty); @@ -2175,7 +2334,8 @@ class Facture extends CommonInvoice $localtaxes_type=getLocalTaxesFromRate($txtva,0,$this->thirdparty, $mysoc); - $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type); + $tabprice=calcul_price_total($qty, $pu, $remise_percent, $txtva, $txlocaltax1, $txlocaltax2, 0, $price_base_type, $info_bits, $type, $mysoc, $localtaxes_type, $situation_percent); + $total_ht = $tabprice[0]; $total_tva = $tabprice[1]; $total_ttc = $tabprice[2]; @@ -2216,15 +2376,17 @@ class Facture extends CommonInvoice $this->line->date_start = $date_start; $this->line->date_end = $date_end; $this->line->total_ht = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ht):$total_ht); // For credit note and if qty is negative, total is negative - $this->line->total_tva = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_tva):$total_tva); - $this->line->total_localtax1 = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax1):$total_localtax1); - $this->line->total_localtax2 = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_localtax2):$total_localtax2); + $this->line->total_tva = $total_tva; + $this->line->total_localtax1 = $total_localtax1; + $this->line->total_localtax2 = $total_localtax2; $this->line->total_ttc = (($this->type==self::TYPE_CREDIT_NOTE||$qty<0)?-abs($total_ttc):$total_ttc); $this->line->info_bits = $info_bits; $this->line->special_code = $special_code; $this->line->product_type = $type; $this->line->fk_parent_line = $fk_parent_line; $this->line->skip_update_total = $skip_update_total; + $this->line->situation_percent = $situation_percent; + $this->line->fk_unit = $fk_unit; // infos marge if (!empty($fk_product) && empty($fk_fournprice) && empty($pa_ht)) { @@ -2238,8 +2400,8 @@ class Facture extends CommonInvoice } $this->line->pa_ht = $pa_ht; - if (is_array($array_option) && count($array_option)>0) { - $this->line->array_options=$array_option; + if (is_array($array_options) && count($array_options)>0) { + $this->line->array_options=$array_options; } $result=$this->line->update(); @@ -2267,6 +2429,31 @@ class Facture extends CommonInvoice } } + /** + * Update invoice line with percentage + * + * @param FactureLigne $line Invoice line + * @param int $percent Percentage + * @return void + */ + function update_percent($line, $percent) + { + include_once(DOL_DOCUMENT_ROOT . '/core/lib/price.lib.php'); + + // Cap percentages to 100 + if ($percent > 100) $percent = 100; + $line->situation_percent = $percent; + $tabprice = calcul_price_total($line->qty, $line->subprice, $line->remise_percent, $line->tva_tx, $line->localtax1_tx, $line->localtax2_tx, $line->product_type, 'HT', 0, 0, '', '', $percent); + $line->total_ht = $tabprice[0]; + $line->total_tva = $tabprice[1]; + $line->total_ttc = $tabprice[2]; + $line->total_localtax1 = $tabprice[9]; + $line->total_localtax2 = $tabprice[10]; + $line->update(); + $this->update_price(1); + $this->db->commit(); + } + /** * Delete line in database * @@ -2351,7 +2538,7 @@ class Facture extends CommonInvoice $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture'; $sql.= ' SET remise_percent = '.$remise; $sql.= ' WHERE rowid = '.$this->id; - $sql.= ' AND fk_statut = 0'; + $sql.= ' AND fk_statut = '.self::STATUS_DRAFT; if ($this->db->query($sql)) { @@ -2386,7 +2573,7 @@ class Facture extends CommonInvoice $sql = 'UPDATE '.MAIN_DB_PREFIX.'facture'; $sql.= ' SET remise_absolue = '.$remise; $sql.= ' WHERE rowid = '.$this->id; - $sql.= ' AND fk_statut = 0'; + $sql.= ' AND fk_statut = '.self::STATUS_DRAFT; dol_syslog(get_class($this)."::set_remise_absolue", LOG_DEBUG); @@ -2681,8 +2868,12 @@ class Facture extends CommonInvoice if ($maxfacnumber == '' && $ventilExportCompta == 0) return 1; // If invoice to delete is last one and not already dispatched, we can delete if ($maxfacnumber == $this->ref && $ventilExportCompta == 0) return 1; + if ($this->situation_cycle_ref) { + $last = $this->is_last_in_cycle(); + return $last; + } } - else if ($this->statut == 0 && $facref == 'PROV') // Si facture brouillon et provisoire + else if ($this->statut == self::STATUS_DRAFT && $facref == 'PROV') // Si facture brouillon et provisoire { return 1; } @@ -2722,7 +2913,7 @@ class Facture extends CommonInvoice $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; } if ($socid) $sql.= " AND s.rowid = ".$socid; - if ($draft) $sql.= " AND f.fk_statut = 0"; + if ($draft) $sql.= " AND f.fk_statut = ".self::STATUS_DRAFT; if (is_object($excluser)) $sql.= " AND f.fk_user_author <> ".$excluser->id; $sql.= $this->db->order($sortfield,$sortorder); $sql.= $this->db->plimit($limit,$offset); @@ -2783,7 +2974,7 @@ class Facture extends CommonInvoice $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON f.rowid = ff.fk_facture_source"; - $sql.= " WHERE (f.fk_statut = 1 OR (f.fk_statut = 3 AND f.close_code = 'abandon'))"; + $sql.= " WHERE (f.fk_statut = ".self::STATUS_VALIDATED." OR (f.fk_statut = ".self::STATUS_ABANDONED." AND f.close_code = '".self::CLOSECODE_ABANDONED."'))"; $sql.= " AND f.entity = ".$conf->entity; $sql.= " AND f.paye = 0"; // Pas classee payee completement $sql.= " AND pf.fk_paiement IS NULL"; // Aucun paiement deja fait @@ -2831,7 +3022,7 @@ class Facture extends CommonInvoice $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid = pf.fk_facture"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as ff ON (f.rowid = ff.fk_facture_source AND ff.type=".self::TYPE_REPLACEMENT.")"; $sql.= " WHERE f.entity = ".$conf->entity; - $sql.= " AND f.fk_statut in (1,2)"; + $sql.= " AND f.fk_statut in (".self::STATUS_VALIDATED.",".self::STATUS_CLOSED.")"; // $sql.= " WHERE f.fk_statut >= 1"; // $sql.= " AND (f.paye = 1"; // Classee payee completement // $sql.= " OR f.close_code IS NOT NULL)"; // Classee payee partiellement @@ -2847,8 +3038,8 @@ class Facture extends CommonInvoice while ($obj=$this->db->fetch_object($resql)) { $qualified=0; - if ($obj->fk_statut == 1) $qualified=1; - if ($obj->fk_statut == 2) $qualified=1; + if ($obj->fk_statut == self::STATUS_VALIDATED) $qualified=1; + if ($obj->fk_statut == self::STATUS_CLOSED) $qualified=1; if ($qualified) { //$ref=$obj->facnumber; @@ -2870,16 +3061,19 @@ class Facture extends CommonInvoice /** * Create a withdrawal request for a standing order * - * @param User $user User asking standing order + * @param User $fuser User asking standing order + * @param float $amount Amount we request withdraw for * @return int <0 if KO, >0 if OK */ - function demande_prelevement($user) + function demande_prelevement($fuser, $amount=0) { + global $langs; + $error=0; dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG); - if ($this->statut > 0 && $this->paye == 0) + if ($this->statut > self::STATUS_DRAFT && $this->paye == 0) { require_once DOL_DOCUMENT_ROOT . '/societe/class/companybankaccount.class.php'; $bac = new CompanyBankAccount($this->db); @@ -2908,27 +3102,36 @@ class Facture extends CommonInvoice // For example print 239.2 - 229.3 - 9.9; does not return 0. //$resteapayer=bcadd($this->total_ttc,$totalpaye,$conf->global->MAIN_MAX_DECIMALS_TOT); //$resteapayer=bcadd($resteapayer,$totalavoir,$conf->global->MAIN_MAX_DECIMALS_TOT); - $resteapayer = price2num($this->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits,'MT'); + if (empty($amount)) $amount = price2num($this->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits,'MT'); - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'prelevement_facture_demande'; - $sql .= ' (fk_facture, amount, date_demande, fk_user_demande, code_banque, code_guichet, number, cle_rib)'; - $sql .= ' VALUES ('.$this->id; - $sql .= ",'".price2num($resteapayer)."'"; - $sql .= ",'".$this->db->idate($now)."'"; - $sql .= ",".$user->id; - $sql .= ",'".$bac->code_banque."'"; - $sql .= ",'".$bac->code_guichet."'"; - $sql .= ",'".$bac->number."'"; - $sql .= ",'".$bac->cle_rib."')"; + if (is_numeric($amount) && $amount != 0) + { + $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'prelevement_facture_demande'; + $sql .= ' (fk_facture, amount, date_demande, fk_user_demande, code_banque, code_guichet, number, cle_rib)'; + $sql .= ' VALUES ('.$this->id; + $sql .= ",'".price2num($amount)."'"; + $sql .= ",'".$this->db->idate($now)."'"; + $sql .= ",".$fuser->id; + $sql .= ",'".$bac->code_banque."'"; + $sql .= ",'".$bac->code_guichet."'"; + $sql .= ",'".$bac->number."'"; + $sql .= ",'".$bac->cle_rib."')"; - dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG); - $resql=$this->db->query($sql); - if (! $resql) - { - $this->error=$this->db->lasterror(); - dol_syslog(get_class($this).'::demandeprelevement Erreur'); - $error++; - } + dol_syslog(get_class($this)."::demande_prelevement", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) + { + $this->error=$this->db->lasterror(); + dol_syslog(get_class($this).'::demandeprelevement Erreur'); + $error++; + } + } + else + { + $this->error='WithdrawRequestErrorNilAmount'; + dol_syslog(get_class($this).'::demandeprelevement WithdrawRequestErrorNilAmount'); + $error++; + } if (! $error) { @@ -2968,11 +3171,11 @@ class Facture extends CommonInvoice /** * Supprime une demande de prelevement * - * @param User $user utilisateur creant la demande + * @param User $fuser User making delete * @param int $did id de la demande a supprimer * @return int <0 if OK, >0 if KO */ - function demande_prelevement_delete($user, $did) + function demande_prelevement_delete($fuser, $did) { $sql = 'DELETE FROM '.MAIN_DB_PREFIX.'prelevement_facture_demande'; $sql .= ' WHERE rowid = '.$did; @@ -2993,16 +3196,13 @@ class Facture extends CommonInvoice /** * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * - * @param User $user Object user - * @return int <0 if KO, >0 if OK + * @param User $user Object user + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { - global $conf, $user; + global $conf, $user, $langs; - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; $clause = " WHERE"; $sql = "SELECT f.rowid, f.date_lim_reglement as datefin"; @@ -3015,18 +3215,31 @@ class Facture extends CommonInvoice } $sql.= $clause." f.paye=0"; $sql.= " AND f.entity = ".$conf->entity; - $sql.= " AND f.fk_statut = 1"; + $sql.= " AND f.fk_statut = ".self::STATUS_VALIDATED; if ($user->societe_id) $sql.= " AND f.fk_soc = ".$user->societe_id; $resql=$this->db->query($sql); if ($resql) { + $langs->load("bills"); + $now=dol_now(); + + $response = new WorkboardResponse(); + $response->warning_delay=$conf->facture->client->warning_delay/60/60/24; + $response->label=$langs->trans("CustomerBillsUnpaid"); + $response->url=DOL_URL_ROOT.'/compta/facture/list.php?search_status=1'; + $response->img=img_object($langs->trans("Bills"),"bill"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($this->db->jdate($obj->datefin) < ($now - $conf->facture->client->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { @@ -3108,6 +3321,8 @@ class Facture extends CommonInvoice $this->note_public='This is a comment (public)'; $this->note_private='This is a comment (private)'; $this->note='This is a comment (private)'; + $this->fk_incoterms=0; + $this->location_incoterms=''; if (empty($option) || $option != 'nolines') { @@ -3240,11 +3455,14 @@ class Facture extends CommonInvoice { $sql = 'SELECT l.rowid, l.label as custom_label, l.description, l.fk_product, l.product_type, l.qty, l.tva_tx,'; $sql.= ' l.fk_remise_except, l.localtax1_tx, l.localtax2_tx,'; + $sql .= ' l.situation_percent, l.fk_prev_id,'; $sql.= ' l.remise_percent, l.subprice, l.info_bits, l.rang, l.special_code, l.fk_parent_line,'; $sql.= ' l.total_ht, l.total_tva, l.total_ttc, l.fk_product_fournisseur_price as fk_fournprice, l.buy_price_ht as pa_ht,'; $sql.= ' l.date_start, l.date_end,'; + $sql.= ' l.fk_unit,'; $sql.= ' p.ref as product_ref, p.fk_product_type, p.label as product_label,'; - $sql.= ' p.description as product_desc'; + $sql.= ' p.description as product_desc,'; + $sql.= ' p.entity'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facturedet as l'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON l.fk_product=p.rowid'; $sql.= ' WHERE l.fk_facture = '.$this->id; @@ -3267,6 +3485,7 @@ class Facture extends CommonInvoice $this->lines[$i]->description = $obj->description; $this->lines[$i]->fk_product = $obj->fk_product; $this->lines[$i]->ref = $obj->product_ref; + $this->lines[$i]->entity = $obj->entity; // Product entity $this->lines[$i]->product_label = $obj->product_label; $this->lines[$i]->product_desc = $obj->product_desc; $this->lines[$i]->fk_product_type = $obj->fk_product_type; @@ -3281,6 +3500,8 @@ class Facture extends CommonInvoice $this->lines[$i]->total_tva = $obj->total_tva; $this->lines[$i]->total_ttc = $obj->total_ttc; $this->lines[$i]->fk_parent_line = $obj->fk_parent_line; + $this->lines[$i]->situation_percent = $obj->situation_percent; + $this->lines[$i]->fk_prev_id = $obj->fk_prev_id; $this->lines[$i]->special_code = $obj->special_code; $this->lines[$i]->rang = $obj->rang; $this->lines[$i]->date_start = $this->db->jdate($obj->date_start); @@ -3290,6 +3511,7 @@ class Facture extends CommonInvoice $this->lines[$i]->pa_ht = $marginInfos[0]; $this->lines[$i]->marge_tx = $marginInfos[1]; $this->lines[$i]->marque_tx = $marginInfos[2]; + $this->lines[$i]->fk_unit = $obj->fk_unit; $i++; } @@ -3307,7 +3529,7 @@ class Facture extends CommonInvoice /** * Create a document onto disk according to template module. * - * @param string $modele Force template to use ('' to not force) + * @param string $modele Generator to use. Caller must set it to obj->modelpdf or GETPOST('modelpdf') for example. * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines * @param int $hidedesc Hide description @@ -3335,49 +3557,167 @@ class Facture extends CommonInvoice $modelpath = "core/modules/facture/doc/"; - return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); + $result=$this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); + + return $result; } + /** + * Gets the smallest reference available for a new cycle + * + * @return int >= 1 if OK, -1 if error + */ + function newCycle() + { + $sql = 'SELECT max(situation_cycle_ref) FROM ' . MAIN_DB_PREFIX . 'facture as f'; + $sql.= " WHERE f.entity in (".getEntity('facture').")"; + $resql = $this->db->query($sql); + if ($resql) { + if ($resql->num_rows > 0) + { + $res = $this->db->fetch_array($resql); + $ref = $res['max(situation_cycle_ref)']; + $ref++; + } else { + $ref = 1; + } + $this->db->free($resql); + return $ref; + } else { + $this->error = $this->db->lasterror(); + dol_syslog("Error sql=" . $sql . ", error=" . $this->error, LOG_ERR); + return -1; + } + } + /** + * Checks if the invoice is the first of a cycle + * + * @return boolean + */ + function is_first() + { + return ($this->situation_counter == 1); + } + /** + * Returns an array containing the previous situations as Facture objects + * + * @return mixed -1 if error, array of previous situations + */ + function get_prev_sits() + { + + $sql = 'SELECT rowid FROM ' . MAIN_DB_PREFIX . 'facture'; + $sql .= ' where situation_cycle_ref = ' . $this->situation_cycle_ref; + $sql .= ' and situation_counter < ' . $this->situation_counter; + $resql = $this->db->query($sql); + $res = array(); + if ($resql && $resql->num_rows > 0) { + while ($row = $this->db->fetch_object($resql)) { + $id = $row->rowid; + $situation = new Facture($this->db); + $situation->fetch($id); + $res[] = $situation; + } + } else { + $this->error = $this->db->error(); + dol_syslog("Error sql=" . $sql . ", error=" . $this->error, LOG_ERR); + return -1; + } + + return $res; + } + + /** + * Sets the invoice as a final situation + * + * @return int 1 if ok, -1 if error + */ + function setFinal() + { + global $conf, $langs, $user; + $this->situation_final = 1; + $sql = 'update ' . MAIN_DB_PREFIX . 'facture set situation_final = ' . $this->situation_final . ' where rowid = ' . $this->id; + $resql = $this->db->query($sql); + if ($resql) { + // FIXME: call triggers? + $this->db->commit(); + return 1; + } else { + $this->error = $this->db->lasterror(); + dol_syslog(get_class($this) . "::update Error setFinal " . $sql, LOG_ERR); + $this->db->rollback(); + return -1; + } + } + + /** + * Checks if the invoice is the last in its cycle + * + * @return int 0 or 1 if OK, -1 if error + * + */ + function is_last_in_cycle() + { + $sql = 'SELECT max(situation_counter) FROM ' . MAIN_DB_PREFIX . 'facture WHERE situation_cycle_ref = ' . $this->situation_cycle_ref; + $resql = $this->db->query($sql); + + if ($resql && $resql->num_rows > 0) { + $res = $this->db->fetch_array($resql); + $last = $res['max(situation_counter)']; + return ($last == $this->situation_counter); + } else { + $this->error = $this->db->lasterror(); + dol_syslog(get_class($this) . "::select Error " . $this->error, LOG_ERR); + $this->db->rollback(); + return -1; + } + } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'facture' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } - - /** * Class to manage invoice lines. * Saved into database table llx_facturedet */ class FactureLigne extends CommonInvoiceLine { - var $db; - var $error; - public $element='facturedet'; public $table_element='facturedet'; var $oldline; //! From llx_facturedet - var $rowid; //! Id facture var $fk_facture; //! Id parent line var $fk_parent_line; - var $label; // deprecated + /** + * @deprecated + */ + var $label; //! Description ligne var $desc; - var $fk_product; // Id of predefined product - var $product_type = 0; // Type 0 = product, 1 = Service - var $qty; // Quantity (example 2) - var $tva_tx; // Taux tva produit/service (example 19.6) - var $localtax1_tx; // Local tax 1 - var $localtax2_tx; // Local tax 2 var $localtax1_type; // Local tax 1 type var $localtax2_type; // Local tax 2 type - var $subprice; // P.U. HT (example 100) - var $remise_percent; // % de la remise ligne (example 20%) var $fk_remise_except; // Link to line into llx_remise_except var $rang = 0; @@ -3386,10 +3726,6 @@ class FactureLigne extends CommonInvoiceLine var $marge_tx; var $marque_tx; - var $info_bits = 0; // Liste d'options cumulables: - // Bit 0: 0 si TVA normal - 1 si TVA NPR - // Bit 1: 0 si ligne normal - 1 si bit discount (link to line into llx_remise_except) - var $special_code; // Liste d'options non cumulabels: // 1: frais de port // 2: ecotaxe @@ -3398,15 +3734,6 @@ class FactureLigne extends CommonInvoiceLine var $origin; var $origin_id; - //! Total HT de la ligne toute quantite et incluant la remise ligne - var $total_ht; - //! Total TVA de la ligne toute quantite et incluant la remise ligne - var $total_tva; - var $total_localtax1; //Total Local tax 1 de la ligne - var $total_localtax2; //Total Local tax 2 de la ligne - //! Total TTC de la ligne toute quantite et incluant la remise ligne - var $total_ttc; - var $fk_code_ventilation = 0; var $date_start; @@ -3417,8 +3744,16 @@ class FactureLigne extends CommonInvoiceLine //var $remise; // Montant calcule de la remise % sur PU HT (exemple 20) // From llx_product + /** + * @deprecated + * @see product_ref + */ var $ref; // Product ref (deprecated) var $product_ref; // Product ref + /** + * @deprecated + * @see product_label + */ var $libelle; // Product label (deprecated) var $product_label; // Product label var $product_desc; // Description produit @@ -3426,14 +3761,14 @@ class FactureLigne extends CommonInvoiceLine var $skip_update_total; // Skip update price total for special lines /** - * Constructor - * - * @param DoliDB $db Database handler + * @var int Situation advance percentage */ - function __construct($db) - { - $this->db = $db; - } + public $situation_percent; + + /** + * @var int Previous situation line id reference + */ + public $fk_prev_id; /** * Load invoice line from database @@ -3448,6 +3783,8 @@ class FactureLigne extends CommonInvoiceLine $sql.= ' fd.date_start as date_start, fd.date_end as date_end, fd.fk_product_fournisseur_price as fk_fournprice, fd.buy_price_ht as pa_ht,'; $sql.= ' fd.info_bits, fd.special_code, fd.total_ht, fd.total_tva, fd.total_ttc, fd.total_localtax1, fd.total_localtax2, fd.rang,'; $sql.= ' fd.fk_code_ventilation,'; + $sql.= ' fd.fk_unit,'; + $sql.= ' fd.situation_percent, fd.fk_prev_id,'; $sql.= ' p.ref as product_ref, p.label as product_libelle, p.description as product_desc'; $sql.= ' FROM '.MAIN_DB_PREFIX.'facturedet as fd'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product as p ON fd.fk_product = p.rowid'; @@ -3494,6 +3831,10 @@ class FactureLigne extends CommonInvoiceLine $this->libelle = $objp->product_libelle; // deprecated $this->product_label = $objp->product_libelle; $this->product_desc = $objp->product_desc; + $this->fk_unit = $objp->fk_unit; + + $this->situation_percent = $objp->situation_percent; + $this->fk_prev_id = $objp->fk_prev_id; $this->db->free($result); } @@ -3532,6 +3873,8 @@ class FactureLigne extends CommonInvoiceLine if (empty($this->subprice)) $this->subprice=0; if (empty($this->special_code)) $this->special_code=0; if (empty($this->fk_parent_line)) $this->fk_parent_line=0; + if (empty($this->fk_prev_id)) $this->fk_prev_id = 'null'; + if (empty($this->situation_percent)) $this->situation_percent = 0; if (empty($this->pa_ht)) $this->pa_ht=0; @@ -3575,7 +3918,9 @@ class FactureLigne extends CommonInvoiceLine $sql.= ' fk_product, product_type, remise_percent, subprice, fk_remise_except,'; $sql.= ' date_start, date_end, fk_code_ventilation, '; $sql.= ' rang, special_code, fk_product_fournisseur_price, buy_price_ht,'; - $sql.= ' info_bits, total_ht, total_tva, total_ttc, total_localtax1, total_localtax2)'; + $sql.= ' info_bits, total_ht, total_tva, total_ttc, total_localtax1, total_localtax2,'; + $sql.= ' situation_percent, fk_prev_id,'; + $sql.= ' fk_unit)'; $sql.= " VALUES (".$this->fk_facture.","; $sql.= " ".($this->fk_parent_line>0?"'".$this->fk_parent_line."'":"null").","; $sql.= " ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null").","; @@ -3604,6 +3949,9 @@ class FactureLigne extends CommonInvoiceLine $sql.= " ".price2num($this->total_ttc).","; $sql.= " ".price2num($this->total_localtax1).","; $sql.= " ".price2num($this->total_localtax2); + $sql .= ", " . $this->situation_percent; + $sql .= ", " . $this->fk_prev_id; + $sql .= ", ".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= ')'; dol_syslog(get_class($this)."::insert", LOG_DEBUG); @@ -3721,6 +4069,7 @@ class FactureLigne extends CommonInvoiceLine if (empty($this->special_code)) $this->special_code=0; if (empty($this->product_type)) $this->product_type=0; if (empty($this->fk_parent_line)) $this->fk_parent_line=0; + if (is_null($this->situation_percent)) $this->situation_percent=100; // Check parameters if ($this->product_type < 0) return -1; @@ -3766,6 +4115,8 @@ class FactureLigne extends CommonInvoiceLine $sql.= " , buy_price_ht='".price2num($this->pa_ht)."'"; $sql.= ",fk_parent_line=".($this->fk_parent_line>0?$this->fk_parent_line:"null"); if (! empty($this->rang)) $sql.= ", rang=".$this->rang; + $sql .= ", situation_percent=" . $this->situation_percent; + $sql .= ", fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid = ".$this->rowid; dol_syslog(get_class($this)."::update", LOG_DEBUG); @@ -3880,5 +4231,28 @@ class FactureLigne extends CommonInvoiceLine return -2; } } -} + /** + * Returns situation_percent of the previous line + * + * @return int >= 0 + */ + function get_prev_progress() + { + if (is_null($this->fk_prev_id) || empty($this->fk_prev_id) || $this->fk_prev_id == "") { + return 0; + } else { + $sql = 'SELECT situation_percent FROM ' . MAIN_DB_PREFIX . 'facturedet WHERE rowid=' . $this->fk_prev_id; + $resql = $this->db->query($sql); + if ($resql && $resql->num_rows > 0) { + $res = $this->db->fetch_array($resql); + return $res['situation_percent']; + } else { + $this->error = $this->db->error(); + dol_syslog(get_class($this) . "::select Error " . $this->error, LOG_ERR); + $this->db->rollback(); + return -1; + } + } + } +} diff --git a/htdocs/compta/facture/document.php b/htdocs/compta/facture/document.php index 60c47564743..e4f9846309a 100644 --- a/htdocs/compta/facture/document.php +++ b/htdocs/compta/facture/document.php @@ -37,6 +37,7 @@ $langs->load('propal'); $langs->load('compta'); $langs->load('other'); $langs->load("bills"); +$langs->load('companies'); $id=(GETPOST('id','int')?GETPOST('id','int'):GETPOST('facid','int')); // For backward compatibility diff --git a/htdocs/compta/facture/fiche-rec.php b/htdocs/compta/facture/fiche-rec.php index 1fd4d2c80fc..bcb7d44559c 100644 --- a/htdocs/compta/facture/fiche-rec.php +++ b/htdocs/compta/facture/fiche-rec.php @@ -2,8 +2,11 @@ /* Copyright (C) 2002-2003 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2012 Cedric Salvador + * Copyright (C) 2015 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 @@ -115,7 +118,7 @@ $companystatic = new Societe($db); */ if ($action == 'create') { - print_fiche_titre($langs->trans("CreateRepeatableInvoice")); + print_fiche_titre($langs->trans("CreateRepeatableInvoice"),'','title_accountancy.png'); $object = new Facture($db); // Source invoice $product_static = new Product($db); @@ -126,6 +129,8 @@ if ($action == 'create') print ''; print ''; print ''; + + dol_fiche_head(); $rowspan=4; if (! empty($conf->projet->enabled) && $object->fk_project > 0) $rowspan++; @@ -137,7 +142,7 @@ if ($action == 'create') // Third party print '
'.$langs->trans("Customer").''.$object->client->getNomUrl(1,'customer').''; - //print $langs->trans("NotePrivate"); + print $langs->trans("Comment"); print '
'.$langs->trans("Description").''.$langs->trans("VAT").''.$langs->trans("Qty").''.$langs->trans("Unit").''.$langs->trans("ReductionShort").''.$langs->trans("TotalHT").''.$langs->trans("TotalVAT").''.$objp->qty.''.$product_static->getLabelOfUnit().'
'; print ''; print '

\n"; + dol_fiche_end(); + + print '
'; + print '     '; + print ''; + print '
'; + print "\n"; } else { @@ -421,7 +440,7 @@ else $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id,'none'); print "
'.$langs->trans("Note").''.nl2br($object->note_private)."
'.$langs->trans("Comment").''.nl2br($object->note_private)."
"; @@ -444,7 +463,11 @@ else print ''.$langs->trans("Description").''; print ''.$langs->trans("Price").''; print ''.$langs->trans("ReductionShort").''; - print ''.$langs->trans("Qty").''; + print ''.$langs->trans("Qty").''; + if ($conf->global->PRODUCT_USE_UNITS) { + print ''.$langs->trans("Unit").''; + } + print ''; $num = count($object->lines); $i = 0; @@ -511,7 +534,11 @@ else } print ''.price($object->lines[$i]->price).''; print ''.$object->lines[$i]->remise_percent.' %'; - print ''.$object->lines[$i]->qty.''."\n"; + print ''.$object->lines[$i]->qty.''; + if ($conf->global->PRODUCT_USE_UNITS) { + print "".$object->lines[$i]->getLabelOfUnit().""; + } + print "\n"; $i++; } print ''; @@ -523,12 +550,12 @@ else */ print '
'; - if ($object->statut == 0 && $user->rights->facture->creer) + if ($object->statut == Facture::STATUS_DRAFT && $user->rights->facture->creer) { echo ''; } - if ($object->statut == 0 && $user->rights->facture->supprimer) + if ($object->statut == Facture::STATUS_DRAFT && $user->rights->facture->supprimer) { print ''; } @@ -558,18 +585,18 @@ else if ($resql) { $num = $db->num_rows($resql); - print_barre_liste($langs->trans("RepeatableInvoices"),$page,$_SERVER['PHP_SELF'],"&socid=$socid",$sortfield,$sortorder,'',$num); + print_barre_liste($langs->trans("RepeatableInvoices"),$page,$_SERVER['PHP_SELF'],"&socid=$socid",$sortfield,$sortorder,'',$num,'','title_accountancy.png'); print $langs->trans("ToCreateAPredefinedInvoice").'

'; $i = 0; print ''; print ''; - print ''; + print_liste_field_titre($langs->trans("Ref")); print_liste_field_titre($langs->trans("Company"),$_SERVER['PHP_SELF'],"s.nom","","&socid=$socid","",$sortfiled,$sortorder); - print ''; - print ''; - print "\n"; + print_liste_field_titre($langs->trans("Amount"),'','','','','align="right"'); + print_liste_field_titre(''); + print "\n"; if ($num > 0) { diff --git a/htdocs/compta/facture/list.php b/htdocs/compta/facture/list.php index 56bd57c725a..18f5fe4db34 100644 --- a/htdocs/compta/facture/list.php +++ b/htdocs/compta/facture/list.php @@ -9,6 +9,8 @@ * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 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 @@ -87,6 +89,9 @@ $search_sale = GETPOST('search_sale','int'); $day = GETPOST('day','int'); $month = GETPOST('month','int'); $year = GETPOST('year','int'); +$day_lim = GETPOST('day_lim','int'); +$month_lim = GETPOST('month_lim','int'); +$year_lim = GETPOST('year_lim','int'); $filtre = GETPOST('filtre'); // Security check @@ -187,13 +192,13 @@ if ($search_societe) { $sql .= natural_search('s.nom', $search_societe); } -if ($search_montant_ht) +if ($search_montant_ht != '') { - $sql.= ' AND f.total = \''.$db->escape(price2num(trim($search_montant_ht))).'\''; + $sql.= natural_search('f.total', $search_montant_ht, 1); } -if ($search_montant_ttc) +if ($search_montant_ttc != '') { - $sql.= ' AND f.total_ttc = \''.$db->escape(price2num(trim($search_montant_ttc))).'\''; + $sql.= natural_search('f.total_ttc', $search_montant_ttc, 1); } if ($search_status != '') { @@ -212,6 +217,19 @@ else if ($year > 0) { $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } +if ($month_lim > 0) +{ + if ($year_lim > 0 && empty($day_lim)) + $sql.= " AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,$month_lim,false))."' AND '".$db->idate(dol_get_last_day($year_lim,$month_lim,false))."'"; + else if ($year_lim > 0 && ! empty($day_lim)) + $sql.= " AND f.date_lim_reglement BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_lim, $day_lim, $year_lim))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month_lim, $day_lim, $year_lim))."'"; + else + $sql.= " AND date_format(f.date_lim_reglement, '%m') = '".$month_lim."'"; +} +else if ($year_lim > 0) +{ + $sql.= " AND f.date_lim_reglement BETWEEN '".$db->idate(dol_get_first_day($year_lim,1,false))."' AND '".$db->idate(dol_get_last_day($year_lim,12,false))."'"; +} if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; if ($search_user > 0) { @@ -263,9 +281,9 @@ if ($resql) if ($search_societe) $param.='&search_societe=' .$search_societe; if ($search_sale > 0) $param.='&search_sale=' .$search_sale; if ($search_user > 0) $param.='&search_user=' .$search_user; - if ($search_montant_ht) $param.='&search_montant_ht='.$search_montant_ht; - if ($search_montant_ttc) $param.='&search_montant_ttc='.$search_montant_ttc; - print_barre_liste($langs->trans('BillsCustomers').' '.($socid?' '.$soc->name:''),$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords); + if ($search_montant_ht != '') $param.='&search_montant_ht='.$search_montant_ht; + if ($search_montant_ttc != '') $param.='&search_montant_ttc='.$search_montant_ttc; + print_barre_liste($langs->trans('BillsCustomers').' '.($socid?' '.$soc->name:''),$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$nbtotalofrecords,'title_accountancy.png'); $i = 0; print '
'."\n"; @@ -299,14 +317,13 @@ if ($resql) print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'f.ref_client','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Date'),$_SERVER['PHP_SELF'],'f.datef','',$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateDue"),$_SERVER['PHP_SELF'],"f.date_lim_reglement",'',$param,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans('Company'),$_SERVER['PHP_SELF'],'s.nom','',$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans('ThirdParty'),$_SERVER['PHP_SELF'],'s.nom','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans('AmountHT'),$_SERVER['PHP_SELF'],'f.total','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('AmountVAT'),$_SERVER['PHP_SELF'],'f.tva','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('AmountTTC'),$_SERVER['PHP_SELF'],'f.total_ttc','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Received'),$_SERVER['PHP_SELF'],'am','',$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Status'),$_SERVER['PHP_SELF'],'fk_statut,paye,am','',$param,'align="right"',$sortfield,$sortorder); - //print '
'; - print ''; + print "\n"; // Filters lines print ''; @@ -321,11 +338,15 @@ if ($resql) print ''; $formother->select_year($year?$year:-1,'year',1, 20, 5); print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; print ''; - print ''; + print ''; print ''; print '
'.$langs->trans("Ref").''.$langs->trans("Amount").' 
 
 '; + if (! empty($conf->global->MAIN_LIST_FILTER_ON_DAY)) print ''; + print ''; + $formother->select_year($year_lim?$year_lim:-1,'year_lim',1, 20, 5); + print '  '; print ''; diff --git a/htdocs/compta/facture/impayees.php b/htdocs/compta/facture/mergepdftool.php similarity index 80% rename from htdocs/compta/facture/impayees.php rename to htdocs/compta/facture/mergepdftool.php index 5e893fe7d1e..e8010229a8e 100644 --- a/htdocs/compta/facture/impayees.php +++ b/htdocs/compta/facture/mergepdftool.php @@ -1,8 +1,10 @@ * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2014 Raphaël Doursenaud * * 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,17 +24,19 @@ */ /** - * \file htdocs/compta/facture/impayees.php + * \file htdocs/compta/facture/mergepdftool.php * \ingroup facture - * \brief Page to list and build liste of unpaid invoices + * \brief Page to list and build doc of selected invoices */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; $langs->load("mails"); $langs->load("bills"); @@ -42,6 +46,21 @@ $action = GETPOST('action','alpha'); $option = GETPOST('option'); $mode=GETPOST('mode'); $builddoc_generatebutton=GETPOST('builddoc_generatebutton'); +$month = GETPOST("month","int"); +$year = GETPOST("year","int"); +$filter = GETPOST("filtre"); +if (GETPOST('button_search')) +{ + $filter=GETPOST('filtre',2); + //if ($filter != 'payed:0') $option=''; +} +if ($option == 'late') $filter = 'paye:0'; +if ($option == 'unpaidall') $filter = 'paye:0'; +if ($mode == 'sendremind' && $filter == '') $filter = 'paye:0'; +if ($filter == '') $filter = 'paye:0'; + +$search_user = GETPOST('search_user','int'); +$search_sale = GETPOST('search_sale','int'); // Security check if ($user->societe_id) $socid=$user->societe_id; @@ -52,6 +71,23 @@ if (! $user->rights->societe->client->voir || $socid) $diroutputpdf.='/private/' $resultmasssend=''; +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test must be present to be compatible with all browsers +{ + $search_ref=""; + $search_ref_supplier=""; + $search_user = ""; + $search_sale = ""; + $search_label=""; + $search_company=""; + $search_amount_no_tax=""; + $search_amount_all_tax=""; + $year=""; + $month=""; + $filter=""; + $option=""; +} + + /* * Action @@ -93,7 +129,7 @@ if ($action == 'presend' && GETPOST('sendmail')) if ($result > 0) // Invoice was found { - if ($object->statut != 1) + if ($object->statut != Facture::STATUS_VALIDATED) { continue; // Payment done or started or canceled } @@ -239,7 +275,7 @@ if ($action == "builddoc" && $user->rights->facture->lire && ! GETPOST('button_s { $arrayofinclusion=array(); foreach($_POST['toGenerate'] as $tmppdf) $arrayofinclusion[]=preg_quote($tmppdf.'.pdf','/'); - $factures = dol_dir_list($conf->facture->dir_output,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC); + $factures = dol_dir_list($conf->facture->dir_output,'all',1,implode('|',$arrayofinclusion),'\.meta$|\.png','date',SORT_DESC,0,true); // liste les fichiers $files = array(); @@ -248,7 +284,7 @@ if ($action == "builddoc" && $user->rights->facture->lire && ! GETPOST('button_s { foreach($factures as $facture) { - if(strstr($facture["name"],$basename)) + if (strstr($facture["name"],$basename)) { $files[] = $conf->facture->dir_output.'/'.$basename.'/'.$facture["name"]; } @@ -295,8 +331,14 @@ if ($action == "builddoc" && $user->rights->facture->lire && ! GETPOST('button_s dol_mkdir($diroutputpdf); // Save merged file - $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); - if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); + $filename=strtolower(dol_sanitizeFileName($langs->transnoentities("Invoices"))); + if ($filter=='paye:0') + { + if ($option=='late') $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))).'_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Late"))); + else $filename.='_'.strtolower(dol_sanitizeFileName($langs->transnoentities("Unpaid"))); + } + if ($year) $filename.='_'.$year; + if ($month) $filename.='_'.$month; if ($pagecount) { $now=dol_now(); @@ -304,6 +346,9 @@ if ($action == "builddoc" && $user->rights->facture->lire && ! GETPOST('button_s $pdf->Output($file,'F'); if (! empty($conf->global->MAIN_UMASK)) @chmod($file, octdec($conf->global->MAIN_UMASK)); + + $langs->load("exports"); + setEventMessage($langs->trans('FileSuccessfullyBuilt',$filename.'_'.dol_print_date($now,'dayhourlog'))); } else { @@ -338,9 +383,9 @@ if ($action == 'remove_file') $form = new Form($db); $formfile = new FormFile($db); +$formother = new FormOther($db); -$title=$langs->trans("BillsCustomersUnpaid"); -if ($option=='late') $title=$langs->trans("BillsCustomersUnpaid"); +$title=$langs->trans("MergingPDFTool"); llxHeader('',$title); @@ -348,16 +393,16 @@ llxHeader('',$title); @@ -406,16 +451,24 @@ $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= ",".MAIN_DB_PREFIX."facture as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf ON f.rowid=pf.fk_facture "; +// We'll need this table joined to the select in order to filter by sale +if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if ($search_user > 0) +{ + $sql.=", ".MAIN_DB_PREFIX."element_contact as ec"; + $sql.=", ".MAIN_DB_PREFIX."c_type_contact as tc"; +} $sql.= " WHERE f.fk_soc = s.rowid"; $sql.= " AND f.entity = ".$conf->entity; -$sql.= " AND f.type IN (0,1,3) AND f.fk_statut = 1"; -$sql.= " AND f.paye = 0"; +$sql.= " AND f.type IN (0,1,3,5)"; +if ($filter == 'paye:0') $sql.= " AND f.fk_statut = 1"; +//$sql.= " AND f.paye = 0"; if ($option == 'late') $sql.=" AND f.date_lim_reglement < '".$db->idate(dol_now() - $conf->facture->client->warning_delay)."'"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if (! empty($socid)) $sql .= " AND s.rowid = ".$socid; -if (GETPOST('filtre')) +if ($filter && $filter != -1) // GETPOST('filtre') may be a string { - $filtrearr = explode(",", GETPOST('filtre')); + $filtrearr = explode(",", $filter); foreach ($filtrearr as $fil) { $filt = explode(":", $fil); @@ -425,10 +478,26 @@ if (GETPOST('filtre')) if ($search_ref) $sql .= " AND f.facnumber LIKE '%".$db->escape($search_ref)."%'"; if ($search_refcustomer) $sql .= " AND f.ref_client LIKE '%".$db->escape($search_refcustomer)."%'"; if ($search_societe) $sql .= " AND s.nom LIKE '%".$db->escape($search_societe)."%'"; -if ($search_paymentmode) $sql .= " AND f.fk_mode_reglement = ".$search_paymentmode.""; +if ($search_paymentmode) $sql .= " AND f.fk_mode_reglement = ".$search_paymentmode.""; if ($search_montant_ht) $sql .= " AND f.total = '".$db->escape($search_montant_ht)."'"; if ($search_montant_ttc) $sql .= " AND f.total_ttc = '".$db->escape($search_montant_ttc)."'"; if (GETPOST('sf_ref')) $sql .= " AND f.facnumber LIKE '%".$db->escape(GETPOST('sf_ref'))."%'"; +if ($month > 0) +{ + if ($year > 0) + $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; + else + $sql.= " AND date_format(f.datef, '%m') = '$month'"; +} +else if ($year > 0) +{ + $sql.= " AND f.datef BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; +} +if ($search_sale > 0) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; +if ($search_user > 0) +{ + $sql.= " AND ec.fk_c_type_contact = tc.rowid AND tc.element='facture' AND tc.source='internal' AND ec.element_id = f.rowid AND ec.fk_socpeople = ".$search_user; +} $sql.= " GROUP BY s.nom, s.rowid, s.email, f.rowid, f.facnumber, f.ref_client, f.increment, f.total, f.tva, f.total_ttc, f.localtax1, f.localtax2, f.revenuestamp,"; $sql.= " f.datef, f.date_lim_reglement, f.paye, f.fk_statut, f.type, fk_mode_reglement"; if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", sc.fk_soc, sc.fk_user "; @@ -436,7 +505,7 @@ $sql.= " ORDER BY "; $listfield=explode(',',$sortfield); foreach ($listfield as $key => $value) $sql.=$listfield[$key]." ".$sortorder.","; $sql.= " f.facnumber DESC"; - +//print $sql; //$sql .= $db->plimit($limit+1,$offset); $resql = $db->query($sql); @@ -452,30 +521,36 @@ if ($resql) $param=""; $param.=(! empty($socid)?"&socid=".$socid:""); - $param.=(! empty($option)?"&option=".$option:""); if ($search_ref) $param.='&search_ref='.urlencode($search_ref); - if ($search_refcustomer) $param.='&search_ref='.urlencode($search_refcustomer); + if ($search_refcustomer) $param.='&search_ref='.urlencode($search_refcustomer); if ($search_societe) $param.='&search_societe='.urlencode($search_societe); if ($search_societe) $param.='&search_paymentmode='.urlencode($search_paymentmode); if ($search_montant_ht) $param.='&search_montant_ht='.urlencode($search_montant_ht); if ($search_montant_ttc) $param.='&search_montant_ttc='.urlencode($search_montant_ttc); if ($late) $param.='&late='.urlencode($late); - + if ($mode) $param.='&mode='.urlencode($mode); $urlsource=$_SERVER['PHP_SELF'].'?sortfield='.$sortfield.'&sortorder='.$sortorder; $urlsource.=str_replace('&','&',$param); - $titre=(! empty($socid)?$langs->trans("BillsCustomersUnpaidForCompany",$soc->name):$langs->trans("BillsCustomersUnpaid")); + //$titre=(! empty($socid)?$langs->trans("BillsCustomersUnpaidForCompany",$soc->name):$langs->trans("BillsCustomersUnpaid")); + $titre=(! empty($socid)?$langs->trans("BillsCustomersForCompany",$soc->name):$langs->trans("BillsCustomers")); if ($option == 'late') $titre.=' ('.$langs->trans("Late").')'; - else $titre.=' ('.$langs->trans("All").')'; + //else $titre.=' ('.$langs->trans("All").')'; $link=''; - if (empty($option)) $link=''.$langs->trans("ShowUnpaidLateOnly").''; - elseif ($option == 'late') $link=''.$langs->trans("ShowUnpaidAll").''; + //if (empty($option) || $option == 'late') $link.=($link?' - ':'').''.$langs->trans("ShowUnpaidAll").''; + //if (empty($option) || $option == 'unpaidall') $link.=($link?' - ':'').''.$langs->trans("ShowUnpaidLateOnly").''; + + $param.=(! empty($option)?"&option=".$option:""); + print_fiche_titre($titre,$link); //print_barre_liste($titre,$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',0); // We don't want pagination on this page print ''; + if (GETPOST('modelselected')) { + $action = 'presend'; + } if (! empty($mode) && $action == 'presend') { include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmail.class.php'; @@ -518,6 +593,7 @@ if ($resql) // Tableau des parametres complementaires du post $formmail->param['action']=$action; $formmail->param['models']=$modelmail; + $formmail->param['models_id']=GETPOST('modelmailselected','int'); $formmail->param['facid']=$object->id; $formmail->param['returnurl']=$_SERVER["PHP_SELF"].'?id='.$object->id; @@ -541,12 +617,36 @@ if ($resql) $i = 0; print ''; + + // If the user can view prospects other than his' + $moreforfilter=''; + if ($user->rights->societe->client->voir || $socid) + { + $langs->load("commercial"); + $moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': '; + $moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user); + $moreforfilter.='       '; + } + // If the user can view prospects other than his' + if ($user->rights->societe->client->voir || $socid) + { + $moreforfilter.=$langs->trans('LinkedToSpecificUsers'). ': '; + $moreforfilter.=$form->select_dolusers($search_user,'search_user',1); + } + if ($moreforfilter) + { + print ''; + print ''; + } + print ''; print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"f.facnumber","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans('RefCustomer'),$_SERVER["PHP_SELF"],'f.ref_client','',$param,'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"f.datef","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateDue"),$_SERVER["PHP_SELF"],"f.date_lim_reglement","",$param,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("PaymentMode"),$_SERVER["PHP_SELF"],"f.fk_reglement_mode","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Taxes"),$_SERVER["PHP_SELF"],"f.tva","",$param,'align="right"',$sortfield,$sortorder); @@ -572,11 +672,18 @@ if ($resql) print ''; - print ''; - print ''; + print ''; + // Late + print ''; print ''; print ''; print ''; print ''; @@ -584,21 +691,22 @@ if ($resql) print ''; print ''; print ''; + print ''; + print '
'; if (empty($mode)) { - print ''; } else { - print ''; } + print ''; print "\n"; if ($num > 0) @@ -684,11 +792,14 @@ if ($resql) print ''; // Remain to receive - print ''; + print ''; // Status of invoice print '' ; } else @@ -748,7 +857,6 @@ if ($resql) $delallowed=$user->rights->facture->lire; print '
'; - print ''; // We disable multilang because we concat already existing pdf. $formfile->show_documents('unpaid','',$filedir,$urlsource,$genallowed,$delallowed,'',1,1,0,48,1,$param,$langs->trans("PDFMerge"),$langs->trans("PDFMerge")); } diff --git a/htdocs/compta/facture/prelevement.php b/htdocs/compta/facture/prelevement.php index 1b4f440b461..be78b422fe6 100644 --- a/htdocs/compta/facture/prelevement.php +++ b/htdocs/compta/facture/prelevement.php @@ -1,7 +1,7 @@ * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * @@ -36,6 +36,7 @@ if (!$user->rights->facture->lire) accessforbidden(); $langs->load("bills"); $langs->load("banks"); $langs->load("withdrawals"); +$langs->load('companies'); $id=(GETPOST('id','int')?GETPOST('id','int'):GETPOST('facid','int')); // For backward compatibility $ref=GETPOST('ref','alpha'); @@ -67,14 +68,19 @@ if ($action == "new") { if ($object->id > 0) { - $result = $object->demande_prelevement($user); + $db->begin(); + + $result = $object->demande_prelevement($user, GETPOST('withdraw_request_amount')); if ($result > 0) { + $db->commit(); + setEventMessage($langs->trans("RecordSaved")); } else - { - setEventMessage($object->error, 'errors'); + { + $db->rollback(); + setEventMessage($object->error, $object->errors, 'errors'); } } $action=''; @@ -229,15 +235,15 @@ if ($object->id > 0) print '. '; if ($absolute_discount > 0) { - if ($object->statut > 0 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) + if ($object->statut > Facture::STATUS_DRAFT || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { - if ($object->statut == 0) + if ($object->statut == Facture::STATUS_DRAFT) { print $langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)).'. '; } else { - if ($object->statut < 1 || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) + if ($object->statut < Facture::STATUS_VALIDATED || $object->type == Facture::TYPE_CREDIT_NOTE || $object->type == Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasAbsoluteDiscount",price($absolute_discount),$langs->transnoentities("Currency".$conf->currency)); print '
'.$text.'.
'; @@ -261,9 +267,9 @@ if ($object->id > 0) if ($absolute_creditnote > 0) { // If validated, we show link "add credit note to payment" - if ($object->statut != 1 || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_CREDIT_NOTE) + if ($object->statut != Facture::STATUS_VALIDATED || $object->type == Facture::TYPE_DEPOSIT || $object->type == Facture::TYPE_CREDIT_NOTE) { - if ($object->statut == 0 && $object->type != Facture::TYPE_DEPOSIT) + if ($object->statut == Facture::STATUS_DRAFT && $object->type != Facture::TYPE_DEPOSIT) { $text=$langs->trans("CompanyHasCreditNote",price($absolute_creditnote),$langs->transnoentities("Currency".$conf->currency)); print $form->textwithpicto($text,$langs->trans("CreditNoteDepositUse")); @@ -308,7 +314,7 @@ if ($object->id > 0) print ''; print '
'; - // Conditions de reglement + // Payment condition print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $var=!$var; + $i++; + } + + } + else + { + print ''; + } + print '
'; + print $moreforfilter; + print '
'; print ''; print '  '; + print ''; + $syear = $year; + $formother->select_year($syear?$syear:-1,'year',1, 20, 5); + print ''; + print ' '.$langs->trans("Late"); + print ''; - $form->select_types_paiements($search_paymentmode, 'search_paymentmode'); + $form->select_types_paiements($search_paymentmode, 'search_paymentmode', '', 0, 0, 1); print '   '; + $liststatus=array('paye:0'=>$langs->trans("Unpaid"), 'paye:1'=>$langs->trans("Paid")); + print $form->selectarray('filtre', $liststatus, $filter, 1); + print ''; print ''; print ''; - print ''; if ($conf->use_javascript_ajax) print ''.$langs->trans("All").' / '.$langs->trans("None").''; - print ''; if ($conf->use_javascript_ajax) print ''.$langs->trans("All").' / '.$langs->trans("None").''; - print '
'; $cn=$facturestatic->getSumCreditNotesUsed(); $dep=$facturestatic->getSumDepositsUsed(); - print price($objp->am + $cn + $dep); + if (! empty($objp->am)) print price($objp->am); + if (! empty($objp->am) && ! empty($cn)) print '+'; + if (! empty($cn)) print price($cn); + if (! empty($dep)) print price(-$dep); print ''.price($objp->total_ttc-$objp->am-$cn-$dep).''.(((! empty($objp->total_ttc) || ! empty($objp->am) || ! empty($cn) || ! empty($dep)) && ($objp->total_ttc - $objp->am - $cn - $dep)) ? price($objp->total_ttc - $objp->am - $cn - $dep):' ').''; @@ -699,10 +810,8 @@ if ($resql) { // Checkbox to merge print ''; - if (! empty($formfile->numoffiles)) + if (! empty($formfile->infofiles['extensions']['pdf'])) print ''; - else - print ' '; print '
'; print ''; @@ -396,30 +402,30 @@ if ($object->id > 0) } print ""; print ''; - + // Montants print ''; - print ''; + print ''; print ''; - print ''; + print ''; print ''; // Amount Local Taxes if ($mysoc->localtax1_assuj=="1") //Localtax1 { print ''; - print ''; + print ''; print ''; } if ($mysoc->localtax2_assuj=="1") //Localtax2 { print ''; - print ''; + print ''; print ''; } - print ''; + print ''; print ''; // We can also use bcadd to avoid pb with floating points @@ -428,7 +434,7 @@ if ($object->id > 0) //$resteapayer=bcadd($resteapayer,$totalavoir,$conf->global->MAIN_MAX_DECIMALS_TOT); $resteapayer = price2num($object->total_ttc - $totalpaye - $totalcreditnotes - $totaldeposits,'MT'); - print ''; + print ''; print ''; // Statut @@ -473,11 +479,17 @@ if ($object->id > 0) print "\n
\n"; // Add a withdraw request - if ($object->statut > 0 && $object->paye == 0 && $num == 0) + if ($object->statut > Facture::STATUS_DRAFT && $object->paye == 0 && $num == 0) { if ($user->rights->prelevement->bons->creer) { - print ''.$langs->trans("MakeWithdrawRequest").''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; } else { @@ -488,7 +500,7 @@ if ($object->id > 0) { if ($num == 0) { - if ($object->statut > 0) print ''.$langs->trans("MakeWithdrawRequest").''; + if ($object->statut > Facture::STATUS_DRAFT) print ''.$langs->trans("MakeWithdrawRequest").''; else print ''.$langs->trans("MakeWithdrawRequest").''; } else print ''.$langs->trans("MakeWithdrawRequest").''; @@ -507,10 +519,12 @@ if ($object->id > 0) print '
'; print ''; - print ''; + print ''; print ''; print ''; - print ''; + print ''; + print ''; + print ''; print ''; $var=true; @@ -525,15 +539,18 @@ if ($object->id > 0) print ""; print '\n"; - print ''; + print ''; print ''; print ''; - print ''; print ''; - print ''; + + print ''; + print "\n"; $i++; } @@ -573,7 +590,7 @@ if ($object->id > 0) print '\n"; - print '\n"; + print ''; print ''; @@ -584,9 +601,10 @@ if ($object->id > 0) print $withdrawreceipt->getNomUrl(1); print "\n"; - print ''; - print ''; + + print '\n"; + print ''; print "\n"; diff --git a/htdocs/compta/facture/stats/index.php b/htdocs/compta/facture/stats/index.php index 18aeaa722da..3dc2461de28 100644 --- a/htdocs/compta/facture/stats/index.php +++ b/htdocs/compta/facture/stats/index.php @@ -3,6 +3,7 @@ * Copyright (c) 2004-2012 Laurent Destailleur * Copyright (C) 2012 Marcos García * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 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 @@ -74,7 +75,7 @@ if ($mode == 'supplier') $dir=$conf->fournisseur->dir_output.'/facture/temp'; } -print_fiche_titre($title, $mesg); +print_fiche_titre($title, $mesg, 'title_accountancy.png'); dol_mkdir($dir); diff --git a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php index ae3038a6021..eac0043e56f 100644 --- a/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php +++ b/htdocs/compta/facture/tpl/linkedobjectblock.tpl.php @@ -30,12 +30,12 @@ $linkedObjectBlock = $GLOBALS['linkedObjectBlock']; $langs->load("bills"); echo '
'; -if ($num > 1) print_titre($langs->trans("RelatedBills")); -else print_titre($langs->trans("RelatedBill")); +print_titre($langs->trans("RelatedCustomerInvoices")); ?>
'; print $langs->trans('PaymentConditionsShort'); @@ -350,7 +356,7 @@ if ($object->id > 0) else { print dol_print_date($object->date_lim_reglement,'daytext'); - if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == 1 && ! isset($object->am)) print img_warning($langs->trans('Late')); + if ($object->date_lim_reglement < ($now - $conf->facture->client->warning_delay) && ! $object->paye && $object->statut == Facture::STATUS_VALIDATED && ! isset($object->am)) print img_warning($langs->trans('Late')); } } else @@ -369,11 +375,11 @@ if ($object->id > 0) print ''; if ($action == 'editmode') { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'mode_reglement_id'); + $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'mode_reglement_id'); } else { - $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id,$object->mode_reglement_id,'none'); + $form->form_modes_reglement($_SERVER['PHP_SELF'].'?id='.$object->id, $object->mode_reglement_id, 'none'); } print '
'.$langs->trans('AmountHT').''.price($object->total_ht).''.price($object->total_ht).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->trans('AmountVAT').''.price($object->total_tva).'
'.$langs->trans('AmountVAT').''.price($object->total_tva).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->transcountry("AmountLT1",$mysoc->country_code).''.price($object->total_localtax1).''.price($object->total_localtax1).''.$langs->trans("Currency".$conf->currency).'
'.$langs->transcountry("AmountLT2",$mysoc->country_code).''.price($object->total_localtax2).''.price($object->total_localtax2).''.$langs->trans("Currency".$conf->currency).'
'.$langs->trans('AmountTTC').''.price($object->total_ttc).'
'.$langs->trans('AmountTTC').''.price($object->total_ttc).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->trans('RemainderToPay').''.price($resteapayer).'
'.$langs->trans('RemainderToPay').''.price($resteapayer).''.$langs->trans('Currency'.$conf->currency).'
'.$langs->trans("DateRequest").''.$langs->trans("DateProcess").''.$langs->trans("User").''.$langs->trans("Amount").''.$langs->trans("WithdrawalReceipt").''.$langs->trans("User").'   '.$langs->trans("DateProcess").' 
'.dol_print_date($db->jdate($obj->date_demande),'day')."'.$langs->trans("OrderWaiting").''.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.''.price($obj->amount).'-'.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.' '; + + print ''.$langs->trans("OrderWaiting").''; print ''; print img_delete(); print '
'.dol_print_date($db->jdate($obj->date_demande),'day')."'.dol_print_date($db->jdate($obj->date_traite),'day')."'.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.''.price($obj->amount).''.img_object($langs->trans("ShowUser"),'user').' '.$obj->login.' '.dol_print_date($db->jdate($obj->date_traite),'day')." 
+ @@ -47,8 +47,9 @@ foreach($linkedObjectBlock as $object) { $var=!$var; ?> - > + > + + - +
trans("Ref"); ?>trans("RefCustomer"); ?> trans("Date"); ?> trans("AmountHTShort"); ?> trans("Status"); ?>
- trans("ShowBill"),"bill").' '.$object->ref; ?>
getNomUrl(1); ?>ref_client; ?> date,'day'); ?> rights->facture->lire) { @@ -61,7 +62,7 @@ foreach($linkedObjectBlock as $object) } ?>
trans("TotalHT"); ?>trans("TotalHT"); ?> rights->facture->lire) { echo price($total); diff --git a/htdocs/compta/hrm.php b/htdocs/compta/hrm.php index 6252f0f6ef7..f253193b1a9 100644 --- a/htdocs/compta/hrm.php +++ b/htdocs/compta/hrm.php @@ -1,7 +1,8 @@ - * Copyright (C) 2013-2014 Laurent Destailleur + * Copyright (C) 2013-2015 Laurent Destailleur * Copyright (C) 2012-2014 Regis Houssin + * Copyright (C) 2015 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 @@ -31,7 +32,8 @@ require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; +if ($conf->deplacement->enabled) require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; +if ($conf->expensereport->enabled) require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; require_once DOL_DOCUMENT_ROOT.'/holiday/class/holiday.class.php'; $langs->load('users'); @@ -65,30 +67,10 @@ $childids[]=$user->id; llxHeader(array(),$langs->trans('HRMArea')); -print_fiche_titre($langs->trans("HRMArea")); +print_fiche_titre($langs->trans("HRMArea"),'', 'title_hrm.png'); print '
'; - -if (! empty($conf->holiday->enabled)) -{ - $user_id = $user->id; - - $nbaquis=$holiday->getCPforUser($user_id); - $nbdeduced=$holiday->getConfCP('nbHolidayDeducted'); - $nb_holiday = $nbaquis / $nbdeduced; - - print ''; - print ''; - print ""; - print ''; - print ''; - print '
'.$langs->trans("Holidays").'
'; - print $langs->trans('SoldeCPUser',round($nb_holiday,2)).($nbdeduced != 1 ? ' ('.$nbaquis.' / '.$nbdeduced.')' : ''); - print '

'; -} - - /* * Search expenses */ @@ -107,6 +89,47 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire) print "

"; } +if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) +{ + $langs->load("trips"); + print '
'; + print ''; + print ''; + print ''; + print ""; + print "'; + print ''; + //print "'; + print ''; + print "
'.$langs->trans("SearchATripAndExpense").'
:
:

"; +} + + +if (! empty($conf->holiday->enabled)) +{ + $user_id = $user->id; + + print ''; + print ''; + print ""; + print ''; + print ''; + print '
'.$langs->trans("Holidays").'
'; + + $out=''; + $typeleaves=$holiday->getTypes(1,1); + foreach($typeleaves as $key => $val) + { + $nb_type = $holiday->getCPforUser($user->id, $val['rowid']); + $nb_holiday += $nb_type; + $out .= ' - '.$val['label'].': '.($nb_type?price2num($nb_type):0).'
'; + } + print $langs->trans('SoldeCPUser', round($nb_holiday,5)).'
'; + print $out; + + print '

'; +} + print '
'; @@ -115,65 +138,131 @@ $max=10; $langs->load("boxes"); // Last trips -$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km, d.fk_statut"; -$sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".MAIN_DB_PREFIX."user as u"; -if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; -$sql.= " WHERE u.rowid = d.fk_user"; -$sql.= " AND d.entity = ".$conf->entity; -if (empty($user->rights->deplacement->readall) && empty($user->rights->deplacement->lire_tous)) $sql.=' AND d.fk_user IN ('.join(',',$childids).')'; -if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; -if (!empty($socid)) $sql.= " AND d.fk_soc = ".$socid; -$sql.= $db->order("d.tms","DESC"); -$sql.= $db->plimit($max, 0); - -$result = $db->query($sql); -if ($result) +if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire) { - $var=false; - $num = $db->num_rows($result); + $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.dated as date, d.tms as dm, d.km, d.fk_statut"; + $sql.= " FROM ".MAIN_DB_PREFIX."deplacement as d, ".MAIN_DB_PREFIX."user as u"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE u.rowid = d.fk_user"; + $sql.= " AND d.entity = ".$conf->entity; + if (empty($user->rights->deplacement->readall) && empty($user->rights->deplacement->lire_tous)) $sql.=' AND d.fk_user IN ('.join(',',$childids).')'; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND d.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if (!empty($socid)) $sql.= " AND d.fk_soc = ".$socid; + $sql.= $db->order("d.tms","DESC"); + $sql.= $db->plimit($max, 0); - $i = 0; + $result = $db->query($sql); + if ($result) + { + $var=false; + $num = $db->num_rows($result); - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - if ($num) - { - $total_ttc = $totalam = $total = 0; + $i = 0; - $deplacementstatic=new Deplacement($db); - $userstatic=new User($db); - while ($i < $num && $i < $max) - { - $obj = $db->fetch_object($result); - $deplacementstatic->ref=$obj->rowid; - $deplacementstatic->id=$obj->rowid; - $userstatic->id=$obj->uid; - $userstatic->lastname=$obj->lastname; - $userstatic->firstname=$obj->firstname; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - $var=!$var; - $i++; - } + print '
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("FeesKilometersOrAmout").''.$langs->trans("DateModificationShort").' 
'.$deplacementstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$obj->km.''.dol_print_date($db->jdate($obj->dm),'day').''.$deplacementstatic->LibStatut($obj->fk_statut,3).'
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($num) + { + $total_ttc = $totalam = $total = 0; - } - else - { - print ''; - } - print '
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("FeesKilometersOrAmout").''.$langs->trans("DateModificationShort").' 
'.$langs->trans("None").'

'; + $deplacementstatic=new Deplacement($db); + $userstatic=new User($db); + while ($i < $num && $i < $max) + { + $obj = $db->fetch_object($result); + $deplacementstatic->ref=$obj->rowid; + $deplacementstatic->id=$obj->rowid; + $userstatic->id=$obj->uid; + $userstatic->lastname=$obj->lastname; + $userstatic->firstname=$obj->firstname; + print '
'.$deplacementstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.$obj->km.''.dol_print_date($db->jdate($obj->dm),'day').''.$deplacementstatic->LibStatut($obj->fk_statut,3).'
'.$langs->trans("None").'

'; + } + else dol_print_error($db); +} + +if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire) +{ + $sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as x, ".MAIN_DB_PREFIX."user as u"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE u.rowid = x.fk_user_author"; + $sql.= " AND x.entity = ".$conf->entity; + if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) $sql.=' AND x.fk_user_author IN ('.join(',',$childids).')'; + //if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + //if (!empty($socid)) $sql.= " AND x.fk_soc = ".$socid; + $sql.= $db->order("x.tms","DESC"); + $sql.= $db->plimit($max, 0); + + $result = $db->query($sql); + if ($result) + { + $var=false; + $num = $db->num_rows($result); + + $i = 0; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if ($num) + { + $total_ttc = $totalam = $total = 0; + + $expensereportstatic=new ExpenseReport($db); + $userstatic=new User($db); + while ($i < $num && $i < $max) + { + $obj = $db->fetch_object($result); + $expensereportstatic->ref=$obj->rowid; + $expensereportstatic->id=$obj->rowid; + $userstatic->id=$obj->uid; + $userstatic->lastname=$obj->lastname; + $userstatic->firstname=$obj->firstname; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + $var=!$var; + $i++; + } + + } + else + { + print ''; + } + print '
'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).''.$langs->trans("TotalTTC").''.$langs->trans("DateModificationShort").' 
'.$expensereportstatic->getNomUrl(1).''.$userstatic->getNomUrl(1).''.price($obj->total_ttc).''.dol_print_date($db->jdate($obj->dm),'day').''.$expensereportstatic->LibStatut($obj->status,3).'
'.$langs->trans("None").'

'; + } + else dol_print_error($db); } -else dol_print_error($db); print ''; diff --git a/htdocs/compta/index.php b/htdocs/compta/index.php index 2359d70d07b..11296bda93e 100644 --- a/htdocs/compta/index.php +++ b/htdocs/compta/index.php @@ -2,6 +2,8 @@ /* Copyright (C) 2001-2005 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Juanjo Menent + * Copyright (C) 2015 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 @@ -78,7 +80,7 @@ $thirdpartystatic = new Societe($db); llxHeader("",$langs->trans("AccountancyTreasuryArea")); -print_fiche_titre($langs->trans("AccountancyTreasuryArea")); +print_fiche_titre($langs->trans("AccountancyTreasuryArea"),'','title_accountancy.png'); print '
'; @@ -127,7 +129,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire) if (! empty($conf->don->enabled) && $user->rights->don->lire) { $langs->load("donations"); - print '
'; + print ''; print ''; print ''; print ''; @@ -144,8 +146,12 @@ if (! empty($conf->don->enabled) && $user->rights->don->lire) */ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) { - $sql = "SELECT f.facnumber, f.rowid, f.total_ttc, f.type,"; - $sql.= " s.nom as name, s.rowid as socid"; + $sql = "SELECT f.facnumber"; + $sql.= ", f.rowid, f.total as total_ht, f.tva as total_tva, f.total_ttc"; + $sql.= ", f.type"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ",s.code_client"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -167,7 +173,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) print '
'.$langs->trans("SearchADonation").'
'; print ''; - print ''; + print ''; if ($num) { $companystatic=new Societe($db); @@ -180,13 +186,18 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) print ''; print ''; print ''; @@ -218,8 +229,10 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) */ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->lire) { - $sql = "SELECT f.ref, f.rowid, f.total_ttc, f.type,"; - $sql.= " s.nom as name, s.rowid as socid"; + $sql = "SELECT f.ref, f.rowid, f.total_ht, f.tva as total_tva, f.total_ttc, f.type"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_fournisseur"; $sql.= " FROM ".MAIN_DB_PREFIX."facture_fourn as f, ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.rowid = f.fk_soc AND f.fk_statut = 0"; @@ -236,7 +249,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- print '
'.$langs->trans("CustomersDraftInvoices").($num?' ('.$num.')':'').'
'.$langs->trans("CustomersDraftInvoices").($num?' '.$num.'':'').'
'; $facturestatic->ref=$obj->facnumber; $facturestatic->id=$obj->rowid; + $facturestatic->total_ht=$obj->total_ht; + $facturestatic->total_tva=$obj->total_tva; + $facturestatic->total_ttc=$obj->total_ttc; $facturestatic->type=$obj->type; print $facturestatic->getNomUrl(1,''); print ''; $companystatic->id=$obj->socid; $companystatic->name=$obj->name; - $companystatic->client=1; + $companystatic->client = 1; + $companystatic->code_client = $obj->code_client; + $companystatic->code_fournisseur = $obj->code_fournisseur; print $companystatic->getNomUrl(1,'',16); print ''.price($obj->total_ttc).'
'; print ''; - print ''; + print ''; if ($num) { $companystatic=new Societe($db); @@ -249,14 +262,19 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- print ''; print ''; print ''; print ''; @@ -292,10 +310,12 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $langs->load("boxes"); $facstatic=new Facture($db); - $sql = "SELECT f.rowid, f.facnumber, f.fk_statut, f.type, f.total, f.total_ttc, f.paye, f.tms,"; - $sql.= " f.date_lim_reglement as datelimite,"; - $sql.= " s.nom as name, s.rowid as socid,"; - $sql.= " sum(pf.amount) as am"; + $sql = "SELECT f.rowid, f.facnumber, f.fk_statut, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms"; + $sql.= ", f.date_lim_reglement as datelimite"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", sum(pf.amount) as am"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf on f.rowid=pf.fk_facture"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -303,7 +323,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $sql.= " AND f.entity = ".$conf->entity; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND f.fk_soc = ".$socid; - $sql.= " GROUP BY f.rowid, f.facnumber, f.fk_statut, f.type, f.total, f.total_ttc, f.paye, f.tms, f.date_lim_reglement, s.nom, s.rowid"; + $sql.= " GROUP BY f.rowid, f.facnumber, f.fk_statut, f.type, f.total, f.tva, f.total_ttc, f.paye, f.tms, f.date_lim_reglement, s.nom, s.rowid, s.code_client"; $sql.= " ORDER BY f.tms DESC "; $sql.= $db->plimit($max, 0); @@ -335,6 +355,9 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) print ''; @@ -353,9 +376,11 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $thirdpartystatic->id=$obj->socid; $thirdpartystatic->name=$obj->name; $thirdpartystatic->client=1; + $thirdpartystatic->code_client = $obj->code_client; + $thirdpartystatic->code_fournisseur = $obj->code_fournisseur; print $thirdpartystatic->getNomUrl(1,'customer',44); print ''; - if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; + if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; print ''; @@ -391,8 +416,10 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $langs->load("boxes"); $facstatic=new FactureFournisseur($db); - $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_ttc, ff.tms, ff.paye"; - $sql.= ", s.nom as name, s.rowid as socid"; + $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_tva, ff.total_ttc, ff.tms, ff.paye"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_fournisseur"; $sql.= ", SUM(pf.amount) as am"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture_fourn as ff"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementfourn_facturefourn as pf on ff.rowid=pf.fk_facturefourn"; @@ -401,7 +428,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $sql.= " AND ff.entity = ".$conf->entity; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; if ($socid) $sql.= " AND ff.fk_soc = ".$socid; - $sql.= " GROUP BY ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_ttc, ff.tms, ff.paye, s.nom, s.rowid"; + $sql.= " GROUP BY ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.tva, ff.total_tva, ff.total_ttc, ff.tms, ff.paye, s.nom, s.rowid, s.code_fournisseur"; $sql.= " ORDER BY ff.tms DESC "; $sql.= $db->plimit($max, 0); @@ -427,13 +454,18 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $obj = $db->fetch_object($resql); print ''; print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; @@ -467,7 +499,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- // Last donations if (! empty($conf->don->enabled) && $user->rights->societe->lire) { - include_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; + include_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; $langs->load("boxes"); $donationstatic=new Don($db); @@ -555,7 +587,7 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) print '
'.$langs->trans("SuppliersDraftInvoices").($num?' ('.$num.')':'').'
'.$langs->trans("SuppliersDraftInvoices").($num?' '.$num.'':'').'
'; $facturesupplierstatic->ref=$obj->ref; $facturesupplierstatic->id=$obj->rowid; + $facturesupplierstatic->total_ht=$obj->total_ht; + $facturesupplierstatic->total_tva=$obj->total_tva; + $facturesupplierstatic->total_ttc=$obj->total_ttc; $facturesupplierstatic->type=$obj->type; print $facturesupplierstatic->getNomUrl(1,'',16); print ''; $companystatic->id=$obj->socid; $companystatic->name=$obj->name; - $companystatic->client=1; - print $companystatic->getNomUrl(1,'',16); + $companystatic->fournisseur = 1; + $companystatic->code_client = $obj->code_client; + $companystatic->code_fournisseur = $obj->code_fournisseur; + print $companystatic->getNomUrl(1,'supplier',16); print ''.price($obj->total_ttc).'
'; $facturestatic->ref=$obj->facnumber; $facturestatic->id=$obj->rowid; + $facturestatic->total_ht=$obj->total_ht; + $facturestatic->total_tva=$obj->total_tva; + $facturestatic->total_ttc=$obj->total_ttc; $facturestatic->type=$obj->type; print $facturestatic->getNomUrl(1,''); print ''.price($obj->total).''.price($obj->total_ht).''.price($obj->total_ttc).''.dol_print_date($db->jdate($obj->tms),'day').''.$facstatic->LibStatut($obj->paye,$obj->fk_statut,3,$obj->am).'
'; $facstatic->ref=$obj->ref; - $facstatic->id=$obj->rowid; + $facstatic->id = $obj->rowid; + $facstatic->total_ht = $obj->total_ht; + $facstatic->total_tva = $obj->total_tva; + $facstatic->total_ttc = $obj->total_ttc; print $facstatic->getNomUrl(1,''); print ''; $thirdpartystatic->id=$obj->socid; $thirdpartystatic->name=$obj->name; $thirdpartystatic->fournisseur=1; + $thirdpartystatic->code_client = $obj->code_client; + $thirdpartystatic->code_fournisseur = $obj->code_fournisseur; print $thirdpartystatic->getNomUrl(1,'supplier',44); print ''.price($obj->total_ht).'
'; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -587,7 +619,7 @@ if (! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) print ''; print ''; print ''; - print ''; + print ''; print ''; } else @@ -612,9 +644,11 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us $commandestatic=new Commande($db); $langs->load("orders"); - $sql = "SELECT sum(f.total) as tot_fht, sum(f.total_ttc) as tot_fttc,"; - $sql.= " s.nom as name, s.rowid as socid,"; - $sql.= " c.rowid, c.ref, c.facture, c.fk_statut, c.total_ht, c.total_ttc"; + $sql = "SELECT sum(f.total) as tot_fht, sum(f.total_ttc) as tot_fttc"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", c.rowid, c.ref, c.facture, c.fk_statut, c.total_ht, c.tva as total_tva, c.total_ttc"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= ", ".MAIN_DB_PREFIX."commande as c"; @@ -626,7 +660,7 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us if ($socid) $sql.= " AND c.fk_soc = ".$socid; $sql.= " AND c.fk_statut = 3"; $sql.= " AND c.facture = 0"; - $sql.= " GROUP BY s.nom, s.rowid, c.rowid, c.ref, c.facture, c.fk_statut, c.total_ht, c.total_ttc"; + $sql.= " GROUP BY s.nom, s.rowid, s.code_client, c.rowid, c.ref, c.facture, c.fk_statut, c.tva, c.total_ht, c.total_ttc"; $resql = $db->query($sql); if ( $resql ) @@ -639,7 +673,7 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us $i = 0; print '
'.$langs->trans("ContributionsToPay").($num?' ('.$num.')':'').''.$langs->trans("ContributionsToPay").($num?' '.$num.'':'').''.$langs->trans("DateDue").''.$langs->trans("AmountTTC").''.$langs->trans("Paid").'
'.$langs->trans("Total").''.price($tot_ttc).'  
'; print ""; - print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -677,6 +711,8 @@ if (! empty($conf->facture->enabled) && ! empty($conf->commande->enabled) && $us $societestatic->id=$obj->socid; $societestatic->name=$obj->name; $societestatic->client=1; + $societestatic->code_client = $obj->code_client; + $societestatic->code_fournisseur = $obj->code_fournisseur; print $societestatic->getNomUrl(1,'customer',44); print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; @@ -715,10 +751,12 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) { $facstatic=new Facture($db); - $sql = "SELECT f.rowid, f.facnumber, f.fk_statut, f.datef, f.type, f.total, f.total_ttc, f.paye, f.tms,"; - $sql.= " f.date_lim_reglement as datelimite,"; - $sql.= " s.nom as name, s.rowid as socid,"; - $sql.= " sum(pf.amount) as am"; + $sql = "SELECT f.rowid, f.facnumber, f.fk_statut, f.datef, f.type, f.total as total_ht, f.tva as total_tva, f.total_ttc, f.paye, f.tms"; + $sql.= ", f.date_lim_reglement as datelimite"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", sum(pf.amount) as am"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement_facture as pf on f.rowid=pf.fk_facture"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -726,7 +764,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $sql.= " AND f.entity = ".$conf->entity; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND f.fk_soc = ".$socid; - $sql.= " GROUP BY f.rowid, f.facnumber, f.fk_statut, f.datef, f.type, f.total, f.total_ttc, f.paye, f.tms, f.date_lim_reglement, s.nom, s.rowid"; + $sql.= " GROUP BY f.rowid, f.facnumber, f.fk_statut, f.datef, f.type, f.total, f.tva, f.total_ttc, f.paye, f.tms, f.date_lim_reglement, s.nom, s.rowid, s.code_client"; $sql.= " ORDER BY f.datef ASC, f.facnumber ASC"; $resql = $db->query($sql); @@ -737,7 +775,7 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $i = 0; print '
'.$langs->trans("OrdersToBill").' ('.$num.')'.$langs->trans("OrdersToBill").' '.$num.''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("ToBill").''.price($obj->total_ht).'
'; - print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -758,6 +796,9 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) print ''; @@ -776,9 +817,11 @@ if (! empty($conf->facture->enabled) && $user->rights->facture->lire) $societestatic->id=$obj->socid; $societestatic->name=$obj->name; $societestatic->client=1; + $societestatic->code_client = $obj->code_client; + $societestatic->code_fournisseur = $obj->code_fournisseur; print $societestatic->getNomUrl(1,'customer',44); print ''; - if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; + if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; print ''; @@ -820,9 +863,12 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- { $facstatic=new FactureFournisseur($db); - $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_ttc, ff.paye,"; - $sql.= " s.nom as name, s.rowid as socid,"; - $sql.= " sum(pf.amount) as am"; + $sql = "SELECT ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_tva, ff.total_ttc, ff.paye"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", s.code_fournisseur"; + $sql.= ", sum(pf.amount) as am"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture_fourn as ff"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiementfourn_facturefourn as pf on ff.rowid=pf.fk_facturefourn"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -832,8 +878,8 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $sql.= " AND ff.fk_statut = 1"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; if ($socid) $sql.= " AND ff.fk_soc = ".$socid; - $sql.= " GROUP BY ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.total_ttc, ff.paye,"; - $sql.= " s.nom, s.rowid"; + $sql.= " GROUP BY ff.rowid, ff.ref, ff.fk_statut, ff.libelle, ff.total_ht, ff.tva, ff.total_tva, ff.total_ttc, ff.paye,"; + $sql.= " s.nom, s.rowid, s.code_client, s.code_fournisseur"; $resql=$db->query($sql); if ($resql) @@ -842,7 +888,7 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- $num = $db->num_rows($resql); print '
'.$langs->trans("BillsCustomersUnpaid",$num).' ('.$num.')
'.$langs->trans("BillsCustomersUnpaid",$num).' '.$num.''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("Received").''; $facturestatic->ref=$obj->facnumber; $facturestatic->id=$obj->rowid; + $facturestatic->total_ht=$obj->total_ht; + $facturestatic->total_tva=$obj->total_tva; + $facturestatic->total_ttc=$obj->total_ttc; $facturestatic->type=$obj->type; print $facturestatic->getNomUrl(1,''); print ''.price($obj->total).''.price($obj->total_ht).''.price($obj->total_ttc).''.price($obj->am).''.$facstatic->LibStatut($obj->paye,$obj->fk_statut,3,$obj->am).'
'; - print ''; + print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; print ''; @@ -859,12 +905,17 @@ if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture- print ''; $societestatic->id=$obj->socid; $societestatic->name=$obj->name; $societestatic->client=0; + $societestatic->code_client = $obj->code_client; + $societestatic->code_fournisseur = $obj->code_fournisseur; print ''; if (! empty($conf->global->MAIN_SHOW_HT_ON_SUMMARY)) print ''; print ''; @@ -916,7 +967,7 @@ if ($resql) $var=!$var; print ""; - print ""; + print ''; $i++; } $db->free($resql); diff --git a/htdocs/compta/journal/sellsjournal.php b/htdocs/compta/journal/sellsjournal.php index e249d3fe554..e2842f6dd1e 100644 --- a/htdocs/compta/journal/sellsjournal.php +++ b/htdocs/compta/journal/sellsjournal.php @@ -4,7 +4,9 @@ * Copyright (C) 2011-2014 Juanjo Menent * Copyright (C) 2012 Regis Houssin * Copyright (C) 2011-2012 Alexandre Spangaro + * Copyright (C) 2012 Cédric Salvador * Copyright (C) 2013 Marcos García + * Copyright (C) 2014 Raphaël Doursenaud * * 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 +103,7 @@ $p = explode(":", $conf->global->MAIN_INFO_SOCIETE_COUNTRY); $idpays = $p[0]; $sql = "SELECT f.rowid, f.facnumber, f.type, f.datef, f.ref_client,"; -$sql.= " fd.product_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.total_ttc, fd.localtax1_tx, fd.localtax2_tx, fd.total_localtax1, fd.total_localtax2,"; +$sql.= " fd.product_type, fd.total_ht, fd.total_tva, fd.tva_tx, fd.total_ttc, fd.localtax1_tx, fd.localtax2_tx, fd.total_localtax1, fd.total_localtax2, fd.rowid as id, fd.situation_percent,"; $sql.= " s.rowid as socid, s.nom as name, s.code_compta, s.client,"; $sql.= " p.rowid as pid, p.ref as pref, p.accountancy_code_sell,"; $sql.= " ct.accountancy_code_sell as account_tva, ct.recuperableonly"; @@ -112,8 +114,8 @@ $sql.= " JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = f.fk_soc"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_tva ct ON fd.tva_tx = ct.taux AND fd.info_bits = ct.recuperableonly AND ct.fk_pays = '".$idpays."'"; $sql.= " WHERE f.entity = ".$conf->entity; $sql.= " AND f.fk_statut > 0"; -if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2)"; -else $sql.= " AND f.type IN (0,1,2,3)"; +if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; +else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND fd.product_type IN (0,1)"; if ($date_start && $date_end) $sql .= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; $sql.= " ORDER BY f.rowid"; @@ -149,7 +151,7 @@ if ($result) if($obj->product_type == 0) $compta_prod = (! empty($conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT)?$conf->global->ACCOUNTING_PRODUCT_SOLD_ACCOUNT:$langs->trans("CodeNotDef")); else $compta_prod = (! empty($conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT)?$conf->global->ACCOUNTING_SERVICE_SOLD_ACCOUNT:$langs->trans("CodeNotDef")); } - $cpttva = (! empty($conf->global->ACCOUNTING_VAT_ACCOUNT)?$conf->global->ACCOUNTING_VAT_ACCOUNT:$langs->trans("CodeNotDef")); + $cpttva = (! empty($conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT)?$conf->global->ACCOUNTING_VAT_SOLD_ACCOUNT:$langs->trans("CodeNotDef")); $compta_tva = (! empty($obj->account_tva)?$obj->account_tva:$cpttva); $account_localtax1=getLocalTaxesFromRate($obj->tva_tx, 1, $obj->thirdparty, $mysoc); @@ -157,6 +159,16 @@ if ($result) $account_localtax2=getLocalTaxesFromRate($obj->tva_tx, 2, $obj->thirdparty, $mysoc); $compta_localtax2= (! empty($account_localtax2[3])?$account_localtax2[3]:$langs->trans("CodeNotDef")); + // Situation invoices handling + $line = new FactureLigne($db); + $line->fetch($obj->id); + $prev_progress = $line->get_prev_progress(); + if ($obj->situation_percent == 0) { // Avoid divide by 0 + $situation_ratio = 0; + } else { + $situation_ratio = ($obj->situation_percent - $prev_progress) / $obj->situation_percent; + } + //la ligne facture $tabfac[$obj->rowid]["date"] = $obj->datef; $tabfac[$obj->rowid]["ref"] = $obj->facnumber; @@ -166,9 +178,9 @@ if ($result) if (! isset($tabtva[$obj->rowid][$compta_tva])) $tabtva[$obj->rowid][$compta_tva]=0; if (! isset($tablocaltax1[$obj->rowid][$compta_localtax1])) $tablocaltax1[$obj->rowid][$compta_localtax1]=0; if (! isset($tablocaltax2[$obj->rowid][$compta_localtax2])) $tablocaltax2[$obj->rowid][$compta_localtax2]=0; - $tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc; - $tabht[$obj->rowid][$compta_prod] += $obj->total_ht; - if($obj->recuperableonly != 1) $tabtva[$obj->rowid][$compta_tva] += $obj->total_tva; + $tabttc[$obj->rowid][$compta_soc] += $obj->total_ttc * $situation_ratio; + $tabht[$obj->rowid][$compta_prod] += $obj->total_ht * $situation_ratio; + if($obj->recuperableonly != 1) $tabtva[$obj->rowid][$compta_tva] += $obj->total_tva * $situation_ratio; $tablocaltax1[$obj->rowid][$compta_localtax1] += $obj->total_localtax1; $tablocaltax2[$obj->rowid][$compta_localtax2] += $obj->total_localtax2; $tabcompany[$obj->rowid]=array('id'=>$obj->socid, 'name'=>$obj->name, 'client'=>$obj->client); diff --git a/htdocs/compta/localtax/card.php b/htdocs/compta/localtax/card.php index 1b16064ed9e..308bcac6dc9 100644 --- a/htdocs/compta/localtax/card.php +++ b/htdocs/compta/localtax/card.php @@ -190,8 +190,11 @@ if ($_GET["action"] == 'create') print "
"; - print '
  '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } diff --git a/htdocs/compta/localtax/class/localtax.class.php b/htdocs/compta/localtax/class/localtax.class.php index d6260d1b34d..04461117271 100644 --- a/htdocs/compta/localtax/class/localtax.class.php +++ b/htdocs/compta/localtax/class/localtax.class.php @@ -109,13 +109,21 @@ class Localtax extends CommonObject if ($result < 0) $error++; // End call triggers - //FIXME: Add rollback if trigger fail - - return $this->id; + if (! $error) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -1; + } } else - { + { $this->error="Error ".$this->db->lasterror(); + $this->db->rollback(); return -1; } } @@ -141,7 +149,9 @@ class Localtax extends CommonObject $this->fk_user_creat=trim($this->fk_user_creat); $this->fk_user_modif=trim($this->fk_user_modif); - // Update request + $this->db->begin(); + + // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."localtax SET"; $sql.= " localtaxtype=".$this->ltt.","; $sql.= " tms=".$this->db->idate($this->tms).","; @@ -160,20 +170,27 @@ class Localtax extends CommonObject if (! $resql) { $this->error="Error ".$this->db->lasterror(); - return -1; + $error++; } - if (! $notrigger) + if (! $error && ! $notrigger) { // Call trigger $result=$this->call_trigger('LOCALTAX_MODIFY',$user); if ($result < 0) $error++; // End call triggers - - //FIXME: Add rollback if trigger fail } - return 1; + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } } @@ -580,16 +597,16 @@ class Localtax extends CommonObject global $langs; $result=''; - - $lien = ''; - $lienfin=''; - - $picto='payment'; $label=$langs->trans("ShowVatPayment").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + $link = ''; + $linkend=''; + + $picto='payment'; + + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } diff --git a/htdocs/compta/localtax/index.php b/htdocs/compta/localtax/index.php index 1ee31f5ebbd..1e8570d7378 100644 --- a/htdocs/compta/localtax/index.php +++ b/htdocs/compta/localtax/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Ferran Marcet +/* Copyright (C) 2011-2014 Juanjo Menent + * Copyright (C) 2014 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 @@ -17,9 +17,9 @@ */ /** - * \file htdocs/compta/localtax/index.php + * \file htdocs/compta/localtax/index.php * \ingroup tax - * \brief Index page of IRPF reports + * \brief Index page of IRPF reports */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php'; @@ -30,8 +30,7 @@ $langs->load("other"); $localTaxType=GETPOST('localTaxType', 'int'); $year=$_GET["year"]; -if ($year == 0 ) -{ +if ($year == 0 ) { $year_current = strftime("%Y",time()); $year_start = $year_current; } else { @@ -41,21 +40,30 @@ if ($year == 0 ) // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; -if ($user->societe_id) $socid=$user->societe_id; +if ($user->societe_id) + $socid=$user->societe_id; $result = restrictedArea($user, 'tax', '', '', 'charges'); // Define modetax (0 or 1) // 0=normal, 1=option vat for services is on debit $modetax = $conf->global->TAX_MODE; -if (isset($_GET["modetax"])) $modetax=$_GET["modetax"]; +if (isset($_GET["modetax"])) + $modetax=$_GET["modetax"]; +/** + * print function + * + * @param DoliDB $db Database + * @param string $sql sql + * @param string $date date + * @return void + */ function pt ($db, $sql, $date) { global $conf, $bc,$langs; $result = $db->query($sql); - if ($result) - { + if ($result) { $num = $db->num_rows($result); $i = 0; $total = 0; @@ -66,8 +74,7 @@ function pt ($db, $sql, $date) print '
'."\n"; print "\n"; $var=True; - while ($i < $num) - { + while ($i < $num) { $obj = $db->fetch_object($result); $var=!$var; print ''; @@ -79,12 +86,11 @@ function pt ($db, $sql, $date) $i++; } - print '"; + print '"; print "
'.$langs->trans("BillsSuppliersUnpaid",$num).' ('.$num.')
'.$langs->trans("BillsSuppliersUnpaid",$num).' '.$num.''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("Paid").'
'; $facstatic->ref=$obj->ref; - $facstatic->id=$obj->rowid; + $facstatic->id = $obj->rowid; + $facstatic->total_ht = $obj->total_ht; + $facstatic->total_tva = $obj->total_tva; + $facstatic->total_ttc = $obj->total_ttc; print $facstatic->getNomUrl(1,''); print ''.$societestatic->getNomUrl(1, 'supplier', 44).''.price($obj->total_ht).''.price($obj->total_ttc).'
".dol_print_date($obj->da,"day")."$obj->libelle $obj->label
'.$obj->libelle.' '.$obj->label.'
 
'.$langs->trans("Total")." :".price($total)." 
'.$langs->trans("Total")." :".price($total)." 
"; $db->free($result); - } - else { + } else { dol_print_error($db); } } @@ -96,17 +102,14 @@ function pt ($db, $sql, $date) llxHeader(); -if($localTaxType==1) -{ +if($localTaxType==1) { $LT='LT1'; $LTSummary='LT1Summary'; $LTPaid='LT1Paid'; $LTCustomer='LT1Customer'; $LTSupplier='LT1Supplier'; $CalcLT= $conf->global->MAIN_INFO_LOCALTAX_CALC1; -} -else -{ +} else { $LT='LT2'; $LTSummary='LT2Summary'; $LTPaid='LT2Paid'; @@ -138,18 +141,15 @@ print '
'; print ""; print ""; print ""; -if($CalcLT==0) -{ - print ""; - print ""; +if($CalcLT==0) { + print ""; + print ""; } -if($CalcLT==1) -{ - print ""; +if($CalcLT==1) { + print ""; } -if($CalcLT==2) -{ - print ""; +if($CalcLT==2) { + print ""; } print ""; @@ -161,8 +161,7 @@ $y = $year_current ; $var=True; $total=0; $subtotalcoll=0; $subtotalpaye=0; $subtotal=0; $i=0; -for ($m = 1 ; $m < 13 ; $m++ ) -{ +for ($m = 1 ; $m < 13 ; $m++ ) { $coll_listsell = vat_by_date($db, $y, 0, 0, 0, $modetax, 'sell', $m); $coll_listbuy = vat_by_date($db, $y, 0, 0, 0, $modetax, 'buy', $m); @@ -175,72 +174,56 @@ for ($m = 1 ; $m < 13 ; $m++ ) $hookmanager->initHooks(array('externalbalance')); $reshook=$hookmanager->executeHooks('addStatisticLine',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks - if (! is_array($coll_listbuy) && $coll_listbuy == -1) - { + if (! is_array($coll_listbuy) && $coll_listbuy == -1) { $langs->load("errors"); print ''; break; } - if (! is_array($coll_listbuy) && $coll_listbuy == -2) - { + if (! is_array($coll_listbuy) && $coll_listbuy == -2) { print ''; break; } $var=!$var; - print ""; + print ''; print ''; - if($CalcLT==0) - { - $x_coll = 0; - foreach($coll_listsell as $vatrate=>$val) - { + if($CalcLT==0) { + $x_coll = 0; + foreach($coll_listsell as $vatrate=>$val) { $x_coll+=$val[$localTaxType==1?'localtax1':'localtax2']; } $subtotalcoll = $subtotalcoll + $x_coll; print ""; $x_paye = 0; - foreach($coll_listbuy as $vatrate=>$val) - { + foreach($coll_listbuy as $vatrate=>$val) { $x_paye+=$val[$localTaxType==1?'localtax1':'localtax2']; } $subtotalpaye = $subtotalpaye + $x_paye; print ""; - } - elseif($CalcLT==1) - { + } elseif($CalcLT==1) { $x_paye = 0; - foreach($coll_listbuy as $vatrate=>$val) - { + foreach($coll_listbuy as $vatrate=>$val) { $x_paye+=$val[$localTaxType==1?'localtax1':'localtax2']; } $subtotalpaye = $subtotalpaye + $x_paye; print ""; - } - elseif($CalcLT==2) - { + } elseif($CalcLT==2) { $x_coll = 0; - foreach($coll_listsell as $vatrate=>$val) - { + foreach($coll_listsell as $vatrate=>$val) { $x_coll+=$val[$localTaxType==1?'localtax1':'localtax2']; } $subtotalcoll = $subtotalcoll + $x_coll; print ""; } - - if($CalcLT==0) - { - $diff= $x_coll - $x_paye; - } - elseif($CalcLT==1) - { - $diff= $x_paye; - } - elseif($CalcLT==2) - { - $diff= $x_coll; + + if($CalcLT==0) { + $diff= $x_coll - $x_paye; + } elseif($CalcLT==1) { + $diff= $x_paye; + } elseif($CalcLT==2) { + $diff= $x_coll; } $total = $total + $diff; @@ -251,23 +234,17 @@ for ($m = 1 ; $m < 13 ; $m++ ) print "\n"; $i++; - if ($i > 2) - { + if ($i > 2) { print ''; print ''; - if($CalcLT==0) - { + if($CalcLT==0) { print ''; print ''; print ''; - } - elseif($CalcLT==1) - { + } elseif($CalcLT==1) { print ''; print ''; - } - elseif($CalcLT==2) - { + } elseif($CalcLT==2) { print ''; print ''; } @@ -276,7 +253,7 @@ for ($m = 1 ; $m < 13 ; $m++ ) $subtotalcoll=0; $subtotalpaye=0; $subtotal=0; } } -print ''; +print ''; print "\n"; print ''; @@ -298,7 +275,7 @@ $sql.= " GROUP BY dm ASC"; pt($db, $sql,$langs->trans("Year")." $y"); -print "
".$langs->trans("Year")." $y".$langs->transcountry($LTCustomer,$mysoc->country_code)."".$langs->transcountry($LTSupplier,$mysoc->country_code)."".$langs->transcountry($LTCustomer,$mysoc->country_code)."".$langs->transcountry($LTSupplier,$mysoc->country_code)."".$langs->transcountry($LTSupplier,$mysoc->country_code)."".$langs->transcountry($LTSupplier,$mysoc->country_code)."".$langs->transcountry($LTCustomer,$mysoc->country_code)."".$langs->transcountry($LTCustomer,$mysoc->country_code)."".$langs->trans("TotalToPay")."
'.$langs->trans("ErrorNoAccountancyModuleLoaded").'
'.$langs->trans("FeatureNotYetAvailable").'
'.dol_print_date(dol_mktime(0,0,0,$m,1,$y),"%b %Y").'".price($x_coll)."".price($x_paye)."".price($x_paye)."".price($x_coll)."
'.$langs->trans("SubTotal").':'.price($subtotalcoll).''.price($subtotalpaye).''.price($subtotal).''.price($subtotalpaye).''.price($subtotal).''.price($subtotalcoll).''.price($subtotal).'
'.$langs->trans("TotalToPay").':'.price($total).'
'.$langs->trans("TotalToPay").':'.price($total).' 
"; +print '
'; print ''; print ''; diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index 13414a5b915..fe32541a0fc 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -4,7 +4,9 @@ * Copyright (C) 2005 Marc Barilley / Ocebo * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke - * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2014 Raphaël Doursenaud + * Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> * * 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 @@ -401,6 +403,8 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie print ''; print ''; + dol_fiche_head(); + print ''; // Third party @@ -460,6 +464,8 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie print '
'; + dol_fiche_end(); + /* * List of unpaid invoices */ @@ -472,7 +478,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $sql.= ' AND f.fk_statut = 1'; // Statut=0 => not validated, Statut=2 => canceled if ($facture->type != 2) { - $sql .= ' AND type IN (0,1,3)'; // Standard invoice, replacement, deposit + $sql .= ' AND type IN (0,1,3,5)'; // Standard invoice, replacement, deposit, situation } else { @@ -569,7 +575,7 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie } else { - print ''; + print ''; print ''; } print ""; @@ -629,15 +635,15 @@ if ($action == 'create' || $action == 'confirm_paiement' || $action == 'add_paie $buttontitle=$langs->trans('ToMakePayment'); if ($facture->type == 2) $buttontitle=$langs->trans('ToMakePaymentBack'); - print '

'; - print ' '.$checkboxlabel; + print '
'; + print ' '.$checkboxlabel; /*if (! empty($conf->prelevement->enabled)) { $langs->load("withdrawals"); if (! empty($conf->global->WITHDRAW_DISABLE_AUTOCREATE_ONPAYMENTS)) print '
'.$langs->trans("IfInvoiceNeedOnWithdrawPaymentWontBeClosed"); }*/ print '


'; - print '
'; + print '
'; } // Form to confirm payment @@ -699,7 +705,7 @@ if (! GETPOST('action')) print_liste_field_titre($langs->trans('Date'),$_SERVER["PHP_SELF"],'dp','','','',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Type'),$_SERVER["PHP_SELF"],'libelle','','','',$sortfield,$sortorder); print_liste_field_titre($langs->trans('Amount'),$_SERVER["PHP_SELF"],'fa_amount','','','align="right"',$sortfield,$sortorder); - print ' '; + print_liste_field_titre(''); print "\n"; while ($i < min($num,$limit)) diff --git a/htdocs/compta/paiement/avalider.php b/htdocs/compta/paiement/avalider.php index 1afdf0e2c80..489997011b0 100644 --- a/htdocs/compta/paiement/avalider.php +++ b/htdocs/compta/paiement/avalider.php @@ -88,7 +88,7 @@ if ($resql) print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"dp","","",'width="80" align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"c.libelle","","","",$sortfield,$sortorder); print_liste_field_titre($langs->trans("AmountTTC"),$_SERVER["PHP_SELF"],"c.libelle","","",'align="right"',$sortfield,$sortorder); - print " "; + print_liste_field_titre(''); print "\n"; while ($i < min($num,$limit)) diff --git a/htdocs/compta/paiement/cheque/card.php b/htdocs/compta/paiement/cheque/card.php index f87689bd202..fdd61727069 100644 --- a/htdocs/compta/paiement/cheque/card.php +++ b/htdocs/compta/paiement/cheque/card.php @@ -4,6 +4,7 @@ * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2013 Philippe Grand + * Copyright (C) 2015 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 @@ -262,7 +263,7 @@ else if ($action == 'remove_file' && $user->rights->banque->cheque) $langs->load("other"); - $file=$dir.get_exdir($object->number,2,1) . GETPOST('file'); + $file=$dir.get_exdir($object->number,2,1,0,$object,'cheque') . GETPOST('file'); $ret=dol_delete_file($file,0,0,0,$object); if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); @@ -322,7 +323,7 @@ else if ($action == 'delete') { print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("DeleteCheckReceipt"), $langs->trans("ConfirmDeleteCheckReceipt"), 'confirm_delete','','',1); - + } /* @@ -331,7 +332,7 @@ else if ($action == 'valide') { print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("ValidateCheckReceipt"), $langs->trans("ConfirmValidateCheckReceipt"), 'confirm_valide','','',1); - + } } @@ -347,7 +348,9 @@ if ($action == 'new') print '
'; print ''; - //print '
aaa'; + + dol_fiche_head(); + print ''; //print ''; // Filter @@ -358,16 +361,18 @@ if ($action == 'new') $form->select_comptes($filteraccountid,'accountid',0,'courant <> 2',1); print ''; print '
'.$langs->trans('Date').''.dol_print_date($now,'day').'
'; - print '
'; + + dol_fiche_end(); + + print '
'; print ''; if ($filterdate || $filteraccountid > 0) { print '   '; print ''; } - print '
'; - //print '
'; - print '
'; + print ''; + print ''; print '
'; $sql = "SELECT ba.rowid as bid, b.datec as datec, b.dateo as date, b.rowid as chqid, "; @@ -376,7 +381,7 @@ if ($action == 'new') $sql.= " ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_type = 'CHQ'"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.fk_bordereau = 0"; $sql.= " AND b.amount > 0"; if ($filterdate) $sql.=" AND b.dateo = '".$db->idate($filterdate)."'"; @@ -414,11 +419,11 @@ if ($action == 'new') { jQuery("#checkall_'.$bid.'").click(function() { - jQuery(".checkforremise_'.$bid.'").attr(\'checked\', true); + jQuery(".checkforremise_'.$bid.'").prop(\'checked\', true); }); jQuery("#checknone_'.$bid.'").click(function() { - jQuery(".checkforremise_'.$bid.'").attr(\'checked\', false); + jQuery(".checkforremise_'.$bid.'").prop(\'checked\', false); }); }); @@ -462,7 +467,7 @@ if ($action == 'new') print ''.$value["banque"]."\n"; print ''.price($value["amount"]).''; print ''; - print ''; + print ''; print '' ; print ''; @@ -599,7 +604,7 @@ else $sql.= ", ".MAIN_DB_PREFIX."bank as b"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."paiement as p ON p.fk_bank = b.rowid"; $sql.= " WHERE ba.rowid = b.fk_account"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.fk_type= 'CHQ'"; $sql.= " AND b.fk_bordereau = ".$object->id; $sql.= " ORDER BY $sortfield $sortorder"; @@ -620,7 +625,7 @@ else print_liste_field_titre($langs->trans("Bank"),$_SERVER["PHP_SELF"],"b.banque", "",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"b.amount", "",$param,'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("LineRecord"),$_SERVER["PHP_SELF"],"b.rowid", "",$param,'align="center"',$sortfield,$sortorder); - print_liste_field_titre('','',''); + print_liste_field_titre(''); print "\n"; $i=1; $var=false; @@ -704,7 +709,7 @@ if ($action != 'new') if ($object->statut == 1) { $filename=dol_sanitizeFileName($object->ref); - $filedir=$dir.get_exdir($object->number,2,1) . dol_sanitizeFileName($object->ref); + $filedir=$dir.get_exdir($object->number,2,1,0,$object,'cheque') . dol_sanitizeFileName($object->ref); $urlsource=$_SERVER["PHP_SELF"]."?id=".$object->id; $formfile->show_documents('remisecheque', $filename, $filedir, $urlsource, 1, 1); diff --git a/htdocs/compta/paiement/cheque/class/remisecheque.class.php b/htdocs/compta/paiement/cheque/class/remisecheque.class.php index 36ef0e2a1e9..2dc1efe04b4 100644 --- a/htdocs/compta/paiement/cheque/class/remisecheque.class.php +++ b/htdocs/compta/paiement/cheque/class/remisecheque.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2007-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -432,23 +433,19 @@ class RemiseCheque extends CommonObject * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * * @param User $user Objet user - * @return int <0 if KO, >0 if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { - global $conf; + global $conf, $langs; if ($user->societe_id) return -1; // protection pour eviter appel par utilisateur externe - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; - $sql = "SELECT b.rowid, b.datev as datefin"; $sql.= " FROM ".MAIN_DB_PREFIX."bank as b"; $sql.= ", ".MAIN_DB_PREFIX."bank_account as ba"; $sql.= " WHERE b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " AND b.fk_type = 'CHQ'"; $sql.= " AND b.fk_bordereau = 0"; $sql.= " AND b.amount > 0"; @@ -456,12 +453,25 @@ class RemiseCheque extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $langs->load("banks"); + $now=dol_now(); + + $response = new WorkboardResponse(); + $response->warning_delay=$conf->bank->cheque->warning_delay/60/60/24; + $response->label=$langs->trans("BankChecksToReceipt"); + $response->url=DOL_URL_ROOT.'/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=accountancy'; + $response->img=img_object($langs->trans("BankChecksToReceipt"),"payment"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($this->db->jdate($obj->datefin) < ($now - $conf->bank->cheque->warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { @@ -758,9 +768,9 @@ class RemiseCheque extends CommonObject } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param string $option Sur quoi pointe le lien * @return string Chaine avec URL */ @@ -769,13 +779,14 @@ class RemiseCheque extends CommonObject global $langs; $result=''; + $label = $langs->trans("ShowCheckReceipt").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowCheckReceipt"),'payment').$lienfin); + if ($withpicto) $result.=($link.img_object($label, 'payment', 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } diff --git a/htdocs/compta/paiement/class/paiement.class.php b/htdocs/compta/paiement/class/paiement.class.php index e3fb7a3c824..60d669fcacf 100644 --- a/htdocs/compta/paiement/class/paiement.class.php +++ b/htdocs/compta/paiement/class/paiement.class.php @@ -2,6 +2,8 @@ /* Copyright (C) 2002-2004 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2014 Raphaël Doursenaud * Copyright (C) 2014 Marcos García * * This program is free software; you can redistribute it and/or modify @@ -38,7 +40,16 @@ class Paiement extends CommonObject var $ref; var $facid; var $datepaye; - var $total; // deprecated + /** + * @deprecated + * @see amount, amounts + */ + var $total; + /** + * @deprecated + * @see amount, amounts + */ + var $montant; var $amount; // Total amount of payment var $amounts=array(); // Array of amounts var $author; @@ -68,9 +79,10 @@ class Paiement extends CommonObject * Load payment from database * * @param int $id Id of payment to get + * @param int $ref Ref of payment to get (same as $id) * @return int <0 if KO, 0 if not found, >0 if OK */ - function fetch($id) + function fetch($id, $ref='') { $sql = 'SELECT p.rowid, p.datep as dp, p.amount, p.statut, p.fk_bank,'; $sql.= ' c.code as type_code, c.libelle as type_libelle,'; @@ -79,7 +91,10 @@ class Paiement extends CommonObject $sql.= ' FROM '.MAIN_DB_PREFIX.'c_paiement as c, '.MAIN_DB_PREFIX.'paiement as p'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON p.fk_bank = b.rowid '; $sql.= ' WHERE p.fk_paiement = c.id'; - $sql.= ' AND p.rowid = '.$id; + if ($ref) + $sql.= ' AND p.rowid = '.$ref; + else + $sql.= ' AND p.rowid = '.$id; dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $result = $this->db->query($sql); @@ -212,13 +227,14 @@ class Paiement extends CommonObject //Invoice types that are eligible for changing status to paid $affected_types = array( - 0, - 1, - 2, - 3 + Facture::TYPE_STANDARD, + Facture::TYPE_REPLACEMENT, + Facture::TYPE_CREDIT_NOTE, + Facture::TYPE_DEPOSIT, + Facture::TYPE_SITUATION ); - if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice. We do nothing more."); + if (!in_array($invoice->type, $affected_types)) dol_syslog("Invoice ".$facid." is not a standard, nor replacement invoice, nor credit note, nor deposit invoice, nor situation invoice. We do nothing more."); else if ($remaintopay) dol_syslog("Remain to pay for invoice ".$facid." not null. We do nothing more."); else if ($mustwait) dol_syslog("There is ".$mustwait." differed payment to process, we do nothing more."); else @@ -485,7 +501,7 @@ class Paiement extends CommonObject $fac->thirdparty->name, 'company' ); - if ($result <= 0) dol_print_error($this->db); + if ($result <= 0) dol_syslog(get_class($this).'::addPaymentToBank '.$this->db->lasterror()); $linkaddedforthirdparty[$fac->thirdparty->id]=$fac->thirdparty->id; // Mark as done for this thirdparty } } @@ -503,7 +519,7 @@ class Paiement extends CommonObject $fac->thirdparty->name, 'company' ); - if ($result <= 0) dol_print_error($this->db); + if ($result <= 0) dol_syslog(get_class($this).'::addPaymentToBank '.$this->db->lasterror()); $linkaddedforthirdparty[$fac->thirdparty->id]=$fac->thirdparty->id; // Mark as done for this thirdparty } } @@ -734,9 +750,9 @@ class Paiement extends CommonObject /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param string $option Sur quoi pointe le lien * @return string Chaine avec URL */ @@ -745,13 +761,14 @@ class Paiement extends CommonObject global $langs; $result=''; + $label = $langs->trans("ShowPayment").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowPayment"),'payment').$lienfin); + if ($withpicto) $result.=($link.img_object($langs->trans("ShowPayment"), 'payment', 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } diff --git a/htdocs/compta/paiement/list.php b/htdocs/compta/paiement/list.php index 5cf941302c7..f2b6bcf1490 100644 --- a/htdocs/compta/paiement/list.php +++ b/htdocs/compta/paiement/list.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 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 @@ -144,7 +145,7 @@ if ($resql) $paramlist.=($search_company?"&search_company=".$search_company:""); $paramlist.=($search_amount?"&search_amount=".$search_amount:""); - print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"],$paramlist,$sortfield,$sortorder,'',$num); + print_barre_liste($langs->trans("ReceivedCustomersPayments"), $page, $_SERVER["PHP_SELF"],$paramlist,$sortfield,$sortorder,'',$num,'','title_accountancy.png'); print '
'; print ''; @@ -160,7 +161,7 @@ if ($resql) { print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut","",$paramlist,'align="right"',$sortfield,$sortorder); } - print ''; + print_liste_field_titre(''); print "\n"; // Lines for filters fields diff --git a/htdocs/compta/paiement/rapport.php b/htdocs/compta/paiement/rapport.php index 8cd9a31c783..142ea7b5a4a 100644 --- a/htdocs/compta/paiement/rapport.php +++ b/htdocs/compta/paiement/rapport.php @@ -1,6 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2015 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 @@ -87,7 +88,7 @@ $formother=new FormOther($db); llxHeader(); $titre=($year?$langs->trans("PaymentsReportsForYear",$year):$langs->trans("PaymentsReports")); -print_fiche_titre($titre); +print_fiche_titre($titre,'','title_accountancy.png'); // Formulaire de generation print ''; diff --git a/htdocs/compta/paiement_charge.php b/htdocs/compta/paiement_charge.php index 7e26fa5789f..420fbd7af69 100644 --- a/htdocs/compta/paiement_charge.php +++ b/htdocs/compta/paiement_charge.php @@ -178,7 +178,7 @@ if ($_GET["action"] == 'create') print '
 
'; - print ""; + print ""; print ''; print '\n"; @@ -312,13 +312,11 @@ if ($_GET["action"] == 'create') print "
Charge
".$langs->trans("SocialContribution")."
'.$langs->trans("Ref").''.$chid.'
'.$langs->trans("Type")."".$charge->type_libelle."
"; - print '
'; - + print '
'; print ''; - print '   '; + print '     '; print ''; - - print '
'; + print ''; print "
\n"; } diff --git a/htdocs/compta/prelevement/bons.php b/htdocs/compta/prelevement/bons.php index c2d67b4551b..695afb7562f 100644 --- a/htdocs/compta/prelevement/bons.php +++ b/htdocs/compta/prelevement/bons.php @@ -55,7 +55,7 @@ $pagenext = $page + 1; /* - * Mode Liste + * Mode List * */ $sql = "SELECT p.rowid, p.ref, p.amount, p.statut"; @@ -75,17 +75,16 @@ if ($result) print_barre_liste($langs->trans("WithdrawalsReceipts"), $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num); - print"\n\n"; print ''; print ''; print_liste_field_titre($langs->trans("WithdrawalsReceipts"),$_SERVER["PHP_SELF"],"p.ref",'','','class="liste_titre"'); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"p.datec","","",'class="liste_titre" align="center"'); - print ''; - print ''; + print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"","","",'align="center"'); + print "\n"; print ''; - print ''; + print ''; print ''; print ''; print ''; @@ -121,7 +120,7 @@ else dol_print_error($db); } -$db->close(); llxFooter(); +$db->close(); diff --git a/htdocs/compta/prelevement/card.php b/htdocs/compta/prelevement/card.php index d27769e28a2..9dd841e0add 100644 --- a/htdocs/compta/prelevement/card.php +++ b/htdocs/compta/prelevement/card.php @@ -25,6 +25,7 @@ require('../../main.inc.php'); require_once DOL_DOCUMENT_ROOT.'/core/lib/prelevement.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/ligneprelevement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; @@ -45,6 +46,11 @@ if ($user->societe_id > 0) accessforbidden(); $action = GETPOST('action','alpha'); $id = GETPOST('id','int'); +$socid = GETPOST('socid','int'); +$page = GETPOST('page','int'); +$sortorder = ((GETPOST('sortorder','alpha')=="")) ? "DESC" : GETPOST('sortorder','alpha'); +$sortfield = ((GETPOST('sortfield','alpha')=="")) ? "pl.fk_soc" : GETPOST('sortfield','alpha'); + /* * Actions @@ -207,10 +213,10 @@ if ($id > 0) print '
'.$langs->trans("Amount").'
 
'; print ''; print ''; - print ''; - print ''; /* print '';*/ print '
'.$langs->trans("NotifyTransmision").'
'.$langs->trans("TransData").''; + print '
'.$langs->trans("TransData").''; print $form->select_date('','','','','',"userfile",1,1); print '
'.$langs->trans("TransMetod").''; + print '
'.$langs->trans("TransMetod").''; print $form->selectarray("methode",$bon->methodes_trans); print '
'.$langs->trans("File").''; @@ -218,7 +224,7 @@ if ($id > 0) print '
'; print '

'; - print '
'; + print '
'; print ''; } @@ -230,12 +236,12 @@ if ($id > 0) print ''; print ''; print ''; - print ''; print '
'.$langs->trans("NotifyCredit").'
'.$langs->trans('CreditDate').''; + print '
'.$langs->trans('CreditDate').''; print $form->select_date('','','','','',"infocredit",1,1); print '
'; print '
'.$langs->trans("ThisWillAlsoAddPaymentOnInvoice"); - print '
'; + print '
'; print ''; } @@ -259,6 +265,122 @@ if ($id > 0) print ""; } + + + $ligne=new LignePrelevement($db,$user); + + if ($page == -1) { $page = 0 ; } + + $offset = $conf->liste_limit * $page ; + $pageprev = $page - 1; + $pagenext = $page + 1; + + /* + * Lines into withdraw request + */ + $sql = "SELECT pl.rowid, pl.statut, pl.amount"; + $sql.= ", s.rowid as socid, s.nom as name"; + $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; + $sql.= ", ".MAIN_DB_PREFIX."prelevement_bons as pb"; + $sql.= ", ".MAIN_DB_PREFIX."societe as s"; + $sql.= " WHERE pl.fk_prelevement_bons = ".$id; + $sql.= " AND pl.fk_prelevement_bons = pb.rowid"; + $sql.= " AND pb.entity = ".$conf->entity; + $sql.= " AND pl.fk_soc = s.rowid"; + if ($socid) $sql.= " AND s.rowid = ".$socid; + $sql.= $db->order($sortfield, $sortorder); + $sql.= $db->plimit($conf->liste_limit+1, $offset); + + $result = $db->query($sql); + + if ($result) + { + $num = $db->num_rows($result); + $i = 0; + + $urladd = "&id=".$prev_id; + + print_barre_liste("", $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num); + print"\n\n"; + print ''; + print ''; + print_liste_field_titre($langs->trans("Lines"),$_SERVER["PHP_SELF"],"pl.rowid",'',$urladd); + print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd); + print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"pl.amount","",$urladd,'align="center"'); + print_liste_field_titre(''); + print "\n"; + + $var=false; + + $total = 0; + + while ($i < min($num,$conf->liste_limit)) + { + $obj = $db->fetch_object($result); + + print ""; + + print "'; + + $thirdparty=new Societe($db); + $thirdparty->fetch($obj->socid); + print '\n"; + + print '\n"; + + print ''; + + $total += $obj->total_ttc; + $var=!$var; + $i++; + } + + if($socid) + { + print ""; + + print ''; + + print '\n"; + + print ''; + + print ''; + + print "\n"; + } + + print "
"; + + print $ligne->LibStatut($obj->statut,2); + print " "; + + print ''; + print substr('000000'.$obj->rowid, -6); + print ''; + print $thirdparty->getNomUrl(1); + print "'.price($obj->amount)."'; + + if ($obj->statut == 3) + { + print ''.$langs->trans("StatusRefused").''; + } + else + { + print " "; + } + + print '
'.$langs->trans("Total").''.price($total)."  
"; + $db->free($result); + } + else + { + dol_print_error($db); + } + + + + } diff --git a/htdocs/compta/prelevement/class/bonprelevement.class.php b/htdocs/compta/prelevement/class/bonprelevement.class.php index e82e196fe99..3f813e00938 100644 --- a/htdocs/compta/prelevement/class/bonprelevement.class.php +++ b/htdocs/compta/prelevement/class/bonprelevement.class.php @@ -446,8 +446,17 @@ class BonPrelevement extends CommonObject $fac = new Facture($this->db); $fac->fetch($facs[$i][0]); $amounts[$fac->id] = $facs[$i][1]; - $result = $fac->set_paid($user); + + $totalpaye = $fac->getSommePaiement(); + $totalcreditnotes = $fac->getSumCreditNotesUsed(); + $totaldeposits = $fac->getSumDepositsUsed(); + $alreadypayed = $totalpaye + $totalcreditnotes + $totaldeposits; + + if ($alreadypayed + $facs[$i][1] >= $fac->total_ttc) { + $result = $fac->set_paid($user); + } } + $paiement = new Paiement($this->db); $paiement->datepaye = $date ; $paiement->amounts = $amounts; @@ -651,7 +660,7 @@ class BonPrelevement extends CommonObject { global $conf; - $sql = "SELECT sum(f.total_ttc) as nb"; + $sql = "SELECT sum(pfd.amount) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f,"; $sql.= " ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; //$sql.= " ,".MAIN_DB_PREFIX."c_paiement as cp"; @@ -737,7 +746,7 @@ class BonPrelevement extends CommonObject { global $conf,$langs; - dol_syslog(get_class($this)."::Create banque=$banque agence=$agence"); + dol_syslog(__METHOD__."::Bank=".$banque." Office=".$agence, LOG_DEBUG); require_once (DOL_DOCUMENT_ROOT."/compta/facture/class/facture.class.php"); require_once (DOL_DOCUMENT_ROOT."/societe/class/societe.class.php"); @@ -781,7 +790,8 @@ class BonPrelevement extends CommonObject //if ($banque) $sql.= " AND sr.code_banque = '".$conf->global->PRELEVEMENT_CODE_BANQUE."'"; //if ($agence) $sql.= " AND sr.code_guichet = '".$conf->global->PRELEVEMENT_CODE_GUICHET."'"; - dol_syslog(get_class($this)."::Create", LOG_DEBUG); + dol_syslog(__METHOD__."::Read invoices, sql=".$sql, LOG_DEBUG); + $resql = $this->db->query($sql); if ($resql) { @@ -795,13 +805,12 @@ class BonPrelevement extends CommonObject $i++; } $this->db->free($resql); - dol_syslog($i." invoices to withdraw"); + dol_syslog(__METHOD__."::Read invoices, ".$i." invoices to withdraw", LOG_DEBUG); } else { - $error = 1; - dol_syslog("Erreur -1"); - dol_syslog($this->db->error()); + $error++; + dol_syslog(__METHOD__."::Read invoices error ".$this->db->error(), LOG_ERR); } } @@ -812,7 +821,7 @@ class BonPrelevement extends CommonObject // Check RIB $i = 0; - dol_syslog("Start RIB check"); + dol_syslog(__METHOD__."::Check RIB", LOG_DEBUG); if (count($factures) > 0) { @@ -836,24 +845,24 @@ class BonPrelevement extends CommonObject } else { - dol_syslog("Error on default bank number RIB/IBAN for thirdparty reported by verif() ".$fact->socid." ".$soc->name, LOG_ERR); - $this->invoice_in_error[$fac[0]]="Error on default bank number RIB/IBAN for invoice ".$fact->getNomUrl(0)." for thirdparty (reported by function verif) ".$soc->name; + dol_syslog(__METHOD__."::Check RIB Error on default bank number RIB/IBAN for thirdparty reported by verif() ".$fact->socid." ".$soc->name, LOG_ERR); + $this->invoice_in_error[$fac[0]]="Error on default bank number RIB/IBAN for invoice ".$fact->getNomUrl(0)." for thirdparty (reported by function verif) ".$soc->getNomUrl(0); } } else { - dol_syslog("Failed to read company", LOG_ERR); + dol_syslog(__METHOD__."::Check RIB Failed to read company", LOG_ERR); } } else { - dol_syslog("Failed to read invoice", LOG_ERR); + dol_syslog(__METHOD__."::Check RIB Failed to read invoice", LOG_ERR); } } } else { - dol_syslog("No invoice to process"); + dol_syslog(__METHOD__."::Check RIB No invoice to process", LOG_ERR); } } @@ -897,7 +906,7 @@ class BonPrelevement extends CommonObject $sql = "SELECT substring(ref from char_length(ref) - 1)"; $sql.= " FROM ".MAIN_DB_PREFIX."prelevement_bons"; - $sql.= " WHERE ref LIKE '%".$ref."%'"; + $sql.= " WHERE ref LIKE '%".$this->db->escape($ref)."%'"; $sql.= " AND entity = ".$conf->entity; $sql.= " ORDER BY ref DESC LIMIT 1"; @@ -907,42 +916,40 @@ class BonPrelevement extends CommonObject if ($resql) { $row = $this->db->fetch_row($resql); + $ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1,0,2),2,"0",STR_PAD_LEFT); + + $this->filename = $conf->prelevement->dir_output.'/receipts/'.$ref.'.xml'; + + // Create withdraw receipt in database + $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; + $sql.= " ref, entity, datec"; + $sql.= ") VALUES ("; + $sql.= "'".$this->db->escape($ref)."'"; + $sql.= ", ".$conf->entity; + $sql.= ", '".$this->db->idate($now)."'"; + $sql.= ")"; + + $resql = $this->db->query($sql); + if ($resql) + { + $prev_id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); + $this->id = $prev_id; + + $dir=$conf->prelevement->dir_output.'/receipts'; + $file=$filebonprev; + if (! is_dir($dir)) dol_mkdir($dir); + } + else + { + $error++; + dol_syslog(__METHOD__."::Create withdraw receipt ".$this->db->lasterror(), LOG_ERR); + } } else { $error++; - dol_syslog("Erreur recherche reference"); + dol_syslog(__METHOD__."::Get last withdraw receipt ".$this->db->lasterror(), LOG_ERR); } - - $ref = "T".$ref.str_pad(dol_substr("00".intval($row[0])+1,0,2),2,"0",STR_PAD_LEFT); - - $this->filename = $conf->prelevement->dir_output.'/receipts/'.$ref.'.xml'; - - // Create withdraw receipt in database - $sql = "INSERT INTO ".MAIN_DB_PREFIX."prelevement_bons ("; - $sql.= " ref, entity, datec"; - $sql.= ") VALUES ("; - $sql.= "'".$this->db->escape($ref)."'"; - $sql.= ", ".$conf->entity; - $sql.= ", '".$this->db->idate($now)."'"; - $sql.= ")"; - - dol_syslog(get_class($this)."::Create", LOG_DEBUG); - $resql = $this->db->query($sql); - - if ($resql) - { - $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."prelevement_bons"); - - $dir=$conf->prelevement->dir_output.'/receipts'; - $file=$filebonprev; - if (! is_dir($dir)) dol_mkdir($dir); - } - else - { - $error++; - dol_syslog("Erreur creation du bon de prelevement"); - } } /* @@ -982,13 +989,13 @@ class BonPrelevement extends CommonObject $sql.= ", fk_prelevement_bons = ".$this->id; $sql.= " WHERE rowid = ".$fac[1]; - dol_syslog(get_class($this)."::Create", LOG_DEBUG); + dol_syslog(__METHOD__."::Update Orders::Sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); + if (! $resql) { $error++; - dol_syslog("Erreur mise a jour des demandes"); - dol_syslog($this->db->error()); + dol_syslog(__METHOD__."::Update Orders::Error=".$this->db->error(), LOG_ERR); } } @@ -1003,7 +1010,7 @@ class BonPrelevement extends CommonObject * Withdraw receipt */ - dol_syslog("Debut prelevement - Nombre de factures ".count($factures_prev)); + dol_syslog(__METHOD__."::Init withdraw receipt for ".count($factures_prev)." invoices", LOG_DEBUG); if (count($factures_prev) > 0) { @@ -1026,8 +1033,7 @@ class BonPrelevement extends CommonObject // Generation of SEPA file $this->generate(); } - dol_syslog($filebonprev); - dol_syslog("Fin prelevement"); + dol_syslog(__METHOD__."::End withdraw receipt, file ".$filebonprev, LOG_DEBUG); } /* @@ -1038,12 +1044,11 @@ class BonPrelevement extends CommonObject $sql.= " WHERE rowid = ".$this->id; $sql.= " AND entity = ".$conf->entity; - dol_syslog(get_class($this)."::Create", LOG_DEBUG); $resql=$this->db->query($sql); if (! $resql) { $error++; - dol_syslog("Erreur mise a jour du total - $sql"); + dol_syslog(__METHOD__."::Error update total: ".$this->db->error(), LOG_ERR); } if (!$error) @@ -1053,7 +1058,6 @@ class BonPrelevement extends CommonObject else { $this->db->rollback(); - dol_syslog("Error",LOG_ERR); } return count($factures_prev); @@ -1115,18 +1119,19 @@ class BonPrelevement extends CommonObject global $langs; $result=''; + $label = $langs->trans("ShowWithdraw").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; if ($option == 'xxx') { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; } - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowWithdraw"),'payment').$lienfin.' '); - $result.=$lien.$this->ref.$lienfin; + if ($withpicto) $result.=($link.img_object($label, 'payment', 'class="classfortooltip"').$linkend.' '); + $result.=$link.$this->ref.$linkend; return $result; } @@ -1216,7 +1221,7 @@ class BonPrelevement extends CommonObject /** * Generate a withdrawal file. * Generation Formats: - * - Europe: SEPA (France: CFONB no more supported, Spain: AEB19 if external module EsAEB is enabled) + * - Europe: SEPA (France: CFONB no more supported, Spain: AEB19 if external module EsAEB is enabled) * - Others countries: Warning message * File is generated with name this->filename * @@ -1232,6 +1237,11 @@ class BonPrelevement extends CommonObject dol_syslog(get_class($this)."::generate build file ".$this->filename); $this->file = fopen($this->filename,"w"); + if (empty($this->file)) + { + $this->error=$langs->trans('ErrorFailedToOpenFile', $this->filename); + return -1; + } $found=0; @@ -1272,9 +1282,9 @@ class BonPrelevement extends CommonObject } } - $sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, rib.datec, c.code as country_code,"; + $sql = "SELECT soc.code_client as code, soc.address, soc.zip, soc.town, c.code as country_code,"; $sql.= " pl.client_nom as nom, pl.code_banque as cb, pl.code_guichet as cg, pl.number as cc, pl.amount as somme,"; - $sql.= " f.facnumber as fac, pf.fk_facture as idfac, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum"; + $sql.= " f.facnumber as fac, pf.fk_facture as idfac, rib.datec, rib.iban_prefix as iban, rib.bic as bic, rib.rowid as drum"; $sql.= " FROM"; $sql.= " ".MAIN_DB_PREFIX."prelevement_lignes as pl,"; $sql.= " ".MAIN_DB_PREFIX."facture as f,"; @@ -1293,7 +1303,8 @@ class BonPrelevement extends CommonObject //echo $sql; $resql=$this->db->query($sql); if ($resql) - { $num = $this->db->num_rows($resql); + { + $num = $this->db->num_rows($resql); while ($i < $num) { $obj = $this->db->fetch_object($resql); @@ -1303,7 +1314,8 @@ class BonPrelevement extends CommonObject } } else - { fputs($this->file, 'ERREUR DEBITEUR '.$sql.$CrLf); + { + fputs($this->file, 'ERREUR DEBITEUR '.$sql.$CrLf); $result = -2; } @@ -1311,10 +1323,12 @@ class BonPrelevement extends CommonObject * section Emetteur(sepa Emetteur bloc lines) */ if ($result != -2) - { $fileEmetteurSection .= $this->EnregEmetteurSEPA($conf, $date_actu, $i, $this->total, $CrLf); + { + $fileEmetteurSection .= $this->EnregEmetteurSEPA($conf, $date_actu, $i, $this->total, $CrLf); } else - { fputs($this->file, 'ERREUR EMETTEUR'.$CrLf); + { + fputs($this->file, 'ERREUR EMETTEUR'.$CrLf); } /** @@ -1509,7 +1523,7 @@ class BonPrelevement extends CommonObject */ static function buildRumNumber($row_code_client, $row_datec, $row_drum) { - $pre = ($row_datec > 1359673200) ? 'Rum' : '++R'; + $pre = ($row_datec > 1359673200) ? 'RUM-' : '++R'; return $pre.$row_code_client.'-'.$row_drum.'-'.date('U', $row_datec); } @@ -1661,7 +1675,7 @@ class BonPrelevement extends CommonObject * @param int $nombre 0 or 1 * @param float $total Total * @param string $CrLf End of line character - * @return string String with SEAP Sender + * @return string String with SEPA Sender */ function EnregEmetteurSEPA($configuration, $ladate, $nombre, $total, $CrLf='\n') { // SEPA INITIALISATION diff --git a/htdocs/compta/prelevement/class/ligneprelevement.class.php b/htdocs/compta/prelevement/class/ligneprelevement.class.php index 2b71c5c8004..0cc1b3d2f94 100644 --- a/htdocs/compta/prelevement/class/ligneprelevement.class.php +++ b/htdocs/compta/prelevement/class/ligneprelevement.class.php @@ -2,6 +2,7 @@ /* Copyright (C) 2005 Rodolphe Quiedeville * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2011 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -61,7 +62,7 @@ class LignePrelevement * Recupere l'objet prelevement * * @param int $rowid id de la facture a recuperer - * @return void|int + * @return integer */ function fetch($rowid) { @@ -156,5 +157,22 @@ class LignePrelevement if ($statut==3) return $langs->trans($this->statuts[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut8'); } } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'prelevement_lignes' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } diff --git a/htdocs/compta/prelevement/create.php b/htdocs/compta/prelevement/create.php index e4cb4b65c30..64ec4ad1895 100644 --- a/htdocs/compta/prelevement/create.php +++ b/htdocs/compta/prelevement/create.php @@ -1,6 +1,6 @@ - * Copyright (C) 2010 Laurent Destailleur + * Copyright (C) 2010-2015 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * @@ -96,13 +96,19 @@ if (prelevement_check_config() < 0) print ''; } -$h=0; +/*$h=0; $head[$h][0] = DOL_URL_ROOT.'/compta/prelevement/create.php'; $head[$h][1] = $langs->trans("NewStandingOrder"); +$head[$h][2] = 'payment'; +$hselected = 'payment'; $h++; dol_fiche_head($head, $hselected, $langs->trans("StandingOrders"), 0, 'payment'); +*/ +print_fiche_titre($langs->trans("NewStandingOrder")); + +dol_fiche_head(); $nb=$bprev->NbFactureAPrelever(); $nb1=$bprev->NbFactureAPrelever(1); @@ -161,7 +167,7 @@ print '
'; */ $sql = "SELECT f.facnumber, f.rowid, f.total_ttc, s.nom as name, s.rowid as socid,"; -$sql.= " pfd.date_demande"; +$sql.= " pfd.date_demande, pfd.amount"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f,"; $sql.= " ".MAIN_DB_PREFIX."societe as s,"; $sql.= " ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; @@ -184,6 +190,7 @@ if ($resql) print ''.$langs->trans("Invoice").''; print ''.$langs->trans("ThirdParty").''; print ''.$langs->trans("RIB").''; + print ''.$langs->trans("RUM").''; print ''.$langs->trans("AmountTTC").''; print ''.$langs->trans("DateRequest").''; print ''; @@ -210,9 +217,13 @@ if ($resql) print ''; print $thirdpartystatic->display_rib(); print ''; + // RUM + print ''; + print $thirdpartystatic->display_rib('rum'); + print ''; // Amount print ''; - print price($obj->total_ttc,0,$langs,0,0,-1,$conf->currency); + print price($obj->amount,0,$langs,0,0,-1,$conf->currency); print ''; // Date print ''; @@ -265,11 +276,14 @@ if ($result) $obj = $db->fetch_object($result); $var=!$var; - print ""; + print ""; + + print ""; $bprev->id=$obj->rowid; $bprev->ref=$obj->ref; print $bprev->getNomUrl(1); print "\n"; + print ''.dol_print_date($db->jdate($obj->datec),'day')."\n"; print ''.price($obj->amount,0,$langs,0,0,-1,$conf->currency)."\n"; diff --git a/htdocs/compta/prelevement/factures.php b/htdocs/compta/prelevement/factures.php index d11fefbb6cb..a7df114ae6f 100644 --- a/htdocs/compta/prelevement/factures.php +++ b/htdocs/compta/prelevement/factures.php @@ -147,7 +147,9 @@ if ($result) print_liste_field_titre($langs->trans("Bill"),$_SERVER["PHP_SELF"],"p.ref",'',$urladd,'class="liste_titre"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd,'class="liste_titre"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"f.total_ttc","",$urladd,'class="liste_titre" align="center"',$sortfield,$sortorder); - print ' '; + print_liste_field_titre(''); + print_liste_field_titre(''); + print "\n"; $var=false; diff --git a/htdocs/compta/prelevement/index.php b/htdocs/compta/prelevement/index.php index 1abc421cf46..36e4ed71341 100644 --- a/htdocs/compta/prelevement/index.php +++ b/htdocs/compta/prelevement/index.php @@ -42,6 +42,7 @@ $socid = GETPOST('socid','int'); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'prelevement','',''); + /* * Actions */ @@ -95,7 +96,7 @@ print '
'; * Invoices waiting for withdraw */ $sql = "SELECT f.facnumber, f.rowid, f.total_ttc, f.fk_statut, f.paye, f.type,"; -$sql.= " pfd.date_demande,"; +$sql.= " pfd.date_demande, pfd.amount,"; $sql.= " s.nom as name, s.rowid as socid"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f,"; $sql.= " ".MAIN_DB_PREFIX."societe as s"; @@ -142,7 +143,7 @@ if ($resql) print ''; print ''; - print price($obj->total_ttc); + print price($obj->amount); print ''; print ''; @@ -158,7 +159,7 @@ if ($resql) } else { - print ''.$langs->trans("NoInvoiceToWithdraw").''; + print ''.$langs->trans("NoInvoiceToWithdraw").''; } print "
"; } diff --git a/htdocs/compta/prelevement/ligne.php b/htdocs/compta/prelevement/ligne.php index 3e7cb5b6bd7..7907a55fda0 100644 --- a/htdocs/compta/prelevement/ligne.php +++ b/htdocs/compta/prelevement/ligne.php @@ -216,7 +216,7 @@ if ($id) print '
'; //Confirm Button - print '
'; + print '
'; print ''; } diff --git a/htdocs/compta/prelevement/lignes.php b/htdocs/compta/prelevement/lignes.php deleted file mode 100644 index c4724824f36..00000000000 --- a/htdocs/compta/prelevement/lignes.php +++ /dev/null @@ -1,225 +0,0 @@ - - * Copyright (C) 2005 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin - * Copyright (C) 2010-2012 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/compta/prelevement/lignes.php - * \ingroup prelevement - * \brief Prelevement lines - */ - -require('../../main.inc.php'); -require_once DOL_DOCUMENT_ROOT.'/core/lib/prelevement.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/ligneprelevement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/rejetprelevement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; - -$langs->load("banks"); -$langs->load("categories"); - -// Security check -if ($user->societe_id > 0) accessforbidden(); - -$langs->load('withdrawals'); -$langs->load('bills'); - -// Get supervariables -$prev_id = GETPOST('id','int'); -$socid = GETPOST('socid','int'); -$page = GETPOST('page','int'); -$sortorder = ((GETPOST('sortorder','alpha')=="")) ? "DESC" : GETPOST('sortorder','alpha'); -$sortfield = ((GETPOST('sortfield','alpha')=="")) ? "pl.fk_soc" : GETPOST('sortfield','alpha'); - - - -/* - * View - */ - -llxHeader('',$langs->trans("WithdrawalsReceipts")); - -if ($prev_id) -{ - $bon = new BonPrelevement($db,""); - - if ($bon->fetch($prev_id) == 0) - { - $head = prelevement_prepare_head($bon); - dol_fiche_head($head, 'lines', $langs->trans("WithdrawalsReceipts"), '', 'payment'); - - print ''; - - print ''; - print ''; - print ''; - - // Status - print ''; - print ''; - print ''; - - if($bon->date_trans <> 0) - { - $muser = new User($db); - $muser->fetch($bon->user_trans); - - print ''; - print ''; - } - if($bon->date_credit <> 0) - { - print ''; - } - - print '
'.$langs->trans("Ref").''.$bon->getNomUrl(1).'
'.$langs->trans("Date").''.dol_print_date($bon->datec,'day').'
'.$langs->trans("Amount").''.price($bon->amount).'
'.$langs->trans('Status').''.$bon->getLibStatut(1).'
'.$langs->trans("TransData").''; - print dol_print_date($bon->date_trans,'day'); - print ' '.$langs->trans("By").' '.$muser->getFullName($langs).'
'.$langs->trans("TransMetod").''; - print $bon->methodes_trans[$bon->method_trans]; - print '
'.$langs->trans('CreditDate').''; - print dol_print_date($bon->date_credit,'day'); - print '
'; - - print '
'; - - print '
'; - print $langs->trans("WithdrawalFile").''; - $relativepath = 'receipts/'.$bon->ref; - print ''.$relativepath.''; - print '
'; - - dol_fiche_end(); - - } - else - { - dol_print_error($db); - } -} - -$ligne=new LignePrelevement($db,$user); - -if ($page == -1) { $page = 0 ; } - -$offset = $conf->liste_limit * $page ; -$pageprev = $page - 1; -$pagenext = $page + 1; - -/* - * Liste des lignes de prelevement - */ -$sql = "SELECT pl.rowid, pl.statut, pl.amount"; -$sql.= ", s.rowid as socid, s.nom as name"; -$sql.= " FROM ".MAIN_DB_PREFIX."prelevement_lignes as pl"; -$sql.= ", ".MAIN_DB_PREFIX."prelevement_bons as pb"; -$sql.= ", ".MAIN_DB_PREFIX."societe as s"; -$sql.= " WHERE pl.fk_prelevement_bons = ".$prev_id; -$sql.= " AND pl.fk_prelevement_bons = pb.rowid"; -$sql.= " AND pb.entity = ".$conf->entity; -$sql.= " AND pl.fk_soc = s.rowid"; -if ($socid) $sql.= " AND s.rowid = ".$socid; -$sql.= " ORDER BY $sortfield $sortorder "; -$sql.= $db->plimit($conf->liste_limit+1, $offset); - -$result = $db->query($sql); - -if ($result) -{ - $num = $db->num_rows($result); - $i = 0; - - $urladd = "&id=".$prev_id; - - print_barre_liste("", $page, $_SERVER["PHP_SELF"], $urladd, $sortfield, $sortorder, '', $num); - print"\n\n"; - print ''; - print ''; - print_liste_field_titre($langs->trans("Lines"),$_SERVER["PHP_SELF"],"pl.rowid",'',$urladd); - print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd); - print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"pl.amount","",$urladd,'align="center"'); - print ''; - - $var=false; - - $total = 0; - - while ($i < min($num,$conf->liste_limit)) - { - $obj = $db->fetch_object($result); - - print "'; - - $thirdparty=new Societe($db); - $thirdparty->fetch($obj->socid); - print '\n"; - - print '\n"; - - print ''; - - $total += $obj->total_ttc; - $var=!$var; - $i++; - } - - if($socid) - { - print "'; - - print '\n"; - - print ''; - - print "\n"; - } - - print "
 
"; - - print $ligne->LibStatut($obj->statut,2); - print " "; - - print ''; - print substr('000000'.$obj->rowid, -6); - print ''; - print $thirdparty->getNomUrl(1); - print "'.price($obj->amount)."'; - - if ($obj->statut == 3) - { - print ''.$langs->trans("StatusRefused").''; - } - else - { - print " "; - } - - print '
"; - - print 'Total'.price($total)." 
"; - $db->free($result); -} -else -{ - dol_print_error($db); -} - -$db->close(); - -llxFooter(); diff --git a/htdocs/compta/prelevement/list.php b/htdocs/compta/prelevement/list.php index 921736faedf..9274a885105 100644 --- a/htdocs/compta/prelevement/list.php +++ b/htdocs/compta/prelevement/list.php @@ -124,10 +124,10 @@ if ($result) print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client",'','','align="center"'); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"],"p.datec","","",'align="center"'); print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"pl.amount","","",'align="right"'); - print ' '; - print ''; + print_liste_field_titre(''); + print "\n"; - print '
'; + print ''; print ''; print ''; print ''; diff --git a/htdocs/compta/prelevement/rejets.php b/htdocs/compta/prelevement/rejets.php index 0582e4f4091..30eafa40efa 100644 --- a/htdocs/compta/prelevement/rejets.php +++ b/htdocs/compta/prelevement/rejets.php @@ -92,7 +92,7 @@ if ($result) print_liste_field_titre($langs->trans("Line"),$_SERVER["PHP_SELF"],"p.ref",'',$urladd); print_liste_field_titre($langs->trans("ThirdParty"),$_SERVER["PHP_SELF"],"s.nom",'',$urladd); print_liste_field_titre($langs->trans("Reason"),$_SERVER["PHP_SELF"],"pr.motif","",$urladd); - print ''; + print "\n"; $var=True; diff --git a/htdocs/compta/recap-compta.php b/htdocs/compta/recap-compta.php index 59599e93dc6..19ac5705ef1 100644 --- a/htdocs/compta/recap-compta.php +++ b/htdocs/compta/recap-compta.php @@ -115,7 +115,7 @@ if ($socid > 0) if (! $num > 0) { - print ''.$langs->trans("NoInvoice").''; + print ''.$langs->trans("NoInvoice").''; } $solde = 0; @@ -142,7 +142,7 @@ if ($socid > 0) print ''.$fac->getLibStatut(2,$totalpaye).''; print ''.price($fac->total_ttc)."\n"; - if (($fac->statut == 3 ) || ($fac->statut == 2 && ! $fact->close_code) ) $solde = $solde = $solde + $totalpaye; + if (($fac->statut == Facture::STATUS_ABANDONED ) || ($fac->statut == Facture::STATUS_CLOSED && ! $fact->close_code) ) $solde = $solde = $solde + $totalpaye; else $solde = $solde + $fac->total_ttc; print ' '; diff --git a/htdocs/compta/resultat/bilan.php b/htdocs/compta/resultat/bilan.php deleted file mode 100644 index 2f31b9e11b7..00000000000 --- a/htdocs/compta/resultat/bilan.php +++ /dev/null @@ -1,57 +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/compta/resultat/bilan.php - * \ingroup compta - * \brief Fichier page bilan compta - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; - -// Security check -$socid = GETPOST('socid','int'); -if ($user->societe_id > 0) $socid = $user->societe_id; -if (! empty($conf->comptabilite->enabled)) $result=restrictedArea($user,'compta','','','resultat'); -if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accounting','','','comptarapport'); - - -/* - * Views - */ - -llxHeader(); - -$year=$_GET["year"]; -$month=$_GET["month"]; -if (! $year) { $year = strftime("%Y", time()); } - - -/* Le compte de r�sultat est un document officiel requis par l'administration selon le status ou activit� */ - -print_titre("Bilan".($year?" annee $year":"")); - -print '
'; - -print $langs->trans("FeatureNotYetAvailable"); - - -llxFooter(); - -$db->close(); diff --git a/htdocs/compta/resultat/clientfourn.php b/htdocs/compta/resultat/clientfourn.php index e4504183312..d9ad2825c88 100644 --- a/htdocs/compta/resultat/clientfourn.php +++ b/htdocs/compta/resultat/clientfourn.php @@ -2,6 +2,8 @@ /* Copyright (C) 2002-2006 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2012-2014 Raphaël Dourseanud * Copyright (C) 2014 Ferran Marcet * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Florian Henry @@ -142,6 +144,9 @@ else { $builddate=time(); //$exportlink=$langs->trans("NotYetAvailable"); } + +$hselected = 'report'; + report_header($name,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta),$calcmode); // Show report array @@ -166,9 +171,9 @@ if ($modecompta == 'CREANCES-DETTES') $sql.= " WHERE f.fk_soc = s.rowid"; $sql.= " AND f.fk_statut IN (1,2)"; if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) - $sql.= " AND f.type IN (0,1,2)"; + $sql.= " AND f.type IN (0,1,2,5)"; else - $sql.= " AND f.type IN (0,1,2,3)"; + $sql.= " AND f.type IN (0,1,2,3,5)"; if (! empty($date_start) && ! empty($date_end)) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; } @@ -233,7 +238,7 @@ if ($modecompta != 'CREANCES-DETTES') $sql.= " WHERE pf.rowid IS NULL"; $sql.= " AND p.fk_bank = b.rowid"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; if (! empty($date_start) && ! empty($date_end)) $sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; $sql.= " GROUP BY name, idp"; @@ -649,7 +654,7 @@ if ($conf->donation->enabled) $var = !$var; print " "; - print "".$langs->trans("Donation")." name."&search_name=".$obj->firstname." ".$obj->lastname."\">".$obj->name. " ".$obj->firstname." ".$obj->lastname."\n"; + print "".$langs->trans("Donation")." name."&search_name=".$obj->firstname." ".$obj->lastname."\">".$obj->name. " ".$obj->firstname." ".$obj->lastname."\n"; if ($modecompta == 'CREANCES-DETTES') print ''.price($obj->amount).''; print ''.price($obj->amount).''; @@ -692,9 +697,9 @@ if ($modecompta == 'CREANCES-DETTES') $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE f.fk_statut IN (1,2)"; if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) - $sql.= " AND f.type IN (0,1,2)"; + $sql.= " AND f.type IN (0,1,2,5)"; else - $sql.= " AND f.type IN (0,1,2,3)"; + $sql.= " AND f.type IN (0,1,2,3,5)"; if (! empty($date_start) && ! empty($date_end)) $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; $sql.= " AND f.entity = ".$conf->entity; diff --git a/htdocs/compta/resultat/compteres.php b/htdocs/compta/resultat/compteres.php deleted file mode 100644 index b3b6166589f..00000000000 --- a/htdocs/compta/resultat/compteres.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 . - */ - -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/sociales/class/chargesociales.class.php'; - - -// Security check -$socid = GETPOST('socid','int'); -if ($user->societe_id > 0) $socid = $user->societe_id; -if (! empty($conf->comptabilite->enabled)) $result=restrictedArea($user,'compta','','','resultat'); -if (! empty($conf->accounting->enabled)) $result=restrictedArea($user,'accounting','','','comptarapport'); - - - -/* - * Views - */ -llxHeader(); - -$year=$_GET["year"]; -$month=$_GET["month"]; -if (! $year) { $year = strftime("%Y", time()); } - - -/* Le compte de resultat est un document officiel requis par l'administration selon le status ou activite */ - -print_titre("Compte de resultat".($year?" annee $year":"")); - -print '
'; - -print $langs->trans("FeatureNotYetAvailable"); - - -llxFooter(); - -$db->close(); diff --git a/htdocs/compta/resultat/index.php b/htdocs/compta/resultat/index.php index 83ad1495a9f..94cac967a40 100644 --- a/htdocs/compta/resultat/index.php +++ b/htdocs/compta/resultat/index.php @@ -88,6 +88,9 @@ else { $builddate=time(); //$exportlink=$langs->trans("NotYetAvailable"); } + +$hselected='report'; + report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,array('modecompta'=>$modecompta),$calcmode); @@ -103,8 +106,8 @@ if ($modecompta == 'CREANCES-DETTES') $sql.= ", ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE f.fk_soc = s.rowid"; $sql.= " AND f.fk_statut IN (1,2)"; - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2)"; - else $sql.= " AND f.type IN (0,1,2,3)"; + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; + else $sql.= " AND f.type IN (0,1,2,3,5)"; } else { @@ -155,7 +158,7 @@ if ($modecompta != 'CREANCES-DETTES') $sql.= " WHERE pf.rowid IS NULL"; $sql.= " AND p.fk_bank = b.rowid"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " GROUP BY dm"; $sql.= " ORDER BY dm"; @@ -246,8 +249,8 @@ if ($modecompta == 'CREANCES-DETTES') $sql = "SELECT sum(f.tva) as amount, date_format(f.datef,'%Y-%m') as dm"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE f.fk_statut IN (1,2)"; - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2)"; - else $sql.= " AND f.type IN (0,1,2,3)"; + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; + else $sql.= " AND f.type IN (0,1,2,3,5)"; $sql.= " AND f.entity = ".$conf->entity; $sql.= " GROUP BY dm"; diff --git a/htdocs/compta/salaries/card.php b/htdocs/compta/salaries/card.php index 387208e013b..3389cedec56 100644 --- a/htdocs/compta/salaries/card.php +++ b/htdocs/compta/salaries/card.php @@ -1,6 +1,8 @@ * Copyright (C) 2014 Laurent Destailleur + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Charlie 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 @@ -26,6 +28,8 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; + $langs->load("compta"); $langs->load("banks"); @@ -41,7 +45,7 @@ $socid = GETPOST("socid","int"); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'salaries', '', '', ''); -$sal = new PaymentSalary($db); +$object = new PaymentSalary($db); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('salarycard','globalcard')); @@ -62,50 +66,61 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) { $error=0; - $datev=dol_mktime(12,0,0, $_POST["datevmonth"], $_POST["datevday"], $_POST["datevyear"]); $datep=dol_mktime(12,0,0, $_POST["datepmonth"], $_POST["datepday"], $_POST["datepyear"]); + $datev=dol_mktime(12,0,0, $_POST["datevmonth"], $_POST["datevday"], $_POST["datevyear"]); $datesp=dol_mktime(12,0,0, $_POST["datespmonth"], $_POST["datespday"], $_POST["datespyear"]); $dateep=dol_mktime(12,0,0, $_POST["dateepmonth"], $_POST["dateepday"], $_POST["dateepyear"]); + if (empty($datev)) $datev=$datep; + + $object->accountid=GETPOST("accountid","int"); + $object->fk_user=GETPOST("fk_user","int"); + $object->datev=$datev; + $object->datep=$datep; + $object->amount=price2num(GETPOST("amount")); + $object->label=GETPOST("label"); + $object->datesp=$datesp; + $object->dateep=$dateep; + $object->note=GETPOST("note"); + $object->type_payment=GETPOST("paymenttype"); + $object->num_payment=GETPOST("num_payment"); + $object->fk_user_creat=$user->id; - $sal->accountid=GETPOST("accountid"); - $sal->fk_user=GETPOST("fk_user"); - $sal->datev=$datev; - $sal->datep=$datep; - $sal->amount=price2num(GETPOST("amount")); - $sal->label=GETPOST("label"); - $sal->datesp=$datesp; - $sal->dateep=$dateep; - $sal->note=GETPOST("note"); - $sal->type_payment=GETPOST("paymenttype"); - $sal->num_payment=GETPOST("num_payment"); - $sal->fk_user_creat=$user->id; + // Set user current salary as ref salaray for the payment + $fuser=new User($db); + $fuser->fetch(GETPOST("fk_user","int")); + $object->salary=$fuser->salary; if (empty($datep) || empty($datev) || empty($datesp) || empty($dateep)) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Date")),'errors'); $error++; } - if (empty($sal->fk_user) || $sal->fk_user < 0) + if (empty($object->fk_user) || $object->fk_user < 0) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Employee")),'errors'); $error++; } - if (empty($sal->type_payment) || $sal->type_payment < 0) + if (empty($object->type_payment) || $object->type_payment < 0) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("PaymentMode")),'errors'); $error++; } - if (empty($sal->amount)) + if (empty($object->amount)) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Amount")),'errors'); $error++; } - + if (! empty($conf->banque->enabled) && ! $object->accountid > 0) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Account")),'errors'); + $error++; + } + if (! $error) { $db->begin(); - $ret=$sal->create($user); + $ret=$object->create($user); if ($ret > 0) { $db->commit(); @@ -115,7 +130,7 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) else { $db->rollback(); - setEventMessage($sal->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); $action="create"; } } @@ -125,19 +140,19 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) if ($action == 'delete') { - $result=$sal->fetch($id); + $result=$object->fetch($id); - if ($sal->rappro == 0) + if ($object->rappro == 0) { $db->begin(); - $ret=$sal->delete($user); + $ret=$object->delete($user); if ($ret > 0) { - if ($sal->fk_bank) + if ($object->fk_bank) { $accountline=new AccountLine($db); - $result=$accountline->fetch($sal->fk_bank); + $result=$accountline->fetch($object->fk_bank); if ($result > 0) $result=$accountline->delete($user); // $result may be 0 if not found (when bank entry was deleted manually and fk_bank point to nothing) } @@ -149,15 +164,15 @@ if ($action == 'delete') } else { - $sal->error=$accountline->error; + $object->error=$accountline->error; $db->rollback(); - setEventMessage($sal->error,'errors'); + setEventMessage($object->error,'errors'); } } else { $db->rollback(); - setEventMessage($sal->error,'errors'); + setEventMessage($object->error,'errors'); } } else @@ -177,8 +192,8 @@ $form = new Form($db); if ($id) { - $salpayment = new PaymentSalary($db); - $result = $salpayment->fetch($id); + $object = new PaymentSalary($db); + $result = $object->fetch($id); if ($result <= 0) { dol_print_error($db); @@ -206,12 +221,14 @@ if ($action == 'create') $datesp=dol_get_first_day($pastmonthyear,$pastmonth,false); $dateep=dol_get_last_day($pastmonthyear,$pastmonth,false); } - print "\n"; + print ''; print ''; print ''; - print_fiche_titre($langs->trans("NewSalaryPayment")); + print_fiche_titre($langs->trans("NewSalaryPayment"),'', 'title_accountancy.png'); + dol_fiche_head('', ''); + print ''; print ""; @@ -219,7 +236,7 @@ if ($action == 'create') print $form->select_date((empty($datep)?-1:$datep),"datep",'','','','add',1,1); print ''; - print ''; @@ -272,10 +289,13 @@ if ($action == 'create') print '
'.$langs->trans("DateValue").''; + print '
'.$langs->trans("DateValue").''; print $form->select_date((empty($datev)?-1:$datev),"datev",'','','','add',1,1); print '
'; - print "
"; + dol_fiche_end(); - print '
  '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } @@ -289,11 +309,8 @@ if ($action == 'create') if ($id) { - $h = 0; - $head[$h][0] = DOL_URL_ROOT.'/compta/salaries/card.php?id='.$salpayment->id; - $head[$h][1] = $langs->trans('Card'); - $head[$h][2] = 'card'; - $h++; + + $head=salaries_prepare_head($object); dol_fiche_head($head, 'card', $langs->trans("SalaryPayment"), 0, 'payment'); @@ -302,45 +319,45 @@ if ($id) print ""; print ''.$langs->trans("Ref").''; - print $salpayment->ref; + print $object->ref; print ''; // Person print ''.$langs->trans("Person").''; $usersal=new User($db); - $usersal->fetch($salpayment->fk_user); + $usersal->fetch($object->fk_user); print $usersal->getNomUrl(1); print ''; // Label - print ''.$langs->trans("Label").''.$salpayment->label.''; + print ''.$langs->trans("Label").''.$object->label.''; print ""; print ''.$langs->trans("DateStartPeriod").''; - print dol_print_date($salpayment->datesp,'day'); + print dol_print_date($object->datesp,'day'); print ''; print ''.$langs->trans("DateEndPeriod").''; - print dol_print_date($salpayment->dateep,'day'); + print dol_print_date($object->dateep,'day'); print ''; print ""; print ''.$langs->trans("DatePayment").''; - print dol_print_date($salpayment->datep,'day'); + print dol_print_date($object->datep,'day'); print ''; print ''.$langs->trans("DateValue").''; - print dol_print_date($salpayment->datev,'day'); + print dol_print_date($object->datev,'day'); print ''; - print ''.$langs->trans("Amount").''.price($salpayment->amount,0,$outputlangs,1,-1,-1,$conf->currency).''; + print ''.$langs->trans("Amount").''.price($object->amount,0,$outputlangs,1,-1,-1,$conf->currency).''; if (! empty($conf->banque->enabled)) { - if ($salpayment->fk_account > 0) + if ($object->fk_account > 0) { $bankline=new AccountLine($db); - $bankline->fetch($salpayment->fk_bank); + $bankline->fetch($object->fk_bank); print ''; print ''.$langs->trans('BankTransactionLine').''; @@ -353,21 +370,22 @@ if ($id) // Other attributes $parameters=array('colspan' => ' colspan="3"'); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$salpayment,$action); // Note that $action and $object may have been modified by hook + $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook print ''; - print ''; + dol_fiche_end(); + /* - * Boutons d'actions - */ - print "
\n"; - if ($salpayment->rappro == 0) + * Action buttons + */ + print '
'."\n"; + if ($object->rappro == 0) { if (! empty($user->rights->salaries->delete)) { - print ''.$langs->trans("Delete").''; + print ''.$langs->trans("Delete").''; } else { diff --git a/htdocs/compta/salaries/class/paymentsalary.class.php b/htdocs/compta/salaries/class/paymentsalary.class.php index 5e60b76ee13..f44a1c05608 100644 --- a/htdocs/compta/salaries/class/paymentsalary.class.php +++ b/htdocs/compta/salaries/class/paymentsalary.class.php @@ -95,6 +95,8 @@ class PaymentSalary extends CommonObject return -1; } + $this->db->begin(); + // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."payment_salary SET"; @@ -129,11 +131,18 @@ class PaymentSalary extends CommonObject $result=$this->call_trigger('PAYMENT_SALARY_MODIFY',$user); if ($result < 0) $error++; // End call triggers - - //FIXME: Add rollback if trigger fail } - return 1; + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } } @@ -324,6 +333,7 @@ class PaymentSalary extends CommonObject $sql.= ", datep"; $sql.= ", datev"; $sql.= ", amount"; + $sql.= ", salary"; $sql.= ", fk_typepayment"; $sql.= ", num_payment"; if ($this->note) $sql.= ", note"; @@ -338,7 +348,8 @@ class PaymentSalary extends CommonObject $sql.= "'".$this->fk_user."'"; $sql.= ", '".$this->db->idate($this->datep)."'"; $sql.= ", '".$this->db->idate($this->datev)."'"; - $sql.= ", '".$this->amount."'"; + $sql.= ", ".$this->amount; + $sql.= ", ".($this->salary > 0 ? $this->salary : "null"); $sql.= ", '".$this->type_payment."'"; $sql.= ", '".$this->num_payment."'"; if ($this->note) $sql.= ", '".$this->db->escape($this->note)."'"; @@ -413,7 +424,8 @@ class PaymentSalary extends CommonObject $bank_line_id, $this->fk_user, DOL_URL_ROOT.'/user/card.php?id=', - $langs->trans("SalaryPayment").' '.$fuser->getFullName($langs).' '.dol_print_date($this->datesp,'dayrfc').' '.dol_print_date($this->dateep,'dayrfc'), + $fuser->getFullName($langs), + // $langs->trans("SalaryPayment").' '.$fuser->getFullName($langs).' '.dol_print_date($this->datesp,'dayrfc').' '.dol_print_date($this->dateep,'dayrfc'), 'user' ); @@ -486,16 +498,16 @@ class PaymentSalary extends CommonObject global $langs; $result=''; + $label=$langs->trans("ShowSalaryPayment").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='payment'; - $label=$langs->trans("ShowSalaryPayment").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } diff --git a/htdocs/compta/salaries/document.php b/htdocs/compta/salaries/document.php new file mode 100644 index 00000000000..71f10388ace --- /dev/null +++ b/htdocs/compta/salaries/document.php @@ -0,0 +1,136 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005 Marc Barilley / Ocebo + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2005 Simon TOSSER + * Copyright (C) 2011-2012 Juanjo Menent + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 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 . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/compta/salaries/document.php + * \ingroup salaries + * \brief Page of linked files onto salaries + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; + +$langs->load("other"); +$langs->load("salaries"); +$langs->load("companies"); + +$id = GETPOST('id','int'); +$ref = GETPOST('ref', 'alpha'); +$action = GETPOST('action','alpha'); +$confirm = GETPOST('confirm','alpha'); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'salaries', $id, ''); + + +// Get parameters +$sortfield = GETPOST('sortfield','alpha'); +$sortorder = GETPOST('sortorder','alpha'); +$page = GETPOST('page','int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="name"; + + +$object = new PaymentSalary($db); +$object->fetch($id, $ref); + +$upload_dir = $conf->salaries->dir_output.'/'.dol_sanitizeFileName($object->id); +$modulepart='salaries'; + + +/* + * Actions + */ + +include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php'; + + +/* + * View + */ + +$form = new Form($db); + +llxHeader("","",$langs->trans("SalaryPayment")); + + +if ($object->id) +{ + $object->fetch_thirdparty(); + + $head=salaries_prepare_head($object); + + dol_fiche_head($head, 'documents', $langs->trans("SalaryPayment"), 0, 'payment'); + + + // Construit liste des fichiers + $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); + $totalsize=0; + foreach($filearray as $key => $file) + { + $totalsize+=$file['size']; + } + + + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + // Ref + print ''; + + // Societe + //print ""; + + print ''; + print ''; + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'id', $linkback, 1, 'rowid', 'ref', ''); + print '
".$langs->trans("Company")."".$object->client->getNomUrl(1)."
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print '
'; + + $modulepart = 'salaries'; + $permission = $user->rights->salaries->write; + $param = '&id=' . $object->id; + include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; + +} +else +{ + print $langs->trans("ErrorUnknown"); +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/compta/salaries/index.php b/htdocs/compta/salaries/index.php index 678b3bfaa2e..11c9dd3a9ab 100644 --- a/htdocs/compta/salaries/index.php +++ b/htdocs/compta/salaries/index.php @@ -1,5 +1,7 @@ +/* Copyright (C) 2011-2014 Alexandre Spangaro + * Copyright (C) 2015 Laurent Destailleur + * Copyright (C) 2015 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 @@ -34,6 +36,7 @@ if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'salaries', '', '', ''); $search_ref = GETPOST('search_ref','int'); +$search_user = GETPOST('search_user','alpha'); $search_label = GETPOST('search_label','alpha'); $search_amount = GETPOST('search_amount','alpha'); $sortfield = GETPOST("sortfield",'alpha'); @@ -44,7 +47,7 @@ $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; $limit = $conf->liste_limit; -if (! $sortfield) $sortfield="s.datev"; +if (! $sortfield) $sortfield="s.datep"; if (! $sortorder) $sortorder="DESC"; $filtre=$_GET["filtre"]; @@ -82,7 +85,8 @@ $form = new Form($db); $salstatic = new PaymentSalary($db); $userstatic = new User($db); -$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, s.rowid, s.fk_user, s.amount, s.label, s.datev as dm, s.fk_typepayment as type, s.num_payment,"; +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.email, u.admin, u.salary as current_salary, u.fk_soc as fk_soc,"; +$sql.= " s.rowid, s.fk_user, s.amount, s.salary, s.label, s.datep as datep, s.datev as datev, s.fk_typepayment as type, s.num_payment,"; $sql.= " pst.code as payment_code"; $sql.= " FROM ".MAIN_DB_PREFIX."payment_salary as s"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as pst ON s.fk_typepayment = pst.id,"; @@ -92,8 +96,9 @@ $sql.= " AND s.entity = ".$conf->entity; // Search criteria if ($search_ref) $sql.=" AND s.rowid=".$search_ref; -if ($search_label) $sql.=" AND s.label LIKE '%".$db->escape($search_label)."%'"; -if ($search_amount) $sql.=" AND s.amount='".$db->escape(price2num(trim($search_amount)))."'"; +if ($search_user) $sql.=natural_search(array('u.login', 'u.lastname', 'u.firstname', 'u.email', 'u.note'), $search_user); +if ($search_label) $sql.=natural_search(array('s.label'), $search_label); +if ($search_amount) $sql.=natural_search("s.amount", $search_amount, 1); if ($filtre) { $filtre=str_replace(":","=",$filtre); $sql .= " AND ".$filtre; @@ -116,19 +121,20 @@ if ($result) $param=''; if ($typeid) $param.='&typeid='.$typeid; - print_barre_liste($langs->trans("SalariesPayments"),$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$totalnboflines); + print_barre_liste($langs->trans("SalariesPayments"),$page,$_SERVER["PHP_SELF"],$param,$sortfield,$sortorder,'',$num,$totalnboflines, 'title_accountancy.png'); print '
'; print ''; print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.rowid","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datev","",$param,'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre(""); + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Person"),$_SERVER["PHP_SELF"],"u.rowid","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("ExpectedToPay"),$_SERVER["PHP_SELF"],"s.salary","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"s.label","",$param,'align="left"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"s.datep","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PaymentMode"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"s.amount","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre(''); print "\n"; print ''; @@ -136,9 +142,15 @@ if ($result) print ''; + // People + print ''; + // Current salary print ''; // Label - print ''; + print ''; + // Date print ''; // Type print '\n"; + // Ref + print "\n"; + // User name print "\n"; + // Current salary + print "\n"; + // Label payment print "\n"; - print '\n"; + // Date payment + print '\n"; // Type print ''; // Amount @@ -176,7 +199,7 @@ if ($result) $i++; } - print ''; + print ''; print '"; print ""; diff --git a/htdocs/compta/salaries/info.php b/htdocs/compta/salaries/info.php new file mode 100644 index 00000000000..cbc0c1742ff --- /dev/null +++ b/htdocs/compta/salaries/info.php @@ -0,0 +1,68 @@ + + * Copyright (C) 2015 Charlie 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 . + */ + +/** + * \file htdocs/compta/salaries/info.php + * \ingroup salaries + * \brief Page with info about salaries contribution + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/salaries/class/paymentsalary.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/salaries.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +$langs->load("compta"); +$langs->load("bills"); +$langs->load("salaries"); + +$id=GETPOST('id','int'); +$action=GETPOST("action"); + +// Security check +$socid = GETPOST('socid','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'salaries', '', '', ''); + + +/* + * View + */ + +$help_url='EN:Module_Salaries|FR:Module Fiche de paie|ES:Módulo Salarios'; +llxHeader("",$langs->trans("Salaries"),$help_url); + + +$salpayment = new PaymentSalary($db); +$result = $salpayment->fetch($id); +$salpayment->info($id); + +$head = salaries_prepare_head($salpayment); + +dol_fiche_head($head, 'info', $langs->trans("SalaryPayment"), 0, 'payment'); + + +print '
'; print ''; print ''; + print ''; + print '  '; @@ -159,12 +171,23 @@ if ($result) $userstatic->id=$obj->uid; $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; + $userstatic->admin=$obj->admin; + $userstatic->login=$obj->login; + $userstatic->email=$obj->email; + $userstatic->societe_id=$obj->fk_soc; + $salstatic->id=$obj->rowid; $salstatic->ref=$obj->rowid; - print "".$salstatic->getNomUrl(1)."".$salstatic->getNomUrl(1)."".$userstatic->getNomUrl(1)."".($obj->salary?price($obj->salary):'')."".dol_trunc($obj->label,40)."'.dol_print_date($db->jdate($obj->dm),'day')."'.dol_print_date($db->jdate($obj->datep),'day')."'.$langs->trans("PaymentTypeShort".$obj->payment_code).' '.$obj->num_payment.'
'.$langs->trans("Total").'
'.$langs->trans("Total").''.price($total,0,$outputlangs,1,-1,-1,$conf->currency)." 
'; +dol_print_object_info($salpayment); +print '
'; + +print '
'; + +llxFooter(); + +$db->close(); diff --git a/htdocs/compta/sociales/charges.php b/htdocs/compta/sociales/charges.php index a343df2cbaa..4d638e23cf7 100644 --- a/htdocs/compta/sociales/charges.php +++ b/htdocs/compta/sociales/charges.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2013 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -69,7 +69,7 @@ if ($action == 'confirm_delete' && $confirm == 'yes') } else { - setEventMessage($chargesociales->error, 'errors'); + setEventMessages($chargesociales->error, $chargesociales->errors, 'errors'); } } @@ -77,8 +77,10 @@ if ($action == 'confirm_delete' && $confirm == 'yes') // Add social contribution if ($action == 'add' && $user->rights->tax->charges->creer) { - $dateech=@dol_mktime($_POST["echhour"],$_POST["echmin"],$_POST["echsec"],$_POST["echmonth"],$_POST["echday"],$_POST["echyear"]); - $dateperiod=@dol_mktime($_POST["periodhour"],$_POST["periodmin"],$_POST["periodsec"],$_POST["periodmonth"],$_POST["periodday"],$_POST["periodyear"]); + $dateech=@dol_mktime(GETPOST('echhour'),GETPOST('echmin'),GETPOST('echsec'),GETPOST('echmonth'),GETPOST('echday'),GETPOST('echyear')); + $dateperiod=@dol_mktime(GETPOST('periodhour'),GETPOST('periodmin'),GETPOST('periodsec'),GETPOST('periodmonth'),GETPOST('periodday'),GETPOST('periodyear')); + $amount=GETPOST('amount'); + $actioncode=GETPOST('actioncode'); if (! $dateech) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateDue")), 'errors'); @@ -89,30 +91,36 @@ if ($action == 'add' && $user->rights->tax->charges->creer) setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Period")), 'errors'); $action = 'create'; } - elseif (! $_POST["actioncode"] > 0) + elseif (! $actioncode > 0) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Type")), 'errors'); $action = 'create'; } - elseif (! $_POST["amount"]) + elseif (empty($amount)) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount")), 'errors'); $action = 'create'; } + elseif (! is_numeric($amount)) + { + setEventMessage($langs->trans("ErrorFieldMustBeANumeric",$langs->transnoentities("Amount")), 'errors'); + $action = 'create'; + } else { $chargesociales=new ChargeSociales($db); - $chargesociales->type=$_POST["actioncode"]; - $chargesociales->lib=$_POST["label"]; + $chargesociales->type=$actioncode; + $chargesociales->lib=GETPOST('label'); $chargesociales->date_ech=$dateech; $chargesociales->periode=$dateperiod; - $chargesociales->amount=$_POST["amount"]; + $chargesociales->amount=price2num($amount); $id=$chargesociales->create($user); if ($id <= 0) { - setEventMessage($chargesociales->error, 'errors'); + setEventMessages($chargesociales->error, $chargesociales->errors, 'errors'); + $action='create'; } } } @@ -120,37 +128,45 @@ if ($action == 'add' && $user->rights->tax->charges->creer) if ($action == 'update' && ! $_POST["cancel"] && $user->rights->tax->charges->creer) { - $dateech=dol_mktime($_POST["echhour"],$_POST["echmin"],$_POST["echsec"],$_POST["echmonth"],$_POST["echday"],$_POST["echyear"]); - $dateperiod=dol_mktime($_POST["periodhour"],$_POST["periodmin"],$_POST["periodsec"],$_POST["periodmonth"],$_POST["periodday"],$_POST["periodyear"]); - if (! $dateech) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateDue")), 'errors'); - $action = 'edit'; - } - elseif (! $dateperiod) - { - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Period")), 'errors'); - $action = 'edit'; - } + $dateech=dol_mktime(GETPOST('echhour'),GETPOST('echmin'),GETPOST('echsec'),GETPOST('echmonth'),GETPOST('echday'),GETPOST('echyear')); + $dateperiod=dol_mktime(GETPOST('periodhour'),GETPOST('periodmin'),GETPOST('periodsec'),GETPOST('periodmonth'),GETPOST('periodday'),GETPOST('periodyear')); + $amount=GETPOST('amount'); + if (! $dateech) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateDue")), 'errors'); + $action = 'edit'; + } + elseif (! $dateperiod) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Period")), 'errors'); + $action = 'edit'; + } + elseif (empty($amount)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount")), 'errors'); + $action = 'edit'; + } else { - $chargesociales=new ChargeSociales($db); - $result=$chargesociales->fetch($_GET["id"]); + $chargesociales=new ChargeSociales($db); + $result=$chargesociales->fetch($id); - $chargesociales->lib=$_POST["label"]; - $chargesociales->date_ech=$dateech; - $chargesociales->periode=$dateperiod; + $chargesociales->lib=GETPOST('label'); + $chargesociales->date_ech=$dateech; + $chargesociales->periode=$dateperiod; + $chargesociales->amount=price2num($amount); - $result=$chargesociales->update($user); - if ($result <= 0) - { - setEventMessage($chargesociales->error, 'errors'); - } + $result=$chargesociales->update($user); + if ($result <= 0) + { + setEventMessage($chargesociales->error, 'errors'); + } } } - // Action clone object +// Action clone object if ($action == 'confirm_clone' && $confirm != 'yes') { $action=''; } + if ($action == 'confirm_clone' && $confirm == 'yes' && ($user->rights->tax->charges->creer)) { $db->begin(); @@ -217,7 +233,6 @@ llxHeader("",$langs->trans("SocialContribution"),$help_url); if ($action == 'create') { print_fiche_titre($langs->trans("NewSocialContribution")); - print "
\n"; $var=false; @@ -225,53 +240,59 @@ if ($action == 'create') print ''; print ''; - print ""; - print ""; - print ''; - print "\n"; - - print ''; - - print ''; + dol_fiche_head(); + print '
'; - print ' '; - print ''; - print $langs->trans("Label"); - print ''; - print $langs->trans("Type"); - print ''; - print $langs->trans("PeriodEndDate"); - print ''; - print $langs->trans("Amount"); - print ''; - print $langs->trans("DateDue"); - print ''; - print ' '; - print '
 
'; + print ""; // Label + print ''; print ''; - - // Type - print ''; + print ''; + // Type + print ''; + print ''; - + print ''; // Date end period - print ''; + print ''; + print ''; - - print ''; - - print ''; + // Amount + print ''; + print ''; + print ''; + print ''; + // Date due + print ''; + print ''; + print ''; - - print ''; - print ''; + print "\n"; print '
'; + print $langs->trans("Label"); + print ''; + print '
'; + print $langs->trans("Type"); + print ''; $formsocialcontrib->select_type_socialcontrib(GETPOST("actioncode")?GETPOST("actioncode"):'','actioncode',1); print '
'; + print '
'; + print $langs->trans("PeriodEndDate"); + print ''; print $form->select_date(! empty($dateperiod)?$dateperiod:'-1', 'period', 0, 0, 0, 'charge', 1); print ''; + print '
'; + print $langs->trans("Amount"); + print '
'; + print $langs->trans("DateDue"); + print ''; print $form->select_date(! empty($dateech)?$dateech:'-1', 'ech', 0, 0, 0, 'charge', 1); print '
'; + dol_fiche_end(); + + print '
'; + print ''; + print '
'; + print ''; } @@ -383,7 +404,7 @@ if ($id > 0) print ""; print ''.img_object($langs->trans("Payment"),"payment").' '.$objp->rowid.''; print ''.dol_print_date($db->jdate($objp->dp),'day')."\n"; - $labeltype=$langs->trans("PaymentType".$objp->type_code)!=("PaymentType".$objp->type_code)?$langs->trans("PaymentType".$objp->type_code):$objp->paiement_type; + $labeltype=$langs->trans("PaymentType".$objp->type_code)!=("PaymentType".$objp->type_code)?$langs->trans("PaymentType".$objp->type_code):$objp->paiement_type; print "".$labeltype.' '.$objp->num_paiement."\n"; print ''.price($objp->amount)." ".$langs->trans("Currency".$conf->currency)."\n"; print ""; @@ -437,7 +458,15 @@ if ($id > 0) } // Amount - print ''.$langs->trans("AmountTTC").''.price($object->amount,0,$outputlangs,1,-1,-1,$conf->currency).''; + if ($action == 'edit') + { + print ''.$langs->trans("AmountTTC").""; + print ''; + print ""; + } + else { + print ''.$langs->trans("AmountTTC").''.price($object->amount,0,$outputlangs,1,-1,-1,$conf->currency).''; + } // Status print ''.$langs->trans("Status").''.$object->getLibStatut(4, $totalpaye).''; @@ -466,7 +495,7 @@ if ($id > 0) print "
\n"; // Edit - if ($user->rights->tax->charges->creer) + if ($object->paye == 0 && $user->rights->tax->charges->creer) { print "id&action=edit\">".$langs->trans("Modify").""; } @@ -500,7 +529,7 @@ if ($id > 0) } else { - /* Charge non trouv� */ + /* Social contribution not found */ dol_print_error('',$object->error); } } diff --git a/htdocs/compta/sociales/class/chargesociales.class.php b/htdocs/compta/sociales/class/chargesociales.class.php index 805558b4267..dc70126ab9e 100644 --- a/htdocs/compta/sociales/class/chargesociales.class.php +++ b/htdocs/compta/sociales/class/chargesociales.class.php @@ -266,7 +266,8 @@ class ChargeSociales extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."chargesociales"; $sql.= " SET libelle='".$this->db->escape($this->lib)."',"; $sql.= " date_ech='".$this->db->idate($this->date_ech)."',"; - $sql.= " periode='".$this->db->idate($this->periode)."'"; + $sql.= " periode='".$this->db->idate($this->periode)."',"; + $sql.= " amount='".price2num($this->amount,'MT')."'"; $sql.= " WHERE rowid=".$this->id; dol_syslog(get_class($this)."::update", LOG_DEBUG); @@ -407,9 +408,9 @@ class ChargeSociales extends CommonObject /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $maxlen Longueur max libelle * @return string Chaine avec URL */ @@ -420,13 +421,14 @@ class ChargeSociales extends CommonObject $result=''; if (empty($this->ref)) $this->ref=$this->lib; + $label = $langs->trans("ShowSocialContribution").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowSocialContribution").': '.$this->lib,'bill').$lienfin.' '); + if ($withpicto) $result.=($link.img_object($label, 'bill', 'class="classfortooltip"').$linkend.' '); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$lienfin; + if ($withpicto != 2) $result.=$link.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$linkend; return $result; } diff --git a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php index 10f856cf858..45b2c51acfa 100644 --- a/htdocs/compta/sociales/class/paymentsocialcontribution.class.php +++ b/htdocs/compta/sociales/class/paymentsocialcontribution.class.php @@ -25,8 +25,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; -/** \class PaymentSocialContribution - * \brief Class to manage payments of social contributions +/** + * Class to manage payments of social contributions */ class PaymentSocialContribution extends CommonObject { @@ -40,6 +40,11 @@ class PaymentSocialContribution extends CommonObject var $datec=''; var $tms=''; var $datep=''; + /** + * @deprecated + * @see amount + */ + var $total; var $amount; // Total amount of payment var $amounts=array(); // Array of amounts var $fk_typepaiement; @@ -77,7 +82,7 @@ class PaymentSocialContribution extends CommonObject // Validate parametres if (! $this->datepaye) { - $this->error='ErrorBadValueForParameter'; + $this->error='ErrorBadValueForParameterCreatePaymentSocialContrib'; return -1; } @@ -576,9 +581,9 @@ class PaymentSocialContribution extends CommonObject } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $maxlen Longueur max libelle * @return string Chaine avec URL */ @@ -589,15 +594,16 @@ class PaymentSocialContribution extends CommonObject $result=''; if (empty($this->ref)) $this->ref=$this->lib; + $label = $langs->trans("ShowPayment").': '.$this->ref; if (!empty($this->id)) { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowPayment").': '.$this->ref,'payment').$lienfin.' '); + if ($withpicto) $result.=($link.img_object($label, 'payment', 'class="classfortooltip"').$linkend.' '); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$lienfin; + if ($withpicto != 2) $result.=$link.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$linkend; } return $result; diff --git a/htdocs/compta/sociales/document.php b/htdocs/compta/sociales/document.php index ad5af8f84c2..f87791dfed9 100644 --- a/htdocs/compta/sociales/document.php +++ b/htdocs/compta/sociales/document.php @@ -88,8 +88,8 @@ llxHeader("",$langs->trans("SocialContribution"),$help_url); if ($object->id) { $alreadypayed=$object->getSommePaiement(); - - $head=tax_prepare_head($object, $user); + + $head=tax_prepare_head($object); dol_fiche_head($head, 'documents', $langs->trans("SocialContribution"), 0, 'bill'); diff --git a/htdocs/compta/stats/cabyprodserv.php b/htdocs/compta/stats/cabyprodserv.php index 8263dc76cb8..e995b06aa6b 100644 --- a/htdocs/compta/stats/cabyprodserv.php +++ b/htdocs/compta/stats/cabyprodserv.php @@ -1,6 +1,7 @@ - * Copyright (C) 2013 Laurent Destailleur +/* Copyright (C) 2013 Antoine Iauch + * Copyright (C) 2013 Laurent Destailleur + * Copyright (C) 2015 Raphaël Doursenaud * * 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,8 +18,8 @@ */ /** - * \file htdocs/compta/stats/cabyprodserv.php - * \brief Page reporting TO by Products & Services + * \file htdocs/compta/stats/cabyprodserv.php + * \brief Page reporting TO by Products & Services */ require '../../main.inc.php'; @@ -26,6 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $langs->load("products"); $langs->load("categories"); @@ -45,13 +47,13 @@ if (GETPOST("modecompta")) $modecompta=GETPOST("modecompta"); $sortorder=isset($_GET["sortorder"])?$_GET["sortorder"]:$_POST["sortorder"]; $sortfield=isset($_GET["sortfield"])?$_GET["sortfield"]:$_POST["sortfield"]; if (! $sortorder) $sortorder="asc"; -if (! $sortfield) $sortfield="name"; +if (! $sortfield) $sortfield="ref"; // Category $selected_cat = (int) GETPOST('search_categ', 'int'); $subcat = false; if (GETPOST('subcat', 'alpha') === 'yes') { - $subcat = true; + $subcat = true; } // Date range @@ -130,7 +132,7 @@ $headerparams = array_merge($commonparams, $headerparams); $tableparams = array_merge($commonparams, $tableparams); foreach($allparams as $key => $value) { - $paramslink .= '&' . $key . '=' . $value; + $paramslink .= '&' . $key . '=' . $value; } @@ -146,28 +148,28 @@ $nom=$langs->trans("SalesTurnover").', '.$langs->trans("ByProductsAndServices"); if ($modecompta=="CREANCES-DETTES") { $calcmode=$langs->trans("CalcModeDebt"); - $calcmode.='
('.$langs->trans("SeeReportInInputOutputMode",'','').')'; + $calcmode.='
('.$langs->trans("SeeReportInInputOutputMode",'','').')'; - $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); - $description=$langs->trans("RulesCADue"); + $description=$langs->trans("RulesCADue"); if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { - $description.= $langs->trans("DepositsAreNotIncluded"); + $description.= $langs->trans("DepositsAreNotIncluded"); } else { - $description.= $langs->trans("DepositsAreIncluded"); + $description.= $langs->trans("DepositsAreIncluded"); } - $builddate=time(); + $builddate=time(); } else { $calcmode=$langs->trans("CalcModeEngagement"); $calcmode.='
('.$langs->trans("SeeReportInDueDebtMode",'','').')'; - $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); + $period=$form->select_date($date_start,'date_start',0,0,0,'',1,0,1).' - '.$form->select_date($date_end,'date_end',0,0,0,'',1,0,1); - $description=$langs->trans("RulesCAIn"); - $description.= $langs->trans("DepositsAreIncluded"); + $description=$langs->trans("RulesCAIn"); + $description.= $langs->trans("DepositsAreIncluded"); - $builddate=time(); + $builddate=time(); } report_header($nom,$nomlink,$period,$periodlink,$description,$builddate,$exportlink,$tableparams,$calcmode); @@ -178,221 +180,226 @@ $catotal=0; if ($modecompta == 'CREANCES-DETTES') { - $sql = "SELECT DISTINCT p.rowid as rowid, p.ref as ref, p.label as label,"; - $sql.= " sum(l.total_ht) as amount, sum(l.total_ttc) as amount_ttc"; - $sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as l, ".MAIN_DB_PREFIX."product as p"; + $sql = "SELECT DISTINCT p.rowid as rowid, p.ref as ref, p.label as label,"; + $sql.= " SUM(l.total_ht) as amount, SUM(l.total_ttc) as amount_ttc,"; + $sql.= " SUM(CASE WHEN f.type = 2 THEN -l.qty ELSE l.qty END) as qty"; + $sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."facturedet as l, ".MAIN_DB_PREFIX."product as p"; if ($selected_cat === -2) // Without any category { - $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product"; + $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_product as cp ON p.rowid = cp.fk_product"; } else if ($selected_cat) // Into a specific category { - $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp"; + $sql.= ", ".MAIN_DB_PREFIX."categorie as c, ".MAIN_DB_PREFIX."categorie_product as cp"; } - $sql.= " WHERE l.fk_product = p.rowid"; + $sql.= " WHERE l.fk_product = p.rowid"; $sql.= " AND l.fk_facture = f.rowid"; - $sql.= " AND f.fk_statut in (1,2)"; - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { - $sql.= " AND f.type IN (0,1,2)"; - } else { - $sql.= " AND f.type IN (0,1,2,3)"; - } - if ($date_start && $date_end) { - $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; - } + $sql.= " AND f.fk_statut in (1,2)"; + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { + $sql.= " AND f.type IN (0,1,2,5)"; + } else { + $sql.= " AND f.type IN (0,1,2,3,5)"; + } + if ($date_start && $date_end) { + $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; + } if ($selected_cat === -2) // Without any category { - $sql.=" AND cp.fk_product is null"; + $sql.=" AND cp.fk_product is null"; } else if ($selected_cat) { // Into a specific category - $sql.= " AND (c.rowid = ".$selected_cat; - if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; - $sql.= ")"; + $sql.= " AND (c.rowid = ".$selected_cat; + if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; + $sql.= ")"; $sql.= " AND cp.fk_categorie = c.rowid AND cp.fk_product = p.rowid"; } - $sql.= " AND f.entity = ".$conf->entity; - $sql.= " GROUP BY p.rowid, p.ref, p.label"; - $sql.= " ORDER BY p.ref"; + $sql.= " AND f.entity = ".$conf->entity; + $sql.= " GROUP BY p.rowid, p.ref, p.label"; + $sql.= $db->order($sortfield,$sortorder); - dol_syslog("cabyprodserv", LOG_DEBUG); - $result = $db->query($sql); - if ($result) { - $num = $db->num_rows($result); - $i=0; - while ($i < $num) { - $obj = $db->fetch_object($result); - $amount_ht[$obj->rowid] = $obj->amount; - $amount[$obj->rowid] = $obj->amount_ttc; - $name[$obj->rowid] = $obj->ref . ' - ' . $obj->label; - $catotal_ht+=$obj->amount; - $catotal+=$obj->amount_ttc; - $i++; + dol_syslog("cabyprodserv", LOG_DEBUG); + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + $i=0; + while ($i < $num) { + $obj = $db->fetch_object($result); + $amount_ht[$obj->rowid] = $obj->amount; + $amount[$obj->rowid] = $obj->amount_ttc; + $qty[$obj->rowid] = $obj->qty; + $name[$obj->rowid] = $obj->ref . ' - ' . $obj->label; + $catotal_ht+=$obj->amount; + $catotal+=$obj->amount_ttc; + $qtytotal+=$obj->qty; + $i++; + } + } else { + dol_print_error($db); } - } else { - dol_print_error($db); - } - // Show Array - $i=0; - print '
'; - // Extra parameters management - foreach($headerparams as $key => $value) - { - print ''; - } + // Show Array + $i=0; + print ''; + // Extra parameters management + foreach($headerparams as $key => $value) + { + print ''; + } - print ''; - // Category filter - print ''; - print ''; - print ''; - // Array header - print ""; - print_liste_field_titre( - $langs->trans("Product"), - $_SERVER["PHP_SELF"], - "name", - "", - $paramslink, - "", - $sortfield, - $sortorder - ); - print_liste_field_titre( - $langs->trans('AmountHT'), - $_SERVER["PHP_SELF"], - "amount_ht", - "", - $paramslink, - 'align="right"', - $sortfield, - $sortorder - ); - print_liste_field_titre( - $langs->trans("AmountTTC"), - $_SERVER["PHP_SELF"], - "amount_ttc", - "", - $paramslink, - 'align="right"', - $sortfield, - $sortorder - ); - print_liste_field_titre( - $langs->trans("Percentage"), - $_SERVER["PHP_SELF"], - "amount_ttc", - "", - $paramslink, - 'align="right"', - $sortfield, - $sortorder - ); - // TODO: statistics? - print "\n"; + print '
'; - print $langs->trans("Category") . ': ' . $formother->select_categories(0, $selected_cat, 'search_categ', true); - print ' '; - print $langs->trans("SubCats") . '? '; - print ''; - print ''; - print '
'; + // Category filter + print ''; + print ''; + print ''; + + // Array header + print ""; + print_liste_field_titre( + $langs->trans("Product"), + $_SERVER["PHP_SELF"], + "ref", + "", + $paramslink, + "", + $sortfield, + $sortorder + ); + print_liste_field_titre( + $langs->trans('Quantity'), + $_SERVER["PHP_SELF"], + "qty", + "", + $paramslink, + 'align="right"', + $sortfield, + $sortorder + ); + print_liste_field_titre( + $langs->trans("Percentage"), + $_SERVER["PHP_SELF"], + "qty", + "", + $paramslink, + 'align="right"', + $sortfield, + $sortorder + ); + print_liste_field_titre( + $langs->trans('AmountHT'), + $_SERVER["PHP_SELF"], + "amount", + "", + $paramslink, + 'align="right"', + $sortfield, + $sortorder + ); + print_liste_field_titre( + $langs->trans("AmountTTC"), + $_SERVER["PHP_SELF"], + "amount_ttc", + "", + $paramslink, + 'align="right"', + $sortfield, + $sortorder + ); + print_liste_field_titre( + $langs->trans("Percentage"), + $_SERVER["PHP_SELF"], + "amount_ttc", + "", + $paramslink, + 'align="right"', + $sortfield, + $sortorder + ); + print "\n"; - // Array Data - $var=true; + // Array Data + $var=true; - if (count($amount)) { - $arrayforsort=$name; - // defining arrayforsort - if ($sortfield == 'nom' && $sortorder == 'asc') { - asort($name); - $arrayforsort=$name; - } - if ($sortfield == 'nom' && $sortorder == 'desc') { - arsort($name); - $arrayforsort=$name; - } - if ($sortfield == 'amount_ht' && $sortorder == 'asc') { - asort($amount_ht); - $arrayforsort=$amount_ht; - } - if ($sortfield == 'amount_ht' && $sortorder == 'desc') { - arsort($amount_ht); - $arrayforsort=$amount_ht; - } - if ($sortfield == 'amount_ttc' && $sortorder == 'asc') { - asort($amount); - $arrayforsort=$amount; - } - if ($sortfield == 'amount_ttc' && $sortorder == 'desc') { - arsort($amount); - $arrayforsort=$amount; - } - foreach($arrayforsort as $key=>$value) { - $var=!$var; - print ""; + if (count($name)) { + foreach($name as $key=>$value) { + $var=!$var; + print ""; - // Product - $fullname=$name[$key]; - if ($key >= 0) { - $linkname=''.img_object($langs->trans("ShowProduct"),'product').' '.$fullname.''; - } else { - $linkname=$langs->trans("PaymentsNotLinkedToProduct"); - } + // Product + $fullname=$name[$key]; + if ($key >= 0) { + $linkname=''.img_object($langs->trans("ShowProduct"),'product').' '.$fullname.''; + } else { + $linkname=$langs->trans("PaymentsNotLinkedToProduct"); + } - print "\n"; + print "\n"; + + // Quantity + print ''; + + // Percent; + print ''; + + // Amount w/o VAT + print ''; + + // Amount with VAT + print ''; + + // Percent; + print ''; + + // TODO: statistics? + + print "\n"; + $i++; + } - // Amount w/o VAT - print ''; + // Total + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; - // Amount with VAT - print ''; - - // Percent; - print ''; - - // TODO: statistics? - - print "\n"; - $i++; - } - - // Total - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - - $db->free($result); - } - print "
'; + print $langs->trans("Category") . ': ' . $formother->select_categories(Categorie::TYPE_PRODUCT, $selected_cat, 'search_categ', true); + print ' '; + print $langs->trans("SubCats") . '? '; + print ''; + print ''; + print '
".$linkname."".$linkname."'; + print $qty[$key]; + print ''.($qtytotal > 0 ? round(100 * $qty[$key] / $qtytotal, 2).'%' : ' ').''; + /*if ($key > 0) { + print ''; + } else { + print ''; + }*/ + print price($amount_ht[$key]); + //print ''; + print ''; + /*if ($key > 0) { + print ''; + } else { + print ''; + }*/ + print price($amount[$key]); + //print ''; + print ''.($catotal > 0 ? round(100 * $amount[$key] / $catotal, 2).'%' : ' ').'
'; - /*if ($key > 0) { - print ''; - } else { - print ''; - }*/ - print price($amount_ht[$key]); - //print ''; - print '
'.$langs->trans("Total").''.price($catotal_ht).''.price($catotal).' 
'; - /*if ($key > 0) { - print ''; - } else { - print ''; - }*/ - print price($amount[$key]); - //print ''; - print ''.($catotal > 0 ? round(100 * $amount[$key] / $catotal, 2).'%' : ' ').'
'.$langs->trans("Total").''.price($catotal_ht).''.price($catotal).' 
"; - print '
'; + $db->free($result); + } + print ""; + print ''; } else { - // $modecompta != 'CREANCES-DETTES' - // "Calculation of part of each product for accountancy in this mode is not possible. When a partial payment (for example 5 euros) is done on an - // invoice with 2 product (product A for 10 euros and product B for 20 euros), what is part of paiment for product A and part of paiment for product B ? - // Because there is no way to know this, this report is not relevant. + // $modecompta != 'CREANCES-DETTES' + // "Calculation of part of each product for accountancy in this mode is not possible. When a partial payment (for example 5 euros) is done on an + // invoice with 2 product (product A for 10 euros and product B for 20 euros), what is part of paiment for product A and part of paiment for product B ? + // Because there is no way to know this, this report is not relevant. print '
'.$langs->trans("TurnoverPerProductInCommitmentAccountingNotRelevant") . '
'; } diff --git a/htdocs/compta/stats/cabyuser.php b/htdocs/compta/stats/cabyuser.php index e88d370a0c6..385ac1f140c 100644 --- a/htdocs/compta/stats/cabyuser.php +++ b/htdocs/compta/stats/cabyuser.php @@ -178,9 +178,9 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."facture as f ON f.fk_user_author = u.rowid"; $sql.= " WHERE f.fk_statut in (1,2)"; if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { - $sql.= " AND f.type IN (0,1,2)"; + $sql.= " AND f.type IN (0,1,2,5)"; } else { - $sql.= " AND f.type IN (0,1,2,3)"; + $sql.= " AND f.type IN (0,1,2,3,5)"; } if ($date_start && $date_end) { $sql.= " AND f.datef >= '".$db->idate($date_start)."' AND f.datef <= '".$db->idate($date_end)."'"; @@ -232,7 +232,7 @@ if ($modecompta != 'CREANCES-DETTES') { $sql.= " WHERE pf.rowid IS NULL"; $sql.= " AND p.fk_bank = b.rowid"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; if ($date_start && $date_end) { $sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; } diff --git a/htdocs/compta/stats/casoc.php b/htdocs/compta/stats/casoc.php index 1d34f78a181..7b9cfdd7913 100644 --- a/htdocs/compta/stats/casoc.php +++ b/htdocs/compta/stats/casoc.php @@ -1,9 +1,10 @@ - * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2009 Regis Houssin - * Copyright (C) 2007 Franky Van Liedekerke - * Copyright (C) 2013 Antoine Iauch +/* Copyright (C) 2001-2003 Rodolphe Quiedeville + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2007 Franky Van Liedekerke + * Copyright (C) 2013 Antoine Iauch + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -29,6 +30,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/report.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/tax.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $langs->load("companies"); $langs->load("categories"); @@ -183,7 +185,7 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.= " FROM ".MAIN_DB_PREFIX."facture as f, ".MAIN_DB_PREFIX."societe as s"; if ($selected_cat === -2) // Without any category { - $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe"; + $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; } else if ($selected_cat) // Into a specific category { @@ -191,9 +193,9 @@ if ($modecompta == 'CREANCES-DETTES') { } $sql.= " WHERE f.fk_statut in (1,2)"; if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) { - $sql.= " AND f.type IN (0,1,2)"; + $sql.= " AND f.type IN (0,1,2,5)"; } else { - $sql.= " AND f.type IN (0,1,2,3)"; + $sql.= " AND f.type IN (0,1,2,3,5)"; } $sql.= " AND f.fk_soc = s.rowid"; if ($date_start && $date_end) { @@ -201,13 +203,13 @@ if ($modecompta == 'CREANCES-DETTES') { } if ($selected_cat === -2) // Without any category { - $sql.=" AND cs.fk_societe is null"; + $sql.=" AND cs.fk_soc is null"; } else if ($selected_cat) { // Into a specific category $sql.= " AND (c.rowid = ".$selected_cat; if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; $sql.= ")"; - $sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid"; + $sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_soc = s.rowid"; } } else { /* @@ -221,7 +223,7 @@ if ($modecompta == 'CREANCES-DETTES') { $sql.= ", ".MAIN_DB_PREFIX."societe as s"; if ($selected_cat === -2) // Without any category { - $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_societe"; + $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX."categorie_societe as cs ON s.rowid = cs.fk_soc"; } else if ($selected_cat) // Into a specific category { @@ -235,13 +237,13 @@ if ($modecompta == 'CREANCES-DETTES') { } if ($selected_cat === -2) // Without any category { - $sql.=" AND cs.fk_societe is null"; + $sql.=" AND cs.fk_soc is null"; } else if ($selected_cat) { // Into a specific category $sql.= " AND (c.rowid = ".$selected_cat; if ($subcat) $sql.=" OR c.fk_parent = " . $selected_cat; $sql.= ")"; - $sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_societe = s.rowid"; + $sql.= " AND cs.fk_categorie = c.rowid AND cs.fk_soc = s.rowid"; } } $sql.= " AND f.entity = ".$conf->entity; @@ -279,7 +281,7 @@ if ($modecompta != 'CREANCES-DETTES') { $sql.= " WHERE pf.rowid IS NULL"; $sql.= " AND p.fk_bank = b.rowid"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; if ($date_start && $date_end) $sql.= " AND p.datep >= '".$db->idate($date_start)."' AND p.datep <= '".$db->idate($date_end)."'"; $sql.= " GROUP BY socid, name"; $sql.= " ORDER BY name"; @@ -313,12 +315,12 @@ print ""; // Category filter print ''; print ''; print ''; } - $total_ht[$annee]+=!empty($cum_ht[$case]) ? $cum_ht[$case] : 0;; + $total_ht[$annee]+=!empty($cum_ht[$case]) ? $cum_ht[$case] : 0; $total[$annee]+=$cum[$case]; } diff --git a/htdocs/compta/tva/card.php b/htdocs/compta/tva/card.php index 268a1af8e66..978396e0cf5 100644 --- a/htdocs/compta/tva/card.php +++ b/htdocs/compta/tva/card.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2015 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 @@ -187,6 +188,8 @@ if ($action == 'create') print_fiche_titre($langs->trans("NewVATPayment")); + dol_fiche_head(); + print '
'; -print $langs->trans("Category") . ': ' . $formother->select_categories(2, $selected_cat, 'search_categ', true); +print $langs->trans("Category") . ': ' . $formother->select_categories(Categorie::TYPE_CUSTOMER, $selected_cat, 'search_categ', true); print ' '; print $langs->trans("SubCats") . '? '; print ''; diff --git a/htdocs/compta/stats/index.php b/htdocs/compta/stats/index.php index cfd816c29b6..eb9a425c2af 100644 --- a/htdocs/compta/stats/index.php +++ b/htdocs/compta/stats/index.php @@ -91,8 +91,8 @@ if ($modecompta == 'CREANCES-DETTES') $sql = "SELECT date_format(f.datef,'%Y-%m') as dm, sum(f.total) as amount, sum(f.total_ttc) as amount_ttc"; $sql.= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE f.fk_statut in (1,2)"; - if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2)"; - else $sql.= " AND f.type IN (0,1,2,3)"; + if (! empty($conf->global->FACTURE_DEPOSITS_ARE_JUST_PAYMENTS)) $sql.= " AND f.type IN (0,1,2,5)"; + else $sql.= " AND f.type IN (0,1,2,3,5)"; } else { @@ -146,7 +146,7 @@ if ($modecompta != 'CREANCES-DETTES') $sql.= " WHERE pf.rowid IS NULL"; $sql.= " AND p.fk_bank = b.rowid"; $sql.= " AND b.fk_account = ba.rowid"; - $sql.= " AND ba.entity = ".$conf->entity; + $sql.= " AND ba.entity IN (".getEntity('bank_account', 1).")"; $sql.= " GROUP BY dm"; $sql.= " ORDER BY dm"; @@ -298,7 +298,7 @@ for ($mois = 1+$nb_mois_decalage ; $mois <= 12+$nb_mois_decalage ; $mois++) if ($annee_decalage != $year_end) print ' 
'; print ""; @@ -228,10 +231,13 @@ if ($action == 'create') print '
'; - print "
"; + dol_fiche_end(); - print '
  '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index a300579fc1f..fa8a71a24e4 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -89,7 +89,9 @@ class Tva extends CommonObject // Check parameters // Put here code to add control on parameters values - // Insert request + $this->db->begin(); + + // Insert request $sql = "INSERT INTO ".MAIN_DB_PREFIX."tva("; $sql.= "tms,"; $sql.= "datep,"; @@ -126,13 +128,22 @@ class Tva extends CommonObject if ($result < 0) $error++; // End call triggers - //FIXME: Add rollback if trigger fail - return $this->id; + if (! $error) + { + $this->db->commit(); + return $this->id; + } + else + { + $this->db->rollback(); + return -1; + } } else - { - $this->error="Error ".$this->db->lasterror(); - return -1; + { + $this->error="Error ".$this->db->lasterror(); + $this->db->rollback(); + return -1; } } @@ -160,7 +171,9 @@ class Tva extends CommonObject // Check parameters // Put here code to add control on parameters values - // Update request + $this->db->begin(); + + // Update request $sql = "UPDATE ".MAIN_DB_PREFIX."tva SET"; $sql.= " tms=".$this->db->idate($this->tms).","; @@ -181,20 +194,27 @@ class Tva extends CommonObject if (! $resql) { $this->error="Error ".$this->db->lasterror(); - return -1; + $error++; } - if (! $notrigger) + if (! $error && ! $notrigger) { // Call trigger $result=$this->call_trigger('TVA_MODIFY',$user); if ($result < 0) $error++; // End call triggers - - //FIXME: Add rollback if trigger fail } - return 1; + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } } @@ -638,16 +658,16 @@ class Tva extends CommonObject global $langs; $result=''; + $label=$langs->trans("ShowVatPayment").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='payment'; - $label=$langs->trans("ShowVatPayment").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } diff --git a/htdocs/compta/tva/index.php b/htdocs/compta/tva/index.php index c0dcff6d5c3..c84c7d2b633 100644 --- a/htdocs/compta/tva/index.php +++ b/htdocs/compta/tva/index.php @@ -93,7 +93,7 @@ function pt ($db, $sql, $date) $i++; } - print ''.$langs->trans("Total")." :".price($total)." "; + print ''.$langs->trans("Total")." :".price($total)." "; print ""; $db->free($result); @@ -216,7 +216,7 @@ for ($m = 1 ; $m < 13 ; $m++ ) $subtotalcoll=0; $subtotalpaye=0; $subtotal=0; } } -print ''.$langs->trans("TotalToPay").':'.price($total).''; +print ''.$langs->trans("TotalToPay").':'.price($total).''; print " \n"; print ''; diff --git a/htdocs/compta/tva/reglement.php b/htdocs/compta/tva/reglement.php index 45a69076492..de18f2af661 100644 --- a/htdocs/compta/tva/reglement.php +++ b/htdocs/compta/tva/reglement.php @@ -26,6 +26,8 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("compta"); $langs->load("bills"); @@ -38,6 +40,8 @@ $result = restrictedArea($user, 'tax', '', '', 'charges'); $search_ref = GETPOST('search_ref','int'); $search_label = GETPOST('search_label','alpha'); $search_amount = GETPOST('search_amount','alpha'); +$month = GETPOST("month","int"); +$year = GETPOST("year","int"); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); $page = GETPOST("page",'int'); @@ -71,6 +75,8 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_ref=""; $search_label=""; $search_amount=""; + $year=""; + $month=""; $typeid=""; } @@ -81,6 +87,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both llxHeader(); $form = new Form($db); +$formother=new FormOther($db); $tva_static = new Tva($db); $sql = "SELECT t.rowid, t.amount, t.label, t.datev as dm, t.fk_typepayment as type, t.num_payment, pst.code as payment_code"; @@ -90,6 +97,17 @@ $sql.= " WHERE t.entity = ".$conf->entity; if ($search_ref) $sql.=" AND t.rowid=".$search_ref; if ($search_label) $sql.=" AND t.label LIKE '%".$db->escape($search_label)."%'"; if ($search_amount) $sql.=" AND t.amount='".$db->escape(price2num(trim($search_amount)))."'"; +if ($month > 0) +{ + if ($year > 0) + $sql.= " AND t.datev BETWEEN '".$db->idate(dol_get_first_day($year,$month,false))."' AND '".$db->idate(dol_get_last_day($year,$month,false))."'"; + else + $sql.= " AND date_format(t.datev, '%m') = '$month'"; +} +else if ($year > 0) +{ + $sql.= " AND t.datev BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; +} if ($filtre) { $filtre=str_replace(":","=",$filtre); $sql .= " AND ".$filtre; @@ -119,16 +137,20 @@ if ($result) print ''; print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"t.rowid","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"t.label","",$param,'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"dm","",$param,'align="left"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DatePayment"),$_SERVER["PHP_SELF"],"dm","",$param,'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Type"),$_SERVER["PHP_SELF"],"type","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PayedByThisPayment"),$_SERVER["PHP_SELF"],"t.amount","",$param,'align="right"',$sortfield,$sortorder); - print_liste_field_titre(""); + print_liste_field_titre(''); print "\n"; print ''; print ''; print ''; - print ' '; + print ''; + print ''; + $syear = $year; + $formother->select_year($syear?$syear:-1,'year',1, 20, 5); + print ''; // Type print ''; $form->select_types_paiements($typeid,'typeid','',0,0,1,16); @@ -158,7 +180,7 @@ if ($result) $tva_static->ref=$obj->rowid; print "".$tva_static->getNomUrl(1)."\n"; print "".dol_trunc($obj->label,40)."\n"; - print ''.dol_print_date($db->jdate($obj->dm),'day')."\n"; + print ''.dol_print_date($db->jdate($obj->dm),'day')."\n"; // Type print $type; // Amount diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index e6d3ba0d73c..c1a374ceec2 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -204,15 +204,17 @@ $dolibarr_main_authentication='dolibarr'; //################## // dolibarr_main_force_https -// This parameter allows to force the HTTPS mode. +// This parameter allows to force the HTTPS mode. // 0 = No forced redirect // 1 = Force redirect to https, until SCRIPT_URI start with https into response // 2 = Force redirect to https, until SERVER["HTTPS"] is 'on' into response -// Warning: If you enable this parameter, your web server must be configured -// to respond URL with https protocol. Try different values (1,2) if you -// experience problems. +// 'https://my.domain.com' = Force reditect to https using this domain name. +// Warning: If you enable this parameter, your web server must be configured to +// respond URL with https protocol. +// According to your web server setup, some values may works and other not. Try +// different values (1,2 or 'https://my.domain.com') if you experience problems. // Default value: 0 -// Possible values: 0, 1 or 2 +// Possible values: 0, 1, 2 or 'https://my.domain.com' // Examples: // $dolibarr_main_force_https='0'; // @@ -313,10 +315,12 @@ $dolibarr_main_db_prefix=''; // multicompany_transverse_mode // Prerequisite: Need external module "multicompany" -// Pyramidal (0): The rights and groups are managed in each entity. Each user belongs to the entity he was created into. -// Transversal (1): The user is created and managed only into master entity but can login to all entities. +// Pyramidal (0): The rights and groups are managed in each entity. Each user belongs to the entity he was created into. +// Transversal (1): The user is created and managed only into master entity but can login to all entities if he is admmin +// of entity or belongs to at least one user group created into entity. + // Default value: 0 (pyramidal) // Examples: // $multicompany_transverse_mode='1'; -?> \ No newline at end of file +?> diff --git a/htdocs/contact/canvas/actions_contactcard_common.class.php b/htdocs/contact/canvas/actions_contactcard_common.class.php index 9e6624dda72..ad628fd6574 100644 --- a/htdocs/contact/canvas/actions_contactcard_common.class.php +++ b/htdocs/contact/canvas/actions_contactcard_common.class.php @@ -51,6 +51,8 @@ abstract class ActionsContactCardCommon */ private function getInstanceDao() { + dol_syslog(__METHOD__ . " is deprecated", LOG_WARNING); + if (! is_object($this->object)) { $modelclassfile = dol_buildpath('/'.$this->dirmodule.'/canvas/'.$this->canvas.'/dao_'.$this->targetmodule.'_'.$this->canvas.'.class.php'); diff --git a/htdocs/contact/card.php b/htdocs/contact/card.php index 3b9a9948889..4d0451285b1 100644 --- a/htdocs/contact/card.php +++ b/htdocs/contact/card.php @@ -1,12 +1,13 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Alexandre Spangaro * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2015 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 @@ -39,6 +40,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; require_once DOL_DOCUMENT_ROOT. '/core/class/html.form.class.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; +require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $langs->load("companies"); $langs->load("users"); $langs->load("other"); @@ -200,12 +202,12 @@ if (empty($reshook)) // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$object); - if ($ret < 0) + if ($ret < 0) { $error++; $action = 'create'; } - + if (! GETPOST("lastname")) { $error++; $errors[]=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Lastname").' / '.$langs->transnoentities("Label")); @@ -219,7 +221,17 @@ if (empty($reshook)) { $error++; $errors=array_merge($errors,($object->error?array($object->error):$object->errors)); $action = 'create'; - } + } else { + // Categories association + $contcats = GETPOST( 'contcats', 'array' ); + if (!empty( $contcats )) { + $cat = new Categorie( $db ); + foreach ($contcats as $id_category) { + $cat->fetch( $id_category ); + $cat->add_type( $object, 'contact' ); + } + } + } } if (! $error && $id > 0) @@ -259,7 +271,7 @@ if (empty($reshook)) } else { - setEventMessage($object->error,$object->errors,'errors'); + setEventMessages($object->error,$object->errors,'errors'); } } @@ -312,8 +324,22 @@ if (empty($reshook)) $result = $object->update($contactid, $user); - if ($result > 0) - { + if ($result > 0) { + // Categories association + // First we delete all categories association + $sql = 'DELETE FROM ' . MAIN_DB_PREFIX . 'categorie_contact'; + $sql .= ' WHERE fk_socpeople = ' . $object->id; + $db->query( $sql ); + + // Then we add the associated categories + $categories = GETPOST( 'contcats', 'array' ); + if (!empty( $categories )) { + $cat = new Categorie( $db ); + foreach ($categories as $id_category) { + $cat->fetch( $id_category ); + $cat->add_type( $object, 'contact' ); + } + } $object->old_lastname=''; $object->old_firstname=''; $action = 'view'; @@ -380,6 +406,7 @@ else /* * Onglets */ + $head=array(); if ($id > 0) { // Si edition contact deja existant @@ -392,9 +419,6 @@ else $head = contact_prepare_head($object); $title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses")); - dol_fiche_head($head, 'card', $title, 0, 'contact'); - - dol_htmloutput_events(); } if ($user->rights->societe->contact->creer) @@ -418,7 +442,8 @@ else } $title = $addcontact = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("AddContact") : $langs->trans("AddContactAddress")); - print_fiche_titre($title); + $linkback=''; + print_fiche_titre($title,$linkback,'title_companies.png'); // Affiche les erreurs dol_htmloutput_errors(is_numeric($error)?'':$error,$errors); @@ -444,13 +469,16 @@ else print ''."\n"; } - print '
'; print '
'; print ''; print ''; print ''; + + dol_fiche_head($head, 'card', '', 0, ''); + print ''; + // Name print ''; print ''; @@ -577,6 +605,15 @@ else print $form->selectarray('priv',$selectarray,(GETPOST("priv",'alpha')?GETPOST("priv",'alpha'):$object->priv),0); print ''; + // Categories + if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire)) { + print '"; + } + // Other attributes $parameters=array('colspan' => ' colspan="3"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -617,17 +654,18 @@ else } print ''; - print "
lastname).'" autofocus="autofocus">
' . fieldLabel( 'Categories', 'contcats' ) . ''; + $cate_arbo = $form->select_all_categories( Categorie::TYPE_CONTACT, null, 'parent', null, null, 1 ); + print $form->multiselectarray( 'contcats', $cate_arbo, GETPOST( 'contcats', 'array' ), null, null, null, + null, '90%' ); + print "


"; + print ""; + print dol_fiche_end(); - print '
'; + print '
'; print ''; if (! empty($backtopage)) { print '     '; print ''; } - print '
'; + print '
'; print ""; } @@ -680,6 +718,8 @@ else print ''; if (! empty($backtopage)) print ''; + dol_fiche_head($head, 'card', $title, 0, 'contact'); + print ''; // Ref @@ -796,23 +836,37 @@ else print ''; // Note Public - print ''; // Note Private - print ''; // Statut - print ''; + print ''; print ''; + // Categories + if (!empty( $conf->categorie->enabled ) && !empty( $user->rights->categorie->lire )) { + print ''; + print '"; + } + // Other attributes $parameters=array('colspan' => ' colspan="3"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -862,13 +916,15 @@ else else print $langs->trans("NoDolibarrAccess"); print ''; - print '
'; + print '
'; $doleditor = new DolEditor('note_public', $object->note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
'; + print '
'; $doleditor = new DolEditor('note_private', $object->note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
'.$langs->trans("Status").'
'.$langs->trans("Status").''; - print $object->getLibStatut(5); + print $object->getLibStatut(4); print '
' . fieldLabel( 'Categories', 'contcats' ) . ''; + $cate_arbo = $form->select_all_categories( Categorie::TYPE_CONTACT, null, null, null, null, 1 ); + $c = new Categorie( $db ); + $cats = $c->containing( $object->id, Categorie::TYPE_CONTACT ); + foreach ($cats as $cat) { + $arrayselected[] = $cat->id; + } + print $form->multiselectarray( 'contcats', $cate_arbo, $arrayselected, '', 0, '', 0, '90%' ); + print "

'; + print ''; - print '
'; + print dol_fiche_end(); + + print '
'; print ''; - print '   '; + print '     '; print ''; - print '
'; + print '
'; print ""; } @@ -884,6 +940,8 @@ else dol_htmloutput_errors($error,$errors); + dol_fiche_head($head, 'card', $title, 0, 'contact'); + if ($action == 'create_user') { // Full firstname and lastname separated with a dot : firstname.lastname @@ -1019,20 +1077,29 @@ else print ''; // Note Public - print ''.$langs->trans("NotePublic").''; + print ''.$langs->trans("NotePublic").''; print nl2br($object->note_public); print ''; // Note Private - print ''.$langs->trans("NotePrivate").''; + print ''.$langs->trans("NotePrivate").''; print nl2br($object->note_private); // Statut - print ''.$langs->trans("Status").''; + print ''.$langs->trans("Status").''; print ''; - print $object->getLibStatut(5); + print $object->getLibStatut(4); print ''; print ''."\n"; + + // Categories + if (! empty($conf->categorie->enabled) && ! empty($user->rights->categorie->lire)) { + print '' . $langs->trans( "Categories" ) . ''; + print ''; + print $form->showCategories( $object->id, 'contact', 1 ); + print ''; + } + // Other attributes $parameters=array('socid'=>$socid, 'colspan' => ' colspan="3"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -1082,9 +1149,17 @@ else else print $langs->trans("NoDolibarrAccess"); print ''; + print ''; + print $langs->trans("ExportCardToFormat").''; + print ''; + print img_picto($langs->trans("VCard"),'vcard.png').' '; + print $langs->trans("VCard"); + print ''; + print ''; + print ""; - print "
"; + print dol_fiche_end(); // Barre d'actions print '
'; @@ -1095,18 +1170,14 @@ else { if ($user->rights->societe->contact->creer) { - print ''.$langs->trans('Modify').''; + print ''.$langs->trans('Modify').''; } if (! $object->user_id && $user->rights->user->user->creer) { - print ''.$langs->trans("CreateDolibarrLogin").''; + print ''.$langs->trans("CreateDolibarrLogin").''; } - if ($user->rights->societe->contact->supprimer) - { - print ''.$langs->trans('Delete').''; - } // Activer if ($object->statut == 0 && $user->rights->societe->contact->creer) { @@ -1116,10 +1187,17 @@ else if ($object->statut == 1 && $user->rights->societe->contact->creer) { print ''.$langs->trans("DisableUser").''; + } + + // Delete + if ($user->rights->societe->contact->supprimer) + { + print ''.$langs->trans('Delete').''; } } - print "

"; + print ""; + print "
"; if (! empty($conf->agenda->enabled)) { diff --git a/htdocs/contact/class/contact.class.php b/htdocs/contact/class/contact.class.php index 63204d158cc..e1a5468cfb9 100644 --- a/htdocs/contact/class/contact.class.php +++ b/htdocs/contact/class/contact.class.php @@ -8,6 +8,7 @@ * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 Alexandre Spangaro * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -49,9 +50,21 @@ class Contact extends CommonObject var $zip; var $town; - var $fk_departement; // deprecated - var $departement_code; // deprecated - var $departement; // deprecated + /** + * @deprecated + * @see state_id + */ + var $fk_departement; + /** + * @deprecated + * @see state_code + */ + var $departement_code; + /** + * @deprecated + * @see state + */ + var $departement; var $state_id; // Id of department var $state_code; // Code of department var $state; // Label of department @@ -79,7 +92,11 @@ class Contact extends CommonObject var $birthday; var $default_lang; var $note_public; // Public note - var $note; // deprecated + /** + * @deprecated + * @see note_public, note_private + */ + var $note; var $note_private; // Private note var $no_email; // 1=Don't send e-mail to this contact, 0=do @@ -565,7 +582,7 @@ class Contact extends CommonObject $this->email = $obj->email; $this->jabberid = $obj->jabberid; - $this->skype = $obj->skype; + $this->skype = $obj->skype; $this->priv = $obj->priv; $this->mail = $obj->email; @@ -899,18 +916,29 @@ class Contact extends CommonObject global $langs; $result=''; + $label = '' . $langs->trans("ShowContact") . ''; + $label.= '
' . $langs->trans("Name") . ': '.$this->getFullName($langs); + //if ($this->civility_id) $label.= '
' . $langs->trans("Civility") . ': '.$this->civility_id; // TODO Translate cibilty_id code + $label.= '
' . $langs->trans("Poste") . ': '.$this->poste; + $label.= '
' . $langs->trans("EMail") . ': '.$this->email; + $phonelist=array(); + if ($this->phone_pro) $phonelist[]=$this->phone_pro; + if ($this->phone_mobile) $phonelist[]=$this->phone_mobile; + if ($this->phone_pesro) $phonelist[]=$this->phone_perso; + $label.= '
' . $langs->trans("Phone") . ': '.join(', ',$phonelist); + $label.= '
' . $langs->trans("Address") . ': '.dol_format_address($this, 1, ' ', $langs); - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; if ($option == 'xxx') { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; } - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowContact").': '.$this->getFullName($langs),'contact').$lienfin.' '); - $result.=$lien.($maxlen?dol_trunc($this->getFullName($langs),$maxlen):$this->getFullName($langs)).$lienfin; + if ($withpicto) $result.=($link.img_object($label, 'contact', 'class="classfortooltip"').$linkend.' '); + $result.=$link.($maxlen?dol_trunc($this->getFullName($langs),$maxlen):$this->getFullName($langs)).$linkend; return $result; } @@ -974,7 +1002,7 @@ class Contact extends CommonObject } elseif ($mode == 4) { - if ($statut==0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('StatusContactDraft'); + if ($statut==0) return img_picto($langs->trans('Disabled'),'statut5').' '.$langs->trans('Disabled'); elseif ($statut==1 || $statut==4) return img_picto($langs->trans('Enabled'),'statut4').' '.$langs->trans('Enabled'); } elseif ($mode == 5) @@ -1089,4 +1117,20 @@ class Contact extends CommonObject } } + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'socpeople' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } diff --git a/htdocs/contact/document.php b/htdocs/contact/document.php new file mode 100644 index 00000000000..9a5ab3b0f07 --- /dev/null +++ b/htdocs/contact/document.php @@ -0,0 +1,124 @@ + + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/contact/document.php + * \ingroup contact + * \brief Page with attached files on contact + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.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/contact.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + +$langs->load("other"); +$langs->load("companies"); +$langs->load("contact"); + +$id = GETPOST('id','int'); +$action = GETPOST("action"); +$confirm = GETPOST('confirm', 'alpha'); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'contact', $id, '',''); + +// Get parameters +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { + $page = 0; +} +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="name"; + +$object = new Contact($db); +if ($id > 0) $object->fetch($id); + +$upload_dir = $conf->societe->dir_output.'/contact/'.dol_sanitizeFileName($object->ref); +$modulepart='contact'; + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php'; + + +/* + * View + */ + +$form = new Form($db); + +$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader("",$langs->trans("Contact"), $helpurl); + +if ($object->id) +{ + $head = contact_prepare_head($object); + $title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses")); + + dol_fiche_head($head, 'documents', $title, 0, 'contact'); + + + // Construit liste des fichiers + $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); + $totalsize=0; + foreach($filearray as $key => $file) + { + $totalsize+=$file['size']; + } + + print ''; + + // Ref + print ''; + + // Name + print ''; + print ''; + + print ''; + print ''; + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object, 'id', $linkback); + print '
'.$langs->trans("Lastname").' / '.$langs->trans("Label").''.$object->lastname.''.$langs->trans("Firstname").''.$object->firstname.'
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print ''; + + $modulepart = 'contact'; + $permission = $user->rights->societe->contact->creer; + $param = '&id=' . $object->id; + include DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; +} else { + print $langs->trans("ErrorUnknown"); +} + + +llxFooter(); + +$db->close(); diff --git a/htdocs/contact/exportimport.php b/htdocs/contact/exportimport.php deleted file mode 100644 index e9e9c70966c..00000000000 --- a/htdocs/contact/exportimport.php +++ /dev/null @@ -1,112 +0,0 @@ - - * Copyright (C) 2006-2012 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/contact/exportimport.php - * \ingroup societe - * \brief Onglet exports-imports d'un contact - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/contact.lib.php'; - -$langs->load("companies"); - -// Security check -$id = GETPOST('id', 'int'); -if ($user->societe_id) $socid=$user->societe_id; -$result = restrictedArea($user, 'contact', $id, 'socpeople&societe'); - - -/* - * View - */ - -$title = (! empty($conf->global->SOCIETE_ADDRESSES_MANAGEMENT) ? $langs->trans("Contacts") : $langs->trans("ContactsAddresses")); - -llxHeader('',$title,'EN:Module_Third_Parties|FR:Module_Tiers|ES:Módulo_Empresas'); - -$form = new Form($db); - -$contact = new Contact($db); -$contact->fetch($id, $user); - - -$head = contact_prepare_head($contact); - -dol_fiche_head($head, 'exportimport', $title, 0, 'contact'); - - -/* - * Fiche en mode visu - */ -print ''; - -$linkback = ''.$langs->trans("BackToList").''; - -// Ref -print ''; - -// Name -print ''; -print ''; - -// Company -if (empty($conf->global->SOCIETE_DISABLE_CONTACTS)) -{ - if ($contact->socid > 0) - { - $objsoc = new Societe($db); - $objsoc->fetch($contact->socid); - - print ''; - } - else - { - print ''; - } -} - -// Civility -print ''; - -print '
'.$langs->trans("Ref").''; -print $form->showrefnav($contact, 'id', $linkback); -print '
'.$langs->trans("Lastname").' / '.$langs->trans("Label").''.$contact->lastname.''.$langs->trans("Firstname").''.$contact->firstname.'
'.$langs->trans("ThirdParty").''.$objsoc->getNomUrl(1).'
'.$langs->trans("ThirdParty").''; - print $langs->trans("ContactNotLinkedToCompany"); - print '
'.$langs->trans("UserTitle").''; -print $contact->getCivilityLabel(); -print '
'; - -print ''; - -print '
'; - -print $langs->trans("ExportCardToFormat").': '; -print ''; -print img_picto($langs->trans("VCard"),'vcard.png').' '; -print $langs->trans("VCard"); -print ''; - - - - -$db->close(); - -llxFooter(); diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php index f3e9847b36e..a564bafc4a9 100644 --- a/htdocs/contact/list.php +++ b/htdocs/contact/list.php @@ -1,11 +1,12 @@ - * Copyright (C) 2003 Eric Seigne - * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2013-2015 Raphaël Doursenaud - * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2013 Alexandre Spangaro +/* Copyright (C) 2001-2004 Rodolphe Quiedeville + * Copyright (C) 2003 Eric Seigne + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013-2015 Raphaël Doursenaud + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2013 Alexandre Spangaro + * Copyright (C) 2015 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 @@ -130,7 +131,7 @@ $formother=new FormOther($db); $sql = "SELECT s.rowid as socid, s.nom as name,"; $sql.= " p.rowid as cidp, p.lastname as lastname, p.statut, p.firstname, p.poste, p.email, p.skype,"; -$sql.= " p.phone, p.phone_mobile, p.fax, p.fk_pays, p.priv, p.tms,"; +$sql.= " p.phone as phone_pro, p.phone_mobile, p.phone_perso, p.fax, p.fk_pays, p.priv, p.tms,"; $sql.= " co.code as country_code"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as p"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as co ON co.rowid = p.fk_pays"; @@ -264,7 +265,7 @@ if ($result) $num = $db->num_rows($result); $i = 0; - print_barre_liste($titre, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords); + print_barre_liste($titre, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords,'title_companies.png'); print '
'; print ''; @@ -274,8 +275,9 @@ if ($result) if (! empty($conf->categorie->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; $moreforfilter.=$langs->trans('Categories'). ': '; - $moreforfilter.=$formother->select_categories(4,$search_categ,'search_categ',1); + $moreforfilter.=$formother->select_categories(Categorie::TYPE_CONTACT,$search_categ,'search_categ',1); $moreforfilter.='       '; } if ($moreforfilter) @@ -309,10 +311,10 @@ if ($result) print_liste_field_titre($langs->trans("DateModificationShort"),$_SERVER["PHP_SELF"],"p.tms", $begin, $param, 'align="center"', $sortfield,$sortorder); print_liste_field_titre($langs->trans("ContactVisibility"),$_SERVER["PHP_SELF"],"p.priv", $begin, $param, 'align="center"', $sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.statut", $begin, $param, 'align="center"', $sortfield,$sortorder); - print ' '; + print_liste_field_titre(''); print "\n"; - // Ligne des champs de filtres + // Lines for filter fields print ''; print ''; print ''; @@ -375,6 +377,10 @@ if ($result) $contactstatic->firstname=''; $contactstatic->id=$obj->cidp; $contactstatic->statut=$obj->statut; + $contactstatic->poste=$obj->poste; + $contactstatic->phone_pro=$obj->phone_pro; + $contactstatic->phone_perso=$obj->phone_perso; + $contactstatic->phone_mobile=$obj->phone_mobile; print $contactstatic->getNomUrl(1,'',20); print ''; @@ -401,7 +407,7 @@ if ($result) } // Phone - print ''.dol_print_phone($obj->phone,$obj->country_code,$obj->cidp,$obj->socid,'AC_TEL').''; + print ''.dol_print_phone($obj->phone_pro,$obj->country_code,$obj->cidp,$obj->socid,'AC_TEL').''; // Phone mobile print ''.dol_print_phone($obj->phone_mobile,$obj->country_code,$obj->cidp,$obj->socid,'AC_TEL').''; // Fax @@ -436,7 +442,7 @@ if ($result) print '
'; - if ($num > $limit) print_barre_liste('', $page, $_SERVER["PHP_SELF"], '&begin='.$begin.'&view='.$view.'&userid='.$userid, $sortfield, $sortorder, '', $num, $nbtotalofrecords, ''); + if ($num > $limit) print_barre_liste('', $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords, ''); $db->free($result); } diff --git a/htdocs/contact/perso.php b/htdocs/contact/perso.php index 6ec43320e54..19213ca049f 100644 --- a/htdocs/contact/perso.php +++ b/htdocs/contact/perso.php @@ -135,7 +135,7 @@ if ($action == 'edit') print ''.$langs->trans("Alert").': '; if (! empty($object->birthday_alert)) { - print ''; + print ''; } else { @@ -145,11 +145,11 @@ if ($action == 'edit') print "
"; - print '
'; + print '
'; print ''; - print '   '; + print '     '; print ''; - print '
'; + print ''; print ""; } diff --git a/htdocs/contrat/admin/contract_extrafields.php b/htdocs/contrat/admin/contract_extrafields.php index afb86224151..29e060551de 100644 --- a/htdocs/contrat/admin/contract_extrafields.php +++ b/htdocs/contrat/admin/contract_extrafields.php @@ -62,58 +62,19 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; * View */ +$textobject = $langs->transnoentitiesnoconv('Contracts'); llxHeader(); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); print '
'; $head=contract_admin_prepare_head(); dol_fiche_head($head, 'attributes', $langs->trans("Contracts"), 0, 'contract'); -$textobject = $langs->transnoentitiesnoconv('Contracts'); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Position").''.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_pos[$key]."".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/contrat/admin/contractdet_extrafields.php b/htdocs/contrat/admin/contractdet_extrafields.php new file mode 100644 index 00000000000..283a400bc80 --- /dev/null +++ b/htdocs/contrat/admin/contractdet_extrafields.php @@ -0,0 +1,120 @@ + + * Copyright (C) 2003 Jean-Louis Bergamo + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2012 Regis Houssin + * Copyright (C) 2014 Florian Henry + * Copyright (C) 2013 Philippe Grand + * + * 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/contrat/admin/contract_extrafields.php + * \ingroup contrat + * \brief Page to setup extra fields of contract + */ + + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/contract.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +$langs->load("companies"); +$langs->load("admin"); +$langs->load("contracts"); + +$extrafields = new ExtraFields($db); +$form = new Form($db); + +// List of supported format +$tmptype2label=ExtraFields::$type2label; +$type2label=array(''); +foreach ($tmptype2label as $key => $val) $type2label[$key]=$langs->trans($val); + +$action=GETPOST('action', 'alpha'); +$attrname=GETPOST('attrname', 'alpha'); +$elementtype='contratdet'; //Must be the $element of the class that manage extrafield + +if (!$user->admin) accessforbidden(); + + +/* + * Actions + */ + +require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; + + + +/* + * View + */ + +$textobject = $langs->transnoentitiesnoconv('Contracts'); + +llxHeader(); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("ContractsSetup"),$linkback,'title_setup'); + +print '
'; +$head=contract_admin_prepare_head(); + +dol_fiche_head($head, 'attributeslines', $langs->trans("Contracts"), 0, 'contract'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
'; + print "".$langs->trans("NewAttribute").""; + print "
"; +} + + +/* ************************************************************************** */ +/* */ +/* Creation d'un champ optionnel + /* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
"; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edition d'un champ optionnel */ +/* */ +/* ************************************************************************** */ +if ($action == 'edit' && ! empty($attrname)) +{ + print "
"; + print_titre($langs->trans("FieldEdition", $attrname)); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_edit.tpl.php'; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php index e7075b4f22c..6bf7dcaeacc 100644 --- a/htdocs/contrat/card.php +++ b/htdocs/contrat/card.php @@ -8,6 +8,7 @@ * Copyright (C) 2013-2014 Florian Henry * Copyright (C) 2014 Ferran Marcet * Copyright (C) 2014 Marcos García + * Copyright (C) 2015 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 @@ -84,6 +85,10 @@ if ($id > 0 || ! empty($ref) && $action!='add') { // fetch optionals attributes and labels $extralabels = $extrafields->fetch_name_optionals_label($object->table_element); +// fetch optionals attributes lines and labels +$extrafieldsline = new ExtraFields($db); +$extralabelslines=$extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $permissionnote=$user->rights->contrat->creer; // Used by the include of actions_setnotes.inc.php @@ -333,7 +338,9 @@ if ($action == 'add' && $user->rights->contrat->creer) 0, $lines[$i]->info_bits, $lines[$i]->fk_fournprice, - $lines[$i]->pa_ht + $lines[$i]->pa_ht, + array(), + $lines[$i]->fk_unit ); if ($result < 0) @@ -411,6 +418,18 @@ else if ($action == 'addline' && $user->rights->contrat->creer) $error++; } + // Extrafields + $extrafieldsline = new ExtraFields($db); + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($object->table_element_line); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + // Unset extrafield + if (is_array($extralabelsline)) { + // Get extra fields + foreach ($extralabelsline as $key => $value) { + unset($_POST["options_" . $key]); + } + } + if (! $error) { // Clean parameters @@ -477,6 +496,7 @@ else if ($action == 'addline' && $user->rights->contrat->creer) $desc=$prod->description; $desc=dol_concatdesc($desc,$product_desc); + $fk_unit = $prod->fk_unit; } else { @@ -485,6 +505,7 @@ else if ($action == 'addline' && $user->rights->contrat->creer) $tva_tx=GETPOST('tva_tx')?str_replace('*','',GETPOST('tva_tx')):0; // tva_tx field may be disabled, so we use vat rate 0 $tva_npr=preg_match('/\*/',GETPOST('tva_tx'))?1:0; $desc=$product_desc; + $fk_unit= GETPOST('units', 'alpha'); } $localtax1_tx=get_localtax($tva_tx,1,$object->thirdparty); @@ -523,7 +544,9 @@ else if ($action == 'addline' && $user->rights->contrat->creer) $pu_ttc, $info_bits, $fk_fournprice, - $pa_ht + $pa_ht, + $array_options, + $fk_unit ); } @@ -604,6 +627,8 @@ else if ($action == 'updateligne' && $user->rights->contrat->creer && ! GETPOST( else $pa_ht = null; + $fk_unit = GETPOST('unit', 'alpha'); + $objectline->description=GETPOST('product_desc'); $objectline->price_ht=GETPOST('elprice'); $objectline->subprice=GETPOST('elprice'); @@ -620,6 +645,18 @@ else if ($action == 'updateligne' && $user->rights->contrat->creer && ! GETPOST( $objectline->fk_fournprice=$fk_fournprice; $objectline->pa_ht=$pa_ht; + if ($fk_unit > 0) { + $objectline->fk_unit = GETPOST('unit'); + } else { + $objectline->fk_unit = null; + } + + // Extrafields + $extrafieldsline = new ExtraFields($db); + $extralabelsline = $extrafieldsline->fetch_name_optionals_label($objectline->table_element); + $array_options = $extrafieldsline->getOptionalsFromPost($extralabelsline, $predef); + $objectline->array_options=$array_options; + // TODO verifier price_min si fk_product et multiprix $result=$objectline->update($user); @@ -770,13 +807,10 @@ else if ($action == 'builddoc' && $user->rights->contrat->creer) { } $ret = $object->fetch($id); // Reload to get new records $result = $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); - - if ($result <= 0) { - dol_print_error($db, $result); - exit(); - } else { - header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc')); - exit(); + if ($result <= 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } @@ -789,10 +823,8 @@ else if ($action == 'remove_file' && $user->rights->contrat->creer) { $upload_dir = $conf->contrat->dir_output; $file = $upload_dir . '/' . GETPOST('file'); $ret = dol_delete_file($file, 0, 0, 0, $object); - if ($ret) - setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); - else - setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); + if ($ret) setEventMessage($langs->trans("FileWasRemoved", GETPOST('file'))); + else setEventMessage($langs->trans("ErrorFailToDeleteFile", GETPOST('file')), 'errors'); } } @@ -876,7 +908,7 @@ if ($result > 0) *********************************************************************/ if ($action == 'create') { - print_fiche_titre($langs->trans('AddContract')); + print_fiche_titre($langs->trans('AddContract'),'','title_commercial.png'); $soc = new Societe($db); if ($socid>0) $soc->fetch($socid); @@ -935,6 +967,8 @@ if ($action == 'create') print ''."\n"; print ''; + dol_fiche_head(); + print ''; // Ref @@ -982,12 +1016,12 @@ if ($action == 'create') } // Commercial suivi - print ''; // Commercial signature - print ''; @@ -1030,7 +1064,9 @@ if ($action == 'create') print "
'.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").''; + print '
'.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").''; print $form->select_dolusers(GETPOST("commercial_suivi_id")?GETPOST("commercial_suivi_id"):$user->id,'commercial_suivi_id',1,''); print '
'.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").''; + print '
'.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").''; print $form->select_dolusers(GETPOST("commercial_signature_id")?GETPOST("commercial_signature_id"):$user->id,'commercial_signature_id',1,''); print '
\n"; - print '
'; + dol_fiche_end(); + + print '
'; if (is_object($objectsrc)) { @@ -1044,8 +1080,6 @@ if ($action == 'create') } print "\n"; - - dol_fiche_end(); } else /* *************************************************************************** */ @@ -1195,11 +1229,11 @@ else print ''; if ($action == "classify") { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,"projectid"); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,"projectid", 0, 0, 1); } else { - $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,"none"); + $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id,$object->socid,$object->fk_project,"none", 0, 0); } print ""; } @@ -1245,7 +1279,9 @@ else $usemargins=0; if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1; - // Title line for service + $var=false; + + // Title line for service $cursorline=1; while ($cursorline <= $nbofservices) { @@ -1264,6 +1300,7 @@ else $sql.= " cd.date_ouverture_prevue as date_debut, cd.date_ouverture as date_debut_reelle,"; $sql.= " cd.date_fin_validite as date_fin, cd.date_cloture as date_fin_reelle,"; $sql.= " cd.commentaire as comment, cd.fk_product_fournisseur_price as fk_fournprice, cd.buy_price_ht as pa_ht,"; + $sql.= " cd.fk_unit,"; $sql.= " p.rowid as pid, p.ref as pref, p.label as label, p.fk_product_type as ptype"; $sql.= " FROM ".MAIN_DB_PREFIX."contratdet as cd"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON cd.fk_product = p.rowid"; @@ -1279,13 +1316,12 @@ else print ''.$langs->trans("VAT").''; print ''.$langs->trans("PriceUHT").''; print ''.$langs->trans("Qty").''; + if ($conf->global->PRODUCT_USE_UNITS) print ''.$langs->trans("Unit").''; print ''.$langs->trans("ReductionShort").''; if (! empty($conf->margin->enabled) && ! empty($conf->global->MARGIN_SHOW_ON_CONTRACT)) print ''.$langs->trans("BuyingPrice").''; print ' '; print "\n"; - $var=true; - $objp = $db->fetch_object($result); $var=!$var; @@ -1322,18 +1358,20 @@ else } else { - print "".dol_htmlentitiesbr($objp->description)."\n"; + print ''.dol_htmlentitiesbr($objp->description)."\n"; } // TVA print ''.vatrate($objp->tva_tx,'%',$objp->info_bits).''; // Prix - print ''.price($objp->subprice)."\n"; + print ''.($objp->subprice != '' ? price($objp->subprice) : '')."\n"; // Quantite print ''.$objp->qty.''; + // Unit + if($conf->global->PRODUCT_USE_UNITS) print ''.$langs->trans($object->lines[$cursorline-1]->getLabelOfUnit()).''; // Remise if ($objp->remise_percent > 0) { - print ''.$objp->remise_percent."%\n"; + print ''.$objp->remise_percent."%\n"; } else { @@ -1377,8 +1415,16 @@ else // Dates de en service prevues et effectives if ($objp->subprice >= 0) { + $colspan = 6; + + if ($conf->margin->enabled && $conf->global->PRODUCT_USE_UNITS) { + $colspan = 8; + } elseif ($conf->margin->enabled || $conf->global->PRODUCT_USE_UNITS) { + $colspan = 7; + } + print ''; - print ''; + print ''; // Date planned print $langs->trans("DateStartPlanned").': '; @@ -1401,6 +1447,16 @@ else print ''; print ''; } + + + //Display lines extrafields + if (is_array($extralabelslines) && count($extralabelslines)>0) { + print ''; + $line = new ContratLigne($db); + $line->fetch_optionals($objp->rowid,$extralabelslines); + print $line->showOptionals($extrafieldsline, 'view', array('style'=>$bc[$var], 'colspan'=>$colspan)); + print ''; + } } // Ligne en mode update else @@ -1436,6 +1492,12 @@ else print ''; print ''; print ''; + if ($conf->global->PRODUCT_USE_UNITS) + { + print ''; + print $form->selectUnits($objp->fk_unit, "unit"); + print ''; + } print '%'; if (! empty($usemargins)) { @@ -1449,15 +1511,25 @@ else $colspan=5; if (! empty($conf->margin->enabled) && ! empty($conf->global->MARGIN_SHOW_ON_CONTRACT)) $colspan++; + if($conf->global->PRODUCT_USE_UNITS) $colspan++; // Ligne dates prevues print ""; print ''; print $langs->trans("DateStartPlanned").' '; $form->select_date($db->jdate($objp->date_debut),"date_start_update",$usehm,$usehm,($db->jdate($objp->date_debut)>0?0:1),"update"); - print '
'.$langs->trans("DateEndPlanned").' '; + print '   '.$langs->trans("DateEndPlanned").' '; $form->select_date($db->jdate($objp->date_fin),"date_end_update",$usehm,$usehm,($db->jdate($objp->date_fin)>0?0:1),"update"); print ''; + + if (is_array($extralabelslines) && count($extralabelslines)>0) { + print ''; + $line = new ContratLigne($db); + $line->fetch_optionals($objp->rowid,$extralabelslines); + print $line->showOptionals($extrafieldsline, 'edit', array('style'=>$bc[$var], 'colspan'=>$colspan)); + print ''; + } + print ''; } @@ -1470,7 +1542,7 @@ else if ($object->statut > 0) { - print ''; + print ''; print '
'; print "\n"; } @@ -1486,7 +1558,7 @@ else if ($action == 'deleteline' && ! $_REQUEST["cancel"] && $user->rights->contrat->creer && $object->lines[$cursorline-1]->id == GETPOST('rowid')) { print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id."&lineid=".GETPOST('rowid'),$langs->trans("DeleteContractLine"),$langs->trans("ConfirmDeleteContractLine"),"confirm_deleteline",'',0,1); - if ($ret == 'html') print '
'; + if ($ret == 'html') print '
'; } /* @@ -1506,7 +1578,7 @@ else array('type' => 'select', 'name' => 'newcid', 'values' => $arraycontractid)); $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&lineid=".GETPOST('rowid'),$langs->trans("MoveToAnotherContract"),$langs->trans("ConfirmMoveToAnotherContract"),"confirm_move",$formquestion); - print '
'; + print '
'; } /* @@ -1518,7 +1590,7 @@ else $dateactend = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); $comment = GETPOST('comment'); $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment),$langs->trans("ActivateService"),$langs->trans("ConfirmActivateService",dol_print_date($dateactstart,"%A %d %B %Y")),"confirm_active", '', 0, 1); - print '
'; + print '
'; } /* @@ -1530,7 +1602,7 @@ else $dateactend = dol_mktime(12, 0, 0, GETPOST('endmonth'), GETPOST('endday'), GETPOST('endyear')); $comment = GETPOST('comment'); $form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id."&ligne=".GETPOST('ligne')."&date=".$dateactstart."&dateend=".$dateactend."&comment=".urlencode($comment), $langs->trans("CloseService"), $langs->trans("ConfirmCloseService",dol_print_date($dateactend,"%A %d %B %Y")), "confirm_closeline", '', 0, 1); - print '
'; + print '
'; } @@ -1539,7 +1611,7 @@ else { print ''; - print ''; + print ''; print ''; print ''; print "\n"; - print ''; + print ''; print '
'.$langs->trans("ServiceStatus").': '.$object->lines[$cursorline-1]->getLibStatut(4).''; if ($user->societe_id == 0) @@ -1556,7 +1628,7 @@ else print '
'; // Si pas encore active @@ -1595,7 +1667,7 @@ else print '
'; print ''; - print ''; + print '
'; // Definie date debut et fin par defaut $dateactstart = $objp->date_debut; @@ -1645,7 +1717,7 @@ else print ''; - print '
'; + print '
'; // Definie date debut et fin par defaut $dateactstart = $objp->date_debut_reelle; @@ -1741,6 +1813,9 @@ else { print '
'; + $parameters=array(); + $reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + if ($object->statut == 0 && $nbofservices) { if ($user->rights->contrat->creer) print ''; @@ -1796,10 +1871,13 @@ else $somethingshown = $formfile->show_documents('contract', $filename, $filedir, $urlsource, $genallowed, $delallowed, $object->modelpdf, 1, 0, 0, 28, 0, '', 0, '', $soc->default_lang); - /* - * Linked object block - */ - $somethingshown=$object->showLinkedObjectBlock(); + // Linked object block + $somethingshown = $form->showLinkedObjectBlock($object); + + // Show links to link elements + $linktoelem = $form->showLinkToObjectBlock($object); + if ($linktoelem) print '
'.$linktoelem; + print '
'; diff --git a/htdocs/contrat/class/contrat.class.php b/htdocs/contrat/class/contrat.class.php index 76a01b9f0c8..fb0038b509f 100644 --- a/htdocs/contrat/class/contrat.class.php +++ b/htdocs/contrat/class/contrat.class.php @@ -7,7 +7,7 @@ * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 Christophe Battarel * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -30,6 +30,7 @@ */ require_once DOL_DOCUMENT_ROOT . '/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT."/core/class/commonobjectline.class.php"; require_once DOL_DOCUMENT_ROOT . '/core/lib/price.lib.php'; require_once DOL_DOCUMENT_ROOT . '/margin/lib/margins.lib.php'; @@ -89,23 +90,7 @@ class Contrat extends CommonObject var $product; /** - * TODO: Which is the correct one? - * Author of the contract - * @var - */ - var $user_author; - - /** - * TODO: Which is the correct one? - * Author of the contract - * @var User - */ - public $user_creation; - - /** - * TODO: Which is the correct one? - * Author of the contract - * @var int + * @var int Id of user author of the contract */ public $fk_user_author; @@ -117,38 +102,37 @@ class Contrat extends CommonObject public $user_author_id; /** - * @var User + * @var User Object user that create the contract. Set by the info method. + */ + public $user_creation; + + /** + * @var User Object user that close the contract. Set by the info method. */ public $user_cloture; /** - * Date of creation - * @var int + * @var int Date of creation */ var $date_creation; /** - * Date of last modification - * Not filled until you call ->info() - * @var int + * @var int Date of last modification. Not filled until you call ->info() */ public $date_modification; /** - * Date of validation - * @var int + * @var int Date of validation */ var $date_validation; /** - * Date when contract was signed - * @var int + * @var int Date when contract was signed */ var $date_contrat; /** - * Date of contract closure - * @var int + * @var int Date of contract closure * @deprecated we close contract lines, not a contract */ var $date_cloture; @@ -157,25 +141,20 @@ class Contrat extends CommonObject var $commercial_suivi_id; /** - * @deprecated Use note_private or note_public instead - */ - var $note; - - /** - * Private note - * @var string + * @var string Private note */ var $note_private; /** - * Public note - * @var string + * @var string Public note */ var $note_public; + var $modelpdf; /** * @deprecated Use fk_project instead + * @see fk_project */ var $fk_projet; @@ -184,8 +163,7 @@ class Contrat extends CommonObject var $extraparams=array(); /** - * Contract lines - * @var ContratLigne[] + * @var ContratLigne[] Contract lines */ var $lines=array(); @@ -569,7 +547,6 @@ class Contrat extends CommonObject $this->commercial_signature_id = $result["fk_commercial_signature"]; $this->commercial_suivi_id = $result["fk_commercial_suivi"]; - $this->note = $result["note_private"]; // deprecated $this->note_private = $result["note_private"]; $this->note_public = $result["note_public"]; $this->modelpdf = $result["model_pdf"]; @@ -640,6 +617,11 @@ class Contrat extends CommonObject $now=dol_now(); + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafieldsline=new ExtraFields($this->db); + $line = new ContratLigne($this->db); + $extralabelsline=$extrafieldsline->fetch_name_optionals_label($line->table_element,true); + $this->lines=array(); // Selectionne les lignes contrats liees a un produit @@ -655,7 +637,8 @@ class Contrat extends CommonObject $sql.= " d.date_fin_validite, d.date_cloture,"; $sql.= " d.fk_user_author,"; $sql.= " d.fk_user_ouverture,"; - $sql.= " d.fk_user_cloture"; + $sql.= " d.fk_user_cloture,"; + $sql.= " d.fk_unit"; $sql.= " FROM ".MAIN_DB_PREFIX."contratdet as d, ".MAIN_DB_PREFIX."product as p"; $sql.= " WHERE d.fk_contrat = ".$this->id ." AND d.fk_product = p.rowid"; $sql.= " ORDER by d.rowid ASC"; @@ -700,6 +683,7 @@ class Contrat extends CommonObject $line->fk_user_author = $objp->fk_user_author; $line->fk_user_ouverture= $objp->fk_user_ouverture; $line->fk_user_cloture = $objp->fk_user_cloture; + $line->fk_unit = $objp->fk_unit; $line->ref = $objp->product_ref; // deprecated $line->label = $objp->product_label; // deprecated @@ -720,6 +704,10 @@ class Contrat extends CommonObject $line->date_fin_prevue = $this->db->jdate($objp->date_fin_validite); $line->date_fin_reel = $this->db->jdate($objp->date_cloture); + // Retreive all extrafield for propal + // fetch optionals attributes and labels + $line->fetch_optionals($line->id,$extralabelsline); + $this->lines[] = $line; //dol_syslog("1 ".$line->desc); @@ -756,7 +744,8 @@ class Contrat extends CommonObject $sql.= " d.date_fin_validite, d.date_cloture,"; $sql.= " d.fk_user_author,"; $sql.= " d.fk_user_ouverture,"; - $sql.= " d.fk_user_cloture"; + $sql.= " d.fk_user_cloture,"; + $sql.= " d.fk_unit"; $sql.= " FROM ".MAIN_DB_PREFIX."contratdet as d"; $sql.= " WHERE d.fk_contrat = ".$this->id; $sql.= " AND (d.fk_product IS NULL OR d.fk_product = 0)"; // fk_product = 0 gardee pour compatibilitee @@ -809,12 +798,20 @@ class Contrat extends CommonObject $line->date_debut_reel = $this->db->jdate($objp->date_ouverture); $line->date_fin_prevue = $this->db->jdate($objp->date_fin_validite); $line->date_fin_reel = $this->db->jdate($objp->date_cloture); + $line->fk_unit = $objp->fk_unit; if ($line->statut == 0) $this->nbofserviceswait++; if ($line->statut == 4 && (empty($line->date_fin_prevue) || $line->date_fin_prevue >= $now)) $this->nbofservicesopened++; if ($line->statut == 4 && (! empty($line->date_fin_prevue) && $line->date_fin_prevue < $now)) $this->nbofservicesexpired++; if ($line->statut == 5) $this->nbofservicesclosed++; + + // Retreive all extrafield for propal + // fetch optionals attributes and labels + + $line->fetch_optionals($line->id,$extralabelsline); + + $this->lines[] = $line; $total_ttc+=$objp->total_ttc; @@ -908,7 +905,8 @@ class Contrat extends CommonObject $modCodeContract = new $module(); } - if (!empty($modCodeContract->code_auto)) { + //Commerce Efficace - Debut : Modification r�f�rence Contrat + /*if (!empty($modCodeContract->code_auto)) { // Mise a jour ref $sql = 'UPDATE '.MAIN_DB_PREFIX."contrat SET ref='(PROV".$this->id.")' WHERE rowid=".$this->id; if ($this->db->query($sql)) @@ -918,7 +916,8 @@ class Contrat extends CommonObject $this->ref="(PROV".$this->id.")"; } } - } + }*/ + //Commerce Efficace - Fin : Modification r�f�rence Contrat // Insert contacts commerciaux ('SALESREPSIGN','contrat') $result=$this->add_contact($this->commercial_signature_id,'SALESREPSIGN','internal'); @@ -1140,7 +1139,7 @@ class Contrat extends CommonObject if (isset($this->ref_supplier)) $this->ref_supplier=trim($this->ref_supplier); if (isset($this->ref_ext)) $this->ref_ext=trim($this->ref_ext); if (isset($this->entity)) $this->entity=trim($this->entity); - if (isset($this->statut)) $this->statut=trim($this->statut); + if (isset($this->statut)) $this->statut=(int) $this->statut; if (isset($this->fk_soc)) $this->fk_soc=trim($this->fk_soc); if (isset($this->fk_projet)) $this->fk_projet=trim($this->fk_projet); if (isset($this->fk_commercial_signature)) $this->fk_commercial_signature=trim($this->fk_commercial_signature); @@ -1239,9 +1238,11 @@ class Contrat extends CommonObject * @param int $info_bits Bits de type de lignes * @param int $fk_fournprice Fourn price id * @param int $pa_ht Buying price HT + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int <0 si erreur, >0 si ok */ - function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2, $fk_product, $remise_percent, $date_start, $date_end, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $fk_fournprice=null, $pa_ht = 0) + function addline($desc, $pu_ht, $qty, $txtva, $txlocaltax1, $txlocaltax2, $fk_product, $remise_percent, $date_start, $date_end, $price_base_type='HT', $pu_ttc=0.0, $info_bits=0, $fk_fournprice=null, $pa_ht = 0,$array_options=0, $fk_unit = null) { global $user, $langs, $conf, $mysoc; @@ -1258,6 +1259,7 @@ class Contrat extends CommonObject if (! $info_bits) $info_bits=0; if (! $pu_ht) $pu_ht=0; if (! $pu_ttc) $pu_ttc=0; + $pu_ht=price2num($pu_ht); $pu_ttc=price2num($pu_ttc); $pa_ht=price2num($pa_ht); @@ -1321,6 +1323,7 @@ class Contrat extends CommonObject $sql.= " price_ht, remise, fk_product_fournisseur_price, buy_price_ht"; if ($date_start > 0) { $sql.= ",date_ouverture_prevue"; } if ($date_end > 0) { $sql.= ",date_fin_validite"; } + $sql.= ", fk_unit"; $sql.= ") VALUES ($this->id, '', '" . $this->db->escape($desc) . "',"; $sql.= ($fk_product>0 ? $fk_product : "null").","; $sql.= " '".$qty."',"; @@ -1339,6 +1342,7 @@ class Contrat extends CommonObject else $sql.= ' null'; if ($date_start > 0) { $sql.= ",'".$this->db->idate($date_start)."'"; } if ($date_end > 0) { $sql.= ",'".$this->db->idate($date_end)."'"; } + $sql.= ", ".($fk_unit?"'".$this->db->escape($fk_unit)."'":"null"); $sql.= ")"; dol_syslog(get_class($this)."::addline", LOG_DEBUG); @@ -1349,17 +1353,33 @@ class Contrat extends CommonObject $result=$this->update_statut($user); if ($result > 0) { - // Call trigger - $result=$this->call_trigger('LINECONTRACT_CREATE',$user); - if ($result < 0) - { - $this->db->rollback(); - return -1; - } - // End call triggers - $this->db->commit(); - return 1; + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options)>0) // For avoid conflicts if trigger used + { + $contractline = new ContratLigne($this->db); + $contractline->array_options=$array_options; + $contractline->id= $this->db->last_insert_id(MAIN_DB_PREFIX.$contractline->table_element); + $result=$contractline->insertExtraFields(); + if ($result < 0) + { + $this->error[]=$contractline->error; + $error++; + } + } + + if (empty($error)) { + // Call trigger + $result=$this->call_trigger('LINECONTRACT_CREATE',$user); + if ($result < 0) + { + $this->db->rollback(); + return -1; + } + // End call triggers + + $this->db->commit(); + return 1; + } } else { @@ -1400,9 +1420,11 @@ class Contrat extends CommonObject * @param int $info_bits Bits de type de lignes * @param int $fk_fournprice Fourn price id * @param int $pa_ht Buying price HT + * @param array $array_options extrafields array + * @param string $fk_unit Code of the unit to use. Null to use the default one * @return int < 0 si erreur, > 0 si ok */ - function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $tvatx, $localtax1tx=0.0, $localtax2tx=0.0, $date_debut_reel='', $date_fin_reel='', $price_base_type='HT', $info_bits=0, $fk_fournprice=null, $pa_ht = 0) + function updateline($rowid, $desc, $pu, $qty, $remise_percent, $date_start, $date_end, $tvatx, $localtax1tx=0.0, $localtax2tx=0.0, $date_debut_reel='', $date_fin_reel='', $price_base_type='HT', $info_bits=0, $fk_fournprice=null, $pa_ht = 0,$array_options=0, $fk_unit = null) { global $user, $conf, $langs, $mysoc; @@ -1493,6 +1515,7 @@ class Contrat extends CommonObject else { $sql.=",date_ouverture=null"; } if ($date_fin_reel > 0) { $sql.= ",date_cloture='".$this->db->idate($date_fin_reel)."'"; } else { $sql.=",date_cloture=null"; } + $sql .= ", fk_unit=".($fk_unit?"'".$this->db->escape($fk_unit)."'":"null"); $sql .= " WHERE rowid = ".$rowid; dol_syslog(get_class($this)."::updateline", LOG_DEBUG); @@ -1502,17 +1525,33 @@ class Contrat extends CommonObject $result=$this->update_statut($user); if ($result >= 0) { - // Call trigger - $result=$this->call_trigger('LINECONTRACT_UPDATE',$user); - if ($result < 0) - { - $this->db->rollback(); - return -3; - } - // End call triggers - $this->db->commit(); - return 1; + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($array_options) && count($array_options)>0) // For avoid conflicts if trigger used + { + $contractline = new ContratLigne($this->db); + $contractline->array_options=$array_option; + $contractline->id= $this->db->last_insert_id(MAIN_DB_PREFIX.$contractline->table_element); + $result=$contractline->insertExtraFields(); + if ($result < 0) + { + $this->error[]=$contractline->error; + $error++; + } + } + + if (empty($error)) { + // Call trigger + $result=$this->call_trigger('LINECONTRACT_UPDATE',$user); + if ($result < 0) + { + $this->db->rollback(); + return -3; + } + // End call triggers + + $this->db->commit(); + return 1; + } } else { @@ -1561,12 +1600,32 @@ class Contrat extends CommonObject if (! $resql) { $this->error="Error ".$this->db->lasterror(); + $error++; + } + + if (empty($error)) { + // Remove extrafields + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $contractline = new ContratLigne($this->db); + $contractline->id= $idline; + $result=$contractline->deleteExtraFields(); + if ($result < 0) + { + $error++; + $this->error="Error ".get_class($this)."::delete deleteExtraFields error -4 ".$contractline->error; + } + } + } + + if (empty($error)) { + $this->db->commit(); + return 1; + } else { + dol_syslog(get_class($this)."::delete ERROR:".$this->error, LOG_ERR); $this->db->rollback(); return -1; } - - $this->db->commit(); - return 1; } else { @@ -1584,6 +1643,8 @@ class Contrat extends CommonObject */ function update_statut($user) { + dol_syslog(__METHOD__ . " is deprecated", LOG_WARNING); + // If draft, we keep it (should not happen) if ($this->statut == 0) return 1; @@ -1672,9 +1733,9 @@ class Contrat extends CommonObject /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $maxlength Max length of ref * @return string Chaine avec URL */ @@ -1683,17 +1744,17 @@ class Contrat extends CommonObject global $langs; $result=''; + $label=$langs->trans("ShowContract").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='contract'; - $label=$langs->trans("ShowContract").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.($maxlength?dol_trunc($this->ref,$maxlength):$this->ref).$lienfin; + if ($withpicto != 2) $result.=$link.($maxlength?dol_trunc($this->ref,$maxlength):$this->ref).$linkend; return $result; } @@ -1826,15 +1887,11 @@ class Contrat extends CommonObject * * @param User $user Objet user * @param string $mode "inactive" pour services a activer, "expired" pour services expires - * @return int <0 if KO, >0 if OK + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user,$mode) { - global $conf, $user; - - $now=dol_now(); - - $this->nbtodo=$this->nbtodolate=0; + global $conf, $user, $langs; $this->from = " FROM ".MAIN_DB_PREFIX."contrat as c"; $this->from.= ", ".MAIN_DB_PREFIX."contratdet as cd"; @@ -1865,15 +1922,35 @@ class Contrat extends CommonObject $resql=$this->db->query($sql); if ($resql) { + $langs->load("contracts"); + $now=dol_now(); + + if ($mode == 'inactives') { + $warning_delay = $conf->contrat->services->inactifs->warning_delay; + $label = $langs->trans("BoardNotActivatedServices"); + $url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=0'; + } else { + $warning_delay = $conf->contrat->services->expires->warning_delay; + $url = DOL_URL_ROOT.'/contrat/services.php?mainmenu=commercial&leftmenu=contracts&mode=4&filter=expired'; + $label = $langs->trans("BoardRunningServices"); + } + + $response = new WorkboardResponse(); + $response->warning_delay = $warning_delay/60/60/24; + $response->label = $label; + $response->url = $url; + $response->img = img_object($langs->trans("Contract"),"contract"); + while ($obj=$this->db->fetch_object($resql)) { - $this->nbtodo++; - if ($mode == 'inactives') - if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->inactifs->warning_delay)) $this->nbtodolate++; - if ($mode == 'expired') - if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $conf->contrat->services->expires->warning_delay)) $this->nbtodolate++; + $response->nbtodo++; + + if ($obj->datefin && $this->db->jdate($obj->datefin) < ($now - $warning_delay)) { + $response->nbtodolate++; + } } - return 1; + + return $response; } else { @@ -2051,13 +2128,30 @@ class Contrat extends CommonObject return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'contrat' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } /** * Classe permettant la gestion des lignes de contrats */ -class ContratLigne extends CommonObject +class ContratLigne extends CommonObjectLine { var $id; @@ -2068,9 +2162,13 @@ class ContratLigne extends CommonObject var $statut; // 0 inactive, 4 active, 5 closed var $label; + public $element='contratdet'; + public $table_element='contratdet'; + /** * @var string * @deprecated Use $label instead + * @see label */ public $libelle; @@ -2095,6 +2193,7 @@ class ContratLigne extends CommonObject /** * @var float * @deprecated Use $price_ht instead + * @see price_ht */ public $price; @@ -2201,9 +2300,9 @@ class ContratLigne extends CommonObject } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $maxlength Max length * @return string Chaine avec URL */ @@ -2212,17 +2311,17 @@ class ContratLigne extends CommonObject global $langs; $result=''; + $label=$langs->trans("ShowContractOfService").': '.$this->label; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='contract'; - $label=$langs->trans("ShowContractOfService").': '.$this->label; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->label.$lienfin; + if ($withpicto != 2) $result.=$link.$this->label.$linkend; return $result; } @@ -2277,7 +2376,8 @@ class ContratLigne extends CommonObject $sql.= " t.fk_user_author,"; $sql.= " t.fk_user_ouverture,"; $sql.= " t.fk_user_cloture,"; - $sql.= " t.commentaire"; + $sql.= " t.commentaire,"; + $sql.= " t.fk_unit"; $sql.= " FROM ".MAIN_DB_PREFIX."contratdet as t LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = t.fk_product"; if ($id) $sql.= " WHERE t.rowid = ".$id; if ($ref) $sql.= " WHERE t.rowid = '".$this->db->escape($ref)."'"; @@ -2329,6 +2429,7 @@ class ContratLigne extends CommonObject $this->fk_fournprice = $obj->fk_fournprice; $marginInfos = getMarginInfos($obj->subprice, $obj->remise_percent, $obj->tva_tx, $obj->localtax1_tx, $obj->localtax2_tx, $this->fk_fournprice, $obj->pa_ht); $this->pa_ht = $marginInfos[0]; + $this->fk_unit = $obj->fk_unit; } $this->db->free($resql); @@ -2359,7 +2460,7 @@ class ContratLigne extends CommonObject // Clean parameters $this->fk_contrat=trim($this->fk_contrat); $this->fk_product=trim($this->fk_product); - $this->statut=trim($this->statut); + $this->statut=(int) $this->statut; $this->label=trim($this->label); $this->description=trim($this->description); $this->tva_tx=trim($this->tva_tx); @@ -2381,6 +2482,11 @@ class ContratLigne extends CommonObject $this->fk_user_ouverture=trim($this->fk_user_ouverture); $this->fk_user_cloture=trim($this->fk_user_cloture); $this->commentaire=trim($this->commentaire); + //if (empty($this->subprice)) $this->subprice = 0; + if (empty($this->price_ht)) $this->price_ht = 0; + if (empty($this->total_ht)) $this->total_ht = 0; + if (empty($this->total_tva)) $this->total_tva = 0; + if (empty($this->total_ttc)) $this->total_ttc = 0; // Check parameters // Put here code to add control on parameters values @@ -2425,8 +2531,8 @@ class ContratLigne extends CommonObject $sql.= " remise_percent='".$this->remise_percent."',"; $sql.= " remise=".($this->remise?"'".$this->remise."'":"null").","; $sql.= " fk_remise_except=".($this->fk_remise_except?"'".$this->fk_remise_except."'":"null").","; - $sql.= " subprice='".$this->subprice."',"; - $sql.= " price_ht='".$this->price_ht."',"; + $sql.= " subprice=".($this->subprice != '' ? $this->subprice : "null").","; + $sql.= " price_ht=".($this->price_ht != '' ? $this->price_ht : "null").","; $sql.= " total_ht='".$this->total_ht."',"; $sql.= " total_tva='".$this->total_tva."',"; $sql.= " total_localtax1='".$this->total_localtax1."',"; @@ -2439,6 +2545,7 @@ class ContratLigne extends CommonObject $sql.= " fk_user_ouverture=".($this->fk_user_ouverture > 0?$this->fk_user_ouverture:"NULL").","; $sql.= " fk_user_cloture=".($this->fk_user_cloture > 0?$this->fk_user_cloture:"NULL").","; $sql.= " commentaire='".$this->db->escape($this->commentaire)."'"; + $sql.= ", fk_unit=".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid=".$this->id; dol_syslog(get_class($this)."::update", LOG_DEBUG); @@ -2452,10 +2559,21 @@ class ContratLigne extends CommonObject else { $this->error="Error ".$this->db->lasterror(); - $this->db->rollback(); - return -1; + $error++; + //return -1; } + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED) && is_array($this->array_options) && count($this->array_options)>0) // For avoid conflicts if trigger used + { + + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + + if (empty($error)) { if (! $notrigger) { // Call trigger @@ -2463,9 +2581,16 @@ class ContratLigne extends CommonObject if ($result < 0) { $error++; $this->db->rollback(); return -1; } // End call triggers } + } + if (empty($error)) { $this->db->commit(); return 1; + } else { + $this->db->rollback(); + $this->errors[]=$this->error; + return -1; + } } @@ -2504,45 +2629,4 @@ class ContratLigne extends CommonObject } } - /** - * Load elements linked to contract (only intervention for the moment) - * - * @param string $type Object type - * @return array $elements array of linked elements - */ - function get_element_list($type) - { - $elements = array(); - - $sql = ''; - if ($type == 'intervention') - $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . "fichinter WHERE fk_contrat=" . $this->id; - if (! $sql) return -1; - - //print $sql; - dol_syslog(get_class($this)."::get_element_list", LOG_DEBUG); - $result = $this->db->query($sql); - if ($result) - { - $nump = $this->db->num_rows($result); - if ($nump) - { - $i = 0; - while ($i < $nump) - { - $obj = $this->db->fetch_object($result); - $elements[$i] = $obj->rowid; - $i++; - } - $this->db->free($result); - /* Return array */ - return $elements; - } - } - else - { - dol_print_error($this->db); - } - } - } diff --git a/htdocs/contrat/document.php b/htdocs/contrat/document.php index 6c520105c36..49466c7fcb0 100644 --- a/htdocs/contrat/document.php +++ b/htdocs/contrat/document.php @@ -91,7 +91,7 @@ llxHeader(); if ($object->id) { - $head=contract_prepare_head($object, $user); + $head=contract_prepare_head($object); dol_fiche_head($head, 'documents', $langs->trans("Contract"), 0, 'contract'); diff --git a/htdocs/contrat/index.php b/htdocs/contrat/index.php index d76bc42a05e..56cdbe90ca3 100644 --- a/htdocs/contrat/index.php +++ b/htdocs/contrat/index.php @@ -2,6 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 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 @@ -63,7 +64,7 @@ $now = dol_now(); llxHeader(); -print_fiche_titre($langs->trans("ContractsArea")); +print_fiche_titre($langs->trans("ContractsArea"),'','title_commercial.png'); //print '
'; @@ -176,7 +177,7 @@ else } -print '
'; +print '
'; print ''."\n"; $var=true; $listofstatus=array(0,4,4,5); $bool=false; @@ -245,7 +246,7 @@ if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) print '
'.$langs->trans("Statistics").' - '.$langs->trans("Services").'
'; print ''; - print ''; + print ''; if ($num) { $companystatic=new Societe($db); @@ -471,7 +472,7 @@ if ($resql) print '
'.$langs->trans("DraftContracts").($num?' ('.$num.')':'').'
'.$langs->trans("DraftContracts").($num?' '.$num.'':'').'
'; - print ''; + print ''; print "\n"; $var=True; @@ -551,7 +552,7 @@ if ($resql) print '
'.$langs->trans("NotActivatedServices").' ('.$num.')
'.$langs->trans("NotActivatedServices").' '.$num.'
'; - print ''; + print ''; print "\n"; $var=True; diff --git a/htdocs/contrat/list.php b/htdocs/contrat/list.php index 360c6ca9e24..669f2b09775 100644 --- a/htdocs/contrat/list.php +++ b/htdocs/contrat/list.php @@ -4,6 +4,8 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2015 Claudio Aschieri + * Copyright (C) 2015 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 @@ -27,6 +29,7 @@ require ("../main.inc.php"); require_once (DOL_DOCUMENT_ROOT."/contrat/class/contrat.class.php"); +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("contracts"); $langs->load("products"); @@ -47,6 +50,8 @@ $sall=GETPOST('sall'); $search_status=GETPOST('search_status'); $socid=GETPOST('socid'); +$search_sale = GETPOST('search_sale','int'); + if (! $sortfield) $sortfield="c.rowid"; if (! $sortorder) $sortorder="DESC"; @@ -63,6 +68,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_name=""; $search_contract=""; $search_ref_supplier=""; + $search_sale=""; $sall=""; $search_status=""; } @@ -75,6 +81,8 @@ if ($search_status == '') $search_status=1; */ $now=dol_now(); +$formother = new FormOther($db); +$socstatic = new Societe($db); llxHeader(); @@ -87,13 +95,14 @@ $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND $sql.= ' SUM('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NOT NULL AND cd.date_fin_validite < '".$db->idate($now - $conf->contrat->services->expires->warning_delay)."')",1,0).') as nb_late,'; $sql.= ' SUM('.$db->ifsql("cd.statut=5",1,0).') as nb_closed'; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; -if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +if ($search_sale > 0 || (! $user->rights->societe->client->voir && ! $socid)) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= ", ".MAIN_DB_PREFIX."contrat as c"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat"; $sql.= " WHERE c.fk_soc = s.rowid "; $sql.= " AND c.entity = ".$conf->entity; if ($socid) $sql.= " AND s.rowid = ".$db->escape($socid); if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($search_name) { $sql .= natural_search('s.nom', $search_name); } @@ -103,6 +112,12 @@ if ($search_contract) { if (!empty($search_ref_supplier)) { $sql .= natural_search(array('c.ref_supplier'), $search_ref_supplier); } + +if ($search_sale > 0) +{ + $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$search_sale; +} + if ($sall) { $sql .= natural_search(array('s.nom', 'cd.label', 'cd.description'), $sall); } @@ -116,17 +131,40 @@ if ($resql) $num = $db->num_rows($resql); $i = 0; - print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], '&search_contract='.$search_contract.'&search_name='.$search_name, $sortfield, $sortorder,'',$num); + print_barre_liste($langs->trans("ListOfContracts"), $page, $_SERVER["PHP_SELF"], '&search_contract='.$search_contract.'&search_name='.$search_name, $sortfield, $sortorder,'',$num,$totalnboflines,'title_commercial.png'); + print ''; print '
'.$langs->trans("ListOfExpiredServices").' ('.$num.')
'.$langs->trans("ListOfExpiredServices").' '.$num.'
'; + // If the user can view prospects other than his' + $moreforfilter=''; + if ($user->rights->societe->client->voir || $socid) + { + $langs->load("commercial"); + $moreforfilter.=$langs->trans('ThirdPartiesOfSaleRepresentative'). ': '; + $moreforfilter.=$formother->select_salesrepresentatives($search_sale,'search_sale',$user); + $moreforfilter.='       '; + } + + if ($moreforfilter) + { + print ''; + print ''; + } + print ''; + $param='&search_contract='.$search_contract; $param.='&search_name='.$search_name; $param.='&search_ref_supplier='.$search_ref_supplier; + $param.='&search_sale=' .$search_sale; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "c.rowid","","$param",'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("RefCustomer"), $_SERVER["PHP_SELF"], "c.ref_supplier","","$param",'',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom","","$param",'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("SalesRepresentative"), $_SERVER["PHP_SELF"], "","","$param",'',$sortfield,$sortorder); //print_liste_field_titre($langs->trans("DateCreation"), $_SERVER["PHP_SELF"], "c.datec","","$param",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateContract"), $_SERVER["PHP_SELF"], "c.date_contrat","","$param",'align="center"',$sortfield,$sortorder); //print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "c.statut","","$param",'align="center"',$sortfield,$sortorder); @@ -136,7 +174,6 @@ if ($resql) print ''; print "\n"; - print ''; print ''; print ''; print ''; print ''; //print ''; - print '\n"; - print ''; $var=true; while ($i < min($num,$limit)) @@ -168,6 +204,43 @@ if ($resql) print ''; print ''; //print ''; + + // Sales Rapresentatives + print ''; + + print ''; //print ''; print ''; @@ -179,7 +252,8 @@ if ($resql) } $db->free($resql); - print "
'; + print $moreforfilter; + print '
'.$staticcontratligne->LibStatut(5,3).'
'; @@ -150,10 +187,9 @@ if ($resql) print '  '; + print ''; print ''; print "
'.$obj->ref_supplier.''.img_object($langs->trans("ShowCompany"),"company").' '.$obj->name.''.dol_print_date($obj->datec).''; + if($obj->socid) + { + $socstatic->fetch($obj->socid); + $listsalesrepresentatives=$socstatic->getSalesRepresentatives($user); + $nbofsalesrepresentative=count($listsalesrepresentatives); + if ($nbofsalesrepresentative > 3) // We print only number + { + print ''; + print $nbofsalesrepresentative; + print ''; + } + else if ($nbofsalesrepresentative > 0) + { + $userstatic=new User($db); + $j=0; + foreach($listsalesrepresentatives as $val) + { + $userstatic->id=$val['id']; + $userstatic->lastname=$val['lastname']; + $userstatic->firstname=$val['firstname']; + print $userstatic->getNomUrl(1); + $j++; + if ($j < $nbofsalesrepresentative) print '
'; + } + } + else print $langs->trans("NoSalesRepresentativeAffected"); + } + else + { + print ' '; + } + print '
'.dol_print_date($db->jdate($obj->date_contrat)).''.$staticcontrat->LibStatut($obj->statut,3).''.($obj->nb_initial>0?$obj->nb_initial:'').'
"; + print '
'; + print ''; } else { diff --git a/htdocs/contrat/services.php b/htdocs/contrat/services.php index 22ae64ef9cd..fe89907279c 100644 --- a/htdocs/contrat/services.php +++ b/htdocs/contrat/services.php @@ -2,6 +2,7 @@ /* Copyright (C) 2001-2004 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 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 @@ -151,7 +152,7 @@ if ($resql) if ($mode == "4" && $filter != "expired") $title=$langs->trans("ListOfRunningServices"); if ($mode == "4" && $filter == "expired") $title=$langs->trans("ListOfExpiredServices"); if ($mode == "5") $title=$langs->trans("ListOfClosedServices"); - print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num); + print_barre_liste($title, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num,$totalnboflines,'title_commercial.png'); print ''; diff --git a/htdocs/contrat/tpl/linkedobjectblock.tpl.php b/htdocs/contrat/tpl/linkedobjectblock.tpl.php index d94d45489fd..f7f840dce13 100644 --- a/htdocs/contrat/tpl/linkedobjectblock.tpl.php +++ b/htdocs/contrat/tpl/linkedobjectblock.tpl.php @@ -42,8 +42,8 @@ foreach($linkedObjectBlock as $object) $object->fetch_lines(); $var=!$var; ?> - > + > + diff --git a/htdocs/core/actions_extrafields.inc.php b/htdocs/core/actions_extrafields.inc.php index d5f8ea7c18c..4c5f0b512d2 100644 --- a/htdocs/core/actions_extrafields.inc.php +++ b/htdocs/core/actions_extrafields.inc.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2011-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -80,6 +80,13 @@ if ($action == 'add') $mesg[]=$langs->trans("ErrorNoValueForCheckBoxType"); $action = 'create'; } + if (GETPOST('type')=='link' && !GETPOST('param')) + { + $error++; + $langs->load("errors"); + $mesg[]=$langs->trans("ErrorNoValueForLinkType"); + $action = 'create'; + } if (GETPOST('type')=='radio' && !GETPOST('param')) { $error++; @@ -141,7 +148,21 @@ if ($action == 'add') } } - $result=$extrafields->addExtraField($_POST['attrname'],$_POST['label'],$_POST['type'],$_POST['pos'],$extrasize,$elementtype,(GETPOST('unique')?1:0),(GETPOST('required')?1:0),$default_value,$params,(GETPOST('alwayseditable')?1:0)); + $result=$extrafields->addExtraField( + GETPOST('attrname'), + GETPOST('label'), + GETPOST('type'), + GETPOST('pos'), + $extrasize, + $elementtype, + (GETPOST('unique')?1:0), + (GETPOST('required')?1:0), + $default_value, + $params, + (GETPOST('alwayseditable')?1:0), + (GETPOST('perms')?GETPOST('perms'):''), + (GETPOST('list')?1:0) + ); if ($result > 0) { setEventMessage($langs->trans('SetupSaved')); @@ -278,7 +299,20 @@ if ($action == 'update') $params['options'][$key] = $value; } } - $result=$extrafields->update($_POST['attrname'],$_POST['label'],$_POST['type'],$extrasize,$elementtype,(GETPOST('unique')?1:0),(GETPOST('required')?1:0),$pos,$params,(GETPOST('alwayseditable')?1:0)); + $result=$extrafields->update( + GETPOST('attrname'), + GETPOST('label'), + GETPOST('type'), + $extrasize, + $elementtype, + (GETPOST('unique')?1:0), + (GETPOST('required')?1:0), + $pos, + $params, + (GETPOST('alwayseditable')?1:0), + (GETPOST('perms')?GETPOST('perms'):''), + (GETPOST('list')?1:0) + ); if ($result > 0) { setEventMessage($langs->trans('SetupSaved')); diff --git a/htdocs/core/actions_fetchobject.inc.php b/htdocs/core/actions_fetchobject.inc.php new file mode 100644 index 00000000000..3014e8652a6 --- /dev/null +++ b/htdocs/core/actions_fetchobject.inc.php @@ -0,0 +1,44 @@ + + * Copyright (C) 2015 Frederic 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 http://www.gnu.org/ + */ + +/** + * \file htdocs/core/actions_fetchobject.inc.php + * \brief Code for actions on fetching object page + */ + + +// $action must be defined +// $object must be defined (object is loaded in this file with fetch) +// $cancel must be defined +// $id or $ref must be defined (object is loaded in this file with fetch) + +if (($id > 0 || ! empty($ref)) && empty($cancel)) +{ + $ret = $object->fetch($id,$ref); + if ($ret > 0) + { + $object->fetch_thirdparty(); + $id = $object->id; + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; + } +} diff --git a/htdocs/core/actions_lineupdown.inc.php b/htdocs/core/actions_lineupdown.inc.php new file mode 100644 index 00000000000..825bdac1615 --- /dev/null +++ b/htdocs/core/actions_lineupdown.inc.php @@ -0,0 +1,73 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/actions_lineupdown.inc.php + * \brief Code for actions on moving lines up or down onto object page + */ + + +// $action must be defined +// $permissiontoedit must be defined to permission to edit object +// $object must be defined +// $langs must be defined +// $hidedetails, $hidedesc, $hideref must de defined + +if ($action == 'up' && $permissiontoedit) +{ + $object->line_up(GETPOST('rowid')); + + // Define output language + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid')); + exit(); +} + +if ($action == 'down' && $permissiontoedit) +{ + $object->line_down(GETPOST('rowid')); + + // Define output language + $outputlangs = $langs; + $newlang = ''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && GETPOST('lang_id')) $newlang = GETPOST('lang_id','alpha'); + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang = $object->thirdparty->default_lang; + if (! empty($newlang)) { + $outputlangs = new Translate("", $conf); + $outputlangs->setDefaultLang($newlang); + } + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + $object->generateDocument($object->modelpdf, $outputlangs, $hidedetails, $hidedesc, $hideref); + } + + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . '#' . GETPOST('rowid')); + exit(); +} + diff --git a/htdocs/core/actions_printing.inc.php b/htdocs/core/actions_printing.inc.php new file mode 100644 index 00000000000..431ac89a94e --- /dev/null +++ b/htdocs/core/actions_printing.inc.php @@ -0,0 +1,64 @@ + + * Copyright (C) 2014 Frederic 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 http://www.gnu.org/ + */ + +/** + * \file htdocs/core/actions_printing.inc.php + * \brief Code for actions print_file to print file with calling trigger + */ + + +// $action must be defined +// $db, $user, $conf, $langs must be defined +// Filename to print must be provided into 'file' parameter + +// Print file +if ($action == 'print_file' and $user->rights->printing->read) +{ + $langs->load("printing"); + require_once DOL_DOCUMENT_ROOT . '/core/modules/printing/modules_printing.php'; + $objectprint = new PrintingDriver($db); + $list = $objectprint->listDrivers($db, 10); + if (! empty($list)) { + $errorprint=0; + $printed=0; + foreach ($list as $driver) { + require_once DOL_DOCUMENT_ROOT.'/core/modules/printing/'.$driver.'.modules.php'; + $langs->load($driver); + $classname = 'printing_'.$driver; + $printer = new $classname($db); + //print '
'.print_r($printer, true).'
'; + + if (! empty($conf->global->{$printer->active})) { + $subdir=(GETPOST('printer', 'alpha')=='expedition'?'sending':''); + $errorprint = $printer->print_file(GETPOST('file', 'alpha'), GETPOST('printer', 'alpha'), $subdir); + //if ($errorprint < 0) { + // setEventMessage($interface->errors, 'errors'); + //} + if ($errorprint=='') { + setEventMessage($langs->trans("FileWasSentToPrinter", basename(GETPOST('file'))).' '.$langs->trans("ViaModule").' '.$printer->name); + $printed++; + } + } + } + if ($printed==0) setEventMessage($langs->trans("NoActivePrintingModuleFound")); + } else { + setEventMessage($langs->trans("NoModuleFound"), 'warning'); + } + $action = ''; +} diff --git a/htdocs/core/actions_printipp.inc.php b/htdocs/core/actions_printipp.inc.php deleted file mode 100644 index 3c18faa813b..00000000000 --- a/htdocs/core/actions_printipp.inc.php +++ /dev/null @@ -1,45 +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 . - * or see http://www.gnu.org/ - */ - -/** - * \file htdocs/core/actions_printipp.inc.php - * \brief Code for actions print_file to print file using ipp - */ - - -// $action must be defined -// $db, $user, $conf, $langs must be defined -// Filename to print must be provided into 'file' parameter - -// Print file -if ($action == 'print_file' and $user->rights->printipp->read) -{ - $langs->load("printipp"); - require_once DOL_DOCUMENT_ROOT . '/core/class/dolprintipp.class.php'; - $printer = new dolPrintIPP($db, $conf->global->PRINTIPP_HOST, $conf->global->PRINTIPP_PORT, $user->login, $conf->global->PRINTIPP_USER, $conf->global->PRINTIPP_PASSWORD); - $result = $printer->print_file(GETPOST('file', 'alpha'), GETPOST('printer', 'alpha')); - if ($result) - { - setEventMessage($result,'warnings'); - } - else - { - setEventMessage($langs->trans("FileWasSentToPrinter", basename(GETPOST('file')))); - } - $action = ''; -} diff --git a/htdocs/core/actions_sendmails.inc.php b/htdocs/core/actions_sendmails.inc.php index 590c805b8aa..d27e6e59fb4 100644 --- a/htdocs/core/actions_sendmails.inc.php +++ b/htdocs/core/actions_sendmails.inc.php @@ -22,7 +22,7 @@ */ -// TODO Include this include file into all class objects +// TODO Include this include file into all element pages allowing email sending // $id must be defined // $actiontypecode must be defined @@ -63,7 +63,7 @@ if (! empty($_POST['removedfile'])) /* * Send mail */ -if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_POST['cancel']) +if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_POST['removedfile'] && ! $_POST['cancel'] && !$_POST['modelselected']) { $langs->load('mails'); @@ -103,7 +103,7 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO } else // Id du contact { - $sendto = $thirdparty->contact_get_property($_POST['receiver'],'email'); + $sendto = $thirdparty->contact_get_property((int) $_POST['receiver'],'email'); $sendtoid = $_POST['receiver']; } } @@ -120,7 +120,7 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO } else // Id du contact { - $sendtocc = $thirdparty->contact_get_property($_POST['receivercc'],'email'); + $sendtocc = $thirdparty->contact_get_property((int) $_POST['receivercc'],'email'); } } @@ -161,9 +161,11 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO $filename = $attachedfiles['names']; $mimetype = $attachedfiles['mimes']; + $trackid = GETPOST('trackid','aZ'); + // Send mail require_once DOL_DOCUMENT_ROOT.'/core/class/CMailFile.class.php'; - $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1); + $mailfile = new CMailFile($subject,$sendto,$from,$message,$filepath,$mimetype,$filename,$sendtocc,$sendtobcc,$deliveryreceipt,-1,'','',$trackid); if ($mailfile->error) { $mesgs[]='
'.$mailfile->error.'
'; @@ -210,19 +212,17 @@ if (($action == 'send' || $action == 'relance') && ! $_POST['addfile'] && ! $_PO else { $langs->load("other"); - $mesg='
'; if ($mailfile->error) { + $mesg=''; $mesg.=$langs->trans('ErrorFailedToSendMail',$from,$sendto); $mesg.='
'.$mailfile->error; + setEventMessage($mesg,'errors'); } else { - $mesg.='No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS'; + setEventMessage('No mail sent. Feature is disabled by option MAIN_DISABLE_ALL_MAILS', 'warnings'); } - $mesg.='
'; - - setEventMessage($mesg,'warnings'); $action = 'presend'; } } diff --git a/htdocs/core/actions_setnotes.inc.php b/htdocs/core/actions_setnotes.inc.php index 74f576cf852..dccce99cf9f 100644 --- a/htdocs/core/actions_setnotes.inc.php +++ b/htdocs/core/actions_setnotes.inc.php @@ -23,7 +23,7 @@ // $action must be defined -// $permission must be defined to permission to edit object +// $permissionnote must be defined to permission to edit object // $object must be defined (object is loaded in this file with fetch) // $id must be defined (object is loaded in this file with fetch) diff --git a/htdocs/core/ajax/ajaxdirtree.php b/htdocs/core/ajax/ajaxdirtree.php index ae70d1a418a..76fc64b50cf 100644 --- a/htdocs/core/ajax/ajaxdirtree.php +++ b/htdocs/core/ajax/ajaxdirtree.php @@ -188,7 +188,7 @@ if (file_exists($fullpathselecteddir)) $userstatic->lastname=isset($val['login_c'])?$val['login_c']:0; $htmltooltip=''.$langs->trans("ECMSection").': '.$val['label'].'
'; $htmltooltip=''.$langs->trans("Type").': '.$langs->trans("ECMSectionManual").'
'; - $htmltooltip.=''.$langs->trans("ECMCreationUser").': '.$userstatic->getNomUrl(1).'
'; + $htmltooltip.=''.$langs->trans("ECMCreationUser").': '.$userstatic->getNomUrl(1, '', false, 1).'
'; $htmltooltip.=''.$langs->trans("ECMCreationDate").': '.(isset($val['date_c'])?dol_print_date($val['date_c'],"dayhour"):$langs->trans("NeedRefresh")).'
'; $htmltooltip.=''.$langs->trans("Description").': '.$val['description'].'
'; $htmltooltip.=''.$langs->trans("ECMNbOfFilesInDir").': '.((isset($val['cachenbofdoc']) && $val['cachenbofdoc'] >= 0)?$val['cachenbofdoc']:$langs->trans("NeedRefresh")).'
'; diff --git a/htdocs/core/boxes/box_actions.php b/htdocs/core/boxes/box_actions.php index 89d05b92b79..fdd69a26a5b 100644 --- a/htdocs/core/boxes/box_actions.php +++ b/htdocs/core/boxes/box_actions.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin * Copyright (C) 2014 Charles-Fr BENKE + * Copyright (C) 2015 Frederic 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 @@ -55,16 +56,20 @@ class box_actions extends ModeleBoxes $this->max=$max; - include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; - $actionstatic=new ActionComm($db); + include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; + include_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; + $societestatic = new Societe($db); + $actionstatic = new ActionComm($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleLastActionsToDo",$max)); - if ($user->rights->agenda->myactions->read) - { - $sql = "SELECT a.id, a.label, a.datep as dp, a.percent as percentage,"; - $sql.= " ta.code, ta.libelle as type_label,"; - $sql.= " s.nom as name, s.rowid as socid"; + if ($user->rights->agenda->myactions->read) { + $sql = "SELECT a.id, a.label, a.datep as dp, a.percent as percentage"; + $sql.= ", ta.code"; + $sql.= ", ta.libelle as type_label"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; $sql.= " FROM (".MAIN_DB_PREFIX."c_actioncomm AS ta, "; $sql.= MAIN_DB_PREFIX."actioncomm AS a)"; if (! $user->rights->societe->client->voir && ! $user->societe_id) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_commerciaux as sc ON a.fk_soc = sc.fk_soc"; @@ -80,66 +85,80 @@ class box_actions extends ModeleBoxes dol_syslog("Box_actions::loadBox", LOG_DEBUG); $result = $db->query($sql); - if ($result) - { + if ($result) { $now=dol_now(); - $delay_warning=$conf->global->MAIN_DELAY_ACTIONS_TODO*24*60*60; + $delay_warning = $conf->global->MAIN_DELAY_ACTIONS_TODO*24*60*60; $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { + $line = 0; + while ($line < $num) { $late = ''; $objp = $db->fetch_object($result); - $datelimite=$db->jdate($objp->dp); + $datelimite = $db->jdate($objp->dp); + $actionstatic->id = $objp->id; + $actionstatic->label = $objp->label; + $actionstatic->type_label = $objp->type_label; + $actionstatic->code = $objp->code; + $societestatic->id = $objp->socid; + $societestatic->name = $objp->name; + $societestatic->code_client = $objp->code_client; - if ($objp->percentage >= 0 && $objp->percentage < 100 && $datelimite < ($now - $delay_warning)) $late=img_warning($langs->trans("Late")); + if ($objp->percentage >= 0 && $objp->percentage < 100 && $datelimite < ($now - $delay_warning)) + $late=img_warning($langs->trans("Late")); //($langs->transnoentities("Action".$objp->code)!=("Action".$objp->code) ? $langs->transnoentities("Action".$objp->code) : $objp->label) - $label=empty($objp->label)?$objp->type_label:$objp->label; + $label = empty($objp->label)?$objp->type_label:$objp->label; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => ("action"), - 'url' => DOL_URL_ROOT."/comm/action/card.php?id=".$objp->id); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $actionstatic->getNomUrl(1), + 'text2'=> $late, + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => dol_trunc($label,32), - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/comm/action/card.php?id=".$objp->id); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => ($societestatic->id > 0 ? $societestatic->getNomUrl(1) : ''), + 'asis' => 1, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => ($objp->socid?'company':''), - 'url' => ($objp->socid?DOL_URL_ROOT."/societe/soc.php?socid=".$objp->socid:'')); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" class="nowrap"', + 'text' => dol_print_date($datelimite, "dayhour"), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => dol_trunc($objp->name,24), - 'url' => DOL_URL_ROOT."/societe/soc.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => ($objp->percentage>= 0?$objp->percentage.'%':''), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="left" class="nowrap"', - 'text' => dol_print_date($datelimite, "dayhour")); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $actionstatic->LibStatut($objp->percentage,3), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right"', - 'text' => ($objp->percentage>= 0?$objp->percentage.'%':'')); + $line++; + } - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $actionstatic->LibStatut($objp->percentage,3)); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoActionsToDo"), + ); - $i++; - } - - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoActionsToDo")); - - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('align' => 'left', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } @@ -154,8 +173,7 @@ class box_actions extends ModeleBoxes { global $langs, $conf; parent::showBox($this->info_box_head, $this->info_box_contents); - if ($conf->global->SHOW_DIALOG_HOMEPAGE) - { + if ($conf->global->SHOW_DIALOG_HOMEPAGE) { $actioncejour=false; $contents=$this->info_box_contents; $nblines=count($contents); @@ -166,23 +184,23 @@ class box_actions extends ModeleBoxes { print '
trans("ActionsToDo").'">'; print '
- trans("ShowContract"),"contract").' '.$object->ref; ?>
getNomUrl(1); ?> date_contrat,'day'); ?>   getLibStatut(6); ?>
'; - for ($i=0, $n=$nblines; $i < $n; $i++) + for ($line=0, $n=$nblines; $line < $n; $line++) { - if (isset($contents[$i])) + if (isset($contents[$line])) { // on affiche que les évènement du jours ou passé // qui ne sont pas à 100% $actioncejour=true; $var=!$var; // TR - $logo=$contents[$i][0]['logo']; - $label=$contents[$i][1]['text']; - $urlevent=$contents[$i][1]['url']; - $logosoc=$contents[$i][2]['logo']; - $nomsoc=$contents[$i][3]['text']; - $urlsoc=$contents[$i][3]['url']; - $dateligne=$contents[$i][4]['text']; - $percentage=$contents[$i][5]['text']; + $logo=$contents[$line][0]['logo']; + $label=$contents[$line][1]['text']; + $urlevent=$contents[$line][1]['url']; + $logosoc=$contents[$line][2]['logo']; + $nomsoc=$contents[$line][3]['text']; + $urlsoc=$contents[$line][3]['url']; + $dateligne=$contents[$line][4]['text']; + $percentage=$contents[$line][5]['text']; print ''; print ''; - print "\n"; - //print "
'; print img_object("",$logo); diff --git a/htdocs/core/boxes/box_activity.php b/htdocs/core/boxes/box_activity.php index 5268cc0625e..f7e09d33583 100644 --- a/htdocs/core/boxes/box_activity.php +++ b/htdocs/core/boxes/box_activity.php @@ -1,6 +1,7 @@ - * Copyright (C) 2005-2013 Laurent Destailleur + * Copyright (C) 2005-2015 Laurent Destailleur + * Copyright (C) 2014-2015 Frederic 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 @@ -17,9 +18,9 @@ */ /** - * \file htdocs/core/boxes/box_activity.php - * \ingroup societes - * \brief Module to show box of bills, orders & propal of the current year + * \file htdocs/core/boxes/box_activity.php + * \ingroup societes + * \brief Module to show box of bills, orders & propal of the current year */ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; @@ -29,265 +30,425 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; */ class box_activity extends ModeleBoxes { - var $boxcode="activity"; - var $boximg="object_bill"; - var $boxlabel='BoxGlobalActivity'; - var $depends = array("facture"); + var $boxcode="activity"; + var $boximg="object_bill"; + var $boxlabel='BoxGlobalActivity'; + var $depends = array("facture"); - var $db; - var $param; - var $enabled = 1; + var $db; + var $param; + var $enabled = 1; - var $info_box_head = array(); - var $info_box_contents = array(); + var $info_box_head = array(); + var $info_box_contents = array(); - /** - * Constructor - * - * @param DoliDB $db Database handler - * @param string $param More parameters - */ - function __construct($db,$param) - { - global $conf; + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param string $param More parameters + */ + function __construct($db,$param) + { + global $conf; - $this->db=$db; - // FIXME: Use a cache to save data because this slow down too much main home page. This box slow down too seriously software. - // FIXME: Removed number_format (not compatible with all languages) - // FIXME: Pb into some status - $this->enabled=$conf->global->MAIN_FEATURES_LEVEL; // Not enabled by default due to bugs (see previous comments) - } + $this->db=$db; + // FIXME: Pb into some status + $this->enabled=$conf->global->MAIN_FEATURES_LEVEL; // Not enabled by default due to bugs (see previous comments) + } - /** - * Charge les donnees en memoire pour affichage ulterieur - * - * @param int $max Maximum number of records to load - * @return void - */ - function loadBox($max=5) - { - global $conf, $user, $langs, $db; + /** + * Charge les donnees en memoire pour affichage ulterieur + * + * @param int $max Maximum number of records to load + * @return void + */ + function loadBox($max=5) + { + global $conf, $user, $langs, $db; - $totalMnt = 0; - $totalnb = 0; - $i = 0; + include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - include_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + $totalMnt = 0; + $totalnb = 0; + $line = 0; + $cachetime = 3600; + $fileid = '-e'.$conf->entity.'-u'.$user->id.'-s'.$user->societe_id.'-r'.($user->rights->societe->client->voir?'1':'0').'.cache'; + $now = dol_now(); + $nbofyears=2; - $nbofyears=2; - if (! empty($conf->global->MAIN_BOX_ACTIVITY_DURATION)) $nbofyears=$conf->global->MAIN_BOX_ACTIVITY_DURATION; - $textHead = $langs->trans("Activity").' ('.$nbofyears.' '.$langs->trans("DurationYears").')'; - $this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); + if (! empty($conf->global->MAIN_BOX_ACTIVITY_DURATION)) $nbofyears=$conf->global->MAIN_BOX_ACTIVITY_DURATION; + $textHead = $langs->trans("Activity").' - '.$langs->trans("LastXMonthRolling", $nbofyears*12); + $this->info_box_head = array( + 'text' => $textHead, + 'limit'=> dol_strlen($textHead), + ); - // compute the year limit to show - $tmpdate= dol_time_plus_duree(dol_now(), -1*$nbofyears, "y"); + // compute the year limit to show + $tmpdate= dol_time_plus_duree(dol_now(), -1*$nbofyears, "y"); - // list the summary of the bills - if (! empty($conf->facture->enabled) && $user->rights->facture->lire) - { - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - $facturestatic=new Facture($db); + $cumuldata = array(); - $sql = "SELECT f.fk_statut, SUM(f.total_ttc) as Mnttot, COUNT(*) as nb"; - $sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= ")"; - $sql.= " WHERE f.entity = ".$conf->entity; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; - $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND f.datef >= '".$db->idate($tmpdate)."' AND paye=1"; - $sql.= " GROUP BY f.fk_statut"; - $sql.= " ORDER BY f.fk_statut DESC"; + // list the summary of the bills + if (! empty($conf->facture->enabled) && $user->rights->facture->lire) + { + include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + $facturestatic=new Facture($db); - $result = $db->query($sql); - if ($result) + $cachedir = DOL_DATA_ROOT.'/facture/temp'; + $filename = '/boxactivity-invoice'.$fileid; + + $refresh = dol_cache_refresh($cachedir, $filename, $cachetime); + $data = array(); + if ($refresh) + { + $sql = "SELECT f.fk_statut, SUM(f.total_ttc) as Mnttot, COUNT(*) as nb"; + $sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= ")"; + $sql.= " WHERE f.entity = ".$conf->entity; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; + $sql.= " AND f.fk_soc = s.rowid"; + $sql.= " AND f.datef >= '".$db->idate($tmpdate)."' AND paye=1"; + $sql.= " GROUP BY f.fk_statut"; + $sql.= " ORDER BY f.fk_statut DESC"; + + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + $j=0; + while ($j < $num) { + $data[$j]=$db->fetch_object($result); + $j++; + } + if (! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + dol_filecache($cachedir, $filename, $data); + } + $db->free($result); + } else { + dol_print_error($db); + } + } else { + $data = dol_readcachefile($cachedir, $filename); + } + + $cumuldata=array_merge($cumuldata, $data); + if (! empty($data)) { + $j=0; + while ($line < count($cumuldata)) { + $billurl="viewstatut=2&paye=1&year=".$data[$j]->annee; + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'tooltip' => $langs->trans('Bills').' '.$facturestatic->LibStatut(1,$data[$j]->fk_statut,0), + 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills", + 'logo' => 'bill', + ); + + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("Bills")." ".$facturestatic->LibStatut(1,$data[$j]->fk_statut,0)." ".$data[$j]->annee, + ); + + $this->info_box_contents[$line][2] = array( + 'td' => 'align="right"', + 'tooltip' => $langs->trans('Bills').' '.$facturestatic->LibStatut(1,$data[$j]->fk_statut,0), + 'text' => $data[$j]->nb, + 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills", + ); + + $this->info_box_contents[$line][3] = array( + 'td' => 'align="right"', + 'text' => price($data[$j]->Mnttot,1,$langs,0,0,-1,$conf->currency) + ); + + // We add only for the current year + if ($data[$j]->annee == date("Y")) { + $totalnb += $data[$j]->nb; + $totalMnt += $data[$j]->Mnttot; + } + $this->info_box_contents[$line][4] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut(1,$data[$j]->fk_statut,3), + ); + $line++; + $j++; + } + if (count($data)==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedInvoices"), + ); + } + + $cachedir = DOL_DATA_ROOT.'/facture/temp'; + $filename = '/boxactivity-invoice2'.$fileid; + + $refresh = dol_cache_refresh($cachedir, $filename, $cachetime); + + if ($refresh) { + $sql = "SELECT f.fk_statut, SUM(f.total_ttc) as Mnttot, COUNT(*) as nb"; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; + $sql.= " WHERE f.entity = ".$conf->entity; + $sql.= " AND f.fk_soc = s.rowid"; + $sql.= " AND paye=0"; + $sql.= " GROUP BY f.fk_statut"; + $sql.= " ORDER BY f.fk_statut DESC"; + + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + $j=0; + while ($j < $num) { + $data[$j]=$db->fetch_object($result); + $j++; + } + if (! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + dol_filecache($cachedir, $filename, $data); + } + $db->free($result); + } else { + dol_print_error($db); + } + } else { + $data = dol_readcachefile($cachedir, $filename); + } + + $cumuldata=array_merge($cumuldata, $data); + if (! empty($data)) { + $j=0; + + while ($line < count($cumuldata)) { + $billurl="viewstatut=".$data[$j]->fk_statut."&paye=0"; + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'tooltip' => $langs->trans('Bills').' '.$facturestatic->LibStatut(0,$data[$j]->fk_statut,0), + 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills", + 'logo' => 'bill', + ); + + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("Bills")." ".$facturestatic->LibStatut(0,$data[$j]->fk_statut,0), + ); + + $this->info_box_contents[$line][2] = array( + 'td' => 'align="right"', + 'text' => $data[$j]->nb, + 'tooltip' => $langs->trans('Bills').' '.$facturestatic->LibStatut(0,$data[$j]->fk_statut,0), + 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills", + ); + $totalnb += $data[$j]->nb; + $this->info_box_contents[$line][3] = array( + 'td' => 'align="right"', + 'text' => price($data[$j]->Mnttot,1,$langs,0,0,-1,$conf->currency), + ); + $totalMnt += $objp->Mnttot; + $this->info_box_contents[$line][4] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut(0,$data[$j]->fk_statut,3), + ); + $line++; + $j++; + } + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedInvoices"), + ); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, 'text' => ($db->error().' sql='.$sql), + ); + } + } + + // list the summary of the orders + if (! empty($conf->commande->enabled) && $user->rights->commande->lire) { + include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; + $commandestatic=new Commande($db); + + $cachedir = DOL_DATA_ROOT.'/commande/temp'; + $filename = '/boxactivity-order'.$fileid; + $refresh = dol_cache_refresh($cachedir, $filename, $cachetime); + $data = array(); + + if ($refresh) { + + $sql = "SELECT c.fk_statut, sum(c.total_ttc) as Mnttot, count(*) as nb"; + $sql.= " FROM (".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= ")"; + $sql.= " WHERE c.entity = ".$conf->entity; + $sql.= " AND c.fk_soc = s.rowid"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; + $sql.= " AND c.date_commande >= '".$db->idate($tmpdate)."'"; + $sql.= " AND c.facture=0"; + $sql.= " GROUP BY c.fk_statut"; + $sql.= " ORDER BY c.fk_statut DESC"; + + $result = $db->query($sql); + + if ($result) { + $num = $db->num_rows($result); + $j=0; + while ($j < $num) { + $data[$j]=$db->fetch_object($result); + $j++; + } + if (! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + dol_filecache($cachedir, $filename, $data); + } + $db->free($result); + } else { + dol_print_error($db); + } + } else { + $data = dol_readcachefile($cachedir, $filename); + } + + $cumuldata=array_merge($cumuldata, $data); + if (! empty($data)) { + $j=0; + while ($line < count($cumuldata)) { + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'url' => DOL_URL_ROOT."/commande/list.php?mainmenu=commercial&leftmenu=orders&viewstatut=".$data[$j]->fk_statut, + 'tooltip' => $langs->trans("Orders")." ".$commandestatic->LibStatut($data[$j]->fk_statut,0,0), + 'logo' => 'object_order', + ); + + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' =>$langs->trans("Orders")." ".$commandestatic->LibStatut($data[$j]->fk_statut,0,0), + ); + + $this->info_box_contents[$line][2] = array( + 'td' => 'align="right"', + 'text' => $data[$j]->nb, + 'tooltip' => $langs->trans("Orders")." ".$commandestatic->LibStatut($data[$j]->fk_statut,0,0), + 'url' => DOL_URL_ROOT."/commande/list.php?mainmenu=commercial&leftmenu=orders&viewstatut=".$data[$j]->fk_statut, + ); + $totalnb += $data[$j]->nb; + + $this->info_box_contents[$line][3] = array( + 'td' => 'align="right"', + 'text' => price($data[$j]->Mnttot,1,$langs,0,0,-1,$conf->currency), + ); + $totalMnt += $data[$j]->Mnttot; + $this->info_box_contents[$line][4] = array( + 'td' => 'align="right" width="18"', + 'text' => $commandestatic->LibStatut($data[$j]->fk_statut,0,3), + ); + + $line++; + $j++; + } + } + } + + // list the summary of the propals + if (! empty($conf->propal->enabled) && $user->rights->propal->lire) + { + include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; + $propalstatic=new Propal($db); + + $cachedir = DOL_DATA_ROOT.'/propale/temp'; + $filename = '/boxactivity-propal'.$fileid; + $refresh = dol_cache_refresh($cachedir, $filename, $cachetime); + $data = array(); + if ($refresh) + { + $sql = "SELECT p.fk_statut, SUM(p.total) as Mnttot, COUNT(*) as nb"; + $sql.= " FROM (".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= ")"; + $sql.= " WHERE p.entity = ".$conf->entity; + $sql.= " AND p.fk_soc = s.rowid"; + if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; + $sql.= " AND p.datep >= '".$db->idate($tmpdate)."'"; + $sql.= " AND p.date_cloture IS NULL"; // just unclosed + $sql.= " GROUP BY p.fk_statut"; + $sql.= " ORDER BY p.fk_statut DESC"; + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + + $j=0; + while ($j < $num) { + $data[$j]=$db->fetch_object($result); + $j++; + } + if (! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + dol_filecache($cachedir, $filename, $data); + } + $db->free($result); + } else { + dol_print_error($db); + } + } + else { - $num = $db->num_rows($result); - while ($i < $num) - { - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', 'logo' => 'bill'); - $objp = $db->fetch_object($result); + $data = dol_readcachefile($cachedir, $filename); + } - $this->info_box_contents[$i][1] = array('td' => 'align="left"', 'text' => $langs->trans("Bills")." ".$facturestatic->LibStatut(1,$objp->fk_statut,0)." ".$objp->annee); - $billurl="viewstatut=2&paye=1&year=".$objp->annee; + $cumuldata=array_merge($cumuldata, $data); + if (! empty($data)) + { + $j=0; + while ($line < count($cumuldata)) + { + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'url' => DOL_URL_ROOT."/comm/propal/list.php?mainmenu=commercial&leftmenu=propals&viewstatut=".$data[$j]->fk_statut, + 'tooltip' => $langs->trans("Proposals")." ".$propalstatic->LibStatut($data[$j]->fk_statut,0), + 'logo' => 'object_propal' + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $objp->nb, 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills" - ); + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("Proposals")." ".$propalstatic->LibStatut($data[$j]->fk_statut,0), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right"', - 'text' => price($objp->Mnttot,1,$langs,0,0,-1,$conf->currency) - ); + $this->info_box_contents[$line][2] = array( + 'td' => 'align="right"', + 'text' => $data[$j]->nb, + 'tooltip' => $langs->trans("Proposals")." ".$propalstatic->LibStatut($data[$j]->fk_statut,0), + 'url' => DOL_URL_ROOT."/comm/propal/list.php?mainmenu=commercial&leftmenu=propals&viewstatut=".$data[$j]->fk_statut, + ); + $totalnb += $data[$j]->nb; - // We add only for the current year - if ($objp->annee == date("Y")) - { - $totalnb += $objp->nb; - $totalMnt += $objp->Mnttot; - } - $this->info_box_contents[$i][4] = array('td' => 'align="right" width="18"', 'text' => $facturestatic->LibStatut(1,$objp->fk_statut,3) ); - $i++; - } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInvoices")); + $this->info_box_contents[$line][3] = array( + 'td' => 'align="right"', + 'text' => price($data[$j]->Mnttot,1,$langs,0,0,-1,$conf->currency), + ); + $totalMnt += $data[$j]->Mnttot; + $this->info_box_contents[$line][4] = array( + 'td' => 'align="right" width="18"', + 'text' => $propalstatic->LibStatut($data[$j]->fk_statut,3), + ); - $db->free($result); - } - else dol_print_error($db); - - $sql = "SELECT f.fk_statut, SUM(f.total_ttc) as Mnttot, COUNT(*) as nb"; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; - $sql.= " WHERE f.entity = ".$conf->entity; - $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND paye=0"; - $sql.= " GROUP BY f.fk_statut"; - $sql.= " ORDER BY f.fk_statut DESC"; - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result) + $i; - $now=dol_now(); - - while ($i < $num) - { - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => 'bill'); - $objp = $db->fetch_object($result); - - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $langs->trans("Bills")." ".$facturestatic->LibStatut(0,$objp->fk_statut,0)); - - $billurl="viewstatut=".$objp->fk_statut."&paye=0"; - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $objp->nb, 'url' => DOL_URL_ROOT."/compta/facture/list.php?".$billurl."&mainmenu=accountancy&leftmenu=customers_bills" - ); - $totalnb += $objp->nb; - $this->info_box_contents[$i][3] = array('td' => 'align="right"', - 'text' => price($objp->Mnttot,1,$langs,0,0,-1,$conf->currency) - ); - $totalMnt += $objp->Mnttot; - $this->info_box_contents[$i][4] = array('td' => 'align="right" width="18"', - 'text' => $facturestatic->LibStatut(0,$objp->fk_statut,3) - ); - $i++; - } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInvoices")); - } else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', 'maxlength'=>500, 'text' => ($db->error().' sql='.$sql)); - } - } - - // list the summary of the orders - if (! empty($conf->commande->enabled) && $user->rights->commande->lire) - { - include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; - $commandestatic=new Commande($db); - - $sql = "SELECT c.fk_statut, sum(c.total_ttc) as Mnttot, count(*) as nb"; - $sql.= " FROM (".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."commande as c"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= ")"; - $sql.= " WHERE c.entity = ".$conf->entity; - $sql.= " AND c.fk_soc = s.rowid"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; - $sql.= " AND c.date_commande >= '".$db->idate($tmpdate)."'"; - $sql.= " AND c.facture=0"; - $sql.= " GROUP BY c.fk_statut"; - $sql.= " ORDER BY c.fk_statut DESC"; - - $result = $db->query($sql); - - if ($result) - { - $num = $db->num_rows($result) + $i; - while ($i < $num) - { - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_order'); - - $objp = $db->fetch_object($result); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' =>$langs->trans("Orders")." ".$commandestatic->LibStatut($objp->fk_statut,0,0) - ); - - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $objp->nb, - 'url' => DOL_URL_ROOT."/commande/list.php?mainmenu=commercial&leftmenu=orders&viewstatut=".$objp->fk_statut - ); - $totalnb += $objp->nb; - - $this->info_box_contents[$i][3] = array('td' => 'align="right"', - 'text' => price($objp->Mnttot,1,$langs,0,0,-1,$conf->currency) - ); - $totalMnt += $objp->Mnttot; - $this->info_box_contents[$i][4] = array('td' => 'align="right" width="18"', 'text' => $commandestatic->LibStatut($objp->fk_statut,0,3)); - - $i++; - } - } - else dol_print_error($db); - } - - // list the summary of the propals - if (! empty($conf->propal->enabled) && $user->rights->propal->lire) - { - include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; - $propalstatic=new Propal($db); - - $sql = "SELECT p.fk_statut, SUM(p.total) as Mnttot, COUNT(*) as nb"; - $sql.= " FROM (".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= ")"; - $sql.= " WHERE p.entity = ".$conf->entity; - $sql.= " AND p.fk_soc = s.rowid"; - if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if($user->societe_id) $sql.= " AND s.rowid = ".$user->societe_id; - $sql.= " AND p.datep >= '".$db->idate($tmpdate)."'"; - $sql.= " AND p.date_cloture IS NULL"; // just unclosed - $sql.= " GROUP BY p.fk_statut"; - $sql.= " ORDER BY p.fk_statut DESC"; - - $result = $db->query($sql); - - if ($result) - { - $num = $db->num_rows($result) + $i; - while ($i < $num) - { - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_propal'); - - $objp = $db->fetch_object($result); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' =>$langs->trans("Proposals")." ".$propalstatic->LibStatut($objp->fk_statut,0) - ); - - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $objp->nb, - 'url' => DOL_URL_ROOT."/comm/propal/list.php?mainmenu=commercial&leftmenu=propals&viewstatut=".$objp->fk_statut - ); - $totalnb += $objp->nb; - - $this->info_box_contents[$i][3] = array('td' => 'align="right"', - 'text' => price($objp->Mnttot,1,$langs,0,0,-1,$conf->currency) - ); - $totalMnt += $objp->Mnttot; - $this->info_box_contents[$i][4] = array('td' => 'align="right" width="18"', 'text' => $propalstatic->LibStatut($objp->fk_statut,3)); - - $i++; - } - } - else dol_print_error($db); - } + $line++; + $j++; + } + } + } // Add the sum in the bottom of the boxes - $this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"'); - $this->info_box_contents[$i][1] = array('td' => 'align="left" class="liste_total" ', 'text' => $langs->trans("Total")." ".$textHead); - $this->info_box_contents[$i][2] = array('td' => 'align="right" class="liste_total" ', 'text' => $totalnb); - $this->info_box_contents[$i][3] = array('td' => 'align="right" class="liste_total" ', 'text' => price($totalMnt,1,$langs,0,0,-1,$conf->currency)); - $this->info_box_contents[$i][4] = array('td' => 'align="right" class="liste_total" ', 'text' => ""); - } + $this->info_box_contents[$line][0] = array('tr' => 'class="liste_total"'); + $this->info_box_contents[$line][1] = array('td' => 'align="left" class="liste_total" ', 'text' => $langs->trans("Total")." ".$textHead); + $this->info_box_contents[$line][2] = array('td' => 'align="right" class="liste_total" ', 'text' => $totalnb); + $this->info_box_contents[$line][3] = array('td' => 'align="right" class="liste_total" ', 'text' => ''); + $this->info_box_contents[$line][4] = array('td' => 'align="right" class="liste_total" ', 'text' => ""); + } + /** * Method to show box diff --git a/htdocs/core/boxes/box_bookmarks.php b/htdocs/core/boxes/box_bookmarks.php index 968eefef4b9..88adb744ceb 100644 --- a/htdocs/core/boxes/box_bookmarks.php +++ b/htdocs/core/boxes/box_bookmarks.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 Frederic 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 @@ -52,10 +53,11 @@ class box_bookmarks extends ModeleBoxes $this->max=$max; - $this->info_box_head = array('text' => $langs->trans("BoxMyLastBookmarks",$max), - 'sublink' => DOL_URL_ROOT.'/bookmarks/list.php'); - if ($user->rights->bookmark->creer) - { + $this->info_box_head = array( + 'text' => $langs->trans("BoxMyLastBookmarks",$max), + 'sublink' => DOL_URL_ROOT.'/bookmarks/list.php', + ); + if ($user->rights->bookmark->creer) { $this->info_box_head['subpicto']='object_bookmark'; $this->info_box_head['subtext']=$langs->trans("BookmarksManagement"); } @@ -79,45 +81,54 @@ class box_bookmarks extends ModeleBoxes { $num = $db->num_rows($result); - $i = 0; + $line = 0; - while ($i < $num) - { - $objp = $db->fetch_object($result); + while ($line < $num) { + $objp = $db->fetch_object($result); - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => $objp->url, - 'target' => $objp->target?'newtab':''); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->title, - 'url' => $objp->url, - 'target' => $objp->target?'newtab':''); + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'logo' => $this->boximg, + 'url' => $objp->url, + 'tooltip' => $objp->title, + 'target' => $objp->target?'newtab':'', + ); + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' => $objp->title, + 'url' => $objp->url, + 'tooltip' => $objp->title, + 'target' => $objp->target?'newtab':'', + ); - $i++; - } + $line++; + } - if ($num==0) - { - $mytxt=$langs->trans("NoRecordedBookmarks"); - if ($user->rights->bookmark->creer) $mytxt.=' '.$langs->trans("ClickToAdd"); - $this->info_box_contents[$i][0] = array('td' => 'align="center" colspan="2"', 'url'=> DOL_URL_ROOT.'/bookmarks/list.php', 'text'=>$mytxt); - } + if ($num==0) { + $mytxt=$langs->trans("NoRecordedBookmarks"); + if ($user->rights->bookmark->creer) $mytxt.=' '.$langs->trans("ClickToAdd"); + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center" colspan="2"', + 'tooltip' => $mytxt, + 'url'=> DOL_URL_ROOT.'/bookmarks/list.php', 'text'=>$mytxt, + ); + } - $db->free($result); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('align' => 'left', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_clients.php b/htdocs/core/boxes/box_clients.php index 4e651e8bdcc..24c940fb9ea 100644 --- a/htdocs/core/boxes/box_clients.php +++ b/htdocs/core/boxes/box_clients.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -79,7 +80,13 @@ class box_clients extends ModeleBoxes if ($user->rights->societe->lire) { - $sql = "SELECT s.nom as name, s.rowid as socid, s.datec, s.tms, s.status"; + $sql = "SELECT s.nom as name, s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", s.client"; + $sql.= ", s.code_fournisseur"; + $sql.= ", s.fournisseur"; + $sql.= ", s.logo"; + $sql.= ", s.datec, s.tms, s.status"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.client IN (1, 3)"; @@ -94,34 +101,41 @@ class box_clients extends ModeleBoxes if ($result) { $num = $db->num_rows($result); - if (empty($conf->global->SOCIETE_DISABLE_CUSTOMERS)) $url= DOL_URL_ROOT."/comm/card.php?socid="; - else $url= DOL_URL_ROOT."/societe/soc.php?socid="; - $i = 0; - while ($i < $num) + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->logo = $objp->logo; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => $url.$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartystatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => $url.$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem, "day") + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => dol_print_date($datem, "day")); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $thirdpartystatic->LibStatut($objp->status,3) + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right" width="18"', - 'text' => $thirdpartystatic->LibStatut($objp->status,3)); - - $i++; + $line++; } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedCustomers")); + if ($num==0) $this->info_box_contents[$line][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedCustomers")); $db->free($result); } diff --git a/htdocs/core/boxes/box_commandes.php b/htdocs/core/boxes/box_commandes.php index 1bb6fe9b27a..6eb5006182c 100644 --- a/htdocs/core/boxes/box_commandes.php +++ b/htdocs/core/boxes/box_commandes.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -53,20 +54,33 @@ class box_commandes extends ModeleBoxes { global $user, $langs, $db, $conf; - $this->max=$max; + $this->max = $max; - include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; - $commandestatic=new Commande($db); + include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; + include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; + $commandestatic = new Commande($db); + $societestatic = new Societe($db); $userstatic = new User($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."CustomerOrders",$max)); if ($user->rights->commande->lire) { - $sql = "SELECT s.nom as name, s.rowid as socid,"; - $sql.= " c.ref, c.tms, c.rowid, c.date_commande,"; - $sql.= " c.fk_statut, c.fk_user_valid, c.facture, c.total_ht"; + $sql = "SELECT s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", s.logo"; + $sql.= ", c.ref, c.tms"; + $sql.= ", c.rowid"; + $sql.= ", c.date_commande"; + $sql.= ", c.ref_client"; + $sql.= ", c.fk_statut"; + $sql.= ", c.fk_user_valid"; + $sql.= ", c.facture"; + $sql.= ", c.total_ht"; + $sql.= ", c.tva as total_tva"; + $sql.= ", c.total_ttc"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."commande as c"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -80,70 +94,80 @@ class box_commandes extends ModeleBoxes $sql.= $db->plimit($max, 0); $result = $db->query($sql); - if ($result) - { + if ($result) { $num = $db->num_rows($result); - $i = 0; + $line = 0; - while ($i < $num) - { + while ($line < $num) { $objp = $db->fetch_object($result); $date=$db->jdate($objp->date_commande); - $datem=$db->jdate($objp->tms); + $datem=$db->jdate($objp->tms); + $commandestatic->id = $objp->rowid; + $commandestatic->ref = $objp->ref; + $commandestatic->ref_client = $objp->ref_client; + $commandestatic->total_ht = $objp->total_ht; + $commandestatic->total_tva = $objp->total_tva; + $commandestatic->total_ttc = $objp->total_ttc; + $societestatic->id = $objp->socid; + $societestatic->name = $objp->name; + $societestatic->code_client = $objp->code_client; + $societestatic->logo = $objp->logo; - $this->info_box_contents[$i][] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid); - - $this->info_box_contents[$i][] = array('td' => 'align="left"', - 'text' => $objp->ref, - 'url' => DOL_URL_ROOT."/commande/card.php?id=".$objp->rowid); - - $this->info_box_contents[$i][] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); - - $this->info_box_contents[$i][] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); - - $this->info_box_contents[$i][] = array('td' => 'align="right"', - 'text' => price($objp->total_ht), - ); - - if (! empty($conf->global->ORDER_BOX_LAST_ORDERS_SHOW_VALIDATE_USER)) - { - if ($objp->fk_user_valid > 0) $userstatic->fetch($objp->fk_user_valid); - $this->info_box_contents[$i][] = array('td' => 'align="right"', - 'text' => (($objp->fk_user_valid > 0)?$userstatic->getNomUrl(1):''), - 'url' => (($objp->fk_user_valid > 0)?DOL_URL_ROOT.'/user/card.php?id='.$objp->fk_user_valid:'') - ); - } - - $this->info_box_contents[$i][] = array('td' => 'align="right"', - 'text' => dol_print_date($date,'day'), + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $commandestatic->getNomUrl(1), + 'asis' => 1, ); - $this->info_box_contents[$i][] = array('td' => 'align="right" width="18"', - 'text' => $commandestatic->LibStatut($objp->fk_statut,$objp->facture,3)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $societestatic->getNomUrl(1), + 'asis' => 1, + ); - $i++; + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); + + if (! empty($conf->global->ORDER_BOX_LAST_ORDERS_SHOW_VALIDATE_USER)) { + if ($objp->fk_user_valid > 0) $userstatic->fetch($objp->fk_user_valid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => (($objp->fk_user_valid > 0)?$userstatic->getNomUrl(1):''), + 'asis' => 1, + ); + } + + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($date,'day'), + ); + + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $commandestatic->LibStatut($objp->fk_statut,$objp->facture,3), + ); + + $line++; } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedOrders")); + if ($num==0) $this->info_box_contents[$line][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedOrders")); - $db->free($result); + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('align' => 'left', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + } else { + $this->info_box_contents[0][0] = array( + 'align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_comptes.php b/htdocs/core/boxes/box_comptes.php index 45c8f1a4819..178851466be 100644 --- a/htdocs/core/boxes/box_comptes.php +++ b/htdocs/core/boxes/box_comptes.php @@ -2,7 +2,8 @@ /* Copyright (C) 2005 Christophe * Copyright (C) 2005-2013 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin - * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Frederic 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 @@ -76,8 +77,7 @@ class box_comptes extends ModeleBoxes $this->info_box_head = array('text' => $langs->trans("BoxTitleCurrentAccounts")); - if ($user->rights->banque->lire) - { + if ($user->rights->banque->lire) { $sql = "SELECT rowid, ref, label, bank, number, courant, clos, rappro, url,"; $sql.= " code_banque, code_guichet, cle_rib, bic, iban_prefix as iban,"; $sql.= " domiciliation, proprio, owner_address,"; @@ -90,76 +90,77 @@ class box_comptes extends ModeleBoxes $sql.= " ORDER BY label"; $sql.= $db->plimit($max, 0); - dol_syslog(get_class($this)."::loadBox", LOG_DEBUG); - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); + dol_syslog(get_class($this)."::loadBox", LOG_DEBUG); + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); - $i = 0; - $solde_total = 0; + $line = 0; + $solde_total = array(); - $listofcurrencies=array(); - $account_static = new Account($db); - while ($i < $num) - { - $objp = $db->fetch_object($result); + $account_static = new Account($db); + while ($line < $num) { + $objp = $db->fetch_object($result); - $account_static->id = $objp->rowid; - $solde=$account_static->solde(0); + $account_static->id = $objp->rowid; + $account_static->label = $objp->label; + $account_static->number = $objp->number; + $solde=$account_static->solde(0); - $solde_total += $solde; + $solde_total[$objp->currency_code] += $solde; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/compta/bank/account.php?account=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $account_static->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->label, - 'url' => DOL_URL_ROOT."/compta/bank/account.php?account=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $objp->number, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left"', - 'text' => $objp->number - ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($solde, 0, $langs, 0, -1, -1, $objp->currency_code) + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right"', - 'text' => price($solde, 0, $langs, 0, 0, -1, $objp->currency_code) - ); + $line++; + } - $listofcurrencies[$objp->currency_code]=1; - $i++; - } + // Total + foreach ($solde_total as $key=>$solde) { + $this->info_box_contents[$line][] = array( + 'tr' => 'class="liste_total"', + 'td' => 'align="left" class="liste_total"', + 'text' => $langs->trans('Total').' '.$key, + ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" class="liste_total"', + 'text' => ' ' + ); - // Total - if (count($listofcurrencies) <= 1) - { - $this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'align="right" class="liste_total"', - 'text' => $langs->trans('Total') - ); - $this->info_box_contents[$i][1] = array('td' => 'align="right" class="liste_total"', - 'text' => ' ' - ); - $this->info_box_contents[$i][2] = array('td' => 'align="right" class="liste_total"', - 'text' => ' ' - ); - $totalamount=price($solde_total,0,$langs,0,0,-1,$conf->currency); - $this->info_box_contents[$i][3] = array('td' => 'align="right" class="liste_total"', - 'text' => $totalamount - ); - } + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" class="liste_total"', + 'text' => price($solde, 0, $langs, 0, -1, -1, $key) + ); + $line++; + } - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } } diff --git a/htdocs/core/boxes/box_contacts.php b/htdocs/core/boxes/box_contacts.php index e10c9ae7ed9..aaeabbb0572 100644 --- a/htdocs/core/boxes/box_contacts.php +++ b/htdocs/core/boxes/box_contacts.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -61,77 +62,82 @@ class box_contacts extends ModeleBoxes if ($user->rights->societe->lire) { - $sql = "SELECT sp.rowid, sp.lastname, sp.firstname, sp.civility as civility_id, sp.datec, sp.tms, sp.fk_soc,"; - $sql.= " s.nom as socname"; + $sql = "SELECT sp.rowid as id, sp.lastname, sp.firstname, sp.civility as civility_id, sp.datec, sp.tms, sp.fk_soc"; + $sql.= ", s.nom as socname"; + $sql.= ", s.code_client"; $sql.= " FROM ".MAIN_DB_PREFIX."socpeople as sp"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON sp.fk_soc = s.rowid"; if (! $user->rights->societe->client->voir && ! $user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE sp.entity IN (".getEntity('societe', 1).")"; if (! $user->rights->societe->client->voir && ! $user->societe_id) $sql.= " AND sp.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($user->societe_id) $sql.= " AND sp.fk_soc = $user->societe_id"; + if ($user->societe_id) $sql.= " AND sp.fk_soc = ".$user->societe_id; $sql.= " ORDER BY sp.tms DESC"; $sql.= $db->plimit($max, 0); $result = $db->query($sql); - if ($result) - { + if ($result) { $num = $db->num_rows($result); $contactstatic=new Contact($db); $societestatic=new Societe($db); - $i = 0; - while ($i < $num) - { + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); + $contactstatic->id=$objp->id; $contactstatic->lastname=$objp->lastname; $contactstatic->firstname=$objp->firstname; $contactstatic->civility_id=$objp->civility_id; - $societestatic->id=$objp->fk_soc; - $societestatic->name=$objp->socname; + $societestatic->id = $objp->fk_soc; + $societestatic->code_client = $objp->code_client; + $societestatic->name = $objp->socname; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/contact/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $contactstatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $contactstatic->getFullName($langs,0), - 'url' => DOL_URL_ROOT."/contact/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $societestatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => ($objp->fk_soc > 0?'company':''), - 'url' => ($objp->fk_soc > 0?DOL_URL_ROOT."/societe/soc.php?socid=".$objp->fk_soc:'')); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem, "day"), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => $societestatic->name, - 'url' => DOL_URL_ROOT."/societe/soc.php?socid=".$objp->fk_soc); + $line++; + } - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => dol_print_date($datem, "day")); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedContacts"), + ); - $i++; - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedContacts")); - - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('align' => 'left', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } - - } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_contracts.php b/htdocs/core/boxes/box_contracts.php index dc0ff8e5382..58b5dc7f1fa 100644 --- a/htdocs/core/boxes/box_contracts.php +++ b/htdocs/core/boxes/box_contracts.php @@ -1,5 +1,6 @@ + * Copyright (C) 2015 Frederic 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 @@ -77,10 +78,9 @@ class box_contracts extends ModeleBoxes $num = $db->num_rows($resql); $now=dol_now(); - $i = 0; + $line = 0; - while ($i < $num) - { + while ($line < $num) { $objp = $db->fetch_object($resql); $datec=$db->jdate($objp->datec); $dateterm=$db->jdate($objp->fin_validite); @@ -94,50 +94,69 @@ class box_contracts extends ModeleBoxes // fin_validite is no more on contract but on services // if ($objp->fk_statut == 1 && $dateterm < ($now - $conf->contrat->cloture->warning_delay)) { $late = img_warning($langs->trans("Late")); } - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/contrat/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" width="16"', + 'logo' => $this->boximg, + 'tooltip' => $langs->trans('Contract').': '.($objp->ref?$objp->ref:$objp->rowid), + 'url' => DOL_URL_ROOT."/contrat/card.php?id=".$objp->rowid, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => ($objp->ref?$objp->ref:$objp->rowid), // Some contracts have no ref - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/contrat/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => ($objp->ref?$objp->ref:$objp->rowid), // Some contracts have no ref + 'tooltip' => $langs->trans('Contract').': '.($objp->ref?$objp->ref:$objp->rowid), + 'text2'=> $late, + 'url' => DOL_URL_ROOT."/contrat/card.php?id=".$objp->rowid, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" width="16"', + 'logo' => 'company', + 'tooltip' => $langs->trans('Customer').': '.$objp->name, + 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid, + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => dol_trunc($objp->name,40), - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => dol_trunc($objp->name,40), + 'tooltip' => $langs->trans('Customer').': '.$objp->name, + 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid, + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => dol_print_date($datec,'day')); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datec,'day'), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right" class="nowrap"', - 'text' => $contractstatic->getLibStatut(6), - 'asis'=>1 - ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" class="nowrap"', + 'text' => $contractstatic->getLibStatut(6), + 'asis'=>1, + ); - $i++; - } + $line++; + } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedContracts")); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedContracts"), + ); - $db->free($resql); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else - { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } + $db->free($resql); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } } /** diff --git a/htdocs/core/boxes/box_external_rss.php b/htdocs/core/boxes/box_external_rss.php index 354e79151f1..f1db35e1614 100644 --- a/htdocs/core/boxes/box_external_rss.php +++ b/htdocs/core/boxes/box_external_rss.php @@ -3,6 +3,7 @@ * Copyright (C) 2003 Eric Seigne * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -98,22 +99,27 @@ class box_external_rss extends ModeleBoxes } else { - $this->info_box_head = array('text' => $title, - 'sublink' => $link, 'subtext'=>$langs->trans("LastRefreshDate").': '.($rssparser->getLastFetchDate()?dol_print_date($rssparser->getLastFetchDate(),"dayhourtext"):$langs->trans("Unknown")), 'subpicto'=>'object_bookmark'); + $this->info_box_head = array( + 'text' => $title, + 'sublink' => $link, + 'subtext'=>$langs->trans("LastRefreshDate").': '.($rssparser->getLastFetchDate()?dol_print_date($rssparser->getLastFetchDate(),"dayhourtext"):$langs->trans("Unknown")), + 'subpicto'=>'object_bookmark', + ); } // INFO on items $items=$rssparser->getItems(); + //print '
'.print_r($items,true).'
'; $nbitems=count($items); - for($i = 0; $i < $max && $i < $nbitems; $i++) + for($line = 0; $line < $max && $line < $nbitems; $line++) { - $item = $items[$i]; + $item = $items[$line]; // Feed common fields $href = $item['link']; $title = urldecode($item['title']); - $date = $item['date_timestamp']; // date will be empty if conversion into timestamp failed - if ($rssparser->getFormat() == 'rss') // If RSS + $date = $item['date_timestamp']; // date will be empty if conversion into timestamp failed + if ($rssparser->getFormat() == 'rss') // If RSS { if (! $date && isset($item['pubdate'])) $date=$item['pubdate']; if (! $date && isset($item['dc']['date'])) $date=$item['dc']['date']; @@ -134,23 +140,41 @@ class box_external_rss extends ModeleBoxes if (! $isutf8 && $conf->file->character_set_client == 'UTF-8') $title=utf8_encode($title); elseif ($isutf8 && $conf->file->character_set_client == 'ISO-8859-1') $title=utf8_decode($title); - $title=preg_replace("/([[:alnum:]])\?([[:alnum:]])/","\\1'\\2",$title); // Gere probleme des apostrophes mal codee/decodee par utf8 + $title=preg_replace("/([[:alnum:]])\?([[:alnum:]])/","\\1'\\2",$title); // Gere probleme des apostrophes mal codee/decodee par utf8 $title=preg_replace("/^\s+/","",$title); // Supprime espaces de debut $this->info_box_contents["$href"]="$title"; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => $href, - 'target' => 'newrss'); + $tooltip = $title; + $description = ! empty($item['description'])?$item['description']:''; + $isutf8 = utf8_check($description); + if (! $isutf8 && $conf->file->character_set_client == 'UTF-8') $description=utf8_encode($description); + elseif ($isutf8 && $conf->file->character_set_client == 'ISO-8859-1') $description=utf8_decode($description); + $description=preg_replace("/([[:alnum:]])\?([[:alnum:]])/","\\1'\\2",$description); + $description=preg_replace("/^\s+/","",$description); + $description=str_replace("\r\n","",$description); + $tooltip.= '
'.$description; - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $title, - 'url' => $href, - 'maxlength' => 64, - 'target' => 'newrss'); + $this->info_box_contents[$line][0] = array( + 'td' => 'align="left" width="16"', + 'logo' => $this->boximg, + 'url' => $href, + 'tooltip' => $tooltip, + 'target' => 'newrss', + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right" nowrap="1"', - 'text' => $date); + $this->info_box_contents[$line][1] = array( + 'td' => 'align="left"', + 'text' => $title, + 'url' => $href, + 'tooltip' => $tooltip, + 'maxlength' => 64, + 'target' => 'newrss', + ); + + $this->info_box_contents[$line][2] = array( + 'td' => 'align="right" nowrap="1"', + 'text' => $date, + ); } } diff --git a/htdocs/core/boxes/box_factures.php b/htdocs/core/boxes/box_factures.php index b0fdd6d9d09..d04c3e48a3b 100644 --- a/htdocs/core/boxes/box_factures.php +++ b/htdocs/core/boxes/box_factures.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -53,8 +54,11 @@ class box_factures extends ModeleBoxes $this->max=$max; - include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - $facturestatic=new Facture($db); + include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; + include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; + + $facturestatic=new Facture($db); + $societestatic = new Societe($db); $text = $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."CustomerBills",$max); $this->info_box_head = array( @@ -62,11 +66,16 @@ class box_factures extends ModeleBoxes 'limit'=> dol_strlen($text) ); - if ($user->rights->facture->lire) - { - $sql = "SELECT f.rowid as facid, f.facnumber, f.type, f.total as total_ht, f.datef as df"; + if ($user->rights->facture->lire) { + $sql = "SELECT f.rowid as facid"; + $sql.= ", f.facnumber, f.type, f.total as total_ht"; + $sql.= ", f.tva as total_tva"; + $sql.= ", f.total_ttc"; + $sql.= ", f.datef as df"; $sql.= ", f.paye, f.fk_statut, f.datec, f.tms"; - $sql.= ", s.nom as name, s.rowid as socid"; + $sql.= ", s.nom as name"; + $sql.= ", s.rowid as socid"; + $sql.= ", s.code_client"; $sql.= ", f.date_lim_reglement as datelimite"; $sql.= " FROM (".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -85,78 +94,87 @@ class box_factures extends ModeleBoxes $num = $db->num_rows($result); $now=dol_now(); - $i = 0; + $line = 0; $l_due_date = $langs->trans('Late').' ('.strtolower($langs->trans('DateEcheance')).': %s)'; - while ($i < $num) - { - $objp = $db->fetch_object($result); - $datelimite=$db->jdate($objp->datelimite); - $date=$db->jdate($objp->df); - $datem=$db->jdate($objp->tms); + while ($line < $num) { + $objp = $db->fetch_object($result); + $datelimite = $db->jdate($objp->datelimite); + $date = $db->jdate($objp->df); + $datem = $db->jdate($objp->tms); + $facturestatic->id = $objp->facid; + $facturestatic->ref = $objp->facnumber; + $facturestatic->type = $objp->type; + $facturestatic->total_ht = $objp->total_ht; + $facturestatic->total_tva = $objp->total_tva; + $facturestatic->total_ttc = $objp->total_ttc; + $societestatic->id = $objp->socid; + $societestatic->name = $objp->name; + $societestatic->code_client = $objp->code_client; - $picto='bill'; - if ($objp->type == 1) $picto.='r'; - if ($objp->type == 2) $picto.='a'; $late = ''; if ($objp->paye == 0 && ($objp->fk_statut != 2 && $objp->fk_statut != 3) && $datelimite < ($now - $conf->facture->client->warning_delay)) { $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day')));} - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $picto, - 'url' => DOL_URL_ROOT."/compta/facture.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $facturestatic->getNomUrl(1), + 'text2'=> $late, + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->facnumber, - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/compta/facture.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $societestatic->getNomUrl(1, '', 40), + 'asis' => 1, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => $objp->name, - 'maxlength'=>40, - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($date,'day'), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => price($objp->total_ht), - ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right"', - 'text' => dol_print_date($date,'day'), - ); + $line++; + } - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3)); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedInvoices"), + ); - $i++; - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedInvoices")); - - $db->free($result); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } - } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } + } /** - * Method to show box + * Method to show box * - * @param array $head Array with properties of box title - * @param array $contents Array with properties of box lines - * @return void + * @param array $head Array with properties of box title + * @param array $contents Array with properties of box lines + * @return void */ function showBox($head = null, $contents = null) { diff --git a/htdocs/core/boxes/box_factures_fourn.php b/htdocs/core/boxes/box_factures_fourn.php index 914f442bea4..2f31fa61f78 100644 --- a/htdocs/core/boxes/box_factures_fourn.php +++ b/htdocs/core/boxes/box_factures_fourn.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -18,9 +19,9 @@ */ /** - * \file htdocs/core/boxes/box_factures_fourn.php + * \file htdocs/core/boxes/box_factures_fourn.php * \ingroup supplier - * \brief Fichier de gestion d'une box des factures fournisseurs + * \brief Fichier de gestion d'une box des factures fournisseurs */ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; @@ -55,7 +56,10 @@ class box_factures_fourn extends ModeleBoxes $this->max=$max; include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; - $facturestatic=new FactureFournisseur($db); + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + + $facturestatic = new FactureFournisseur($db); + $thirdpartytmp = new Fournisseur($db); $this->info_box_head = array( 'text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."SupplierBills",$max) @@ -64,7 +68,12 @@ class box_factures_fourn extends ModeleBoxes if ($user->rights->fournisseur->facture->lire) { $sql = "SELECT s.nom as name, s.rowid as socid,"; - $sql.= " f.rowid as facid, f.ref, f.ref_supplier, f.total_ht,"; + $sql.= " s.code_fournisseur,"; + $sql.= " s.logo,"; + $sql.= " f.rowid as facid, f.ref, f.ref_supplier,"; + $sql.= " f.total_ht,"; + $sql.= " f.total_tva,"; + $sql.= " f.total_ttc,"; $sql.= " f.paye, f.fk_statut,"; $sql.= ' f.datef as df,'; $sql.= ' f.datec as datec,'; @@ -86,67 +95,90 @@ class box_factures_fourn extends ModeleBoxes $num = $db->num_rows($result); $now=dol_now(); - $i = 0; + $line = 0; $l_due_date = $langs->trans('Late').' ('.$langs->trans('DateEcheance').': %s)'; - while ($i < $num) - { + while ($line < $num) { $objp = $db->fetch_object($result); $datelimite=$db->jdate($objp->datelimite); $date=$db->jdate($objp->df); $datem=$db->jdate($objp->tms); + $facturestatic->id = $objp->facid; + $facturestatic->ref = $objp->ref; + $facturestatic->total_ht = $objp->total_ht; + $facturestatic->total_tva = $objp->total_tva; + $facturestatic->total_ttc = $objp->total_ttc; + $thirdpartytmp->id = $objp->socid; + $thirdpartytmp->name = $objp->name; + $thirdpartytmp->fournisseur = 1; + $thirdpartytmp->code_fournisseur = $objp->code_fournisseur; + $thirdpartytmp->logo = $objp->logo; $late = ''; if ($objp->paye == 0 && $datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date, dol_print_date($datelimite,'day'))); - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $facturestatic->getNomUrl(1), + 'text2'=> $late, + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => ($objp->ref?$objp->ref:$objp->facid), - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $objp->ref_supplier, + 'tooltip' => $langs->trans('SupplierInvoice').': '.($objp->ref?$objp->ref:$objp->facid).'
'.$langs->trans('RefSupplier').': '.$objp->ref_supplier, + 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left"', - 'text' => $objp->ref_supplier, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartytmp->getNomUrl(1, 'supplier'), + 'asis' => 1, + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($date,'day'), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right"', - 'text' => dol_print_date($date,'day')); + $fac = new FactureFournisseur($db); + $fac->fetch($objp->facid); + $alreadypaid=$fac->getSommePaiement(); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3,$alreadypaid,$objp->type), + ); - $fac = new FactureFournisseur($db); - $fac->fetch($objp->facid); - $alreadypaid=$fac->getSommePaiement(); - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3,$alreadypaid,$objp->type)); + $line++; + } - $i++; - } + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoModifiedSupplierBills"), + ); - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoModifiedSupplierBills")); - - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->transnoentities("ReadPermissionNotAllowed")); - } - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->transnoentities("ReadPermissionNotAllowed"), + ); + } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_factures_fourn_imp.php b/htdocs/core/boxes/box_factures_fourn_imp.php index aa217f1c436..ecea4a27fd1 100644 --- a/htdocs/core/boxes/box_factures_fourn_imp.php +++ b/htdocs/core/boxes/box_factures_fourn_imp.php @@ -1,6 +1,7 @@ * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -17,9 +18,9 @@ */ /** - * \file htdocs/core/boxes/box_factures_fourn_imp.php + * \file htdocs/core/boxes/box_factures_fourn_imp.php * \ingroup fournisseur - * \brief Fichier de gestion d'une box des factures fournisseurs impayees + * \brief Fichier de gestion d'une box des factures fournisseurs impayees */ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; @@ -29,9 +30,9 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; */ class box_factures_fourn_imp extends ModeleBoxes { - var $boxcode="oldestunpaidsupplierbills"; - var $boximg="object_bill"; - var $boxlabel="BoxOldestUnpaidSupplierBills"; + var $boxcode = "oldestunpaidsupplierbills"; + var $boximg = "object_bill"; + var $boxlabel = "BoxOldestUnpaidSupplierBills"; var $depends = array("facture","fournisseur"); var $db; @@ -55,6 +56,8 @@ class box_factures_fourn_imp extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; $facturestatic=new FactureFournisseur($db); + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $thirdpartytmp=new Fournisseur($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleOldestUnpaidSupplierBills",$max)); @@ -63,6 +66,9 @@ class box_factures_fourn_imp extends ModeleBoxes $sql = "SELECT s.nom as name, s.rowid as socid,"; $sql.= " f.rowid as facid, f.ref, f.ref_supplier, f.date_lim_reglement as datelimite,"; $sql.= " f.amount, f.datef as df,"; + $sql.= " f.total_ht as total_ht,"; + $sql.= " f.tva as total_tva,"; + $sql.= " f.total_ttc,"; $sql.= " f.paye, f.fk_statut, f.type"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ",".MAIN_DB_PREFIX."facture_fourn as f"; @@ -82,66 +88,86 @@ class box_factures_fourn_imp extends ModeleBoxes $num = $db->num_rows($result); $now=dol_now(); - $i = 0; + $line = 0; $l_due_date = $langs->trans('Late').' ('.$langs->trans('DateEcheance').': %s)'; - while ($i < $num) + while ($line < $num) { $objp = $db->fetch_object($result); $datelimite=$db->jdate($objp->datelimite); + $thirdpartytmp->id = $objp->socid; + $thirdpartytmp->name = $objp->name; + $thirdpartytmp->code_client = $objp->code_client; + $thirdpartytmp->logo = $objp->logo; $late=''; if ($datelimite && $datelimite < ($now - $conf->facture->fournisseur->warning_delay)) $late=img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $tooltip = $langs->trans('SupplierInvoice') . ': ' . ($objp->ref?$objp->ref:$objp->facid) . '
' . $langs->trans('RefSupplier') . ': ' . $objp->ref_supplier; + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" width="16"', + 'logo' => $this->boximg, + 'tooltip' => $tooltip, + 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => ($objp->ref?$objp->ref:$objp->facid), - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => ($objp->ref?$objp->ref:$objp->facid), + 'text2'=> $late, + 'tooltip' => $tooltip, + 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left"', - 'text' => $objp->ref_supplier, - 'url' => DOL_URL_ROOT."/fourn/facture/card.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartytmp->getNomUrl(1, '', 40), + 'asis' => 1, + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); - - $this->info_box_contents[$i][5] = array('td' => 'align="right"', - 'text' => dol_print_date($datelimite,'day')); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datelimite,'day'), + ); $fac = new FactureFournisseur($db); $fac->fetch($objp->facid); $alreadypaid=$fac->getSommePaiement(); - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3,$alreadypaid,$objp->type)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3,$alreadypaid,$objp->type), + ); - $i++; - } + $line++; + } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoUnpaidSupplierBills")); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoUnpaidSupplierBills"), + ); - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } - } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_factures_imp.php b/htdocs/core/boxes/box_factures_imp.php index e6df1530f8d..42e889138cc 100644 --- a/htdocs/core/boxes/box_factures_imp.php +++ b/htdocs/core/boxes/box_factures_imp.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -57,15 +58,24 @@ class box_factures_imp extends ModeleBoxes $this->max=$max; include_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; - $facturestatic=new Facture($db); + include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; + + $facturestatic = new Facture($db); + $societestatic = new Societe($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleOldestUnpaidCustomerBills",$max)); if ($user->rights->facture->lire) { $sql = "SELECT s.nom as name, s.rowid as socid,"; + $sql.= " s.code_client,"; + $sql.= " s.logo,"; $sql.= " f.facnumber, f.date_lim_reglement as datelimite,"; + $sql.= " f.type,"; $sql.= " f.amount, f.datef as df,"; + $sql.= " f.total as total_ht,"; + $sql.= " f.tva as total_tva,"; + $sql.= " f.total_ttc,"; $sql.= " f.paye, f.fk_statut, f.rowid as facid"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s,".MAIN_DB_PREFIX."facture as f"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -85,59 +95,77 @@ class box_factures_imp extends ModeleBoxes $num = $db->num_rows($result); $now=dol_now(); - $i = 0; + $line = 0; $l_due_date = $langs->trans('Late').' ('.strtolower($langs->trans('DateEcheance')).': %s)'; - while ($i < $num) + while ($line < $num) { $objp = $db->fetch_object($result); $datelimite=$db->jdate($objp->datelimite); + $facturestatic->id = $objp->facid; + $facturestatic->ref = $objp->facnumber; + $facturestatic->type = $objp->type; + $facturestatic->total_ht = $objp->total_ht; + $facturestatic->total_tva = $objp->total_tva; + $facturestatic->total_ttc = $objp->total_ttc; + $societestatic->id = $objp->socid; + $societestatic->name = $objp->name; + $societestatic->client = 1; + $societestatic->code_client = $objp->code_client; + $societestatic->logo = $objp->logo; $late=''; if ($datelimite < ($now - $conf->facture->client->warning_delay)) $late = img_warning(sprintf($l_due_date,dol_print_date($datelimite,'day'))); - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/compta/facture.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $facturestatic->getNomUrl(1), + 'text2'=> $late, + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->facnumber, - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/compta/facture.php?facid=".$objp->facid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $societestatic->getNomUrl(1, '', 44), + 'asis' => 1, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => $objp->name, - 'maxlength'=>44, - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datelimite,'day'), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => dol_print_date($datelimite,'day'), - ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', - 'text' => $facturestatic->LibStatut($objp->paye,$objp->fk_statut,3)); - - $i++; + $line++; } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoUnpaidCustomerBills")); + if ($num==0) $this->info_box_contents[$line][0] = array('td' => 'align="center"','text'=>$langs->trans("NoUnpaidCustomerBills")); $db->free($result); } else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); } } else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_ficheinter.php b/htdocs/core/boxes/box_ficheinter.php index 9cce737eb9a..decf5e564f0 100644 --- a/htdocs/core/boxes/box_ficheinter.php +++ b/htdocs/core/boxes/box_ficheinter.php @@ -1,20 +1,21 @@ * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2015 Frederic 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 . -*/ + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ /** * \file htdocs/core/boxes/box_ficheinter.php diff --git a/htdocs/core/boxes/box_fournisseurs.php b/htdocs/core/boxes/box_fournisseurs.php index f233221ccaa..e3e6061d803 100644 --- a/htdocs/core/boxes/box_fournisseurs.php +++ b/htdocs/core/boxes/box_fournisseurs.php @@ -1,6 +1,7 @@ * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -57,12 +58,16 @@ class box_fournisseurs extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $thirdpartystatic=new Societe($db); + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $thirdpartytmp=new Fournisseur($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleLastModifiedSuppliers",$max)); if ($user->rights->societe->lire) { - $sql = "SELECT s.nom as name, s.rowid as socid, s.datec, s.tms, s.status"; + $sql = "SELECT s.nom as name, s.rowid as socid, s.datec, s.tms, s.status,"; + $sql.= " s.code_fournisseur,"; + $sql.= " s.logo"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.fournisseur = 1"; @@ -77,43 +82,54 @@ class box_fournisseurs extends ModeleBoxes { $num = $db->num_rows($result); - $i = 0; - while ($i < $num) + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); + $thirdpartytmp->id = $objp->socid; + $thirdpartytmp->name = $objp->name; + $thirdpartytmp->code_client = $objp->code_client; + $thirdpartytmp->logo = $objp->logo; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartytmp->getNomUrl(1, '', 40), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem, "day"), + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => dol_print_date($datem, "day")); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $thirdpartystatic->LibStatut($objp->status,3), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right" width="18"', - 'text' => $thirdpartystatic->LibStatut($objp->status,3)); - - $i++; + $line++; } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedSuppliers")); + if ($num==0) $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedSuppliers"), + ); - $db->free($result); + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_graph_invoices_permonth.php b/htdocs/core/boxes/box_graph_invoices_permonth.php index 9b2a5437b8a..7b797b98ab0 100644 --- a/htdocs/core/boxes/box_graph_invoices_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_permonth.php @@ -215,9 +215,9 @@ class box_graph_invoices_permonth extends ModeleBoxes $stringtoshow.='
'; $stringtoshow.=''; $stringtoshow.=''; - $stringtoshow.=' '.$langs->trans("NumberOfBillsByMonth"); + $stringtoshow.=' '.$langs->trans("NumberOfBillsByMonth"); $stringtoshow.='   '; - $stringtoshow.=' '.$langs->trans("AmountOfBillsByMonthHT"); + $stringtoshow.=' '.$langs->trans("AmountOfBillsByMonthHT"); $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; $stringtoshow.=''; diff --git a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php index 7c2aa53da97..31d9f811257 100644 --- a/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_invoices_supplier_permonth.php @@ -214,9 +214,9 @@ class box_graph_invoices_supplier_permonth extends ModeleBoxes $stringtoshow.=''; $stringtoshow.=''; $stringtoshow.=''; - $stringtoshow.=' '.$langs->trans("NumberOfBillsByMonth"); + $stringtoshow.=' '.$langs->trans("NumberOfBillsByMonth"); $stringtoshow.='   '; - $stringtoshow.=' '.$langs->trans("AmountOfBillsByMonthHT"); + $stringtoshow.=' '.$langs->trans("AmountOfBillsByMonthHT"); $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; $stringtoshow.=''; diff --git a/htdocs/core/boxes/box_graph_orders_permonth.php b/htdocs/core/boxes/box_graph_orders_permonth.php index 75f0f60660f..c42ac88074a 100644 --- a/htdocs/core/boxes/box_graph_orders_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_permonth.php @@ -215,9 +215,9 @@ class box_graph_orders_permonth extends ModeleBoxes $stringtoshow.=''; $stringtoshow.=''; $stringtoshow.=''; - $stringtoshow.=' '.$langs->trans("NumberOfOrdersByMonth"); + $stringtoshow.=' '.$langs->trans("NumberOfOrdersByMonth"); $stringtoshow.='   '; - $stringtoshow.=' '.$langs->trans("AmountOfOrdersByMonthHT"); + $stringtoshow.=' '.$langs->trans("AmountOfOrdersByMonthHT"); $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; $stringtoshow.=''; diff --git a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php index 70d62cac348..2f7ecb3cbda 100644 --- a/htdocs/core/boxes/box_graph_orders_supplier_permonth.php +++ b/htdocs/core/boxes/box_graph_orders_supplier_permonth.php @@ -214,9 +214,9 @@ class box_graph_orders_supplier_permonth extends ModeleBoxes $stringtoshow.=''; $stringtoshow.=''; $stringtoshow.=''; - $stringtoshow.=' '.$langs->trans("NumberOfOrdersByMonth"); + $stringtoshow.=' '.$langs->trans("NumberOfOrdersByMonth"); $stringtoshow.='   '; - $stringtoshow.=' '.$langs->trans("AmountOfOrdersByMonthHT"); + $stringtoshow.=' '.$langs->trans("AmountOfOrdersByMonthHT"); $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; $stringtoshow.=''; diff --git a/htdocs/core/boxes/box_graph_product_distribution.php b/htdocs/core/boxes/box_graph_product_distribution.php index 74d106b7f69..b81bd2f9578 100644 --- a/htdocs/core/boxes/box_graph_product_distribution.php +++ b/htdocs/core/boxes/box_graph_product_distribution.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2013-2015 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -70,18 +70,6 @@ class box_graph_product_distribution extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; - $text = $langs->trans("BoxProductDistribution",$max); - $this->info_box_head = array( - 'text' => $text, - 'limit'=> dol_strlen($text), - 'graph'=> 1, - 'sublink'=>'', - 'subtext'=>$langs->trans("Filter"), - 'subpicto'=>'filter.png', - 'subclass'=>'linkobject', - 'target'=>'none' // Set '' to get target="_blank" - ); - $param_year='DOLUSERCOOKIE_box_'.$this->boxcode.'_year'; $param_showinvoicenb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showinvoicenb'; $param_showpropalnb='DOLUSERCOOKIE_box_'.$this->boxcode.'_showpropalnb'; @@ -110,6 +98,20 @@ class box_graph_product_distribution extends ModeleBoxes $nowarray=dol_getdate(dol_now(),true); if (empty($year)) $year=$nowarray['year']; + + $text = $langs->trans("BoxProductDistribution",$max).' - '.$langs->trans("Year").': '.$year; + $this->info_box_head = array( + 'text' => $text, + 'limit'=> dol_strlen($text), + 'graph'=> 1, + 'sublink'=>'', + 'subtext'=>$langs->trans("Filter"), + 'subpicto'=>'filter.png', + 'subclass'=>'linkobject', + 'target'=>'none' // Set '' to get target="_blank" + ); + + $nbofgraph=0; if ($showinvoicenb) $nbofgraph++; if ($showpropalnb) $nbofgraph++; @@ -322,17 +324,17 @@ class box_graph_product_distribution extends ModeleBoxes $stringtoshow.=''; if (! empty($conf->facture->enabled) || ! empty($user->rights->facture->lire)) { - $stringtoshow.=' '.$langs->trans("ForCustomersInvoices"); + $stringtoshow.=' '.$langs->trans("ForCustomersInvoices"); $stringtoshow.='   '; } if (! empty($conf->propal->enabled) || ! empty($user->rights->propal->lire)) { - $stringtoshow.=' '.$langs->trans("ForProposals"); + $stringtoshow.=' '.$langs->trans("ForProposals"); $stringtoshow.=' '; } if (! empty($conf->commande->enabled) || ! empty($user->rights->commande->lire)) { - $stringtoshow.=' '.$langs->trans("ForCustomersOrders"); + $stringtoshow.=' '.$langs->trans("ForCustomersOrders"); } $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; diff --git a/htdocs/core/boxes/box_graph_propales_permonth.php b/htdocs/core/boxes/box_graph_propales_permonth.php index fd866f5df89..8ef7b25969f 100644 --- a/htdocs/core/boxes/box_graph_propales_permonth.php +++ b/htdocs/core/boxes/box_graph_propales_permonth.php @@ -218,9 +218,9 @@ class box_graph_propales_permonth extends ModeleBoxes $stringtoshow.=''; $stringtoshow.=''; $stringtoshow.=''; - $stringtoshow.=' '.$langs->trans("NumberOfProposalsByMonth"); + $stringtoshow.=' '.$langs->trans("NumberOfProposalsByMonth"); $stringtoshow.='   '; - $stringtoshow.=' '.$langs->trans("AmountOfProposalsByMonthHT"); + $stringtoshow.=' '.$langs->trans("AmountOfProposalsByMonthHT"); $stringtoshow.='
'; $stringtoshow.=$langs->trans("Year").' '; $stringtoshow.=''; diff --git a/htdocs/core/boxes/box_members.php b/htdocs/core/boxes/box_members.php index 4760a3aaf89..f871226b4e9 100644 --- a/htdocs/core/boxes/box_members.php +++ b/htdocs/core/boxes/box_members.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -95,8 +96,8 @@ class box_members extends ModeleBoxes { $num = $db->num_rows($result); - $i = 0; - while ($i < $num) + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datec=$db->jdate($objp->datec); @@ -104,6 +105,7 @@ class box_members extends ModeleBoxes $memberstatic->lastname=$objp->lastname; $memberstatic->firstname=$objp->firstname; + $memberstatic->ref = $objp->rowid; if (! empty($objp->fk_soc)) { $memberstatic->socid = $objp->fk_soc; @@ -113,39 +115,53 @@ class box_members extends ModeleBoxes $memberstatic->name=$objp->company; } - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/adherents/card.php?rowid=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $memberstatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $memberstatic->getFullName($langs), - 'url' => DOL_URL_ROOT."/adherents/card.php?rowid=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $memberstatic->getFullName($langs), + 'url' => DOL_URL_ROOT."/adherents/card.php?rowid=".$objp->rowid, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => dol_print_date($datem, "day")); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem, "day"), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right" width="18"', - 'text' => $memberstatic->LibStatut($objp->status,$objp->cotisation,$db->jdate($objp->date_end_subscription),3)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $memberstatic->LibStatut($objp->status,$objp->cotisation,$db->jdate($objp->date_end_subscription),3), + ); - $i++; - } + $line++; + } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedCustomers")); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedCustomers"), + ); - $db->free($result); - } - else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('align' => 'left', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'align' => 'left', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } - } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_produits.php b/htdocs/core/boxes/box_produits.php index d3772ff65f1..509502183af 100644 --- a/htdocs/core/boxes/box_produits.php +++ b/htdocs/core/boxes/box_produits.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -63,7 +64,7 @@ class box_produits extends ModeleBoxes if ($user->rights->produit->lire || $user->rights->service->lire) { - $sql = "SELECT p.rowid, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy"; + $sql = "SELECT p.rowid, p.label, p.ref, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.fk_price_expression"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= ' WHERE p.entity IN ('.getEntity($productstatic->element, 1).')'; if (empty($user->rights->produit->lire)) $sql.=' AND p.fk_product_type != 0'; @@ -75,8 +76,8 @@ class box_produits extends ModeleBoxes if ($result) { $num = $db->num_rows($result); - $i = 0; - while ($i < $num) + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datem=$db->jdate($objp->tms); @@ -98,58 +99,92 @@ class box_produits extends ModeleBoxes $objp->label = $objtp->label; } } + $productstatic->id = $objp->rowid; + $productstatic->ref = $objp->ref; + $productstatic->type = $objp->fk_product_type; + $productstatic->label = $objp->label; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => ($objp->fk_product_type==1?'object_service':'object_product'), - 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $productstatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->label, - 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $objp->label, + ); - if ($objp->price_base_type == 'HT') - { - $price=price($objp->price); - $price_base_type=$langs->trans("HT"); - } - else - { - $price=price($objp->price_ttc); - $price_base_type=$langs->trans("TTC"); - } - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $price); + if (empty($objp->fk_price_expression)) { + $price_base_type=$langs->trans($objp->price_base_type); + $price=($objp->price_base_type == 'HT')?price($objp->price):$price=price($objp->price_ttc); + } + else //Parse the dinamic price + { + $productstatic->fetch($objp->rowid, '', '', 1); + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProduct($productstatic); + if ($price_result >= 0) { + if ($objp->price_base_type == 'HT') + { + $price_base_type=$langs->trans("HT"); + } + else + { + $price_result = $price_result * (1 + ($productstatic->tva_tx / 100)); + $price_base_type=$langs->trans("TTC"); + } + $price=price($price_result); + } + } + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => $price, + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left" class="nowrap"', - 'text' => $price_base_type); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" class="nowrap"', + 'text' => $price_base_type, + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => dol_print_date($datem,'day')); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem,'day'), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', - 'text' => $productstatic->LibStatut($objp->tosell,3,0)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $productstatic->LibStatut($objp->tosell,3,0), + ); - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $productstatic->LibStatut($objp->tobuy,3,1)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $productstatic->LibStatut($objp->tobuy,3,1), + ); - $i++; - } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedProducts")); + $line++; + } + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedProducts"), + ); - $db->free($result); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } + } /** * Method to show box diff --git a/htdocs/core/boxes/box_produits_alerte_stock.php b/htdocs/core/boxes/box_produits_alerte_stock.php index 1079f623492..06442571b6e 100644 --- a/htdocs/core/boxes/box_produits_alerte_stock.php +++ b/htdocs/core/boxes/box_produits_alerte_stock.php @@ -3,6 +3,8 @@ * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005-2012 Maxime Kohlhaas + * Copyright (C) 2015 Frederic France + * Copyright (C) 2015 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 @@ -64,7 +66,7 @@ class box_produits_alerte_stock extends ModeleBoxes if ($user->rights->produit->lire || $user->rights->service->lire) { - $sql = "SELECT p.rowid, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte,"; + $sql = "SELECT p.rowid, p.label, p.price, p.ref, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte,"; $sql.= " SUM(".$db->ifsql("s.reel IS NULL","0","s.reel").") as total_stock"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as s on p.rowid = s.fk_product"; @@ -72,7 +74,7 @@ class box_produits_alerte_stock extends ModeleBoxes $sql.= " AND p.tosell = 1 AND p.seuil_stock_alerte > 0"; if (empty($user->rights->produit->lire)) $sql.=' AND p.fk_product_type != 0'; if (empty($user->rights->service->lire)) $sql.=' AND p.fk_product_type != 1'; - $sql.= " GROUP BY p.rowid, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte"; + $sql.= " GROUP BY p.rowid, p.ref, p.label, p.price, p.price_base_type, p.price_ttc, p.fk_product_type, p.tms, p.tosell, p.tobuy, p.seuil_stock_alerte"; $sql.= " HAVING SUM(".$db->ifsql("s.reel IS NULL","0","s.reel").") < p.seuil_stock_alerte"; $sql.= $db->order('p.seuil_stock_alerte', 'DESC'); $sql.= $db->plimit($max, 0); @@ -82,9 +84,8 @@ class box_produits_alerte_stock extends ModeleBoxes { $langs->load("stocks"); $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $datem=$db->jdate($objp->tms); @@ -105,57 +106,90 @@ class box_produits_alerte_stock extends ModeleBoxes $objp->label = $objtp->label; } } + $productstatic->id = $objp->rowid; + $productstatic->ref = $objp->ref; + $productstatic->type = $objp->fk_product_type; + $productstatic->label = $objp->label; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => ($objp->fk_product_type==1?'object_service':'object_product'), - 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $productstatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->label, - 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $objp->label, + ); - if ($objp->price_base_type == 'HT') - { - $price=price($objp->price); - $price_base_type=$langs->trans("HT"); - } - else - { - $price=price($objp->price_ttc); - $price_base_type=$langs->trans("TTC"); - } - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $price); + if (empty($objp->fk_price_expression)) + { + $price_base_type=$langs->trans($objp->price_base_type); + $price=($objp->price_base_type == 'HT')?price($objp->price):$price=price($objp->price_ttc); + } + else //Parse the dinamic price + { + $productstatic->fetch($objp->rowid, '', '', 1); + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProduct($productstatic); + if ($price_result >= 0) { + if ($objp->price_base_type == 'HT') + { + $price_base_type=$langs->trans("HT"); + } + else + { + $price_result = $price_result * (1 + ($productstatic->tva_tx / 100)); + $price_base_type=$langs->trans("TTC"); + } + $price=price($price_result); + } + } - $this->info_box_contents[$i][3] = array('td' => 'align="left" class="nowrap"', - 'text' => $price_base_type); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => $price, + ); - $this->info_box_contents[$i][4] = array('td' => 'align="center"', + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" class="nowrap"', + 'text' => $price_base_type, + ); + + $this->info_box_contents[$line][] = array('td' => 'align="center"', 'text' => $objp->total_stock . ' / '.$objp->seuil_stock_alerte, 'text2'=>img_warning($langs->transnoentitiesnoconv("StockLowerThanLimit"))); - $this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', + $this->info_box_contents[$line][] = array('td' => 'align="right" width="18"', 'text' => $productstatic->LibStatut($objp->tosell,3,0)); - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', + $this->info_box_contents[$line][] = array('td' => 'align="right" width="18"', 'text' => $productstatic->LibStatut($objp->tobuy,3,1)); - $i++; - } - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoTooLowStockProducts")); + $line++; + } + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoTooLowStockProducts"), + ); $db->free($result); } else { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); } } else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_project.php b/htdocs/core/boxes/box_project.php index 57863100999..703d35b408b 100644 --- a/htdocs/core/boxes/box_project.php +++ b/htdocs/core/boxes/box_project.php @@ -1,6 +1,8 @@ * Copyright (C) 2014 Marcos García + * Copyright (C) 2015 Frederic 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 @@ -16,9 +18,9 @@ */ /** - * \file htdocs/core/boxes/box_activite.php - * \ingroup projet - * \brief Module to show Projet activity of the current Year + * \file htdocs/core/boxes/box_activite.php + * \ingroup projet + * \brief Module to show Projet activity of the current Year */ include_once(DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php"); @@ -37,23 +39,27 @@ class box_project extends ModeleBoxes var $info_box_head = array(); var $info_box_contents = array(); - /** - * \brief Constructeur de la classe - */ - function box_project() - { - global $langs; - $langs->load("boxes"); - $langs->load("projects"); + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param string $param More parameters + */ + function __construct($db,$param='') + { + global $langs; + $langs->load("boxes"); + $langs->load("projects"); - $this->boxlabel="Projects"; - } + $this->db = $db; + $this->boxlabel="Projects"; + } /** * Load data for box to show them later * - * @param int $max Maximum number of records to load - * @return void + * @param int $max Maximum number of records to load + * @return void */ function loadBox($max=5) { @@ -69,8 +75,7 @@ class box_project extends ModeleBoxes $this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); // list the summary of the orders - if ($user->rights->projet->lire) - { + if ($user->rights->projet->lire) { $sql = "SELECT p.rowid, p.ref, p.title, p.fk_statut "; $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; @@ -79,45 +84,54 @@ class box_project extends ModeleBoxes $sql.= " ORDER BY p.datec DESC"; $sql.= $db->plimit($max, 0); - $result = $db->query($sql); + $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { - $objp = $db->fetch_object($result); + if ($result) { + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) { + $objp = $db->fetch_object($result); - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => 'object_project', - 'url' => DOL_URL_ROOT."/projet/card.php?id=".$objp->rowid); + $tooltip = $langs->trans('Project') . ': ' . $objp->ref; + $this->info_box_contents[$i][0] = array( + 'td' => 'align="left" width="16"', + 'logo' => 'object_project', + 'tooltip' => $tooltip, + 'url' => DOL_URL_ROOT."/projet/card.php?id=".$objp->rowid, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->ref, - 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid); + $this->info_box_contents[$i][1] = array( + 'td' => 'align="left"', + 'text' => $objp->ref, + 'tooltip' => $tooltip, + 'url' => DOL_URL_ROOT."/product/card.php?id=".$objp->rowid, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left"', - 'text' => $objp->title - ); + $this->info_box_contents[$i][2] = array( + 'td' => 'align="left"', + 'text' => $objp->title, + ); $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 = ".$conf->entity; $resultTask = $db->query($sql); - if ($resultTask) - { + if ($resultTask) { $objTask = $db->fetch_object($resultTask); - $this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format($objTask->nb, 0, ',', ' ')." ".$langs->trans("Tasks")); + $this->info_box_contents[$i][3] = array( + 'td' => 'align="right"', + 'text' => number_format($objTask->nb, 0, ',', ' ')." ".$langs->trans("Tasks"), + ); if ($objTask->nb > 0 ) - $this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => number_format(($objTask->totprogress/$objTask->nb), 0, ',', ' ')."%"); + $this->info_box_contents[$i][4] = array( + 'td' => 'align="right"', + 'text' => number_format(($objTask->totprogress/$objTask->nb), 0, ',', ' ')."%", + ); else $this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A "); $totalnbTask += $objTask->nb; - } - else - { + } else { $this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => number_format(0, 0, ',', ' ')); $this->info_box_contents[$i][4] = array('td' => 'align="right"', 'text' => "N/A "); } @@ -129,11 +143,28 @@ class box_project extends ModeleBoxes // Add the sum à the bottom of the boxes - $this->info_box_contents[$i][0] = array('tr' => 'class="liste_total"', 'td' => 'align="left" ', 'text' => $langs->trans("Total")." ".$textHead); - $this->info_box_contents[$i][1] = array('td' => '', 'text' => ""); - $this->info_box_contents[$i][2] = array('td' => 'align="right" ', 'text' => number_format($num, 0, ',', ' ')." ".$langs->trans("Projects")); - $this->info_box_contents[$i][3] = array('td' => 'align="right" ', 'text' => number_format($totalnbTask, 0, ',', ' ')." ".$langs->trans("Tasks")); - $this->info_box_contents[$i][4] = array('td' => '', 'text' => ""); + $this->info_box_contents[$i][0] = array( + 'tr' => 'class="liste_total"', + 'td' => 'align="left" ', + 'text' => " ", + ); + $this->info_box_contents[$i][1] = array( + 'td' => '', + 'text' => $langs->trans("Total")." ".$textHead, + 'text' => " ", + ); + $this->info_box_contents[$i][2] = array( + 'td' => 'align="right" ', + 'text' => number_format($num, 0, ',', ' ')." ".$langs->trans("Projects"), + ); + $this->info_box_contents[$i][3] = array( + 'td' => 'align="right" ', + 'text' => number_format($totalnbTask, 0, ',', ' ')." ".$langs->trans("Tasks"), + ); + $this->info_box_contents[$i][4] = array( + 'td' => '', + 'text' => " ", + ); } diff --git a/htdocs/core/boxes/box_propales.php b/htdocs/core/boxes/box_propales.php index e9bd47b2a9e..c14cf07a51c 100644 --- a/htdocs/core/boxes/box_propales.php +++ b/htdocs/core/boxes/box_propales.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -56,14 +57,16 @@ class box_propales extends ModeleBoxes $this->max=$max; include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; + include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; $propalstatic=new Propal($db); + $societestatic = new Societe($db); - $this->info_box_head = array('text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."Propals",$max)); + $this->info_box_head = array('text' => $langs->trans("BoxTitleLast".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."Propals",$max)); if ($user->rights->propale->lire) { - $sql = "SELECT s.nom as name, s.rowid as socid,"; - $sql.= " p.rowid, p.ref, p.fk_statut, p.datep as dp, p.datec, p.fin_validite, p.date_cloture, p.total_ht, p.tms"; + $sql = "SELECT s.nom as name, s.rowid as socid, s.code_client, s.logo,"; + $sql.= " p.rowid, p.ref, p.fk_statut, p.datep as dp, p.datec, p.fin_validite, p.date_cloture, p.total_ht, p.tva as total_tva, p.total as total_ttc, p.tms"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."propal as p"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -81,68 +84,81 @@ class box_propales extends ModeleBoxes $num = $db->num_rows($result); $now=dol_now(); - $i = 0; + $line = 0; - while ($i < $num) - { + while ($line < $num) { $objp = $db->fetch_object($result); $date=$db->jdate($objp->dp); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); $dateterm=$db->jdate($objp->fin_validite); $dateclose=$db->jdate($objp->date_cloture); + $propalstatic->id = $objp->rowid; + $propalstatic->ref = $objp->ref; + $propalstatic->total_ht = $objp->total_ht; + $propalstatic->total_tva = $objp->total_tva; + $propalstatic->total_ttc = $objp->total_ttc; + $societestatic->id = $objp->socid; + $societestatic->name = $objp->name; + $societestatic->code_client = $objp->code_client; + $societestatic->logo = $objp->logo; $late = ''; if ($objp->fk_statut == 1 && $dateterm < ($now - $conf->propal->cloture->warning_delay)) { $late = img_warning($langs->trans("Late")); } - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $propalstatic->getNomUrl(1), + 'text2'=> $late, + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->ref, - 'text2'=> $late, - 'url' => DOL_URL_ROOT."/comm/propal.php?id=".$objp->rowid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $societestatic->getNomUrl(1,'',40), + 'asis' => 1, + ); - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => dol_trunc($objp->name,40), - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($date,'day'), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => price($objp->total_ht), - ); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $propalstatic->LibStatut($objp->fk_statut,3), + ); - $this->info_box_contents[$i][5] = array('td' => 'align="right"', - 'text' => dol_print_date($date,'day')); + $line++; + } - $this->info_box_contents[$i][6] = array('td' => 'align="right" width="18"', - 'text' => $propalstatic->LibStatut($objp->fk_statut,3)); + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedProposals"), + ); - $i++; - } - - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedProposals")); - - $db->free($result); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else - { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); - } + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); + } } /** diff --git a/htdocs/core/boxes/box_prospect.php b/htdocs/core/boxes/box_prospect.php index 3020f12f0c4..b3f2144b28b 100644 --- a/htdocs/core/boxes/box_prospect.php +++ b/htdocs/core/boxes/box_prospect.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2011 Laurent Destailleur * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2015 Frederic 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 @@ -25,7 +26,7 @@ include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php'; -include_once DOL_DOCUMENT_ROOT.'/comm/prospect/class/prospect.class.php'; +include_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php'; /** @@ -73,14 +74,19 @@ class box_prospect extends ModeleBoxes $this->max=$max; - include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; - $thirdpartystatic=new Societe($db); + $thirdpartystatic=new Client($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleLastModifiedProspects",$max)); if ($user->rights->societe->lire) { - $sql = "SELECT s.nom as name, s.rowid as socid, s.fk_stcomm, s.datec, s.tms, s.status"; + $sql = "SELECT s.nom as name, s.rowid as socid"; + $sql.= ", s.code_client"; + $sql.= ", s.client"; + $sql.= ", s.code_fournisseur"; + $sql.= ", s.fournisseur"; + $sql.= ", s.logo"; + $sql.= ", s.fk_stcomm, s.datec, s.tms, s.status"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE s.client IN (2, 3)"; @@ -96,49 +102,64 @@ class box_prospect extends ModeleBoxes { $num = $db->num_rows($resql); - $i = 0; - $prospectstatic=new Prospect($db); - while ($i < $num) + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($resql); $datec=$db->jdate($objp->datec); $datem=$db->jdate($objp->tms); + $thirdpartystatic->id = $objp->socid; + $thirdpartystatic->name = $objp->name; + $thirdpartystatic->code_client = $objp->code_client; + $thirdpartystatic->code_fournisseur = $objp->code_fournisseur; + $thirdpartystatic->client = $objp->client; + $thirdpartystatic->fournisseur = $objp->fournisseur; + $thirdpartystatic->logo = $objp->logo; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartystatic->getNomUrl(1), + 'asis' => 1, + ); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => DOL_URL_ROOT."/comm/card.php?socid=".$objp->socid); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($datem, "day"), + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => dol_print_date($datem, "day")); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => str_replace('img ','img height="14" ',$thirdpartystatic->LibProspCommStatut($objp->fk_stcomm,3)), + ); - $this->info_box_contents[$i][3] = array('td' => 'align="right" width="18"', - 'text' => str_replace('img ','img height="14" ',$prospectstatic->LibProspStatut($objp->fk_stcomm,3))); + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $thirdpartystatic->LibStatut($objp->status,3), + ); - $this->info_box_contents[$i][4] = array('td' => 'align="right" width="18"', - 'text' => $thirdpartystatic->LibStatut($objp->status,3)); + $line++; + } - $i++; - } + if ($num==0) + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text'=>$langs->trans("NoRecordedProspects"), + ); - if ($num==0) $this->info_box_contents[$i][0] = array('td' => 'align="center"','text'=>$langs->trans("NoRecordedProspects")); - - $db->free($resql); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); - } - } - else { + $db->free($resql); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); + } + } else { dol_syslog("box_prospect::loadBox not allowed de read this box content",LOG_ERR); - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_supplier_orders.php b/htdocs/core/boxes/box_supplier_orders.php index d14bf1a539f..84521bf4ee0 100644 --- a/htdocs/core/boxes/box_supplier_orders.php +++ b/htdocs/core/boxes/box_supplier_orders.php @@ -3,6 +3,7 @@ /* Copyright (C) 2004-2006 Destailleur Laurent * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2012 Raphaël Doursenaud + * Copyright (C) 2015 Frederic 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 @@ -57,13 +58,20 @@ class box_supplier_orders extends ModeleBoxes include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; $supplierorderstatic=new CommandeFournisseur($db); + include_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; + $thirdpartytmp = new Fournisseur($db); $this->info_box_head = array('text' => $langs->trans("BoxTitleLatest".($conf->global->MAIN_LASTBOX_ON_OBJECT_DATE?"":"Modified")."SupplierOrders", $max)); if ($user->rights->fournisseur->commande->lire) { $sql = "SELECT s.nom as name, s.rowid as socid,"; + $sql.= " s.code_client, s.code_fournisseur,"; + $sql.= " s.logo,"; $sql.= " c.ref, c.tms, c.rowid, c.date_commande,"; + $sql.= " c.total_ht,"; + $sql.= " c.tva as total_tva,"; + $sql.= " c.total_ttc,"; $sql.= " c.fk_statut"; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c"; @@ -81,58 +89,80 @@ class box_supplier_orders extends ModeleBoxes { $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { + $line = 0; + while ($line < $num) { $objp = $db->fetch_object($result); $date=$db->jdate($objp->date_commande); $datem=$db->jdate($objp->tms); + $thirdpartytmp->id = $objp->socid; + $thirdpartytmp->name = $objp->name; + $thirdpartytmp->fournisseur = 1; + $thirdpartytmp->code_fournisseur = $objp->code_fournisseur; + $thirdpartytmp->logo = $objp->logo; $urlo = DOL_URL_ROOT."/fourn/commande/card.php?id=".$objp->rowid; $urls = DOL_URL_ROOT."/fourn/card.php?socid=".$objp->socid; - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"', - 'logo' => $this->boximg, - 'url' => $urlo); - - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' => $objp->ref, - 'url' => $urlo); - - $this->info_box_contents[$i][2] = array('td' => 'align="left" width="16"', - 'logo' => 'company', - 'url' => $urls); - - $this->info_box_contents[$i][3] = array('td' => 'align="left"', - 'text' => $objp->name, - 'url' => $urls); - - $this->info_box_contents[$i][4] = array('td' => 'align="right"', - 'text' => dol_print_date($date,'day'), + $tooltip = $langs->trans('SupplierOrder') . ': ' . $objp->ref; + $this->info_box_contents[$line][] = array( + 'td' => 'align="left" width="16"', + 'logo' => $this->boximg, + 'tooltip' => $tooltip, + 'url' => $urlo, ); - $this->info_box_contents[$i][5] = array('td' => 'align="right" width="18"', - 'text' => $supplierorderstatic->LibStatut($objp->fk_statut,3)); + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $objp->ref, + 'tooltip' => $tooltip, + 'url' => $urlo, + ); - $i++; + $this->info_box_contents[$line][] = array( + 'td' => 'align="left"', + 'text' => $thirdpartytmp->getNomUrl(1, 'supplier'), + 'asis' => 1, + ); + + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => price($objp->total_ht, 0, $langs, 0, -1, -1, $conf->currency), + ); + + $this->info_box_contents[$line][] = array( + 'td' => 'align="right"', + 'text' => dol_print_date($date,'day'), + ); + + $this->info_box_contents[$line][] = array( + 'td' => 'align="right" width="18"', + 'text' => $supplierorderstatic->LibStatut($objp->fk_statut,3), + ); + + $line++; } if ($num == 0) - $this->info_box_contents[$i][0] = array('td' => 'align="center"', 'text' => $langs->trans("NoSupplierOrder")); + $this->info_box_contents[$line][0] = array( + 'td' => 'align="center"', + 'text' => $langs->trans("NoSupplierOrder"), + ); - $db->free($result); - } - else - { - $this->info_box_contents[0][0] = array( 'td' => 'align="left"', - 'maxlength'=>500, - 'text' => ($db->error().' sql='.$sql)); + $db->free($result); + } else { + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'maxlength'=>500, + 'text' => ($db->error().' sql='.$sql), + ); } } else { - $this->info_box_contents[0][0] = array('td' => 'align="left"', - 'text' => $langs->trans("ReadPermissionNotAllowed")); + $this->info_box_contents[0][0] = array( + 'td' => 'align="left"', + 'text' => $langs->trans("ReadPermissionNotAllowed"), + ); } } diff --git a/htdocs/core/boxes/box_task.php b/htdocs/core/boxes/box_task.php index fec676d8265..c2425b54b71 100644 --- a/htdocs/core/boxes/box_task.php +++ b/htdocs/core/boxes/box_task.php @@ -1,6 +1,7 @@ - * + * Copyright (C) 2015 Frederic 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 @@ -16,9 +17,9 @@ */ /** - * \file htdocs/core/boxes/box_task.php - * \ingroup Projet - * \brief Module to Task activity of the current year + * \file htdocs/core/boxes/box_task.php + * \ingroup Projet + * \brief Module to Task activity of the current year */ include_once(DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php"); @@ -29,34 +30,36 @@ require_once(DOL_DOCUMENT_ROOT."/core/lib/date.lib.php"); */ class box_task extends ModeleBoxes { - var $boxcode="projet"; - var $boximg="object_projecttask"; - var $boxlabel; - //var $depends = array("projet"); - var $db; - var $param; + var $boxcode="projet"; + var $boximg="object_projecttask"; + var $boxlabel; + //var $depends = array("projet"); + var $db; + var $param; - var $info_box_head = array(); - var $info_box_contents = array(); + var $info_box_head = array(); + var $info_box_contents = array(); - /** - * Constructor - * - * @return void - */ - function box_task() - { - global $langs; - $langs->load("boxes"); - $langs->load("projects"); - $this->boxlabel="Tasks"; - } + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param string $param More parameters + */ + function __construct($db,$param='') + { + global $langs; + $langs->load("boxes"); + $langs->load("projects"); + $this->boxlabel="Tasks"; + $this->db = $db; + } /** * Load data for box to show them later * - * @param int $max Maximum number of records to load - * @return void + * @param int $max Maximum number of records to load + * @return void */ function loadBox($max=5) { @@ -75,8 +78,7 @@ class box_task extends ModeleBoxes $this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); // list the summary of the orders - if ($user->rights->projet->lire) - { + if ($user->rights->projet->lire) { $sql = "SELECT pt.fk_statut, count(pt.rowid) as nb, sum(ptt.task_duration) as durationtot, sum(pt.planned_workload) as plannedtot"; $sql.= " FROM ".MAIN_DB_PREFIX."projet_task as pt, ".MAIN_DB_PREFIX."projet_task_time as ptt"; @@ -88,23 +90,23 @@ class box_task extends ModeleBoxes $result = $db->query($sql); - if ($result) - { + if ($result) { $num = $db->num_rows($result); $i = 0; - while ($i < $num) - { - $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projecttask'); + while ($i < $num) { + $this->info_box_contents[$i][0] = array('td' => 'align="left" width="16"','logo' => 'object_projecttask'); - $objp = $db->fetch_object($result); - $this->info_box_contents[$i][1] = array('td' => 'align="left"', - 'text' =>$langs->trans("Task")." ".$taskstatic->LibStatut($objp->fk_statut,0) - ); + $objp = $db->fetch_object($result); + $this->info_box_contents[$i][1] = array( + 'td' => 'align="left"', + 'text' =>$langs->trans("Task")." ".$taskstatic->LibStatut($objp->fk_statut,0), + ); - $this->info_box_contents[$i][2] = array('td' => 'align="right"', - 'text' => $objp->nb." ".$langs->trans("Tasks"), - 'url' => DOL_URL_ROOT."/projet/tasks/index.php?leftmenu=projects&viewstatut=".$objp->fk_statut - ); + $this->info_box_contents[$i][2] = array( + 'td' => 'align="right"', + 'text' => $objp->nb." ".$langs->trans("Tasks"), + 'url' => DOL_URL_ROOT."/projet/tasks/index.php?leftmenu=projects&viewstatut=".$objp->fk_statut, + ); $totalnb += $objp->nb; $this->info_box_contents[$i][3] = array('td' => 'align="right"', 'text' => ConvertSecondToTime($objp->plannedtot,'all',25200,5)); $totalplannedtot += $objp->plannedtot; @@ -125,7 +127,7 @@ class box_task extends ModeleBoxes $this->info_box_contents[$i][3] = array('td' => 'align="right" ', 'text' => ConvertSecondToTime($totalplannedtot,'all',25200,5)); $this->info_box_contents[$i][4] = array('td' => 'align="right" ', 'text' => ConvertSecondToTime($totaldurationtot,'all',25200,5)); $this->info_box_contents[$i][5] = array('td' => '', 'text' => ""); - + } /** diff --git a/htdocs/core/boxes/modules_boxes.php b/htdocs/core/boxes/modules_boxes.php index c6b6dad7acb..d1d05ec28a8 100644 --- a/htdocs/core/boxes/modules_boxes.php +++ b/htdocs/core/boxes/modules_boxes.php @@ -2,6 +2,7 @@ /* Copyright (C) 2004-2013 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Raphaël Doursenaud + * Copyright (C) 2015 Frederic 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 @@ -178,151 +179,172 @@ class ModeleBoxes // Can't be abtract as it is instantiated to build "empty" */ function showBox($head, $contents) { - global $langs,$conf; + global $langs, $user, $conf; + + require_once DOL_DOCUMENT_ROOT .'/core/lib/files.lib.php'; $MAXLENGTHBOX=60; // Mettre 0 pour pas de limite - $bcx=array(); + $bcx = array(); $bcx[0] = 'class="box_pair"'; $bcx[1] = 'class="box_impair"'; $var = false; - dol_syslog(get_class($this).'::showBox'); + $cachetime = 900; // 900 : 15mn + $cachedir = DOL_DATA_ROOT.'/boxes/temp'; + $fileid = get_class($this).'id-'.$this->box_id.'-e'.$conf->entity.'-u'.$user->id.'-s'.$user->societe_id.'.cache'; + $filename = '/box-'.$fileid; + $refresh = dol_cache_refresh($cachedir, $filename, $cachetime); + $out = ''; - // Define nbcol and nblines of the box to show - $nbcol=0; - if (isset($contents[0])) $nbcol=count($contents[0]); - $nblines=count($contents); + if ($refresh) { + dol_syslog(get_class($this).'::showBox'); - print "\n\n\n"; - print '
'."\n"; + // Define nbcol and nblines of the box to show + $nbcol=0; + if (isset($contents[0])) $nbcol=count($contents[0]); + $nblines=count($contents); - if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto']) || $nblines) - { - print ''."\n"; - } + $out.= "\n\n"; + $out.= '
'."\n"; - // Show box title - if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto'])) - { - //print '
'."\n"; - //print '
'."\n"; - print ''; - print ' 0) { print ' colspan="'.$nbcol.'"'; } - print '>'; - if ($conf->use_javascript_ajax) - { - print '
'; - } - if (! empty($head['text'])) - { - $s=dol_trunc($head['text'],isset($head['limit'])?$head['limit']:$MAXLENGTHBOX); - print $s; - } - print ' '; - if (! empty($head['sublink'])) print ''; - if (! empty($head['subpicto'])) print img_picto($head['subtext'], $head['subpicto'], 'class="'.(empty($head['subclass'])?'':$head['subclass']).'" id="idsubimg'.$this->boxcode.'"'); - if (! empty($head['sublink'])) ''; - if (! empty($conf->use_javascript_ajax)) - { - 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("MoveBox",$this->box_id),'grip_title','class="boxhandle hideonsmartphone" style="cursor:move;"'); - print img_picto($langs->trans("Close2",$this->box_id),'close_title','class="boxclose" rel="x:y" style="cursor:pointer;" id="imgclose'.$this->box_id.'"'); - $label=$head['text']; - if (! empty($head['graph'])) $label.=' ('.$langs->trans("Graph").')'; - print ''; - print '
'; - } - print '
\n"; - //print "\n"; - } + if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto']) || $nblines) + { + $out.= ''."\n"; + } - // Show box lines - if ($nblines) - { - //print '
'."\n"; - // Loop on each record - for ($i=0, $n=$nblines; $i < $n; $i++) - { - if (isset($contents[$i])) - { - $var=!$var; + // Show box title + if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto'])) + { + //$out.= '
'."\n"; + //$out.= '
'."\n"; + $out.= ''; + $out.= ' 0) { $out.= ' colspan="'.$nbcol.'"'; } + $out.= '>'; + if ($conf->use_javascript_ajax) + { + $out.= '
'; + } + if (! empty($head['text'])) + { + $s=dol_trunc($head['text'],isset($head['limit'])?$head['limit']:$MAXLENGTHBOX); + $out.= $s; + } + $out.= ' '; + if (! empty($head['sublink'])) $out.= ''; + if (! empty($head['subpicto'])) $out.= img_picto($head['subtext'], $head['subpicto'], 'class="'.(empty($head['subclass'])?'':$head['subclass']).'" id="idsubimg'.$this->boxcode.'"'); + if (! empty($head['sublink'])) ''; + if (! empty($conf->use_javascript_ajax)) + { + $out.= ''; + // 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 + $out.= img_picto($langs->trans("MoveBox",$this->box_id),'grip_title','class="boxhandle hideonsmartphone" style="cursor:move;"'); + $out.= img_picto($langs->trans("Close2",$this->box_id),'close_title','class="boxclose" rel="x:y" style="cursor:pointer;" id="imgclose'.$this->box_id.'"'); + $label=$head['text']; + if (! empty($head['graph'])) $label.=' ('.$langs->trans("Graph").')'; + $out.= ''; + $out.= '
'; + } + $out.= ''; + $out.= "\n"; + //$out.= "\n"; + //$out.= "\n"; + } - // TR - if (isset($contents[$i][0]['tr'])) print ''; - else print ''; + // Show box lines + if ($nblines) + { + //$out.= ''."\n"; + // Loop on each record + for ($i=0, $n=$nblines; $i < $n; $i++) + { + if (isset($contents[$i])) + { + $var=!$var; - // Loop on each TD - $nbcolthisline=count($contents[$i]); - for ($j=0; $j < $nbcolthisline; $j++) - { - // Define tdparam - $tdparam=''; - if (isset($contents[$i][$j]['td'])) $tdparam.=' '.$contents[$i][$j]['td']; + // TR + if (isset($contents[$i][0]['tr'])) $out.= ''; + else $out.= ''; - if (empty($contents[$i][$j]['text'])) $contents[$i][$j]['text']=""; - $text=isset($contents[$i][$j]['text'])?$contents[$i][$j]['text']:''; - $textwithnotags=preg_replace('/<([^>]+)>/i','',$text); - $text2=isset($contents[$i][$j]['text2'])?$contents[$i][$j]['text2']:''; - $text2withnotags=preg_replace('/<([^>]+)>/i','',$text2); - $textnoformat=isset($contents[$i][$j]['textnoformat'])?$contents[$i][$j]['textnoformat']:''; - //print "xxx $textwithnotags y"; + // Loop on each TD + $nbcolthisline=count($contents[$i]); + for ($j=0; $j < $nbcolthisline; $j++) { + // Define tdparam + $tdparam=''; + if (isset($contents[$i][$j]['td'])) $tdparam.=' '.$contents[$i][$j]['td']; - print ''; + $text=isset($contents[$i][$j]['text'])?$contents[$i][$j]['text']:''; + $textwithnotags=preg_replace('/<([^>]+)>/i','',$text); + $text2=isset($contents[$i][$j]['text2'])?$contents[$i][$j]['text2']:''; + $text2withnotags=preg_replace('/<([^>]+)>/i','',$text2); + $textnoformat=isset($contents[$i][$j]['textnoformat'])?$contents[$i][$j]['textnoformat']:''; + //$out.= "xxx $textwithnotags y"; + if (empty($contents[$i][$j]['tooltip'])) $contents[$i][$j]['tooltip']=""; + $tooltip=isset($contents[$i][$j]['tooltip'])?$contents[$i][$j]['tooltip']:''; - // Url - if (! empty($contents[$i][$j]['url'])) - { - print '" - print isset($contents[$i][$j]['target'])?' target="'.$contents[$i][$j]['target'].'"':''; - print '>'; - } + $out.= ''."\n"; - // Logo - if (! empty($contents[$i][$j]['logo'])) - { - $logo=preg_replace("/^object_/i","",$contents[$i][$j]['logo']); - print img_object($langs->trans("Show"),$logo); - } + // Url + if (! empty($contents[$i][$j]['url']) && empty($contents[$i][$j]['logo'])) + { + $out.= '" + $out.= isset($contents[$i][$j]['target'])?' target="'.$contents[$i][$j]['target'].'"':''; + $out.= '>'; + } - $maxlength=$MAXLENGTHBOX; - if (! empty($contents[$i][$j]['maxlength'])) $maxlength=$contents[$i][$j]['maxlength']; + // Logo + if (! empty($contents[$i][$j]['logo'])) + { + $logo=preg_replace("/^object_/i","",$contents[$i][$j]['logo']); + $out.= ''; + $out.= img_object($langs->trans("Show").' '.$tooltip, $logo, 'class="classfortooltip"'); + } - if ($maxlength) $textwithnotags=dol_trunc($textwithnotags,$maxlength); - if (preg_match('/^'; + if ($maxlength) $textwithnotags=dol_trunc($textwithnotags,$maxlength); + if (preg_match('/^"; - } + if (! empty($textnoformat)) $out.= "\n".$textnoformat."\n"; - print "\n"; - } - } - } + $out.= "\n"; + } - if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto']) || $nblines) - { - print "
\n"; - } + $out.= "\n"; + } + } + } - // If invisible box with no contents - if (empty($head['text']) && empty($head['sublink']) && empty($head['subpicto']) && ! $nblines) print "
\n"; + if (! empty($head['text']) || ! empty($head['sublink']) || ! empty($head['subpicto']) || $nblines) + { + $out.= "\n"; + } - print "\n"; - print "\n\n"; - } + // If invisible box with no contents + if (empty($head['text']) && empty($head['sublink']) && empty($head['subpicto']) && ! $nblines) $out.= "
\n"; + + $out.= "\n"; + $out.= "\n\n"; + if (! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) { + dol_filecache($cachedir, $filename, $out); + } + } else { + dol_syslog(get_class($this).'::showBoxCached'); + $out = dol_readcachefile($cachedir, $filename); + print ""; + + } + print $out; + } } diff --git a/htdocs/core/class/CMailFile.class.php b/htdocs/core/class/CMailFile.class.php index 5288dc635cb..ef6d27b59b1 100644 --- a/htdocs/core/class/CMailFile.class.php +++ b/htdocs/core/class/CMailFile.class.php @@ -4,7 +4,7 @@ * Copyright (C) Eric Seigne * Copyright (C) 2000-2005 Rodolphe Quiedeville * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -31,20 +31,21 @@ /** * Class to send emails (with attachments or not) - * Usage: $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filepath,$mimetype,$filename,$cc,$ccc,$deliveryreceipt,$msgishtml,$errors_to); + * Usage: $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filepath,$mimetype,$filename,$cc,$ccc,$deliveryreceipt,$msgishtml,$errors_to,$css,$trackid); * $mailfile->sendfile(); */ class CMailFile { - var $subject; // Topic: Subject of email - var $addr_from; // From: Label of sender (name but can contains an email inside <>) - // Sender: Who send the email ("Sender" has sent emails on behalf of "From"). - // Use it with an email from a sending host from is a SPF protected domain and sending host is not this domain. - // Return-Path: Email where to send bounds. - var $errors_to; // Errors-To: Email where to send errors. + var $subject; // Topic: Subject of email + var $addr_from; // From: Label and EMail of sender (must include '<>'). For example '' or 'John Doe ' or '') + // Sender: Who send the email ("Sender" has sent emails on behalf of "From"). + // Use it when the "From" is an email of a domain that is a SPF protected domain, and sending smtp server is not this domain. In such case, add Sender field with an email of the protected domain. + // Return-Path: Email where to send bounds. + var $errors_to; // Errors-To: Email where to send errors. var $addr_to; var $addr_cc; var $addr_bcc; + var $trackid; var $mixed_boundary; var $related_boundary; @@ -65,6 +66,9 @@ class CMailFile //! Defined background directly in body tag var $bodyCSS; + var $headers; + var $message; + // Image var $html; var $image_boundary; @@ -85,8 +89,8 @@ class CMailFile * CMailFile * * @param string $subject Topic/Subject of mail - * @param string $to Recipients emails (RFC 2822: "Nom firstname [, ...]" ou "email[, ...]" ou "[, ...]") - * @param string $from Sender email (RFC 2822: "Nom firstname [, ...]" ou "email[, ...]" ou "[, ...]") + * @param string $to Recipients emails (RFC 2822: "Name firstname [, ...]" or "email[, ...]" or "[, ...]"). Note: the keyword '__SUPERVISOREMAIL__' is not allowed here and must be replaced by caller. + * @param string $from Sender email (RFC 2822: "Name firstname [, ...]" or "email[, ...]" or "[, ...]") * @param string $msg Message * @param array $filename_list List of files to attach (full path of filename on file system) * @param array $mimetype_list List of MIME type of attached files @@ -95,12 +99,11 @@ class CMailFile * @param string $addr_bcc Email bcc (Note: This is autocompleted with MAIN_MAIL_AUTOCOPY_TO if defined) * @param int $deliveryreceipt Ask a delivery receipt * @param int $msgishtml 1=String IS already html, 0=String IS NOT html, -1=Unknown make autodetection (with fast mode, not reliable) - * @param string $errors_to Email errors + * @param string $errors_to Email for errors-to * @param string $css Css option + * @param string $trackid Tracking string */ - function __construct($subject,$to,$from,$msg, - $filename_list=array(),$mimetype_list=array(),$mimefilename_list=array(), - $addr_cc="",$addr_bcc="",$deliveryreceipt=0,$msgishtml=0,$errors_to='',$css='') + function __construct($subject,$to,$from,$msg,$filename_list=array(),$mimetype_list=array(),$mimefilename_list=array(),$addr_cc="",$addr_bcc="",$deliveryreceipt=0,$msgishtml=0,$errors_to='',$css='',$trackid='') { global $conf; @@ -126,7 +129,7 @@ class CMailFile // If ending method not defined if (empty($conf->global->MAIN_MAIL_SENDMODE)) $conf->global->MAIN_MAIL_SENDMODE='mail'; - dol_syslog("CMailFile::CMailfile: MAIN_MAIL_SENDMODE=".$conf->global->MAIN_MAIL_SENDMODE." charset=".$conf->file->character_set_client." from=$from, to=$to, addr_cc=$addr_cc, addr_bcc=$addr_bcc, errors_to=$errors_to", LOG_DEBUG); + dol_syslog("CMailFile::CMailfile: MAIN_MAIL_SENDMODE=".$conf->global->MAIN_MAIL_SENDMODE." charset=".$conf->file->character_set_client." from=$from, to=$to, addr_cc=$addr_cc, addr_bcc=$addr_bcc, errors_to=$errors_to, trackid=$trackid", LOG_DEBUG); dol_syslog("CMailFile::CMailfile: subject=$subject, deliveryreceipt=$deliveryreceipt, msgishtml=$msgishtml", LOG_DEBUG); // Detect if message is HTML (use fast method) @@ -192,6 +195,7 @@ class CMailFile $this->addr_cc = $addr_cc; $this->addr_bcc = $addr_bcc; $this->deliveryreceipt = $deliveryreceipt; + $this->trackid = $trackid; $smtp_headers = $this->write_smtpheaders(); // Define mime_headers @@ -251,6 +255,7 @@ class CMailFile $smtps->setSubject($this->encodetorfc2822($subject)); $smtps->setTO($this->getValidAddress($to,0,1)); $smtps->setFrom($this->getValidAddress($from,0,1)); + $smtps->setTrackId($trackid); if (! empty($this->html)) { @@ -303,6 +308,7 @@ class CMailFile $this->phpmailer->Subject($this->encodetorfc2822($subject)); $this->phpmailer->setTO($this->getValidAddress($to,0,1)); $this->phpmailer->SetFrom($this->getValidAddress($from,0,1)); + // TODO Add trackid into smtp header if (! empty($this->html)) { @@ -381,7 +387,7 @@ class CMailFile // If Windows, sendmail_from must be defined if (isset($_SERVER["WINDIR"])) { - if (empty($this->addr_from)) $this->addr_from = 'robot@mydomain.com'; + if (empty($this->addr_from)) $this->addr_from = 'robot@example.com'; @ini_set('sendmail_from',$this->getValidAddress($this->addr_from,2)); } @@ -402,8 +408,8 @@ class CMailFile $bounce = ''; // By default if (! empty($conf->global->MAIN_MAIL_ALLOW_SENDMAIL_F)) { - // le return-path dans les header ne fonctionne pas avec tous les MTA - // Le passage par -f est donc possible si la constante MAIN_MAIL_ALLOW_SENDMAIL_F est definie. + // le "Return-Path" (retour des messages bounced) dans les header ne fonctionne pas avec tous les MTA + // Le forcage de la valeure grace à l'option -f de sendmail est donc possible si la constante MAIN_MAIL_ALLOW_SENDMAIL_F est definie. // La variable definie pose des pb avec certains sendmail securisee (option -f refusee car dangereuse) $bounce .= ($bounce?' ':'').(! empty($conf->global->MAIN_MAIL_ERRORS_TO) ? '-f' . $this->getValidAddress($conf->global->MAIN_MAIL_ERRORS_TO,2) : ($this->addr_from != '' ? '-f' . $this->getValidAddress($this->addr_from,2) : '') ); } @@ -421,7 +427,15 @@ class CMailFile if (! $res) { - $this->error="Failed to send mail with php mail to HOST=".ini_get('SMTP').", PORT=".ini_get('smtp_port')."
Check your server logs and your firewalls setup"; + $this->error="Failed to send mail with php mail"; + $linuxlike=1; + if (preg_match('/^win/i',PHP_OS)) $linuxlike=0; + if (preg_match('/^mac/i',PHP_OS)) $linuxlike=0; + if (! $linuxlike) + { + $this->error.=" to HOST=".ini_get('SMTP').", PORT=".ini_get('smtp_port'); // This values are value used only for non linuxlike systems + } + $this->error.=".
Check your server logs and your firewalls setup"; dol_syslog("CMailFile::sendfile: mail end error=".$this->error, LOG_ERR); } else @@ -516,8 +530,12 @@ class CMailFile return $res; } - - // Encode subject according to RFC 2822 - http://en.wikipedia.org/wiki/MIME#Encoded-Word + /** + * Encode subject according to RFC 2822 - http://en.wikipedia.org/wiki/MIME#Encoded-Word + * + * @param string $stringtoencode String to encode + * @return string string encoded + */ function encodetorfc2822($stringtoencode) { global $conf; @@ -641,7 +659,7 @@ class CMailFile /** * Create SMTP headers (mode = 'mail') * - * @return smtp headers + * @return string headers */ function write_smtpheaders() { @@ -672,7 +690,17 @@ class CMailFile //$out.= "X-Priority: 3".$this->eol2; $out.= 'Date: ' . date("r") . $this->eol2; - $out.= 'Message-ID: <' . time() . '.phpmail@' . $host . ">" . $this->eol2; + + $trackid = $this->trackid; + if ($trackid) + { + $out.= 'Message-ID: <' . time() . '.phpmail-'.$trackid.'@' . $host . ">" . $this->eol2; + $out.= 'references: <' . time() . '.phpmail-'.$trackid.'@' . $host . ">" . $this->eol2; + } + else + { + $out.= 'Message-ID: <' . time() . '.phpmail@' . $host . ">" . $this->eol2; + } $out.= "X-Mailer: Dolibarr version " . DOL_VERSION ." (using php mail)".$this->eol2; $out.= "Mime-Version: 1.0".$this->eol2; @@ -692,7 +720,7 @@ class CMailFile * * @param array $filename_list Array of filenames * @param array $mimefilename_list Array of mime types - * @return array mime headers + * @return string mime headers */ function write_mimeheaders($filename_list, $mimefilename_list) { @@ -1023,9 +1051,9 @@ class CMailFile } /** - * Return an address for SMTP protocol + * Return a formatted address string for SMTP protocol * - * @param string $address Example: 'John Doe ' or 'john@doe.com' + * @param string $address Example: 'John Doe , Alan Smith ' or 'john@doe.com, alan@smith.com' * @param int $format 0=auto, 1=emails with <>, 2=emails without <>, 3=auto + label between " * @param int $encode 1=Encode name to RFC2822 * @return string If format 0: '' or 'John Doe ' or '=?UTF-8?B?Sm9obiBEb2U=?= ' diff --git a/htdocs/core/class/CSMSFile.class.php b/htdocs/core/class/CSMSFile.class.php index 7d0bf5fad0c..5620e641df0 100644 --- a/htdocs/core/class/CSMSFile.class.php +++ b/htdocs/core/class/CSMSFile.class.php @@ -54,7 +54,6 @@ class CSMSFile * @param int $deferred Deferred or not * @param int $priority Priority * @param int $class Class - * @return int */ function __construct($to,$from,$msg,$deliveryreceipt=0,$deferred=0,$priority=3,$class=1) { diff --git a/htdocs/core/class/antivir.class.php b/htdocs/core/class/antivir.class.php index 68241cb4d62..d7f765fa510 100644 --- a/htdocs/core/class/antivir.class.php +++ b/htdocs/core/class/antivir.class.php @@ -40,7 +40,6 @@ class AntiVir * Constructor * * @param DoliDB $db Database handler - * @return AntiVir */ function __construct($db) { diff --git a/htdocs/core/class/commondocgenerator.class.php b/htdocs/core/class/commondocgenerator.class.php index fbf5363b753..5cc60cb8bd4 100644 --- a/htdocs/core/class/commondocgenerator.class.php +++ b/htdocs/core/class/commondocgenerator.class.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -118,6 +119,7 @@ abstract class CommonDocGenerator 'mycompany_idprof5'=>$mysoc->idprof5, 'mycompany_idprof6'=>$mysoc->idprof6, 'mycompany_vatnumber'=>$mysoc->tva_intra, + 'mycompany_object'=>$mysoc->object, // Only private not exists for "mysoc" 'mycompany_note_private'=>$mysoc->note_private, @@ -147,6 +149,7 @@ abstract class CommonDocGenerator $array_thirdparty = array( 'company_name'=>$object->name, + 'company_name_alias' => $object->name_alias, 'company_email'=>$object->email, 'company_phone'=>$object->phone, 'company_fax'=>$object->fax, @@ -206,7 +209,7 @@ abstract class CommonDocGenerator /** * Define array with couple subtitution key => subtitution value * - * @param Object $object contact + * @param Contact $object contact * @param Translate $outputlangs object for output * @param array_key $array_key Name of the key for return array * @return array of substitution key->code @@ -404,10 +407,11 @@ abstract class CommonDocGenerator { global $conf; - return array( + $resarray= array( 'line_fulldesc'=>doc_getlinedesc($line,$outputlangs), 'line_product_ref'=>$line->product_ref, 'line_product_label'=>$line->product_label, + 'line_product_type'=>$line->product_type, 'line_desc'=>$line->desc, 'line_vatrate'=>vatrate($line->tva_tx,true,$line->info_bits), 'line_up'=>price2num($line->subprice), @@ -425,12 +429,24 @@ abstract class CommonDocGenerator 'line_date_end'=>$line->date_end, 'line_date_end_rfc'=>dol_print_date($line->date_end,'rfc') ); + + // Retrieve extrafields + $extrafieldkey=$line->element; + $array_key="line"; + require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + $extrafields = new ExtraFields($this->db); + $extralabels = $extrafields->fetch_name_optionals_label($extrafieldkey,true); + $line->fetch_optionals($line->rowid,$extralabels); + + $resarray = $this->fill_substitutionarray_with_extrafields($line,$resarray,$extrafields,$array_key=$array_key,$outputlangs); + + return $resarray; } /** * Define array with couple substitution key => substitution value * - * @param Object $object Main object to use as data source + * @param Expedition $object Main object to use as data source * @param Translate $outputlangs Lang object to use for output * @param array_key $array_key Name of the key for return array * @return array Array of substitution diff --git a/htdocs/core/class/commoninvoice.class.php b/htdocs/core/class/commoninvoice.class.php index 90ad3e196e3..42265846d04 100644 --- a/htdocs/core/class/commoninvoice.class.php +++ b/htdocs/core/class/commoninvoice.class.php @@ -1,5 +1,7 @@ +/* Copyright (C) 2012 Regis Houssin + * Copyright (C) 2012 Cédric Salvador + * Copyright (C) 2012-2014 Raphaël Doursenaud * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +30,64 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; */ abstract class CommonInvoice extends CommonObject { + /** + * Standard invoice + */ + const TYPE_STANDARD = 0; + + /** + * Replacement invoice + */ + const TYPE_REPLACEMENT = 1; + + /** + * Credit note invoice + */ + const TYPE_CREDIT_NOTE = 2; + + /** + * Deposit invoice + */ + const TYPE_DEPOSIT = 3; + + /** + * Proforma invoice + */ + const TYPE_PROFORMA = 4; + + /** + * Situation invoice + */ + const TYPE_SITUATION = 5; + + /** + * Draft + */ + const STATUS_DRAFT = 0; + + /** + * Validated (need to be paid) + */ + const STATUS_VALIDATED = 1; + + /** + * Classified paid. + * If paid partially, $this->close_code can be: + * - CLOSECODE_DISCOUNTVAT + * - CLOSECODE_BADDEBT + * If paid completelly, this->close_code will be null + */ + const STATUS_CLOSED = 2; + + /** + * Classified abandoned and no payment done. + * $this->close_code can be: + * - CLOSECODE_BADDEBT + * - CLOSECODE_ABANDONED + * - CLOSECODE_REPLACED + */ + const STATUS_ABANDONED = 3; + /** * Return amount of payments already done * @@ -143,11 +203,12 @@ abstract class CommonInvoice extends CommonObject function getLibType() { global $langs; - if ($this->type == 0) return $langs->trans("InvoiceStandard"); - if ($this->type == 1) return $langs->trans("InvoiceReplacement"); - if ($this->type == 2) return $langs->trans("InvoiceAvoir"); - if ($this->type == 3) return $langs->trans("InvoiceDeposit"); - if ($this->type == 4) return $langs->trans("InvoiceProForma"); + if ($this->type == CommonInvoice::TYPE_STANDARD) return $langs->trans("InvoiceStandard"); + if ($this->type == CommonInvoice::TYPE_REPLACEMENT) return $langs->trans("InvoiceReplacement"); + if ($this->type == CommonInvoice::TYPE_CREDIT_NOTE) return $langs->trans("InvoiceAvoir"); + if ($this->type == CommonInvoice::TYPE_DEPOSIT) return $langs->trans("InvoiceDeposit"); + if ($this->type == CommonInvoice::TYPE_PROFORMA) return $langs->trans("InvoiceProForma"); + if ($this->type == CommonInvoice::TYPE_SITUATION) return $langs->trans("InvoiceSituation"); return $langs->trans("Unknown"); } @@ -155,7 +216,7 @@ abstract class CommonInvoice extends CommonObject * Return label of object status * * @param int $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=short label + picto - * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) + * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @return string Label */ function getLibStatut($mode=0,$alreadypaid=-1) @@ -169,7 +230,7 @@ abstract class CommonInvoice extends CommonObject * @param int $paye Status field paye * @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 - * @param double $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) + * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) * @param int $type Type facture * @return string Libelle du statut */ @@ -293,7 +354,7 @@ abstract class CommonInvoice extends CommonObject * Renvoi une date limite de reglement de facture en fonction des * conditions de reglements de la facture et date de facturation * - * @param string $cond_reglement Condition of payment (code or id) to use. If 0, we use current condition. + * @param integer $cond_reglement Condition of payment (code or id) to use. If 0, we use current condition. * @return date Date limite de reglement si ok, <0 si ko */ function calculate_date_lim_reglement($cond_reglement=0) @@ -367,5 +428,100 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobjectline.class.php'; */ abstract class CommonInvoiceLine extends CommonObjectLine { + /** + * Quantity + * @var int + */ + public $qty; + + /** + * Unit price before taxes + * @var float + */ + public $subprice; + + /** + * Type of the product. 0 for product 1 for service + * @var int + */ + public $product_type = 0; + + /** + * Id of corresponding product + * @var int + */ + public $fk_product; + + /** + * VAT % + * @var float + */ + public $tva_tx; + + /** + * Local tax 1 % + * @var float + */ + public $localtax1_tx; + + /** + * Local tax 2 % + * @var float + */ + public $localtax2_tx; + + /** + * Percent of discount + * @var float + */ + public $remise_percent; + + /** + * Total amount before taxes + * @var float + */ + public $total_ht; + + /** + * Total VAT amount + * @var float + */ + public $total_tva; + + /** + * Total local tax 1 amount + * @var float + */ + public $total_localtax1; + + /** + * Total local tax 2 amount + * @var float + */ + public $total_localtax2; + + /** + * Total amount with taxes + * @var float + */ + public $total_ttc; + + /** + * Liste d'options cumulables: + * Bit 0: 0 si TVA normal - 1 si TVA NPR + * Bit 1: 0 si ligne normal - 1 si bit discount (link to line into llx_remise_except) + * @var int + */ + public $info_bits = 0; + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct(DoliDB $db) + { + $this->db = $db; + } } diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php index 06648b42ea2..daad3e51e16 100644 --- a/htdocs/core/class/commonobject.class.php +++ b/htdocs/core/class/commonobject.class.php @@ -1,12 +1,14 @@ +/* Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2005-2013 Regis Houssin * Copyright (C) 2010-2013 Juanjo Menent * Copyright (C) 2012 Christophe Battarel * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2012-2013 Christophe Battarel * Copyright (C) 2011-2014 Philippe Grand - * Copyright (C) 2012-2014 Marcos García + * Copyright (C) 2012-2015 Marcos García + * Copyright (C) 2012-2015 Raphaël Doursenaud + * Copyright (C) 2012 Cedric Salvador * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,36 +36,88 @@ */ abstract class CommonObject { - public $db; + /** + * @var DoliDb Database handler (result of a new DoliDB) + */ + public $db; + + /** + * @var string Error string + * @deprecated Use instead the array of error strings + * @see errors + */ public $error; - public $errors=array(); // Array use for errors - public $canvas; // Contains canvas name if it is - public $context=array(); // Use to pass context information + + /** + * @var string Key value used to track if data is coming from import wizard + */ + public $import_key; + + /** + * @var mixed Contains data to manage extrafields + */ + public $array_options=array(); + + /** + * @var int[] Array of linked objects ids. Loaded by ->fetchObjectLinked + */ + public $linkedObjectsIds; + + /** + * @var mixed Array of linked objects. Loaded by ->fetchObjectLinked + */ + public $linkedObjects; + + /** + * @var string Column name of the ref field. + */ + protected $table_ref_field = ''; + + + + // Following vars are used by some objects only. We keep this property here in CommonObject to be able to provide common method using them. + + /** + * @var string[] Array of error strings + */ + public $errors=array(); + + /** + * @var string[] Can be used to pass information when only object is provided to method + */ + public $context=array(); + + /** + * @var string Contains canvas name if record is an alternative canvas record + */ + public $canvas; + public $name; public $lastname; public $firstname; public $civility_id; - public $import_key; - - public $array_options=array(); - - /** - * @var Societe - */ + /** + * @deprecated + * @see thirdparty + */ + public $client; + /** + * @var Societe + */ public $thirdparty; - - public $linkedObjectsIds; // Loaded by ->fetchObjectLinked - public $linkedObjects; // Loaded by ->fetchObjectLinked + /** + * @deprecated + * @see project + */ + public $projet; + /** + * @var Project + */ + public $project; // No constructor as it is an abstract class - /** - * Column name of the ref field. - * @var string - */ - protected $table_ref_field = ''; - /** * Check an object id/ref exists @@ -81,8 +135,8 @@ abstract class CommonObject $sql = "SELECT rowid, ref, ref_ext"; $sql.= " FROM ".MAIN_DB_PREFIX.$element; - $sql.= " WHERE entity IN (".getEntity($element,1).")" ; - + $sql.= " WHERE entity IN (".getEntity($element,1).")" ; + if ($id > 0) $sql.= " AND rowid = ".$db->escape($id); else if ($ref) $sql.= " AND ref = '".$db->escape($ref)."'"; else if ($ref_ext) $sql.= " AND ref_ext = '".$db->escape($ref_ext)."'"; @@ -167,8 +221,8 @@ abstract class CommonObject /** * Add a link between element $this->element and a contact * - * @param int $fk_socpeople Id of contact to link - * @param int $type_contact Type of contact (code or id). For example: SALESREPFOLL + * @param int $fk_socpeople Id of thirdparty contact (if source = 'external') or id of user (if souce = 'internal') to link + * @param int $type_contact Type of contact (code or id). Must be if or code found into table llx_c_type_contact. For example: SALESREPFOLL * @param int $source external=Contact extern (llx_socpeople), internal=Contact intern (llx_user) * @param int $notrigger Disable all triggers * @return int <0 if KO, >0 if OK @@ -384,7 +438,7 @@ abstract class CommonObject /** * Get array of all contacts for an object * - * @param int $statut Status of lines to get (-1=all) + * @param int $statut Status of links to get (-1=all) * @param string $source Source of contact: external or thirdparty (llx_socpeople) or internal (llx_user) * @param int $list 0:Return array contains all properties, 1:Return array contains just id * @return array Array of contacts @@ -395,9 +449,9 @@ abstract class CommonObject $tab=array(); - $sql = "SELECT ec.rowid, ec.statut, ec.fk_socpeople as id, ec.fk_c_type_contact"; // This field contains id of llx_socpeople or id of llx_user - if ($source == 'internal') $sql.=", '-1' as socid"; - if ($source == 'external' || $source == 'thirdparty') $sql.=", t.fk_soc as socid"; + $sql = "SELECT ec.rowid, ec.statut as statuslink, ec.fk_socpeople as id, ec.fk_c_type_contact"; // This field contains id of llx_socpeople or id of llx_user + if ($source == 'internal') $sql.=", '-1' as socid, t.statut as statuscontact"; + if ($source == 'external' || $source == 'thirdparty') $sql.=", t.fk_soc as socid, t.statut as statuscontact"; $sql.= ", t.civility as civility, t.lastname as lastname, t.firstname, t.email"; $sql.= ", tc.source, tc.element, tc.code, tc.libelle"; $sql.= " FROM ".MAIN_DB_PREFIX."c_type_contact tc"; @@ -429,8 +483,8 @@ abstract class CommonObject $libelle_type=($langs->trans($transkey)!=$transkey ? $langs->trans($transkey) : $obj->libelle); $tab[$i]=array('source'=>$obj->source,'socid'=>$obj->socid,'id'=>$obj->id, 'nom'=>$obj->lastname, // For backward compatibility - 'civility'=>$obj->civility, 'lastname'=>$obj->lastname, 'firstname'=>$obj->firstname, 'email'=>$obj->email, - 'rowid'=>$obj->rowid,'code'=>$obj->code,'libelle'=>$libelle_type,'status'=>$obj->statut, 'fk_c_type_contact' => $obj->fk_c_type_contact); + 'civility'=>$obj->civility, 'lastname'=>$obj->lastname, 'firstname'=>$obj->firstname, 'email'=>$obj->email, 'statuscontact'=>$obj->statuscontact, + 'rowid'=>$obj->rowid, 'code'=>$obj->code, 'libelle'=>$libelle_type, 'status'=>$obj->statuslink, 'fk_c_type_contact'=>$obj->fk_c_type_contact); } else { @@ -491,9 +545,9 @@ abstract class CommonObject * Return array with list of possible values for type of contacts * * @param string $source 'internal', 'external' or 'all' - * @param string $order Sort order by : 'code' or 'rowid' - * @param string $option 0=Return array id->label, 1=Return array code->label - * @param string $activeonly 0=all status of contact, 1=only the active + * @param string $order Sort order by 'code' or 'rowid' + * @param int $option 0=Return array id->label, 1=Return array code->label + * @param int $activeonly 0=all status of contact, 1=only the active * @param string $code Type of contact (Example: 'CUSTOMER', 'SERVICE') * @return array Array list of type of contacts (id->label if option=0, code->label if option=1) */ @@ -507,7 +561,7 @@ abstract class CommonObject $sql = "SELECT DISTINCT tc.rowid, tc.code, tc.libelle"; $sql.= " FROM ".MAIN_DB_PREFIX."c_type_contact as tc"; $sql.= " WHERE tc.element='".$this->element."'"; - if ($activeonly == 1) $sql.= " AND tc.active=1"; // only the active type + if ($activeonly == 1) $sql.= " AND tc.active=1"; // only the active types if (! empty($source) && $source != 'all') $sql.= " AND tc.source='".$source."'"; if (! empty($code)) $sql.= " AND tc.code='".$code."'"; $sql.= " ORDER by tc.".$order; @@ -592,12 +646,12 @@ abstract class CommonObject } /** - * Charge le contact d'id $id dans this->contact + * Load object contact with id=$this->contactid into $this->contact * * @param int $contactid Id du contact. Use this->contactid if empty. * @return int <0 if KO, >0 if OK */ - function fetch_contact($contactid='') + function fetch_contact($contactid=null) { if (empty($contactid)) $contactid=$this->contactid; @@ -725,11 +779,16 @@ abstract class CommonObject */ function fetch_projet() { + include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; + + if (empty($this->fk_project) && ! empty($this->fk_projet)) $this->fk_project = $this->fk_projet; // For backward compatibility if (empty($this->fk_project)) return 0; $project = new Project($this->db); $result = $project->fetch($this->fk_project); - $this->projet = $project; + + $this->projet = $project; // deprecated + $this->project = $project; return $result; } @@ -823,14 +882,14 @@ abstract class CommonObject /** * Update a specific field into database * - * @param string $field Field to update - * @param mixed $value New value - * @param string $table To force other table element or element line (should not be used) - * @param int $id To force other object id (should not be used) - * @param string $format Data format ('text', 'date'). 'text' is used if not defined - * @param string $id_field To force rowid field name. 'rowid' is used it not defined - * @param string $user Update last update fields also if user object provided - * @return int <0 if KO, >0 if OK + * @param string $field Field to update + * @param mixed $value New value + * @param string $table To force other table element or element line (should not be used) + * @param int $id To force other object id (should not be used) + * @param string $format Data format ('text', 'date'). 'text' is used if not defined + * @param string $id_field To force rowid field name. 'rowid' is used it not defined + * @param User|string $user Update last update fields also if user object provided + * @return int <0 if KO, >0 if OK */ function setValueFrom($field, $value, $table='', $id='', $format='', $id_field='', $user='') { @@ -878,7 +937,7 @@ abstract class CommonObject if (! $this->table_element) { - dol_print_error('',get_class($this)."::load_previous_next_ref was called on objet with property table_element not defined", LOG_ERR); + dol_print_error('',get_class($this)."::load_previous_next_ref was called on objet with property table_element not defined"); return -1; } @@ -1578,7 +1637,7 @@ abstract class CommonObject } if (! in_array($suffix,array('','_public','_private'))) { - dol_syslog(get_class($this)."::upate_note Parameter suffix must be empty, '_private' or '_public'", LOG_ERR); + dol_syslog(get_class($this)."::update_note Parameter suffix must be empty, '_private' or '_public'", LOG_ERR); return -2; } @@ -1604,9 +1663,10 @@ abstract class CommonObject /** * Update public note (kept for backward compatibility) * - * @param string $note New value for note - * @return int <0 if KO, >0 if OK - * @deprecated + * @param string $note New value for note + * @return int <0 if KO, >0 if OK + * @deprecated + * @see update_note() */ function update_note_public($note) { @@ -1620,10 +1680,10 @@ abstract class CommonObject * @param int $exclspec >0 = Exclude special product (product_type=9) * @param string $roundingadjust 'none'=Do nothing, 'auto'=Use default method (MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND if defined, or '0'), '0'=Force use total of rounding, '1'=Force use rounding of total * @param int $nodatabaseupdate 1=Do not update database. Update only properties of object. - * @param Societe $seller If roundingadjust is '0' or '1', it means we recalculate total for lines before calculating total for object. For this, we need seller object. + * @param Societe $seller If roundingadjust is '0' or '1', it means we recalculate total for lines before calculating total for object and for this, we need seller object. * @return int <0 if KO, >0 if OK */ - function update_price($exclspec=0,$roundingadjust='none',$nodatabaseupdate=0,$seller='') + function update_price($exclspec=0,$roundingadjust='none',$nodatabaseupdate=0,$seller=null) { global $conf; @@ -1647,6 +1707,10 @@ abstract class CommonObject $fieldtva='tva'; $fieldup='pu_ht'; } + if ($this->element == 'expensereport') + { + $fieldup='value_unit'; + } $sql = 'SELECT rowid, qty, '.$fieldup.' as up, remise_percent, total_ht, '.$fieldtva.' as total_tva, total_ttc, '.$fieldlocaltax1.' as total_localtax1, '.$fieldlocaltax2.' as total_localtax2,'; $sql.= ' tva_tx as vatrate, localtax1_tx, localtax2_tx, localtax1_type, localtax2_type, info_bits, product_type'; @@ -1736,6 +1800,19 @@ abstract class CommonObject // Add revenue stamp to total $this->total_ttc += isset($this->revenuestamp)?$this->revenuestamp:0; + // Situations totals + if ($this->situation_cycle_ref && $this->situation_counter > 1) { + $prev_sits = $this->get_prev_sits(); + + foreach ($prev_sits as $sit) { + $this->total_ht -= $sit->total_ht; + $this->total_tva -= $sit->total_tva; + $this->total_localtax1 -= $sit->total_localtax1; + $this->total_localtax2 -= $sit->total_localtax2; + $this->total_ttc -= $sit->total_ttc; + } + } + $this->db->free($resql); // Now update global field total_ht, total_ttc and tva @@ -1748,6 +1825,8 @@ abstract class CommonObject if ($this->element == 'facture' || $this->element == 'facturerec') $fieldht='total'; if ($this->element == 'facture_fourn' || $this->element == 'invoice_supplier') $fieldtva='total_tva'; if ($this->element == 'propal') $fieldttc='total'; + if ($this->element == 'expensereport') $fieldtva='total_tva'; + if ($this->element == 'askpricesupplier') $fieldttc='total'; if (empty($nodatabaseupdate)) { @@ -1765,7 +1844,8 @@ abstract class CommonObject if (! $resql) { $error++; - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); + $this->error[]=$this->db->lasterror(); } } @@ -1834,10 +1914,11 @@ abstract class CommonObject * @param int $targetid Object target id * @param string $targettype Object target type * @param string $clause 'OR' or 'AND' clause used when both source id and target id are provided + * @param int $alsosametype 0=Return only links to different object than source. 1=Include also link to objects of same type. * @return void * @see add_object_linked, updateObjectLinked, deleteObjectLinked */ - function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR') + function fetchObjectLinked($sourceid='',$sourcetype='',$targetid='',$targettype='',$clause='OR',$alsosametype=1) { global $conf; @@ -1871,7 +1952,7 @@ abstract class CommonObject return -1; } - // Links beetween objects are stored in this table + // Links between objects are stored in table element_element $sql = 'SELECT fk_source, sourcetype, fk_target, targettype'; $sql.= ' FROM '.MAIN_DB_PREFIX.'element_element'; $sql.= " WHERE "; @@ -1930,13 +2011,16 @@ abstract class CommonObject $classpath = $element.'/class'; - // To work with non standard path + // To work with non standard classpath or module name if ($objecttype == 'facture') { $classpath = 'compta/facture/class'; } else if ($objecttype == 'propal') { $classpath = 'comm/propal/class'; } + else if ($objecttype == 'askpricesupplier') { + $classpath = 'comm/askpricesupplier/class'; + } else if ($objecttype == 'shipping') { $classpath = 'expedition/class'; $subelement = 'expedition'; $module = 'expedition_bon'; } @@ -1963,7 +2047,7 @@ abstract class CommonObject $classfile = 'fournisseur.commande'; $classname = 'CommandeFournisseur'; } - if ($conf->$module->enabled && $element != $this->element) + if ($conf->$module->enabled && (($element != $this->element) || $alsosametype)) { dol_include_once('/'.$classpath.'/'.$classfile.'.class.php'); @@ -2093,7 +2177,7 @@ abstract class CommonObject * * @param int $status Status to set * @param int $elementId Id of element to force (use this->id by default) - * @param string $elementType Type of element to force (use ->this->element by default) + * @param string $elementType Type of element to force (use this->table_element by default) * @return int <0 if KO, >0 if OK */ function setStatut($status,$elementId='',$elementType='') @@ -2107,9 +2191,13 @@ abstract class CommonObject $fieldstatus="fk_statut"; if ($elementTable == 'user') $fieldstatus="statut"; + if ($elementTable == 'expensereport') $fieldstatus="fk_statut"; + if ($elementTable == 'commande_fournisseur_dispatch') $fieldstatus="status"; $sql = "UPDATE ".MAIN_DB_PREFIX.$elementTable; $sql.= " SET ".$fieldstatus." = ".$status; + // If status = 1 = validated, update also fk_user_valid + if ($status == 1 && $elementTable == 'expensereport') $sql.=", fk_user_valid = ".$user->id; $sql.= " WHERE rowid=".$elementId; dol_syslog(get_class($this)."::setStatut", LOG_DEBUG); @@ -2184,7 +2272,6 @@ abstract class CommonObject $obj = $this->db->fetch_object($resql); if ($obj) { - $this->id = $obj->rowid; $this->canvas = $obj->canvas; return 1; } @@ -2356,6 +2443,91 @@ abstract class CommonObject } + /** + * Return incoterms informations + * + * @return string incoterms info + */ + function display_incoterms() + { + $out = ''; + $this->incoterms_libelle = ''; + if (!empty($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); + $out .= $res->code; + } + } + + $out .= ' - '.$this->location_incoterms; + + return $out; + } + + /** + * Return incoterms informations for pdf display + * + * @return string incoterms info + */ + function getIncotermsForPDF() + { + $sql = 'SELECT code FROM '.MAIN_DB_PREFIX.'c_incoterms WHERE rowid = '.(int) $this->fk_incoterms; + $resql = $this->db->query($sql); + if ($resql) + { + $res = $this->db->fetch_object($resql); + return 'Incoterm : '.$res->code.' - '.$this->location_incoterms; + } + else + { + return false; + } + } + + /** + * Define incoterms values of current object + * + * @param int $id_incoterm Id of incoterm to set or '' to remove + * @param string $location location of incoterm + * @return int <0 if KO, >0 if OK + */ + function setIncoterms($id_incoterm, $location) + { + 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.= ", location_incoterms = '".($id_incoterm > 0 ? $this->db->escape($location) : "null")."'"; + $sql.= " WHERE rowid = " . $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 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); + $this->libelle_incoterms = $obj->libelle; + } + return 1; + } + else + { + return -1; + } + } + else return -1; + } + + /** * Return if a country is inside the EEC (European Economic Community) * @@ -2408,83 +2580,19 @@ abstract class CommonObject // TODO: All functions here must be redesigned and moved as they are not business functions but output functions // -------------------- - /* This is to show linked object block */ - /** - * Show linked object block - * TODO Move this into html.class.php - * But for the moment we don't know if it's possible as we keep a method available on overloaded objects. + * Show linked object block. * - * @return int + * @return int <0 if KO, >0 if OK + * @deprecated 3.8 Use instead $form->shoLinkedObjectBlock($object) */ function showLinkedObjectBlock() { - global $conf,$langs,$hookmanager; - global $bc; - - $this->fetchObjectLinked(); - - // Bypass the default method - $hookmanager->initHooks(array('commonobject')); - $parameters=array(); - $reshook=$hookmanager->executeHooks('showLinkedObjectBlock',$parameters,$this,$action); // Note that $action and $object may have been modified by hook - - if (empty($reshook)) - { - $num = count($this->linkedObjects); - - foreach($this->linkedObjects as $objecttype => $objects) - { - $tplpath = $element = $subelement = $objecttype; - - if (preg_match('/^([^_]+)_([^_]+)/i',$objecttype,$regs)) - { - $element = $regs[1]; - $subelement = $regs[2]; - $tplpath = $element.'/'.$subelement; - } - - // To work with non standard path - if ($objecttype == 'facture') { - $tplpath = 'compta/'.$element; - if (empty($conf->facture->enabled)) continue; // Do not show if module disabled - } - else if ($objecttype == 'propal') { - $tplpath = 'comm/'.$element; - if (empty($conf->propal->enabled)) continue; // Do not show if module disabled - } - else if ($objecttype == 'shipping') { - $tplpath = 'expedition'; - if (empty($conf->expedition->enabled)) continue; // Do not show if module disabled - } - else if ($objecttype == 'delivery') { - $tplpath = 'livraison'; - } - else if ($objecttype == 'invoice_supplier') { - $tplpath = 'fourn/facture'; - } - else if ($objecttype == 'order_supplier') { - $tplpath = 'fourn/commande'; - } - - global $linkedObjectBlock; - $linkedObjectBlock = $objects; - - // Output template part (modules that overwrite templates must declare this into descriptor) - $dirtpls=array_merge($conf->modules_parts['tpl'],array('/'.$tplpath.'/tpl')); - foreach($dirtpls as $reldir) - { - $res=@include dol_buildpath($reldir.'/linkedobjectblock.tpl.php'); - if ($res) break; - } - } - - return $num; - } + global $form; + return $form->showLinkedObjectBlock($this); } - /* This is to show add lines */ /** @@ -2532,38 +2640,56 @@ abstract class CommonObject * But for the moment we don't know if it'st possible as we keep a method available on overloaded objects. * * @param string $action Action code - * @param string $seller Object of seller third party - * @param string $buyer Object of buyer third party - * @param string $selected Object line selected + * @param Societe $seller Object of seller third party + * @param Societe $buyer Object of buyer third party + * @param int $selected Object line selected * @param int $dateSelector 1=Show also date range input fields * @return void */ function printObjectLines($action, $seller, $buyer, $selected=0, $dateSelector=0) { - global $conf,$langs,$user,$object,$hookmanager; + global $conf, $hookmanager, $inputalsopricewithtax, $usemargins, $langs, $user; + + // Define usemargins + $usemargins=0; + if (! empty($conf->margin->enabled) && ! empty($this->element) && in_array($this->element,array('facture','propal','commande'))) $usemargins=1; print ''; if (! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) print ' '; // Description - print ''; + print ''.$langs->trans('Description').''; + + if ($this->element == 'askpricesupplier') + { + print ''.$langs->trans("AskPriceSupplierRefFourn").''; + } // VAT - print ''; + print ''.$langs->trans('VAT').''; // Price HT - print ''; + print ''.$langs->trans('PriceUHT').''; - if ($inputalsopricewithtax) print ' '; + if ($inputalsopricewithtax) print ''.$langs->trans('PriceUTTC').''; // Qty - print ''; + print ''.$langs->trans('Qty').''; + + if($conf->global->PRODUCT_USE_UNITS) + { + print ''.$langs->trans('Unit').''; + } // Reduction short - print ''; + print ''.$langs->trans('ReductionShort').''; - if (! empty($conf->margin->enabled) && empty($user->societe_id)) + if ($this->situation_cycle_ref) { + print '' . $langs->trans('Progress') . ''; + } + + if ($usemargins && ! empty($conf->margin->enabled) && empty($user->societe_id)) { if ($conf->global->MARGIN_TYPE == "1") print ''.$langs->trans('BuyingPrice').''; @@ -2629,22 +2755,24 @@ abstract class CommonObject * Return HTML content of a detail line * TODO Move this into an output class file (htmlline.class.php) * - * @param string $action GET/POST action - * @param array $line Selected object line to output - * @param string $var Is it a an odd line (true) - * @param int $num Number of line (0) - * @param int $i I - * @param int $dateSelector 1=Show also date range input fields - * @param string $seller Object of seller third party - * @param string $buyer Object of buyer third party - * @param string $selected Object line selected - * @param object $extrafieldsline Object of extrafield line attribute + * @param string $action GET/POST action + * @param CommonObjectLine $line Selected object line to output + * @param string $var Is it a an odd line (true) + * @param int $num Number of line (0) + * @param int $i I + * @param int $dateSelector 1=Show also date range input fields + * @param Societe $seller Object of seller third party + * @param Societe $buyer Object of buyer third party + * @param int $selected Object line selected + * @param object $extrafieldsline Object of extrafield line attribute * @return void */ function printObjectLine($action,$line,$var,$num,$i,$dateSelector,$seller,$buyer,$selected=0,$extrafieldsline=0) { global $conf,$langs,$user,$object,$hookmanager; - global $form,$bc,$bcdd; + global $form,$bc,$bcdd, $object_rights; + + $object_rights = $this->getRights(); $element=$this->element; @@ -2663,10 +2791,7 @@ abstract class CommonObject if ($line->fk_product > 0) { $product_static = new Product($this->db); - - $product_static->type=$line->fk_product_type; - $product_static->id=$line->fk_product; - $product_static->ref=$line->ref; + $product_static->fetch($line->fk_product); $text=$product_static->getNomUrl(1); // Define output language and label @@ -2699,7 +2824,7 @@ abstract class CommonObject } $text.= ' - '.(! empty($line->label)?$line->label:$label); - $description=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($line->description)); + $description.=(! empty($conf->global->PRODUIT_DESC_IN_FORM)?'':dol_htmlentitiesbr($line->description)); // Description is what to show on popup. We shown nothing if already into desc. } // Output template part (modules that overwrite templates must declare this into descriptor) @@ -2756,7 +2881,7 @@ abstract class CommonObject */ function printOriginLinesList() { - global $langs, $hookmanager; + global $langs, $hookmanager, $conf; print ''; print ''.$langs->trans('Ref').''; @@ -2764,6 +2889,10 @@ abstract class CommonObject print ''.$langs->trans('VAT').''; print ''.$langs->trans('PriceUHT').''; print ''.$langs->trans('Qty').''; + if($conf->global->PRODUCT_USE_UNITS) + { + print ''.$langs->trans('Unit').''; + } print ''.$langs->trans('ReductionShort').''; $num = count($this->lines); @@ -2804,7 +2933,7 @@ abstract class CommonObject */ function printOriginLine($line,$var) { - global $conf,$langs,$bc; + global $conf,$langs,$bc, $conf; //var_dump($line); if (!empty($line->date_start)) @@ -2891,6 +3020,7 @@ abstract class CommonObject $this->tpl['vat_rate'] = vatrate($line->tva_tx, true); $this->tpl['price'] = price($line->subprice); $this->tpl['qty'] = (($line->info_bits & 2) != 2) ? $line->qty : ' '; + if($conf->global->PRODUCT_USE_UNITS) $this->tpl['unit'] = $line->getLabelOfUnit('long'); $this->tpl['remise_percent'] = (($line->info_bits & 2) != 2) ? vatrate($line->remise_percent, true) : ' '; // Output template part (modules that overwrite templates must declare this into descriptor) @@ -2909,228 +3039,24 @@ abstract class CommonObject } - /** - * get Margin info - * - * @param string $force_price True of not - * @return mixed Array with info - */ - function getMarginInfos($force_price=false) - { - global $conf; - require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; - - $marginInfos = array( - 'pa_products' => 0, - 'pv_products' => 0, - 'margin_on_products' => 0, - 'margin_rate_products' => '', - 'mark_rate_products' => '', - 'pa_services' => 0, - 'pv_services' => 0, - 'margin_on_services' => 0, - 'margin_rate_services' => '', - 'mark_rate_services' => '', - 'pa_total' => 0, - 'pv_total' => 0, - 'total_margin' => 0, - 'total_margin_rate' => '', - 'total_mark_rate' => '' - ); - - foreach($this->lines as $line) { - if (empty($line->pa_ht) && isset($line->fk_fournprice) && !$force_price) { - $product = new ProductFournisseur($this->db); - if ($product->fetch_product_fournisseur_price($line->fk_fournprice)) - $line->pa_ht = $product->fourn_unitprice * (1 - $product->fourn_remise_percent / 100); - if (isset($conf->global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == "2" && $product->fourn_unitcharges > 0) - $line->pa_ht += $product->fourn_unitcharges; - } - // si prix d'achat non renseigné et devrait l'être, alors prix achat = prix vente - if ((!isset($line->pa_ht) || $line->pa_ht == 0) && $line->subprice > 0 && (isset($conf->global->ForceBuyingPriceIfNull) && $conf->global->ForceBuyingPriceIfNull == 1)) { - $line->pa_ht = $line->subprice * (1 - ($line->remise_percent / 100)); - } - - // calcul des marges - if (isset($line->fk_remise_except) && isset($conf->global->MARGIN_METHODE_FOR_DISCOUNT)) { // remise - $pa = $line->qty * $line->pa_ht; - $pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100); - if ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '1') { // remise globale considérée comme produit - $marginInfos['pa_products'] += $pa; - $marginInfos['pv_products'] += $pv; - $marginInfos['pa_total'] += $pa; - $marginInfos['pv_total'] += $pv; - // if credit note, margin = -1 * (abs(selling_price) - buying_price) - if ($pv < 0) - $marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa); - else - $marginInfos['margin_on_products'] += $pv - $pa; - } - elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '2') { // remise globale considérée comme service - $marginInfos['pa_services'] += $pa; - $marginInfos['pv_services'] += $pv; - $marginInfos['pa_total'] += $pa; - $marginInfos['pv_total'] += $pv; - // if credit note, margin = -1 * (abs(selling_price) - buying_price) - if ($pv < 0) - $marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa); - else - $marginInfos['margin_on_services'] += $pv - $pa; - } - elseif ($conf->global->MARGIN_METHODE_FOR_DISCOUNT == '3') { // remise globale prise en compte uniqt sur total - $marginInfos['pa_total'] += $pa; - $marginInfos['pv_total'] += $pv; - } - } - else { - $type=$line->product_type?$line->product_type:$line->fk_product_type; - if ($type == 0) { // product - $pa = $line->qty * $line->pa_ht; - $pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100); - $marginInfos['pa_products'] += $pa; - $marginInfos['pv_products'] += $pv; - $marginInfos['pa_total'] += $pa; - $marginInfos['pv_total'] += $pv; - // if credit note, margin = -1 * (abs(selling_price) - buying_price) - if ($pv < 0) - $marginInfos['margin_on_products'] += -1 * (abs($pv) - $pa); - else - $marginInfos['margin_on_products'] += $pv - $pa; - } - elseif ($type == 1) { // service - $pa = $line->qty * $line->pa_ht; - $pv = $line->qty * $line->subprice * (1 - $line->remise_percent / 100); - $marginInfos['pa_services'] += $pa; - $marginInfos['pv_services'] += $pv; - $marginInfos['pa_total'] += $pa; - $marginInfos['pv_total'] += $pv; - // if credit note, margin = -1 * (abs(selling_price) - buying_price) - if ($pv < 0) - $marginInfos['margin_on_services'] += -1 * (abs($pv) - $pa); - else - $marginInfos['margin_on_services'] += $pv - $pa; - } - } - } - if ($marginInfos['pa_products'] > 0) - $marginInfos['margin_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pa_products']; - if ($marginInfos['pv_products'] > 0) - $marginInfos['mark_rate_products'] = 100 * $marginInfos['margin_on_products'] / $marginInfos['pv_products']; - - if ($marginInfos['pa_services'] > 0) - $marginInfos['margin_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pa_services']; - if ($marginInfos['pv_services'] > 0) - $marginInfos['mark_rate_services'] = 100 * $marginInfos['margin_on_services'] / $marginInfos['pv_services']; - - // if credit note, margin = -1 * (abs(selling_price) - buying_price) - if ($marginInfos['pv_total'] < 0) - $marginInfos['total_margin'] = -1 * (abs($marginInfos['pv_total']) - $marginInfos['pa_total']); - else - $marginInfos['total_margin'] = $marginInfos['pv_total'] - $marginInfos['pa_total']; - if ($marginInfos['pa_total'] > 0) - $marginInfos['total_margin_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pa_total']; - if ($marginInfos['pv_total'] > 0) - $marginInfos['total_mark_rate'] = 100 * $marginInfos['total_margin'] / $marginInfos['pv_total']; - - return $marginInfos; - } - /** * Show the array with all margin infos * - * @param string $force_price Force price - * @return void + * @param boolean $force_price Force price + * @return void + * @deprecated 3.8 Load FormMargin class and make a direct call to displayMarginInfos */ function displayMarginInfos($force_price=false) { - global $langs, $conf, $user; - - if (! empty($user->societe_id)) return; - - if (! $user->rights->margins->liretous) return; - - $rounding = min($conf->global->MAIN_MAX_DECIMALS_UNIT, $conf->global->MAIN_MAX_DECIMALS_TOT); - - $marginInfo = $this->getMarginInfos($force_price); - - if (! empty($conf->global->MARGIN_ADD_SHOWHIDE_BUTTON)) // FIXME Warning this feature rely on an external js file that may be removed. Using native js function document.cookie should be better - { - print $langs->trans('ShowMarginInfos').' : '; - $hidemargininfos = $_COOKIE['DOLUSER_MARGININFO_HIDE_SHOW']; - print ''.img_picto($langs->trans("Disabled"),'switch_off').''; - print ''.img_picto($langs->trans("Enabled"),'switch_on').''; - - print ''; - if (!empty($hidemargininfos)) print ''; - } - - print ''; - print ''; - print ''; - print ''; - if ($conf->global->MARGIN_TYPE == "1") - print ''; - else - print ''; - print ''; - if (! empty($conf->global->DISPLAY_MARGIN_RATES)) - print ''; - if (! empty($conf->global->DISPLAY_MARK_RATES)) - print ''; - print ''; - - if (! empty($conf->product->enabled)) - { - //if ($marginInfo['margin_on_products'] != 0 && $marginInfo['margin_on_services'] != 0) { - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->global->DISPLAY_MARGIN_RATES)) - print ''; - if (! empty($conf->global->DISPLAY_MARK_RATES)) - print ''; - print ''; - } - - if (! empty($conf->service->enabled)) - { - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->global->DISPLAY_MARGIN_RATES)) - print ''; - if (! empty($conf->global->DISPLAY_MARK_RATES)) - print ''; - print ''; - } - - if (! empty($conf->product->enabled) && ! empty($conf->service->enabled)) - { - print ''; - print ''; - print ''; - print ''; - print ''; - if (! empty($conf->global->DISPLAY_MARGIN_RATES)) - print ''; - if (! empty($conf->global->DISPLAY_MARK_RATES)) - print ''; - print ''; - } - print '
'.$langs->trans('Margins').''.$langs->trans('SellingPrice').''.$langs->trans('BuyingPrice').''.$langs->trans('CostPrice').''.$langs->trans('Margin').''.$langs->trans('MarginRate').''.$langs->trans('MarkRate').'
'.$langs->trans('MarginOnProducts').''.price($marginInfo['pv_products'], null, null, null, null, $rounding).''.price($marginInfo['pa_products'], null, null, null, null, $rounding).''.price($marginInfo['margin_on_products'], null, null, null, null, $rounding).''.(($marginInfo['margin_rate_products'] == '')?'':price($marginInfo['margin_rate_products'], null, null, null, null, $rounding).'%').''.(($marginInfo['mark_rate_products'] == '')?'':price($marginInfo['mark_rate_products'], null, null, null, null, $rounding).'%').'
'.$langs->trans('MarginOnServices').''.price($marginInfo['pv_services'], null, null, null, null, $rounding).''.price($marginInfo['pa_services'], null, null, null, null, $rounding).''.price($marginInfo['margin_on_services'], null, null, null, null, $rounding).''.(($marginInfo['margin_rate_services'] == '')?'':price($marginInfo['margin_rate_services'], null, null, null, null, $rounding).'%').''.(($marginInfo['mark_rate_services'] == '')?'':price($marginInfo['mark_rate_services'], null, null, null, null, $rounding).'%').'
'.$langs->trans('TotalMargin').''.price($marginInfo['pv_total'], null, null, null, null, $rounding).''.price($marginInfo['pa_total'], null, null, null, null, $rounding).''.price($marginInfo['total_margin'], null, null, null, null, $rounding).''.(($marginInfo['total_margin_rate'] == '')?'':price($marginInfo['total_margin_rate'], null, null, null, null, $rounding).'%').''.(($marginInfo['total_mark_rate'] == '')?'':price($marginInfo['total_mark_rate'], null, null, null, null, $rounding).'%').'
'; + include_once DOL_DOCUMENT_ROOT.'/core/class/html.formmargin.class.php'; + $formmargin=new FormMargin($this->db); + $formmargin->displayMarginInfos($this, $force_price); } /** * Add resources to the current object : add entry into llx_element_resources - *Need $this->element & $this->id + * Need $this->element & $this->id * * @param int $resource_id Resource id * @param string $resource_element Resource element @@ -3188,25 +3114,26 @@ abstract class CommonObject $this->db->begin(); $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources"; - $sql.= " WHERE rowid =".$rowid; + $sql.= " WHERE rowid=".$rowid; dol_syslog(get_class($this)."::delete_resource", LOG_DEBUG); - if ($this->db->query($sql)) - { - if (! $notrigger) + $resql=$this->db->query($sql); + if (! $resql) + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return -1; + } + else + { + if (! $notrigger) { $result=$this->call_trigger(strtoupper($element).'_DELETE_RESOURCE', $user); if ($result < 0) { $this->db->rollback(); return -1; } } - - return 1; - } - else - { - $this->error=$this->db->lasterror(); - $this->db->rollback(); - return -1; - } + $this->db->commit(); + return 1; + } } @@ -3231,13 +3158,13 @@ abstract class CommonObject /** * Common function for all objects extending CommonObject for generating documents * - * @param string $modelspath Relative folder where models are placed - * @param string $modele Model to use - * @param Translate $outputlangs Language to use - * @param int $hidedetails 1 to hide details. 0 by default - * @param int $hidedesc 1 to hide product description. 0 by default - * @param int $hideref 1 to hide product reference. 0 by default - * @return int 1 if OK -1 if KO + * @param string $modelspath Relative folder where generators are placed + * @param string $modele Generator to use. Caller must set it to obj->modelpdf or GETPOST('modelpdf') for example. + * @param Translate $outputlangs Language to use + * @param int $hidedetails 1 to hide details. 0 by default + * @param int $hidedesc 1 to hide product description. 0 by default + * @param int $hideref 1 to hide product reference. 0 by default + * @return int >0 if OK, <0 if KO */ protected function commonGenerateDocument($modelspath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref) { @@ -3251,7 +3178,7 @@ abstract class CommonObject @set_time_limit(120); error_reporting($err); - // If selected modele is a filename template (then $modele="modelname:filename") + // If selected model is a filename template (then $modele="modelname" or "modelname:filename") $tmp=explode(':',$modele,2); if (! empty($tmp[1])) { @@ -3281,7 +3208,7 @@ abstract class CommonObject if ($filefound) break; } - // Charge le modele + // If generator was found if ($filefound) { require_once $file; @@ -3289,6 +3216,47 @@ abstract class CommonObject $obj = new $classname($this->db); //$obj->message = $message; + // If generator is ODT, we must have srctemplatepath defined, if not we set it. + if ($obj->type == 'odt' && empty($srctemplatepath)) + { + $varfortemplatedir=$obj->scandir; + if ($varfortemplatedir && ! empty($conf->global->$varfortemplatedir)) + { + $dirtoscan=$conf->global->$varfortemplatedir; + + $listoffiles=array(); + + // Now we add first model found in directories scanned + $listofdir=explode(',',$dirtoscan); + foreach($listofdir as $key=>$tmpdir) + { + $tmpdir=trim($tmpdir); + $tmpdir=preg_replace('/DOL_DATA_ROOT/',DOL_DATA_ROOT,$tmpdir); + if (! $tmpdir) { unset($listofdir[$key]); continue; } + if (is_dir($tmpdir)) + { + $tmpfiles=dol_dir_list($tmpdir,'files',0,'\.od(s|t)$','','name',SORT_ASC,0); + if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles); + } + } + + if (count($listoffiles)) + { + foreach($listoffiles as $record) + { + $srctemplatepath=$record['fullname']; + break; + } + } + } + + if (empty($srctemplatepath)) + { + $this->error='ErrorGenerationAskedForOdtTemplateWithNoSrcFileFound'; + return -1; + } + } + // 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; @@ -3308,18 +3276,44 @@ abstract class CommonObject else { $outputlangs->charset_output=$sav_charset_output; - dol_print_error($this->db,"Error generating document for ".__CLASS__.". Error: ".$obj->error); + dol_print_error($this->db, "Error generating document for ".__CLASS__.". Error: ".$obj->error, $obj->errors); return -1; } } else { - dol_print_error('',$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file)); + $this->error=$langs->trans("Error")." ".$langs->trans("ErrorFileDoesNotExists",$file); + dol_print_error('',$this->error); return -1; } } + /** + * Build thumb + * + * @param string $file Path file in UTF8 to original file to create thumbs from. + * @return void + */ + function add_thumb($file) + { + global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini, $quality; + + require_once DOL_DOCUMENT_ROOT .'/core/lib/images.lib.php'; // This define also $maxwidthsmall, $quality, ... + + $file_osencoded=dol_osencode($file); + if (file_exists($file_osencoded)) + { + // Create small thumbs for company (Ratio is near 16/9) + // Used on logon for example + $imgThumbSmall = vignette($file_osencoded, $maxwidthsmall, $maxheightsmall, '_small', $quality); + + // Create mini thumbs for company (Ratio is near 16/9) + // Used on menu or for setup page for example + $imgThumbMini = vignette($file_osencoded, $maxwidthmini, $maxheightmini, '_mini', $quality); + } + } + /* Functions common to commonobject and commonobjectline */ @@ -3484,8 +3478,9 @@ abstract class CommonObject { $attributeKey = substr($key,8); // Remove 'options_' prefix $attributeType = $extrafields->attribute_type[$attributeKey]; - $attributeSize = $extrafields->attribute_size[$attributeKey]; + //$attributeSize = $extrafields->attribute_size[$attributeKey]; Not required to insert an extrafield value. Only used for definition. $attributeLabel = $extrafields->attribute_label[$attributeKey]; + $attributeParam = $extrafields->attribute_param[$attributeKey]; switch ($attributeType) { case 'int': @@ -3508,6 +3503,19 @@ abstract class CommonObject case 'datetime': $this->array_options[$key]=$this->db->idate($this->array_options[$key]); break; + case 'link': + $param_list=array_keys($attributeParam ['options']); + // 0 : ObjectName + // 1 : classPath + $InfoFieldList = explode(":", $param_list[0]); + dol_include_once($InfoFieldList[1]); + $object = new $InfoFieldList[0]($this->db); + if ($value) + { + $object->fetch(0,$value); + $this->array_options[$key]=$object->id; + } + break; } } $this->db->begin(); @@ -3515,6 +3523,7 @@ abstract class CommonObject $sql_del = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element."_extrafields WHERE fk_object = ".$this->id; dol_syslog(get_class($this)."::insertExtraFields delete", LOG_DEBUG); $this->db->query($sql_del); + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element."_extrafields (fk_object"; foreach($this->array_options as $key => $value) { @@ -3563,13 +3572,13 @@ abstract class CommonObject * Function to show lines of extrafields with output datas * * @param object $extrafields Extrafield Object - * @param string $mode Show output (view) or input (edit) for extrafield - * @param array $params Optionnal parameters + * @param string $mode Show output ('view') or input ('edit') for extrafield + * @param array $params Optionnal parameters. Example: array('colspan'=>2) * @param string $keyprefix Prefix string to add into name and id of field (can be used to avoid duplicate names) * * @return string */ - function showOptionals($extrafields, $mode='view', $params=0, $keyprefix='') + function showOptionals($extrafields, $mode='view', $params=null, $keyprefix='') { global $_POST, $conf; @@ -3641,7 +3650,7 @@ abstract class CommonObject break; } - $out .= ''."\n"; + $out .= ''; if (! empty($conf->global->MAIN_EXTRAFIELDS_USE_TWO_COLUMS) && (($e % 2) == 1)) $out .= ''; else $out .= ''; @@ -3649,7 +3658,6 @@ abstract class CommonObject } } $out .= "\n"; - $out .= ' '; $out .= ' '; + '."\n"; + $out .= ' '."\n"; } return $out; } + /** + * Returns the rights used for this class + * @return stdClass + */ + public function getRights() + { + global $user; + + return $user->rights->{$this->element}; + } + + /** + * Function used to replace a thirdparty id with another one. + * This function is meant to be called from replaceThirdparty with the appropiate tables + * Column name fk_soc MUST be used to identify thirdparties + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id (the thirdparty to delete) + * @param int $dest_id New thirdparty id (the thirdparty that will received element of the other) + * @param array $tables Tables that need to be changed + * @return bool + */ + public static function commonReplaceThirdparty(DoliDB $db, $origin_id, $dest_id, array $tables) + { + foreach ($tables as $table) + { + $sql = 'UPDATE '.MAIN_DB_PREFIX.$table.' SET fk_soc = '.$dest_id.' WHERE fk_soc = '.$origin_id; + + if (!$db->query($sql)) { + return false; + } + } + + return true; + } } diff --git a/htdocs/core/class/commonobjectline.class.php b/htdocs/core/class/commonobjectline.class.php index c3c8d823a34..ef854a2452e 100644 --- a/htdocs/core/class/commonobjectline.class.php +++ b/htdocs/core/class/commonobjectline.class.php @@ -1,5 +1,6 @@ + * Copyright (C) 2012 Cedric Salvador * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,8 +29,71 @@ */ abstract class CommonObjectLine extends CommonObject { - // TODO + /** + * Id of the line + * @var int + */ + public $id; + /** + * Id of the line + * @var int + * @deprecated Try to use id property as possible (even if field into database is still rowid) + * @see id + */ + public $rowid; + + //! Database handler + public $db; + + /** + * Product/service unit code ('km', 'm', 'p', ...) + * @var string + */ + public $fk_unit; + + + /** + * Returns the text label from units dictionnary + * + * @param string $type Label type (long or short) + * @return string|int <0 if ko, label if ok + */ + public function getLabelOfUnit($type='long') + { + global $langs; + + if (!$this->fk_unit) { + return ''; + } + + $langs->load('products'); + + $this->db->begin(); + + $label_type = 'label'; + + if ($type == 'short') + { + $label_type = 'short_label'; + } + + $sql = 'select '.$label_type.' from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; + $resql = $this->db->query($sql); + if($resql && $this->db->num_rows($resql) > 0) + { + $res = $this->db->fetch_array($resql); + $label = $res[$label_type]; + $this->db->free($resql); + return $label; + } + else + { + $this->error=$this->db->error().' sql='.$sql; + 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/commonorder.class.php b/htdocs/core/class/commonorder.class.php index 469e1676a53..5309b5524ee 100644 --- a/htdocs/core/class/commonorder.class.php +++ b/htdocs/core/class/commonorder.class.php @@ -22,6 +22,7 @@ */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT .'/core/class/commonobjectline.class.php'; /** * \class CommonOrder @@ -36,8 +37,145 @@ abstract class CommonOrder extends CommonObject * \class CommonOrderLine * \brief Superclass for orders classes */ -abstract class CommonOrderLine extends CommonObject +abstract class CommonOrderLine extends CommonObjectLine { + /** + * Product ref + * @var string + * @deprecated Use product_ref + * @see product_ref + */ + public $ref; + + /** + * Product ref + * @var string + */ + public $product_ref; + + /** + * Product label + * @var string + * @deprecated Use product_label + * @see product_label + */ + public $libelle; + + /** + * Product label + * @var string + */ + public $product_label; + + /** + * Product description + * @var string + */ + public $product_desc; + + /** + * Quantity + * @var int + */ + public $qty; + + /** + * Unit price + * @deprecated + * @see subprice + */ + var $price; + + /** + * Unit price before taxes + * @var float + */ + public $subprice; + + /** + * Type of the product. 0 for product 1 for service + * @var int + */ + public $product_type = 0; + + /** + * Description of the line + * @var string + */ + public $desc; + + /** + * Id of corresponding product + * @var int + */ + public $fk_product; + + /** + * Percent line discount + * @var float + */ + public $remise_percent; + + /** + * VAT % + * @var float + */ + public $tva_tx; + + /** + * Local tax 1 % + * @var float + */ + public $localtax1_tx; + + /** + * Local tax 2 % + * @var float + */ + public $localtax2_tx; + + public $localtax1_type; + public $localtax2_type; + + /** + * Total amount before taxes + * @var float + */ + public $total_ht; + + /** + * Total VAT amount + * @var float + */ + public $total_tva; + + /** + * Total local tax 1 amount + * @var float + */ + public $total_localtax1; + + /** + * Total local tax 2 amount + * @var float + */ + public $total_localtax2; + + /** + * Total amount with taxes + * @var float + */ + public $total_ttc; + + /** + * Liste d'options cumulables: + * Bit 0: 0 si TVA normal - 1 si TVA NPR + * Bit 1: 0 si ligne normal - 1 si bit discount (link to line into llx_remise_except) + * @var int + */ + public $info_bits = 0; + + public $special_code = 0; } diff --git a/htdocs/core/class/commonstickergenerator.class.php b/htdocs/core/class/commonstickergenerator.class.php new file mode 100644 index 00000000000..1091962f6ea --- /dev/null +++ b/htdocs/core/class/commonstickergenerator.class.php @@ -0,0 +1,270 @@ + + * Copyright (C) 2002-2003 Jean-Louis Bergamo + * Copyright (C) 2006-2013 Laurent Destailleur + * Copyright (C) 2015 Francis Appels + * + * 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 . + */ + +/* Inspire de PDF_Label + * PDF_Label - PDF label editing + * @package PDF_Label + * @author Laurent PASSEBECQ + * @copyright 2003 Laurent PASSEBECQ + * disponible ici : http://www.fpdf.org/fr/script/script29.php + */ + +//------------------------------------------------------------------- +// VERSIONS : +// 1.0 : Initial release +// 1.1 : + : Added unit in the constructor +// + : Now Positions start @ (1,1).. then the first image @top-left of a page is (1,1) +// + : Added in the description of a label : +// font-size : defaut char size (can be changed by calling Set_Char_Size(xx); +// paper-size : Size of the paper for this sheet (thanx to Al Canton) +// metric : type of unit used in this description +// You can define your label properties in inches by setting metric to 'in' +// and printing in millimiter by setting unit to 'mm' in constructor. +// Added some labels : +// 5160, 5161, 5162, 5163,5164 : thanx to Al Canton : acanton@adams-blake.com +// 8600 : thanx to Kunal Walia : kunal@u.washington.edu +// + : Added 3mm to the position of labels to avoid errors +//////////////////////////////////////////////////// + +/** + * \file htdocs/core/class/commonstickergenerator.class.php + * \ingroup core + * \brief generate pdf document with labels or cards in Avery or custom format + */ + +require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/format_cards.lib.php'; + + +/** + * Class to generate stick sheet with format Avery or other personalised + */ +abstract class CommonStickerGenerator +{ + + public $code; // Code of format + public $format; // Array with informations + + // protected + var $_Avery_Name = ''; // Nom du format de l'etiquette + var $_Margin_Left = 0; // Marge de gauche de l'etiquette + var $_Margin_Top = 0; // marge en haut de la page avant la premiere etiquette + var $_X_Space = 0; // Espace horizontal entre 2 bandes d'etiquettes + var $_Y_Space = 0; // Espace vertical entre 2 bandes d'etiquettes + var $_X_Number = 0; // NX Nombre d'etiquettes sur la largeur de la page + var $_Y_Number = 0; // NY Nombre d'etiquettes sur la hauteur de la page + var $_Width = 0; // Largeur de chaque etiquette + var $_Height = 0; // Hauteur de chaque etiquette + var $_Char_Size = 10; // Hauteur des caracteres + var $_Line_Height = 10; // Hauteur par defaut d'une ligne + var $_Metric = 'mm'; // Type of metric.. Will help to calculate good values + var $_Metric_Doc = 'mm'; // Type of metric for the doc.. + var $_COUNTX = 1; + var $_COUNTY = 1; + var $_First = 1; + var $Tformat; + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + } + + /** + * Function to build PDF on disk, then output on HTTP strem. + * + * @param array $arrayofrecords Array of record informations (array('textleft'=>,'textheader'=>, ..., 'id'=>,'photo'=>) + * @param Translate $outputlangs Lang object for output language + * @param string $srctemplatepath Full path of source filename for generator using a template file + * @param string $outputdir Output directory for pdf file + * @return int 1=OK, 0=KO + */ + abstract function write_file($arrayofrecords,$outputlangs,$srctemplatepath,$outputdir=''); + + /** + * Output a sticker on page at position _COUNTX, _COUNTY (_COUNTX and _COUNTY start from 0) + * + * @param PDF $pdf PDF reference + * @param Translate $outputlangs Output langs + * @param array $param Associative array containing label content and optional parameters + * @return void + */ + abstract function addSticker(&$pdf,$outputlangs,$param); + + /** + * Methode qui permet de modifier la taille des caracteres + * Cela modiera aussi l'espace entre chaque ligne + * + * @param PDF $pdf PDF reference + * @param int $pt point + * @return void + */ + function Set_Char_Size(&$pdf,$pt) + { + if ($pt > 3) { + $this->_Char_Size = $pt; + $this->_Line_Height = $this->_Get_Height_Chars($pt); + $pdf->SetFont('','',$pt); + } + } + + /** + * protected Print dot line + * + * @param PDF $pdf PDF reference + * @param int $x1 X1 + * @param int $y1 Y1 + * @param int $x2 X2 + * @param int $y2 Y2 + * @param int $epaisseur Epaisseur + * @param int $nbPointilles Nb pointilles + * @return void + */ + function _Pointille(&$pdf,$x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=1,$nbPointilles=15) + { + $pdf->SetLineWidth($epaisseur); + $length=abs($x1-$x2); + $hauteur=abs($y1-$y2); + if($length>$hauteur) { + $Pointilles=($length/$nbPointilles)/2; // taille des pointilles + } + else { + $Pointilles=($hauteur/$nbPointilles)/2; + } + for($i=$x1;$i<=$x2;$i+=$Pointilles+$Pointilles) { + for($j=$i;$j<=($i+$Pointilles);$j++) { + if($j<=($x2-1)) { + $pdf->Line($j,$y1,$j+1,$y1); // on trace le pointill? du haut, point par point + $pdf->Line($j,$y2,$j+1,$y2); // on trace le pointill? du bas, point par point + } + } + } + for($i=$y1;$i<=$y2;$i+=$Pointilles+$Pointilles) { + for($j=$i;$j<=($i+$Pointilles);$j++) { + if($j<=($y2-1)) { + $pdf->Line($x1,$j,$x1,$j+1); // on trace le pointill? du haut, point par point + $pdf->Line($x2,$j,$x2,$j+1); // on trace le pointill? du bas, point par point + } + } + } + } + + /** + * protected Function realisant une croix aux 4 coins des cartes + * + * @param PDF $pdf PDF reference + * @param int $x1 X1 + * @param int $y1 Y1 + * @param int $x2 X2 + * @param int $y2 Y2 + * @param int $epaisseur Epaisseur + * @param int $taille Size + * @return void + */ + function _Croix(&$pdf,$x1=0,$y1=0,$x2=210,$y2=297,$epaisseur=1,$taille=4) + { + $pdf->SetDrawColor(192,192,192); + + $pdf->SetLineWidth($epaisseur); + $lg=$taille/2; + // croix haut gauche + $pdf->Line($x1,$y1-$lg,$x1,$y1+$lg); + $pdf->Line($x1-$lg,$y1,$x1+$lg,$y1); + // croix bas gauche + $pdf->Line($x1,$y2-$lg,$x1,$y2+$lg); + $pdf->Line($x1-$lg,$y2,$x1+$lg,$y2); + // croix haut droit + $pdf->Line($x2,$y1-$lg,$x2,$y1+$lg); + $pdf->Line($x2-$lg,$y1,$x2+$lg,$y1); + // croix bas droit + $pdf->Line($x2,$y2-$lg,$x2,$y2+$lg); + $pdf->Line($x2-$lg,$y2,$x2+$lg,$y2); + + $pdf->SetDrawColor(0,0,0); + } + + /** + * protected Convert units (in to mm, mm to in) + * $src and $dest must be 'in' or 'mm' + * + * @param int $value value + * @param string $src from + * @param string $dest to + * @return float value value after conversion + */ + function _Convert_Metric ($value, $src, $dest) + { + if ($src != $dest) { + $tab['in'] = 39.37008; + $tab['mm'] = 1000; + return $value * $tab[$dest] / $tab[$src]; + } else { + return $value; + } + } + + /** + * protected Give the height for a char size given. + * + * @param int $pt Point + * @return int Height chars + */ + function _Get_Height_Chars($pt) + { + // Tableau de concordance entre la hauteur des caracteres et de l'espacement entre les lignes + $_Table_Hauteur_Chars = array(6=>2, 7=>2.5, 8=>3, 9=>3.5, 10=>4, 11=>6, 12=>7, 13=>8, 14=>9, 15=>10); + if (in_array($pt, array_keys($_Table_Hauteur_Chars))) { + return $_Table_Hauteur_Chars[$pt]; + } else { + return 100; // There is a prob.. + } + } + + /** + * protected Set format + * + * @param PDF $pdf PDF reference + * @param string $format Format + * @return void + */ + function _Set_Format(&$pdf, $format) + { + $this->_Metric = $format['metric']; + $this->_Avery_Name = $format['name']; + $this->_Avery_Code = $format['code']; + $this->_Margin_Left = $this->_Convert_Metric($format['marginLeft'], $this->_Metric, $this->_Metric_Doc); + $this->_Margin_Top = $this->_Convert_Metric($format['marginTop'], $this->_Metric, $this->_Metric_Doc); + $this->_X_Space = $this->_Convert_Metric($format['SpaceX'], $this->_Metric, $this->_Metric_Doc); + $this->_Y_Space = $this->_Convert_Metric($format['SpaceY'], $this->_Metric, $this->_Metric_Doc); + $this->_X_Number = $format['NX']; + $this->_Y_Number = $format['NY']; + $this->_Width = $this->_Convert_Metric($format['width'], $this->_Metric, $this->_Metric_Doc); + $this->_Height = $this->_Convert_Metric($format['height'], $this->_Metric, $this->_Metric_Doc); + $this->Set_Char_Size($pdf, $format['font-size']); + } + +} diff --git a/htdocs/core/class/conf.class.php b/htdocs/core/class/conf.class.php index d63ba2fb4ef..13d2881563f 100644 --- a/htdocs/core/class/conf.class.php +++ b/htdocs/core/class/conf.class.php @@ -76,8 +76,6 @@ class Conf /** * Constructor - * - * @return Conf */ function __construct() { @@ -368,6 +366,7 @@ class Conf 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($conf->productbatch->enabled)) @@ -387,7 +386,7 @@ class Conf // 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 + // By default, suppliers ojbects can be linked to all projects $conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS = 1; // conf->liste_limit = constante de taille maximale des listes @@ -405,7 +404,7 @@ class Conf $this->css = "/theme/".$this->theme."/style.css.php"; // conf->email_from = email pour envoi par dolibarr des mails automatiques - $this->email_from = "robot@domain.com"; + $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 @@ -439,11 +438,17 @@ class Conf // Default pdf use dash between lines if (! isset($this->global->MAIN_PDF_DASH_BETWEEN_LINES)) $this->global->MAIN_PDF_DASH_BETWEEN_LINES=1; + // Set default value to MAIN_SHOW_LOGO + if (! isset($this->global->MAIN_SHOW_LOGO)) $this->global->MAIN_SHOW_LOGO=1; + // Default max file size for upload $this->maxfilesize = (empty($this->global->MAIN_UPLOAD_DOC) ? 0 : $this->global->MAIN_UPLOAD_DOC * 1024); // Define list of limited modules - if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later. + if (! isset($this->global->MAIN_MODULES_FOR_EXTERNAL)) $this->global->MAIN_MODULES_FOR_EXTERNAL='user,askpricesupplier,facture,categorie,commande,fournisseur,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda,adherent'; // '' means 'all'. Note that contact is added here as it should be a module later. + + // Enable select2 + if (empty($this->global->MAIN_USE_JQUERY_MULTISELECT)) $this->global->MAIN_USE_JQUERY_MULTISELECT='select2'; // Timeouts if (empty($this->global->MAIN_USE_CONNECT_TIMEOUT)) $this->global->MAIN_USE_CONNECT_TIMEOUT=10; diff --git a/htdocs/core/class/cookie.class.php b/htdocs/core/class/cookie.class.php index b7125008d89..ba519fab365 100644 --- a/htdocs/core/class/cookie.class.php +++ b/htdocs/core/class/cookie.class.php @@ -102,7 +102,7 @@ class DolCookie * * @param string $cookie Cookie name * @param string $value Cookie value - * @param string $expire Expiration + * @param integer $expire Expiration * @param string $path Path of cookie * @param string $domain Domain name * @param int $secure 0 or 1 diff --git a/htdocs/core/class/discount.class.php b/htdocs/core/class/discount.class.php index f0291c9d567..3542b8eb1a9 100644 --- a/htdocs/core/class/discount.class.php +++ b/htdocs/core/class/discount.class.php @@ -433,27 +433,25 @@ class DiscountAbsolute $result=''; - if ($option == 'invoice') - { - $lien = '
'; - $lienfin=''; + if ($option == 'invoice') { $label=$langs->trans("ShowDiscount").': '.$this->ref_facture_source; + $link = ''; + $linkend=''; $ref=$this->ref_facture_source; $picto='bill'; } - if ($option == 'discount') - { - $lien = ''; - $lienfin=''; + if ($option == 'discount') { $label=$langs->trans("Discount"); + $link = ''; + $linkend=''; $ref=$langs->trans("Discount"); $picto='generic'; } - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - $result.=$lien.$ref.$lienfin; + $result.=$link.$ref.$linkend; return $result; } diff --git a/htdocs/core/class/doleditor.class.php b/htdocs/core/class/doleditor.class.php index 0839639217f..db303ee7d1b 100644 --- a/htdocs/core/class/doleditor.class.php +++ b/htdocs/core/class/doleditor.class.php @@ -159,8 +159,8 @@ class DolEditor if (in_array($this->tool,array('textarea','ckeditor'))) { $found=1; - //$out.= ''; diff --git a/htdocs/core/class/dolgeoip.class.php b/htdocs/core/class/dolgeoip.class.php index 9844e6b74c9..7cddd4c16f5 100644 --- a/htdocs/core/class/dolgeoip.class.php +++ b/htdocs/core/class/dolgeoip.class.php @@ -40,7 +40,6 @@ class DolGeoIP * * @param string $type 'country' or 'city' * @param string $datfile Data file - * @return GeoIP */ function __construct($type,$datfile) { diff --git a/htdocs/core/class/dolgraph.class.php b/htdocs/core/class/dolgraph.class.php index 0dca02cbc2d..b65c5c8ede4 100644 --- a/htdocs/core/class/dolgraph.class.php +++ b/htdocs/core/class/dolgraph.class.php @@ -115,7 +115,7 @@ class DolGraph * Set Y precision * * @param float $which_prec Precision - * @return string + * @return boolean */ function SetPrecisionY($which_prec) { @@ -187,7 +187,7 @@ class DolGraph * Set y label * * @param string $label Y label - * @return boolean True + * @return boolean|null True */ function SetYLabel($label) { @@ -198,7 +198,7 @@ class DolGraph * Set width * * @param int $w Width - * @return boolean True + * @return boolean|null True */ function SetWidth($w) { @@ -554,7 +554,7 @@ class DolGraph /** * Return min value of all data * - * @return int Max value of all data + * @return double Max value of all data */ function GetFloorMinValue() { @@ -578,7 +578,7 @@ class DolGraph * * @param string $file Image file name to use to save onto disk (also used as javascript unique id) * @param string $fileurl Url path to show image if saved onto disk - * @return void + * @return integer|null */ function draw($file,$fileurl='') { @@ -774,7 +774,7 @@ class DolGraph // Generate file $graph->draw($file); - $this->_stringtoshow=''.dol_escape_htmltag($this->title?$this->title:$this->YLabel).''; + $this->stringtoshow=''.dol_escape_htmltag($this->title?$this->title:$this->YLabel).''; } @@ -847,18 +847,18 @@ class DolGraph } $tag=dol_escape_htmltag(dol_string_unaccent(dol_string_nospecial(basename($file),'_',array('-','.')))); - $this->_stringtoshow =''."\n"; - if (! empty($this->title)) $this->_stringtoshow.='
'.$this->title.'
'; - $this->_stringtoshow.='
'."\n"; - $this->_stringtoshow.=''."\n"; + $this->stringtoshow.='plotWithOptions_'.$tag.'();'."\n"; + $this->stringtoshow.='});'."\n"; + $this->stringtoshow.=''."\n"; } @@ -1019,7 +1019,7 @@ class DolGraph */ function show() { - return $this->_stringtoshow; + return $this->stringtoshow; } diff --git a/htdocs/core/class/dolprintipp.class.php b/htdocs/core/class/dolprintipp.class.php index b6e09547743..fdd0fc2732c 100644 --- a/htdocs/core/class/dolprintipp.class.php +++ b/htdocs/core/class/dolprintipp.class.php @@ -18,7 +18,7 @@ /** * \file htdocs/core/class/dolprintipp.class.php - * \brief A set of functions for using printIPP + * \brief List jobs printed with driver printipp */ /** @@ -28,7 +28,7 @@ class dolprintIPP { var $host; var $port; - var $userid; /* user login */ + var $userid; /* user login */ var $user; var $password; var $error; @@ -57,78 +57,6 @@ class dolprintIPP } - /** - * Return list of available printers - * - * @return array list of printers - */ - function getlist_available_printers() - { - global $conf,$db; - include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; - $ipp = new CupsPrintIPP(); - $ipp->setLog(DOL_DATA_ROOT.'/printipp.log','file',3); // logging very verbose - $ipp->setHost($this->host); - $ipp->setPort($this->port); - $ipp->setUserName($this->userid); - if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password); - $ipp->getPrinters(); - return $ipp->available_printers; - } - - /** - * Print selected file - * - * @param string $file file - * @param string $module module - * - * @return string '' if OK, Error message if KO - */ - function print_file($file, $module) - { - global $conf,$db; - - include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; - - $ipp = new CupsPrintIPP(); - $ipp->setLog(DOL_DATA_ROOT.'/dolibarr_printipp.log','file',3); // logging very verbose - $ipp->setHost($this->host); - $ipp->setPort($this->port); - $ipp->setJobName($file,true); - $ipp->setUserName($this->userid); - if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password); - - // select printer uri for module order, propal,... - $sql = 'SELECT rowid,printer_uri,copy FROM '.MAIN_DB_PREFIX.'printer_ipp WHERE module="'.$module.'"'; - $result = $this->db->query($sql); - if ($result) - { - $obj = $this->db->fetch_object($result); - if ($obj) - { - $ipp->setPrinterURI($obj->printer_uri); - } - else - { - if (! empty($conf->global->PRINTIPP_URI_DEFAULT)) - { - $ipp->setPrinterURI($conf->global->PRINTIPP_URI_DEFAULT); - } - else - { - return 'NoDefaultPrinterDefined'; - } - } - } - - // Set number of copy - $ipp->setCopies($obj->copy); - $ipp->setData(DOL_DATA_ROOT.'/'.$module.'/'.$file); - $ipp->printJob(); - - return ''; - } - /** * List jobs print * @@ -163,7 +91,14 @@ class dolprintIPP } } // Getting Jobs - $ipp->getJobs(false,0,'completed',false); + try { + $ipp->getJobs(false,0,'completed',false); // May return errors if setup not correct + } + catch(Exception $e) + { + print $e->getMessage(); + } + print ''; print ''; print ""; @@ -174,42 +109,24 @@ class dolprintIPP print ""; print "\n"; $jobs = $ipp->jobs_attributes; - $var = True; + $var = true; //print '
'.print_r($jobs,true).'
'; - foreach ($jobs as $value ) + if (is_array($jobs)) { - $var=!$var; - print ""; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + foreach ($jobs as $value) + { + $var=!$var; + print ""; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } } print "
IdCancel
'.$value->job_id->_value0.''.$value->job_originating_user_name->_value0.''.$value->printer_uri->_value0.''.$value->job_name->_value0.''.$value->job_state->_value0.''.$value->job_uri->_value0.'
'.$value->job_id->_value0.''.$value->job_originating_user_name->_value0.''.$value->printer_uri->_value0.''.$value->job_name->_value0.''.$value->job_state->_value0.''.$value->job_uri->_value0.'
"; } - /** - * Get printer detail - * - * @param string $uri URI - * @return array List of attributes - */ - function get_printer_detail($uri) - { - global $conf,$db; - - include_once DOL_DOCUMENT_ROOT.'/includes/printipp/CupsPrintIPP.php'; - $ipp = new CupsPrintIPP(); - $ipp->setLog(DOL_DATA_ROOT.'/printipp.log','file',3); // logging very verbose - $ipp->setHost($this->host); - $ipp->setPort($this->port); - $ipp->setUserName($this->userid); - if (! empty($this->user)) $ipp->setAuthentication($this->user,$this->password); - $ipp->setPrinterURI($uri); - $ipp->getPrinterAttributes(); - return $ipp->printer_attributes; - } } diff --git a/htdocs/core/class/events.class.php b/htdocs/core/class/events.class.php index 299026a84bb..f94252d076d 100644 --- a/htdocs/core/class/events.class.php +++ b/htdocs/core/class/events.class.php @@ -31,7 +31,6 @@ /** * Events class - * Initialy built by build_class_from_table on 2008-02-28 17:25 */ class Events // extends CommonObject { @@ -41,6 +40,8 @@ class Events // extends CommonObject var $id; var $db; + var $error; + var $tms; var $type; var $entity; @@ -111,7 +112,7 @@ class Events // extends CommonObject $this->description=trim($this->description); // Check parameters - if (empty($this->description)) { $this->error='ErrorBadValueForParameter'; return -1; } + if (empty($this->description)) { $this->error='ErrorBadValueForParameterCreateEventDesc'; return -1; } // Insert request $sql = "INSERT INTO ".MAIN_DB_PREFIX."events("; diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index 5545dc7cd5d..34abeeb8c6e 100644 --- a/htdocs/core/class/extrafields.class.php +++ b/htdocs/core/class/extrafields.class.php @@ -6,6 +6,7 @@ * Copyright (C) 2009-2012 Laurent Destailleur * Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 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 @@ -38,7 +39,7 @@ class ExtraFields var $attribute_type; // Tableau contenant le nom des champs en clef et le label de ces champs en value var $attribute_label; - // Tableau contenant le nom des champs en clef et la taille de ces champs en value + // Tableau contenant le nom des champs en clef et la taille/longueur max de ces champs en value var $attribute_size; // Tableau contenant le nom des choix en clef et la valeur de ces choix en value var $attribute_choice; @@ -48,10 +49,14 @@ class ExtraFields var $attribute_required; // Array to store parameters of attribute (used in select type) var $attribute_param; - // Int to store position of attribute + // Array to store position of attribute var $attribute_pos; - // Int to store if attribute is editable regardless of the document status + // Array to store if attribute is editable regardless of the document status var $attribute_alwayseditable; + // Array to store permission to check + var $attribute_perms; + // Array to store permission to check + var $attribute_list; var $error; var $errno; @@ -69,10 +74,11 @@ class ExtraFields 'mail'=>'ExtrafieldMail', 'select' => 'ExtrafieldSelect', 'sellist' => 'ExtrafieldSelectList', - 'separate' => 'ExtrafieldSeparator', - 'checkbox' => 'ExtrafieldCheckBox', 'radio' => 'ExtrafieldRadio', - + 'checkbox' => 'ExtrafieldCheckBox', + 'chkbxlst' => 'ExtrafieldCheckBoxFromList', + 'link' => 'ExtrafieldLink', + 'separate' => 'ExtrafieldSeparator', ); /** @@ -90,6 +96,8 @@ class ExtraFields $this->attribute_elementtype = array(); $this->attribute_unique = array(); $this->attribute_required = array(); + $this->attribute_perms = array(); + $this->attribute_list = array(); } /** @@ -106,25 +114,28 @@ class ExtraFields * @param string $default_value Defaulted value * @param array $param Params for field * @param int $alwayseditable Is attribute always editable regardless of the document status + * @param string $perms Permission to check + * @param int $list Into list view by default * @return int <=0 if KO, >0 if OK */ - function addExtraField($attrname, $label, $type, $pos, $size, $elementtype, $unique=0, $required=0, $default_value='', $param=0, $alwayseditable=0) + function addExtraField($attrname, $label, $type, $pos, $size, $elementtype, $unique=0, $required=0, $default_value='', $param=0, $alwayseditable=0, $perms='', $list=0) { if (empty($attrname)) return -1; if (empty($label)) return -1; if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; // Create field into database except for separator type which is not stored in database if ($type != 'separate') { - $result=$this->create($attrname, $type, $size, $elementtype, $unique, $required, $default_value, $param); + $result=$this->create($attrname, $type, $size, $elementtype, $unique, $required, $default_value, $param, $perms, $list); } $err1=$this->errno; if ($result > 0 || $err1 == 'DB_ERROR_COLUMN_ALREADY_EXISTS' || $type == 'separate') { // Add declaration of field into table - $result2=$this->create_label($attrname,$label,$type,$pos,$size,$elementtype, $unique, $required, $param, $alwayseditable); + $result2=$this->create_label($attrname,$label,$type,$pos,$size,$elementtype, $unique, $required, $param, $alwayseditable, $perms, $list); $err2=$this->errno; if ($result2 > 0 || ($err1 == 'DB_ERROR_COLUMN_ALREADY_EXISTS' && $err2 == 'DB_ERROR_RECORD_ALREADY_EXISTS')) { @@ -152,12 +163,14 @@ class ExtraFields * @param int $required Is field required or not * @param string $default_value Default value for field * @param array $param Params for field (ex for select list : array('options'=>array('value'=>'label of option')) - * + * @param string $perms Permission + * @param int $list Into list view by default * @return int <=0 if KO, >0 if OK */ - private function create($attrname, $type='varchar', $length=255, $elementtype='member', $unique=0, $required=0, $default_value='',$param='') + private function create($attrname, $type='varchar', $length=255, $elementtype='member', $unique=0, $required=0, $default_value='',$param='', $perms='', $list=0) { if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; $table=$elementtype.'_extrafields'; @@ -175,9 +188,12 @@ class ExtraFields }elseif($type=='mail') { $typedb='varchar'; $lengthdb='128'; - } elseif (($type=='select') || ($type=='sellist') || ($type=='radio') ||($type=='checkbox')){ + } elseif (($type=='select') || ($type=='sellist') || ($type=='radio') ||($type=='checkbox') ||($type=='chkbxlst')){ $typedb='text'; $lengthdb=''; + } elseif ($type=='link') { + $typedb='int'; + $lengthdb='11'; } else { $typedb=$type; $lengthdb=$length; @@ -225,16 +241,20 @@ class ExtraFields * @param int $required Is field required or not * @param array||string $param Params for field (ex for select list : array('options' => array(value'=>'label of option')) ) * @param int $alwayseditable Is attribute always editable regardless of the document status + * @param string $perms Permission to check + * @param int $list Into list view by default * @return int <=0 if KO, >0 if OK */ - private function create_label($attrname, $label='', $type='', $pos=0, $size=0, $elementtype='member', $unique=0, $required=0, $param='', $alwayseditable=0) + private function create_label($attrname, $label='', $type='', $pos=0, $size=0, $elementtype='member', $unique=0, $required=0, $param='', $alwayseditable=0, $perms='', $list=0) { global $conf; if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; // Clean parameters if (empty($pos)) $pos=0; + if (empty($list)) $list=0; if (! empty($attrname) && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname) && ! is_numeric($attrname)) { @@ -251,7 +271,7 @@ class ExtraFields $params=''; } - $sql = "INSERT INTO ".MAIN_DB_PREFIX."extrafields(name, label, type, pos, size, entity, elementtype, fieldunique, fieldrequired, param, alwayseditable)"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."extrafields(name, label, type, pos, size, entity, elementtype, fieldunique, fieldrequired, param, alwayseditable, perms, list)"; $sql.= " VALUES('".$attrname."',"; $sql.= " '".$this->db->escape($label)."',"; $sql.= " '".$type."',"; @@ -262,7 +282,9 @@ class ExtraFields $sql.= " '".$unique."',"; $sql.= " '".$required."',"; $sql.= " '".$params."',"; - $sql.= " '".$alwayseditable."'"; + $sql.= " '".$alwayseditable."',"; + $sql.= " ".($perms?"'".$this->db->escape($perms)."'":"null").","; + $sql.= " ".$list; $sql.=')'; dol_syslog(get_class($this)."::create_label", LOG_DEBUG); @@ -289,6 +311,7 @@ class ExtraFields function delete($attrname, $elementtype='member') { if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; $table=$elementtype.'_extrafields'; @@ -323,6 +346,7 @@ class ExtraFields global $conf; if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { @@ -363,11 +387,14 @@ class ExtraFields * @param int $pos Position of attribute * @param array $param Params for field (ex for select list : array('options' => array(value'=>'label of option')) ) * @param int $alwayseditable Is attribute always editable regardless of the document status + * @param string $perms Permission to check + * @param int $list Into list view by default * @return int >0 if OK, <=0 if KO */ - function update($attrname,$label,$type,$length,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0) + function update($attrname,$label,$type,$length,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0, $perms='',$list='') { if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; $table=$elementtype.'_extrafields'; @@ -385,9 +412,12 @@ class ExtraFields }elseif($type=='mail') { $typedb='varchar'; $lengthdb='128'; - } elseif (($type=='select') || ($type=='sellist') || ($type=='radio') ||($type=='checkbox')) { + } elseif (($type=='select') || ($type=='sellist') || ($type=='radio') || ($type=='checkbox') || ($type=='chkbxlst')) { $typedb='text'; $lengthdb=''; + } elseif ($type=='link') { + $typedb='int'; + $lengthdb='11'; } else { $typedb=$type; $lengthdb=$length; @@ -402,7 +432,7 @@ class ExtraFields { if ($label) { - $result=$this->update_label($attrname,$label,$type,$length,$elementtype,$unique,$required,$pos,$param,$alwayseditable); + $result=$this->update_label($attrname,$label,$type,$length,$elementtype,$unique,$required,$pos,$param,$alwayseditable,$perms,$list); } if ($result > 0) { @@ -451,14 +481,20 @@ class ExtraFields * @param int $pos Position of attribute * @param array $param Params for field (ex for select list : array('options' => array(value'=>'label of option')) ) * @param int $alwayseditable Is attribute always editable regardless of the document status + * @param string $perms Permission to check + * @param int $list Into list view by default * @return int <=0 if KO, >0 if OK */ - private function update_label($attrname,$label,$type,$size,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0) + private function update_label($attrname,$label,$type,$size,$elementtype,$unique=0,$required=0,$pos=0,$param='',$alwayseditable=0,$perms='',$list=0) { global $conf; - dol_syslog(get_class($this)."::update_label ".$attrname.", ".$label.", ".$type.", ".$size.", ".$elementtype.", ".$unique.", ".$required); + dol_syslog(get_class($this)."::update_label ".$attrname.", ".$label.", ".$type.", ".$size.", ".$elementtype.", ".$unique.", ".$required.", ".$pos.", ".$alwayseditable.", ".$perms.", ".$list); + // Clean parameters if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; + + if (empty($list)) $list=0; if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { @@ -485,9 +521,11 @@ class ExtraFields $sql.= " elementtype,"; $sql.= " fieldunique,"; $sql.= " fieldrequired,"; + $sql.= " perms,"; $sql.= " pos,"; $sql.= " alwayseditable,"; - $sql.= " param"; + $sql.= " param,"; + $sql.= " list"; $sql.= ") VALUES ("; $sql.= "'".$attrname."',"; $sql.= " ".$conf->entity.","; @@ -497,9 +535,11 @@ class ExtraFields $sql.= " '".$elementtype."',"; $sql.= " '".$unique."',"; $sql.= " '".$required."',"; + $sql.= " ".($perms?"'".$this->db->escape($perms)."'":"null").","; $sql.= " '".$pos."',"; $sql.= " '".$alwayseditable."',"; - $sql.= " '".$param."'"; + $sql.= " '".$param."',"; + $sql.= " ".$list; $sql.= ")"; dol_syslog(get_class($this)."::update_label", LOG_DEBUG); $resql2=$this->db->query($sql); @@ -535,14 +575,17 @@ class ExtraFields { global $conf; + if ( empty($elementtype) ) return array(); + if ($elementtype == 'thirdparty') $elementtype='societe'; + if ($elementtype == 'contact') $elementtype='socpeople'; $array_name_label=array(); // For avoid conflicts with external modules if (!$forceload && !empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) return $array_name_label; - $sql = "SELECT rowid,name,label,type,size,elementtype,fieldunique,fieldrequired,param,pos,alwayseditable"; + $sql = "SELECT rowid,name,label,type,size,elementtype,fieldunique,fieldrequired,param,pos,alwayseditable,perms,list"; $sql.= " FROM ".MAIN_DB_PREFIX."extrafields"; $sql.= " WHERE entity IN (0,".$conf->entity.")"; if ($elementtype) $sql.= " AND elementtype = '".$elementtype."'"; @@ -568,9 +611,11 @@ class ExtraFields $this->attribute_elementtype[$tab->name]=$tab->elementtype; $this->attribute_unique[$tab->name]=$tab->fieldunique; $this->attribute_required[$tab->name]=$tab->fieldrequired; - $this->attribute_param[$tab->name]=unserialize($tab->param); + $this->attribute_param[$tab->name]=($tab->param ? unserialize($tab->param) : ''); $this->attribute_pos[$tab->name]=$tab->pos; $this->attribute_alwayseditable[$tab->name]=$tab->alwayseditable; + $this->attribute_perms[$tab->name]=$tab->perms; + $this->attribute_list[$tab->name]=$tab->list; } } } @@ -603,6 +648,9 @@ class ExtraFields $unique=$this->attribute_unique[$key]; $required=$this->attribute_required[$key]; $param=$this->attribute_param[$key]; + $perms=$this->attribute_perms[$key]; + $list=$this->attribute_list[$key]; + if ($type == 'date') { $showsize=10; @@ -658,7 +706,7 @@ class ExtraFields { $checked=''; if (!empty($value)) { - $checked=' checked="checked" value="1" '; + $checked=' checked value="1" '; } else { $checked=' value="1" '; } @@ -698,7 +746,7 @@ class ExtraFields { list($val, $parent) = explode('|', $val); $out.=''; + $out.=''; } else { @@ -825,7 +875,7 @@ class ExtraFields if (empty($labeltoshow)) $labeltoshow='(not defined)'; if ($value==$obj->rowid) { - $out.=''; + $out.=''; } if (!empty($InfoFieldList[3])) @@ -834,7 +884,7 @@ class ExtraFields } $out.=''; } @@ -861,7 +911,7 @@ class ExtraFields $out.=' value="'.$keyopt.'"'; if ((is_array($value_arr)) && in_array($keyopt,$value_arr)) { - $out.= 'checked="checked"'; + $out.= 'checked'; }else { $out.=''; } @@ -876,10 +926,163 @@ class ExtraFields { $out.=''; } } + elseif ($type == 'chkbxlst') + { + if (is_array($value)) { + $value_arr = $value; + } + else { + $value_arr = explode(',', $value); + } + + if (is_array($param['options'])) { + $param_list = array_keys($param['options']); + $InfoFieldList = explode(":", $param_list[0]); + // 0 : tableName + // 1 : label field name + // 2 : key fields name (if differ of rowid) + // 3 : key field parent (for dependent lists) + // 4 : where clause filter on column or table extrafield, syntax field='value' or extra.field=value + $keyList = (empty($InfoFieldList[2]) ? 'rowid' : $InfoFieldList[2] . ' as rowid'); + + if (count($InfoFieldList) > 3 && ! empty($InfoFieldList[3])) { + list ( $parentName, $parentField ) = explode('|', $InfoFieldList[3]); + $keyList .= ', ' . $parentField; + } + if (count($InfoFieldList) > 4 && ! empty($InfoFieldList[4])) { + if (strpos($InfoFieldList[4], 'extra.') !== false) { + $keyList = 'main.' . $InfoFieldList[2] . ' as rowid'; + } else { + $keyList = $InfoFieldList[2] . ' as rowid'; + } + } + + $fields_label = explode('|', $InfoFieldList[1]); + if (is_array($fields_label)) { + $keyList .= ', '; + $keyList .= implode(', ', $fields_label); + } + + $sqlwhere = ''; + $sql = 'SELECT ' . $keyList; + $sql .= ' FROM ' . MAIN_DB_PREFIX . $InfoFieldList[0]; + if (! empty($InfoFieldList[4])) { + // 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]; + } else { + $sqlwhere .= ' WHERE ' . $InfoFieldList[4]; + } + } else { + $sqlwhere .= ' WHERE 1'; + } + if (in_array($InfoFieldList[0], array ( + 'tablewithentity' + ))) + $sqlwhere .= ' AND entity = ' . $conf->entity; // Some tables may have field, some other not. For the moment we disable it. + // $sql.=preg_replace('/^ AND /','',$sqlwhere); + // print $sql; + $sql .= $sqlwhere; + dol_syslog(get_class($this) . '::showInputField type=chkbxlst',LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) { + $num = $this->db->num_rows($resql); + $i = 0; + while ( $i < $num ) { + $labeltoshow = ''; + $obj = $this->db->fetch_object($resql); + + // Several field into label (eq table:code|libelle:rowid) + $fields_label = explode('|', $InfoFieldList[1]); + if (is_array($fields_label)) { + $notrans = true; + foreach ( $fields_label as $field_toshow ) { + $labeltoshow .= $obj->$field_toshow . ' '; + } + } else { + $labeltoshow = $obj->$InfoFieldList[1]; + } + $labeltoshow = dol_trunc($labeltoshow, 45); + + if (is_array($value_arr) && in_array($obj->rowid, $value_arr)) { + foreach ( $fields_label as $field_toshow ) { + $translabel = $langs->trans($obj->$field_toshow); + if ($translabel != $obj->$field_toshow) { + $labeltoshow = dol_trunc($translabel, 18) . ' '; + } else { + $labeltoshow = dol_trunc($obj->$field_toshow, 18) . ' '; + } + } + $out .= 'rowid . '"'; + + $out .= 'checked'; + + $out .= '/>' . $labeltoshow . '
'; + } else { + if (! $notrans) { + $translabel = $langs->trans($obj->$InfoFieldList[1]); + if ($translabel != $obj->$InfoFieldList[1]) { + $labeltoshow = dol_trunc($translabel, 18); + } else { + $labeltoshow = dol_trunc($obj->$InfoFieldList[1], 18); + } + } + if (empty($labeltoshow)) + $labeltoshow = '(not defined)'; + + if (is_array($value_arr) && in_array($obj->rowid, $value_arr)) { + $out .= 'rowid . '"'; + + $out .= 'checked'; + $out .= ''; + + $out .= '/>' . $labeltoshow . '
'; + } + + if (! empty($InfoFieldList[3])) { + $parent = $parentName . ':' . $obj->{$parentField}; + } + + $out .= 'rowid . '"'; + + $out .= ((is_array($value_arr) && in_array($obj->rowid, $value_arr)) ? ' checked ' : ''); + ; + $out .= ''; + + $out .= '/>' . $labeltoshow . '
'; + } + + $i ++; + } + $this->db->free($resql); + } else { + print 'Error in request ' . $sql . ' ' . $this->db->lasterror() . '. Check setup of extra parameters.
'; + } + } + $out .= ''; + } + elseif ($type == 'link') + { + $out=''; + + $param_list=array_keys($param['options']); + // 0 : ObjectName + // 1 : classPath + $InfoFieldList = explode(":", $param_list[0]); + dol_include_once($InfoFieldList[1]); + $object = new $InfoFieldList[0]($this->db); + $object->fetch($value); + $out=''; + + } /* Add comments if ($type == 'date') $out.=' (YYYY-MM-DD)'; elseif ($type == 'datetime') $out.=' (YYYY-MM-DD HH:MM:SS)'; @@ -906,6 +1109,9 @@ class ExtraFields $unique=$this->attribute_unique[$key]; $required=$this->attribute_required[$key]; $params=$this->attribute_param[$key]; + $perms=$this->attribute_perms[$key]; + $list=$this->attribute_list[$key]; + if ($type == 'date') { $showsize=10; @@ -930,9 +1136,9 @@ class ExtraFields { $checked=''; if (!empty($value)) { - $checked=' checked="checked" '; + $checked=' checked '; } - $value=''; + $value=''; } elseif ($type == 'mail') { @@ -1035,6 +1241,89 @@ class ExtraFields } } } + elseif ($type == 'chkbxlst') + { + $value_arr = explode(',', $value); + + $param_list = array_keys($params['options']); + $InfoFieldList = explode(":", $param_list[0]); + + $selectkey = "rowid"; + $keyList = 'rowid'; + + if (count($InfoFieldList) >= 3) { + $selectkey = $InfoFieldList[2]; + $keyList = $InfoFieldList[2] . ' as rowid'; + } + + $fields_label = explode('|', $InfoFieldList[1]); + if (is_array($fields_label)) { + $keyList .= ', '; + $keyList .= implode(', ', $fields_label); + } + + $sql = 'SELECT ' . $keyList; + $sql .= ' FROM ' . MAIN_DB_PREFIX . $InfoFieldList[0]; + if (strpos($InfoFieldList[4], 'extra') !== false) { + $sql .= ' as main'; + } + // $sql.= " WHERE ".$selectkey."='".$this->db->escape($value)."'"; + // $sql.= ' AND entity = '.$conf->entity; + + dol_syslog(get_class($this) . ':showOutputField:$type=chkbxlst',LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) { + $value = ''; // value was used, so now we reste it to use it to build final output + + while ( $obj = $this->db->fetch_object($resql) ) { + + // Several field into label (eq table:code|libelle:rowid) + $fields_label = explode('|', $InfoFieldList[1]); + if (is_array($value_arr) && in_array($obj->rowid, $value_arr)) { + if (is_array($fields_label) && count($fields_label) > 1) { + foreach ( $fields_label as $field_toshow ) { + $translabel = ''; + if (! empty($obj->$field_toshow)) { + $translabel = $langs->trans($obj->$field_toshow); + } + if ($translabel != $field_toshow) { + $value .= dol_trunc($translabel, 18) . '
'; + } else { + $value .= $obj->$field_toshow . '
'; + } + } + } else { + $translabel = ''; + if (! empty($obj->$InfoFieldList[1])) { + $translabel = $langs->trans($obj->$InfoFieldList[1]); + } + if ($translabel != $obj->$InfoFieldList[1]) { + $value .= dol_trunc($translabel, 18) . '
'; + } else { + $value .= $obj->$InfoFieldList[1] . '
'; + } + } + } + } + } else + dol_syslog(get_class($this) . '::showOutputField error ' . $this->db->lasterror(), LOG_WARNING); + } + elseif ($type == 'link') + { + $out=''; + // only if something to display (perf) + if ($value) + { + $param_list=array_keys($params['options']); + // 0 : ObjectName + // 1 : classPath + $InfoFieldList = explode(":", $param_list[0]); + dol_include_once($InfoFieldList[1]); + $object = new $InfoFieldList[0]($this->db); + $object->fetch($value); + $value=$object->getNomUrl(3); + } + } else { $showsize=round($size); @@ -1090,7 +1379,7 @@ class ExtraFields // Clean parameters $value_key=dol_mktime($_POST["options_".$key."hour"], $_POST["options_".$key."min"], 0, $_POST["options_".$key."month"], $_POST["options_".$key."day"], $_POST["options_".$key."year"]); } - else if (in_array($key_type,array('checkbox'))) + else if (in_array($key_type,array('checkbox','chkbxlst'))) { $value_arr=GETPOST("options_".$key); if (!empty($value_arr)) { diff --git a/htdocs/core/class/fileupload.class.php b/htdocs/core/class/fileupload.class.php index 520ab7634be..cdb7f66ac5f 100644 --- a/htdocs/core/class/fileupload.class.php +++ b/htdocs/core/class/fileupload.class.php @@ -132,7 +132,7 @@ class FileUpload $object_ref = dol_sanitizeFileName($object->ref); if ($element == 'invoice_supplier') { - $object_ref = get_exdir($object->id, 2) . $object_ref; + $object_ref = get_exdir($object->id,2,0,0,$object,'invoice_supplier') . $object_ref; } else if ($element == 'project_task') { $object_ref = $object->project->ref . '/' . $object_ref; } diff --git a/htdocs/core/class/fiscalyear.class.php b/htdocs/core/class/fiscalyear.class.php index 1abde51c263..a48fb4b15cf 100644 --- a/htdocs/core/class/fiscalyear.class.php +++ b/htdocs/core/class/fiscalyear.class.php @@ -26,7 +26,7 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; /** * Class to manage fiscal year */ -class Fiscalyear +class Fiscalyear extends CommonObject { public $element='fiscalyear'; public $table_element='accounting_fiscalyear'; diff --git a/htdocs/core/class/google.class.php b/htdocs/core/class/google.class.php index 7f36c6f0d99..b0649f575fc 100644 --- a/htdocs/core/class/google.class.php +++ b/htdocs/core/class/google.class.php @@ -36,7 +36,6 @@ class GoogleAPI * * @param DoliDB $db Database handler * @param string $key Google key - * @return GoogleAPI */ function __construct($db,$key) { diff --git a/htdocs/core/class/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index 32d457b54ba..b26f8c3c3d3 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -47,7 +47,7 @@ class HookManager /** * Constructor * - * @param DoliDB $db Handler acces base de donnees + * @param DoliDB $db Database handler */ function __construct($db) { @@ -56,13 +56,13 @@ class HookManager /** - * Init array this->hooks with instantiated action controlers. + * Init array $this->hooks with instantiated action controlers. * First, a hook is declared by a module by adding a constant MAIN_MODULE_MYMODULENAME_HOOKS * with value 'nameofcontext1:nameofcontext2:...' into $this->const of module descriptor file. - * This make conf->hooks_modules loaded with an entry ('modulename'=>array(nameofcontext1,nameofcontext2,...)) - * When initHooks function is called, with initHooks(list_of_contexts), an array this->hooks is defined with instance of controler + * This makes $conf->hooks_modules loaded with an entry ('modulename'=>array(nameofcontext1,nameofcontext2,...)) + * When initHooks function is called, with initHooks(list_of_contexts), an array $this->hooks is defined with instance of controler * class found into file /mymodule/class/actions_mymodule.class.php (if module has declared the context as a managed context). - * Then when a hook is executeHook('aMethod'...) is called, the method aMethod found into class will be executed. + * Then when a hook executeHooks('aMethod'...) is called, the method aMethod found into class will be executed. * * @param array $arraycontext Array list of searched hooks tab/features. For example: 'thirdpartycard' (for hook methods into page card thirdparty), 'thirdpartydao' (for hook methods into Societe), ... * @return int Always 1 @@ -116,9 +116,9 @@ class HookManager * @param array $parameters Array of parameters * @param Object $object Object to use hooks on * @param string $action Action code on calling page ('create', 'edit', 'view', 'add', 'update', 'delete'...) - * @return mixed For doActions,formObjectOptions,pdf_xxx: Return 0 if we want to keep standard actions, >0 if if want to stop standard actions, <0 means KO. - * For printSearchForm,printLeftBlock,printTopRightMenu,formAddObjectLine,...: Return HTML string. TODO Deprecated. Must always return an int and things to print into ->resprints. - * Can also return some values into an array ->results. + * @return mixed For 'addreplace hooks (doActions,formObjectOptions,pdf_xxx,...): Return 0 if we want to keep standard actions, >0 if we want to stop standard actions, <0 if KO. + * For 'output' hooks (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...): Return 0, <0 if KO. Things to print are returned into ->resprints and set into ->resPrint. + * All types can also return some values into an array ->results. * $this->error or this->errors are also defined by class called by this function if error. */ function executeHooks($method, $parameters=false, &$object='', &$action='') @@ -128,33 +128,40 @@ class HookManager $parameters['context']=join(':',$this->contextarray); dol_syslog(get_class($this).'::executeHooks method='.$method." action=".$action." context=".$parameters['context']); - // Define type of hook ('output', 'returnvalue' or 'addreplace'). 'addreplace' should be type for all hooks. 'output' and 'returnvalue' are deprecated. + // Define type of hook ('output' or 'addreplace'. 'returnvalue' is deprecated). $hooktype='output'; - if (preg_match('/^pdf_/',$method)) $hooktype='returnvalue'; // pdf_xxx except pdf_writelinedesc are returnvalue hooks. When there is 2 hooks of this type, only last one win. - if ($method =='insertExtraFields') $hooktype='returnvalue'; - if (in_array( - $method, - array( - 'addMoreActionsButtons', - 'addStatisticLine', - 'doActions', - 'formCreateThirdpartyOptions', - 'formObjectOptions', - 'formattachOptions', - 'formBuilddocLineOptions', - 'moveUploadedFile', - 'pdf_writelinedesc', - 'paymentsupplierinvoices', - 'printSearchForm', - 'formatEvent' - ) - )) $hooktype='addreplace'; + if (in_array( + $method, + array( + 'addMoreActionsButtons', + 'addStatisticLine', + 'deleteFile', + 'doActions', + 'formCreateThirdpartyOptions', + 'formObjectOptions', + 'formattachOptions', + 'formBuilddocLineOptions', + 'moveUploadedFile', + 'pdf_writelinedesc', + 'paymentsupplierinvoices', + 'printAddress', + 'printSearchForm', + 'formatEvent' + ) + )) $hooktype='addreplace'; + // Deprecated hook types ('returnvalue') + if (preg_match('/^pdf_/',$method) && $method != 'pdf_writelinedesc') $hooktype='returnvalue'; // pdf_xxx except pdf_writelinedesc are 'returnvalue' hooks. When there is 2 hooks of this type, only last one win. TODO Move them into 'output' or 'addreplace' hooks. + if ($method == 'insertExtraFields') + { + $hooktype='returnvalue'; // deprecated. TODO Remove all code with "executeHooks('insertExtraFields'" as soon as there is a trigger available. + dol_syslog("Warning: The hook 'insertExtraFields' is deprecated and must not be used. Use instead trigger on CRUD event (ask it to dev team if not implemented)", LOG_WARNING); + } - // Loop on each hook to qualify modules that declared context + // Loop on each hook to qualify modules that have declared context $modulealreadyexecuted=array(); $resaction=0; $error=0; $result=''; $this->resPrint=''; $this->resArray=array(); - foreach($this->hooks as $context => $modules) // this->hooks is an array with context as key and value is an array of modules that handle this context + foreach($this->hooks as $context => $modules) // $this->hooks is an array with context as key and value is an array of modules that handle this context { if (! empty($modules)) { @@ -162,18 +169,18 @@ class HookManager { //print "Before hook ".get_class($actionclassinstance)." method=".$method." hooktype=".$hooktype." results=".count($actionclassinstance->results)." resprints=".count($actionclassinstance->resprints)." resaction=".$resaction." result=".$result."
\n"; - // jump to next module/class if method does not exists + // jump to next module/class if method does not exist if (! method_exists($actionclassinstance,$method)) continue; - // test to avoid to run twice a hook, when a module implements several active contexts + // test to avoid running twice a hook, when a module implements several active contexts if (in_array($module,$modulealreadyexecuted)) continue; - $modulealreadyexecuted[$module]=$module; // Use the $currentcontext in method for avoid to run twice + $modulealreadyexecuted[$module]=$module; // Use the $currentcontext in method to avoid running twice - // Clean class (an error may have been set into a previous call of another method for same module/hook) + // Clean class (an error may have been set from a previous call of another method for same module/hook) $actionclassinstance->error=0; $actionclassinstance->errors=array(); - // Add current context for avoid method execution in bad context, you can add this test in your method : eg if($currentcontext != 'formfile') return; + // 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') @@ -190,7 +197,7 @@ class HookManager if (isset($actionclassinstance->results) && is_array($actionclassinstance->results)) $this->resArray =array_merge($this->resArray, $actionclassinstance->results); if (! empty($actionclassinstance->resprints)) $this->resPrint.=$actionclassinstance->resprints; } - // Generic hooks that return a string or array (printSearchForm, printLeftBlock, formAddObjectLine, formBuilddocOptions, ...) + // Generic hooks that return a string or array (printLeftBlock, formAddObjectLine, formBuilddocOptions, ...) else { // TODO. this should be done into the method of hook by returning nothing @@ -218,8 +225,8 @@ class HookManager } // TODO remove this. When there is something to print for an output hook, ->resPrint is filled. - if ($hooktype == 'output') return $this->resPrint; - if ($hooktype == 'returnvalue') return $result; + //if ($hooktype == 'output') return $this->resPrint; + //if ($hooktype == 'returnvalue') return $result; return ($error?-1:$resaction); } diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php index c65a164a303..ae32636caa6 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -1,20 +1,21 @@ - * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2014 Regis Houssin - * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2006 Marc Barilley/Ocebo - * Copyright (C) 2007 Franky Van Liedekerke - * Copyright (C) 2007 Patrick Raguin - * Copyright (C) 2010 Juanjo Menent - * Copyright (C) 2010-2014 Philippe Grand - * Copyright (C) 2011 Herve Prot - * Copyright (C) 2012-2014 Marcos García - * Copyright (C) 2013 Raphaël Doursenaud - * Copyright (C) 2014 Alexandre Spangaro +/* Copyright (c) 2002-2007 Rodolphe Quiedeville + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2006 Marc Barilley/Ocebo + * Copyright (C) 2007 Franky Van Liedekerke + * Copyright (C) 2007 Patrick Raguin + * Copyright (C) 2010 Juanjo Menent + * Copyright (C) 2010-2014 Philippe Grand + * Copyright (C) 2011 Herve Prot + * Copyright (C) 2012-2014 Marcos García + * Copyright (C) 2012 Cedric Salvador + * Copyright (C) 2012-2015 Raphaël Doursenaud + * Copyright (C) 2014 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 @@ -40,6 +41,8 @@ /** * Class to manage generation of HTML components * Only common components must be here. + * + * TODO Merge all function load_cache_* and loadCache* (except load_cache_vatrates) into one generic function loadCacheTable */ class Form { @@ -55,9 +58,6 @@ class Form var $cache_types_fees=array(); var $cache_vatrates=array(); - var $tva_taux_value; - var $tva_taux_libelle; - /** * Constructor @@ -73,7 +73,7 @@ class Form * Output key field for an editable field * * @param string $text Text of label or key to translate - * @param string $htmlname Name of select field + * @param string $htmlname Name of select field ('edit' prefix will be added) * @param string $preselected Name of Value to show/edit (not used in this function) * @param object $object Object * @param boolean $perm Permission to allow button to edit parameter @@ -103,7 +103,7 @@ class Form } } else - { + { $ret.=''; @@ -166,11 +166,11 @@ class Form } else if ($typeofdata == 'day' || $typeofdata == 'datepicker') { - $ret.=$this->form_date($_SERVER['PHP_SELF'].'?id='.$object->id,$value,$htmlname); + $ret.=$this->select_date($value,$htmlname,0,0,1,'form'.$htmlname,1,0,1); } - else if ($typeofdata == 'datehourpicker') + else if ($typeofdata == 'dayhour' || $typeofdata == 'datehourpicker') { - $ret.=$this->form_date($_SERVER['PHP_SELF'].'?id='.$object->id,$value,$htmlname,1,1); + $ret.=$this->select_date($value,$htmlname,1,1,1,'form'.$htmlname,1,0,1); } else if (preg_match('/^select;/',$typeofdata)) { @@ -190,14 +190,14 @@ class Form $ret.=$doleditor->Create(1); } $ret.=''; - if ($typeofdata != 'day' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker') - { + //if ($typeofdata != 'day' && $typeofdata != 'dayhour' && $typeofdata != 'datepicker' && $typeofdata != 'datehourpicker') + //{ $ret.=''; - } + //} $ret.='
'; $ret.=$langs->trans($text); $ret.=''; $ret.=''; if (preg_match('/ckeditor|textarea/',$typeofdata)) $ret.='
'."\n"; $ret.=''; $ret.='
'."\n"; $ret.=''."\n"; } @@ -207,7 +207,7 @@ class Form elseif ($typeofdata == 'amount') $ret.=($value != '' ? price($value,'',$langs,0,-1,-1,$conf->currency) : ''); elseif (preg_match('/^text/',$typeofdata) || preg_match('/^note/',$typeofdata)) $ret.=dol_htmlentitiesbr($value); elseif ($typeofdata == 'day' || $typeofdata == 'datepicker') $ret.=dol_print_date($value,'day'); - elseif ($typeofdata == 'datehourpicker') $ret.=dol_print_date($value,'dayhour'); + elseif ($typeofdata == 'dayhour' || $typeofdata == 'datehourpicker') $ret.=dol_print_date($value,'dayhour'); else if (preg_match('/^select;/',$typeofdata)) { $arraydata=explode(',',preg_replace('/^select;/','',$typeofdata)); @@ -378,7 +378,7 @@ class Form * @return string Code html du tooltip (texte+picto) * @see Use function textwithpicto if you can. */ - function textwithtooltip($text, $htmltext, $tooltipon = 1, $direction = 0, $img = '', $extracss = '', $notabs = 0, $incbefore = '', $noencodehtmltext = 0) + function textwithtooltip($text, $htmltext, $tooltipon = 1, $direction = 0, $img = '', $extracss = '', $notabs = 2, $incbefore = '', $noencodehtmltext = 0) { global $conf; @@ -393,34 +393,37 @@ class Form $htmltext=str_replace("\r","",$htmltext); $htmltext=str_replace("\n","",$htmltext); + $extrastyle=''; + if ($direction < 0) { $extracss=($extracss?$extracss.' ':'').'inline-block'; $extrastyle='padding: 0px; padding-left: 3px !important;'; } + if ($direction > 0) { $extracss=($extracss?$extracss.' ':'').'inline-block'; $extrastyle='padding: 0px; padding-right: 3px !important;'; } + $htmltext=str_replace('"',""",$htmltext); - if ($tooltipon == 2 || $tooltipon == 3) $paramfortooltipimg=' class="classfortooltip'.($extracss?' '.$extracss:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'" '; // Attribut to put on td img tag to store tooltip - else $paramfortooltipimg =($extracss?' class="'.$extracss.'"':''); // Attribut to put on td text tag - if ($tooltipon == 1 || $tooltipon == 3) $paramfortooltiptd=' class="classfortooltip'.($extracss?' '.$extracss:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'" '; // Attribut to put on td tag to store tooltip - else $paramfortooltiptd =($extracss?' class="'.$extracss.'"':''); // Attribut to put on td text tag + if ($tooltipon == 2 || $tooltipon == 3) $paramfortooltipimg=' class="classfortooltip inline-block'.($extracss?' '.$extracss:'').'" style="padding: 0px;'.($extrastyle?' '.$extrastyle:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'"'; // Attribut to put on img tag to store tooltip + else $paramfortooltipimg =($extracss?' class="'.$extracss.'"':'').($extrastyle?' style="'.$extrastyle.'"':''); // Attribut to put on td text tag + if ($tooltipon == 1 || $tooltipon == 3) $paramfortooltiptd=' class="classfortooltip inline-block'.($extracss?' '.$extracss:'').'" style="padding: 0px;'.($extrastyle?' '.$extrastyle:'').'" title="'.($noencodehtmltext?$htmltext:dol_escape_htmltag($htmltext,1)).'"'; // Attribut to put on td tag to store tooltip + else $paramfortooltiptd =($extracss?' class="'.$extracss.'"':'').($extrastyle?' style="'.$extrastyle.'"':''); // Attribut to put on td text tag $s=""; - if (empty($notabs)) $s.=''; - if ($direction < 0) { + if (empty($notabs)) $s.='
'; + elseif ($notabs == 2) $s.='
'; + // Define value if value is before + if ($direction < 0) { $s.='<'.$tag.$paramfortooltipimg; if ($tag == 'td') { - $s .= 'valign="top" '; + $s .= ' valign="top" width="14"'; } - $s.= 'width="14">'.$img.''; + $s.= '>'.$img.''; } // Use another method to help avoid having a space in value in order to use this value with jquery - // TODO add this in css - //if ($text != '') $s.='<'.$tag.$paramfortooltiptd.'>'.(($direction < 0)?' ':'').$text.(($direction > 0)?' ':'').''; - $paramfortooltiptd.= (($direction < 0)?' style="padding-left: 3px !important;"':''); - $paramfortooltiptd.= (($direction > 0)?' style="padding-right: 3px !important;"':''); - if ((string) $text != '') $s.='<'.$tag.$paramfortooltiptd.'>'.$text.''; - if ($direction > 0) { + // Define label + if ((string) $text != '') $s.='<'.$tag.$paramfortooltiptd.'>'.$text.''; + // Define value if value is after + if ($direction > 0) { $s.='<'.$tag.$paramfortooltipimg; - if ($tag == 'td') { - $s .= 'valign="top" '; - } - $s.= 'width="14">'.$img.''; + if ($tag == 'td') $s .= ' valign="middle" width="14"'; + $s.= '>'.$img.''; } - if (empty($notabs)) $s.='
'; + if (empty($notabs)) $s.=''; + elseif ($notabs == 2) $s.=''; return $s; } @@ -437,7 +440,7 @@ class Form * @param int $notabs 0=Include table and tr tags, 1=Do not include table and tr tags, 2=use div, 3=use span * @return string HTML code of text, picto, tooltip */ - function textwithpicto($text, $htmltext, $direction = 1, $type = 'help', $extracss = '', $noencodehtmltext = 0, $notabs = 0) + function textwithpicto($text, $htmltext, $direction = 1, $type = 'help', $extracss = '', $noencodehtmltext = 0, $notabs = 2) { global $conf; @@ -479,7 +482,7 @@ class Form * @param string $selected Id or Code or Label of preselected country * @param string $htmlname Name of html select object * @param string $htmloption Options html on select object - * @param string $maxlength Max length for labels (0=no limit) + * @param integer $maxlength Max length for labels (0=no limit) * @return string HTML string with select */ function select_country($selected='',$htmlname='country_id',$htmloption='',$maxlength=0) @@ -496,14 +499,14 @@ class Form $sql = "SELECT rowid, code as code_iso, code_iso as code_iso3, label, favorite"; $sql.= " FROM ".MAIN_DB_PREFIX."c_country"; - $sql.= " WHERE active = 1"; + $sql.= " WHERE active > 0"; //$sql.= " ORDER BY code ASC"; dol_syslog(get_class($this)."::select_country", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { - $out.= ''; $num = $this->db->num_rows($resql); $i = 0; if ($num) @@ -531,12 +534,12 @@ class Form if (empty($row['favorite']) && $atleastonefavorite) { $atleastonefavorite=0; - $out.= ''; + $out.= ''; } if ($selected && $selected != '-1' && ($selected == $row['rowid'] || $selected == $row['code_iso'] || $selected == $row['code_iso3'] || $selected == $row['label']) ) { $foundselected=true; - $out.= ''; } print ''; } foreach($this->cache_types_fees as $key => $value) { print ''; @@ -706,11 +806,29 @@ class Form * @param array $ajaxoptions Options for ajax_autocompleter * @param int $forcecombo Force to use combo box * @return string Return select box for thirdparty. + * @deprecated 3.8 Use select_company instead. For exemple $form->select_thirdparty(GETPOST('socid'),'socid','',0) => $form->select_company(GETPOST('socid'),'socid','',1,0,0,array(),0) */ function select_thirdparty($selected='', $htmlname='socid', $filter='', $limit=20, $ajaxoptions=array(), $forcecombo=0) { - global $langs,$conf; + return $this->select_thirdparty_list($selected,$htmlname,$filter,1,0,$forcecombo,array(),'',0,$limit); + } + /** + * Output html form to select a third party + * + * @param string $selected Preselected type + * @param string $htmlname Name of field in form + * @param string $filter optional filters criteras (example: 's.rowid <> x', 's.client IN (1,3)') + * @param int $showempty Add an empty field + * @param int $showtype Show third party type in combolist (customer, prospect or supplier) + * @param int $forcecombo Force to use combo box + * @param array $events Ajax event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled'))) + * @param int $limit Maximum number of elements + * @param string $morecss Add more css styles to the SELECT component + * @return string HTML string with select box for thirdparty. + */ + function select_company($selected='', $htmlname='socid', $filter='', $showempty=0, $showtype=0, $forcecombo=0, $events=array(), $limit=0, $morecss='minwidth100') + { $out=''; /* TODO Use ajax_autocompleter like for products (not finished) @@ -743,7 +861,7 @@ class Form } else {*/ - $out.=$this->select_thirdparty_list($selected,$htmlname,$filter,1,0,$forcecombo,array(),'',0,$limit); + $out.=$this->select_thirdparty_list($selected, $htmlname, $filter, $showempty, $showtype, $forcecombo, $events, '', 0, $limit, $morecss); //} return $out; @@ -754,26 +872,7 @@ class Form * * @param string $selected Preselected type * @param string $htmlname Name of field in form - * @param string $filter optional filters criteras (example: 's.rowid <> x') - * @param int $showempty Add an empty field - * @param int $showtype Show third party type in combolist (customer, prospect or supplier) - * @param int $forcecombo Force to use combo box - * @param array $events Event options to run on change. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled'))) - * @param int $limit Maximum number of elements - * @return string HTML string with - * @deprecated Use select_thirdparty instead - */ - function select_company($selected='', $htmlname='socid', $filter='', $showempty=0, $showtype=0, $forcecombo=0, $events=array(), $limit=0) - { - return $this->select_thirdparty_list($selected, $htmlname, $filter, $showempty, $showtype, $forcecombo, $events, '', 0, $limit); - } - - /** - * Output html form to select a third party - * - * @param string $selected Preselected type - * @param string $htmlname Name of field in form - * @param string $filter optional filters criteras (example: 's.rowid <> x') + * @param string $filter optional filters criteras (example: 's.rowid <> x', 's.client in (1,3)') * @param int $showempty Add an empty field * @param int $showtype Show third party type in combolist (customer, prospect or supplier) * @param int $forcecombo Force to use combo box @@ -781,9 +880,10 @@ class Form * @param string $filterkey Filter on key value * @param int $outputmode 0=HTML select string, 1=Array * @param int $limit Limit number of answers + * @param string $morecss Add more css styles to the SELECT component * @return string HTML string with */ - function select_thirdparty_list($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0) + function select_thirdparty_list($selected='',$htmlname='socid',$filter='',$showempty=0, $showtype=0, $forcecombo=0, $events=array(), $filterkey='', $outputmode=0, $limit=0, $morecss='minwidth100') { global $conf,$user,$langs; @@ -798,7 +898,7 @@ class Form if (! empty($user->societe_id)) $sql.= " AND s.rowid = ".$user->societe_id; if ($filter) $sql.= " AND (".$filter.")"; if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if (! empty($conf->global->COMPANY_HIDE_INACTIVE_IN_COMBOBOX)) $sql.= " AND s.status<>0 "; + if (! empty($conf->global->COMPANY_HIDE_INACTIVE_IN_COMBOBOX)) $sql.= " AND s.status <> 0"; // Add criteria if ($filterkey && $filterkey != '') { @@ -828,71 +928,16 @@ class Form $resql=$this->db->query($sql); if ($resql) { - if (! empty($conf->use_javascript_ajax)) + if ($conf->use_javascript_ajax && ! $forcecombo) { - if (! empty($conf->global->COMPANY_USE_SEARCH_TO_SELECT) && ! $forcecombo) - { - include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; - $out.= ajax_combobox($htmlname, $events, $conf->global->COMPANY_USE_SEARCH_TO_SELECT); - } - else - { - if (count($events)) // Add management of event - { - $out.=''; - } - } + include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; + $comboenhancement =ajax_combobox($htmlname, $events, $conf->global->COMPANY_USE_SEARCH_TO_SELECT); + $out.= $comboenhancement; + $nodatarole=($comboenhancement?' data-role="none"':''); } // Construct $out and $outarray - $out.= ''."\n"; $textifempty=''; // Do not use textempty = ' ' or ' ' here, or search on key will search on ' key'. @@ -932,7 +977,7 @@ class Form } if ($selected > 0 && $selected == $obj->rowid) { - $out.= ''; + $out.= ''; } else { @@ -1002,13 +1047,13 @@ class Form if ($desc=='(DEPOSIT)') $desc=$langs->trans("Deposit"); $selectstring=''; - if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected="selected"'; + if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected'; $disabled=''; if ($maxvalue > 0 && $obj->amount_ttc > $maxvalue) { $qualifiedlines--; - $disabled=' disabled="disabled"'; + $disabled=' disabled'; } print ''; @@ -1034,9 +1079,9 @@ class Form * @param int $showempty 0=no empty value, 1=add an empty value * @param string $exclude List of contacts id to exclude * @param string $limitto Disable answers that are not id in this array list - * @param string $showfunction Add function into label + * @param integer $showfunction Add function into label * @param string $moreclass Add more class to class style - * @param string $showsoc Add company into label + * @param integer $showsoc Add company into label * @param int $forcecombo Force to use combo box * @param array $events Event options. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled'))) * @param bool $options_only Return options only (for ajax treatment) @@ -1057,10 +1102,10 @@ class Form * @param int $showempty 0=no empty value, 1=add an empty value, 2=add line 'Internal' (used by user edit) * @param string $exclude List of contacts id to exclude * @param string $limitto Disable answers that are not id in this array list - * @param string $showfunction Add function into label + * @param integer $showfunction Add function into label * @param string $moreclass Add more class to class style * @param bool $options_only Return options only (for ajax treatment) - * @param string $showsoc Add company into label + * @param integer $showsoc Add company into label * @param int $forcecombo Force to use combo box * @param array $events Event options. Example: array(array('method'=>'getContacts', 'url'=>dol_buildpath('/core/ajax/contacts.php',1), 'htmlname'=>'contactid', 'params'=>array('add-customer-contact'=>'disabled'))) * @return int <0 if KO, Nb of contact in list if OK @@ -1080,7 +1125,7 @@ class Form if ($showsoc > 0) $sql.= " LEFT OUTER JOIN ".MAIN_DB_PREFIX ."societe as s ON s.rowid=sp.fk_soc"; $sql.= " WHERE sp.entity IN (".getEntity('societe', 1).")"; if ($socid > 0) $sql.= " AND sp.fk_soc=".$socid; - if (! empty($conf->global->CONTACT_HIDE_INACTIVE_IN_COMBOBOX)) $sql.= " AND sp.statut<>0"; + if (! empty($conf->global->CONTACT_HIDE_INACTIVE_IN_COMBOBOX)) $sql.= " AND sp.statut <> 0"; $sql.= " ORDER BY sp.lastname ASC"; dol_syslog(get_class($this)."::select_contacts", LOG_DEBUG); @@ -1089,15 +1134,17 @@ class Form { $num=$this->db->num_rows($resql); - if ($conf->use_javascript_ajax && $conf->global->CONTACT_USE_SEARCH_TO_SELECT && ! $forcecombo && ! $options_only) + if ($conf->use_javascript_ajax && ! $forcecombo && ! $options_only) { include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; - $out.= ajax_combobox($htmlname, $events, $conf->global->CONTACT_USE_SEARCH_TO_SELECT); + $comboenhancement = ajax_combobox($htmlname, $events, $conf->global->CONTACT_USE_SEARCH_TO_SELECT); + $out.= $comboenhancement; + $nodatarole=($comboenhancement?' data-role="none"':''); } - if ($htmlname != 'none' || $options_only) $out.= ''; + if ($showempty == 1) $out.= ''; + if ($showempty == 2) $out.= ''; $num = $this->db->num_rows($resql); $i = 0; if ($num) @@ -1121,8 +1168,8 @@ class Form if ($selected && $selected == $obj->rowid) { $out.= ''; + $out.= ''; } if ($htmlname != 'none' || $options_only) { @@ -1184,6 +1231,7 @@ class Form * @param int $force_entity 0 or Id of environment to force * @return void * @deprecated + * @see select_dolusers() */ function select_users($selected='',$htmlname='userid',$show_empty=0,$exclude='',$disabled=0,$include='',$enableonly='',$force_entity=0) { @@ -1195,7 +1243,7 @@ class Form * * @param string $selected User id or user object of user preselected. If -1, we use id of current user. * @param string $htmlname Field name in form - * @param int $show_empty 0=liste sans valeur nulle, 1=ajoute valeur inconnue + * @param int $show_empty 0=list with no empty value, 1=add also an empty value into list * @param array $exclude Array list of users id to exclude * @param int $disabled If select list must be disabled * @param array $include Array list of users id to include or 'hierarchy' to have only supervised users @@ -1204,15 +1252,17 @@ class Form * @param int $maxlength Maximum length of string into list (0=no limit) * @param int $showstatus 0=show user status only if status is disabled, 1=always show user status into label, -1=never show user status * @param string $morefilter Add more filters into sql request + * @param string $show_every 0=default list, 1=add also a value "Everybody" at beginning of list + * @param string $enableonlytext If option $enableonly is set, we use this text to explain into label why record is disabled. Not used if enableonly is empty. * @return string HTML select string * @see select_dolgroups */ - function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0, $morefilter='') + function select_dolusers($selected='', $htmlname='userid', $show_empty=0, $exclude='', $disabled=0, $include='', $enableonly='', $force_entity=0, $maxlength=0, $showstatus=0, $morefilter='', $show_every=0, $enableonlytext='') { global $conf,$user,$langs; // If no preselected user defined, we take current user - if ((is_numeric($selected) && ($selected < -1 || empty($selected))) && empty($conf->global->SOCIETE_DISABLE_DEFAULT_SALESREPRESENTATIVE)) $selected=$user->id; + if ((is_numeric($selected) && ($selected < -2 || empty($selected))) && empty($conf->global->SOCIETE_DISABLE_DEFAULT_SALESREPRESENTATIVE)) $selected=$user->id; $excludeUsers=null; $includeUsers=null; @@ -1252,7 +1302,7 @@ class Form else $sql.= " WHERE u.entity IS NOT NULL"; } else - { + { if (! empty($conf->multicompany->transverse_mode)) { $sql.= ", ".MAIN_DB_PREFIX."usergroup_user as ug"; @@ -1264,7 +1314,7 @@ class Form $sql.= " WHERE u.entity IN (0,".$conf->entity.")"; } } - if (! empty($user->societe_id)) $sql.= " AND u.fk_societe = ".$user->societe_id; + if (! empty($user->societe_id)) $sql.= " AND u.fk_soc = ".$user->societe_id; if (is_array($exclude) && $excludeUsers) $sql.= " AND u.rowid NOT IN ('".$excludeUsers."')"; if (is_array($include) && $includeUsers) $sql.= " AND u.rowid IN ('".$includeUsers."')"; if (! empty($conf->global->USER_HIDE_INACTIVE_IN_COMBOBOX)) $sql.= " AND u.statut <> 0"; @@ -1279,8 +1329,19 @@ class Form $i = 0; if ($num) { - $out.= ''; + if ($show_empty) $out.= ''."\n"; + if ($show_every) $out.= ''."\n"; $userstatic=new User($this->db); @@ -1292,19 +1353,19 @@ class Form $userstatic->lastname=$obj->lastname; $userstatic->firstname=$obj->firstname; - $disableline=0; - if (is_array($enableonly) && count($enableonly) && ! in_array($obj->rowid,$enableonly)) $disableline=1; + $disableline=''; + if (is_array($enableonly) && count($enableonly) && ! in_array($obj->rowid,$enableonly)) $disableline=($enableonlytext?$enableonlytext:'1'); if ((is_object($selected) && $selected->id == $obj->rowid) || (! is_object($selected) && $selected == $obj->rowid)) { $out.= ''; $i++; @@ -1350,16 +1415,10 @@ class Form } else { - $out.= ''; $out.= ''; } $out.= ''; - - if (! empty($conf->use_javascript_ajax) && ! $show_empty) // ajaxcombo works only on list with no empty value because of   - { - include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; - $out.= ajax_combobox($htmlname); - } } else { @@ -1406,12 +1465,12 @@ class Form $out.=''; $out.=''; $out.=$this->select_dolusers('', $htmlname, $show_empty, $exclude, $disabled, $include, $enableonly, $force_entity, $maxlength, $showstatus, $morefilter); - $out.=''; + $out.=' '; } $assignedtouser=array(); if (!empty($_SESSION['assignedtouser'])) { - $assignedtouser=dol_json_decode($_SESSION['assignedtouser'], true); + $assignedtouser=json_decode($_SESSION['assignedtouser'], true); } $nbassignetouser=count($assignedtouser); @@ -1445,13 +1504,13 @@ class Form * @param int $price_level Level of price to show * @param int $status -1=Return all products, 0=Products not on sell, 1=Products on sell * @param int $finished 2=all, 1=finished, 0=raw material - * @param string $selected_input_value Value of preselected input text (with ajax) + * @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 * @return void */ - function select_produits($selected='', $htmlname='productid', $filtertype='', $limit=20, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(),$socid=0) + function select_produits($selected='', $htmlname='productid', $filtertype='', $limit=20, $price_level=0, $status=1, $finished=2, $selected_input_value='', $hidelabel=0, $ajaxoptions=array(), $socid=0) { global $langs,$conf; @@ -1464,9 +1523,10 @@ class Form if ($selected && empty($selected_input_value)) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - $product = new Product($this->db); - $product->fetch($selected); - $selected_input_value=$product->ref; + $producttmpselect = new Product($this->db); + $producttmpselect->fetch($selected); + $selected_input_value=$producttmpselect->ref; + unset($producttmpselect); } // mode=1 means customers products $urloption='htmlname='.$htmlname.'&outjson=1&price_level='.$price_level.'&type='.$filtertype.'&mode=1&status='.$status.'&finished='.$finished; @@ -1483,7 +1543,7 @@ class Form print img_picto($langs->trans("Search"), 'search'); } } - print ''; + print ''; if ($hidelabel == 3) { print img_picto($langs->trans("Search"), 'search'); } @@ -1517,7 +1577,7 @@ class Form $outarray=array(); $sql = "SELECT "; - $sql.= " p.rowid, p.label, p.ref, p.description, p.fk_product_type, p.price, p.price_ttc, p.price_base_type, p.tva_tx, p.duration, p.stock"; + $sql.= " p.rowid, p.label, p.ref, p.description, p.fk_product_type, p.price, p.price_ttc, p.price_base_type, p.tva_tx, p.duration, p.stock, p.fk_price_expression"; //Price by customer if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES) && !empty($socid)) { @@ -1596,10 +1656,12 @@ class Form $result=$this->db->query($sql); if ($result) { + require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; $num = $this->db->num_rows($result); - $out.=''; + $out.=''; $i = 0; while ($num && $i < $num) @@ -1645,6 +1707,19 @@ class Form } else { + if (!empty($objp->fk_price_expression)) { + $price_product = new Product($this->db); + $price_product->fetch($objp->rowid, '', '', 1); + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProduct($price_product); + if ($price_result >= 0) { + $objp->price = $price_result; + $objp->unitprice = $price_result; + //Calculate the VAT + $objp->price_ttc = price2num($objp->price) * (1 + ($objp->tva_tx / 100)); + $objp->price_ttc = price2num($objp->price_ttc,'MU'); + } + } $this->constructProductListOption($objp, $opt, $optJson, $price_level, $selected); // Add new entry // "key" value of json key array is used by jQuery automatically as selected value @@ -1709,7 +1784,7 @@ class Form $outtype=$objp->fk_product_type; $opt = ''; + if (! $selected) $out.=''; else $out.=''; $i = 0; @@ -1983,8 +2059,8 @@ class Form $outdiscount=0; $opt = ''; $i = 0; @@ -2130,10 +2218,21 @@ class Form $opt = ''; + print ''; } else { @@ -2225,21 +2324,24 @@ class Form /** - * Charge dans cache la liste des conditions de paiements possibles + * Load into cache list of payment terms * - * @return int Nb lignes chargees, 0 si deja chargees, <0 si ko + * @return int Nb of lines loaded, <0 if KO */ function load_cache_conditions_paiements() { global $langs; - if (count($this->cache_conditions_paiements)) return 0; // Cache deja charge + $num = count($this->cache_conditions_paiements); + if ($num > 0) return 0; // Cache already loaded - $sql = "SELECT rowid, code, libelle"; + dol_syslog(__METHOD__, LOG_DEBUG); + + $sql = "SELECT rowid, code, libelle as label"; $sql.= " FROM ".MAIN_DB_PREFIX.'c_payment_term'; - $sql.= " WHERE active=1"; + $sql.= " WHERE active > 0"; $sql.= " ORDER BY sortorder"; - dol_syslog(get_class($this).'::load_cache_conditions_paiements', LOG_DEBUG); + $resql = $this->db->query($sql); if ($resql) { @@ -2250,14 +2352,18 @@ class Form $obj = $this->db->fetch_object($resql); // Si traduction existe, on l'utilise, sinon on prend le libelle par defaut - $libelle=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->libelle!='-'?$obj->libelle:'')); + $label=($langs->trans("PaymentConditionShort".$obj->code)!=("PaymentConditionShort".$obj->code)?$langs->trans("PaymentConditionShort".$obj->code):($obj->label!='-'?$obj->label:'')); $this->cache_conditions_paiements[$obj->rowid]['code'] =$obj->code; - $this->cache_conditions_paiements[$obj->rowid]['label']=$libelle; + $this->cache_conditions_paiements[$obj->rowid]['label']=$label; $i++; } - return 1; + + //$this->cache_conditions_paiements=dol_sort_array($this->cache_conditions_paiements, 'label', 'asc', 0, 0, 1); // We use the field sortorder of table + + return $num; } - else { + else + { dol_print_error($this->db); return -1; } @@ -2266,19 +2372,21 @@ class Form /** * Charge dans cache la liste des délais de livraison possibles * - * @return int Nb lignes chargees, 0 si deja chargees, <0 si ko + * @return int Nb of lines loaded, <0 if KO */ function load_cache_availability() { global $langs; - if (count($this->cache_availability)) return 0; // Cache deja charge + $num = count($this->cache_availability); + if ($num > 0) return 0; // Cache already loaded + + dol_syslog(__METHOD__, LOG_DEBUG); $sql = "SELECT rowid, code, label"; $sql.= " FROM ".MAIN_DB_PREFIX.'c_availability'; - $sql.= " WHERE active=1"; - $sql.= " ORDER BY rowid"; - dol_syslog(get_class($this).'::load_cache_availability', LOG_DEBUG); + $sql.= " WHERE active > 0"; + $resql = $this->db->query($sql); if ($resql) { @@ -2294,9 +2402,13 @@ class Form $this->cache_availability[$obj->rowid]['label']=$label; $i++; } - return 1; + + $this->cache_availability = dol_sort_array($this->cache_availability, 'label', 'asc', 0, 0, 1); + + return $num; } - else { + else + { dol_print_error($this->db); return -1; } @@ -2317,13 +2429,15 @@ class Form $this->load_cache_availability(); + dol_syslog(__METHOD__." selected=".$selected.", htmlname=".$htmlname, LOG_DEBUG); + print ''; - if ($addempty) print ''; + if ($addempty) print ''; foreach($this->cache_demand_reason as $id => $arraydemandreason) { if ($arraydemandreason['code']==$exclude) continue; if ($selected && ($selected == $arraydemandreason['id'] || $selected == $arraydemandreason['code'])) { - print ''; + + while($res = $this->db->fetch_object($resql)) + { + if ($selected == $res->rowid) + { + $return.=''; + } + else + { + $return.=''; + } + } + $return.=''; + } + return $return; + } + /** * Return a HTML select list of bank accounts * @@ -2729,13 +2936,13 @@ class Form $obj = $this->db->fetch_object($result); if ($selected == $obj->rowid) { - print ''; $i++; @@ -2794,10 +3001,11 @@ class Form * @param string $htmlname HTML field name * @param int $maxlength Maximum length for labels * @param int $excludeafterid Exclude all categories after this leaf in category tree. + * @param int $outputmode 0=HTML select string, 1=Array * @return string * @see select_categories */ - function select_all_categories($type, $selected='', $htmlname="parent", $maxlength=64, $excludeafterid=0) + function select_all_categories($type, $selected='', $htmlname="parent", $maxlength=64, $excludeafterid=0, $outputmode=0) { global $langs; $langs->load("categories"); @@ -2806,9 +3014,10 @@ class Form $cate_arbo = $cat->get_full_arbo($type,$excludeafterid); $output = ''; $output.= "\n"; - return $output; + + if ($outputmode) return $outarray; + return $output; } /** @@ -2845,6 +3058,7 @@ class Form * @param int $width Force width of box * @return void * @deprecated + * @see formconfirm() */ function form_confirm($page, $title, $question, $action, $formquestion='', $selectedchoice="", $useajax=0, $height=170, $width=500) { @@ -2902,7 +3116,7 @@ class Form // Now add questions $more.=''."\n"; - $more.=''."\n"; + $more.=''."\n"; foreach ($formquestion as $key => $input) { if (is_array($input) && ! empty($input)) @@ -2911,15 +3125,15 @@ class Form if ($input['type'] == 'text') { - $more.=''."\n"; + $more.=''."\n"; } else if ($input['type'] == 'password') { - $more.=''."\n"; + $more.=''."\n"; } else if ($input['type'] == 'select') { - $more.=''."\n"; @@ -2927,13 +3141,13 @@ class Form else if ($input['type'] == 'checkbox') { $more.=''; - $more.=''; - $more.=''."\n"; } @@ -2998,21 +3212,23 @@ class Form // Show JQuery confirm box. Note that global var $useglobalvars is used inside this template $formconfirm.= ''; + $formconfirm.= ($question ? '
': ''); + $formconfirm.= '
'."\n"; - $formconfirm.= ''; + $formconfirm.= "\n"; } else { $formconfirm.= "\n\n"; $formconfirm.= ''."\n"; - $formconfirm.= ''; + $formconfirm.= ''."\n"; $formconfirm.= ''."\n"; $formconfirm.= '
'.(! empty($formquestion['text'])?$formquestion['text']:'').'
'.(! empty($formquestion['text'])?$formquestion['text']:'').'
'.$input['label'].'
'.$input['label'].'
'.$input['label'].'
'.$input['label'].'
'; + $more.='
'; if (! empty($input['label'])) $more.=$input['label'].''; $more.=$this->selectarray($input['name'],$input['values'],$input['default'],1); $more.='
'.$input['label'].' '; + $more.=''.$input['label'].' '; $more.=''; else $more.=' '; + $more.='
'; + if (! empty($input['label'])) $more.=$input['label'].''; $more.=$input['value']; $more.='
'."\n"; @@ -3120,10 +3339,12 @@ class Form * @param int $socid Id third party (-1=all, 0=only projects not linked to a third party, id=projects not linked or linked to third party id) * @param int $selected Id pre-selected project * @param string $htmlname Name of select field - * @param int $discard_closed Hide all closed projects + * @param int $discard_closed Discard closed projects (0=Keep,1=hide completely,2=Disable) + * @param int $maxlength Max length + * @param int $forcefocus Force focus on field (works with javascript only) * @return void */ - function form_project($page, $socid, $selected='', $htmlname='projectid', $discard_closed=0) + function form_project($page, $socid, $selected='', $htmlname='projectid', $discard_closed=0, $maxlength=20, $forcefocus=0) { global $langs; @@ -3135,12 +3356,13 @@ class Form $langs->load("project"); if ($htmlname != "none") { + print "\n"; print ''; print ''; print ''; print '
'; print ''; print ''; print '
'; - $formproject->select_projects($socid,$selected,$htmlname,20,0,1,$discard_closed); + $formproject->select_projects($socid,$selected,$htmlname,$maxlength,0,1,$discard_closed, $forcefocus); print '
'; @@ -3280,40 +3502,41 @@ class Form /** * Show a form + html select a date * - * @param string $page Page - * @param string $selected Date preselected - * @param string $htmlname Html name of date input fields or 'none' - * @param int $displayhour Display hour selector - * @param int $displaymin Display minutes selector + * @param string $page Page + * @param string $selected Date preselected + * @param string $htmlname Html name of date input fields or 'none' + * @param int $displayhour Display hour selector + * @param int $displaymin Display minutes selector + * @param int $nooutput 1=No print output, return string * @return void * @see select_date */ - function form_date($page, $selected, $htmlname, $displayhour=0, $displaymin=0) + function form_date($page, $selected, $htmlname, $displayhour=0, $displaymin=0, $nooutput=0) { global $langs; + $ret=''; + if ($htmlname != "none") { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'; - print $this->select_date($selected,$htmlname,$displayhour,$displaymin,1,'form'.$htmlname); - print '
'; + $ret.='
'; + $ret.=''; + $ret.=''; + $ret.=''; + $ret.=''; + $ret.=''; + $ret.='
'; + $ret.=$this->select_date($selected,$htmlname,$displayhour,$displaymin,1,'form'.$htmlname); + $ret.='
'; } else { - if ($selected) - { - $this->load_cache_types_paiements(); - print $this->cache_types_paiements[$selected]['label']; - } else { - print " "; - } + if ($displayhour) $ret.=dol_print_date($selected,'dayhour'); + else $ret.=dol_print_date($selected,'day'); } + + if (empty($nooutput)) print $ret; + return $ret; } @@ -3322,9 +3545,9 @@ class Form * * @param string $page Page * @param string $selected Id of user preselected - * @param string $htmlname Name of input html field - * @param array $exclude List of users id to exclude - * @param array $include List of users id to include + * @param string $htmlname Name of input html field. If 'none', we just output the user link. + * @param array $exclude List of users id to exclude + * @param array $include List of users id to include * @return void */ function form_users($page, $selected='', $htmlname='userid', $exclude='', $include='') @@ -3344,12 +3567,10 @@ class Form print ''; } else - { + { if ($selected) { require_once DOL_DOCUMENT_ROOT .'/user/class/user.class.php'; - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; $theuser=new User($this->db); $theuser->fetch($selected); print $theuser->getNomUrl(1); @@ -3361,7 +3582,7 @@ class Form /** - * Affiche formulaire de selection des modes de reglement + * Show form with payment mode * * @param string $page Page * @param int $selected Id mode pre-selectionne @@ -3389,6 +3610,7 @@ class Form if ($selected) { $this->load_cache_types_paiements(); + print $this->cache_types_paiements[$selected]['label']; } else { print " "; @@ -3460,12 +3682,12 @@ class Form /** - * Affiche formulaire de selection des contacts + * Show forms to select a contact * - * @param string $page Page - * @param Societe $societe Third party - * @param int $selected Id contact pre-selectionne - * @param string $htmlname Nom du formulaire select + * @param string $page Page + * @param Societe $societe Filter on third party + * @param int $selected Id contact pre-selectionne + * @param string $htmlname Name of HTML select. If 'none', we just show contact link. * @return void */ function form_contacts($page, $societe, $selected='', $htmlname='contactid') @@ -3495,8 +3717,6 @@ class Form if ($selected) { require_once DOL_DOCUMENT_ROOT .'/contact/class/contact.class.php'; - //$this->load_cache_contacts(); - //print $this->cache_contacts[$selected]; $contact=new Contact($this->db); $contact->fetch($selected); print $contact->getFullName($langs); @@ -3585,7 +3805,7 @@ class Form { if ($selected && $selected == $code_iso) { - $out.= ''; - - $this->tva_taux_value[] = $rate['txtva']; - $this->tva_taux_libelle[] = $rate['libtva']; - $this->tva_taux_npr[] = $rate['nprtva']; } if (! $options_only) $return.= ''; @@ -3897,7 +4113,7 @@ class Form { // Zone de saisie manuelle de la date $retstring.='trans("FormatDateShortJavaInput").'\'); "'; // FormatDateShortInput for dol_print_date / FormatDateShortJavaInput that is same for javascript $retstring.='>'; @@ -3923,30 +4139,30 @@ class Form else { // Day - $retstring.=''; + $retstring.=''; if ($emptydate || $set_time == -1) { - $retstring.=''; + $retstring.=''; } for ($day = 1 ; $day <= 31; $day++) { - $retstring.=''; + $retstring.=''; } $retstring.=""; - $retstring.=''; + $retstring.=''; if ($emptydate || $set_time == -1) { - $retstring.=''; + $retstring.=''; } // Month for ($month = 1 ; $month <= 12 ; $month++) { - $retstring.='"; } @@ -3955,15 +4171,15 @@ class Form // Year if ($emptydate || $set_time == -1) { - $retstring.=''; + $retstring.=''; } else { - $retstring.=''; + $retstring.=''; for ($year = $syear - 5; $year < $syear + 10 ; $year++) { - $retstring.=''; + $retstring.=''; } $retstring.="\n"; } @@ -3975,12 +4191,12 @@ class Form if ($h) { // Show hour - $retstring.=''; + $retstring.=''; if ($emptyhours) $retstring.=''; for ($hour = 0; $hour < 24; $hour++) { if (strlen($hour) < 2) $hour = "0" . $hour; - $retstring.=''; + $retstring.=''; } $retstring.=''; if (empty($conf->dol_optimize_smallscreen)) $retstring.=":"; @@ -3989,12 +4205,12 @@ class Form if ($m) { // Show minutes - $retstring.=''; + $retstring.=''; if ($emptyhours) $retstring.=''; for ($min = 0; $min < 60 ; $min++) { if (strlen($min) < 2) $min = "0" . $min; - $retstring.=''; + $retstring.=''; } $retstring.=''; } @@ -4050,7 +4266,7 @@ class Form * Function to show a form to select a duration on a page * * @param string $prefix Prefix for input fields - * @param int $iSecond Default preselected duration (number of seconds) + * @param int $iSecond Default preselected duration (number of seconds or '') * @param int $disabled Disable the combo box * @param string $typehour If 'select' then input hour and input min is a combo, if 'text' input hour is in text and input min is a combo * @param string $minunderhours If 1, show minutes selection under the hours @@ -4065,7 +4281,8 @@ class Form $hourSelected=0; $minSelected=0; - if ($iSecond) + // Hours + if ($iSecond != '') { require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; @@ -4075,13 +4292,13 @@ class Form if ($typehour=='select') { - $retstring.=''; for ($hour = 0; $hour < 25; $hour++) // For a duration, we allow 24 hours { $retstring.=''."\n"; + $out.=''."\n"; } if (is_array($array)) @@ -4187,7 +4415,7 @@ class Form foreach($array as $key => $value) { $out.=''."\n"; + if ($show_empty) $out.= ''."\n"; while ($i < $num) { @@ -4591,10 +5244,10 @@ class Form if (is_array($enableonly) && count($enableonly) && ! in_array($obj->rowid,$enableonly)) $disableline=1; $out.= ''; foreach($listofstatus as $key => $val) { - print ''; + print ''; if ($key == '50' && $onlyselect == 2) { - print ''; + print ''; } } print ''; @@ -135,13 +135,13 @@ class FormActions if (empty($onlyselect)) { - print ' =0)?'':' disabled="disabled"').'>'; + print ' =0)?'':' disabled').'>'; print '%'; } } else { - print ' %'; + print ' %'; } } @@ -171,6 +171,7 @@ class FormActions if ($typeelement == 'invoice') $title=$langs->trans('ActionsOnBill'); elseif ($typeelement == 'invoice_supplier' || $typeelement == 'supplier_invoice') $title=$langs->trans('ActionsOnBill'); elseif ($typeelement == 'propal') $title=$langs->trans('ActionsOnPropal'); + elseif ($typeelement == 'askpricesupplier') $title=$langs->trans('ActionsOnAskPriceSupplier'); elseif ($typeelement == 'order') $title=$langs->trans('ActionsOnOrder'); elseif ($typeelement == 'order_supplier' || $typeelement == 'supplier_order') $title=$langs->trans('ActionsOnOrder'); elseif ($typeelement == 'project') $title=$langs->trans('ActionsOnProject'); diff --git a/htdocs/core/class/html.formadmin.class.php b/htdocs/core/class/html.formadmin.class.php index 30ecadedb55..d3ffa569a7a 100644 --- a/htdocs/core/class/html.formadmin.class.php +++ b/htdocs/core/class/html.formadmin.class.php @@ -64,17 +64,17 @@ class FormAdmin $out=''; - $out.= ''; if ($showempty) { $out.= ''; } @@ -96,7 +96,7 @@ class FormAdmin } else if ($selected == $key) { - $out.= ''; + $out.= ''; } else { @@ -105,6 +105,10 @@ class FormAdmin } $out.= ''; + // Make select dynamic + include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; + $out.= ajax_combobox($htmlname); + return $out; } @@ -157,7 +161,7 @@ class FormAdmin if ($file == $selected) { - $menuarray[$prefix.'_'.$file]=''; + $menuarray[$prefix.'_'.$file]=''; } else { @@ -184,7 +188,7 @@ class FormAdmin if ($newprefix != $oldprefix) // Add separators { // Affiche titre - print ''."\n"; } print ''; @@ -366,14 +370,14 @@ class FormAdmin if ($showempty) { $out.= ''; + $out.= ''; } else { diff --git a/htdocs/core/class/html.formaskpricesupplier.class.php b/htdocs/core/class/html.formaskpricesupplier.class.php new file mode 100644 index 00000000000..770c88ac844 --- /dev/null +++ b/htdocs/core/class/html.formaskpricesupplier.class.php @@ -0,0 +1,104 @@ + + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/class/html.formpropal.class.php + * \ingroup core + * \brief File of class with all html predefined components + */ + + +/** + * Class to manage generation of HTML components for proposal management + */ +class FormAskPriceSupplier +{ + var $db; + var $error; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + $this->db = $db; + } + + /** + * Return combo list of differents status of a proposal + * Values are id of table c_propalst + * + * @param string $selected Preselected value + * @param int $short Use short labels + * @return void + */ + function selectAskPriceSupplierStatus($selected='',$short=0) + { + global $langs; + + $sql = "SELECT id, code, label, active FROM ".MAIN_DB_PREFIX."c_propalst"; + $sql .= " WHERE active = 1"; + + dol_syslog(get_class($this)."::selectAskPriceSupplierStatus", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + print ''; + } + else + { + dol_print_error($this->db); + } + } + +} + diff --git a/htdocs/core/class/html.formbank.class.php b/htdocs/core/class/html.formbank.class.php index 647688bb641..7de7b721f9a 100644 --- a/htdocs/core/class/html.formbank.class.php +++ b/htdocs/core/class/html.formbank.class.php @@ -1,5 +1,6 @@ +/* Copyright (C) 2012 Laurent Destailleur + * Copyright (C) 2015 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 @@ -44,7 +45,7 @@ class FormBank /** * Retourne la liste des types de comptes financiers * - * @param string $selected Type pre-selectionne + * @param integer $selected Type pre-selectionne * @param string $htmlname Nom champ formulaire * @return void */ @@ -55,7 +56,7 @@ class FormBank $type_available=array(0,1,2); - print ''; $num = count($type_available); $i = 0; if ($num) @@ -64,7 +65,7 @@ class FormBank { if ($selected == $type_available[$i]) { - print ''; + print ''; } else { diff --git a/htdocs/core/class/html.formbarcode.class.php b/htdocs/core/class/html.formbarcode.class.php index 11a59614be0..2e93eaf9f5d 100644 --- a/htdocs/core/class/html.formbarcode.class.php +++ b/htdocs/core/class/html.formbarcode.class.php @@ -77,7 +77,7 @@ class FormBarCode if (((! empty($conf->product->enabled) || ! empty($conf->service->enabled)) && $conf->global->PRODUIT_DEFAULT_BARCODE_TYPE == $code_id) || (! empty($conf->societe->enabled) && $conf->global->GENBARCODE_BARCODETYPE_THIRDPARTY == $code_id)) { - $disable = 'disabled="disabled"'; + $disable = 'disabled'; } $select_encoder = '
'; @@ -85,11 +85,11 @@ class FormBarCode $select_encoder.= ''; $select_encoder.= ''; $select_encoder.= '
'; @@ -128,8 +128,8 @@ class FormBarCode else { $langs->load("errors"); - print ''; + print ''; } while ($i < $num) @@ -137,7 +137,7 @@ class FormBarCode $obj = $this->db->fetch_object($result); if ($selected == $obj->rowid) { - print ''; $num = $this->db->num_rows($result); $i = 0; @@ -255,7 +256,7 @@ class FormCompany // Affiche la rupture si on est en mode liste multipays if (! $country_codeid && $obj->country_code) { - $out.= '\n"; + $out.= '\n"; $country=$obj->country; } } @@ -263,7 +264,7 @@ class FormCompany if ((! empty($selected) && $selected == $obj->rowid) || (empty($selected) && ! empty($conf->global->MAIN_FORCE_DEFAULT_STATE_ID) && $conf->global->MAIN_FORCE_DEFAULT_STATE_ID == $obj->rowid)) { - $out.= '\n"; + print '\n"; $country=$obj->country; } if ($selected > 0 && $selected == $obj->code) { - print ''; + print ''; } else { @@ -386,7 +391,7 @@ class FormCompany $obj = $this->db->fetch_object($resql); if ($selected == $obj->code) { - $out.= ''; + print ''; } else { @@ -115,7 +115,7 @@ class FormContract else { $resultat=''; + $out.=''; } else { @@ -116,7 +116,7 @@ class FormIntervention else { $resultat='
'; +print ''; print '

'.$langs->trans("SomeTranslationAreUncomplete"); diff --git a/htdocs/install/mssql/functions/functions.sql b/htdocs/install/mssql/functions/functions.sql deleted file mode 100644 index 1c2c76996dc..00000000000 Binary files a/htdocs/install/mssql/functions/functions.sql and /dev/null differ diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index a6c0efc77a6..9c83b70502a 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -270,4 +270,4 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (24 INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (244,'ME','MNE','Monténégro',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (245,'BL','BLM','Saint-Barthélemy',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (246,'MF','MAF','Saint-Martin',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (247,'BU', null, 'Burundi',1,0); + diff --git a/htdocs/install/mysql/data/llx_10_c_regions.sql b/htdocs/install/mysql/data/llx_10_c_regions.sql index 4415f5711bf..6ef8096d8b4 100644 --- a/htdocs/install/mysql/data/llx_10_c_regions.sql +++ b/htdocs/install/mysql/data/llx_10_c_regions.sql @@ -39,7 +39,8 @@ insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 2,'97209',3,'Martinique'); insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 3,'97302',3,'Guyane'); insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 4,'97411',3,'Réunion'); -insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 6,'',3,'Mayotte'); +insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 6,'97601',3,'Mayotte'); + insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 11,'75056',1,'Île-de-France'); insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 21,'51108',0,'Champagne-Ardenne'); insert into llx_c_regions (fk_pays,code_region,cheflieu,tncc,nom) values ( 1, 22,'80021',0,'Picardie'); @@ -270,5 +271,3 @@ INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) v INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 12, 1215, '', 0, 'Laâyoune-Boujdour-Sakia el Hamra', 1); INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 12, 1216, '', 0, 'Oued Ed-Dahab Lagouira', 1); --- Regions Tunisia (id country=10) -INSERT INTO llx_c_regions (fk_pays, code_region, cheflieu, tncc, nom, active) values ( 10, 1001, '', 0, 'Algerie', 1); diff --git a/htdocs/install/mysql/data/llx_20_c_departements.sql b/htdocs/install/mysql/data/llx_20_c_departements.sql index 116f9572052..bc727447abe 100644 --- a/htdocs/install/mysql/data/llx_20_c_departements.sql +++ b/htdocs/install/mysql/data/llx_20_c_departements.sql @@ -35,6 +35,12 @@ insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 0, '0', '0',0,'-','-'); -- Departements France (id country=1) +insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 1,'971','97105',3,'GUADELOUPE','Guadeloupe'); +insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 2,'972','97209',3,'MARTINIQUE','Martinique'); +insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 3,'973','97302',3,'GUYANE','Guyane'); +insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 4,'974','97411',3,'REUNION','Réunion'); +insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 6,'976','97601',3,'MAYOTTE','Mayotte'); + insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (82,'01','01053',5,'AIN','Ain'); insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (22,'02','02408',5,'AISNE','Aisne'); insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (83,'03','03190',5,'ALLIER','Allier'); @@ -131,11 +137,6 @@ insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,no insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'93','93008',3,'SEINE-SAINT-DENIS','Seine-Saint-Denis'); insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'94','94028',2,'VAL-DE-MARNE','Val-de-Marne'); insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values (11,'95','95500',2,'VAL-D OISE','Val-d Oise'); -insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 1,'971','97105',3,'GUADELOUPE','Guadeloupe'); -insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 2,'972','97209',3,'MARTINIQUE','Martinique'); -insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 3,'973','97302',3,'GUYANE','Guyane'); -insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 4,'974','97411',3,'REUNION','Réunion'); -insert into llx_c_departements (fk_region, code_departement,cheflieu,tncc,ncc,nom) values ( 6,'976','97601',3,'MAYOTTE','Mayotte'); -- Provinces Belgium (id country=2) diff --git a/htdocs/install/mysql/data/llx_c_action_trigger.sql b/htdocs/install/mysql/data/llx_c_action_trigger.sql index 1dde6d5d37c..408c7a36ff6 100644 --- a/htdocs/install/mysql/data/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/data/llx_c_action_trigger.sql @@ -8,6 +8,7 @@ -- Copyright (C) 2010-2013 Juanjo Menent -- Copyright (C) 2013 Cedric Gross -- Copyright (C) 2014 Raphaël Doursenaud +-- Copyright (C) 2015 Bahfir Abbes -- -- 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 @@ -74,3 +75,4 @@ insert into llx_c_action_trigger (code,label,description,elementtype,rang) value insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_CREATE','Task created','Executed when a project task is created','project',35); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_MODIFY','Task modified','Executed when a project task is modified','project',36); insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_SUPPLIER_UNVALIDATE', 'Supplier invoice unvalidated', 'Executed when a supplier invoice status is set back to draft', 'invoice_supplier',15); diff --git a/htdocs/install/mysql/data/llx_c_forme_juridique.sql b/htdocs/install/mysql/data/llx_c_forme_juridique.sql index a0e1e058860..750ca7de930 100644 --- a/htdocs/install/mysql/data/llx_c_forme_juridique.sql +++ b/htdocs/install/mysql/data/llx_c_forme_juridique.sql @@ -73,7 +73,7 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'31','Perso insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'32','Personne morale de droit étranger, non immatriculée au RCS'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'35','Régime auto-entrepreneur'); -insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'41','Établissement public ou régie à caractère industriel ou commercial'); +insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'41','Etablissement public ou régie à caractère industriel ou commercial'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'51','Société coopérative commerciale particulière'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'52','Société en nom collectif'); @@ -84,7 +84,7 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'56','Soci insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'57','Société par actions simplifiée (SAS)'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'58','Entreprise Unipersonnelle à Responsabilité Limitée (EURL)'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'59','Société par actions simplifiée unipersonnelle (SASU)'); -insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'60', 'Entreprise Individuelle à Responsabilité Limitée (EIRL)'); +insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'60','Entreprise Individuelle à Responsabilité Limitée (EIRL)'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'61','Caisse d''épargne et de prévoyance'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'62','Groupement d''intérêt économique (GIE)'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'63','Société coopérative agricole'); @@ -94,7 +94,7 @@ insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'69','Perso insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'71','Administration de l état'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'72','Collectivité territoriale'); -insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'73','Établissement public administratif'); +insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'73','Etablissement public administratif'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'74','Personne morale de droit public administratif'); insert into llx_c_forme_juridique (fk_pays, code, libelle) values (1,'81','Organisme gérant régime de protection social à adhésion obligatoire'); diff --git a/htdocs/install/mysql/data/llx_c_holiday_type.sql b/htdocs/install/mysql/data/llx_c_holiday_type.sql new file mode 100644 index 00000000000..87eb67be131 --- /dev/null +++ b/htdocs/install/mysql/data/llx_c_holiday_type.sql @@ -0,0 +1,36 @@ +-- Copyright (C) 2001-2004 Rodolphe Quiedeville +-- Copyright (C) 2003 Jean-Louis Bergamo +-- Copyright (C) 2004-2009 Laurent Destailleur +-- Copyright (C) 2004 Benoit Mortier +-- Copyright (C) 2004 Guillaume Delecourt +-- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2007 Patrick Raguin +-- Copyright (C) 2012 Tommaso Basilici +-- +-- 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 . +-- +-- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors +-- de l'install et tous les sigles '--' sont supprimés. +-- + +-- 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); + +-- 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); + +-- 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); diff --git a/htdocs/install/mysql/data/llx_c_incoterms.sql b/htdocs/install/mysql/data/llx_c_incoterms.sql new file mode 100644 index 00000000000..ad9b09f09fc --- /dev/null +++ b/htdocs/install/mysql/data/llx_c_incoterms.sql @@ -0,0 +1,41 @@ +-- Copyright (C) 2001-2004 Rodolphe Quiedeville +-- Copyright (C) 2003 Jean-Louis Bergamo +-- Copyright (C) 2004-2009 Laurent Destailleur +-- Copyright (C) 2004 Benoit Mortier +-- Copyright (C) 2004 Guillaume Delecourt +-- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2007 Patrick Raguin +-- +-- 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 . +-- +-- + +-- +-- Ne pas placer de commentaire en fin de ligne, ce fichier est parsé lors +-- de l'install et tous les sigles '--' sont supprimés. +-- + + +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('EXW', 'Ex Works, au départ non chargé, non dédouané sortie d''usine (uniquement adapté aux flux domestiques, nationaux)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FCA', 'Free Carrier, marchandises dédouanées et chargées dans le pays de départ, chez le vendeur ou chez le commissionnaire de transport de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FAS', 'Free Alongside Ship, sur le quai du port de départ', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FOB', 'Free On Board, chargé sur le bateau, les frais de chargement dans celui-ci étant fonction du liner term indiqué par la compagnie maritime (à la charge du vendeur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CFR', 'Cost and Freight, chargé dans le bateau, livraison au port de départ, frais payés jusqu''au port d''arrivée, sans assurance pour le transport, non déchargé du navire à destination (les frais de déchargement sont inclus ou non au port d''arrivée)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CIF', 'Cost, Insurance and Freight, chargé sur le bateau, frais jusqu''au port d''arrivée, avec l''assurance marchandise transportée souscrite par le vendeur pour le compte de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CPT', 'Carriage Paid To, livraison au premier transporteur, frais jusqu''au déchargement du mode de transport, sans assurance pour le transport', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CIP', 'Carriage and Insurance Paid to, idem CPT, avec assurance marchandise transportée souscrite par le vendeur pour le compte de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DAT', 'Delivered At Terminal, marchandises (déchargées) livrées sur quai, dans un terminal maritime, fluvial, aérien, routier ou ferroviaire désigné (dédouanement import, et post-acheminement payés par l''acheteur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DAP', 'Delivered At Place, marchandises (non déchargées) mises à disposition de l''acheteur dans le pays d''importation au lieu précisé dans le contrat (déchargement, dédouanement import payé par l''acheteur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DDP', 'Delivered Duty Paid, marchandises (non déchargées) livrées à destination finale, dédouanement import et taxes à la charge du vendeur ; l''acheteur prend en charge uniquement le déchargement (si exclusion des taxes type TVA, le préciser clairement)', 1); + diff --git a/htdocs/install/mysql/data/llx_c_tva.sql b/htdocs/install/mysql/data/llx_c_tva.sql index f1a86a18e6b..7ad3fd91443 100644 --- a/htdocs/install/mysql/data/llx_c_tva.sql +++ b/htdocs/install/mysql/data/llx_c_tva.sql @@ -49,7 +49,7 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (41 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, '0','0','VAT Rate 0',1); --- BRASIL (id country=59) +-- 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); -- BULGARIA (id country=59) @@ -191,8 +191,8 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (17 insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1734, 173, '0','0','VAT Rate 0', 1); -- PERU (id country=181) -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 181, '18','0','VAT standard rate',1); -insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1843, 181, '0','0','VAT Rate 0',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1811, 181, '18','0','VAT standard rate',1); +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1812, 181, '0','0','VAT Rate 0',1); -- POLAND (id country=184) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (1841, 184, '20','0','VAT standard rate',1); @@ -219,6 +219,11 @@ INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES ( 2 INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (861, 86, '13', '0', 'IVA 13', 1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (862, 86, '0', '0', 'SIN IVA', 1); +-- SENEGAL (id country=22) +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values (221, 22, '18', '0', 'VAT standard rate',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, '0', '0', 'VAT Rate 0', 1); + -- SLOVAKIA (id country=201) INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2011, 201, '19', '0', 'VAT standard rate', 1); INSERT INTO llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) VALUES (2012, 201, '10', '0', 'VAT reduced rate', 1); @@ -247,6 +252,9 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 6 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, '0','0','VAT Rate 0', 1); +-- TAIWAN (id country=213) +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 2131, 213, '5','0','VAT 5%',1); + -- TUNISIA (id country=10) insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (101,10, '6','0','VAT 6%', 1, 1, '4', 0, 0); insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active,localtax1,localtax1_type,localtax2,localtax2_type) values (102,10, '12','0','VAT 12%',1, 1, '4', 0, 0); diff --git a/htdocs/install/mysql/data/llx_c_type_fees.sql b/htdocs/install/mysql/data/llx_c_type_fees.sql index 9e763bf5ba8..19ee7865e9f 100644 --- a/htdocs/install/mysql/data/llx_c_type_fees.sql +++ b/htdocs/install/mysql/data/llx_c_type_fees.sql @@ -31,5 +31,5 @@ -- insert into llx_c_type_fees (code,label,active) values ('TF_OTHER', 'Other', 1); -insert into llx_c_type_fees (code,label,active) values ('TF_TRIP', 'Trip', 1); +insert into llx_c_type_fees (code,label,active) values ('TF_TRIP', 'Transportation', 1); insert into llx_c_type_fees (code,label,active) values ('TF_LUNCH', 'Lunch', 1); diff --git a/htdocs/install/mysql/data/llx_c_units.sql b/htdocs/install/mysql/data/llx_c_units.sql new file mode 100644 index 00000000000..835c0ab06eb --- /dev/null +++ b/htdocs/install/mysql/data/llx_c_units.sql @@ -0,0 +1,31 @@ +-- ======================================================================== +-- Copyright (C) 2001-2002,2004 Rodolphe Quiedeville +-- Copyright (C) 2004 Laurent Destailleur +-- Copyright (C) 2012 Cédric Salvador +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ======================================================================== + +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('P','piece','p', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('SET','set','se', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('S','second','s', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('H','hour','h', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('D','day','d', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('KG','kilogram','kg', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('G','gram','g', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M','meter','m', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('LM','linear meter','lm', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M2','square meter','m2', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M3','cubic meter','m3', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('L','liter','l', 1); diff --git a/htdocs/install/mysql/data/llx_const.sql b/htdocs/install/mysql/data/llx_const.sql index 0c0a98355c0..3b627f3d99b 100644 --- a/htdocs/install/mysql/data/llx_const.sql +++ b/htdocs/install/mysql/data/llx_const.sql @@ -40,13 +40,13 @@ insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_FILE','DOL_DATA_ROOT/dolibarr.log','chaine','Directory where to write log file',0,0); insert into llx_const (name, value, type, note, visible, entity) values ('SYSLOG_LEVEL','7','chaine','Level of debug info to show',0,0); -insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_SMTP_SERVER','','chaine','Host or ip address for SMTP server',0,0); -insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_SMTP_PORT','','chaine','Port for SMTP server',0,0); - insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_UPLOAD_DOC','2048','chaine','Max size for file upload (0 means no upload allowed)',0,0); -- Hidden but specific to one entity insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MONNAIE','EUR','chaine','Monnaie',0,1); + +insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_SMTP_SERVER','','chaine','Host or ip address for SMTP server',0,1); +insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_SMTP_PORT','','chaine','Port for SMTP server',0,1); insert into llx_const (name, value, type, note, visible, entity) values ('MAIN_MAIL_EMAIL_FROM','robot@domain.com','chaine','EMail emetteur pour les emails automatiques Dolibarr',0,1); -- diff --git a/htdocs/install/mysql/data/llx_holiday_config.sql b/htdocs/install/mysql/data/llx_holiday_config.sql index 7dd964a7ace..a55842e76c7 100644 --- a/htdocs/install/mysql/data/llx_holiday_config.sql +++ b/htdocs/install/mysql/data/llx_holiday_config.sql @@ -1,8 +1 @@ -INSERT INTO llx_holiday_config (name ,value) VALUES ('userGroup', NULL); INSERT INTO llx_holiday_config (name ,value) VALUES ('lastUpdate', NULL); -INSERT INTO llx_holiday_config (name ,value) VALUES ('nbUser', NULL); -INSERT INTO llx_holiday_config (name ,value) VALUES ('delayForRequest', '31'); -INSERT INTO llx_holiday_config (name ,value) VALUES ('AlertValidatorDelay', '0'); -INSERT INTO llx_holiday_config (name ,value) VALUES ('AlertValidatorSolde', '0'); -INSERT INTO llx_holiday_config (name ,value) VALUES ('nbHolidayDeducted', '1'); -INSERT INTO llx_holiday_config (name ,value) VALUES ('nbHolidayEveryMonth', '2.08334'); diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index 57f29ef9a90..dd0aba11632 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -1175,6 +1175,10 @@ UPDATE llx_bank_url set url = REPLACE( url, 'fiche.php', 'card.php'); ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN fk_commandefourndet INTEGER NOT NULL DEFAULT 0 AFTER fk_product; +-- Not into official 3.7 but must be into migration for 3.7 when migration is done by 3.8 code +ALTER TABLE llx_extrafields ADD COLUMN perms varchar(255) after fieldrequired; +ALTER TABLE llx_extrafields ADD COLUMN list integer DEFAULT 0 after perms; + -- 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); diff --git a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql new file mode 100755 index 00000000000..f10fc56af45 --- /dev/null +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -0,0 +1,706 @@ +-- +-- Be carefull to requests order. +-- This file must be loaded by calling /install/index.php page +-- when current version is 3.8.0 or higher. +-- +-- 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 restrict request to Mysql version x.y use -- VMYSQLx.y +-- To restrict request to Pgsql version x.y use -- VPGSQLx.y +-- To make pk to be auto increment (mysql): VMYSQL4.3 ALTER TABLE llx_c_shipment_mode CHANGE COLUMN rowid rowid INTEGER NOT NULL AUTO_INCREMENT; +-- To make pk to be auto increment (postgres): VPGSQL8.2 NOT POSSIBLE. MUST DELETE/CREATE TABLE +-- To set a field as NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name DROP NOT NULL; +-- To set a field as default NULL: VPGSQL8.2 ALTER TABLE llx_table ALTER COLUMN name SET DEFAULT NULL; +-- -- VPGSQL8.2 DELETE FROM llx_usergroup_user WHERE fk_user NOT IN (SELECT rowid from llx_user); +-- -- VMYSQL4.1 DELETE FROM llx_usergroup_user WHERE fk_usergroup NOT IN (SELECT rowid from llx_usergroup); + + +UPDATE llx_facture_fourn set ref=rowid where ref IS NULL; +ALTER TABLE llx_facture_fourn MODIFY COLUMN ref varchar(255) NOT NULL; + + +-- 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); +-- Taiwan VAT Rates +insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,note,active) values ( 2131, 213, '5', '0', 'VAT 5%', 1); + +ALTER TABLE llx_societe_rib ADD COLUMN rum varchar(32) after default_rib; +ALTER TABLE llx_societe_rib ADD COLUMN frstrecur varchar(16) default 'FRST' after rum; + +ALTER TABLE llx_cronjob ADD COLUMN entity integer DEFAULT 0; +ALTER TABLE llx_cronjob MODIFY COLUMN params text NULL; + +-- Loan +create table llx_loan +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + datec datetime, + tms timestamp, + label varchar(80) NOT NULL, + fk_bank integer, + capital real default 0 NOT NULL, + datestart date, + dateend date, + nbterm real, + rate double NOT NULL, + note_private text, + note_public text, + capital_position real default 0, + date_position date, + paid smallint default 0 NOT NULL, + accountancy_account_capital varchar(32), + accountancy_account_insurance varchar(32), + accountancy_account_interest varchar(32), + fk_user_author integer DEFAULT NULL, + fk_user_modif integer DEFAULT NULL, + active tinyint DEFAULT 1 NOT NULL +)ENGINE=innodb; + +create table llx_payment_loan +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_loan integer, + datec datetime, + tms timestamp, + datep datetime, + amount_capital real DEFAULT 0, + amount_insurance real DEFAULT 0, + amount_interest real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note_private text, + note_public text, + fk_bank integer NOT NULL, + fk_user_creat integer, + fk_user_modif integer +)ENGINE=innodb; + +ALTER TABLE llx_extrafields ADD COLUMN fieldrequired integer DEFAULT 0; +ALTER TABLE llx_extrafields ADD COLUMN perms varchar(255) after fieldrequired; +ALTER TABLE llx_extrafields ADD COLUMN list integer DEFAULT 0 after perms; + +ALTER TABLE llx_payment_salary ADD COLUMN salary real after datev; + +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_ref (num_payment); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_user (fk_user, entity); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_datep (datep); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_datesp (datesp); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_dateep (dateep); + +ALTER TABLE llx_payment_salary ADD CONSTRAINT fk_payment_salary_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid); + + +UPDATE llx_projet_task_time SET task_datehour = task_date where task_datehour IS NULL; +ALTER TABLE llx_projet_task_time ADD COLUMN task_date_withhour integer DEFAULT 0 after task_datehour; + +ALTER TABLE llx_projet_task MODIFY COLUMN duration_effective real DEFAULT 0 NULL; +ALTER TABLE llx_projet_task MODIFY COLUMN planned_workload real DEFAULT 0 NULL; + + +ALTER TABLE llx_commande_fournisseur MODIFY COLUMN date_livraison datetime; + +-- Add id commandefourndet in llx_commande_fournisseur_dispatch to correct /fourn/commande/dispatch.php display when several times same product in supplier order +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN fk_commandefourndet INTEGER NOT NULL DEFAULT 0 AFTER fk_product; + + +-- Remove menu entries of removed or renamed modules +DELETE FROM llx_menu where module = 'printipp'; + + +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); + + +--create table for price expressions and add column in product supplier +create table llx_c_price_expression +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + title varchar(20) NOT NULL, + expression varchar(80) NOT NULL +)ENGINE=innodb; + +ALTER TABLE llx_product_fournisseur_price ADD COLUMN fk_supplier_price_expression integer DEFAULT NULL; +ALTER TABLE llx_product ADD COLUMN fk_price_expression integer DEFAULT NULL; +ALTER TABLE llx_product_price ADD COLUMN fk_price_expression integer DEFAULT NULL; + +ALTER TABLE llx_product ADD COLUMN fifo double(24,8) after pmp; +ALTER TABLE llx_product ADD COLUMN lifo double(24,8) after fifo; + + +--create table for user conf of printing driver +CREATE TABLE llx_printing +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + datec datetime, + printer_name text NOT NULL, + printer_location text NOT NULL, + printer_id varchar(255) NOT NULL, + copy integer NOT NULL DEFAULT '1', + module varchar(16) NOT NULL, + driver varchar(16) NOT NULL, + userid integer +)ENGINE=innodb; + +ALTER TABLE llx_product_fournisseur_price ADD COLUMN fk_price_expression integer DEFAULT NULL; + +-- Add situation invoices +ALTER TABLE llx_facture ADD COLUMN situation_cycle_ref smallint; +ALTER TABLE llx_facture ADD COLUMN situation_counter smallint; +ALTER TABLE llx_facture ADD COLUMN situation_final smallint; +ALTER TABLE llx_facturedet ADD COLUMN situation_percent real; +ALTER TABLE llx_facturedet ADD COLUMN fk_prev_id integer; + +-- Convert SMTP config to main entity, so new entities don't get the old values +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SENDMODE"; +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTP_PORT"; +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTP_SERVER"; +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTPS_ID"; +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_SMTPS_PW"; +UPDATE llx_const SET entity = __ENCRYPT('1')__ WHERE __DECRYPT('entity')__ = 0 AND __DECRYPT('name')__ = "MAIN_MAIL_EMAIL_TLS"; + + +create table llx_bank_account_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_stock_mouvement MODIFY COLUMN label varchar(255); +ALTER TABLE llx_stock_mouvement MODIFY COLUMN price double(24,8) DEFAULT 0; +ALTER TABLE llx_stock_mouvement ADD COLUMN inventorycode varchar(128); + + +ALTER TABLE llx_product_association ADD COLUMN incdec integer DEFAULT 1; + + + +ALTER TABLE llx_bank_account_extrafields ADD INDEX idx_bank_account_extrafields (fk_object); + + +create table llx_contratdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- object id + import_key varchar(14) -- import key +)ENGINE=innodb; + +ALTER TABLE llx_contratdet_extrafields ADD INDEX idx_contratdet_extrafields (fk_object); + +ALTER TABLE llx_product_fournisseur_price ADD COLUMN delivery_time_days integer; + + +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN comment varchar(255); +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN status integer; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN tms timestamp; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN batch varchar(30) DEFAULT NULL; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN eatby date DEFAULT NULL; +ALTER TABLE llx_commande_fournisseur_dispatch ADD COLUMN sellby date DEFAULT NULL; +ALTER TABLE llx_stock_mouvement ADD COLUMN batch varchar(30) DEFAULT NULL; +ALTER TABLE llx_stock_mouvement ADD COLUMN eatby date DEFAULT NULL; +ALTER TABLE llx_stock_mouvement ADD COLUMN sellby date DEFAULT NULL; + +UPDATE llx_product_batch SET batch = 'unknown' WHERE batch IS NULL; +ALTER TABLE llx_product_batch MODIFY COLUMN batch varchar(30) NOT NULL; + + +CREATE TABLE llx_expensereport ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref varchar(50) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + ref_number_int integer DEFAULT NULL, + ref_ext integer, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, -- amount total localtax1 + localtax2 double(24,8) DEFAULT 0, -- amount total localtax2 + total_ttc double(24,8) DEFAULT 0, + date_debut date NOT NULL, + date_fin date NOT NULL, + date_create datetime NOT NULL, + date_valid datetime, + date_approve datetime, + date_refuse datetime, + date_cancel datetime, + tms timestamp, + fk_user_author integer NOT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_valid integer DEFAULT NULL, + fk_user_validator integer DEFAULT NULL, + fk_user_approve integer DEFAULT NULL, + fk_user_refuse integer DEFAULT NULL, + fk_user_cancel integer DEFAULT NULL, + fk_statut integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé + fk_c_paiement integer DEFAULT NULL, + paid smallint default 0 NOT NULL, + note_public text, + note_private text, + detail_refuse varchar(255) DEFAULT NULL, + detail_cancel varchar(255) DEFAULT NULL, + integration_compta integer DEFAULT NULL, -- not used + fk_bank_account integer DEFAULT NULL, + model_pdf varchar(50) DEFAULT NULL +) ENGINE=innodb; + + +CREATE TABLE llx_expensereport_det +( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + fk_expensereport integer NOT NULL, + fk_c_type_fees integer NOT NULL, + fk_projet integer, + comments text NOT NULL, + product_type integer DEFAULT -1, + qty real NOT NULL, + value_unit real NOT NULL, + remise_percent real, + tva_tx double(6,3), -- Vat rat + localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + localtax1_type varchar(10) NULL, -- localtax1 type + localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_type varchar(10) NULL, -- localtax2 type + total_ht double(24,8) DEFAULT 0 NOT NULL, + total_tva double(24,8) DEFAULT 0 NOT NULL, + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_ttc double(24,8) DEFAULT 0 NOT NULL, + date date NOT NULL, + info_bits integer DEFAULT 0, -- TVA NPR ou non + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line + import_key varchar(14) +) ENGINE=innodb; + +ALTER TABLE llx_expensereport_det MODIFY COLUMN fk_projet integer NULL; +ALTER TABLE llx_expensereport_det MODIFY COLUMN fk_c_tva integer NULL; + +create table llx_payment_expensereport +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_expensereport integer, + datec datetime, -- date de creation + tms timestamp, + datep datetime, -- payment date + amount real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note text, + fk_bank integer NOT NULL, + fk_user_creat integer, -- creation user + fk_user_modif integer -- last modification user +)ENGINE=innodb; + + +ALTER TABLE llx_projet ADD COLUMN budget_amount double(24,8); +-- Alias names (commercial, trademark or alias names) +ALTER TABLE llx_societe ADD COLUMN name_alias varchar(128) NULL; + +create table llx_commande_fournisseurdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) +) ENGINE=innodb; + +ALTER TABLE llx_commande_fournisseurdet_extrafields ADD INDEX idx_commande_fournisseurdet_extrafields (fk_object); + + +create table llx_facture_fourn_det_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_facture_fourn_det_extrafields ADD INDEX idx_facture_fourn_det_extrafields (fk_object); + +ALTER TABLE llx_facture_fourn_det ADD COLUMN special_code integer DEFAULT 0; +ALTER TABLE llx_facture_fourn_det ADD COLUMN rang integer DEFAULT 0; +ALTER TABLE llx_facture_fourn_det ADD COLUMN fk_parent_line integer NULL after fk_facture_fourn; + +ALTER TABLE llx_commande_fournisseurdet ADD COLUMN special_code integer DEFAULT 0; +ALTER TABLE llx_commande_fournisseurdet ADD COLUMN rang integer DEFAULT 0; +ALTER TABLE llx_commande_fournisseurdet ADD COLUMN fk_parent_line integer NULL after fk_commande; + +ALTER TABLE llx_projet ADD COLUMN date_close datetime DEFAULT NULL; +ALTER TABLE llx_projet ADD COLUMN fk_user_close integer DEFAULT NULL; + + + +-- Module AskPriceSupplier -- +CREATE TABLE llx_askpricesupplier ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref varchar(30) NOT NULL, + entity integer NOT NULL DEFAULT '1', + ref_ext varchar(255) DEFAULT NULL, + ref_int varchar(255) DEFAULT NULL, + fk_soc integer DEFAULT NULL, + fk_projet integer DEFAULT NULL, + tms timestamp, + datec datetime DEFAULT NULL, + date_valid datetime DEFAULT NULL, + date_cloture datetime DEFAULT NULL, + fk_user_author integer DEFAULT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_valid integer DEFAULT NULL, + fk_user_cloture integer DEFAULT NULL, + fk_statut smallint NOT NULL DEFAULT '0', + price double DEFAULT '0', + remise_percent double DEFAULT '0', + remise_absolue double DEFAULT '0', + remise double DEFAULT '0', + total_ht double(24,8) DEFAULT 0, + tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, + localtax2 double(24,8) DEFAULT 0, + total double(24,8) DEFAULT 0, + fk_account integer DEFAULT NULL, + fk_currency varchar(3) DEFAULT NULL, + fk_cond_reglement integer DEFAULT NULL, + fk_mode_reglement integer DEFAULT NULL, + note_private text, + note_public text, + model_pdf varchar(255) DEFAULT NULL, + date_livraison date DEFAULT NULL, + fk_shipping_method integer DEFAULT NULL, + import_key varchar(14) DEFAULT NULL, + extraparams varchar(255) DEFAULT NULL +) ENGINE=innodb; + +CREATE TABLE llx_askpricesupplierdet ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + fk_askpricesupplier integer NOT NULL, + fk_parent_line integer DEFAULT NULL, + fk_product integer DEFAULT NULL, + label varchar(255) DEFAULT NULL, + description text, + fk_remise_except integer DEFAULT NULL, + tva_tx double(6,3) DEFAULT 0, + localtax1_tx double(6,3) DEFAULT 0, + localtax1_type varchar(10) DEFAULT NULL, + localtax2_tx double(6,3) DEFAULT 0, + localtax2_type varchar(10) DEFAULT NULL, + qty double DEFAULT NULL, + remise_percent double DEFAULT '0', + remise double DEFAULT '0', + price double DEFAULT NULL, + subprice double(24,8) DEFAULT 0, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + total_localtax1 double(24,8) DEFAULT 0, + total_localtax2 double(24,8) DEFAULT 0, + total_ttc double(24,8) DEFAULT 0, + product_type integer DEFAULT 0, + info_bits integer DEFAULT 0, + buy_price_ht double(24,8) DEFAULT 0, + fk_product_fournisseur_price integer DEFAULT NULL, + special_code integer DEFAULT 0, + rang integer DEFAULT 0, + ref_fourn varchar(30) DEFAULT NULL +) ENGINE=innodb; + +CREATE TABLE llx_askpricesupplier_extrafields ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=innodb; + +CREATE TABLE llx_askpricesupplierdet_extrafields ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=innodb; +-- End Module AskPriceSupplier -- + + +ALTER TABLE llx_commande_fournisseur ADD COLUMN date_approve2 datetime after date_approve; +ALTER TABLE llx_commande_fournisseur ADD COLUMN fk_user_approve2 integer after fk_user_approve; + +ALTER TABLE llx_societe ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_societe ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_propal ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_propal ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_commande ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_commande ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_commande_fournisseur ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_commande_fournisseur ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_facture ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_facture ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_facture_fourn ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_facture_fourn ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_expedition ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_expedition ADD COLUMN location_incoterms varchar(255); +ALTER TABLE llx_livraison ADD COLUMN fk_incoterms integer; +ALTER TABLE llx_livraison ADD COLUMN location_incoterms varchar(255); + +CREATE TABLE llx_c_incoterms ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(3) NOT NULL, + libelle varchar(255) NOT NULL, + active tinyint DEFAULT 1 NOT NULL +) ENGINE=innodb; + +ALTER TABLE llx_c_incoterms ADD UNIQUE INDEX uk_c_incoterms (code); + +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('EXW', 'Ex Works, au départ non chargé, non dédouané sortie d''usine (uniquement adapté aux flux domestiques, nationaux)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FCA', 'Free Carrier, marchandises dédouanées et chargées dans le pays de départ, chez le vendeur ou chez le commissionnaire de transport de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FAS', 'Free Alongside Ship, sur le quai du port de départ', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('FOB', 'Free On Board, chargé sur le bateau, les frais de chargement dans celui-ci étant fonction du liner term indiqué par la compagnie maritime (à la charge du vendeur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CFR', 'Cost and Freight, chargé dans le bateau, livraison au port de départ, frais payés jusqu''au port d''arrivée, sans assurance pour le transport, non déchargé du navire à destination (les frais de déchargement sont inclus ou non au port d''arrivée)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CIF', 'Cost, Insurance and Freight, chargé sur le bateau, frais jusqu''au port d''arrivée, avec l''assurance marchandise transportée souscrite par le vendeur pour le compte de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CPT', 'Carriage Paid To, livraison au premier transporteur, frais jusqu''au déchargement du mode de transport, sans assurance pour le transport', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('CIP', 'Carriage and Insurance Paid to, idem CPT, avec assurance marchandise transportée souscrite par le vendeur pour le compte de l''acheteur', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DAT', 'Delivered At Terminal, marchandises (déchargées) livrées sur quai, dans un terminal maritime, fluvial, aérien, routier ou ferroviaire désigné (dédouanement import, et post-acheminement payés par l''acheteur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DAP', 'Delivered At Place, marchandises (non déchargées) mises à disposition de l''acheteur dans le pays d''importation au lieu précisé dans le contrat (déchargement, dédouanement import payé par l''acheteur)', 1); +INSERT INTO llx_c_incoterms (code, libelle, active) VALUES ('DDP', 'Delivered Duty Paid, marchandises (non déchargées) livrées à destination finale, dédouanement import et taxes à la charge du vendeur ; l''acheteur prend en charge uniquement le déchargement (si exclusion des taxes type TVA, le préciser clairement)', 1); + +-- Extrafields fk_object must be unique (1-1 relation) +ALTER TABLE llx_societe_extrafields DROP INDEX idx_societe_extrafields; +ALTER TABLE llx_societe_extrafields ADD UNIQUE INDEX uk_societe_extrafields (fk_object); + +-- Module Donation +ALTER TABLE llx_don ADD COLUMN fk_country integer NOT NULL after country; +ALTER TABLE llx_don CHANGE COLUMN fk_paiement fk_payment integer; +ALTER TABLE llx_don ADD COLUMN paid smallint default 0 NOT NULL after fk_payment; +ALTER TABLE llx_don CHANGE COLUMN fk_don_projet fk_projet integer NULL; +ALTER TABLE llx_don CHANGE COLUMN fk_project fk_projet integer NULL; + +create table llx_don_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_don_extrafields ADD INDEX idx_don_extrafields (fk_object); + +create table llx_payment_donation +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_donation integer, + datec datetime, -- date de creation + tms timestamp, + datep datetime, -- payment date + amount real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note text, + fk_bank integer NOT NULL, + fk_user_creat integer, -- creation user + fk_user_modif integer -- last modification user +)ENGINE=innodb; + +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_VALIDATE','Customer invoice validated','Executed when a customer invoice is approved','facture',6); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_APPROVE','Supplier order request approved','Executed when a supplier order is approved','order_supplier',12); +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_VALIDATE','Customer order validate','Executed when a customer order is validated','commande',4); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_VALIDATE','Customer proposal validated','Executed when a commercial proposal is validated','propal',2); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('COMPANY_SENTBYMAIL','Mails sent from third party card','Executed when you send email from third party card','societe',1); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('COMPANY_CREATE','Third party created','Executed when a third party is created','societe',1); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('CONTRACT_VALIDATE','Contract validated','Executed when a contract is validated','contrat',18); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_SENTBYMAIL','Commercial proposal sent by mail','Executed when a commercial proposal is sent by mail','propal',3); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SENTBYMAIL','Customer order sent by mail','Executed when a customer order is sent by mail ','commande',5); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_PAYED','Customer invoice payed','Executed when a customer invoice is payed','facture',7); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_CANCEL','Customer invoice canceled','Executed when a customer invoice is conceled','facture',8); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_SENTBYMAIL','Customer invoice sent by mail','Executed when a customer invoice is sent by mail','facture',9); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('ORDER_SUPPLIER_VALIDATE','Supplier order validated','Executed when a supplier order is validated','order_supplier',11); +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 ('BILL_SUPPLIER_VALIDATE','Supplier invoice validated','Executed when a supplier invoice is validated','invoice_supplier',15); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_SUPPLIER_PAYED','Supplier invoice payed','Executed when a supplier invoice is payed','invoice_supplier',16); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_SUPPLIER_SENTBYMAIL','Supplier invoice sent by mail','Executed when a supplier invoice is sent by mail','invoice_supplier',17); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_SUPPLIER_CANCELED','Supplier invoice cancelled','Executed when a supplier invoice is cancelled','invoice_supplier',17); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('SHIPPING_VALIDATE','Shipping validated','Executed when a shipping is validated','shipping',20); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('SHIPPING_SENTBYMAIL','Shipping sent by mail','Executed when a shipping is sent by mail','shipping',21); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_VALIDATE','Member validated','Executed when a member is validated','member',22); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_SUBSCRIPTION','Member subscribed','Executed when a member is subscribed','member',23); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_RESILIATE','Member resiliated','Executed when a member is resiliated','member',24); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_MODIFY','Member modified','Executed when a member is modified','member',24); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('MEMBER_DELETE','Member deleted','Executed when a member is deleted','member',25); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('BILL_UNVALIDATE','Customer invoice unvalidated','Executed when a customer invoice status set back to draft','facture',10); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_VALIDATE','Intervention validated','Executed when a intervention is validated','ficheinter',19); +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',19); +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',19); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_REOPEN','Intervention opened','Executed when a intervention is re-opened','ficheinter',19); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('FICHINTER_SENTBYMAIL','Intervention sent by mail','Executed when a intervention is sent by mail','ficheinter',19); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROJECT_CREATE','Project creation','Executed when a project is created','project',30); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLOSE_SIGNED','Customer proposal closed signed','Executed when a customer proposal is closed signed','propal',2); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLOSE_REFUSED','Customer proposal closed refused','Executed when a customer proposal is closed refused','propal',2); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('PROPAL_CLASSIFY_BILLED','Customer proposal set billed','Executed when a customer proposal is set to billed','propal',2); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_CREATE','Task created','Executed when a project task is created','project',35); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_MODIFY','Task modified','Executed when a project task is modified','project',36); +insert into llx_c_action_trigger (code,label,description,elementtype,rang) values ('TASK_DELETE','Task deleted','Executed when a project task is deleted','project',37); + +create table llx_c_price_global_variable +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(20) NOT NULL, + description text DEFAULT NULL, + value double(24,8) DEFAULT 0 +)ENGINE=innodb; + +create table llx_c_price_global_variable_updater +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + type integer NOT NULL, + description text DEFAULT NULL, + parameters text DEFAULT NULL, + fk_variable integer NOT NULL, + update_interval integer DEFAULT 0, + next_update integer DEFAULT 0, + last_status text DEFAULT NULL +)ENGINE=innodb; + +ALTER TABLE llx_adherent CHANGE COLUMN note note_private text DEFAULT NULL; +ALTER TABLE llx_adherent ADD COLUMN note_public text DEFAULT NULL after note_private; + +CREATE TABLE IF NOT EXISTS llx_propal_merge_pdf_product ( + rowid integer NOT NULL auto_increment PRIMARY KEY, + fk_product integer NOT NULL, + file_name varchar(200) NOT NULL, + lang varchar(5) DEFAULT NULL, + fk_user_author integer DEFAULT NULL, + fk_user_mod integer NOT NULL, + datec datetime NOT NULL, + tms timestamp NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=InnoDB; + + +-- Units +create table llx_c_units( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(3), + label varchar(50), + short_label varchar(5), + active tinyint DEFAULT 1 NOT NULL +)ENGINE=innodb; +ALTER TABLE llx_c_units ADD UNIQUE uk_c_units_code(code); + +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('P','piece','p', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('SET','set','se', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('S','second','s', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('H','hour','h', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('D','day','d', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('KG','kilogram','kg', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('G','gram','g', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M','meter','m', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('LM','linear meter','lm', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M2','square meter','m2', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('M3','cubic meter','m3', 1); +INSERT INTO llx_c_units ( code, label, short_label, active) VALUES ('L','liter','l', 1); + +alter table llx_product add fk_unit integer default NULL; +ALTER TABLE llx_product ADD CONSTRAINT fk_product_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_facturedet_rec add fk_unit integer default NULL; +ALTER TABLE llx_facturedet_rec ADD CONSTRAINT fk_facturedet_rec_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_facturedet add fk_unit integer default NULL; +ALTER TABLE llx_facturedet ADD CONSTRAINT fk_facturedet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_propaldet add fk_unit integer default NULL; +ALTER TABLE llx_propaldet ADD CONSTRAINT fk_propaldet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_commandedet add fk_unit integer default NULL; +ALTER TABLE llx_commandedet ADD CONSTRAINT fk_commandedet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_contratdet add fk_unit integer default NULL; +ALTER TABLE llx_contratdet ADD CONSTRAINT fk_contratdet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_commande_fournisseurdet add fk_unit integer default NULL; +ALTER TABLE llx_commande_fournisseurdet ADD CONSTRAINT fk_commande_fournisseurdet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + +alter table llx_facture_fourn_det add fk_unit integer default NULL; +ALTER TABLE llx_facture_fourn_det ADD CONSTRAINT fk_facture_fourn_det_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); + + + + +-- Feature request: A page to merge two thirdparties into one #2613 +ALTER TABLE llx_categorie_societe DROP FOREIGN KEY fk_categorie_societe_fk_soc; +ALTER TABLE llx_categorie_societe CHANGE COLUMN fk_societe fk_soc INTEGER NOT NULL; +ALTER TABLE llx_categorie_societe ADD CONSTRAINT fk_categorie_societe_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); + +ALTER TABLE llx_categorie_fournisseur DROP FOREIGN KEY fk_categorie_fournisseur_fk_soc; +ALTER TABLE llx_categorie_fournisseur CHANGE COLUMN fk_societe fk_soc INTEGER NOT NULL; +ALTER TABLE llx_categorie_fournisseur ADD CONSTRAINT fk_categorie_fournisseur_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); + +ALTER TABLE llx_user DROP INDEX uk_user_fk_societe; +ALTER TABLE llx_user DROP INDEX idx_user_fk_societe; +ALTER TABLE llx_user CHANGE COLUMN fk_societe fk_soc INTEGER; +ALTER TABLE llx_user ADD INDEX idx_user_fk_societe (fk_soc); + +ALTER TABLE llx_user ADD gender VARCHAR(10); + +-- API module +ALTER TABLE llx_user ADD api_key VARCHAR(128) DEFAULT NULL AFTER pass_temp; +ALTER TABLE llx_user ADD INDEX idx_user_api_key (api_key); + +-- Deprecated fields +ALTER TABLE llx_actioncomm DROP COLUMN datea; +ALTER TABLE llx_actioncomm DROP INDEX idx_actioncomm_datea; +ALTER TABLE llx_actioncomm DROP COLUMN datea2; + +-- Email tracking +ALTER TABLE llx_actioncomm ADD COLUMN email_msgid varchar(256); +ALTER TABLE llx_actioncomm ADD COLUMN email_from varchar(256); +ALTER TABLE llx_actioncomm ADD COLUMN email_sender varchar(256); +ALTER TABLE llx_actioncomm ADD COLUMN email_to varchar(256); +ALTER TABLE llx_actioncomm ADD COLUMN errors_to varchar(256); + +-- Recurring events +ALTER TABLE llx_actioncomm ADD COLUMN recurid varchar(128); +ALTER TABLE llx_actioncomm ADD COLUMN recurrule varchar(128); +ALTER TABLE llx_actioncomm ADD COLUMN recurdateend datetime; + +ALTER TABLE llx_c_stcomm ADD COLUMN picto varchar(128); + +-- New trigger for Supplier invoice unvalidation +INSERT INTO llx_c_action_trigger (code, label, description, elementtype, rang) VALUES ('BILL_SUPPLIER_UNVALIDATE','Supplier invoice unvalidated','Executed when a supplier invoice status is set back to draft','invoice_supplier',15); + + +ALTER TABLE llx_holiday_users DROP PRIMARY KEY; + +DROP TABLE llx_holiday_types; + +CREATE TABLE llx_c_holiday_types ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + code varchar(16) NOT NULL, + label varchar(255) NOT NULL, + affect integer NOT NULL, + delay integer NOT NULL, + newByMonth double(8,5) DEFAULT 0 NOT NULL, + fk_country integer DEFAULT NULL, + active integer DEFAULT 1 +) ENGINE=innodb; + +ALTER TABLE llx_c_holiday_types ADD UNIQUE INDEX uk_c_holiday_types(code); + +insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country) values ('LEAVE_PAID', 'Paid vacation', 1, 7, 0, NULL); +insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country) values ('LEAVE_SICK', 'Sick leave', 0, 0, 0, NULL); +insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country) values ('LEAVE_OTHER','Other leave', 0, 0, 0, NULL); +-- Leaves specific to France +insert into llx_c_holiday_types(code, label, affect, delay, newByMonth, fk_country) values ('LEAVE_RTT', 'RTT' , 1, 7, 0.83, 1); + +ALTER TABLE llx_holiday ADD COLUMN fk_type integer NOT NULL DEFAULT 1; +ALTER TABLE llx_holiday_users ADD COLUMN fk_type integer NOT NULL DEFAULT 1; +ALTER TABLE llx_holiday_logs ADD COLUMN fk_type integer NOT NULL DEFAULT 1; + +UPDATE llx_holiday_users SET fk_type = 1 WHERE fk_type IS NULL; +UPDATE llx_holiday_logs SET fk_type = 1 WHERE fk_type IS NULL; + +UPDATE llx_const SET name = __ENCRYPT('ACCOUNTING_VAT_SOLD_ACCOUNT')__ WHERE __DECRYPT('name')__ = 'ACCOUNTING_VAT_ACCOUNT'; diff --git a/htdocs/install/mysql/migration/repair.sql b/htdocs/install/mysql/migration/repair.sql index c0aeda5b671..98fba06950d 100755 --- a/htdocs/install/mysql/migration/repair.sql +++ b/htdocs/install/mysql/migration/repair.sql @@ -73,6 +73,18 @@ delete from llx_livraisondet where fk_livraison not in (select fk_target from ll delete from llx_livraison where rowid not in (select fk_target from llx_element_element where targettype = 'delivery') AND rowid not in (select fk_source from llx_element_element where sourcetype = 'delivery'); +-- Fix delete element_element orphelins (right side) +delete from llx_element_element where targettype='shipping' and fk_target not in (select rowid from llx_expedition); +delete from llx_element_element where targettype='propal' and fk_target not in (select rowid from llx_propal); +delete from llx_element_element where targettype='facture' and fk_target not in (select rowid from llx_facture); +delete from llx_element_element where targettype='commande' and fk_target not in (select rowid from llx_commande); +-- Fix delete element_element orphelins (left side) +delete from llx_element_element where sourcetype='shipping' and fk_source not in (select rowid from llx_expedition); +delete from llx_element_element where sourcetype='propal' and fk_source not in (select rowid from llx_propal); +delete from llx_element_element where sourcetype='facture' and fk_source not in (select rowid from llx_facture); +delete from llx_element_element where sourcetype='commande' and fk_source not in (select rowid from llx_commande); + + UPDATE llx_product SET canvas = NULL where canvas = 'default@product'; UPDATE llx_product SET canvas = NULL where canvas = 'service@product'; diff --git a/htdocs/install/mysql/tables/llx_actioncomm.key.sql b/htdocs/install/mysql/tables/llx_actioncomm.key.sql index 1da34c65bab..64162dbbc73 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.key.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.key.sql @@ -18,7 +18,6 @@ -- =========================================================================== -ALTER TABLE llx_actioncomm ADD INDEX idx_actioncomm_datea (datea); ALTER TABLE llx_actioncomm ADD INDEX idx_actioncomm_fk_soc (fk_soc); ALTER TABLE llx_actioncomm ADD INDEX idx_actioncomm_fk_contact (fk_contact); ALTER TABLE llx_actioncomm ADD INDEX idx_actioncomm_code (code); diff --git a/htdocs/install/mysql/tables/llx_actioncomm.sql b/htdocs/install/mysql/tables/llx_actioncomm.sql index f68d99f6a72..62eaae22e6f 100644 --- a/htdocs/install/mysql/tables/llx_actioncomm.sql +++ b/htdocs/install/mysql/tables/llx_actioncomm.sql @@ -24,15 +24,12 @@ create table llx_actioncomm ( id integer AUTO_INCREMENT PRIMARY KEY, ref_ext varchar(128), - entity integer DEFAULT 1 NOT NULL, -- multi company id + entity integer DEFAULT 1 NOT NULL, -- multi company id datep datetime, -- date start datep2 datetime, -- date end - datea datetime, -- deprecated - datea2 datetime, -- deprecated - fk_action integer, -- type of action (optional link with llx_c_actioncomm or null) - code varchar(32) NULL, -- code of action for automatic action - label varchar(128) NOT NULL, -- label/title of event + fk_action integer, -- type of action (optional link with id in llx_c_actioncomm or null) + code varchar(32) NULL, -- code of action for automatic action ('AC_OTH_AUTO' for automatic actions, 'AC_EMAILIN_AUTO' for email input, 'AC_xxx' for manual action...) datec datetime, -- date creation tms timestamp, -- date modification @@ -43,21 +40,31 @@ create table llx_actioncomm fk_soc integer, fk_contact integer, fk_parent integer NOT NULL default 0, - - fk_user_action integer, -- user id of owner of action (currently also user id of actor that must do action. In future, actors assigned to action will be an array into table llx_actioncomm_resources) - transparency integer, -- transparency (ical standard). used to say if user assigned to event are busy or not by event (in future version, this field is deprecated and will be stored into table llx_actioncomm_resources) - + fk_user_action integer, -- user id of owner of action (note that assigned users to event are store into another table) fk_user_done integer, -- user id of user that has made action (deprecated) - - priority smallint, - fulldayevent smallint NOT NULL default 0, - punctual smallint NOT NULL default 1, -- deprecated. milestone is event with date start = date end + + transparency integer, -- transparency (ical standard). used to say if user assigned to event are busy or not by event. This field may be deprecated if we want to store transparency for each assigned user, so into table llx_actioncomm_resources. + + priority smallint, -- priority (ical standard) + fulldayevent smallint NOT NULL default 0, -- priority (ical standard) + punctual smallint NOT NULL default 1, -- deprecated. milestone is event with date start (datep) = date end (datep2) percent smallint NOT NULL default 0, location varchar(128), durationp real, -- planed duration - durationa real, -- deprecated - note text, + + label varchar(256) NOT NULL, -- label/title of event or topic of email + note text, -- note of event or content of email + email_msgid varchar(256), -- when event was an email, we store here the msgid + email_from varchar(256), -- when event was an email, we store here the from + email_sender varchar(256), -- when event was an email, we store here the sender + email_to varchar(256), -- when event was an email, we store here the email_to + errors_to varchar(256), -- when event was an email, we store here the erros_to + + recurid varchar(128), -- used to store event id to link all recurring event records each other + recurrule varchar(128), -- contains string with ical format recurring rule like "FREQ=MONTHLY;INTERVAL=2;BYMONTHDAY=19" or "FREQ=WEEKLY;BYDAY=MO" + recurdateend datetime, + fk_element integer DEFAULT NULL, elementtype varchar(32) DEFAULT NULL diff --git a/htdocs/install/mysql/tables/llx_adherent.sql b/htdocs/install/mysql/tables/llx_adherent.sql index e7f9c246834..493d5b1124d 100644 --- a/htdocs/install/mysql/tables/llx_adherent.sql +++ b/htdocs/install/mysql/tables/llx_adherent.sql @@ -54,7 +54,8 @@ create table llx_adherent statut smallint NOT NULL DEFAULT 0, public smallint NOT NULL DEFAULT 0, -- certain champ de la fiche sont ils public ou pas ? datefin datetime, -- date de fin de validite de la cotisation - note text, + note_private text DEFAULT NULL, + note_public text DEFAULT NULL, datevalid datetime, -- date de validation datec datetime, -- date de creation tms timestamp, -- date de modification diff --git a/htdocs/install/mysql/tables/llx_askpricesupplier.sql b/htdocs/install/mysql/tables/llx_askpricesupplier.sql new file mode 100644 index 00000000000..ff62595bd0b --- /dev/null +++ b/htdocs/install/mysql/tables/llx_askpricesupplier.sql @@ -0,0 +1,55 @@ +-- ======================================================================== +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- ======================================================================== + +CREATE TABLE llx_askpricesupplier ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref varchar(30) NOT NULL, + entity integer NOT NULL DEFAULT '1', + ref_ext varchar(255) DEFAULT NULL, + ref_int varchar(255) DEFAULT NULL, + fk_soc integer DEFAULT NULL, + fk_projet integer DEFAULT NULL, + tms timestamp, + datec datetime DEFAULT NULL, + date_valid datetime DEFAULT NULL, + date_cloture datetime DEFAULT NULL, + fk_user_author integer DEFAULT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_valid integer DEFAULT NULL, + fk_user_cloture integer DEFAULT NULL, + fk_statut smallint NOT NULL DEFAULT '0', + price double DEFAULT '0', + remise_percent double DEFAULT '0', + remise_absolue double DEFAULT '0', + remise double DEFAULT '0', + total_ht double(24,8) DEFAULT 0, + tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, + localtax2 double(24,8) DEFAULT 0, + total double(24,8) DEFAULT 0, + fk_account integer DEFAULT NULL, + fk_currency varchar(3) DEFAULT NULL, + fk_cond_reglement integer DEFAULT NULL, + fk_mode_reglement integer DEFAULT NULL, + note_private text, + note_public text, + model_pdf varchar(255) DEFAULT NULL, + date_livraison date DEFAULT NULL, + fk_shipping_method integer DEFAULT NULL, + import_key varchar(14) DEFAULT NULL, + extraparams varchar(255) DEFAULT NULL +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_askpricesupplier_extrafields.sql b/htdocs/install/mysql/tables/llx_askpricesupplier_extrafields.sql new file mode 100644 index 00000000000..4552b4d0079 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_askpricesupplier_extrafields.sql @@ -0,0 +1,23 @@ +-- ======================================================================== +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- ======================================================================== + +CREATE TABLE llx_askpricesupplier_extrafields ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_askpricesupplierdet.sql b/htdocs/install/mysql/tables/llx_askpricesupplierdet.sql new file mode 100644 index 00000000000..5755fdcb83f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_askpricesupplierdet.sql @@ -0,0 +1,48 @@ +-- ======================================================================== +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- ======================================================================== + +CREATE TABLE llx_askpricesupplierdet ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + fk_askpricesupplier integer NOT NULL, + fk_parent_line integer DEFAULT NULL, + fk_product integer DEFAULT NULL, + label varchar(255) DEFAULT NULL, + description text, + fk_remise_except integer DEFAULT NULL, + tva_tx double(6,3) DEFAULT 0, + localtax1_tx double(6,3) DEFAULT 0, + localtax1_type varchar(10) DEFAULT NULL, + localtax2_tx double(6,3) DEFAULT 0, + localtax2_type varchar(10) DEFAULT NULL, + qty double DEFAULT NULL, + remise_percent double DEFAULT '0', + remise double DEFAULT '0', + price double DEFAULT NULL, + subprice double(24,8) DEFAULT 0, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + total_localtax1 double(24,8) DEFAULT 0, + total_localtax2 double(24,8) DEFAULT 0, + total_ttc double(24,8) DEFAULT 0, + product_type integer DEFAULT 0, + info_bits integer DEFAULT 0, + buy_price_ht double(24,8) DEFAULT 0, + fk_product_fournisseur_price integer DEFAULT NULL, + special_code integer DEFAULT 0, + rang integer DEFAULT 0, + ref_fourn varchar(30) DEFAULT NULL +) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_askpricesupplierdet_extrafields.sql b/htdocs/install/mysql/tables/llx_askpricesupplierdet_extrafields.sql new file mode 100644 index 00000000000..7bfab6e408c --- /dev/null +++ b/htdocs/install/mysql/tables/llx_askpricesupplierdet_extrafields.sql @@ -0,0 +1,24 @@ +-- ======================================================================== +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- ======================================================================== + +CREATE TABLE llx_askpricesupplierdet_extrafields ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_bank.key.sql b/htdocs/install/mysql/tables/llx_bank.key.sql index cab5f200234..8eb2e963a32 100644 --- a/htdocs/install/mysql/tables/llx_bank.key.sql +++ b/htdocs/install/mysql/tables/llx_bank.key.sql @@ -20,5 +20,7 @@ ALTER TABLE llx_bank ADD INDEX idx_bank_datev(datev); ALTER TABLE llx_bank ADD INDEX idx_bank_dateo(dateo); ALTER TABLE llx_bank ADD INDEX idx_bank_fk_account(fk_account); ALTER TABLE llx_bank ADD INDEX idx_bank_rappro(rappro); +ALTER TABLE llx_bank ADD INDEX idx_bank_num_releve(num_releve); + diff --git a/htdocs/install/mysql/tables/llx_bank_account_extrafields.key.sql b/htdocs/install/mysql/tables/llx_bank_account_extrafields.key.sql new file mode 100644 index 00000000000..0f6e8052115 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_bank_account_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2014 Florian Henry +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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_bank_account_extrafields ADD INDEX idx_bank_account_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_bank_account_extrafields.sql b/htdocs/install/mysql/tables/llx_bank_account_extrafields.sql new file mode 100644 index 00000000000..97b1508237c --- /dev/null +++ b/htdocs/install/mysql/tables/llx_bank_account_extrafields.sql @@ -0,0 +1,26 @@ +-- ======================================================================== +-- Copyright (C) 2014 Florian Henry +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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_bank_account_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_c_action_trigger.sql b/htdocs/install/mysql/tables/llx_c_action_trigger.sql index fa8052d77f9..cbec0c81437 100644 --- a/htdocs/install/mysql/tables/llx_c_action_trigger.sql +++ b/htdocs/install/mysql/tables/llx_c_action_trigger.sql @@ -22,9 +22,9 @@ create table llx_c_action_trigger ( rowid integer AUTO_INCREMENT PRIMARY KEY, + elementtype varchar(16) NOT NULL, code varchar(32) NOT NULL, label varchar(128) NOT NULL, description varchar(255), - elementtype varchar(16) NOT NULL, rang integer DEFAULT 0 )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_holiday_types.sql b/htdocs/install/mysql/tables/llx_c_holiday_types.key.sql old mode 100755 new mode 100644 similarity index 64% rename from htdocs/install/mysql/tables/llx_holiday_types.sql rename to htdocs/install/mysql/tables/llx_c_holiday_types.key.sql index d49a79f5748..854742695a8 --- a/htdocs/install/mysql/tables/llx_holiday_types.sql +++ b/htdocs/install/mysql/tables/llx_c_holiday_types.key.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2014 Laurent Destailleur +-- Copyright (C) 2012 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 @@ -16,15 +16,4 @@ -- -- =================================================================== -CREATE TABLE llx_holiday_types ( - rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, - label varchar(45) NOT NULL, - description varchar(255) NOT NULL, - affect integer NOT NULL, - delay integer NOT NULL, - insertAt DATETIME NOT NULL, - updateAt DATETIME, - deleteAt DATETIME, - nbCongesDeducted varchar(255) NOT NULL, - nbCongesEveryMonth varchar(255) NOT NULL -) ENGINE=innodb; +ALTER TABLE llx_c_holiday_types ADD UNIQUE INDEX uk_c_holiday_types(code); diff --git a/htdocs/install/mysql/tables/llx_c_holiday_types.sql b/htdocs/install/mysql/tables/llx_c_holiday_types.sql new file mode 100755 index 00000000000..6bd375b6d1f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_holiday_types.sql @@ -0,0 +1,28 @@ +-- =================================================================== +-- Copyright (C) 2014-2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +CREATE TABLE llx_c_holiday_types ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + code varchar(16) NOT NULL, + 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 + 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_c_incoterms.key.sql b/htdocs/install/mysql/tables/llx_c_incoterms.key.sql new file mode 100644 index 00000000000..65614a90c4d --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_incoterms.key.sql @@ -0,0 +1,19 @@ +-- ======================================================================== +-- Copyright (C) 2009 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 . +-- +-- ======================================================================== + +ALTER TABLE llx_c_incoterms ADD UNIQUE INDEX uk_c_incoterms (code); diff --git a/htdocs/install/mysql/tables/llx_c_incoterms.sql b/htdocs/install/mysql/tables/llx_c_incoterms.sql new file mode 100644 index 00000000000..c960f0fab2f --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_incoterms.sql @@ -0,0 +1,25 @@ +-- ======================================================================== +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ======================================================================== + +CREATE TABLE llx_c_incoterms ( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(3) NOT NULL, + libelle varchar(255) NOT NULL, + active tinyint DEFAULT 1 NOT NULL +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_c_price_expression.sql b/htdocs/install/mysql/tables/llx_c_price_expression.sql new file mode 100755 index 00000000000..4c1788e4276 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_price_expression.sql @@ -0,0 +1,24 @@ +-- ============================================================================ +-- Copyright (C) 2014 Ion agorria +-- +-- 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_c_price_expression +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + title varchar(20) NOT NULL, + expression varchar(80) NOT NULL +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_c_price_global_variable.sql b/htdocs/install/mysql/tables/llx_c_price_global_variable.sql new file mode 100644 index 00000000000..0f5630ed193 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_price_global_variable.sql @@ -0,0 +1,25 @@ +-- ============================================================================ +-- Copyright (C) 2015 Ion agorria +-- +-- 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_c_price_global_variable +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(20) NOT NULL, + description text DEFAULT NULL, + value double(24,8) DEFAULT 0 +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_c_price_global_variable_updater.sql b/htdocs/install/mysql/tables/llx_c_price_global_variable_updater.sql new file mode 100644 index 00000000000..0c1dcfba701 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_price_global_variable_updater.sql @@ -0,0 +1,29 @@ +-- ============================================================================ +-- Copyright (C) 2015 Ion agorria +-- +-- 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_c_price_global_variable_updater +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + type integer NOT NULL, + description text DEFAULT NULL, + parameters text DEFAULT NULL, + fk_variable integer NOT NULL, + update_interval integer DEFAULT 0, + next_update integer DEFAULT 0, + last_status text DEFAULT NULL +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_c_regions.sql b/htdocs/install/mysql/tables/llx_c_regions.sql index 9c677ee44f7..768a234dbbd 100644 --- a/htdocs/install/mysql/tables/llx_c_regions.sql +++ b/htdocs/install/mysql/tables/llx_c_regions.sql @@ -24,7 +24,7 @@ create table llx_c_regions fk_pays integer NOT NULL, cheflieu varchar(50), tncc integer, - nom varchar(50), + nom varchar(100), active tinyint DEFAULT 1 NOT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_c_stcomm.sql b/htdocs/install/mysql/tables/llx_c_stcomm.sql index 66a56709f21..a9e9d47384c 100644 --- a/htdocs/install/mysql/tables/llx_c_stcomm.sql +++ b/htdocs/install/mysql/tables/llx_c_stcomm.sql @@ -1,6 +1,6 @@ -- ======================================================================== -- Copyright (C) 2001-2002,2004 Rodolphe Quiedeville --- Copyright (C) 2004 Laurent Destailleur +-- Copyright (C) 2004-2015 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -22,6 +22,7 @@ create table llx_c_stcomm id integer PRIMARY KEY, code varchar(12) NOT NULL, libelle varchar(30), + picto varchar(128), active tinyint default 1 NOT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_c_units.key.sql b/htdocs/install/mysql/tables/llx_c_units.key.sql new file mode 100644 index 00000000000..3ec5b9ba6fb --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_units.key.sql @@ -0,0 +1,21 @@ +-- ======================================================================== +-- Copyright (C) 2005 Laurent Destailleur +-- Copyright (C) 2012 Cédric Salvador +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ======================================================================== + + +ALTER TABLE llx_c_units ADD UNIQUE uk_c_units_code(code); diff --git a/htdocs/install/mysql/tables/llx_c_units.sql b/htdocs/install/mysql/tables/llx_c_units.sql new file mode 100644 index 00000000000..44c5b812483 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_c_units.sql @@ -0,0 +1,27 @@ +-- ======================================================================== +-- Copyright (C) 2001-2002,2004 Rodolphe Quiedeville +-- Copyright (C) 2004 Laurent Destailleur +-- Copyright (C) 2012 Cédric Salvador +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ======================================================================== + +create table llx_c_units( + rowid integer AUTO_INCREMENT PRIMARY KEY, + code varchar(3), + label varchar(50), + short_label varchar(5), + active tinyint DEFAULT 1 NOT NULL +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql b/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql index d8e84769cf0..7293c152b9a 100644 --- a/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql +++ b/htdocs/install/mysql/tables/llx_categorie_fournisseur.key.sql @@ -17,9 +17,9 @@ -- -- ============================================================================ -ALTER TABLE llx_categorie_fournisseur ADD PRIMARY KEY pk_categorie_fournisseur (fk_categorie, fk_societe); +ALTER TABLE llx_categorie_fournisseur ADD PRIMARY KEY pk_categorie_fournisseur (fk_categorie, fk_soc); ALTER TABLE llx_categorie_fournisseur ADD INDEX idx_categorie_fournisseur_fk_categorie (fk_categorie); -ALTER TABLE llx_categorie_fournisseur ADD INDEX idx_categorie_fournisseur_fk_societe (fk_societe); +ALTER TABLE llx_categorie_fournisseur ADD INDEX idx_categorie_fournisseur_fk_societe (fk_soc); ALTER TABLE llx_categorie_fournisseur ADD CONSTRAINT fk_categorie_fournisseur_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); -ALTER TABLE llx_categorie_fournisseur ADD CONSTRAINT fk_categorie_fournisseur_fk_soc FOREIGN KEY (fk_societe) REFERENCES llx_societe (rowid); +ALTER TABLE llx_categorie_fournisseur ADD CONSTRAINT fk_categorie_fournisseur_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); diff --git a/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql b/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql index 90df0e6f969..5a270b1fad9 100644 --- a/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_categorie_fournisseur.sql @@ -22,6 +22,6 @@ create table llx_categorie_fournisseur ( fk_categorie integer NOT NULL, - fk_societe integer NOT NULL, + fk_soc integer NOT NULL, import_key varchar(14) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_categorie_societe.key.sql b/htdocs/install/mysql/tables/llx_categorie_societe.key.sql index 6c912acb4c4..17605fc3520 100644 --- a/htdocs/install/mysql/tables/llx_categorie_societe.key.sql +++ b/htdocs/install/mysql/tables/llx_categorie_societe.key.sql @@ -16,9 +16,9 @@ -- -- ============================================================================ -ALTER TABLE llx_categorie_societe ADD PRIMARY KEY pk_categorie_societe (fk_categorie, fk_societe); +ALTER TABLE llx_categorie_societe ADD PRIMARY KEY pk_categorie_societe (fk_categorie, fk_soc); ALTER TABLE llx_categorie_societe ADD INDEX idx_categorie_societe_fk_categorie (fk_categorie); -ALTER TABLE llx_categorie_societe ADD INDEX idx_categorie_societe_fk_societe (fk_societe); +ALTER TABLE llx_categorie_societe ADD INDEX idx_categorie_societe_fk_societe (fk_soc); ALTER TABLE llx_categorie_societe ADD CONSTRAINT fk_categorie_societe_categorie_rowid FOREIGN KEY (fk_categorie) REFERENCES llx_categorie (rowid); -ALTER TABLE llx_categorie_societe ADD CONSTRAINT fk_categorie_societe_fk_soc FOREIGN KEY (fk_societe) REFERENCES llx_societe (rowid); +ALTER TABLE llx_categorie_societe ADD CONSTRAINT fk_categorie_societe_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); diff --git a/htdocs/install/mysql/tables/llx_categorie_societe.sql b/htdocs/install/mysql/tables/llx_categorie_societe.sql index 6543fc52bc8..c347d40c372 100644 --- a/htdocs/install/mysql/tables/llx_categorie_societe.sql +++ b/htdocs/install/mysql/tables/llx_categorie_societe.sql @@ -20,6 +20,6 @@ create table llx_categorie_societe ( fk_categorie integer NOT NULL, - fk_societe integer NOT NULL, + fk_soc integer NOT NULL, import_key varchar(14) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commande.sql b/htdocs/install/mysql/tables/llx_commande.sql index 90e8fd7af71..3511aa7ec78 100644 --- a/htdocs/install/mysql/tables/llx_commande.sql +++ b/htdocs/install/mysql/tables/llx_commande.sql @@ -40,7 +40,7 @@ create table llx_commande fk_user_modif integer, -- user making last change fk_user_valid integer, -- user validating fk_user_cloture integer, -- user closing - source smallint, + source smallint, -- not used, except by setting this to 42 for orders coming for replenishment and 0 in other case ? fk_statut smallint default 0, amount_ht real default 0, remise_percent real default 0, @@ -62,10 +62,12 @@ create table llx_commande fk_mode_reglement integer, -- mode de reglement date_livraison date default NULL, - fk_shipping_method integer, -- shipping method id + fk_shipping_method integer, -- shipping method id fk_availability integer NULL, - fk_input_reason integer, + fk_input_reason integer, -- id coming from c_input_reason, '0' if no defined fk_delivery_address integer, -- delivery address (deprecated) + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms import_key varchar(14), extraparams varchar(255) -- for stock other parameters with json format diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql index f9f440d0db4..3b1dee31b9e 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql @@ -36,12 +36,14 @@ create table llx_commande_fournisseur date_creation datetime, -- date de creation date_valid datetime, -- date de validation date_approve datetime, -- date de approve + date_approve2 datetime, -- date de approve 2 (when double approving is accivated) date_commande date, -- date de la commande fk_user_author integer, -- user making creation fk_user_modif integer, -- user making last change fk_user_valid integer, -- user validating fk_user_approve integer, -- user approving - source smallint NOT NULL, + fk_user_approve2 integer, -- user approving 2 (when double approving is accivated) + source smallint NOT NULL, -- not used, except by setting this to 42 for orders coming for replenishment and 0 in other case ? fk_statut smallint default 0, amount_ht real default 0, remise_percent real default 0, @@ -59,8 +61,10 @@ create table llx_commande_fournisseur fk_account integer, -- bank account fk_cond_reglement integer, -- condition de reglement fk_mode_reglement integer, -- mode de reglement - fk_input_method integer default 0, + fk_input_method integer default 0, -- id coming from c_input_reason, '0' if no defined + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms import_key varchar(14), extraparams varchar(255) -- for stock other parameters with json format - + )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 1c2cd348a74..789ec3e7a9b 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur_dispatch.sql @@ -14,6 +14,9 @@ -- You should have received a copy of the GNU General Public License -- along with this program. If not, see . -- +-- This table is just an history table to track all receiving done for a +-- particular supplier order. A movement with same information is also done +-- into stock_movement so this table may be useless. -- =================================================================== create table llx_commande_fournisseur_dispatch @@ -25,5 +28,11 @@ create table llx_commande_fournisseur_dispatch qty float, -- qty fk_entrepot integer, fk_user integer, - datec datetime + comment varchar(255), -- comment on movement + batch varchar(30) DEFAULT NULL, + eatby date DEFAULT NULL, + sellby date DEFAULT NULL, + status integer, + datec datetime, + tms timestamp )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet.key.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.key.sql new file mode 100644 index 00000000000..99d953ec17c --- /dev/null +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.key.sql @@ -0,0 +1,19 @@ +-- ============================================================================ +-- Copyright (C) 2015 Marcos García +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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_commande_fournisseurdet ADD CONSTRAINT fk_commande_fournisseurdet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql index ba22f1f8195..a3dbd87d359 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet.sql @@ -2,6 +2,7 @@ -- Copyright (C) 2007 Rodolphe Quiedeville -- Copyright (C) 2007-2009 Laurent Destailleur -- Copyright (C) 2010-2012 Juanjo Menent +-- Copyright (C) 2015 Marcos García -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -22,6 +23,7 @@ create table llx_commande_fournisseurdet ( rowid integer AUTO_INCREMENT PRIMARY KEY, fk_commande integer NOT NULL, + fk_parent_line integer NULL, fk_product integer, ref varchar(50), -- supplier product ref label varchar(255), -- product label @@ -44,5 +46,8 @@ create table llx_commande_fournisseurdet date_start datetime DEFAULT NULL, -- date debut si service date_end datetime DEFAULT NULL, -- date fin si service info_bits integer DEFAULT 0, -- TVA NPR ou non - import_key varchar(14) + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, + import_key varchar(14), + fk_unit integer DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql new file mode 100644 index 00000000000..81e177d4aa3 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.key.sql @@ -0,0 +1,19 @@ +-- ============================================================================ +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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_commande_fournisseurdet_extrafields ADD INDEX idx_commande_fournisseurdet_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql new file mode 100644 index 00000000000..c1ef550b761 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_commande_fournisseurdet_extrafields.sql @@ -0,0 +1,30 @@ +-- =================================================================== +-- Copyright (C) 2004 Rodolphe Quiedeville +-- Copyright (C) 2005-2012 Regis Houssin +-- Copyright (C) 2007 Laurent Destailleur +-- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2013 Florian HENRY +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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_commande_fournisseurdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, + import_key varchar(14) +) ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_commandedet.key.sql b/htdocs/install/mysql/tables/llx_commandedet.key.sql index 4d3f8223f79..21765a6ad1b 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.key.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.key.sql @@ -1,6 +1,7 @@ -- =================================================================== -- Copyright (C) 2006 Laurent Destailleur -- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -22,4 +23,5 @@ ALTER TABLE llx_commandedet ADD INDEX idx_commandedet_fk_commande (fk_commande); ALTER TABLE llx_commandedet ADD INDEX idx_commandedet_fk_product (fk_product); +ALTER TABLE llx_commandedet ADD CONSTRAINT fk_commandedet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); ALTER TABLE llx_commandedet ADD CONSTRAINT fk_commandedet_fk_commande FOREIGN KEY (fk_commande) REFERENCES llx_commande (rowid); diff --git a/htdocs/install/mysql/tables/llx_commandedet.sql b/htdocs/install/mysql/tables/llx_commandedet.sql index 7562b694b99..b01c270cc3e 100644 --- a/htdocs/install/mysql/tables/llx_commandedet.sql +++ b/htdocs/install/mysql/tables/llx_commandedet.sql @@ -3,6 +3,7 @@ -- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2006-2009 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -22,9 +23,9 @@ create table llx_commandedet ( rowid integer AUTO_INCREMENT PRIMARY KEY, - fk_commande integer NOT NULL, - fk_parent_line integer NULL, - fk_product integer NULL, + fk_commande integer NOT NULL, + fk_parent_line integer NULL, + fk_product integer NULL, label varchar(255) DEFAULT NULL, description text, tva_tx double(6,3), -- vat rate @@ -51,8 +52,9 @@ create table llx_commandedet buy_price_ht double(24,8) DEFAULT 0, -- buying price fk_product_fournisseur_price integer DEFAULT NULL, -- reference of supplier price when line was added (may be used to update buy_price_ht current price when future invoice will be created) - special_code integer UNSIGNED DEFAULT 0, -- code pour les lignes speciales + special_code integer DEFAULT 0, -- code pour les lignes speciales rang integer DEFAULT 0, + fk_unit integer DEFAULT NULL, -- lien vers table des unités import_key varchar(14) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_contrat.sql b/htdocs/install/mysql/tables/llx_contrat.sql index 0e75c50305b..73e29e8bdd4 100644 --- a/htdocs/install/mysql/tables/llx_contrat.sql +++ b/htdocs/install/mysql/tables/llx_contrat.sql @@ -23,12 +23,12 @@ create table llx_contrat rowid integer AUTO_INCREMENT PRIMARY KEY, ref varchar(30), -- contrat reference ref_supplier varchar(30), -- suplier contract ref - ref_ext varchar(30), -- external contract ref - entity integer DEFAULT 1 NOT NULL, -- multi company id + ref_ext varchar(30), -- external contract ref + entity integer DEFAULT 1 NOT NULL, -- multi company id tms timestamp, - datec datetime, -- creation date + datec datetime, -- creation date date_contrat datetime, - statut smallint DEFAULT 0, + statut smallint DEFAULT 0, -- not used. deprecated mise_en_service datetime, fin_validite datetime, date_cloture datetime, diff --git a/htdocs/install/mysql/tables/llx_contratdet.key.sql b/htdocs/install/mysql/tables/llx_contratdet.key.sql index e749c09df51..6f65271ebb7 100644 --- a/htdocs/install/mysql/tables/llx_contratdet.key.sql +++ b/htdocs/install/mysql/tables/llx_contratdet.key.sql @@ -27,3 +27,5 @@ ALTER TABLE llx_contratdet ADD INDEX idx_contratdet_date_fin_validite (date_fin_ ALTER TABLE llx_contratdet ADD CONSTRAINT fk_contratdet_fk_contrat FOREIGN KEY (fk_contrat) REFERENCES llx_contrat (rowid); ALTER TABLE llx_contratdet ADD CONSTRAINT fk_contratdet_fk_product FOREIGN KEY (fk_product) REFERENCES llx_product (rowid); + +ALTER TABLE llx_contratdet ADD CONSTRAINT fk_contratdet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); diff --git a/htdocs/install/mysql/tables/llx_contratdet.sql b/htdocs/install/mysql/tables/llx_contratdet.sql index 78091d3a3d9..b4e13fb99c2 100644 --- a/htdocs/install/mysql/tables/llx_contratdet.sql +++ b/htdocs/install/mysql/tables/llx_contratdet.sql @@ -61,6 +61,7 @@ create table llx_contratdet fk_user_author integer NOT NULL DEFAULT 0, fk_user_ouverture integer, fk_user_cloture integer, - commentaire text + commentaire text, + fk_unit integer DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_contratdet_extrafields.key.sql b/htdocs/install/mysql/tables/llx_contratdet_extrafields.key.sql new file mode 100644 index 00000000000..3d2f8546df7 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_contratdet_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2013 Florian Henry +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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_contratdet_extrafields ADD INDEX idx_contratdet_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_contratdet_extrafields.sql b/htdocs/install/mysql/tables/llx_contratdet_extrafields.sql new file mode 100644 index 00000000000..bc06733572e --- /dev/null +++ b/htdocs/install/mysql/tables/llx_contratdet_extrafields.sql @@ -0,0 +1,25 @@ +-- =================================================================== +-- Copyright (C) 2014 Florian Henry +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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_contratdet_extrafields +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + tms timestamp, + fk_object integer NOT NULL, -- object id + import_key varchar(14) -- import key +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_cronjob.sql b/htdocs/install/mysql/tables/llx_cronjob.sql index a7ed4858024..5580b5ab830 100644 --- a/htdocs/install/mysql/tables/llx_cronjob.sql +++ b/htdocs/install/mysql/tables/llx_cronjob.sql @@ -29,7 +29,7 @@ CREATE TABLE llx_cronjob classesname varchar(255), objectname varchar(255), methodename varchar(255), - params text NOT NULL, + params text, md5params varchar(32), module_name varchar(255), priority integer DEFAULT 0, @@ -47,5 +47,6 @@ CREATE TABLE llx_cronjob fk_user_author integer DEFAULT NULL, fk_user_mod integer DEFAULT NULL, note text, - libname varchar(255) + libname varchar(255), + entity integer DEFAULT 0 )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index 259cac22966..f2aa52f073d 100644 --- a/htdocs/install/mysql/tables/llx_don.sql +++ b/htdocs/install/mysql/tables/llx_don.sql @@ -2,6 +2,7 @@ -- Copyright (C) 2001-2002 Rodolphe Quiedeville -- Copyright (C) 2009 Regis Houssin -- Copyright (C) 2011 Laurent Destailleur +-- Copyright (C) 2015 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 @@ -25,23 +26,25 @@ create table llx_don ref varchar(30) DEFAULT NULL, -- Ref donation (TODO change to NOT NULL) entity integer DEFAULT 1 NOT NULL, -- multi company id tms timestamp, - fk_statut smallint NOT NULL DEFAULT 0, -- etat du don promesse/valid - datec datetime, -- date de creation de l'enregistrement - datedon datetime, -- date du don/promesse + fk_statut smallint NOT NULL DEFAULT 0, -- Status of donation promise or validate + datec datetime, -- Create date + datedon datetime, -- Date of the donation/promise amount real DEFAULT 0, - fk_paiement integer, + fk_payment integer, + paid smallint default 0 NOT NULL, firstname varchar(50), lastname varchar(50), societe varchar(50), address text, zip varchar(30), town varchar(50), - country varchar(50), + country varchar(50), -- Deprecated - Replace with fk_country + fk_country integer NOT NULL, email varchar(255), phone varchar(24), phone_mobile varchar(24), - public smallint DEFAULT 1 NOT NULL, -- le don est-il public (0,1) - fk_don_projet integer NULL, -- projet auquel est fait le don + public smallint DEFAULT 1 NOT NULL, -- Donation is public ? (0,1) + fk_projet integer NULL, -- Donation is given for a project ? fk_user_author integer NOT NULL, fk_user_valid integer NULL, note_private text, diff --git a/htdocs/install/mysql/tables/llx_don_extrafields.key.sql b/htdocs/install/mysql/tables/llx_don_extrafields.key.sql new file mode 100644 index 00000000000..592df29f8f9 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_don_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2015 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_don_extrafields ADD INDEX idx_don_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_don_extrafields.sql b/htdocs/install/mysql/tables/llx_don_extrafields.sql new file mode 100644 index 00000000000..b81f31f0c65 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_don_extrafields.sql @@ -0,0 +1,26 @@ +-- ======================================================================== +-- Copyright (C) 2015 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_don_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_expedition.sql b/htdocs/install/mysql/tables/llx_expedition.sql index 0a152b13069..d142a5cc628 100644 --- a/htdocs/install/mysql/tables/llx_expedition.sql +++ b/htdocs/install/mysql/tables/llx_expedition.sql @@ -50,6 +50,8 @@ create table llx_expedition weight float, -- weight note_private text, note_public text, - model_pdf varchar(255) + model_pdf varchar(255), + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255) -- for incoterms )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_expensereport.sql b/htdocs/install/mysql/tables/llx_expensereport.sql new file mode 100755 index 00000000000..2e7e3911f99 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport.sql @@ -0,0 +1,56 @@ +-- ============================================================================ +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ + +CREATE TABLE llx_expensereport ( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + ref varchar(50) NOT NULL, + entity integer DEFAULT 1 NOT NULL, -- multi company id + ref_number_int integer DEFAULT NULL, + ref_ext integer, + total_ht double(24,8) DEFAULT 0, + total_tva double(24,8) DEFAULT 0, + localtax1 double(24,8) DEFAULT 0, -- amount total localtax1 + localtax2 double(24,8) DEFAULT 0, -- amount total localtax2 + total_ttc double(24,8) DEFAULT 0, + date_debut date NOT NULL, + date_fin date NOT NULL, + date_create datetime NOT NULL, + date_valid datetime, + date_approve datetime, + date_refuse datetime, + date_cancel datetime, + tms timestamp, + fk_user_author integer NOT NULL, + fk_user_modif integer DEFAULT NULL, + fk_user_valid integer DEFAULT NULL, + fk_user_validator integer DEFAULT NULL, + fk_user_approve integer DEFAULT NULL, + fk_user_refuse integer DEFAULT NULL, + fk_user_cancel integer DEFAULT NULL, + fk_statut integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé + fk_c_paiement integer DEFAULT NULL, + paid smallint default 0 NOT NULL, + note_public text, + note_private text, + detail_refuse varchar(255) DEFAULT NULL, + detail_cancel varchar(255) DEFAULT NULL, + integration_compta integer DEFAULT NULL, -- not used + fk_bank_account integer DEFAULT NULL, + model_pdf varchar(50) DEFAULT NULL +) ENGINE=innodb; + diff --git a/htdocs/install/mysql/tables/llx_expensereport_det.sql b/htdocs/install/mysql/tables/llx_expensereport_det.sql new file mode 100644 index 00000000000..c5333c4fca5 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_expensereport_det.sql @@ -0,0 +1,45 @@ +-- ============================================================================ +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ + +CREATE TABLE llx_expensereport_det +( + rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, + fk_expensereport integer NOT NULL, + fk_c_type_fees integer NOT NULL, + fk_projet integer, + comments text NOT NULL, + product_type integer DEFAULT -1, + qty real NOT NULL, + value_unit real NOT NULL, + remise_percent real, + tva_tx double(6,3), -- Vat rate + localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate + localtax1_type varchar(10) NULL, -- localtax1 type + localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate + localtax2_type varchar(10) NULL, -- localtax2 type + total_ht double(24,8) DEFAULT 0 NOT NULL, + total_tva double(24,8) DEFAULT 0 NOT NULL, + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_ttc double(24,8) DEFAULT 0 NOT NULL, + date date NOT NULL, + info_bits integer DEFAULT 0, -- TVA NPR ou non + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line + import_key varchar(14) +) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_extrafields.sql b/htdocs/install/mysql/tables/llx_extrafields.sql index f91d21fedb1..21610d07c0e 100644 --- a/htdocs/install/mysql/tables/llx_extrafields.sql +++ b/htdocs/install/mysql/tables/llx_extrafields.sql @@ -29,7 +29,9 @@ create table llx_extrafields size varchar(8) DEFAULT NULL, fieldunique integer DEFAULT 0, fieldrequired integer DEFAULT 0, + perms varchar(255), pos integer DEFAULT 0, alwayseditable integer DEFAULT 0, - param text + param text, + list integer DEFAULT 0 )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_facture.sql b/htdocs/install/mysql/tables/llx_facture.sql index 9757f749cd0..93a376c599c 100644 --- a/htdocs/install/mysql/tables/llx_facture.sql +++ b/htdocs/install/mysql/tables/llx_facture.sql @@ -3,6 +3,8 @@ -- Copyright (C) 2004-2012 Laurent Destailleur -- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Cédric Salvador +-- Copyright (C) 2014 Raphaël Doursenaud -- -- 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 @@ -73,7 +75,14 @@ create table llx_facture note_private text, note_public text, model_pdf varchar(255), + + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms import_key varchar(14), - extraparams varchar(255) -- for stock other parameters with json format + extraparams varchar(255), -- for stock other parameters with json format + + situation_cycle_ref smallint, -- situation cycle reference + situation_counter smallint, -- situation counter + situation_final smallint -- is the situation final ? )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_facture_fourn.sql b/htdocs/install/mysql/tables/llx_facture_fourn.sql index 33773b7a9cb..1e7fa12d565 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn.sql @@ -22,7 +22,7 @@ create table llx_facture_fourn ( rowid integer AUTO_INCREMENT PRIMARY KEY, - ref varchar(255), + ref varchar(255) NOT NULL, ref_supplier varchar(255) NOT NULL, entity integer DEFAULT 1 NOT NULL, -- multi company id @@ -60,12 +60,14 @@ create table llx_facture_fourn fk_projet integer, -- projet auquel est associee la facture fk_account integer, -- bank account - fk_cond_reglement integer, -- condition de reglement (30 jours, fin de mois ...) - fk_mode_reglement integer, -- mode de reglement (CHQ, VIR, ...) - date_lim_reglement date, -- date limite de reglement + fk_cond_reglement integer, -- condition de reglement (30 jours, fin de mois ...) + fk_mode_reglement integer, -- mode de reglement (CHQ, VIR, ...) + date_lim_reglement date, -- date limite de reglement note_private text, note_public text, + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms model_pdf varchar(255), import_key varchar(14), extraparams varchar(255) -- for stock other parameters with json format diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det.key.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det.key.sql index 907f09360a1..2048cf06024 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn_det.key.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det.key.sql @@ -22,3 +22,4 @@ ALTER TABLE llx_facture_fourn_det ADD INDEX idx_facture_fourn_det_fk_facture (fk_facture_fourn); ALTER TABLE llx_facture_fourn_det ADD CONSTRAINT fk_facture_fourn_det_fk_facture FOREIGN KEY (fk_facture_fourn) REFERENCES llx_facture_fourn (rowid); +ALTER TABLE llx_facture_fourn_det ADD CONSTRAINT fk_facture_fourn_det_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det.sql index f0452c9b40e..ad066752ea0 100644 --- a/htdocs/install/mysql/tables/llx_facture_fourn_det.sql +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det.sql @@ -22,6 +22,7 @@ create table llx_facture_fourn_det ( rowid integer AUTO_INCREMENT PRIMARY KEY, fk_facture_fourn integer NOT NULL, + fk_parent_line integer NULL, fk_product integer NULL, ref varchar(50), -- supplier product ref label varchar(255), -- product label @@ -45,5 +46,8 @@ create table llx_facture_fourn_det date_end datetime DEFAULT NULL, -- date fin si service info_bits integer DEFAULT 0, -- TVA NPR ou non fk_code_ventilation integer DEFAULT 0 NOT NULL, - import_key varchar(14) + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, + import_key varchar(14), + fk_unit integer DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql new file mode 100644 index 00000000000..2ba04f4b256 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.key.sql @@ -0,0 +1,20 @@ +-- =================================================================== +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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_facture_fourn_det_extrafields ADD INDEX idx_facture_fourn_det_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql new file mode 100644 index 00000000000..4faca1a4865 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_facture_fourn_det_extrafields.sql @@ -0,0 +1,26 @@ +-- ======================================================================== +-- Copyright (C) 2015 Claudio Aschieri +-- +-- 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_facture_fourn_det_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_facture_rec.sql b/htdocs/install/mysql/tables/llx_facture_rec.sql index cba4b580cf0..7c1151f36ca 100644 --- a/htdocs/install/mysql/tables/llx_facture_rec.sql +++ b/htdocs/install/mysql/tables/llx_facture_rec.sql @@ -50,9 +50,9 @@ create table llx_facture_rec note_private text, note_public text, - usenewprice integer DEFAULT 0, - frequency integer, - unit_frequency varchar(2) DEFAULT 'd', + usenewprice integer DEFAULT 0, -- update invoice with current price of product instead of recorded price + frequency integer, -- frequency (for example: 3 for every 3 month) + unit_frequency varchar(2) DEFAULT 'm', -- 'm' for month (date_when must be a day <= 28), 'y' for year, ... date_when datetime DEFAULT NULL, -- date for next gen (when an invoice is generated, this field must be updated with next date) date_last_gen datetime DEFAULT NULL, -- date for last gen (date with last successfull generation of invoice) diff --git a/htdocs/install/mysql/tables/llx_facturedet.key.sql b/htdocs/install/mysql/tables/llx_facturedet.key.sql index 52c7ec7668d..8a8ecf1da9c 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.key.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.key.sql @@ -1,6 +1,7 @@ -- =================================================================== -- Copyright (C) 2005 Laurent Destailleur -- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -25,3 +26,4 @@ ALTER TABLE llx_facturedet ADD INDEX idx_facturedet_fk_facture (fk_facture); ALTER TABLE llx_facturedet ADD INDEX idx_facturedet_fk_product (fk_product); ALTER TABLE llx_facturedet ADD UNIQUE INDEX uk_fk_remise_except (fk_remise_except, fk_facture); ALTER TABLE llx_facturedet ADD CONSTRAINT fk_facturedet_fk_facture FOREIGN KEY (fk_facture) REFERENCES llx_facture (rowid); +ALTER TABLE llx_facturedet ADD CONSTRAINT fk_facturedet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); diff --git a/htdocs/install/mysql/tables/llx_facturedet.sql b/htdocs/install/mysql/tables/llx_facturedet.sql index 6a328d4688e..63cd9ab3bc1 100644 --- a/htdocs/install/mysql/tables/llx_facturedet.sql +++ b/htdocs/install/mysql/tables/llx_facturedet.sql @@ -3,6 +3,8 @@ -- Copyright (C) 2004-2005 Laurent Destailleur -- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Cédric Salvador +-- Copyright (C) 2014 Raphaël Doursenaud -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -28,7 +30,7 @@ create table llx_facturedet fk_product integer NULL, -- Doit pouvoir etre nul pour ligne detail sans produits label varchar(255) DEFAULT NULL, description text, - tva_tx double(6,3), -- Taux tva produit/service (exemple 19.6) + tva_tx double(6,3), -- Vat rate (example 20%) localtax1_tx double(6,3) DEFAULT 0, -- localtax1 rate localtax1_type varchar(10) NULL, -- localtax1 type localtax2_tx double(6,3) DEFAULT 0, -- localtax2 rate @@ -41,8 +43,8 @@ create table llx_facturedet price double(24,8), -- Deprecated (Do not use) total_ht double(24,8), -- Total HT de la ligne toute quantite et incluant remise ligne et globale total_tva double(24,8), -- Total TVA de la ligne toute quantite et incluant remise ligne et globale - total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line - total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line + total_localtax1 double(24,8) DEFAULT 0, -- Total LocalTax1 for total quantity of line + total_localtax2 double(24,8) DEFAULT 0, -- total LocalTax2 for total quantity of line total_ttc double(24,8), -- Total TTC de la ligne toute quantite et incluant remise ligne et globale product_type integer DEFAULT 0, date_start datetime DEFAULT NULL, -- date debut si service @@ -53,10 +55,14 @@ create table llx_facturedet fk_product_fournisseur_price integer DEFAULT NULL, -- reference of supplier price when line was added (may be used to update buy_price_ht current price when future invoice will be created) fk_code_ventilation integer DEFAULT 0 NOT NULL, - special_code integer UNSIGNED DEFAULT 0, -- code pour les lignes speciales - rang integer DEFAULT 0, -- ordre d'affichage - import_key varchar(14) - + special_code integer DEFAULT 0, -- code pour les lignes speciales + rang integer DEFAULT 0, -- position of line + import_key varchar(14), + + situation_percent real, -- % progression of lines invoicing + fk_prev_id integer, -- id of the line in the previous situation, + fk_unit integer DEFAULT NULL -- id of the unit code¡ + )ENGINE=innodb; -- diff --git a/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql b/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql new file mode 100644 index 00000000000..45619e94727 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_facturedet_rec.key.sql @@ -0,0 +1,21 @@ +-- =================================================================== +-- Copyright (C) 2005 Laurent Destailleur +-- Copyright (C) 2011 Regis Houssin +-- Copyright (C) 2012 Cedric Salvador +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 2 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- =================================================================== + +ALTER TABLE llx_facturedet_rec ADD CONSTRAINT fk_facturedet_rec_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); diff --git a/htdocs/install/mysql/tables/llx_facturedet_rec.sql b/htdocs/install/mysql/tables/llx_facturedet_rec.sql index 05bfa71ec2e..164dc2f94d5 100644 --- a/htdocs/install/mysql/tables/llx_facturedet_rec.sql +++ b/htdocs/install/mysql/tables/llx_facturedet_rec.sql @@ -3,6 +3,7 @@ -- Copyright (C) 2009-2014 Laurent Destailleur -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2010-2012 Regis Houssin +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -46,5 +47,6 @@ create table llx_facturedet_rec info_bits integer DEFAULT 0, -- TVA NPR ou non special_code integer UNSIGNED DEFAULT 0, -- code pour les lignes speciales rang integer DEFAULT 0, -- ordre d'affichage - fk_contract_line integer NULL -- id of contract line when predefined invoice comes from contract lines + fk_contract_line integer NULL, -- id of contract line when predefined invoice comes from contract lines + fk_unit integer DEFAULT NULL )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_holiday.sql b/htdocs/install/mysql/tables/llx_holiday.sql index fa9e7a070dc..3f61b893bd4 100644 --- a/htdocs/install/mysql/tables/llx_holiday.sql +++ b/htdocs/install/mysql/tables/llx_holiday.sql @@ -21,6 +21,7 @@ CREATE TABLE llx_holiday rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, fk_user integer NOT NULL, fk_user_create integer, +fk_type integer NOT NULL, date_create DATETIME NOT NULL, description VARCHAR( 255 ) NOT NULL, date_debut DATE NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_holiday_logs.sql b/htdocs/install/mysql/tables/llx_holiday_logs.sql index cfacafc9746..7c84ebeaa20 100644 --- a/htdocs/install/mysql/tables/llx_holiday_logs.sql +++ b/htdocs/install/mysql/tables/llx_holiday_logs.sql @@ -22,6 +22,7 @@ rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY, date_action DATETIME NOT NULL, fk_user_action integer NOT NULL, fk_user_update integer NOT NULL, +fk_type integer NOT NULL, type_action VARCHAR( 255 ) NOT NULL, prev_solde VARCHAR( 255 ) NOT NULL, new_solde VARCHAR( 255 ) NOT NULL diff --git a/htdocs/install/mysql/tables/llx_holiday_users.sql b/htdocs/install/mysql/tables/llx_holiday_users.sql index 1ba6cb016c5..5aa1c3fc061 100644 --- a/htdocs/install/mysql/tables/llx_holiday_users.sql +++ b/htdocs/install/mysql/tables/llx_holiday_users.sql @@ -1,5 +1,5 @@ -- =================================================================== --- Copyright (C) 2012 Laurent Destailleur +-- Copyright (C) 2012-2015 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -18,7 +18,8 @@ CREATE TABLE llx_holiday_users ( -fk_user integer NOT NULL PRIMARY KEY, -nb_holiday real NOT NULL DEFAULT '0' + fk_user integer NOT NULL, + fk_type integer NOT NULL, + nb_holiday real NOT NULL DEFAULT '0' ) ENGINE=innodb; \ No newline at end of file diff --git a/htdocs/install/mysql/tables/llx_livraison.sql b/htdocs/install/mysql/tables/llx_livraison.sql index 4cf0431a39a..c999cfdb3c2 100644 --- a/htdocs/install/mysql/tables/llx_livraison.sql +++ b/htdocs/install/mysql/tables/llx_livraison.sql @@ -39,6 +39,8 @@ create table llx_livraison total_ht double(24,8) DEFAULT 0, note_private text, note_public text, - model_pdf varchar(255) + model_pdf varchar(255), + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255) -- for incoterms )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_loan.sql b/htdocs/install/mysql/tables/llx_loan.sql new file mode 100644 index 00000000000..21e9e09d8b7 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_loan.sql @@ -0,0 +1,51 @@ +-- ======================================================================== +-- Copyright (C) 2014 Alexandre Spangaro +-- Copyright (C) 2015 Frederic 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 . +-- +-- ======================================================================== + +create table llx_loan +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + entity integer DEFAULT 1 NOT NULL, + datec datetime, + tms timestamp, + + label varchar(80) NOT NULL, + fk_bank integer, + + capital real default 0 NOT NULL, + datestart date, + dateend date, + nbterm real, + rate double NOT NULL, + + note_private text, + note_public text, + + capital_position real default 0, -- If not a new loan, just have the position of capital + date_position date, + + paid smallint default 0 NOT NULL, + + accountancy_account_capital varchar(32), + accountancy_account_insurance varchar(32), + accountancy_account_interest varchar(32), + + fk_user_author integer DEFAULT NULL, + fk_user_modif integer DEFAULT NULL, + active tinyint DEFAULT 1 NOT NULL +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_payment_donation.sql b/htdocs/install/mysql/tables/llx_payment_donation.sql new file mode 100644 index 00000000000..0389a59e06e --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_donation.sql @@ -0,0 +1,33 @@ +-- =================================================================== +-- Copyright (C) 2015 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_payment_donation +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_donation integer, + datec datetime, -- date de creation + tms timestamp, + datep datetime, -- payment date + amount real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note text, + fk_bank integer NOT NULL, + fk_user_creat integer, -- creation user + fk_user_modif integer -- last modification user +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_payment_expensereport.sql b/htdocs/install/mysql/tables/llx_payment_expensereport.sql new file mode 100644 index 00000000000..55d10289348 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_expensereport.sql @@ -0,0 +1,33 @@ +-- =================================================================== +-- Copyright (C) 2015 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_payment_expensereport +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_expensereport integer, + datec datetime, -- date de creation + tms timestamp, + datep datetime, -- payment date + amount real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note text, + fk_bank integer NOT NULL, + fk_user_creat integer, -- creation user + fk_user_modif integer -- last modification user +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_payment_loan.sql b/htdocs/install/mysql/tables/llx_payment_loan.sql new file mode 100644 index 00000000000..4a0ba519c78 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_loan.sql @@ -0,0 +1,37 @@ +-- =================================================================== +-- Copyright (C) 2014 Alexandre Spangaro +-- Copyright (C) 2015 Frederic 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 . +-- +-- =================================================================== + +create table llx_payment_loan +( + rowid integer AUTO_INCREMENT PRIMARY KEY, + fk_loan integer, + datec datetime, -- creation date + tms timestamp, + datep datetime, -- payment date + amount_capital real DEFAULT 0, + amount_insurance real DEFAULT 0, + amount_interest real DEFAULT 0, + fk_typepayment integer NOT NULL, + num_payment varchar(50), + note_private text, + note_public text, + fk_bank integer NOT NULL, + fk_user_creat integer, -- creation user + fk_user_modif integer -- last modification user +)ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_payment_salary.key.sql b/htdocs/install/mysql/tables/llx_payment_salary.key.sql new file mode 100644 index 00000000000..d1df789eebe --- /dev/null +++ b/htdocs/install/mysql/tables/llx_payment_salary.key.sql @@ -0,0 +1,27 @@ +-- ============================================================================ +-- Copyright (C) 2015 Laurent Destailleur +-- +-- This program is free software; you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- the Free Software Foundation; either version 3 of the License, or +-- (at your option) any later version. +-- +-- This program is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-- GNU General Public License for more details. +-- +-- You should have received a copy of the GNU General Public License +-- along with this program. If not, see . +-- +-- ============================================================================ + + +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_ref (num_payment); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_user (fk_user, entity); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_datep (datep); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_datesp (datesp); +ALTER TABLE llx_payment_salary ADD INDEX idx_payment_salary_dateep (dateep); + +ALTER TABLE llx_payment_salary ADD CONSTRAINT fk_payment_salary_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid); + diff --git a/htdocs/install/mysql/tables/llx_payment_salary.sql b/htdocs/install/mysql/tables/llx_payment_salary.sql index b82ff66ecc1..5bda961c274 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary.sql +++ b/htdocs/install/mysql/tables/llx_payment_salary.sql @@ -22,13 +22,14 @@ create table llx_payment_salary tms timestamp, fk_user integer NOT NULL, datep date, -- date de paiement - datev date, -- date de valeur + datev date, -- date de valeur (this field should not be here, only into bank tables) + salary real, -- salary of user when payment was done amount real NOT NULL DEFAULT 0, fk_typepayment integer NOT NULL, - num_payment varchar(50), + num_payment varchar(50), -- ref label varchar(255), - datesp date, -- date de début de la période - dateep date, -- date de fin de la période + datesp date, -- date start period + dateep date, -- date end period entity integer DEFAULT 1 NOT NULL, -- multi company id note text, fk_bank integer, diff --git a/htdocs/install/mysql/tables/llx_printer_ipp.sql b/htdocs/install/mysql/tables/llx_printing.sql similarity index 77% rename from htdocs/install/mysql/tables/llx_printer_ipp.sql rename to htdocs/install/mysql/tables/llx_printing.sql index a19e05587d6..451564ff74b 100644 --- a/htdocs/install/mysql/tables/llx_printer_ipp.sql +++ b/htdocs/install/mysql/tables/llx_printing.sql @@ -1,5 +1,6 @@ -- ============================================================================ --- Copyright (C) 2013 Florian HENRY +-- Copyright (C) 2013 Florian HENRY +-- Copyright (C) 2014 Frederic 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 @@ -16,15 +17,16 @@ -- -- ============================================================================ -CREATE TABLE llx_printer_ipp +CREATE TABLE llx_printing ( rowid integer AUTO_INCREMENT PRIMARY KEY, - tms timestamp, - datec datetime, + tms timestamp, + datec datetime, printer_name text NOT NULL, printer_location text NOT NULL, - printer_uri varchar(255) NOT NULL, + printer_id varchar(255) NOT NULL, copy integer NOT NULL DEFAULT '1', module varchar(16) NOT NULL, - login varchar(32) NOT NULL + driver varchar(16) NOT NULL, + userid integer )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product.key.sql b/htdocs/install/mysql/tables/llx_product.key.sql index fb471910230..5157861ba4b 100644 --- a/htdocs/install/mysql/tables/llx_product.key.sql +++ b/htdocs/install/mysql/tables/llx_product.key.sql @@ -2,6 +2,7 @@ -- Copyright (C) 2002-2004 Rodolphe Quiedeville -- Copyright (C) 2004-2013 Laurent Destailleur -- Copyright (C) 2005-2009 Regis Houssin +-- Copyright (C) 2012 Cédric Salvador -- Copyright (C) 2014 Marcos García -- -- This program is free software; you can redistribute it and/or modify @@ -30,7 +31,7 @@ ALTER TABLE llx_product ADD INDEX idx_product_fk_country (fk_country); ALTER TABLE llx_product ADD INDEX idx_product_fk_user_author (fk_user_author); ALTER TABLE llx_product ADD INDEX idx_product_fk_barcode_type (fk_barcode_type); ALTER TABLE llx_product ADD UNIQUE INDEX uk_product_barcode (barcode, fk_barcode_type, entity); - +ALTER TABLE llx_product ADD CONSTRAINT fk_product_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); ALTER TABLE llx_product ADD CONSTRAINT fk_product_fk_country FOREIGN KEY (fk_country) REFERENCES llx_c_country (rowid); ALTER TABLE llx_product ADD CONSTRAINT fk_product_barcode_type FOREIGN KEY (fk_barcode_type) REFERENCES llx_c_barcode_type (rowid); diff --git a/htdocs/install/mysql/tables/llx_product.sql b/htdocs/install/mysql/tables/llx_product.sql old mode 100644 new mode 100755 index e9703fc90cf..22006040327 --- a/htdocs/install/mysql/tables/llx_product.sql +++ b/htdocs/install/mysql/tables/llx_product.sql @@ -2,8 +2,8 @@ -- Copyright (C) 2002-2006 Rodolphe Quiedeville -- Copyright (C) 2008-2010 Laurent Destailleur -- Copyright (C) 2005-2010 Regis Houssin --- Copyright (C) 2010 juanjo Menent --- Copyright (C) 2013 Cédric Salvador +-- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012-2013 Cédric Salvador -- Copyright (C) 2014 Marcos García -- -- This program is free software; you can redistribute it and/or modify @@ -71,10 +71,14 @@ create table llx_product volume float DEFAULT NULL, volume_units tinyint DEFAULT NULL, stock integer, -- Current physical stock (dernormalized field) - pmp double(24,8) DEFAULT 0 NOT NULL, + pmp double(24,8) DEFAULT 0 NOT NULL, -- To store valuation of stock calculated using average price method, for this product + fifo double(24,8), -- To store valuation of stock calculated using fifo method, for this product + lifo double(24,8), -- To store valuation of stock calculated using lifo method, for this product canvas varchar(32) DEFAULT NULL, finished tinyint DEFAULT NULL, hidden tinyint DEFAULT 0, -- Not used. Deprecated. import_key varchar(14), -- Import key - desiredstock integer DEFAULT 0 + fk_price_expression integer, -- Link to the rule for dynamic price calculation + desiredstock integer DEFAULT 0, + fk_unit 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 731a9046609..6b248aef17f 100644 --- a/htdocs/install/mysql/tables/llx_product_association.sql +++ b/htdocs/install/mysql/tables/llx_product_association.sql @@ -22,6 +22,7 @@ create table llx_product_association rowid integer AUTO_INCREMENT PRIMARY KEY, 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 + qty double NULL, + incdec integer DEFAULT 1 -- when set to 1 changing stock of product will change stock of linked product too )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_batch.key.sql b/htdocs/install/mysql/tables/llx_product_batch.key.sql index f1f24c8b81a..d022beac743 100644 --- a/htdocs/install/mysql/tables/llx_product_batch.key.sql +++ b/htdocs/install/mysql/tables/llx_product_batch.key.sql @@ -16,5 +16,6 @@ -- -- ============================================================================ -ALTER TABLE llx_product_batch ADD INDEX idx_fk_product_stock (fk_product_stock); +ALTER TABLE llx_product_batch ADD INDEX idx_fk_product_stock(fk_product_stock); +ALTER TABLE llx_product_batch ADD INDEX idx_batch(batch); ALTER TABLE llx_product_batch ADD CONSTRAINT fk_product_batch_fk_product_stock FOREIGN KEY (fk_product_stock) REFERENCES llx_product_stock (rowid); diff --git a/htdocs/install/mysql/tables/llx_product_batch.sql b/htdocs/install/mysql/tables/llx_product_batch.sql index cbcca4ecacd..1cf72151304 100644 --- a/htdocs/install/mysql/tables/llx_product_batch.sql +++ b/htdocs/install/mysql/tables/llx_product_batch.sql @@ -21,7 +21,7 @@ CREATE TABLE llx_product_batch ( fk_product_stock integer NOT NULL, eatby datetime DEFAULT NULL, sellby datetime DEFAULT NULL, - batch varchar(30) DEFAULT NULL, + batch varchar(30) NOT NULL, qty double NOT NULL DEFAULT 0, import_key varchar(14) DEFAULT NULL ) ENGINE=InnoDB; diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql old mode 100644 new mode 100755 index e48c3ce6f82..fb5184715d1 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql @@ -39,5 +39,7 @@ create table llx_product_fournisseur_price tva_tx double(6,3) NOT NULL, info_bits integer NOT NULL DEFAULT 0, fk_user integer, - import_key varchar(14) -- Import key + fk_supplier_price_expression integer, -- Link to the rule for dynamic price calculation + import_key varchar(14), -- Import key + delivery_time_days integer )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_product_price.sql b/htdocs/install/mysql/tables/llx_product_price.sql old mode 100644 new mode 100755 index e83fbdccc2c..1341c49dcaa --- a/htdocs/install/mysql/tables/llx_product_price.sql +++ b/htdocs/install/mysql/tables/llx_product_price.sql @@ -38,6 +38,7 @@ create table llx_product_price fk_user_author integer, tosell tinyint DEFAULT 1, price_by_qty integer NOT NULL DEFAULT 0, + fk_price_expression integer, -- Link to the rule for dynamic price calculation import_key varchar(14) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_projet.sql b/htdocs/install/mysql/tables/llx_projet.sql index acac8c7b687..d9192c191ba 100644 --- a/htdocs/install/mysql/tables/llx_projet.sql +++ b/htdocs/install/mysql/tables/llx_projet.sql @@ -32,7 +32,11 @@ create table llx_projet fk_user_creat integer NOT NULL, -- createur du projet public integer, -- project is public or not fk_statut smallint DEFAULT 0 NOT NULL, + date_close datetime DEFAULT NULL, + fk_user_close integer DEFAULT NULL, note_private text, note_public text, + --budget_days real, -- budget in days is sum of field planned_workload of tasks + budget_amount double(24,8), model_pdf varchar(255) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_projet_task_time.sql b/htdocs/install/mysql/tables/llx_projet_task_time.sql index d5d89812b4a..6c34440a58b 100644 --- a/htdocs/install/mysql/tables/llx_projet_task_time.sql +++ b/htdocs/install/mysql/tables/llx_projet_task_time.sql @@ -20,8 +20,9 @@ create table llx_projet_task_time ( rowid integer AUTO_INCREMENT PRIMARY KEY, fk_task integer NOT NULL, - task_date date, -- only the day - task_datehour datetime, -- day + hour + task_date date, -- only the day + task_datehour datetime, -- day + hour + task_date_withhour integer DEFAULT 0, -- 0 by default, 1 if date was entered with start hour task_duration double, fk_user integer, thm double(24,8), diff --git a/htdocs/install/mysql/tables/llx_propal.sql b/htdocs/install/mysql/tables/llx_propal.sql index 90996073021..8090b1fcb4d 100644 --- a/htdocs/install/mysql/tables/llx_propal.sql +++ b/htdocs/install/mysql/tables/llx_propal.sql @@ -65,6 +65,8 @@ create table llx_propal fk_shipping_method integer, -- shipping method id fk_availability integer NULL, fk_input_reason integer, + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms import_key varchar(14), extraparams varchar(255), -- for stock other parameters with json format fk_delivery_address integer -- delivery address (deprecated) diff --git a/htdocs/install/mysql/tables/llx_propal_merge_pdf_product.sql b/htdocs/install/mysql/tables/llx_propal_merge_pdf_product.sql new file mode 100644 index 00000000000..93af93c9190 --- /dev/null +++ b/htdocs/install/mysql/tables/llx_propal_merge_pdf_product.sql @@ -0,0 +1,28 @@ +-- +-- Copyright (C) 2013 Florian HENRY +-- +-- This program is free software: you can redistribute it and/or modify +-- it under the terms of the GNU General Public License as published by +-- 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 IF NOT EXISTS llx_propal_merge_pdf_product ( + rowid integer NOT NULL auto_increment PRIMARY KEY, + fk_product integer NOT NULL, + file_name varchar(200) NOT NULL, + lang varchar(5) DEFAULT NULL, + fk_user_author integer DEFAULT NULL, + fk_user_mod integer NOT NULL, + datec datetime NOT NULL, + tms timestamp NOT NULL, + import_key varchar(14) DEFAULT NULL +) ENGINE=InnoDB; + diff --git a/htdocs/install/mysql/tables/llx_propaldet.key.sql b/htdocs/install/mysql/tables/llx_propaldet.key.sql index eb56554a60f..3d3467ea888 100644 --- a/htdocs/install/mysql/tables/llx_propaldet.key.sql +++ b/htdocs/install/mysql/tables/llx_propaldet.key.sql @@ -1,5 +1,6 @@ -- =================================================================== -- Copyright (C) 2009-2011 Regis Houssin +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -21,4 +22,5 @@ ALTER TABLE llx_propaldet ADD INDEX idx_propaldet_fk_propal (fk_propal); ALTER TABLE llx_propaldet ADD INDEX idx_propaldet_fk_product (fk_product); +ALTER TABLE llx_propaldet ADD CONSTRAINT fk_propaldet_fk_unit FOREIGN KEY (fk_unit) REFERENCES llx_c_units (rowid); ALTER TABLE llx_propaldet ADD CONSTRAINT fk_propaldet_fk_propal FOREIGN KEY (fk_propal) REFERENCES llx_propal (rowid); diff --git a/htdocs/install/mysql/tables/llx_propaldet.sql b/htdocs/install/mysql/tables/llx_propaldet.sql index 624292decd6..299767ae2ed 100644 --- a/htdocs/install/mysql/tables/llx_propaldet.sql +++ b/htdocs/install/mysql/tables/llx_propaldet.sql @@ -2,6 +2,7 @@ -- Copyright (C) 2002-2003 Rodolphe Quiedeville -- Copyright (C) 2005-2012 Regis Houssin -- Copyright (C) 2010 Juanjo Menent +-- Copyright (C) 2012 Cédric Salvador -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -51,7 +52,8 @@ create table llx_propaldet fk_product_fournisseur_price integer DEFAULT NULL, -- reference of supplier price when line was added (may be used to update buy_price_ht current price when future invoice will be created) special_code integer DEFAULT 0, -- code pour les lignes speciales - rang integer DEFAULT 0 -- ordre affichage sur la propal + rang integer DEFAULT 0, -- ordre affichage sur la propal + fk_unit integer DEFAULT NULL -- lien vers table des unités )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_rights_def.sql b/htdocs/install/mysql/tables/llx_rights_def.sql index 8bf85add124..297772730c7 100644 --- a/htdocs/install/mysql/tables/llx_rights_def.sql +++ b/htdocs/install/mysql/tables/llx_rights_def.sql @@ -19,7 +19,7 @@ create table llx_rights_def ( - id integer, + id integer NOT NULL, libelle varchar(255), module varchar(64), entity integer DEFAULT 1 NOT NULL, diff --git a/htdocs/install/mysql/tables/llx_societe.sql b/htdocs/install/mysql/tables/llx_societe.sql index e28cf062224..4dc1b3fe750 100644 --- a/htdocs/install/mysql/tables/llx_societe.sql +++ b/htdocs/install/mysql/tables/llx_societe.sql @@ -4,6 +4,7 @@ -- Copyright (C) 2005-2010 Regis Houssin -- Copyright (C) 2010 Juanjo Menent -- Copyright (C) 2014 Teddy Andreotti <125155@supinfo.com> +-- Copyright (C) 2015 Marcos García -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -24,6 +25,7 @@ create table llx_societe ( rowid integer AUTO_INCREMENT PRIMARY KEY, nom varchar(128), -- company reference name (should be same length than adherent.societe) + name_alias varchar(128) NULL, entity integer DEFAULT 1 NOT NULL, -- multi company id ref_ext varchar(128), -- reference into an external system (not used by dolibarr) @@ -70,6 +72,8 @@ create table llx_societe fournisseur tinyint DEFAULT 0, -- fournisseur 0/1 supplier_account varchar(32), -- compte client chez un fournisseur fk_prospectlevel varchar(12), -- prospect level (in llx_c_prospectlevel) + fk_incoterms integer, -- for incoterms + location_incoterms varchar(255), -- for incoterms customer_bad tinyint DEFAULT 0, -- mauvais payeur 0/1 customer_rate real DEFAULT 0, -- taux fiabilite client (0 a 1) supplier_rate real DEFAULT 0, -- taux fiabilite fournisseur (0 a 1) diff --git a/htdocs/install/mysql/tables/llx_societe_extrafields.key.sql b/htdocs/install/mysql/tables/llx_societe_extrafields.key.sql index 44ce4dda753..9d89beebd37 100644 --- a/htdocs/install/mysql/tables/llx_societe_extrafields.key.sql +++ b/htdocs/install/mysql/tables/llx_societe_extrafields.key.sql @@ -17,4 +17,4 @@ -- =================================================================== -ALTER TABLE llx_societe_extrafields ADD INDEX idx_societe_extrafields (fk_object); +ALTER TABLE llx_societe_extrafields ADD UNIQUE INDEX uk_societe_extrafields (fk_object); diff --git a/htdocs/install/mysql/tables/llx_societe_remise_except.key.sql b/htdocs/install/mysql/tables/llx_societe_remise_except.key.sql index 22f95455b31..0b66e7984d9 100644 --- a/htdocs/install/mysql/tables/llx_societe_remise_except.key.sql +++ b/htdocs/install/mysql/tables/llx_societe_remise_except.key.sql @@ -29,8 +29,8 @@ ALTER TABLE llx_societe_remise_except ADD INDEX idx_societe_remise_except_fk_fac ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_societe_remise_fk_user FOREIGN KEY (fk_user) REFERENCES llx_user (rowid); -ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_societe_remise_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); -ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_societe_remise_fk_facture_line FOREIGN KEY (fk_facture_line) REFERENCES llx_facturedet (rowid); +ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_soc_remise_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid); +ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_soc_remise_fk_facture_line FOREIGN KEY (fk_facture_line) REFERENCES llx_facturedet (rowid); ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_societe_remise_fk_facture FOREIGN KEY (fk_facture) REFERENCES llx_facture (rowid); ALTER TABLE llx_societe_remise_except ADD CONSTRAINT fk_societe_remise_fk_facture_source FOREIGN KEY (fk_facture_source) REFERENCES llx_facture (rowid); diff --git a/htdocs/install/mysql/tables/llx_societe_rib.sql b/htdocs/install/mysql/tables/llx_societe_rib.sql index 0500c32c744..3331da24696 100644 --- a/htdocs/install/mysql/tables/llx_societe_rib.sql +++ b/htdocs/install/mysql/tables/llx_societe_rib.sql @@ -37,7 +37,9 @@ create table llx_societe_rib proprio varchar(60), owner_address varchar(255), default_rib smallint NOT NULL DEFAULT 0, + + rum varchar(32), -- RUM value to use for SEPA generation + frstrecur varchar(16) default 'FRST', -- 'FRST' or 'RECUR' + import_key varchar(14) -- import key - - )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_stock_mouvement.sql b/htdocs/install/mysql/tables/llx_stock_mouvement.sql index c0fdd702074..3db9a4475cd 100644 --- a/htdocs/install/mysql/tables/llx_stock_mouvement.sql +++ b/htdocs/install/mysql/tables/llx_stock_mouvement.sql @@ -1,6 +1,6 @@ -- ============================================================================ --- Copyright (C) 2003 Rodolphe Quiedeville --- Copyright (C) 2009 Laurent Destailleur +-- Copyright (C) 2003 Rodolphe Quiedeville +-- Copyright (C) 2009-2015 Laurent Destailleur -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by @@ -21,14 +21,18 @@ create table llx_stock_mouvement ( rowid integer AUTO_INCREMENT PRIMARY KEY, tms timestamp, - datem datetime, - fk_product integer NOT NULL, - fk_entrepot integer NOT NULL, - value real, - price float(13,4) DEFAULT 0, - type_mouvement smallint, - fk_user_author integer, - label varchar(128), + datem datetime, -- Date and hour of movement + fk_product integer NOT NULL, -- Id of product + batch varchar(30) DEFAULT NULL, -- Lot or serial number + eatby date DEFAULT NULL, -- Eatby date + sellby date DEFAULT NULL, -- Sellby date + fk_entrepot integer NOT NULL, -- Id warehouse + value real, -- Qty of movement + price double(24,8) DEFAULT 0, -- Entry price (used to calculate PMP, FIFO or LIFO value) + type_mouvement smallint, -- Type/Direction of movement + fk_user_author integer, -- Id user making movement + label varchar(255), -- Comment on movement + inventorycode varchar(128), -- Code used to group different movement line into one operation (may be an inventory, a mass picking) fk_origin integer, origintype varchar(32) )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_user.key.sql b/htdocs/install/mysql/tables/llx_user.key.sql index 897228a9c43..49916b68cb8 100644 --- a/htdocs/install/mysql/tables/llx_user.key.sql +++ b/htdocs/install/mysql/tables/llx_user.key.sql @@ -21,7 +21,8 @@ ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_login (login, entity); -ALTER TABLE llx_user ADD INDEX uk_user_fk_societe (fk_societe); +ALTER TABLE llx_user ADD INDEX idx_user_fk_societe (fk_soc); ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_fk_socpeople (fk_socpeople); ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_fk_member (fk_member); +ALTER TABLE llx_user ADD UNIQUE INDEX uk_user_api_key (api_key); diff --git a/htdocs/install/mysql/tables/llx_user.sql b/htdocs/install/mysql/tables/llx_user.sql index 28385298125..a11b0ec6b50 100644 --- a/htdocs/install/mysql/tables/llx_user.sql +++ b/htdocs/install/mysql/tables/llx_user.sql @@ -34,6 +34,8 @@ create table llx_user pass varchar(32), pass_crypted varchar(128), pass_temp varchar(32), -- temporary password when asked for forget password + api_key varchar(128), -- key to use REST API by this user + gender varchar(10), civility varchar(6), lastname varchar(50), firstname varchar(50), @@ -52,7 +54,7 @@ create table llx_user admin smallint DEFAULT 0, module_comm smallint DEFAULT 1, module_compta smallint DEFAULT 1, - fk_societe integer, + fk_soc integer, fk_socpeople integer, fk_member integer, fk_user integer, -- Hierarchic parent diff --git a/htdocs/install/pgsql/functions/functions.sql b/htdocs/install/pgsql/functions/functions.sql index 3bf5255a5fc..37d5630fbea 100644 --- a/htdocs/install/pgsql/functions/functions.sql +++ b/htdocs/install/pgsql/functions/functions.sql @@ -119,7 +119,7 @@ CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_user FOR EACH ROW EX CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_user_extrafields FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_usergroup FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_cronjob FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); -CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_printer_ipp FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); +CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_printing FOR EACH ROW EXECUTE PROCEDURE update_modified_column_tms(); CREATE OR REPLACE FUNCTION update_modified_column_date_m() RETURNS TRIGGER AS $$ BEGIN NEW.date_m = now(); RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER update_customer_modtime BEFORE UPDATE ON llx_ecm_directories FOR EACH ROW EXECUTE PROCEDURE update_modified_column_date_m(); diff --git a/htdocs/install/repair.php b/htdocs/install/repair.php index 48f4b5a6aa6..786a8efb430 100644 --- a/htdocs/install/repair.php +++ b/htdocs/install/repair.php @@ -101,7 +101,7 @@ $conf->db->dolibarr_main_db_cryptkey = isset($dolibarr_main_db_cryptkey)?$doliba $db=getDoliDBInstance($conf->db->type,$conf->db->host,$conf->db->user,$conf->db->pass,$conf->db->name,$conf->db->port); -if ($db->connected == 1) +if ($db->connected) { print ''; print $langs->trans("ServerConnection")." : $dolibarr_main_db_host".$langs->trans("OK").""; @@ -117,7 +117,7 @@ else if ($ok) { - if($db->database_selected == 1) + if($db->database_selected) { print ''; print $langs->trans("DatabaseConnection")." : ".$dolibarr_main_db_name."".$langs->trans("OK").""; @@ -510,9 +510,9 @@ if (empty($actiondone)) } -print '
'; +print '
'; +print ''; pFooter(1,$setuplang); diff --git a/htdocs/install/sqlite3/functions/functions.sql b/htdocs/install/sqlite3/functions/functions.sql new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/install/sqlite3/index.html b/htdocs/install/sqlite3/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/install/upgrade.php b/htdocs/install/upgrade.php index c001a771f06..9c2832f3623 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -141,7 +141,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; $hookmanager=new HookManager($db); - if ($db->connected == 1) + if ($db->connected) { print ''; print $langs->trans("ServerConnection")." : $dolibarr_main_db_host".$langs->trans("OK")."\n"; @@ -157,7 +157,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) if ($ok) { - if($db->database_selected == 1) + if($db->database_selected) { print ''; print $langs->trans("DatabaseConnection")." : ".$dolibarr_main_db_name."".$langs->trans("OK")."\n"; diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index 0c96c3c6d5c..7b5f299d758 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -134,7 +134,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; $hookmanager=new HookManager($db); - if ($db->connected != 1) + 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); @@ -143,7 +143,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) if (! $error) { - if($db->database_selected == 1) + if($db->database_selected) { dolibarr_install_syslog('upgrade2: Database connection successfull : '.$dolibarr_main_db_name); } @@ -363,7 +363,13 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) { migrate_event_assignement($db,$langs,$conf); + } + // Scripts for lat version + $afterversionarray=explode('.','3.7.9'); + $beforeversionarray=explode('.','3.8.9'); + if (versioncompare($versiontoarray,$afterversionarray) >= 0 && versioncompare($versiontoarray,$beforeversionarray) <= 0) + { // Reload modules (this must be always and only into last targeted version) $listofmodule=array( 'MAIN_MODULE_AGENDA', @@ -375,6 +381,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) 'MAIN_MODULE_ECM', 'MAIN_MODULE_FACTURE', 'MAIN_MODULE_FOURNISSEUR', + 'MAIN_MODULE_HOLIDAY', 'MAIN_MODULE_OPENSURVEY', 'MAIN_MODULE_PAYBOX', 'MAIN_MODULE_PRODUIT', @@ -1292,7 +1299,7 @@ function migrate_price_facture($db,$langs,$conf) print ''.$langs->trans('MigrationInvoice')."
\n"; // Liste des lignes facture non a jour - $sql = "SELECT fd.rowid, fd.qty, fd.subprice, fd.remise_percent, fd.tva_tx as tva_taux, fd.total_ttc, fd.info_bits,"; + $sql = "SELECT fd.rowid, fd.qty, fd.subprice, fd.remise_percent, fd.tva_tx as vatrate, fd.total_ttc, fd.info_bits,"; $sql.= " f.rowid as facid, f.remise_percent as remise_percent_global, f.total_ttc as total_ttc_f"; $sql.= " FROM ".MAIN_DB_PREFIX."facturedet as fd, ".MAIN_DB_PREFIX."facture as f"; $sql.= " WHERE fd.fk_facture = f.rowid"; @@ -1314,7 +1321,7 @@ function migrate_price_facture($db,$langs,$conf) $rowid = $obj->rowid; $qty = $obj->qty; $pu = $obj->subprice; - $txtva = $obj->tva_taux; + $vatrate = $obj->vatrate; $remise_percent = $obj->remise_percent; $remise_percent_global = $obj->remise_percent_global; $total_ttc_f = $obj->total_ttc_f; @@ -1324,7 +1331,7 @@ function migrate_price_facture($db,$langs,$conf) $facligne= new FactureLigne($db); $facligne->fetch($rowid); - $result=calcul_price_total($qty,$pu,$remise_percent,$txtva, 0, 0,$remise_percent_global,'HT',$info_bits,0); + $result=calcul_price_total($qty,$pu,$remise_percent,$vatrate, 0, 0,$remise_percent_global,'HT',$info_bits,0); $total_ht = $result[0]; $total_tva = $result[1]; $total_ttc = $result[2]; @@ -1333,7 +1340,7 @@ function migrate_price_facture($db,$langs,$conf) $facligne->total_tva = $total_tva; $facligne->total_ttc = $total_ttc; - dolibarr_install_syslog("upgrade2: Line $rowid: facid=$obj->facid pu=$pu qty=$qty tva_taux=$txtva remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); + dolibarr_install_syslog("upgrade2: Line $rowid: facid=$obj->facid pu=$pu qty=$qty vatrate=$vatrate remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); print ". "; $facligne->update_total(); @@ -1406,7 +1413,7 @@ function migrate_price_propal($db,$langs,$conf) print ''.$langs->trans('MigrationProposal')."
\n"; // Liste des lignes propal non a jour - $sql = "SELECT pd.rowid, pd.qty, pd.subprice, pd.remise_percent, pd.tva_tx as tva_taux, pd.info_bits,"; + $sql = "SELECT pd.rowid, pd.qty, pd.subprice, pd.remise_percent, pd.tva_tx as vatrate, pd.info_bits,"; $sql.= " p.rowid as propalid, p.remise_percent as remise_percent_global"; $sql.= " FROM ".MAIN_DB_PREFIX."propaldet as pd, ".MAIN_DB_PREFIX."propal as p"; $sql.= " WHERE pd.fk_propal = p.rowid"; @@ -1427,7 +1434,7 @@ function migrate_price_propal($db,$langs,$conf) $rowid = $obj->rowid; $qty = $obj->qty; $pu = $obj->subprice; - $txtva = $obj->tva_taux; + $vatrate = $obj->vatrate; $remise_percent = $obj->remise_percent; $remise_percent_global = $obj->remise_percent_global; $info_bits = $obj->info_bits; @@ -1436,7 +1443,7 @@ function migrate_price_propal($db,$langs,$conf) $propalligne= new PropaleLigne($db); $propalligne->fetch($rowid); - $result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0); + $result=calcul_price_total($qty,$pu,$remise_percent,$vatrate,0,0,$remise_percent_global,'HT',$info_bits,0); $total_ht = $result[0]; $total_tva = $result[1]; $total_ttc = $result[2]; @@ -1445,7 +1452,7 @@ function migrate_price_propal($db,$langs,$conf) $propalligne->total_tva = $total_tva; $propalligne->total_ttc = $total_ttc; - dolibarr_install_syslog("upgrade2: Line $rowid: propalid=$obj->rowid pu=$pu qty=$qty tva_taux=$txtva remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); + dolibarr_install_syslog("upgrade2: Line $rowid: propalid=$obj->rowid pu=$pu qty=$qty vatrate=$vatrate remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); print ". "; $propalligne->update_total(); @@ -1515,7 +1522,7 @@ function migrate_price_contrat($db,$langs,$conf) print ''.$langs->trans('MigrationContract')."
\n"; // Liste des lignes contrat non a jour - $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as tva_taux, cd.info_bits,"; + $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as vatrate, cd.info_bits,"; $sql.= " c.rowid as contratid"; $sql.= " FROM ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."contrat as c"; $sql.= " WHERE cd.fk_contrat = c.rowid"; @@ -1536,7 +1543,7 @@ function migrate_price_contrat($db,$langs,$conf) $rowid = $obj->rowid; $qty = $obj->qty; $pu = $obj->subprice; - $txtva = $obj->tva_taux; + $vatrate = $obj->vatrate; $remise_percent = $obj->remise_percent; $info_bits = $obj->info_bits; @@ -1545,7 +1552,7 @@ function migrate_price_contrat($db,$langs,$conf) //$contratligne->fetch($rowid); Non requis car le update_total ne met a jour que chp redefinis $contratligne->id=$rowid; - $result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,0,'HT',$info_bits,0,$tmpmysoc); + $result=calcul_price_total($qty,$pu,$remise_percent,$vatrate,0,0,0,'HT',$info_bits,0,$tmpmysoc); $total_ht = $result[0]; $total_tva = $result[1]; $total_ttc = $result[2]; @@ -1554,7 +1561,7 @@ function migrate_price_contrat($db,$langs,$conf) $contratligne->total_tva = $total_tva; $contratligne->total_ttc = $total_ttc; - dolibarr_install_syslog("upgrade2: Line $rowid: contratdetid=$obj->rowid pu=$pu qty=$qty tva_taux=$txtva remise_percent=$remise_percent -> $total_ht, $total_tva, $total_ttc"); + dolibarr_install_syslog("upgrade2: Line $rowid: contratdetid=$obj->rowid pu=$pu qty=$qty vatrate=$vatrate remise_percent=$remise_percent -> $total_ht, $total_tva, $total_ttc"); print ". "; $contratligne->update_total(); @@ -1600,7 +1607,7 @@ function migrate_price_commande($db,$langs,$conf) print ''.$langs->trans('MigrationOrder')."
\n"; // Liste des lignes commande non a jour - $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as tva_taux, cd.info_bits,"; + $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as vatrate, cd.info_bits,"; $sql.= " c.rowid as commandeid, c.remise_percent as remise_percent_global"; $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd, ".MAIN_DB_PREFIX."commande as c"; $sql.= " WHERE cd.fk_commande = c.rowid"; @@ -1621,7 +1628,7 @@ function migrate_price_commande($db,$langs,$conf) $rowid = $obj->rowid; $qty = $obj->qty; $pu = $obj->subprice; - $txtva = $obj->tva_taux; + $vatrate = $obj->vatrate; $remise_percent = $obj->remise_percent; $remise_percent_global = $obj->remise_percent_global; $info_bits = $obj->info_bits; @@ -1630,7 +1637,7 @@ function migrate_price_commande($db,$langs,$conf) $commandeligne= new OrderLine($db); $commandeligne->fetch($rowid); - $result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0); + $result=calcul_price_total($qty,$pu,$remise_percent,$vatrate,0,0,$remise_percent_global,'HT',$info_bits,0); $total_ht = $result[0]; $total_tva = $result[1]; $total_ttc = $result[2]; @@ -1639,7 +1646,7 @@ function migrate_price_commande($db,$langs,$conf) $commandeligne->total_tva = $total_tva; $commandeligne->total_ttc = $total_ttc; - dolibarr_install_syslog("upgrade2: Line $rowid: commandeid=$obj->rowid pu=$pu qty=$qty tva_taux=$txtva remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); + dolibarr_install_syslog("upgrade2: Line $rowid: commandeid=$obj->rowid pu=$pu qty=$qty vatrate=$vatrate remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); print ". "; $commandeligne->update_total(); @@ -1714,7 +1721,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf) print ''.$langs->trans('MigrationSupplierOrder')."
\n"; // Liste des lignes commande non a jour - $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as tva_taux, cd.info_bits,"; + $sql = "SELECT cd.rowid, cd.qty, cd.subprice, cd.remise_percent, cd.tva_tx as vatrate, cd.info_bits,"; $sql.= " c.rowid as commandeid, c.remise_percent as remise_percent_global"; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as cd, ".MAIN_DB_PREFIX."commande_fournisseur as c"; $sql.= " WHERE cd.fk_commande = c.rowid"; @@ -1735,7 +1742,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf) $rowid = $obj->rowid; $qty = $obj->qty; $pu = $obj->subprice; - $txtva = $obj->tva_taux; + $vatrate = $obj->vatrate; $remise_percent = $obj->remise_percent; $remise_percent_global = $obj->remise_percent_global; $info_bits = $obj->info_bits; @@ -1744,7 +1751,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf) $commandeligne= new CommandeFournisseurLigne($db); $commandeligne->fetch($rowid); - $result=calcul_price_total($qty,$pu,$remise_percent,$txtva,0,0,$remise_percent_global,'HT',$info_bits,0); + $result=calcul_price_total($qty,$pu,$remise_percent,$vatrate,0,0,$remise_percent_global,'HT',$info_bits,0); $total_ht = $result[0]; $total_tva = $result[1]; $total_ttc = $result[2]; @@ -1753,7 +1760,7 @@ function migrate_price_commande_fournisseur($db,$langs,$conf) $commandeligne->total_tva = $total_tva; $commandeligne->total_ttc = $total_ttc; - dolibarr_install_syslog("upgrade2: Line $rowid: commandeid=$obj->rowid pu=$pu qty=$qty tva_taux=$txtva remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); + dolibarr_install_syslog("upgrade2: Line $rowid: commandeid=$obj->rowid pu=$pu qty=$qty vatrate=$vatrate remise_percent=$remise_percent remise_global=$remise_percent_global -> $total_ht, $total_tva, $total_ttc"); print ". "; $commandeligne->update_total(); @@ -2407,7 +2414,7 @@ function migrate_commande_deliveryaddress($db,$langs,$conf) * @param DoliDB $db Database handler * @param Translate $langs Object langs * @param Conf $conf Object conf - * @return void + * @return integer|null */ function migrate_restore_missing_links($db,$langs,$conf) { @@ -3391,7 +3398,7 @@ function migrate_mode_reglement($db,$langs,$conf) if ($resqla && $resql) { - foreach($elements['tables'] as $table) // FIXME We must not update tables if oldid is not renamed + foreach($elements['tables'] as $table) { $sql = "UPDATE ".MAIN_DB_PREFIX.$table." SET "; $sql.= "fk_mode_reglement = ".$elements['new_id'][$key]; @@ -3680,7 +3687,7 @@ function migrate_delete_old_files($db,$langs,$conf) print ' '.$langs->trans("RemoveItManuallyAndPressF5ToContinue").''; } else - { + { //print $langs->trans("FileWasRemoved",$filetodelete); } } @@ -3818,8 +3825,9 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) if ($moduletoreload == 'MAIN_MODULE_SERVICE') // Permission has changed into 2.7 { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Service"); + + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modService.class.php'; if ($res) { - $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modService.class.php'; $mod=new modService($db); //$mod->remove('noboxes'); $mod->init('newboxdefonly'); @@ -3828,8 +3836,9 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) if ($moduletoreload == 'MAIN_MODULE_COMMANDE') // Permission has changed into 2.9 { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Commande"); + + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCommande.class.php'; if ($res) { - $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modCommande.class.php'; $mod=new modCommande($db); //$mod->remove('noboxes'); $mod->init('newboxdefonly'); @@ -3838,8 +3847,8 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) if ($moduletoreload == 'MAIN_MODULE_FACTURE') // Permission has changed into 2.9 { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module Facture"); + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFacture.class.php'; if ($res) { - $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modFacture.class.php'; $mod=new modFacture($db); //$mod->remove('noboxes'); $mod->init('newboxdefonly'); @@ -3878,8 +3887,8 @@ function migrate_reload_modules($db,$langs,$conf,$listofmodule=array()) if ($moduletoreload == 'MAIN_MODULE_ECM') // Permission has changed into 3.0 and 3.1 { dolibarr_install_syslog("upgrade2::migrate_reload_modules Reactivate module ECM"); + $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modECM.class.php'; if ($res) { - $res=@include_once DOL_DOCUMENT_ROOT.'/core/modules/modECM.class.php'; $mod=new modECM($db); $mod->remove('noboxes'); // We need to remove because a permission id has been removed $mod->init('newboxdefonly'); diff --git a/htdocs/langs/ar_SA/accountancy.lang b/htdocs/langs/ar_SA/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/ar_SA/accountancy.lang +++ b/htdocs/langs/ar_SA/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index d0a43020f13..35afdd97fe3 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=قائمة للمستخدمين LangFile=ملف لانج System=النظام SystemInfo=نظام المعلومات -SystemTools=أدوات النظام SystemToolsArea=منظقة أدوات نظام SystemToolsAreaDesc=هذه المنقة توفر مميزات إدارية. استخدام القائمة لاختيار الخصائص التي تبحث عنها. Purge=أحذف @@ -232,8 +231,8 @@ Security=الأمن Passwords=كلمة السر DoNotStoreClearPassword=لا تخزن كلمات السر في قاعدة بيانات واضحة في MainDbPasswordFileConfEncrypted=كلمة السر في قاعدة بيانات مشفرة conf.php -InstrucToEncodePass=لديك كلمة المرور المشفرة في ملف conf.php ، استبدال خط
dolibarr_main_db_pass $ ="..."
من قبل
"= $ crypted dolibarr_main_db_pass : ٪ ق" -InstrucToClearPass=لديك كلمة السر فك الشفرة (واضح) في conf.php الملف ، استبدال السطر
dolibarr_main_db_pass $ = ":..." crypted
من قبل
dolibarr_main_db_pass $ = "٪ ق" +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=حماية الملفات ولدت الشعبي (لا recommandd ، تقتحم الجماهيري الشعبي وتوليد) ProtectAndEncryptPdfFilesDesc=حماية وجود وثيقة من وثائق وتبقي الشعبي توفيرها لقراءة وطباعة أي متصفح الشعبي. ومع ذلك ، وتحريرها ونسخها وليس من الممكن بعد الآن. علما أن استخدام هذه الميزة تجعل بناء عالمي لا يعمل المتراكمة الشعبي (مثل الفواتير غير المدفوعة). Feature=ميزة @@ -300,13 +299,13 @@ ThisIsProcessToFollow=هذا هو الإعداد لهذه العملية : ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=الخطوة ق ٪ FindPackageFromWebSite=العثور على الحزمة التي توفر ميزة تريد (على سبيل المثال على موقع الويب ق ٪). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=الانتهاء من تركيب وDolibarr على استعداد لاستخدام هذا العنصر الجديد. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr النسخة الحالية CallUpdatePage=الذهاب إلى صفحة التحديثات وdatas هيكل قاعدة البيانات : ٪ s. LastStableVersion=آخر نسخة مستقرة @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar التكامل -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=جدول الأعمال Module2400Desc=الأعمال / الإدارة المهام وجدول الأعمال Module2500Name=إدارة المحتوى الإلكتروني Module2500Desc=حفظ وتبادل الوثائق -Module2600Name=WebServices -Module2600Desc=تمكين خدمات الويب Dolibarr الملقم +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=غرفتر @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=الإعداد المحفوظة BackToModuleList=العودة إلى قائمة الوحدات BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=الرمز البريدي CompanyTown=مدينة CompanyCountry=قطر CompanyCurrency=العملة الرئيسية +CompanyObject=Object of the company Logo=Logo DoNotShow=لا تظهر DoNotSuggestPaymentMode=لا توحي NoActiveBankAccountDefined=لا يعرف في حساب مصرفي نشط OwnerOfBankAccount=صاحب الحساب المصرفي ق ٪ BankModuleNotActive=الحسابات المصرفية وحدة لا يمكن -ShowBugTrackLink=وتظهر وصلة "تقرير خلل" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=وتظهر "طاولة العمل" على الصفحة الرئيسية Alerts=تنبيهات Delays=التأخير @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=ماكس عشرية لأسعار الوحدات MAIN_MAX_DECIMALS_TOT=الحد الأقصى لمجموع أسعار عشرية MAIN_MAX_DECIMALS_SHOWN=ماكس عشرية لأسعار تظهر على الشاشة (يضاف هذا العدد بعد... إذا كنت تريد أن ترى... عندما العدد مبتورة عندما تظهر على الشاشة) MAIN_DISABLE_PDF_COMPRESSION=الاستخدام الشعبي للضغط الشعبي ولدت الملفات. -MAIN_ROUNDING_RULE_TOT= حجم التقريب مجموعة (لبلدان النادرة التي يتم التقريب على شيء آخر من قاعدة 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=صافي سعر وحدة من المنتج TotalPriceAfterRounding=إجمالي السعر الصافي / ضريبة القيمة المضافة / ضريبة مدفوع) بعد التقريب ParameterActiveForNextInputOnly=معلمة فعالة للمساهمة المقبل فقط @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=الدعم الاقتصادي Taxe (WEEE) SetDefaultBarcodeTypeProducts=النوع الافتراضي لاستخدام الباركود للمنتجات SetDefaultBarcodeTypeThirdParties=النوع الافتراضي لاستخدام الباركود لأطراف ثالثة +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=الباركود نوع من اتحاد الوطنيين الكو BarcodeDescISBN=الباركود من نوع ردمك BarcodeDescC39=الباركود من نوع C39 BarcodeDescC128=الباركود من نوع 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=إعداد وحدة Webservices WebServicesDesc=من خلال تمكين هذه الوحدة ، Dolibarr تصبح خدمة الإنترنت لتوفير خدمات الإنترنت وخدمات متنوعة. WSDLCanBeDownloadedHere=اختصار الواصفة ملف قدمت serviceses هنا يمكن التحميل EndPointIs=الصابون العملاء يجب إرسال الطلبات إلى نقطة النهاية Dolibarr متاحة في الموقع +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=إعداد وحدة مصرفية FreeLegalTextOnChequeReceipts=نص حر على الشيكات والإيصالات @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ar_SA/banks.lang b/htdocs/langs/ar_SA/banks.lang index 3f11c7edbf2..3d951e5f0fe 100644 --- a/htdocs/langs/ar_SA/banks.lang +++ b/htdocs/langs/ar_SA/banks.lang @@ -94,12 +94,12 @@ Conciliate=التوفيق Conciliation=توفيق ConciliationForAccount=التوفيق في هذا الحساب IncludeClosedAccount=وتشمل حسابات مغلقة -OnlyOpenedAccount=إلا فتح حسابات +OnlyOpenedAccount=Only open accounts AccountToCredit=الحساب على الائتمان AccountToDebit=لحساب الخصم DisableConciliation=تعطيل ميزة التوفيق لهذا الحساب ConciliationDisabled=توفيق سمة المعوقين -StatusAccountOpened=فتح +StatusAccountOpened=Open StatusAccountClosed=مغلقة AccountIdShort=عدد EditBankRecord=تعديل السجل diff --git a/htdocs/langs/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index 103f8dc779d..61062905069 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=فورا @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ar_SA/boxes.lang b/htdocs/langs/ar_SA/boxes.lang index f2aa5325277..441d4250558 100644 --- a/htdocs/langs/ar_SA/boxes.lang +++ b/htdocs/langs/ar_SA/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=آخر العقود BoxLastContacts=مشاركة اتصالات / عناوين BoxLastMembers=مشاركة الأعضاء BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=مبيعات BoxTotalUnpaidCustomerBills=مجموع الفواتير غير المدفوعة للعميل BoxTotalUnpaidSuppliersBills=مجموع الفواتير غير المدفوعة المورد @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=مبيعات BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/ar_SA/categories.lang b/htdocs/langs/ar_SA/categories.lang index 967a8906157..9bd3a337287 100644 --- a/htdocs/langs/ar_SA/categories.lang +++ b/htdocs/langs/ar_SA/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=ق ٪ أضيفت بنجاح. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=بلا NotCategorized=Without tag/category CategoryExistsAtSameLevel=هذه الفئة موجودة بالفعل في نفس المكان @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=محتويات غير مرئي من قبل جميع CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / Prosp. الفئات @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/ar_SA/companies.lang b/htdocs/langs/ar_SA/companies.lang index 0646bcd465e..f995f3e6086 100644 --- a/htdocs/langs/ar_SA/companies.lang +++ b/htdocs/langs/ar_SA/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=مطلق الخصومات المتاحة DiscountNone=بلا Supplier=المورد CompanyList=شركات قائمة -AddContact=إضافة -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=تحرير الاتصال / عنوان EditContactAddress=Edit contact/address Contact=جهة اتصال @@ -268,8 +268,8 @@ ContactsAddresses=اتصالات / عناوين NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=لا يوجد اتصال محددة لهذا الطرف الثالث DefaultContact=الاتصال الافتراضية -AddCompany=إضافة شركة -AddThirdParty=إضافة طرف ثالث +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=حذف شركة PersonalInformations=البيانات الشخصية AccountancyCode=قانون المحاسبة @@ -379,8 +379,8 @@ DeliveryAddressLabel=تسليم بطاقة معالجة DeleteDeliveryAddress=حذف عنوان التسليم ConfirmDeleteDeliveryAddress=هل أنت متأكد من أنك تريد حذف هذا عنوان التسليم؟ NewDeliveryAddress=تقديم معالجة جديدة -AddDeliveryAddress=أضف معالجة -AddAddress=أضف معالجة +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=لا بديل عن تقديم معالجة محددة SupplierCategory=المورد الفئة JuridicalStatus200=المستقلة @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=عودة número مع الشكل nnnn - ٪ syymm الزبون ورمز وnnnn - ٪ syymm مورد للقانون حيث السنة هو السنة ، هو شهر ملم وnnnn هو تسلسل بلا كسر وعدم العودة إلى 0. LeopardNumRefModelDesc=العميل / المورد مدونة مجانية. هذا القانون يمكن تعديلها في أي وقت. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ar_SA/cron.lang b/htdocs/langs/ar_SA/cron.lang index 45f695fa7dc..dab9dc64d91 100644 --- a/htdocs/langs/ar_SA/cron.lang +++ b/htdocs/langs/ar_SA/cron.lang @@ -4,10 +4,10 @@ About = حول CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=تاريخ البدء CronDtEnd=نهاية التاريخ CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=الطريقة CronModule=وحدة CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=البارامترات CronSaveSucess=Save succesfully CronNote=التعليق @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index de1ec8009ce..61c0d90ab7b 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ar_SA/incoterm.lang b/htdocs/langs/ar_SA/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/ar_SA/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/ar_SA/languages.lang b/htdocs/langs/ar_SA/languages.lang index 45e0f50cdf6..d7c718f38ff 100644 --- a/htdocs/langs/ar_SA/languages.lang +++ b/htdocs/langs/ar_SA/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=العربية Language_ar_SA=العربية +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=كاتالاني @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=الإنكليزية (الولايات المتحدة) Language_en_ZA=English (South Africa) Language_es_ES=الأسبانية -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=الأسبانية (الأرجنتين) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=الأسبانية (هندوراس) Language_es_MX=الإسبانية (المكسيك) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=الآيسلندي Language_it_IT=الإيطالي Language_ja_JP=اليابانية +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=السويدية Language_sv_SE=السويدية Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/ar_SA/loan.lang b/htdocs/langs/ar_SA/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/ar_SA/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ar_SA/mails.lang b/htdocs/langs/ar_SA/mails.lang index 676e1e8aba6..f3e5333a397 100644 --- a/htdocs/langs/ar_SA/mails.lang +++ b/htdocs/langs/ar_SA/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index 64d059476b7..5089f8462f0 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=سعر الوحدة (صافي) UnitPriceTTC=سعر الوحدة PriceU=ارتفاع PriceUHT=ارتفاع (صافي) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=ارتفاع Amount=مبلغ AmountInvoice=مبلغ الفاتورة @@ -413,6 +413,8 @@ Qty=الكمية ChangedBy=تغيير ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=النجاح ResultKo=فشل @@ -421,7 +423,7 @@ Reportings=الإبلاغ Draft=مسودة Drafts=المسودات Validated=صادق -Opened=فتح +Opened=Open New=جديد Discount=الخصم Unknown=غير معروف @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=يوم الاثنين Tuesday=الثلاثاء @@ -732,3 +738,4 @@ ShortThursday=تي ShortFriday=واو ShortSaturday=دإ ShortSunday=دإ +SelectMailModel=Select email template diff --git a/htdocs/langs/ar_SA/orders.lang b/htdocs/langs/ar_SA/orders.lang index 1afad05c4f5..3d37a17eeb4 100644 --- a/htdocs/langs/ar_SA/orders.lang +++ b/htdocs/langs/ar_SA/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=من أجل المورد SuppliersOrders=الموردين أوامر SuppliersOrdersRunning=الحالية الموردين أوامر CustomerOrder=عملاء النظام -CustomersOrders=Customers orders -CustomersOrdersRunning=الحالية الزبائن -CustomersOrdersAndOrdersLines=أوامر العملاء وأوامر خطوط -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=المورد أوامر لمعالجة +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=ألغى StatusOrderDraftShort=مسودة StatusOrderValidatedShort=صادق @@ -75,8 +75,9 @@ AddToMyOrders=أضف إلى أوامر AddToOtherOrders=إضافة إلى أوامر أخرى AddToDraftOrders=Add to draft order ShowOrder=وتبين من أجل -NoOpenedOrders=أي أوامر فتح -NoOtherOpenedOrders=أي أوامر فتح +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=أوامر أخرى LastOrders=Last %s customer orders diff --git a/htdocs/langs/ar_SA/other.lang b/htdocs/langs/ar_SA/other.lang index af86a545f5c..92f6ed52491 100644 --- a/htdocs/langs/ar_SA/other.lang +++ b/htdocs/langs/ar_SA/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=تدخل المصادق Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=فاتورة مصادق Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=من أجل الموافقة على المورد Notify_ORDER_SUPPLIER_REFUSE=من أجل رفض الموردين Notify_ORDER_VALIDATE=التحقق من صحة النظام العميل @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=إضافة الدخول في التقويم ق ٪ diff --git a/htdocs/langs/ar_SA/printing.lang b/htdocs/langs/ar_SA/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/ar_SA/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/ar_SA/productbatch.lang b/htdocs/langs/ar_SA/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/ar_SA/productbatch.lang +++ b/htdocs/langs/ar_SA/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index 945757cd0ef..94a84611d41 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -23,14 +23,14 @@ ProductOrService=المنتج أو الخدمة ProductsAndServices=المنتجات والخدمات ProductsOrServices=منتجات أو خدمات ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=المنتجات والخدمات والإحصاءات ProductsStatistics=المنتجات إحصاءات -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=إشارة الداخلية LastRecorded=آخر المنتجات والخدمات المسجلة على بيع @@ -44,7 +44,7 @@ CardProduct1=بطاقة الخدمة CardContract=عقد بطاقة Warehouse=مخزن Warehouses=المستودعات -WarehouseOpened=فتح مخزن +WarehouseOpened=Warehouse open WarehouseClosed=مخزن مغلق Stock=الأسهم Stocks=الاسهم @@ -71,21 +71,21 @@ SellingPriceTTC=سعر البيع (شركة الضريبية) PublicPrice=السعر العام CurrentPrice=السعر الحالي NewPrice=السعر الجديد -MinPrice=القطرة. سعر البيع -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=سعر البيع لا يمكن أن يكون أقل من الحد الأدنى المسموح لهذا المنتج (٪ ق بدون الضرائب) ContractStatus=عقد مركز ContractStatusClosed=مغلقة -ContractStatusRunning=على التوالي +ContractStatusRunning=Ongoing ContractStatusExpired=انتهى -ContractStatusOnHold=لا تعمل -ContractStatusToRun=To get running -ContractNotRunning=هذا العقد لا تعمل +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=منتج مع الإشارة ٪ ق موجود بالفعل. ErrorProductBadRefOrLabel=قيمة خاطئة لإشارة أو علامة. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=الموردين SupplierRef=المرجع المورد. ShowProduct=وتظهر المنتج @@ -117,12 +117,12 @@ ServiceLimitedDuration=إذا كان المنتج هو خدمة لفترة مح MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=عدد من السعر MultiPriceLevelsName=سعر الفئات -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=المنتسبون Translation=الترجمة KeywordFilter=الكلمة الرئيسية فلتر @@ -131,7 +131,7 @@ ProductToAddSearch=إضافة إلى البحث عن المنتج AddDel=إضافة / حذف Quantity=الكمية NoMatchFound=العثور على أي مباراة -ProductAssociationList=قائمة المنتجات المتعلقة / الخدمات : اسم المنتج / الخدمة (الكمية المتضررة) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=واحد من اختيار المنتج الأم الحالية المنتج DeleteProduct=حذف المنتجات / الخدمات @@ -179,16 +179,41 @@ CloneProduct=استنساخ المنتجات أو الخدمات ConfirmCloneProduct=هل أنت متأكد من أن المنتج أو الخدمة استنساخ ٪ ق؟ CloneContentProduct=استنساخ جميع المعلومات الرئيسية من المنتجات / الخدمات ClonePricesProduct=استنساخ الرئيسية معلومات والأسعار -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=ويستخدم هذا المنتج NewRefForClone=المرجع. من المنتجات الجديدة / خدمة -CustomerPrices=أسعار العملاء -SuppliersPrices=أسعار الموردين -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=قانون الجمارك CountryOrigin=بلد المنشأ HiddenIntoCombo=مخبأة في قوائم مختارة Nature=طبيعة +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 028bb4b69a2..692a7dea008 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=هذا الرأي يعرض جميع المشاريع ويسم ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=ويعرض هذا الرأي جميع المشاريع (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). MyTasksDesc=ويقتصر هذا الرأي على المشروعات أو المهام التي هي الاتصال للحصول على (ما هو نوع). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=هذا الرأي يعرض جميع المشاريع والمهام ويسمح لك قراءة. TasksDesc=هذا الرأي يعرض جميع المشاريع والمهام (أذونات المستخدم الخاص أعطى الصلاحية لعرض كل شيء). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=قائمة المشاريع ShowProject=وتبين للمشروع SetProject=وضع المشروع NoProject=لا يعرف أو المملوكة للمشروع -NbOpenTasks=ملاحظة : من مهام فتح +NbOpenTasks=Nb of open tasks NbOfProjects=ملاحظة : للمشاريع TimeSpent=الوقت الذي تستغرقه TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=جديد الوقت الذي يقضيه MyTimeSpent=وقتي قضى @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=قائمة التدخلات المرتبطة با ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=قائمة الإجراءات المرتبطة بالمشروع +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=نشاط المشروع هذا الاسبوع ActivityOnProjectThisMonth=نشاط المشروع هذا الشهر ActivityOnProjectThisYear=نشاط المشروع هذا العام @@ -95,7 +96,7 @@ DeleteATimeSpent=قضى الوقت حذف ConfirmDeleteATimeSpent=هل أنت متأكد أنك تريد حذف هذا الوقت الذي يقضيه؟ DoNotShowMyTasksOnly=انظر أيضا المهام الغير موكلة الي ShowMyTasksOnly=عرض فقط المهام الموكلة الي -TaskRessourceLinks=ملتقيات +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=مشاريع مخصصة لهذا الطرف الثالث NoTasks=أية مهام لهذا المشروع LinkedToAnotherCompany=ربط طرف ثالث آخر @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ar_SA/propal.lang b/htdocs/langs/ar_SA/propal.lang index 6e319c4587f..9102095dc15 100644 --- a/htdocs/langs/ar_SA/propal.lang +++ b/htdocs/langs/ar_SA/propal.lang @@ -4,7 +4,7 @@ Proposal=اقتراح التجارية ProposalShort=اقتراح ProposalsDraft=مقترحات مشاريع تجارية ProposalDraft=اقتراح لمشروع تجاري -ProposalsOpened=افتتح مقترحات تجارية +ProposalsOpened=Open commercial proposals Prop=مقترحات تجارية CommercialProposal=اقتراح التجارية CommercialProposals=مقترحات تجارية @@ -16,7 +16,7 @@ Prospect=احتمال ProspectList=احتمال قائمة DeleteProp=اقتراح حذف التجارية ValidateProp=مصادقة على اقتراح التجارية -AddProp=إضافة اقتراح +AddProp=Create proposal ConfirmDeleteProp=هل أنت متأكد من أنك تريد حذف هذا التجارية الاقتراح؟ ConfirmValidateProp=هل أنت متأكد من هذا التجارية للمصادقة على الاقتراح؟ LastPropals=آخر مقترحات ٪ @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=المبلغ في الشهر (بعد خصم الضر NbOfProposals=عدد من المقترحات والتجاري ShowPropal=وتظهر اقتراح PropalsDraft=المسودات -PropalsOpened=فتح +PropalsOpened=Open PropalsNotBilled=مغلقة لا توصف PropalStatusDraft=مشروع (لا بد من التحقق من صحة) PropalStatusValidated=صادق (اقتراح فتح) @@ -42,7 +42,7 @@ PropalStatusNotSigned=لم يتم التوقيع (مغلقة) PropalStatusBilled=فواتير PropalStatusDraftShort=مسودة PropalStatusValidatedShort=صادق -PropalStatusOpenedShort=فتح +PropalStatusOpenedShort=Open PropalStatusClosedShort=مغلقة PropalStatusSignedShort=وقعت PropalStatusNotSignedShort=لم يتم التوقيع @@ -51,12 +51,10 @@ PropalsToClose=مقترحات ليقفل التجارية PropalsToBill=ووقع على مشروع القانون التجاري مقترحات ListOfProposals=قائمة مقترحات تجارية ActionsOnPropal=الإجراءات على الاقتراح -NoOpenedPropals=فتحت أي مقترحات تجارية -NoOtherOpenedPropals=أي اقتراحات أخرى افتتح التجارية +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=اقتراح المرجع التجارية SendPropalByMail=اقتراح ارسال التجارية عن طريق البريد -FileNotUploaded=الملف ليس تحميل -FileUploaded=الملف بنجاح تحميلها AssociatedDocuments=الوثائق المرتبطة الاقتراح : ErrorCantOpenDir=لا نستطيع فتح الدليل DatePropal=تاريخ الاقتراح @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal ق لم يتم العثور على ٪ Estimate=التقدير : EstimateShort=التقدير OtherPropals=مقترحات أخرى -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=اقتراح إنشاء التجارية عن طريق نسخ وجود اقتراح CreateEmptyPropal=خلق خاليا التجارية vierge مقترحات أو من قائمة المنتجات / الخدمات DefaultProposalDurationValidity=تقصير مدة صلاحية اقتراح التجارية (أيام) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=اتصل العملاء اقتراح متا # Document models DocModelAzurDescription=اقتراح نموذج كامل (logo...) DocModelJauneDescription=اقتراح نموذج اليد الصفراء -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/ar_SA/salaries.lang b/htdocs/langs/ar_SA/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/ar_SA/salaries.lang +++ b/htdocs/langs/ar_SA/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ar_SA/sendings.lang b/htdocs/langs/ar_SA/sendings.lang index 56b60af94b8..de637e4c14b 100644 --- a/htdocs/langs/ar_SA/sendings.lang +++ b/htdocs/langs/ar_SA/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=وثيقة نموذج بسيط DocumentModelMerou=Mérou A5 نموذج WarningNoQtyLeftToSend=تحذير ، لا تنتظر أن المنتجات المشحونة. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=مسطح تاريخ التسليم +DateDeliveryPlanned=Planned date of delivery DateReceived=تلقى تاريخ التسليم SendShippingByEMail=ارسال شحنة عن طريق البريد الالكتروني SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index 8471a5db997..f35a1045369 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -5,7 +5,7 @@ Warehouses=المستودعات NewWarehouse=المستودع الجديد / بورصة المنطقة WarehouseEdit=تعديل مستودع MenuNewWarehouse=مستودع جديد -WarehouseOpened=فتح مخزن +WarehouseOpened=Warehouse open WarehouseClosed=مخزن مغلق WarehouseSource=مصدر مخزن WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=اختيار مستودع لاستخدامها SelectWarehouseForStockIncrease=اختيار مستودع لاستخدامها لزيادة المخزون NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ar_SA/suppliers.lang b/htdocs/langs/ar_SA/suppliers.lang index 3416148052d..149cddbc96a 100644 --- a/htdocs/langs/ar_SA/suppliers.lang +++ b/htdocs/langs/ar_SA/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ar_SA/trips.lang b/htdocs/langs/ar_SA/trips.lang index 5e026e3d0ff..8c1c2a2e30d 100644 --- a/htdocs/langs/ar_SA/trips.lang +++ b/htdocs/langs/ar_SA/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=قائمة الرسوم NewTrip=New expense report CompanyVisited=الشركة / المؤسسة زارت @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/ar_SA/users.lang b/htdocs/langs/ar_SA/users.lang index e0d5726d41b..08df7d7dfdf 100644 --- a/htdocs/langs/ar_SA/users.lang +++ b/htdocs/langs/ar_SA/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=إزالة من المجموعة PasswordChangedAndSentTo=تم تغيير كلمة المرور وترسل إلى ٪ ق. PasswordChangeRequestSent=طلب تغيير كلمة السر لإرسالها إلى ٪ ق ٪ ق. MenuUsersAndGroups=مجموعات المستخدمين +MenuMyUserCard=My user card LastGroupsCreated=ق الماضي خلق مجموعات ٪ LastUsersCreated=آخر مستخدمين خلق ق ٪ ShowGroup=وتبين لفريق diff --git a/htdocs/langs/ar_SA/workflow.lang b/htdocs/langs/ar_SA/workflow.lang index 7b8cc45f187..814be1785ad 100644 --- a/htdocs/langs/ar_SA/workflow.lang +++ b/htdocs/langs/ar_SA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=سير العمل وحدة الإعداد -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=لا يوجد سير العمل الذي يمكن تعديل وحدة لكنت قد قمت بتنشيط. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=إنشاء النظام العميل تلقائيا بعد التوقيع على اقتراح تجارية -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد التوقيع على اقتراح تجارية -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد التحقق من صحة العقد -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=إنشاء فاتورة العميل تلقائيا بعد إغلاق النظام العميل +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/bg_BG/accountancy.lang b/htdocs/langs/bg_BG/accountancy.lang index cf7fa6b6cc9..bdd524f9d35 100644 --- a/htdocs/langs/bg_BG/accountancy.lang +++ b/htdocs/langs/bg_BG/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 26563ac77b6..a0479974a7b 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Меню за потребители LangFile=.lang файл System=Система SystemInfo=Системна информация -SystemTools=Системни инструменти SystemToolsArea=Системни инструменти SystemToolsAreaDesc=Тук се предоставят административни функции. Използвайте менюто за да изберете функцията която търсите. Purge=Изчистване @@ -232,8 +231,8 @@ Security=Сигурност Passwords=Пароли DoNotStoreClearPassword=Да не се магазин ясни пароли в базата данни, но се съхранява само криптирана стойност (Активира се препоръчва) MainDbPasswordFileConfEncrypted=Парола за базата данни, кодирани в conf.php (Активира се препоръчва) -InstrucToEncodePass=За да имате парола кодирано в conf.php файл, замени линия
$ Dolibarr_main_db_pass = "..."
от
$ Dolibarr_main_db_pass = "криптирани: %s" -InstrucToClearPass=За да имате парола декодирана (ясно) в conf.php файл, сменете линия
$ Dolibarr_main_db_pass = "криптирани: ..."
от
$ Dolibarr_main_db_pass = "%s" +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=Защита на генерираните PDF файлове (активиран не се препоръчва, почивки поколение на маса PDF) ProtectAndEncryptPdfFilesDesc=Защита на PDF документ продължава да прочетете и отпечатате с всеки PDF браузър. Въпреки това, редактиране и копиране не е възможно повече. Имайте предвид, че използването на тази функция изграждането на глобална сборен PDF не работи (като неплатени фактури). Feature=Особеност @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Това е настройка на процеса: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Стъпка %s FindPackageFromWebSite=Намери пакет, който осигурява функция искате (например относно официалния уеб сайт %s). -DownloadPackageFromWebSite=Изтегляне на пакет %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install е завършен и Dolibarr е готов за използване с този нов компонент. NotExistsDirect=Алтернатива главната директория не е дефинирано.
InfDirAlt=От версия 3 е възможно да се определи алтернативен directory.This корен ви позволява да съхранявате, едно и също място, плъгини и собствени шаблони.
Просто създайте директория, в основата на Dolibarr (напр. по поръчка).
InfDirExample=
След това заяви в файла conf.php
$ Dolibarr_main_url_root_alt = 'http://myserver/custom "
$ Dolibarr_main_document_root_alt = "/ път / / dolibarr / htdocs / по избор"
* Тези линии са коментирани с "#", да разкоментирате само да премахнете характер. -YouCanSubmitFile=Изберете модул: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Текуща версия на Dolibarr CallUpdatePage=Отидете на страницата, която се актуализира структурата на базата данни и презареждане на: %s. LastStableVersion=Последна стабилна версия @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Библиотека използвана за направа на PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Обнови връзка @@ -492,8 +491,8 @@ Module400Name=Проекти/Възможности Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar интеграция -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Дневен ред Module2400Desc=Събития/задачи и управление на дневен ред Module2500Name=Електронно Управление на Съдържанието Module2500Desc=Запазване и споделяне на документи -Module2600Name=WebServices -Module2600Desc=Активирайте сървъра на Dolibarr за уеб услуги +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup спаси BackToModuleList=Обратно към списъка с модули BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=П. код CompanyTown=Град CompanyCountry=Държава CompanyCurrency=Основната валута +CompanyObject=Object of the company Logo=Logo DoNotShow=Не показвай DoNotSuggestPaymentMode=Да не предполагат NoActiveBankAccountDefined=Не е активна банкова сметка на определени OwnerOfBankAccount=Собственик на %s банкови сметки BankModuleNotActive=Банкови сметки модул не е активиран -ShowBugTrackLink=Показване на връзката "Доклад за бъг" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Показване на "инструментариума" на началната страница Alerts=Сигнали Delays=Закъснения @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Макс знака след десетичната за MAIN_MAX_DECIMALS_TOT=Макс знака след десетичната запетая за крайни цени MAIN_MAX_DECIMALS_SHOWN=Максималният брой десетични числа за цени, показан на екрана (... след тази цифра, ако искате да видите ... когато се отрязва номер, когато е показан на екрана) MAIN_DISABLE_PDF_COMPRESSION=Използвайте PDF компресия за генерираните PDF файлове. -MAIN_ROUNDING_RULE_TOT= Размер на закръгляване гама (за редките страни, където закръгляването се извършва върху нещо друго, отколкото база 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Нетен единичната цена на даден продукт TotalPriceAfterRounding=Обща цена (нето / с ДДС / с ДДС) след закръгляване ParameterActiveForNextInputOnly=Параметър ефективно само за следващия вход @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Общия брой на активираните YouMustEnableOneModule=Трябва да даде възможност на най-малко 1 модул ClassNotFoundIntoPathWarning=Class %s not found into PHP path YesInSummer=Yes in summer -OnlyFollowingModulesAreOpenedToExternalUsers=Имайте впредвид, че само следните модули са отворени за външни потребители (каквито и да са правата на тези потребители): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Session storage encrypted by Suhosin ConditionIsCurrently=Condition is currently %s YouUseBestDriver=You use driver %s that is best driver available currently. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Максимален брой продукти в к ConfirmDeleteProductLineAbility=Потвърждение при премахване на продуктови линии във форми ModifyProductDescAbility=Персонализация на описания на продукти във формите ViewProductDescInFormAbility=Визуализация на описания на продукти във формите (в противен случай като изскачащ прозорец подсказка) +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=Визуализация на продукти, описания в thirdparty език UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Подкрепа Eco-Taxe (ОЕЕО) SetDefaultBarcodeTypeProducts=Тип баркод по подразбиране за продукти SetDefaultBarcodeTypeThirdParties=Тип баркод по подразбиране за трети страни +UseUnits=Support units ProductCodeChecker= Модул за генериране и проверка на кода на продукта (продукт или услуга) ProductOtherConf= Продукт / услуга конфигурация ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Баркод от тип UPC BarcodeDescISBN=Баркод от тип ISBN BarcodeDescC39=Баркод от типа С39 BarcodeDescC128=Баркод от тип 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=WebServices модул за настройка WebServicesDesc=С активирането на този модул, Dolibarr се превърне в уеб сървъра на услугата за предоставяне на различни уеб услуги. WSDLCanBeDownloadedHere=WSDL ЕВРОВОК файлове на предоставяните услуги може да изтеглите от тук EndPointIs=SOAP клиентите трябва да изпратят своите заявки на разположение на Адреса на крайна точка Dolibarr +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Модул за настройка на банката FreeLegalTextOnChequeReceipts=Свободен текст чековите разписки @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/bg_BG/banks.lang b/htdocs/langs/bg_BG/banks.lang index 8644681b941..bdf879746b1 100644 --- a/htdocs/langs/bg_BG/banks.lang +++ b/htdocs/langs/bg_BG/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Помирение ConciliationForAccount=Reconcile тази сметка IncludeClosedAccount=Включват затворени сметки -OnlyOpenedAccount=Само открити сметки +OnlyOpenedAccount=Only open accounts AccountToCredit=Профил на кредитен AccountToDebit=Сметка за дебитиране DisableConciliation=Деактивирате функцията помирение за тази сметка ConciliationDisabled=Помирение функция инвалиди -StatusAccountOpened=Отворен +StatusAccountOpened=Open StatusAccountClosed=Затворен AccountIdShort=Номер EditBankRecord=Редактиране на запис diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index eacfbd69a02..0386adb4023 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Непосредствен @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/bg_BG/boxes.lang b/htdocs/langs/bg_BG/boxes.lang index 3baced62eb9..3b09c8c20ff 100644 --- a/htdocs/langs/bg_BG/boxes.lang +++ b/htdocs/langs/bg_BG/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Последните договори BoxLastContacts=Последните контакти/адреси BoxLastMembers=Последните членове BoxFicheInter=Последните намеси -BoxCurrentAccounts=Открити сметки баланс +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Оборот от продажби BoxTotalUnpaidCustomerBills=Общо неплатени фактури на клиента BoxTotalUnpaidSuppliersBills=Общо неплатени фактури на доставчика @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Последни %s членове BoxTitleLastFicheInter=Последните %s променени intervention BoxTitleOldestUnpaidCustomerBills=Най-стари %s неплатени клиентски фактури BoxTitleOldestUnpaidSupplierBills=Най-стари %s неплатени фактури доставчик -BoxTitleCurrentAccounts=Открити сметки баланси +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Оборот от продажби BoxTitleTotalUnpaidCustomerBills=Неплатени клиентски фактури BoxTitleTotalUnpaidSuppliersBills=Неплатени доставни фактури diff --git a/htdocs/langs/bg_BG/categories.lang b/htdocs/langs/bg_BG/categories.lang index c38713bb228..2b835bdfdf4 100644 --- a/htdocs/langs/bg_BG/categories.lang +++ b/htdocs/langs/bg_BG/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s е добавен успешно. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Няма NotCategorized=Without tag/category CategoryExistsAtSameLevel=Тази категория вече съществува с този код @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Съдържанието не е видимо от CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo / Prosp. категории @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/bg_BG/companies.lang b/htdocs/langs/bg_BG/companies.lang index c33043c5f38..037ed49bebe 100644 --- a/htdocs/langs/bg_BG/companies.lang +++ b/htdocs/langs/bg_BG/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Връщане Numero с формат %syymm-NNNN за клиента код и %syymm-NNNN за доставчика код, където YY е годината, mm е месец и NNNN е последователност, без почивка и няма връщане назад до 0. LeopardNumRefModelDesc=Кодът е безплатно. Този код може да бъде променен по всяко време. ManagingDirectors=Наименование на управител(и) (гл. изп. директор, директор, президент...) -SearchThirdparty=Търсене на трети лица +SearchThirdparty=Search third party SearchContact=Търсене на контакт +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/bg_BG/cron.lang b/htdocs/langs/bg_BG/cron.lang index 39c37094ded..73d24596bc0 100644 --- a/htdocs/langs/bg_BG/cron.lang +++ b/htdocs/langs/bg_BG/cron.lang @@ -4,10 +4,10 @@ About = За CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Начална дата CronDtEnd=Крайна дата CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Метод CronModule=Модул CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Параметри CronSaveSucess=Save succesfully CronNote=Коментар @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Информация # Common -CronType=Тип на задачата +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Терминална команда CronMenu=Крон (софтуер за изпънение на автоматични задачи) CronCannotLoadClass=Неможе да се зареди класа %s или обекта %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index 167445d56a1..c054bcb152b 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Задължителни параметри на настройката все още не са определени diff --git a/htdocs/langs/bg_BG/incoterm.lang b/htdocs/langs/bg_BG/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/bg_BG/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index 8f31aacacc0..2cef87323e0 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Сървъра на база данни - достъп CheckToCreateDatabase=Отметка в квадратчето, ако базата данни не съществува и трябва да бъде създаден.
В този случай, трябва да попълните потребителско име / парола за за суперпотребител сметка в долната част на тази страница. CheckToCreateUser=Отметка в квадратчето, ако собственик на базата данни не съществува и трябва да бъде създаден.
В този случай, трябва да изберете потребителско име и парола и да попълните име / парола за суперпотребител сметка в долната част на тази страница. Ако това поле не е отметнато, собственик на база данни и пароли трябва да съществува. Experimental=(Експериментален) +Deprecated=(deprecated) DatabaseRootLoginDescription=Вход на потребителя е разрешено да създавате нови бази данни или нови потребители, безполезна, ако вашата база данни и потребителско име база данни вече съществува (като, когато сте домакин на уеб доставчик на хостинг услуги). KeepEmptyIfNoPassword=Оставете празно, ако потребителят не разполага с парола (да се избягва този) SaveConfigurationFile=Запиши стойности diff --git a/htdocs/langs/bg_BG/languages.lang b/htdocs/langs/bg_BG/languages.lang index f3fd393cedb..97974c8beea 100644 --- a/htdocs/langs/bg_BG/languages.lang +++ b/htdocs/langs/bg_BG/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Арабски Language_ar_SA=Арабски +Language_bn_BD=Bengali Language_bg_BG=Български Language_bs_BA=Босненски Language_ca_ES=Каталонски @@ -21,9 +22,10 @@ Language_en_SA=English (Саудитска Арабия) Language_en_US=English (United States) Language_en_ZA=English (Южна Африка) Language_es_ES=Испански -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Испански (Аржентина) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Испански (Хондурас) Language_es_MX=Испански (Мексико) Language_es_PY=Испански (Парагвай) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Исландски Language_it_IT=Италиански Language_ja_JP=Японски +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Корейски +Language_lo_LA=Lao Language_lt_LT=Литовски Language_lv_LV=Латвийски Language_mk_MK=Македонски @@ -64,6 +69,7 @@ Language_sv_SV=Шведски Language_sv_SE=Шведски Language_sq_AL=Албански Language_sk_SK=Словашки +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Украински Language_uz_UZ=Узбекски diff --git a/htdocs/langs/bg_BG/loan.lang b/htdocs/langs/bg_BG/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/bg_BG/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/bg_BG/mails.lang b/htdocs/langs/bg_BG/mails.lang index 003c2d40637..f57e1ac1d3b 100644 --- a/htdocs/langs/bg_BG/mails.lang +++ b/htdocs/langs/bg_BG/mails.lang @@ -77,7 +77,7 @@ CheckRead=Обратна разписка YourMailUnsubcribeOK=От пощенския списък на %s имейл е правилно unsubcribe MailtoEMail=Хипер-връзка на приятел ActivateCheckRead=Оставя се да се използва за четене тракер получаване и връзката unsubcribe -ActivateCheckReadKey=Key използване за криптиране на използването на URL адрес за обратна разписка и функция unsubcribe +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index b291c22fcd3..4ac02e7600c 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Единична цена (нето) UnitPriceTTC=Единична цена PriceU=U.P. PriceUHT=U.P. (нето) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Размер AmountInvoice=Фактурирана стойност @@ -413,6 +413,8 @@ Qty=Количество ChangedBy=Променено от ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Успех ResultKo=Провал @@ -421,7 +423,7 @@ Reportings=Докладване Draft=Чернова Drafts=Чернови Validated=Потвърден -Opened=Отворен +Opened=Open New=Нов Discount=Отстъпка Unknown=Неизвестен @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Свързано с даден контакт на пот DeleteAFile=Изтриване на файл ConfirmDeleteAFile=Сигурни ли сте, че елаете да изтриете файла NoResults=Няма намерени резултати +SystemTools=System tools ModulesSystemTools=Modules tools Test=Тест Element=Елемент @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Понеделник Tuesday=Вторник @@ -732,3 +738,4 @@ ShortThursday=Ч ShortFriday=П ShortSaturday=С ShortSunday=Н +SelectMailModel=Select email template diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index 4c2ecd6f2d6..16c6247c17e 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Доставчик за SuppliersOrders=Доставчик поръчки SuppliersOrdersRunning=Доставчика за поръчки CustomerOrder=Клиента заявка -CustomersOrders=Customers orders -CustomersOrdersRunning=На клиента за поръчки -CustomersOrdersAndOrdersLines=Клиентските поръчки и реда линии -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Доставчик нареждания за обработка на +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Отменен StatusOrderDraftShort=Проект StatusOrderValidatedShort=Утвърден @@ -75,8 +75,9 @@ AddToMyOrders=Добави към моите заповеди AddToOtherOrders=Добави към други поръчки AddToDraftOrders=Add to draft order ShowOrder=Покажи за -NoOpenedOrders=Не са открити поръчки -NoOtherOpenedOrders=Няма други поръчки +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Други поръчки LastOrders=Last %s customer orders diff --git a/htdocs/langs/bg_BG/other.lang b/htdocs/langs/bg_BG/other.lang index 55710fc727e..623efc8863c 100644 --- a/htdocs/langs/bg_BG/other.lang +++ b/htdocs/langs/bg_BG/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Интервенция валидирани Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Клиентът фактура се заверява Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Доставчик утвърдения Notify_ORDER_SUPPLIER_REFUSE=Доставчик за отказа Notify_ORDER_VALIDATE=Клиента заявка се заверява @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=Необходимо е да щтракнете върху следния линк за да потвърдите промяната на паролата ForgetIfNothing=Ако не сте заявили промяната, просто забравете за този имейл. Вашите идентификационни данни се съхраняват на сигурно място. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Добави запис в календара %s diff --git a/htdocs/langs/bg_BG/printing.lang b/htdocs/langs/bg_BG/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/bg_BG/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/bg_BG/productbatch.lang b/htdocs/langs/bg_BG/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/bg_BG/productbatch.lang +++ b/htdocs/langs/bg_BG/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index a4a601493bd..24022c3a14b 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -23,14 +23,14 @@ ProductOrService=Продукт или Услуга ProductsAndServices=Продукти и Услуги ProductsOrServices=Продукти или Услуги ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Статистика на Продукти и Услуги ProductsStatistics=Статистика на продукти -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Вътрешна препратка LastRecorded=Последните записани продукти / услуги по продажба @@ -44,7 +44,7 @@ CardProduct1=Карта на услуга CardContract=Карта на контакт Warehouse=Склад Warehouses=Складове -WarehouseOpened=Склада е отворен +WarehouseOpened=Warehouse open WarehouseClosed=Склада е затворен Stock=Наличност Stocks=Наличности @@ -71,21 +71,21 @@ SellingPriceTTC=Продажна цена (с ДДС) PublicPrice=Публична цена CurrentPrice=Текуща цена NewPrice=Нова цена -MinPrice=Миним. продажна цена -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Продажната цена не може да бъде по-ниска от максимално допустимата за този продукт (%s без ДДС). Това съобщение може да се появи, ако въведете твърде важна отстъпка. ContractStatus=Състояние на договор ContractStatusClosed=Затворен -ContractStatusRunning=Работи +ContractStatusRunning=Ongoing ContractStatusExpired=изтекъл -ContractStatusOnHold=Не работи -ContractStatusToRun=To get running -ContractNotRunning=Този договор не се изпълнява +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Вече съществува продукт с референция %s . ErrorProductBadRefOrLabel=Грешна стойност за референция или етикет. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Доставчици SupplierRef=Продукт доставчик изх. ShowProduct=Покажи продукт @@ -117,12 +117,12 @@ ServiceLimitedDuration=Ако продуктът е услуга с ограни MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Категории цени -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Асоцииране Translation=Превод KeywordFilter=Филтър по ключова дума @@ -131,7 +131,7 @@ ProductToAddSearch=Търсене на продукт за добавяне AddDel=Добавяне/Изтриване Quantity=Количество NoMatchFound=Не са намерени съвпадения -ProductAssociationList=Списък на продукти / услуги, свързани с: име на продукта / услугата (количество засегнати) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Един от избрания продукт е родител с настоящия продукт DeleteProduct=Изтриване на продукта/услугата @@ -179,16 +179,41 @@ CloneProduct=Клониране на продукт или услуга ConfirmCloneProduct=Сигурни ли сте, че желаете да клонирате продукта или услугата %s?? CloneContentProduct=Клониране на всички основни данни за продукта/услугата ClonePricesProduct=Клониране на основните данни и цени -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Този продукт е използван NewRefForClone=Реф. на нов продукт/услуга -CustomerPrices=Цени за клиенти -SuppliersPrices=Цени на доставцици -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Държава на произход HiddenIntoCombo=Hidden into select lists Nature=Природа +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Създаване на карта на продукт @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index bac8cef7acc..1ef48982866 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Този възглед представя всички пр ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Този възглед представя всички проекти (потребителски разрешения ви даде разрешение да видите всичко). MyTasksDesc=Тази гледна точка е ограничена до проекти или задачи, които са контакт (какъвто и да е тип). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Този възглед представя всички проекти и задачи, които може да чете. TasksDesc=Този възглед представя всички проекти и задачи (потребителски разрешения ви даде разрешение да видите всичко). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Списък на проектите ShowProject=Покажи проект SetProject=Задайте проект NoProject=Нито един проект няма определени или собственост -NbOpenTasks=Nb отворени задачи +NbOpenTasks=Nb of open tasks NbOfProjects=Nb на проекти TimeSpent=Времето, прекарано TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Времето, прекарано на MyTimeSpent=Времето, прекарано @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Списък на интервенциите, с ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Списък на събития, свързани с проекта +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Дейности в проекта тази седмица ActivityOnProjectThisMonth=Дейност по проект, този месец ActivityOnProjectThisYear=Дейности в проекта тази година @@ -95,7 +96,7 @@ DeleteATimeSpent=Изтриване на времето, прекарано ConfirmDeleteATimeSpent=Сигурен ли сте, че искате да изтриете това време, прекарано? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Проекти, насочени към тази трета страна NoTasks=Няма задачи за този проект LinkedToAnotherCompany=Свързано с друга трета страна @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Свържете със средство за да определите времето +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/bg_BG/propal.lang b/htdocs/langs/bg_BG/propal.lang index 95ebedf7d85..7e9c21e13b7 100644 --- a/htdocs/langs/bg_BG/propal.lang +++ b/htdocs/langs/bg_BG/propal.lang @@ -4,7 +4,7 @@ Proposal=Търговско предложение ProposalShort=Предложение ProposalsDraft=Проектът на търговски предложения ProposalDraft=Проект на търговско предложение -ProposalsOpened=Отворените търговски предложения +ProposalsOpened=Open commercial proposals Prop=Търговски предложения CommercialProposal=Търговско предложение CommercialProposals=Търговски предложения @@ -16,7 +16,7 @@ Prospect=Перспектива ProspectList=Prospect списък DeleteProp=Изтриване на търговско предложение ValidateProp=Одобряване на търговско предложение -AddProp=Добави предложението +AddProp=Create proposal ConfirmDeleteProp=Сигурен ли сте, че искате да изтриете тази търговска предложение? ConfirmValidateProp=Сигурен ли сте, че искате да проверите това търговско предложение? LastPropals=Последните предложения %s @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Сума от месец (нетно от данъц NbOfProposals=Брой на търговски предложения ShowPropal=Покажи предложение PropalsDraft=Чернови -PropalsOpened=Отворен +PropalsOpened=Open PropalsNotBilled=Затворен не таксувани PropalStatusDraft=Проект (трябва да бъдат валидирани) PropalStatusValidated=Утвърден (предложението е отворен) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Не сте (затворен) PropalStatusBilled=Таксува PropalStatusDraftShort=Проект PropalStatusValidatedShort=Утвърден -PropalStatusOpenedShort=Отворен +PropalStatusOpenedShort=Open PropalStatusClosedShort=Затворен PropalStatusSignedShort=Подписан PropalStatusNotSignedShort=Не сте @@ -51,12 +51,10 @@ PropalsToClose=Търговски предложения, за да го зат PropalsToBill=Подписани търговски предложения законопроект ListOfProposals=Списък на търговски предложения ActionsOnPropal=Събития по предложение -NoOpenedPropals=Не са открити търговски предложения -NoOtherOpenedPropals=Няма други отворени търговски предложения +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Търговско предложение код SendPropalByMail=Изпратете търговско предложение по пощата -FileNotUploaded=Файлът не е качен -FileUploaded=Файлът е качен успешно AssociatedDocuments=Документи, свързани с предложението: ErrorCantOpenDir=Не мога да отворя директорията DatePropal=Дата на предложението @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s не е намерена Estimate=Оцени: EstimateShort=Преценка OtherPropals=Други предложения -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Създаване на търговско предложение копиране съществуващото предложение CreateEmptyPropal=Създаване на празен търговски vierge предложения или от списъка на продуктите / услугите DefaultProposalDurationValidity=Default търговски продължителност предложение на валидност (в дни) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=Контакт с клиентите сле # Document models DocModelAzurDescription=Цялостен модел за предложение (logo. ..) DocModelJauneDescription=Jaune предложение модел -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/bg_BG/salaries.lang b/htdocs/langs/bg_BG/salaries.lang index b5b74bc1035..44e93f50da8 100644 --- a/htdocs/langs/bg_BG/salaries.lang +++ b/htdocs/langs/bg_BG/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/bg_BG/sendings.lang b/htdocs/langs/bg_BG/sendings.lang index 71f689c32dd..5e5cb41a298 100644 --- a/htdocs/langs/bg_BG/sendings.lang +++ b/htdocs/langs/bg_BG/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Обикновено документ модел DocumentModelMerou=Merou A5 модел WarningNoQtyLeftToSend=Внимание, няма продукти, които чакат да бъдат изпратени. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Нарязани датата на доставка +DateDeliveryPlanned=Planned date of delivery DateReceived=Дата на доставка SendShippingByEMail=Изпращане на пратка по имейл SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index 46623620792..ac66d71557b 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Складове NewWarehouse=Нов склад WarehouseEdit=Промяна на склад MenuNewWarehouse=Нов склад -WarehouseOpened=Склада е отворен +WarehouseOpened=Warehouse open WarehouseClosed=Склада е затворен WarehouseSource=Изпращащ склад WarehouseSourceNotDefined=Няма зададен склад, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Изберете склад, да се изпо SelectWarehouseForStockIncrease=Изберете склад, да се използва за увеличение на склад NoStockAction=No stock action LastWaitingSupplierOrders=Поръчки чакат за приеми -DesiredStock=Желана наличност +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Вирт. наличност CurentlyUsingPhysicalStock=Факт. наличност RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Само известия WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=За този склад -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Попълване NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/bg_BG/suppliers.lang b/htdocs/langs/bg_BG/suppliers.lang index 67f85043e38..c8889046b00 100644 --- a/htdocs/langs/bg_BG/suppliers.lang +++ b/htdocs/langs/bg_BG/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=Списък на нарежданията за доставчика MenuOrdersSupplierToBill=Поръчки на доставчика за фактуриране NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/bg_BG/trips.lang b/htdocs/langs/bg_BG/trips.lang index cf20af222e5..d6cac260778 100644 --- a/htdocs/langs/bg_BG/trips.lang +++ b/htdocs/langs/bg_BG/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Списък на такси NewTrip=New expense report CompanyVisited=Фирмата/организацията е посетена @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/bg_BG/users.lang b/htdocs/langs/bg_BG/users.lang index cd53dfb8c2c..2710d84ff2b 100644 --- a/htdocs/langs/bg_BG/users.lang +++ b/htdocs/langs/bg_BG/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Премахване от групата PasswordChangedAndSentTo=Паролата е сменена и изпратена на %s. PasswordChangeRequestSent=Заявка за промяна на паролата на %s, е изпратена на %s. MenuUsersAndGroups=Потребители и Групи +MenuMyUserCard=My user card LastGroupsCreated=Последните %s създадени групи LastUsersCreated=Последните %s създадени потребители ShowGroup=Показване на групата diff --git a/htdocs/langs/bg_BG/workflow.lang b/htdocs/langs/bg_BG/workflow.lang index c79cc9bdef8..e101503f4da 100644 --- a/htdocs/langs/bg_BG/workflow.lang +++ b/htdocs/langs/bg_BG/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Настройки на модул Workflow -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Не е работния процес, можете да модифицирате за модул сте активирали. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Създаване на заявка на клиента автоматично, след като е подписано търговско предложение -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Създаване на фактура на клиента автоматично, след като е подписано търговско предложение -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Създаване на фактура на клиента автоматично след договор е потвърден -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Създаване на фактура на клиента се затваря автоматично след поръчка на клиента +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Класифицира свързан източник на предложение за Плоскоклюн при поръчка на клиента на платен descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/bn_BD/accountancy.lang b/htdocs/langs/bn_BD/accountancy.lang new file mode 100644 index 00000000000..40e2b65db42 --- /dev/null +++ b/htdocs/langs/bn_BD/accountancy.lang @@ -0,0 +1,166 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? + +Accounting=Accounting +Globalparameters=Global parameters +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +Menuaccount=Accounting accounts +Menuthirdpartyaccount=Thirdparty accounts +MenuTools=Tools + +ConfigAccountingExpert=Configuration of the module accounting expert +Journaux=Journals +JournalFinancial=Financial journals +Exports=Exports +Export=Export +Modelcsv=Model of export +OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +Selectmodelcsv=Select a model of export +Modelcsv_normal=Classic export +Modelcsv_CEGID=Export towards CEGID Expert +BackToChartofaccounts=Return chart of accounts +Back=Return + +Definechartofaccounts=Define a chart of accounts +Selectchartofaccounts=Select a chart of accounts +Validate=Validate +Addanaccount=Add an accounting account +AccountAccounting=Accounting account +Ventilation=Breakdown +ToDispatch=To dispatch +Dispatched=Dispatched + +CustomersVentilation=Breakdown customers +SuppliersVentilation=Breakdown suppliers +TradeMargin=Trade margin +Reports=Reports +ByCustomerInvoice=By invoices customers +ByMonth=By Month +NewAccount=New accounting account +Update=Update +List=List +Create=Create +UpdateAccount=Modification of an accounting account +UpdateMvts=Modification of a movement +WriteBookKeeping=Record accounts in general ledger +Bookkeeping=General ledger +AccountBalanceByMonth=Account balance by month + +AccountingVentilation=Breakdown accounting +AccountingVentilationSupplier=Breakdown accounting supplier +AccountingVentilationCustomer=Breakdown accounting customer +Line=Line + +CAHTF=Total purchase supplier HT +InvoiceLines=Lines of invoice to be ventilated +InvoiceLinesDone=Ventilated lines of invoice +IntoAccount=In the accounting account + +Ventilate=Ventilate +VentilationAuto=Automatic breakdown + +Processing=Processing +EndProcessing=The end of processing +AnyLineVentilate=Any lines to ventilate +SelectedLines=Selected lines +Lineofinvoice=Line of invoice +VentilatedinAccount=Ventilated successfully in the accounting account +NotVentilatedinAccount=Not ventilated in the accounting account + +ACCOUNTING_SEPARATORCSV=Column separator in export file + +ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements + +AccountLength=Length of the accounting accounts shown in Dolibarr +AccountLengthDesc=Function allowing to feign a length of accounting account by replacing spaces by the zero figure. This function touches only the display, it does not modify the accounting accounts registered in Dolibarr. For the export, this function is necessary to be compatible with certain software. +ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounts +ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts + +ACCOUNTING_SELL_JOURNAL=Sell journal +ACCOUNTING_PURCHASE_JOURNAL=Purchase journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal +ACCOUNTING_SOCIAL_JOURNAL=Social journal + +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer +ACCOUNTING_ACCOUNT_SUSPENSE=Account of wait + +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (if not defined in the product sheet) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (if not defined in the product sheet) +ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) + +Doctype=Type of document +Docdate=Date +Docref=Reference +Numerocompte=Account +Code_tiers=Thirdparty +Labelcompte=Label account +Debit=Debit +Credit=Credit +Amount=Amount +Sens=Sens +Codejournal=Journal + +DelBookKeeping=Delete the records of the general ledger + +SellsJournal=Sells journal +PurchasesJournal=Purchases journal +DescSellsJournal=Sells journal +DescPurchasesJournal=Purchases journal +BankJournal=Bank journal +DescBankJournal=Bank journal including all the types of payments other than cash +CashJournal=Cash journal +DescCashJournal=Cash journal including the type of payment cash + +CashPayment=Cash Payment + +SupplierInvoicePayment=Payment of invoice supplier +CustomerInvoicePayment=Payment of invoice customer + +ThirdPartyAccount=Thirdparty account + +NewAccountingMvt=New movement +NumMvts=Number of movement +ListeMvts=List of the movement +ErrorDebitCredit=Debit and Credit cannot have a value at the same time + +ReportThirdParty=List thirdparty account +DescThirdPartyReport=Consult here the list of the thirdparty customers and the suppliers and their accounting accounts + +ListAccounts=List of the accounting accounts + +Pcgversion=Version of the plan +Pcgtype=Class of account +Pcgsubtype=Under class of account +Accountparent=Root of the account +Active=Statement + +NewFiscalYear=New fiscal year + +DescVentilCustomer=Consult here the annual breakdown accounting of your invoices customers +TotalVente=Total turnover HT +TotalMarge=Total sales margin +DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their accounting account +DescVentilTodoCustomer=Ventilate your lines of customer invoice with an accounting account +ChangeAccount=Change the accounting account for lines selected by the account: +Vide=- +DescVentilSupplier=Consult here the annual breakdown accounting of your invoices suppliers +DescVentilTodoSupplier=Ventilate your lines of invoice supplier with an accounting account +DescVentilDoneSupplier=Consult here the list of the lines of invoices supplier and their accounting account + +ValidateHistory=Validate Automatically + +ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used + +FicheVentilation=Breakdown card diff --git a/htdocs/langs/bn_BD/admin.lang b/htdocs/langs/bn_BD/admin.lang new file mode 100644 index 00000000000..1af79f8b17a --- /dev/null +++ b/htdocs/langs/bn_BD/admin.lang @@ -0,0 +1,1642 @@ +# Dolibarr language file - Source file is en_US - admin +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--
%s +ModeWarning=Option for real mode was not set, we stop after this simulation diff --git a/htdocs/langs/bn_BD/workflow.lang b/htdocs/langs/bn_BD/workflow.lang new file mode 100644 index 00000000000..fe8791515c2 --- /dev/null +++ b/htdocs/langs/bn_BD/workflow.lang @@ -0,0 +1,11 @@ +# Dolibarr language file - Source file is en_US - admin +WorkflowSetup=Workflow module setup +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/bs_BA/accountancy.lang b/htdocs/langs/bs_BA/accountancy.lang index 0561ee194d6..17c4a8bac6c 100644 --- a/htdocs/langs/bs_BA/accountancy.lang +++ b/htdocs/langs/bs_BA/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Računovodstvo Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index efe5ae4147e..93b9f05e5ec 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Zaštita PDF dokument drži ga na raspolaganju za čitanje i printanje za bilo kojiPDF preglednikom. Međutim, uređivanje i kopiranje nije moguće. Imajte na umu da koristite ovu funkciju čine izgradnju globalne kumulirane pdf fajlove ne radi (kao što su neplaćeni računi). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Ove postavke su za procesuiranje: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Postavke snimljene BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Defaultni tip barkoda koji se koristi za treće stranke +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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=Menadžer za automatsko određivanje barkod brojeva @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index 8ec490d7e5f..0c8960b834f 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -94,12 +94,12 @@ Conciliate=Izmiriti Conciliation=Podmirivanje ConciliationForAccount=Izmiriti ovaj račun IncludeClosedAccount=Uključiti zatvorene račune -OnlyOpenedAccount=Samo otvoreni računi +OnlyOpenedAccount=Only open accounts AccountToCredit=Račun za potraživanja AccountToDebit=Račun za zaduživanje DisableConciliation=Isključi opciju podmirenja za ovaj račun ConciliationDisabled=Opcija podmirivanja isključena -StatusAccountOpened=Otvoreno +StatusAccountOpened=Open StatusAccountClosed=Zatvoreno AccountIdShort=Broj EditBankRecord=Uredi zapis diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index 2ccb041fd4f..c72b0d39d6e 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Odmah @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/bs_BA/boxes.lang b/htdocs/langs/bs_BA/boxes.lang index 6b13f5176ff..181c237b40b 100644 --- a/htdocs/langs/bs_BA/boxes.lang +++ b/htdocs/langs/bs_BA/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Zadnji ugovori BoxLastContacts=Zadnji kontakti/adrese BoxLastMembers=Zadnji članovi BoxFicheInter=Zadnje intervencije -BoxCurrentAccounts=Stanje otvorenih računa +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Ukupno neplaćenih faktura kupca BoxTotalUnpaidSuppliersBills=Ukupno neplaćenih faktura dobavljača @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Zadnjih %s izmijenjenih intervencija BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Stanja otvorenog računa +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/bs_BA/categories.lang b/htdocs/langs/bs_BA/categories.lang index 1e2151b4945..95e3b13a40c 100644 --- a/htdocs/langs/bs_BA/categories.lang +++ b/htdocs/langs/bs_BA/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s je uspješno dodan/a. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Ništa NotCategorized=Without tag/category CategoryExistsAtSameLevel=Već postoji kategorija sa ovom referencom @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Sadržaj nije vidljiv svima CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/bs_BA/companies.lang b/htdocs/langs/bs_BA/companies.lang index 94c67f22f85..506c38a7efe 100644 --- a/htdocs/langs/bs_BA/companies.lang +++ b/htdocs/langs/bs_BA/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Fiksni popust dostupan DiscountNone=Ništa Supplier=Dobavljač CompanyList=Lista kompanije -AddContact=Dodaj kontakt -AddContactAddress=Dodaj kontakt/adresu +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Uredi kontakt EditContactAddress=Uredi kontakt/adresu Contact=Kontakt @@ -268,8 +268,8 @@ ContactsAddresses=Kontakti/Adrese NoContactDefinedForThirdParty=Nema definiranih kontakata za ovaj subjekt NoContactDefined=Nijedan kontakt definiran DefaultContact=Defaultni kontakt/adresa -AddCompany=Dodaj kompaniju -AddThirdParty=Dodaj subjekta +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Obrisati kompaniju PersonalInformations=Osobni podaci AccountancyCode=Šifra računovodstva @@ -379,8 +379,8 @@ DeliveryAddressLabel=Oznaka za adresu za dostavu DeleteDeliveryAddress=Obrisani adresu za dostavu ConfirmDeleteDeliveryAddress=Jeste li sigurni da želite obrisati ovu adresu za dostavu? NewDeliveryAddress=Nova adresa za dostavu -AddDeliveryAddress=Dodaj adresu -AddAddress=Dodaj adresu +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=Nema definisane alternativne adrese za dostavu SupplierCategory=Kategorija dobavljača JuridicalStatus200=Nezavisno @@ -410,5 +410,10 @@ OutstandingBillReached=Dostugnut je max. za neplaćeni račun MonkeyNumRefModelDesc=Vratiti broj sa formatom %syymm-nnnn za šifru kupca i $syymm-nnnn za šifru dobavljača gdje je yy godina, mm mjesec i nnnn niz bez prekida i bez vraćanja za 0. LeopardNumRefModelDesc=Ova šifra je slobodna. Ova šifra se može mijenjati bilo kad. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/bs_BA/cron.lang b/htdocs/langs/bs_BA/cron.lang index c3144314bef..c611a909dff 100644 --- a/htdocs/langs/bs_BA/cron.lang +++ b/htdocs/langs/bs_BA/cron.lang @@ -4,10 +4,10 @@ About = O programu CronAbout = O Cron-u CronAboutPage = Stranica o Cron-u # Right -Permission23101 = Pročitaj redovne zadatke -Permission23102 = Kreiraj/Ažuriraj redovni zadatak -Permission23103 = Obriši redovan zadatak -Permission23104 = Izvrši redovan zadatak +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Izvještaj o zadnjem pokretanju CronLastResult=Šifra rezultat zadnjeg pokretanja CronListOfCronJobs=Lista redovnih poslova CronCommand=Komanda -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Datum početka CronDtEnd=End date CronDtNextLaunch=Sljedeće izvršenje CronDtLastLaunch=Zadnje izvršenje -CronFrequency=Frekvencija -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metoda CronModule=Modul CronAction=Akcija @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Dodaj posao -CronHourStart= Vrijeme početka i datum zadatka -CronEvery= I izvrši zadatak vaki -CronObject= Instanca/Objekat za kreirati +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instanca/Objekat za kreirati CronArgs=PArametri CronSaveSucess=Save succesfully CronNote=Komentar @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Inromacije # Common -CronType=Tip zadatka +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell komanda CronMenu=Cron CronCannotLoadClass=Ne može se otvoriti klada %s ili objekat %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/bs_BA/incoterm.lang b/htdocs/langs/bs_BA/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/bs_BA/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/bs_BA/languages.lang b/htdocs/langs/bs_BA/languages.lang index 35316b980da..f6a1db84373 100644 --- a/htdocs/langs/bs_BA/languages.lang +++ b/htdocs/langs/bs_BA/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arapski Language_ar_SA=Arapski +Language_bn_BD=Bengali Language_bg_BG=Bugarski Language_bs_BA=Bosanski Language_ca_ES=Katalonski @@ -21,9 +22,10 @@ Language_en_SA=Engleski (Saudijska Arabija) Language_en_US=Engleski (United States) Language_en_ZA=Engleski (Južna Afrika) Language_es_ES=Španski -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Španjolski (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Španjolski (Honduras) Language_es_MX=Španjolski (Meksiko) Language_es_PY=Španjolski (Paragvaj) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Islandski Language_it_IT=Italijanski Language_ja_JP=Japanski +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korejski +Language_lo_LA=Lao Language_lt_LT=Litvanski Language_lv_LV=Letonski Language_mk_MK=Makedonski @@ -64,6 +69,7 @@ Language_sv_SV=Švedski Language_sv_SE=Švedski Language_sq_AL=Albanian Language_sk_SK=Slovački +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrajinski Language_uz_UZ=Uzbek diff --git a/htdocs/langs/bs_BA/loan.lang b/htdocs/langs/bs_BA/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/bs_BA/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/bs_BA/mails.lang b/htdocs/langs/bs_BA/mails.lang index b2ea4f11995..9cf762ae97b 100644 --- a/htdocs/langs/bs_BA/mails.lang +++ b/htdocs/langs/bs_BA/mails.lang @@ -77,7 +77,7 @@ CheckRead=Pročitaj potvrdu YourMailUnsubcribeOK=E-pošta %s je uspješno ispisana sa liste e-pošte MailtoEMail=Hyper link na e-poštu ActivateCheckRead=Dozvoli korištenje "Ispiši se" linka -ActivateCheckReadKey=Kljul korišten za enkriptovanje linka koristi se za "Pročitaj potvrdu" i "Ispiši se" mogućnosti +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-pošta poslana %s primaocima XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index b7b40e8e498..d9bc2886488 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/bs_BA/orders.lang b/htdocs/langs/bs_BA/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/bs_BA/orders.lang +++ b/htdocs/langs/bs_BA/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/bs_BA/other.lang b/htdocs/langs/bs_BA/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/bs_BA/other.lang +++ b/htdocs/langs/bs_BA/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/bs_BA/printing.lang b/htdocs/langs/bs_BA/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/bs_BA/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/bs_BA/productbatch.lang b/htdocs/langs/bs_BA/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/bs_BA/productbatch.lang +++ b/htdocs/langs/bs_BA/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 79debdf06b8..3ff910d4e1d 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -23,14 +23,14 @@ ProductOrService=Proizvod ili usluga ProductsAndServices=Proizvodi i usluge ProductsOrServices=Proizvodi ili usluge ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statistika proizvoda i usluga ProductsStatistics=Statistika proizvoda -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interna referenca LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index d4fb90709bf..d8a60347d81 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Ovaj pregled predstavlja sve projekte koje možete čitati. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ovaj pregled predstavlja sve projekte (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). MyTasksDesc=Ovaj pregled predstavlja sve projekte ili zadatke za koje ste kontakt (bilo koji tip). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Ovaj pregled predstavlja sve projekte ili zadatke koje možete čitati. TasksDesc=Ovaj pregled predstavlja sve projekte i zadatke (postavke vaših korisničkih dozvola vam omogućavaju da vidite sve). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Lista projekata ShowProject=Prikaži projekt SetProject=Postavi projekat NoProject=Nema definisanog ili vlastitog projekta -NbOpenTasks=Broj otvorenih zadataka +NbOpenTasks=Nb of open tasks NbOfProjects=Broj projekata TimeSpent=Vrijeme provedeno TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Nova provedeno vrijeme MyTimeSpent=Moje provedeno vrijeme @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Lista intervencija u vezi s projektom ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Lista događaja u vezi s projektom +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivnost na projektu ove sedmice ActivityOnProjectThisMonth=Aktivnost na projektu ovog mjeseca ActivityOnProjectThisYear=Aktivnost na projektu ove godine @@ -95,7 +96,7 @@ DeleteATimeSpent=Brisanje provedenog vremena ConfirmDeleteATimeSpent=Jeste li sigurni da želite obrisati ovo provedeno vrijeme? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Izvori +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekti posvećeni ovom subjektu NoTasks=Nema zadataka za ovaj projekat LinkedToAnotherCompany=U vezi sa drugim subjektom @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/bs_BA/propal.lang b/htdocs/langs/bs_BA/propal.lang index 36068d27014..acc4766ce2c 100644 --- a/htdocs/langs/bs_BA/propal.lang +++ b/htdocs/langs/bs_BA/propal.lang @@ -4,7 +4,7 @@ Proposal=Poslovni prijedlog ProposalShort=Prijedlog ProposalsDraft=Nacrti poslovnih prijedloga ProposalDraft=Nacrt poslovnog prijedloga -ProposalsOpened=Otvoreni poslovni prijedlozi +ProposalsOpened=Open commercial proposals Prop=Poslovni prijedlozi CommercialProposal=Poslovni prijedlog CommercialProposals=Poslovni prijedlozi @@ -16,7 +16,7 @@ Prospect=Mogući klijent ProspectList=Lista mogućih klijenata DeleteProp=Obrši poslovni prijedlog ValidateProp=Potbrdi poslovni prijedlog -AddProp=Dodaj prijedlog +AddProp=Create proposal ConfirmDeleteProp=Jeste li sigurni da želite obrisati ovaj poslovni prijedlog? ConfirmValidateProp=Jeste li sigurni da želite potvrditi ovaj poslovni prijedlog pod nazivom %s ? LastPropals=Zadnjih %s prijedloga @@ -27,76 +27,75 @@ LastProposals=Zadnji prijedlozi SearchAProposal=Traži prijedlog ProposalsStatistics=Statistika poslovnog prijedloga NumberOfProposalsByMonth=Broj po mjesecu -# AmountOfProposalsByMonthHT=Amount by month (net of tax) +AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Broj poslovnih prijedloga -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=Open +PropalStatusClosedShort=Closed +PropalStatusSignedShort=Signed +PropalStatusNotSignedShort=Not signed +PropalStatusBilledShort=Billed PropalsToClose=Poslovni prijedlozi za zatvaranje PropalsToBill=Potpisani poslovni prijedlozi za fakturisanje ListOfProposals=Lista poslovnih prijedloga -# ActionsOnPropal=Events on proposal -NoOpenedPropals=Nema otvorenih poslovnih prijedloga -NoOtherOpenedPropals=Nema drugih otvorenih poslovnih prijedloga +ActionsOnPropal=Events on proposal +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Ref poslovnog prijedloga SendPropalByMail=Pošalji poslovni prijedlog e-mailom -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Kreiraj poslovni prijedlog kopiranje postojećeg prijedloga -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/bs_BA/salaries.lang b/htdocs/langs/bs_BA/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/bs_BA/salaries.lang +++ b/htdocs/langs/bs_BA/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/bs_BA/sendings.lang b/htdocs/langs/bs_BA/sendings.lang index 4957b903f6b..daff6d59a94 100644 --- a/htdocs/langs/bs_BA/sendings.lang +++ b/htdocs/langs/bs_BA/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Jednostavni model dokumenta DocumentModelMerou=Model dokumenta Merou A5 WarningNoQtyLeftToSend=Upozorenje, nema proizvoda na čekanju za slanje StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planirani datum isporuke +DateDeliveryPlanned=Planned date of delivery DateReceived=Datum prijema isporuke SendShippingByEMail=Pošalji pošiljku na e-mail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index 21c1a748cb4..d4aad9a4ec1 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Skladišta NewWarehouse=Dio za novo skladište/zalihu WarehouseEdit=Modifikovanje skladišta MenuNewWarehouse=Novo skladište -WarehouseOpened=Skladište otvoreno +WarehouseOpened=Warehouse open WarehouseClosed=Skladište zatvoreno WarehouseSource=Izvorno skladište WarehouseSourceNotDefined=Nema definisanog skladišta, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Odaberi skladište za smanjenje zalihe SelectWarehouseForStockIncrease=Odaberi skladište za povećanje zalihe NoStockAction=Nema akcija zaliha LastWaitingSupplierOrders=Narudžbe na čekanju za prijem -DesiredStock=Željena zaliha +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Za narudžbu Replenishment=Nadopuna ReplenishmentOrders=Narudžne za nadopunu -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Pravila za nadopunjenje zaliha @@ -112,8 +113,8 @@ AlertOnly= Samo uzbune WarehouseForStockDecrease=Skladište %s će biti korišteno za smanjenje zalihe WarehouseForStockIncrease=Skladište %s će biti korišteno za povećanje zalihe ForThisWarehouse=Za ovo skladište -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Nadopune NbOfProductBeforePeriod=Količina proizvoda %s u zalihi prije odabranog perioda (%s) NbOfProductAfterPeriod=Količina proizvoda %s u zalihi poslije odabranog perioda (> %s) @@ -124,16 +125,16 @@ RecordMovement=Zapiši transfer ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Kretanja zalihe zapisana RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/bs_BA/suppliers.lang b/htdocs/langs/bs_BA/suppliers.lang index 62e1d2bf6b8..2c12ddef705 100644 --- a/htdocs/langs/bs_BA/suppliers.lang +++ b/htdocs/langs/bs_BA/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Poslano prema dobavljačima ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/bs_BA/trips.lang b/htdocs/langs/bs_BA/trips.lang index 69211305741..8c13c6091c2 100644 --- a/htdocs/langs/bs_BA/trips.lang +++ b/htdocs/langs/bs_BA/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Lista naknada NewTrip=New expense report CompanyVisited=Posjeta kompaniji/fondaciji @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/bs_BA/users.lang b/htdocs/langs/bs_BA/users.lang index 97d04af3c0a..a3359a6969b 100644 --- a/htdocs/langs/bs_BA/users.lang +++ b/htdocs/langs/bs_BA/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Ukloni iz grupe PasswordChangedAndSentTo=Šifra promijenjena i poslana korisniku %s. PasswordChangeRequestSent=Zahtjev za promjenu šifre za %s poslana na %s. MenuUsersAndGroups=Korisnici i grupe +MenuMyUserCard=My user card LastGroupsCreated=Posljednje kreirane %s grupe LastUsersCreated=Posljednji kreirani %s korisnici ShowGroup=Prikaži grupu diff --git a/htdocs/langs/bs_BA/workflow.lang b/htdocs/langs/bs_BA/workflow.lang index 4861252312d..cfe254a59d3 100644 --- a/htdocs/langs/bs_BA/workflow.lang +++ b/htdocs/langs/bs_BA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Postavke workflow modula -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Nema workflow-a koji možete mijenjati za modul koji ste aktivirali. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Kreiraj narudžbu za kupca automatski nakon potpisivanja poslovnog prijedloga -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potpisivanja poslovnog prijedloga -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Kreiraj fakturu kupca automatski nakon potvrđivanja ugovora -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Kreiraj fakturu za kupca automatski nakon zatvaranja narudžbe kupca +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Označiti povezani izvorni prijedlog kao naplaćen odmah nakon plaćanja narudžbe za kupca descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Označiti povezanu izvornu narudžbu(e) kao plaćene kada je faktura za kupca postavljena kao plaćena. descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Označiti povezanu izvornu narudžbu(e) kao plaćene kada je faktura za kupca postavljena kao potvrđena. diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 97ae33839b8..1c2b5984ba6 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menú per als usuaris LangFile=arxiu .lang System=Sistema SystemInfo=Info. sistema -SystemTools=Utilitats sistema SystemToolsArea=Àrea utilitats del sistema SystemToolsAreaDesc=Aquesta àrea ofereix diverses funcions d'administració. Utilitzeu el menú per triar la funcionalitat cercada. Purge=Purga @@ -232,8 +231,8 @@ Security=Seguretat Passwords=Contrasenyes DoNotStoreClearPassword=No emmagatzemar la contrasenya sense xifrar a la base MainDbPasswordFileConfEncrypted=Encriptar la contrasenya de la base en l'arxiu conf.php -InstrucToEncodePass=Per tenir la contrasenya de la base de dades codificada en el fitxer de configuració< b> conf.php
, reemplaçar en aquest fitxer la línia
$dolibarr_main_db_pass="..."
per
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Per tenir la contrasenya de la base de dades descodificat en el fitxer de configuració b> conf.php
, reemplaçar en aquest fitxer la línia
$dolibarr_main_db_pass="crypted:..."
per
$dolibarr_main_db_pass="%s" +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=Protecció i encriptació dels pdf generats ProtectAndEncryptPdfFilesDesc=La protecció d'un document pdf deixa el document lliure a la lectura ia la impressió a qualsevol lector de PDF. Per contra, la modificació i la còpia resulten impossibles. Feature=Funció @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Heus aquí el procediment a seguir: ThisIsAlternativeProcessToFollow=Aquesta es una configuració alternativa per processar: StepNb=Pas %s FindPackageFromWebSite=Cercar el paquet que respon a la seva necessitat (per exemple en el lloc web %s) -DownloadPackageFromWebSite=Descarregar el paquet %s. -UnpackPackageInDolibarrRoot=Descomprimir el paquet en el directori dedicat als móduls externs %s +DownloadPackageFromWebSite=Descarrega el paquet (per exemple del lloc web oficial %s). +UnpackPackageInDolibarrRoot=Descomprimir el paquet en el directori Dolibarr dedicat als móduls externs: %s SetupIsReadyForUse=La instal·lació ha finalitzat i Dolibarr està disponible amb el nou component. NotExistsDirect=No existeix el directori alternatiu.
InfDirAlt=Des de la versió 3 és possible definir un directori root alternatiu, això li permet emmagatzemar en el mateix lloc mòduls i temes personalitzades.
Només cal crear un directori en l'arrel de Dolibarr (per exemple: custom).
InfDirExample=
Seguidament es declara a l'arxiu conf.php:
$dolibarr_main_url_root_alt='http://miservidor/custom'
$dolibarr_main_document_root_alt='/directorio/de/dolibarr/htdocs/custom'
*Aquestes línies venen comentades amb un "#", per descomentar-les només cal retirar el caràcter. -YouCanSubmitFile=Seleccioneu mòdul: +YouCanSubmitFile=Per aquest pas, pots enviar el paquet utilitzant aquesta utilitat: Selecciona el fitxer del mòdul CurrentVersion=Versió actual de Dolibarr CallUpdatePage=Trucar a la pàgina d'actualització de l'estructura i dades de la base de dades %s. LastStableVersion=Última versió estable disponible @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Llista Paràmetres be de una taula
Sintaxis: nom_t ExtrafieldParamHelpchkbxlst=Llista de paràmetres bé d'una taula
Sintaxi: table_name:label_field:id_field::filter
Exemple: c_typent:libelle:id::filter

filtre pot ser una prova simple (per exemple, actiu = 1) per mostrar el valor només s'activa
si desitja filtrar un camp extra, utilitza la sintaxi extra.fieldcode=... (on el codi del camp extra)

per tenir la llista en funció d'un altre:
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Llibreria usada per a la creació d'arxius PDF WarningUsingFPDF=Atenció: El seu arxiu conf.php conté la directiva dolibarr_pdf_force_fpdf=1. Això fa que s'usi la llibreria FPDF per generar els seus arxius PDF. Aquesta llibreria és antiga i no cobreix algunes funcionalitats (Unicode, transparència d'imatges, idiomes ciríl · lics, àrabs o asiàtics, etc.), Pel que pot tenir problemes en la generació dels PDF.
Per resoldre-ho, i disposar d'un suport complet de PDF, pot descarregar la llibreria TCPDF , i a continuació comentar o eliminar la línia $dolibarr_pdf_force_fpdf=1, i afegir al seu lloc $dolibarr_lib_TCPDF_PATH='ruta_a_TCPDF' -LocalTaxDesc=Alguns països aplica'n 2 o 3 tasses a cada línea de factura. Si és el cas, esculli el tipus de la segona i tercera tassa i el seu valor. Els possibles tipus són:
1: Tassa local aplicable a productes i serveis sense IVA (tassa local es calculada sobre la base imposable)
2: Tassa local s'aplica a productes i serveis incloent l'IVA (tassa local es calcula sobre la base imposable+IVA)
3: Tassa local s'aplica a productes sense IVA (tassa local es calcula sobre la base imposable)
4: Tassa local s'aplica a productes incloent l'IVA (tassa local es calcula sobre la base imposable+IVA)
5: Tassa local s'aplica a serveis sin IVA (tassa local es calcula sobre la base imposable)
6: Tassa local s'aplica a serveis incloent l'IVA (tassa local es calcula sobre base imposable+IVA) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Introduïu un número de telèfon que voleu marcar per provar l'enllaç de crida ClickToDial per a l'usuari %s RefreshPhoneLink=Refrescar enllaç @@ -492,8 +491,8 @@ Module400Name=Projectes/Oportunitats/Leads Module400Desc=Gestió de projectes, oportunitats o clients potencials. A continuació, pot assignar qualsevol element (factura, ordre, proposta, intervenció, ...) a un projecte i obtenir una visió transversal de la vista del projecte. Module410Name=Webcalendar Module410Desc=Interface amb el calendari webcalendar -Module500Name=Despeses especials (impostos, càrregues socials, dividends) -Module500Desc=Gestió de despeses especials, impostos, càrregues socials, dividends i salaris +Module500Name=Pagaments especials +Module500Desc=Gestió de despeses especials (impostos, càrregues socials, dividends) Module510Name=Sous Module510Desc=Gestió dels salaris dels empleats i pagaments Module520Name=Préstec @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Gestió de l'agenda i de les accions Module2500Name=Gestió Electrònica de Documents Module2500Desc=Permet administrar una base de documents -Module2600Name=WebServices -Module2600Desc=Activa els serveis de servidor web services de Dolibarr +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Habilitar els serveis de client web de Dolibarr (pot ser utilitzar per gravar dades/sol·licituds de servidors externs. De moment només és suporta comandes a proveïdors) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Orígens de pressupostos/comandes DictionaryAccountancyplan=Pla comptable DictionaryAccountancysystem=Models de plans comptables DictionaryEMailTemplates=Models d'emails +DictionaryUnits=Unitats +DictionaryProspectStatus=Prospection status SetupSaved=Configuració desada BackToModuleList=Retornar llista de mòduls BackToDictionaryList=Tornar a la llista de diccionaris @@ -936,13 +939,14 @@ CompanyZip=Codi postal CompanyTown=Població CompanyCountry=Pais CompanyCurrency=Divisa principal +CompanyObject=Object of the company Logo=Logo DoNotShow=No mostrar DoNotSuggestPaymentMode=No sugerir NoActiveBankAccountDefined=Cap compte bancari actiu definit OwnerOfBankAccount=Titular del compte %s BankModuleNotActive=Mòdul comptes bancaris no activat -ShowBugTrackLink=Mostra vincle "Assenyalar un bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Mostra panell d'informació a la pàgina principal Alerts=Alertes Delays=Terminis @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Decimals màxims per als preus unitaris MAIN_MAX_DECIMALS_TOT=Decimals màxims per als preus totals MAIN_MAX_DECIMALS_SHOWN=Decimals màxims per als imports mostrats a la pantalla (Posar ... després del màxim si vol veure ... quan el nombre es trunque al mostrar a la pantalla) MAIN_DISABLE_PDF_COMPRESSION=Utilitzar la compressió PDF per els arxius PDF generats -MAIN_ROUNDING_RULE_TOT= Mida rang per l'arrodoniment (per a alguns països que arrodoneixen sobre una altra base que no sigui base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Preu unitari sense IVA d'un producte TotalPriceAfterRounding=Preu total després de l'arrodoniment ParameterActiveForNextInputOnly=Paràmetre efectiu només a partir de les properes sessions @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Nombre total de mòduls activats: %s YouMustEnableOneModule=Ha d'activar almenys 1 mòdul. ClassNotFoundIntoPathWarning=No s'ha trobat la classe %s en el seu path PHP YesInSummer=Sí a l'estiu -OnlyFollowingModulesAreOpenedToExternalUsers=Recordeu que només els mòduls següents estan oberts a usuaris externs (siguin quins siguin els permisos dels usuaris): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Emmagatzematge de sessions xifrades per Suhosin ConditionIsCurrently=Actualment la condició és %s YouUseBestDriver=Està utilitzant el driver %s, actualment és el millor driver disponible. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Nº de productes màx a les llistes (0= sense límit ConfirmDeleteProductLineAbility=Confirmació d'eliminació d'una línia de producte en els formularis ModifyProductDescAbility=Personalització de les descripcions dels productes en els formularis ViewProductDescInFormAbility=Visualització de les descripcions dels productes en els formularis +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=Visualització de les descripcions de productes en l'idioma del tercer UseSearchToSelectProductTooltip=També si vostè té un gran número de productes (> 100.000), pot augmentar la velocitat mitjançant l'estableciment. PRODUCT_DONOTSEARCH_ANYWHERE amb la constant a 1 a Configuració --> Altres. La cerca serà limitada a la creació de la cadena UseSearchToSelectProduct=Utilitzeu un formulari de cerca per triar un producte (en lloc d'una llista desplegable). UseEcoTaxeAbility=Assumir ecotaxa (DEEE) SetDefaultBarcodeTypeProducts=Tipus de codi de barres utilitzat per defecte per als productes SetDefaultBarcodeTypeThirdParties=Tipus de codi de barres utilitzat per defecte per als tercers +UseUnits=Support units ProductCodeChecker= Mòdul per a la generació i comprovació del codi d'un producte o servei ProductOtherConf= Configuració de productes/serveis ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Codis de barra tipus UPC BarcodeDescISBN=Codis de barra tipus ISBN BarcodeDescC39=Codis de barra tipus C39 BarcodeDescC128=Codis de barra tipus C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Generador de codi de barres (utilitzat pel motor intern per a alguns tipus de codis de barres). Ha de ser compatible amb "genbarcode".
Per exemple: /usr/local/bin/genbarcode BarcodeInternalEngine=Motor intern BarCodeNumberManager=Configuració de la numeració automatica de codis de barres @@ -1552,6 +1560,13 @@ WebServicesSetup=Configuració del mòdul webservices WebServicesDesc=Mitjançant l'activació d'aquest mòdul, Dolibarr es converteix en el servidor de serveis web oferint diversos serveis web. WSDLCanBeDownloadedHere=La descripció WSDL dels serveis prestats es poden recuperar aquí EndPointIs=Els clients SOAP hauran d'enviar les seves sol·licituds al punt final a la URL Dolibarr +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Configuració del mòdul Banc FreeLegalTextOnChequeReceipts=Menció complementària a les remeses de xecs @@ -1594,7 +1609,7 @@ OpenFiscalYear=Obrir any fiscal CloseFiscalYear=Tancar any fiscal DeleteFiscalYear=Eliminar any fiscal ConfirmDeleteFiscalYear=Esteu segur d'eliminar aquest any fiscal? -Opened=Obert +Opened=Open Closed=Tancat AlwaysEditable=Sempre es pot editar MAIN_APPLICATION_TITLE=Forçar visibilitat del nom de l'aplicació (advertència: indicar el seu propi nom aquí pot trencar la característica d'auto-omple natge de l'inici de sessió en utilitzar l'aplicació mòbil DoliDroid) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=No és possible la instal·lació de mòd SomethingMakeInstallFromWebNotPossible2=Per aquesta raó, explicarem aquí els passos del procés d'actualització manual que pot realitzar un usuari amb privilegis InstallModuleFromWebHasBeenDisabledByFile=La instal·lació de mòduls externs des de l'aplicació es troba desactivada per l'administrador. Ha de requerir que elimini l'arxiu %s per habilitar aquesta funció ConfFileMuseContainCustom=La instal·lació de mòduls externs des de l'aplicació guarda els arxius dels mòduls en el directori %s. Per disposar d'aquest directori a Dolibarr, té que configurar l'arxiu conf/conf.php per tenir l'opció
- $dolibarr_main_url_root_alt activat amb el valor $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt activat amb el valor +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index ed13b490920..1f8d4aebca5 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -94,12 +94,12 @@ Conciliate=Conciliar Conciliation=Conciliació ConciliationForAccount=Conciliacions en aquest compte IncludeClosedAccount=Incloure comptes tancats -OnlyOpenedAccount=Només comptes oberts +OnlyOpenedAccount=Only open accounts AccountToCredit=Compte de crèdit AccountToDebit=Compte de dèbit DisableConciliation=Desactivar la funció de conciliació per a aquest compte ConciliationDisabled=Funció de conciliació desactivada -StatusAccountOpened=Oberta +StatusAccountOpened=Open StatusAccountClosed=Tancada AccountIdShort=Número EditBankRecord=Editar registre diff --git a/htdocs/langs/ca_ES/boxes.lang b/htdocs/langs/ca_ES/boxes.lang index d89e66e5a44..8cde2db0235 100644 --- a/htdocs/langs/ca_ES/boxes.lang +++ b/htdocs/langs/ca_ES/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Últims contractes BoxLastContacts=Últims contactes/adreçes BoxLastMembers=Últims membres modificats BoxFicheInter=Últimes intervencions modificades -BoxCurrentAccounts=Balanç de comptes oberts +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Volum de vendes BoxTotalUnpaidCustomerBills=Total factures a clients pendents de cobrament BoxTotalUnpaidSuppliersBills=Total factures de proveïdors pendents de pagament @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Últims %s membres modificats BoxTitleLastFicheInter=Les %s últimes intervencions modificades BoxTitleOldestUnpaidCustomerBills=Les %s factures més antigues a clients pendents de cobrament BoxTitleOldestUnpaidSupplierBills=Les %s factures més antigues de proveïdors pendents de pagament -BoxTitleCurrentAccounts=Balanç de comptes oberts +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Volum de vendes realitzades BoxTitleTotalUnpaidCustomerBills=Factures a clients pendents de cobrament BoxTitleTotalUnpaidSuppliersBills=Factures de proveïdors pendents de pagament diff --git a/htdocs/langs/ca_ES/categories.lang b/htdocs/langs/ca_ES/categories.lang index 45b7b4a888c..e3319e19ec4 100644 --- a/htdocs/langs/ca_ES/categories.lang +++ b/htdocs/langs/ca_ES/categories.lang @@ -43,18 +43,18 @@ ImpossibleAssociateCategory=Impossible associar l'etiqueta/categoria WasAddedSuccessfully=s'ha afegit amb èxit. ObjectAlreadyLinkedToCategory=L'element ja està enllaçat a aquesta etiqueta/categoria CategorySuccessfullyCreated=L'etiqueta/categoria %s s'ha inserit correctament -ProductIsInCategories=Aquest producte/servei es troba en les següents etiquetes/categories -SupplierIsInCategories=Aquest proveïdors es troba en les següents etiquetes/categories -CompanyIsInCustomersCategories=Aquesta empresa es troba en les següents etiquetes/categories -CompanyIsInSuppliersCategories=Aquesta empresa es troba en les següents etiquetes/categories de proveïdors -MemberIsInCategories=Aquest membre es troba en les següents etiquetes/categories de membres -ContactIsInCategories=Aquest contacte es troba a les següents etiquetes/categories +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories ProductHasNoCategory=Aquest producte/servei no es troba en cap etiqueta/categoria en particular SupplierHasNoCategory=Aquest proveïdor no es troba en cap etiqueta/categoria en particular -CompanyHasNoCategory=Aquesta empresa no es troba en cap etiqueta/categoria en particular +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=Aquest membre no es troba en cap etiqueta/categoria en particular ContactHasNoCategory=Aquest contacte no es troba a ninguna etiqueta/cateogria -ClassifyInCategory=Classificar en la etiqueta/categoria +ClassifyInCategory=Add to tag/category NoneCategory=Cap NotCategorized=Sense etiqueta/categoria CategoryExistsAtSameLevel=Aquesta categoria ja existeix per aquesta referència @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contingut no visible per tots CategoriesTree=Arbre d'etiquetes/categories DeleteCategory=Eliminar etiqueta/categoria ConfirmDeleteCategory=Eseu segur de voler eliminar aquesta etiqueta/categoria? -RemoveFromCategory=Suprimir l'enllaç amb etiqueta/categoria -RemoveFromCategoryConfirm=Esteu segur de voler suprimir el vincle entre la transacció i l'etiqueta/categoria +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=Nova etiqueta/categoria definida -SuppliersCategoryShort=Etiquetes/categories de proveïdors -CustomersCategoryShort=Etiquetes/categories de clients -ProductsCategoryShort=Etiquetes/categories de productes -MembersCategoryShort=Etiquetes/categories de membres +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Etiquetes/categories de proveïdors CustomersCategoriesShort=Etiquetes/categories de clients CustomersProspectsCategoriesShort=Categories clients @@ -94,7 +94,7 @@ CatSupList=Llistat de les etiquetes/categories de proveïdors CatCusList=Llistat de les etiquetes/categories de clients CatProdList=Llistat de les etiquetes/categories de productes CatMemberList=Llistat de les etiquetes/categories dels membres -CatContactList=Llistat de etiquetes/categories i contactes +CatContactList=List of contact tags/categories CatSupLinks=Enllaços entre proveïdors i etiquetes/categories CatCusLinks=Enllaços entre clients/clients potencials i etiquetes/categories CatProdLinks=Enllaços entre productes/serveis i etiquetes/categories diff --git a/htdocs/langs/ca_ES/companies.lang b/htdocs/langs/ca_ES/companies.lang index a4f4f32f6d3..19fe464f66a 100644 --- a/htdocs/langs/ca_ES/companies.lang +++ b/htdocs/langs/ca_ES/companies.lang @@ -18,7 +18,7 @@ NewCompany=Nova empresa (client potencial, client, proveïdor) NewThirdParty=Nou tercer (client potencial, client, proveïdor) NewSocGroup=Nova agrupació d'empreses NewPrivateIndividual=Nou particular (client potencial, client, proveïdor) -CreateDolibarrThirdPartySupplier=Create a third party (supplier) +CreateDolibarrThirdPartySupplier=Crear un tercer (proveïdor) ProspectionArea=Àrea de prospecció SocGroup=Agrupament d'empreses IdThirdParty=ID tercer @@ -68,8 +68,8 @@ CountryCode=Codi pais CountryId=Id pais Phone=Telèfon Skype=Skype -Call=Call -Chat=Chat +Call=Trucar +Chat=Xat PhonePro=Teléf. treball PhonePerso=Telèf. particular PhoneMobile=Mòbil @@ -83,7 +83,7 @@ DefaultLang=Idioma per defecte VATIsUsed=Subjecte a IVA VATIsNotUsed=No subjecte a IVA CopyAddressFromSoc=Copiar l'adreça de l'empresa -NoEmailDefined=There is no email defined +NoEmailDefined=No hi ha adreça de correu electrònic definida ##### Local Taxes ##### LocalTax1IsUsedES= Subjecte a RE LocalTax1IsNotUsedES= No subjecte a RE @@ -91,9 +91,9 @@ LocalTax2IsUsedES= Subjecte a IRPF LocalTax2IsNotUsedES= No subjecte a IRPF LocalTax1ES=RE LocalTax2ES=IRPF -TypeLocaltax1ES=RE Type -TypeLocaltax2ES=IRPF Type -TypeES=Type +TypeLocaltax1ES=Tipus de RE +TypeLocaltax2ES=Tipus de IRPF +TypeES=Tipus ThirdPartyEMail=%s WrongCustomerCode=Codi client incorrecte WrongSupplierCode=Códi proveïdor incorrecte @@ -367,10 +367,10 @@ ExportCardToFormat=Exporta fitxa a format ContactNotLinkedToCompany=Contacte no vinculat a un tercer DolibarrLogin=Login usuari NoDolibarrAccess=Sense accés d'usuari -ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ExportDataset_company_1=Tercers (empreses/institucions/persones fisiques) i atributs ExportDataset_company_2=Contactes de tercers i atributs -ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes +ImportDataset_company_1=Tercers (empreses/institucions/persones fisiques) i atributs +ImportDataset_company_2=Contactes/Adreces (de tercers o no) i atributs ImportDataset_company_3=Comptes bancaris PriceLevel=Nivell de preus DeliveriesAddress=Adreça(es) d'enviament @@ -379,8 +379,8 @@ DeliveryAddressLabel=Etiqueta d'enviament DeleteDeliveryAddress=Eliminar una adreça d'enviament ConfirmDeleteDeliveryAddress=Esteu segur de voler eliminar aquesta adreça d'enviament? NewDeliveryAddress=Nova adreça d'enviament -AddDeliveryAddress=Afegir l'adreça -AddAddress=Crear adreça +AddDeliveryAddress=Crear direcció d'entrega +AddAddress=Crear direcció NoOtherDeliveryAddress=No hi ha adreces alternatives definides SupplierCategory=Categoria de proveïdor JuridicalStatus200=Independent @@ -397,18 +397,23 @@ YouMustCreateContactFirst=Ha d'establir contactes amb e-mail en els tercers per ListSuppliersShort=Llistat de proveïdors ListProspectsShort=Llistat de clients potencials ListCustomersShort=Llistat de clients -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Àrea de tercers i contactes LastModifiedThirdParties=Els %s últims tercers modificats UniqueThirdParties=Total de tercers únics InActivity=Actiu ActivityCeased=Tancat ActivityStateFilter=Estat d'activitat -ProductsIntoElements=List of products into %s -CurrentOutstandingBill=Current outstanding bill -OutstandingBill=Max. for outstanding bill -OutstandingBillReached=Reached max. for outstanding bill +ProductsIntoElements=Llistat de productes en %s +CurrentOutstandingBill=Factura pendent actual +OutstandingBill=Max. de factures pendents +OutstandingBillReached=S'ha arribat al màx. de factures pendents MonkeyNumRefModelDesc=Retorna un número sota el format %syymm-nnnn per als codis de clients i %syymm-nnnn per als codis dels proveïdors, on yy és l'any, mm el mes i nnnn un comptador seqüencial sense ruptura i sense tornar a 0. LeopardNumRefModelDesc=Codi de client/proveïdor lliure sense verificació. Pot ser modificat en qualsevol moment. -ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +ManagingDirectors=Nom del gerent(s) (CEO, director, president ...) +SearchThirdparty=Search third party +SearchContact=Cercar contacte +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ca_ES/cron.lang b/htdocs/langs/ca_ES/cron.lang index 0331f92ef1f..77a9a5a9c18 100644 --- a/htdocs/langs/ca_ES/cron.lang +++ b/htdocs/langs/ca_ES/cron.lang @@ -4,10 +4,10 @@ About = Sobre CronAbout = Sobre Cron CronAboutPage = Sobre Cron # Right -Permission23101 = Veure les tasques programades -Permission23102 = Crear/Modificar les tasques programades -Permission23103 = Eliminar les tasques programades -Permission23104 = Executar les tasques programades +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Pàgina de configuració del mòdul - Gestió de tasques planificades URLToLaunchCronJobs=URL per llançar les tasques automàtiques @@ -26,11 +26,11 @@ CronLastOutput=Última sortida CronLastResult=Últim codi tornat CronListOfCronJobs=Llista de tasques programades CronCommand=Comando -CronList=Tasca programada +CronList=Scheduled jobs CronDelete=Eliminar tasca programada -CronConfirmDelete=Estàs segur de voler eliminar aquesta tasca programada? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Llançar tasques programades -CronConfirmExecute=Estàs segur de voler executar aquesta tasca ara? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Tasques programades li permet executar tasques que han sigut programades CronWaitingJobs=Treballs en espera CronTask=Tasca @@ -39,8 +39,8 @@ CronDtStart=Data inici CronDtEnd=Data fi CronDtNextLaunch=Propera execució CronDtLastLaunch=Darrera execució -CronFrequency=Freqüència -CronClass=Clase +CronFrequency=Frequency +CronClass=Class CronMethod=Mètod CronModule=Mòdul CronAction=Acció @@ -55,9 +55,9 @@ CronEach=Tota (s) JobFinished=Tasques llançades i finalitzades #Page card CronAdd= Afegir una tasca -CronHourStart= Dia i hora d'inici de la tasca -CronEvery= Executar cada -CronObject= Instància/Objecte a crear +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instància/Objecte a crear CronArgs=Argument CronSaveSucess=Registre guardat CronNote=Nota @@ -79,10 +79,10 @@ CronCreateJob=Crear nova tasca programada # Info CronInfoPage=Informació # Common -CronType=Tipus d'acció a executar +CronType=Job type CronType_method=Mètode d'una classe d'un mòdul Dolibarr CronType_command=Comando Shell CronMenu=Cron CronCannotLoadClass=impossible carregar la classe %s de l'objecte %s UseMenuModuleToolsToAddCronJobs=Anar a "inici - Utilitats mòduls - Llista de tasques Cron" per veure i editar tasques programades -TaskDisabled=Tasca deshabilitada +TaskDisabled=Job disabled diff --git a/htdocs/langs/ca_ES/donations.lang b/htdocs/langs/ca_ES/donations.lang index e1687c25e6f..0afd6bcb754 100644 --- a/htdocs/langs/ca_ES/donations.lang +++ b/htdocs/langs/ca_ES/donations.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - donations Donation=Donació -Donations=Donacións +Donations=Donacions DonationRef=Ref. donació Donor=Donant Donors=Donants diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 5100c45ae79..948b4e391a2 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=El client SOAP ha fallat amb l'error '%s' ErrorGlobalVariableUpdater5=Sense variable global seleccionada ErrorFieldMustBeANumeric=El camp %s ha de contenir un valor numèric ErrorFieldMustBeAnInteger=El camp %s ha de ser un enter +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Els paràmetres obligatoris de configuració no estan encara definits diff --git a/htdocs/langs/ca_ES/incoterm.lang b/htdocs/langs/ca_ES/incoterm.lang new file mode 100644 index 00000000000..90406e210b0 --- /dev/null +++ b/htdocs/langs/ca_ES/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Funció +IncotermSetupTitle2=Estat +IncotermSetup=Configuració del mòdul Incoterm +IncotermFunctionDesc=Activa funcionalitats Incoterm (tercer, Pressupostos, Comandes, Factura a client, Enviament, Comandes a proveïdor) diff --git a/htdocs/langs/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 4b0bf7265e7..3abf13783a6 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Base de dades - Accés super usuari CheckToCreateDatabase=Seleccioneu aquesta opció si la base de dades no existeix i s'ha de crear. En aquest cas, cal indicar usuari/contrasenya de superusuari, més endavant en aquesta pàgina. CheckToCreateUser=Seleccioneu aquesta opció si l'usuari no existeix i s'ha de crear.
En aquest cas, cal indicar usuari/contrasenya de superusuari, més endavant en aquesta pàgina. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Usuari de la base que té els drets de creació de bases de dades o compte per a la base de dades, inútil si la base de dades i el seu usuari ja existeixen (com quan estan en un amfitrió). KeepEmptyIfNoPassword=Deixi buit si l'usuari no té contrasenya SaveConfigurationFile=Gravació del fitxer de configuració @@ -155,8 +156,8 @@ MigrationFinished=Acabada l'actualització LastStepDesc=Últim pas: Indiqueu aquí el compte i la contrasenya del primer usuari que fareu servir per connectar-se a l'aplicació. No perdi aquests identificadors, és el compte que permet administrar la resta. ActivateModule=Activació del mòdul %s ShowEditTechnicalParameters=Premi aquí per veure/editar els paràmetres tècnics (mode expert) -WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... -ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug making data loss if you make structure change on your database, like it is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a higher fixed version (list of known bugged version: %s) +WarningUpgrade=Advertència:\nHas fet primer una copia de seguretat de la base de dades?\nAixò es recomana: per exemple, a causa d'alguns errors en els sistemes de bases de dades (per exemple MySQL versió 5.5.40), algunes dades o taules es poden perdre durant aquest procés, es recomana tenir una copia completa de la base de dades abans d'iniciar la migració.\n\nFeu clic a D'acord per iniciar el procés de migració... +ErrorDatabaseVersionForbiddenForMigration=La versió de la seva base de dades és %s. Aquesta te un error crític i es poden perdre dades si es fa un canvi a l'estructura de la base de dades i per fer l'actualització necessita fer aquests canvis. Per aquesta raó, la migració no es permetrà fins que s'actualitzi la seva base de dades a una versió estable i/o superior (llista de versions afectades: %s) ######### # upgrade @@ -208,7 +209,7 @@ MigrationProjectTaskTime=Actualització de temps dedicat en segons MigrationActioncommElement=Actualització de les dades de accions sobre elements MigrationPaymentMode=Actualització de les formes de pagament MigrationCategorieAssociation=Actualització de les categories -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=Migració d'esdeveniments per afegir propietari a la taula d'asignació -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=Mostra opcions no disponibles +HideNotAvailableOptions=Amaga opcions no disponibles diff --git a/htdocs/langs/ca_ES/languages.lang b/htdocs/langs/ca_ES/languages.lang index afd0df5ec70..93242dd45e5 100644 --- a/htdocs/langs/ca_ES/languages.lang +++ b/htdocs/langs/ca_ES/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Àrab Language_ar_SA=Àrab +Language_bn_BD=Bengali Language_bg_BG=Búlgar Language_bs_BA=Bosni Language_ca_ES=Català @@ -10,10 +11,10 @@ Language_da_DA=Danès Language_da_DK=Danès Language_de_DE=Alemany Language_de_AT=Alemany (Austria) -Language_de_CH=German (Switzerland) +Language_de_CH=Aleman (Switzerland) Language_el_GR=Grec Language_en_AU=Anglès (Australia) -Language_en_CA=English (Canada) +Language_en_CA=Anglès (Canada) Language_en_GB=Anglès (Regne Unit) Language_en_IN=Anglès (Índia) Language_en_NZ=Anglès (Nova Zelanda) @@ -21,9 +22,10 @@ Language_en_SA=Anglès (Aràbia Saudita) Language_en_US=Anglès (Estats Units) Language_en_ZA=Anglès (Àfrica del Sud) Language_es_ES=Espanyol -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Espanyol (Argentina) -Language_es_CL=Spanish (Chile) +Language_es_CL=Espanyol (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Espenyol (Republica Dominicana) Language_es_HN=Espanyol (Honduras) Language_es_MX=Espanyol (Mèxic) Language_es_PY=Espanyol (Paraguai) @@ -41,11 +43,14 @@ Language_fr_NC=Francès (Nova Caledònia) Language_he_IL=Hebreu Language_hr_HR=Croat Language_hu_HU=Hongarès -Language_id_ID=Indonesian +Language_id_ID=Indonesia Language_is_IS=Islandès Language_it_IT=Italià Language_ja_JP=Japonès +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Coreà +Language_lo_LA=Lao Language_lt_LT=Lituà Language_lv_LV=Letó Language_mk_MK=Macedoni @@ -62,8 +67,9 @@ Language_tr_TR=Turc Language_sl_SI=Eslovè Language_sv_SV=Suec Language_sv_SE=Suec -Language_sq_AL=Albanian +Language_sq_AL=Albania Language_sk_SK=Eslovac +Language_sw_SW=Kiswahili Language_th_TH=Tailandès Language_uk_UA=Ucraïnès Language_uz_UZ=Uzbek diff --git a/htdocs/langs/ca_ES/loan.lang b/htdocs/langs/ca_ES/loan.lang new file mode 100644 index 00000000000..7ffc4b96c5a --- /dev/null +++ b/htdocs/langs/ca_ES/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Préstec +Loans=Préstecs +NewLoan=Nou préstec +ShowLoan=Mostrar préstec +PaymentLoan=Pagament del préstec +ShowLoanPayment=Veure pagament del préstec +Capital=Capital +Insurance=Assegurança +Interest=Interessos +Nbterms=Nombre de termes +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Pagament del préstec +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Préstec pagat +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ca_ES/mails.lang b/htdocs/langs/ca_ES/mails.lang index e2ab8c4f50a..768929c061b 100644 --- a/htdocs/langs/ca_ES/mails.lang +++ b/htdocs/langs/ca_ES/mails.lang @@ -77,7 +77,7 @@ CheckRead=Confirmació de lectura YourMailUnsubcribeOK=El correu electrònic %s és correcta desuscribe. MailtoEMail=mailto email (hyperlink) ActivateCheckRead=Activar confirmació de lectura i opció de Desubscripció -ActivateCheckReadKey=Clau usada per xifrar la URL de la confirmació de lectura i la funció de desubscripció +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-Mail enviat a %s destinataris. XTargetsAdded=%s destinataris agregats a la llista EachInvoiceWillBeAttachedToEmail=Es creara i adjuntara a cada e-mail un document usant el model de factura per defecte. diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index f38b9536289..83850bc9f52 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Preu base UnitPriceTTC=Preu unitari total PriceU=P.U. PriceUHT=P.U. -AskPriceSupplierUHT=P.U. solicitat +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=P.U. Total Amount=Import AmountInvoice=Import factura @@ -413,6 +413,8 @@ Qty=Qt. ChangedBy=Modificat per ApprovedBy=Aprovat per ApprovedBy2=Aprovat per (segona aprovació) +Approved=Approved +Refused=Refused ReCalculate=Recalcular ResultOk=Èxit ResultKo=Error @@ -421,7 +423,7 @@ Reportings=Informes Draft=Esborrany Drafts=Esborranys Validated=Validat -Opened=Obert +Opened=Open New=Nou Discount=Descompte Unknown=Desconegut @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Enllaçat a un contacte d'usuari particular DeleteAFile=Eliminació d'arxiu ConfirmDeleteAFile=Confirme l'eliminació de l'arxiu NoResults=Cap resultat +SystemTools=System tools ModulesSystemTools=Utilitats mòduls Test=Prova Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Mostra transacció GoIntoSetupToChangeLogo=Anar a Inici->Configuració->Empresa per canviar el logotip o anar a Inici->Configuració->Visualització per amagar. Deny=Denegar Denied=Denegad +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Dilluns Tuesday=Dimarts @@ -732,3 +738,4 @@ ShortThursday=Dj ShortFriday=Dv ShortSaturday=Ds ShortSunday=Dg +SelectMailModel=Select email template diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index 71f502ffa6b..85fdad272b5 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Comanda a proveïdor SuppliersOrders=Comandes a proveïdors SuppliersOrdersRunning=Comandes a proveïdors en curs CustomerOrder=Comada de client -CustomersOrders=Comandes de clients -CustomersOrdersRunning=Comandes de clients en curs -CustomersOrdersAndOrdersLines=Comandes de clients i línies de comanda -OrdersToValid=Comandes de clients a validar -OrdersToBill=Comandes de clients a facturar -OrdersInProcess=Comandes de clients en procés -OrdersToProcess=Comandes de clients a processar -SuppliersOrdersToProcess=Comandes a proveïdors a processar +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Anul·lada StatusOrderDraftShort=Esborrany StatusOrderValidatedShort=Validada @@ -75,8 +75,9 @@ AddToMyOrders=afegir a les meves comandes AddToOtherOrders=Afegir a altres comandes AddToDraftOrders=Afegir a comanda esborrany ShowOrder=Mostrar comanda -NoOpenedOrders=Cap comanda esborrany -NoOtherOpenedOrders=Cap altra comanda esborrany +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Sense comandes esborrany OtherOrders=Altres comandes LastOrders=Últimes %s comandes de clients diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index 825b196a8b5..5dc62cb7821 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -204,6 +204,7 @@ ClickHereToGoTo=Faci clic aquí per anar a %s YouMustClickToChange=però, primer ha de fer clic en el següent enllaç per validar aquest 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=Repository for sources ##### Calendar common ##### AddCalendarEntry=Afegir entrada al calendari diff --git a/htdocs/langs/ca_ES/printing.lang b/htdocs/langs/ca_ES/printing.lang new file mode 100644 index 00000000000..08e7e8ea343 --- /dev/null +++ b/htdocs/langs/ca_ES/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Impressió automàtica +Module64000Desc=Habilita el sistema de impressió automàtica +PrintingSetup=Configuració del sistema de impressió automàtic +PrintingDesc=Aquest mòdul afegeix un boto per enviar documents directament a una impresoa (sense obrir el document a la aplicació) amb varis mòduls +ModuleDriverSetup=Configuració del mòdul Drivers +PrintingDriverDesc=Configuració variables pel driver d'impressió +ListDrivers=Llista de controladors +PrintTestDesc=Llista de impressores +FileWasSentToPrinter=L'arxiu %s ha sigut enviat a la impressora +NoActivePrintingModuleFound=Sense mòdul actiu per imprimir docuements +PleaseSelectaDriverfromList=Seleccini un driver del llistat +SetupDriver=Configuració del driver +TestDriver=Prova +TargetedPrinter=Impresora destí +UserConf=Configuració per usuari +PRINTGCP=Google Cloud Print +PrintGCPDesc=Aquest driver li permet enviar documents directament a una impressora amb Google Cloud Print +PrintingDriverDescprintgcp=Configuraciño variables del driver d'impresió Google Cloud Print +PrintTestDescprintgcp=Llistat d'impressores per a Google Cloud Print +PRINTGCP_LOGIN=Compte de Google +PRINTGCP_PASSWORD=Contrasenya de Google +STATE_ONLINE=En línia +STATE_UNKNOWN=Desconegut +STATE_OFFLINE=Fora de línia +STATE_DORMANT=Desconectada +TYPE_GOOGLE=Google +TYPE_HP=Impressora HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nom +GCP_displayName=Nom a mostrar +GCP_Id=ID d'impressora +GCP_OwnerName=Nom del propietari +GCP_State=Estat de l'impressora +GCP_connectionStatus=Estat On-line +GCP_Type=Tipus d'impressora +PRINTIPP=Driver PrintPP +PrintIPPSetup=Configuració del mòdul d'Impressora Directe +PrintIPPDesc=Aquest mòdul afegeix un boto per enviar documents directament a una impressora. Es necessari un SSOO Linux amb CUPS instal·lat. +PrintingDriverDescprintipp=Configuració variable del driver d'impressió PrintPP +PrintTestDescprintipp=Llistat d'impressores del driver PrintPP +PRINTIPP_ENABLED=Mostrar icona "impressió directe" en els llistats de documents +PRINTIPP_HOST=Servidor d'impressió +PRINTIPP_PORT=Port +PRINTIPP_USER=Usuari +PRINTIPP_PASSWORD=Contrasenya +NoPrinterFound=No s'han trobat impressores (Comprovi la configuració del CUPS) +NoDefaultPrinterDefined=No hi ha impressores per defecte definides +DefaultPrinter=Impresora per defecte +Printer=Impressora +CupsServer=Servidor CUPS +IPP_Uri=URI Impressora +IPP_Name=Nom de l'impressora +IPP_State=Estat de l'impressora +IPP_State_reason=Raó de l'estat +IPP_State_reason1=Raó 1 de l'estat +IPP_BW=Blanc i negre +IPP_Color=Color +IPP_Device=Dispositiu +IPP_Media=Comunicació impressora +IPP_Supported=Tipus de comunicació +STATE_IPP_idle=Idle +STATE_IPP_stopped=Aturat +STATE_IPP_paused=En pausa +STATE_IPP_toner-low-report=Toner baix +STATE_IPP_none=Cap +MEDIA_IPP_stationery=Safata +MEDIA_IPP_thermal=Tèrmica +IPP_COLOR_print-black=Impressora blanc i negre diff --git a/htdocs/langs/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang index 8438ddea768..25be28ec4b0 100644 --- a/htdocs/langs/ca_ES/productbatch.lang +++ b/htdocs/langs/ca_ES/productbatch.lang @@ -19,4 +19,4 @@ printQty=Quant.: %d AddDispatchBatchLine=Afegir una línia per despatx per caducitat BatchDefaultNumber=Indefinit WhenProductBatchModuleOnOptionAreForced=Si el mòdul de Lot/Serie esta activat, l'increment/disminució d'estoc esta forçada a l'últim escollit i no pot editar-se. Altres opcions poden definir-se si es necessita -ProductDoesNotUseBatchSerial=Aquest producte no utilitza numeració per lot/series +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index 2323a3d7b46..3a7aa67f28b 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -23,14 +23,14 @@ ProductOrService=Producte o servei ProductsAndServices=Productes i serveis ProductsOrServices=Productes o serveis ProductsAndServicesOnSell=Productes i serveis en vende o compra -ProductsAndServicesNotOnSell=Productes i Serveis fora de venda +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Estadístiques productes i serveis ProductsStatistics=Estadístiques productes -ProductsOnSell=Producte en vende o compra -ProductsNotOnSell=Producte fora de venda i compra +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Productes en vende o en compra ServicesOnSell=Serveis en venda o compra -ServicesNotOnSell=Serveis fora de venda +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Serveis en vende o en compra InternalRef=Referència interna LastRecorded=Ultims productes/serveis en venda registrats @@ -44,7 +44,7 @@ CardProduct1=Fitxa servei CardContract=Fitxa contrate Warehouse=Magatzem Warehouses=Magatzems -WarehouseOpened=Magatzem obert +WarehouseOpened=Warehouse open WarehouseClosed=Magatzem tancat Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=PVP amb IVA PublicPrice=Preu públic CurrentPrice=Preu actual NewPrice=Nou preu -MinPrice=Preu de venda min. -MinPriceHT=Preu mínim de vende (a.i.) -MinPriceTTC=Preus mínim de venda (i.i.) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=El preu de venda no ha de ser inferior al mínim per a aquest producte (%s sense IVA). Aquest missatge pot estar causat per un descompte molt gran. ContractStatus=Estat de contracte ContractStatusClosed=Tancat -ContractStatusRunning=En servei +ContractStatusRunning=Ongoing ContractStatusExpired=Expirat -ContractStatusOnHold=Fora de servei -ContractStatusToRun=A l'iniciar -ContractNotRunning=Aquest contracte no està en servei +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Un producte amb la referència %s ja existeix. ErrorProductBadRefOrLabel=El valor de la referència o etiqueta és incorrecte ErrorProductClone=S'ha produït un error en intentar clonar el producte o servei. -ErrorPriceCantBeLowerThanMinPrice=Error, el preu no pot ser menor que el preu mínim. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Proveïdors SupplierRef=Ref. producte proveïdor ShowProduct=Mostrar producte @@ -117,12 +117,12 @@ ServiceLimitedDuration=Si el servei és de durada limitada: MultiPricesAbility=Diversos nivells de preus per producte/servei MultiPricesNumPrices=Nº de preus MultiPriceLevelsName=Categoria de preus -AssociatedProductsAbility=Activar la funcionalitat de productes compostos +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Producte compost -AssociatedProductsNumber=Nº de productes que componen aquest producte +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Nº de productes que aquest compon -IfZeroItIsNotAVirtualProduct=Si 0, aquest producte no és un producte compost -IfZeroItIsNotUsedByVirtualProduct=Si 0, aquest producte no pot ser utilitzat per cap producte compost +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Compondre Translation=Traducció KeywordFilter=Filtre per clau @@ -131,7 +131,7 @@ ProductToAddSearch=Cercar productes a adjuntar AddDel=Adjuntar/Retirar Quantity=Quantitat NoMatchFound=No s'han trobat resultats -ProductAssociationList=Llistat de productes/serveis components d'aquest producte: el nombre entre parèntesis és la quantitat afectada en aquesta composició +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Llistat de productes/serveis amb aquest producte com a component ErrorAssociationIsFatherOfThis=Un dels productes seleccionats és pare del producte en curs DeleteProduct=Eliminar un producte/servei @@ -179,16 +179,41 @@ CloneProduct=Clonar producte/servei ConfirmCloneProduct=Esteu segur de voler clonar el producte o servei %s ? CloneContentProduct=Clonar només la informació general del producte/servei ClonePricesProduct=Clonar la informació general i els preus -CloneCompositionProduct=Clonar productes/serveis compostos +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Aquest producte és utilitzat NewRefForClone=Ref. del nou producte/servei -CustomerPrices=Preus clients -SuppliersPrices=Preus proveïdors -SuppliersPricesOfProductsOrServices=Preus de proveïdors (productes o serveis) +CustomerPrices=Preus de client +SuppliersPrices=Preus de proveïdor +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Codi duaner CountryOrigin=País d'origen HiddenIntoCombo=Ocult en les llistes Nature=Naturalesa +ShortLabel=Etiqueta curta +Unit=Unitat +p=u. +set=set +se=set +second=segon +s=s +hour=hour +h=h +day=day +d=d +kilogram=kilogram +kg=Kg +gram=gram +g=g +meter=meter +m=m +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Model de ref. del producte ServiceCodeModel=Model de ref. del servei AddThisProductCard=Crear fitxa producte @@ -214,7 +239,7 @@ CostPmpHT=Cost de compra ProductUsedForBuild=Auto consumit per producció ProductBuilded=Producció completada ProductsMultiPrice=Producte multi-preu -ProductsOrServiceMultiPrice=Preus a clients (productes o serveis, multi-preus) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Vendes de productes base imposable ServiceSellByQuarterHT=Vendes de serveis base imposable Quarter1=1º trimestre @@ -240,7 +265,7 @@ PricingRule=Regles per preus a clients AddCustomerPrice=Afegir preus per client ForceUpdateChildPriceSoc=Establir el mateix preu a les filials dels clients PriceByCustomerLog=Log de preus per clients -MinimumPriceLimit=El preu mínim no pot ser menor de %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=El preu mínim recomenat es: %s PriceExpressionEditor=Editor de expresió de preus PriceExpressionSelected=Expressió de preus seleccionat @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=el format es {"URL": "http://example.com/urlofw UpdateInterval=Interval d'actualizació (minuts) LastUpdated=Última actualització CorrectlyUpdated=Actualitzat correctament +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index 9f78eb88bbd..7c55d1cf443 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Aquesta vista mostra tots els projectes en els que vostè té 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). MyTasksDesc=Aquesta vista es limita als projectes i tasques en què vostè és un contacte afectat en almenys una tasca (qualsevol tipus). -OnlyOpenedProject=Només són visibles els projectes oberts (els projectes amb estat esborrany o tancat no són visibles) +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Aquesta vista mostra tots els projectes i tasques en els que vostè té dret a tenir visibilitat. TasksDesc=Aquesta vista mostra tots els projectes i tasques (les sevas autoritzacions li ofereixen una visió completa). AllTaskVisibleButEditIfYouAreAssigned=Totes les tasques per a aquests projectes són visibles, però introduir temps només per a la tasca que tingui assignada. @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Llistat d'intervencions associades al projecte ListExpenseReportsAssociatedProject=Llistat d'informes de despeses associades al projecte ListDonationsAssociatedProject=Llistat de donacions associades al projecte ListActionsAssociatedProject=Llista d'esdeveniments associats al projecte +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activitat en el projecte aquesta setmana ActivityOnProjectThisMonth=Activitat en el projecte aquest mes ActivityOnProjectThisYear=Activitat en el projecte aquest any @@ -95,7 +96,7 @@ DeleteATimeSpent=Eliminació de temps dedicat ConfirmDeleteATimeSpent=Esteu segur de voler eliminar aquest temps dedicat? DoNotShowMyTasksOnly=Veure també tasques no assignades a mi ShowMyTasksOnly=Veure nomes tasques assignades a mi -TaskRessourceLinks=Recursos afectats +TaskRessourceLinks=Recursos ProjectsDedicatedToThisThirdParty=Projectes dedicats a aquest tercer NoTasks=Cap tasca per a aquest projecte LinkedToAnotherCompany=Enllaçat a una altra empresa @@ -139,8 +140,12 @@ ProjectReferers=Objectes vinculats SearchAProject=Cercar un projecte ProjectMustBeValidatedFirst=El projecte primer ha de ser validat ProjectDraft=Projectes esborrany -FirstAddRessourceToAllocateTime=Associar un recurs per assignar el temps consumit +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Entrada per dia InputPerWeek=Entrada per setmana InputPerAction=Entrada per acció TimeAlreadyRecorded=Temps dedicat ja registrat per aquesta tasca/dia i usuari %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ca_ES/propal.lang b/htdocs/langs/ca_ES/propal.lang index 5adf1a94547..e5cc3479e1e 100644 --- a/htdocs/langs/ca_ES/propal.lang +++ b/htdocs/langs/ca_ES/propal.lang @@ -4,7 +4,7 @@ Proposal=Pressupost ProposalShort=Pressupost ProposalsDraft=Pressupostos esborrany ProposalDraft=Pressupost esborrany -ProposalsOpened=Pressupostos oberts +ProposalsOpened=Obre pressupostos Prop=Pressupostos CommercialProposal=Pressupost CommercialProposals=Pressupostos @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Import per mes (Sense IVA) NbOfProposals=Número pressupostos ShowPropal=Veure pressupost PropalsDraft=Esborrany -PropalsOpened=Oberts +PropalsOpened=Actiu PropalsNotBilled=No facturats PropalStatusDraft=Esborrany (a validar) PropalStatusValidated=Validat (pressupost obert) @@ -42,7 +42,7 @@ PropalStatusNotSigned=No signat (tancat) PropalStatusBilled=Facturat PropalStatusDraftShort=Esborrany PropalStatusValidatedShort=Validat -PropalStatusOpenedShort=Obert +PropalStatusOpenedShort=Actiu PropalStatusClosedShort=Tancat PropalStatusSignedShort=Signat PropalStatusNotSignedShort=No signat @@ -52,11 +52,9 @@ PropalsToBill=Pressupostos signats a facturar ListOfProposals=Llistat de pressupostos ActionsOnPropal=Esdeveniments sobre el pressupost NoOpenedPropals=Sense pressupostos oberts -NoOtherOpenedPropals=Cap altre pressupost obert +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Ref. pressupost SendPropalByMail=Enviar pressupost per e-mail -FileNotUploaded=No s'ha pujat l'arxiu -FileUploaded=L'arxiu s'ha carregat correctament AssociatedDocuments=Documents associats al pressupost: ErrorCantOpenDir=Impossible obrir la carpeta DatePropal=Data pressupost @@ -100,3 +98,4 @@ DocModelJauneDescription=Model de pressupost Jaune DefaultModelPropalCreate=Model per defecte DefaultModelPropalToBill=Model per defecte en tancar un pressupost (a facturar) DefaultModelPropalClosed=Model per defecte en tancar un pressupost (no facturat) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/ca_ES/salaries.lang b/htdocs/langs/ca_ES/salaries.lang index 894e8f6adc1..a4328af34a5 100644 --- a/htdocs/langs/ca_ES/salaries.lang +++ b/htdocs/langs/ca_ES/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Veure pagament de sous THM=Preu mig per hora TJM=Preu mig per dia CurrentSalary=Salari actual +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ca_ES/sendings.lang b/htdocs/langs/ca_ES/sendings.lang index 6ab0eba8acc..8a261349a20 100644 --- a/htdocs/langs/ca_ES/sendings.lang +++ b/htdocs/langs/ca_ES/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Model simple DocumentModelMerou=Model Merou A5 WarningNoQtyLeftToSend=Alerta, cap producte en espera d'enviament. StatsOnShipmentsOnlyValidated=Estadístiques realitzades únicament sobre les expedicions validades -DateDeliveryPlanned=Data prevista de lliurament +DateDeliveryPlanned=Planned date of delivery DateReceived=Data real de recepció SendShippingByEMail=Enviament d'expedició per e-mail SendShippingRef=Enviament de l'expedició %s @@ -67,7 +67,7 @@ SendingRunning=Producte de comandes de clients SuppliersReceiptRunning=Producte de comandes a proveïdors ProductQtyInCustomersOrdersRunning=Quantitat de comandes de clients obertes ProductQtyInSuppliersOrdersRunning=Quantitat de comandes a proveïdors obertes -ProductQtyInShipmentAlreadySent=Quantitat de comandes de clients ja enviats +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Quantitat de comandes a proveïdors ja rebudes # Sending methods diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index 6b60723b94f..1e63bbc41ba 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Magatzems NewWarehouse=Nou magatzem o zona d'emmagatzematge WarehouseEdit=Edició magatzem MenuNewWarehouse=Nou magatzem -WarehouseOpened=Magatzem obert +WarehouseOpened=Warehouse open WarehouseClosed=Magatzem tancat WarehouseSource=Magatzem origen WarehouseSourceNotDefined=Sense magatzems definits, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Seleccioneu el magatzem a usar en el decrement d SelectWarehouseForStockIncrease=Seleccioneu el magatzem a utilitzar en l'increment d'estoc NoStockAction=Sense accions sobre l'estoc LastWaitingSupplierOrders=Comandes en espera de recepció -DesiredStock=Stock desitjat +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=A demanar Replenishment=Reaprovisionament ReplenishmentOrders=Ordres de reaprovisionament -VirtualDiffersFromPhysical=D'acord amb les opcions de decrement/increment d'estoc, l'estoc físic i l'estoc virtual (físic + comandes actuals) poden diferir +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Utilitzar estoc virtual per defecte, en lloc d'estoc físic, per la funció d'aprovisionament UseVirtualStock=Utilitzar estoc virtual UsePhysicalStock=Utilitzar estoc físic -CurentSelectionMode=Mètode de selecció actual +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Estoc virtual CurentlyUsingPhysicalStock=Estoc físic RuleForStockReplenishment=Regla per al reaprovisionament de stcok @@ -112,8 +113,8 @@ AlertOnly= Només alertes WarehouseForStockDecrease=Per la disminució d'estoc s'utilitzara el magatzem %s WarehouseForStockIncrease=Pe l'increment d'estoc s'utilitzara el magatzem %s ForThisWarehouse=Per aquest magatzem -ReplenishmentStatusDesc=Aquesta és la llista de tots els productes amb un estoc menor que l'estoc desitjat (o menor que el valor de l'alerta si el checkbox "només alertes" esta marcat) i que suggereixi crear comandes de proveïdor per emplenar la diferencia -ReplenishmentOrdersDesc=Aquest és el llistat de totes les comandes a proveïdors amb productes predefinits. Només són visibles comandes obertes amb productes que poden afectar l'estoc +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=reaprovisionament NbOfProductBeforePeriod=Quantitat del producte %s en estoc abans del periode seleccionat (< %s) NbOfProductAfterPeriod=Quantitat del producte %s en estoc despres del periode seleccionat (> %s) @@ -124,16 +125,16 @@ RecordMovement=Registrar transferencies ReceivingForSameOrder=Recepcions d'aquesta comanda StockMovementRecorded=Moviments d'estoc registrat RuleForStockAvailability=Regles de requeriment d'estoc -StockMustBeEnoughForInvoice=El nivell d'existencies ha de ser suficient per afegir productes/serveis a factures -StockMustBeEnoughForOrder=El nivell d'existències ha de ser suficient per afegir productes/serveis a comandes -StockMustBeEnoughForShipment= El nivell d'existències ha de ser suficient per afegir productes/serveis a enviaments +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Etiqueta del moviment InventoryCode=Moviments o codi d'inventari IsInPackage=Contingut del paquet ShowWarehouse=Mostrar magatzem -MovementCorrectStock=Correcció d'estoc del producte %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transferencia d'estoc del producte %s a un altre magatzem -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=S'ha de definir aquí un magatzem origen quant el mòdul de lots estar actiu. S'utilitza per augmentar lots/series disponibles del producte per realitzar un moviment. Si desitja enviar productes de diferents magatzems, simplement faci l'enviament amb diversos passos +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Codi Inv./Mov. -NoPendingReceptionOnSupplierOrder=o existeixen recepcions pendent, ja que la comanda esta oberta +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=Aquest número de lot/serie () ja existeix, però amb una data de caducitat o venda diferent (trobat %s però ha introduït %s). diff --git a/htdocs/langs/ca_ES/suppliers.lang b/htdocs/langs/ca_ES/suppliers.lang index 2bf7b390f0f..b8d7fdad411 100644 --- a/htdocs/langs/ca_ES/suppliers.lang +++ b/htdocs/langs/ca_ES/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Enviat a proveïdors ListOfSupplierOrders=Llista de comandes a proveïdors MenuOrdersSupplierToBill=Comandes a proveïdors a facturar NbDaysToDelivery=Temps d'entrega en dies -DescNbDaysToDelivery=El major plaç es visualitza en el llistat de comandes de productes +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Usar aprovació doble (la segona aprovació pot ser realitzada per un usuari amb el permís dedicat) diff --git a/htdocs/langs/ca_ES/users.lang b/htdocs/langs/ca_ES/users.lang index 6c93a4d8d1c..cb82636b03d 100644 --- a/htdocs/langs/ca_ES/users.lang +++ b/htdocs/langs/ca_ES/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Eliminar del grup PasswordChangedAndSentTo=Contrasenya canviada i enviada a %s. PasswordChangeRequestSent=Petició de canvi de contrasenya per a %s enviada a %s. MenuUsersAndGroups=Usuaris i grups +MenuMyUserCard=My user card LastGroupsCreated=Els %s darrers grups creats LastUsersCreated=Els %s darrers usuaris creats ShowGroup=Veure grup diff --git a/htdocs/langs/ca_ES/workflow.lang b/htdocs/langs/ca_ES/workflow.lang index 807af682c2d..32ef15e311c 100644 --- a/htdocs/langs/ca_ES/workflow.lang +++ b/htdocs/langs/ca_ES/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuració del mòdul workflow -WorkflowDesc=Aquest modul li permet canviar el comportament de les accions automàticament en l'aplicació. De forma predeterminada, el workflow esta obert (configuri segons les seves necessitats). Activi les accions automàtiques que li interessin. -ThereIsNoWorkflowToModify=No hi ha workflow modificable per als mòduls que té activats. +WorkflowDesc=Aquest mòdul li permet canviar el comportament de les accions automàticament en l'aplicació. De forma predeterminada, el workflow està obert (configuri segons les seves necessitats). Activi les accions automàtiques que li interessin. +ThereIsNoWorkflowToModify=No hi ha workflow modificable per al mòdul activat. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear una comanda de client automàticament a la signatura d'un pressupost -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crear una factura a client automàticament a la signatura d'un pressupost -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Crear una factura a client automàticament a la validació d'un contracte -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Crear una factura a client automàticament al tancament d'una comanda de client +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically crear una factura a client després de signar un pressupost +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically crear una factura a client a la validació d'un contracte +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically crear una factura a client al tancament d'una comanda de client descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classificar com facturat el pressupost quan la comanda de client relacionada es classifiqui com pagada descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classificar com facturades les comanda(es) quan la factura relacionada es classifiqui com a pagada descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classificar com a facturades les comanda(es) de clients relacionats quan la factura sigui validada diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index c41c67ab572..cdf9ce38ac0 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu pro uživatele LangFile=soubor .lang System=Systém SystemInfo=Informace o systému -SystemTools=Systémové nástroje SystemToolsArea=Sekce systémových nástrojů SystemToolsAreaDesc=Tato sekce poskytuje správu uživatelských funkcí. V menu vyberte funkci, kterou hledáte. Purge=Očistit @@ -232,8 +231,8 @@ Security=Zabezpečení Passwords=Hesla DoNotStoreClearPassword=Ukládat hesla v databázi pouze šifrovaně (Doporučeno) MainDbPasswordFileConfEncrypted=Šifrovat přístupové heslo databáze v conf.php (Doporučeno) -InstrucToEncodePass=Pro uložení zašifrovaného hesla do conf.php, nahraďte řádku
$dolibarr_main_db_pass="..."
hodnotou
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Pro uložení nezašifrovaného hesla do conf.php, nahraďte řádku
$dolibarr_main_db_pass="crypted:..."
hodnotou
$dolibarr_main_db_pass="%s" +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=Přidat ochranu generovaných souborů PDF (Nedoporučuje se, zablokuje hromadné generování PDF) ProtectAndEncryptPdfFilesDesc=Ochrana dokumentů PDF neomezí možnost otevírání dokumentů jakýmkoliv prohlížečem. Nicméně, editace a kopírování přestane být možná. Zapnutím této ochrany přijdete o možnost vytváření kumulovaných PDF (např. nezaplacených faktur) Feature=Funkce @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Nastaveno na proces: ThisIsAlternativeProcessToFollow=To je alternativa k nastavení procesu: StepNb=Krok %s FindPackageFromWebSite=Nalezni balíček, obsahující funkci jež chcete (např. na oficiálních stránkách %s). -DownloadPackageFromWebSite=Download balíčku %s. -UnpackPackageInDolibarrRoot=Rozbalte soubor balíčku do adresáře, vyhrazenému pro externí moduly: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Instalace je dokončena a Dolibarr je připraven k použití. NotExistsDirect=Alternativní kořenový adresář není definován.
InfDirAlt=Od verze 3 je možné definovat alternativní kořenovou složku. To umožňuje ukládat na stejné místo plug-iny a vlastní šablony.
Stačí vytvořit adresář v kořenovém adresáři Dolibarr (např.: custom).
InfDirExample=
Pak je deklarujte v souboru conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Řádky jsou zakomentovány znakem "#", pro odkomentování tento znak odmažte. -YouCanSubmitFile=Vyberte modul: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr aktuální verze CallUpdatePage=Přejděte na stránku, která aktualizuje databázovou strukturu a údaje: %s. LastStableVersion=Poslední stabilní verze @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Knihovna použít k vytvoření PDF WarningUsingFPDF=Upozornění: Váš conf.php obsahuje direktivu dolibarr_pdf_force_fpdf = 1. To znamená, že můžete používat knihovnu FPDF pro generování PDF souborů. Tato knihovna je stará a nepodporuje mnoho funkcí (Unicode, obraz transparentnost, azbuka, arabské a asijské jazyky, ...), takže může dojít k chybám při generování PDF.
Chcete-li vyřešit tento a mají plnou podporu generování PDF, stáhněte si TCPDF knihovny , pak komentář nebo odebrat řádek $ dolibarr_pdf_force_fpdf = 1, a místo něj doplnit $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir " -LocalTaxDesc=Některé země uplatňovat 2 nebo 3 daně na každé faktuře řádek. Pokud se jedná o tento případ, zvolit typ pro druhé a třetí daňové a jeho rychlosti. Možné typ jsou:
1: místní daň vztahovat na výrobky a služby bez DPH (localtax je vypočtena na částku bez daně)
2: místní daň platí o produktech a službách, včetně DPH (localtax je vypočtena na částku + hlavní daně)
3: místní daň vztahovat na výrobky bez DPH (localtax je vypočtena na částku bez daně)
4: místní daň vztahovat na produkty, včetně DPH (DPH se vypočítá na množství + hlavní DPH)
5: místní daň platí o službách bez DPH (localtax je vypočtena na částku bez daně)
6: místní daň platí o službách, včetně DPH (localtax je vypočtena na částku + daň) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Zadejte telefonní číslo pro volání ukázat odkaz na test ClickToDial URL pro %s RefreshPhoneLink=Obnovit odkaz @@ -492,8 +491,8 @@ Module400Name=Projekty/Příležitosti/Vedení Module400Desc=Řízení projektů, příležitostí nebo vedení. Můžete přiřadit libovolný prvek (faktura, objednávka, návrh, intervence, ...) na projekt a získat příčný pohled z pohledu projektu. Module410Name=WebCalendar Module410Desc=WebCalendar integrace -Module500Name=Zvláštní náklady (daně, sociální příspěvky a dividendy) -Module500Desc=Řízení zvláštních výdajů, jako jsou daně, sociální příspěvky, divideny a platy +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Platy Module510Desc=Řízení výplat zaměstnanců a plateb Module520Name=Půjčka @@ -524,8 +523,10 @@ Module2400Name=Pořad jednání Module2400Desc=Události / úkoly a agendy vedení Module2500Name=Elektronický Redakční Module2500Desc=Uložit a sdílet dokumenty -Module2600Name=WebServices -Module2600Desc=Povolit Dolibarr webových služeb serveru +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (klient) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Původ nabídky/objednávky DictionaryAccountancyplan=Graf účtů DictionaryAccountancysystem=Modely pro účetní osnovy DictionaryEMailTemplates=E-maily šablony +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Nastavení uloženo BackToModuleList=Zpět na seznam modulů BackToDictionaryList=Zpět k seznamu slovníků @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Město CompanyCountry=Země CompanyCurrency=Hlavní měna +CompanyObject=Object of the company Logo=Logo DoNotShow=Nezobrazovat DoNotSuggestPaymentMode=Nenaznačují NoActiveBankAccountDefined=Žádný aktivní bankovní účet definován OwnerOfBankAccount=Majitel %s bankovních účtů BankModuleNotActive=Účty v bankách modul není povolen, -ShowBugTrackLink=Ukázat odkaz "Nahlásit chybu" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Ukázat "ponk" na domovské stránce Alerts=Upozornění Delays=Zpoždění @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max desetinná pro jednotkových cen MAIN_MAX_DECIMALS_TOT=Max desetinná místa pro celkové ceny MAIN_MAX_DECIMALS_SHOWN=Max desetinná pro ceny zobrazeny na obrazovce (Přidat ... po této řady, chcete-li vidět ... když je číslo zkrácena při zobrazení na obrazovce) MAIN_DISABLE_PDF_COMPRESSION=Použít kompresi PDF generovaných souborů PDF. -MAIN_ROUNDING_RULE_TOT= Velikost zaokrouhlení rozsahu (u mála zemí, kde je provedeno zaokrouhlení na něco jiného než základ 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Čistá jednotková cena produktu TotalPriceAfterRounding=Celková cena (bez DPH / s DPH / s DPH) po zaokrouhlení ParameterActiveForNextInputOnly=Parametr efektivní pro další vstup pouze @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Celkový počet aktivovaných funkcí modulů: YouMustEnableOneModule=Musíte povolit alespoň jeden modul ClassNotFoundIntoPathWarning=Třída %s nenašli cestu do PHP YesInSummer=Ano v létě -OnlyFollowingModulesAreOpenedToExternalUsers=Na vědomí, že pouze následující moduly otevřel externím uživatelům (ať jsou povolení těchto uživatelů): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Úložiště relace šifrována Suhosin ConditionIsCurrently=Podmínkou je v současné době %s YouUseBestDriver=Pomocí ovladače %s, že je nejlepší řidič současné době k dispozici. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Maximální počet výrobků ve komba vyberte seznam ConfirmDeleteProductLineAbility=Potvrzení při odstraňování produktové řady ve formulářích ModifyProductDescAbility=Personalizace popisy produktů ve formách ViewProductDescInFormAbility=Vizualizace popisy produktů ve formách (jinak jako vyskakovací bublině) +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=Vizualizace Popisy výrobků v thirdparty jazyce UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Použijte vyhledávací formulář pro výběr produku (spíše než rozevíracího seznamu). UseEcoTaxeAbility=Podpora Eco-taxe (WEEE) SetDefaultBarcodeTypeProducts=Výchozí typ čárového kódu použít pro produkty SetDefaultBarcodeTypeThirdParties=Výchozí typ čárového kódu použít k třetím osobám +UseUnits=Support units ProductCodeChecker= Modul pro generování kódu produktu a přezkušování (výrobku nebo služby) ProductOtherConf= Katalog / Konfigurace služby ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Čárových kódů typu UPC BarcodeDescISBN=Čárový kód typu ISBN BarcodeDescC39=Čárový kód typu C39 BarcodeDescC128=Čárový kód typu C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Čárový kód generování nástroj pro příkazovou řádku (používaný vnitřním motorem u některých typů čárových kódů). Musí být v souladu s "genbarcode".
Například: / usr / local / bin / genbarcode BarcodeInternalEngine=Vnitřní motor BarCodeNumberManager=Manažer automatického definování čísel čárových kódů @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modul nastavení WebServicesDesc=Tím, že tento modul, Dolibarr stal webový server služby poskytovat různé webové služby. WSDLCanBeDownloadedHere=WSDL deskriptor soubory poskytovaných služeb lze stáhnout zde EndPointIs=SOAP klienti musí poslat své požadavky na koncový bod Dolibarr k dispozici na adrese +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bankovní modul nastavení FreeLegalTextOnChequeReceipts=Volný text na kontroly příjmů @@ -1594,7 +1609,7 @@ OpenFiscalYear=Otevřeno fiskální rok CloseFiscalYear=Zavřít fiskální rok DeleteFiscalYear=Smazat fiskální rok ConfirmDeleteFiscalYear=Jste si jisti, že chcete tento fiskální rok smazat? -Opened=Otevřeno +Opened=Open Closed=Zavřeno AlwaysEditable=Může být vždy upraveno MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Instalace externího modulu není možné SomethingMakeInstallFromWebNotPossible2=Z tohoto důvodu, proces upgradovat popsáno zde je pouze ruční kroky privilegovaný uživatel může dělat. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/cs_CZ/banks.lang b/htdocs/langs/cs_CZ/banks.lang index 2b8e1123263..489dfea1890 100644 --- a/htdocs/langs/cs_CZ/banks.lang +++ b/htdocs/langs/cs_CZ/banks.lang @@ -1,78 +1,78 @@ # Dolibarr language file - Source file is en_US - banks Bank=Banka Banks=Banky -MenuBankCash=Banka / Peníze -MenuSetupBank=Banka / Peníze nastavení +MenuBankCash=Banka/Peníze +MenuSetupBank=Nastavení banka/peníze BankName=Název banky FinancialAccount=Účet FinancialAccounts=Účty BankAccount=Bankovní účet BankAccounts=Bankovní účty -ShowAccount=Show Account +ShowAccount=Ukázat účet AccountRef=Finanční účet ref -AccountLabel=Finanční účet štítek +AccountLabel=Štítek finančního účtu CashAccount=Pokladní účet CashAccounts=Hotovostní účty MainAccount=Hlavní účet CurrentAccount=Běžný účet CurrentAccounts=Běžné účty -SavingAccount=Spořitelní účet +SavingAccount=Spořicí účet SavingAccounts=Spořicí účty -ErrorBankLabelAlreadyExists=Finanční účet štítek již existuje +ErrorBankLabelAlreadyExists=Štítek finančního účtu již existuje BankBalance=Zůstatek BankBalanceBefore=Zůstatek před BankBalanceAfter=Zůstatek po -BalanceMinimalAllowed=Minimální zůstatek povolena +BalanceMinimalAllowed=Minimální povolený zůstatek BalanceMinimalDesired=Minimální požadovaný zůstatek InitialBankBalance=Počáteční zůstatek -EndBankBalance=Konec zůstatek +EndBankBalance=Konečný zůstatek CurrentBalance=Běžný zůstatek -FutureBalance=Budoucí rovnováha -ShowAllTimeBalance=Zobrazit rovnováhy od začátku -AllTime=From start -Reconciliation=Smíření +FutureBalance=Budoucí zůstatek +ShowAllTimeBalance=Zobrazit zůstatky od začátku +AllTime=Od začátku +Reconciliation=Vyrovnání RIB=Číslo bankovního účtu IBAN=IBAN -IbanValid=IBAN is Valid -IbanNotValid=IBAN is Not Valid -BIC=BIC / SWIFT číslo -SwiftValid=BIC/SWIFT is Valid -SwiftNotValid=BIC/SWIFT is Not Valid +IbanValid=IBAN je platný +IbanNotValid=IBAN není platný +BIC=BIC/SWIFT kód +SwiftValid=BIC/SWIFT je platný +SwiftNotValid=BIC/SWIFT není platný StandingOrders=Trvalé příkazy StandingOrder=Trvalý příkaz Withdrawals=Výběry -Withdrawal=Odnětí +Withdrawal=Výběr AccountStatement=Výpis z účtu AccountStatementShort=Prohlášení AccountStatements=Výpisy z účtů LastAccountStatements=Poslední výpis z účtu Rapprochement=Reconciliate -IOMonthlyReporting=Měsíční reporting +IOMonthlyReporting=Měsíční hlášení BankAccountDomiciliation=Účetní adresa BankAccountCountry=Účet země -BankAccountOwner=Majitel účtu Název -BankAccountOwnerAddress=Majitel účtu adresa -RIBControlError=Kontrola integrity hodnot selže. To znamená, že informace v tomto čísle účtu nejsou úplné nebo špatně (zjistit zemi, čísla a IBAN). +BankAccountOwner=Název majitele účtu +BankAccountOwnerAddress=Adresa majitele účtu +RIBControlError=Kontrola integrity hodnot selhala. To znamená, že informace v tomto čísle účtu nejsou úplné nebo špatné (Zkontrolujte zemi, čísla a IBAN). CreateAccount=Vytvořit účet NewAccount=Nový účet NewBankAccount=Nový bankovní účet NewFinancialAccount=Nový finanční účet MenuNewFinancialAccount=Nový finanční účet -NewCurrentAccount=Nový běžného účtu +NewCurrentAccount=Nový běžný účet NewSavingAccount=Nový spořicí účet NewCashAccount=Nový peněžní účet EditFinancialAccount=Upravit účet -AccountSetup=Finanční účty pro nastavení -SearchBankMovement=Hledat banka hnutí +AccountSetup=Nastavení finančních účtů +SearchBankMovement=Hledat bankovní pohyb Debts=Pohledávky LabelBankCashAccount=Banka nebo peněžní štítek AccountType=Typ účtu -BankType0=Spořitelní účet -BankType1=Proudu nebo účtu ke kreditní kartě +BankType0=Spořicí účet +BankType1=Běžný nebo kreditní účet BankType2=Pokladní účet IfBankAccount=Pokud bankovní účet -AccountsArea=Účty oblast -AccountCard=Účet karta +AccountsArea=Oblast účtů +AccountCard=Karta účtu DeleteAccount=Smazat účet ConfirmDeleteAccount=Jste si jisti, že chcete smazat tento účet? Account=Účet @@ -81,58 +81,58 @@ ByRubriques=Podle kategorií BankTransactionByCategories=Bankovní transakce podle kategorií BankTransactionForCategory=Bankovní transakce pro kategorie %s RemoveFromRubrique=Odstraňte spojení s kategorií -RemoveFromRubriqueConfirm=Jste si jisti, že chcete odstranit vazbu mezi transakce a kategorie? +RemoveFromRubriqueConfirm=Jste si jisti, že chcete odstranit vazbu mezi transakcí a kategorií? ListBankTransactions=Přehled bankovních transakcí IdTransaction=ID transakce BankTransactions=Bankovní transakce SearchTransaction=Hledat transakce ListTransactions=Seznam transakcí -ListTransactionsByCategory=Seznam transakcí / kategorie -TransactionsToConciliate=Transakce smířit -Conciliable=Může být porovnána -Conciliate=Smířit -Conciliation=Smíření -ConciliationForAccount=Smiřte se tento účet -IncludeClosedAccount=Zahrnout uzavřených účtů +ListTransactionsByCategory=Seznam transakcí/kategorie +TransactionsToConciliate=Porovnat transakce +Conciliable=Může být porovnáno +Conciliate=Porovnat +Conciliation=Porovnání +ConciliationForAccount=Porovnat tento účet +IncludeClosedAccount=Zahrnout uzavřené účty OnlyOpenedAccount=Pouze otevřené účty -AccountToCredit=Účet na úvěr +AccountToCredit=Úvěrový účet AccountToDebit=Účet na vrub -DisableConciliation=Zakázat usmíření funkci pro tento účet -ConciliationDisabled=Odsouhlasení funkce vypnuta +DisableConciliation=Zakázat funkci porovnání pro tento účet +ConciliationDisabled=Funkce porovnání vypnuta StatusAccountOpened=Otevřeno StatusAccountClosed=Zavřeno AccountIdShort=Číslo EditBankRecord=Upravit záznam LineRecord=Transakce -AddBankRecord=Přidat obchod -AddBankRecordLong=Přidat obchod ručně -ConciliatedBy=Odsouhlaseny -DateConciliating=Synchronizovat data -BankLineConciliated=Transakce smířil -CustomerInvoicePayment=Klientská platba -CustomerInvoicePaymentBack=Klientská platba zpět -SupplierInvoicePayment=Dodavatel platba -WithdrawalPayment=Odstoupení platba -SocialContributionPayment=Sociální příspěvek platba -FinancialAccountJournal=Finanční účet časopis +AddBankRecord=Přidat transakci +AddBankRecordLong=Přidat transakci ručně +ConciliatedBy=Porovnáno +DateConciliating=Datum porovnání +BankLineConciliated=Transakce porovnána +CustomerInvoicePayment=Zákaznická platba +CustomerInvoicePaymentBack=Vrátit zákaznickou platbu +SupplierInvoicePayment=Dodavatelská platba +WithdrawalPayment=Výběr platby +SocialContributionPayment=Platba sociálního příspěvku +FinancialAccountJournal=Deník finanční účet BankTransfer=Bankovní převod BankTransfers=Bankovní převody -TransferDesc=Přenos z jednoho účtu na jiný, bude Dolibarr psát dva záznamy (debetní ve zdrojovém účtu a úvěr v cílovém účtu, ve stejné výši. Stejné označení a datum bude použit pro tuto transakci) +TransferDesc=Přenos z jednoho účtu na jiný bude Dolibarr účtovat dvěma záznamy (debetní ve zdrojovém účtu a kreditní v cílovém účtu, ve stejné výši. Stejné označení a datum bude použito pro tuto transakci) TransferFrom=Z TransferTo=Na -TransferFromToDone=Transfer z %s na %s %s %s ze byl zaznamenán. -CheckTransmitter=Vysílač -ValidateCheckReceipt=Ověření tohoto políčka příjem? -ConfirmValidateCheckReceipt=Jste si jisti, že chcete ověřit zaškrtnutí tohoto potvrzení, nebude možné měnit jakmile se tak stane? -DeleteCheckReceipt=Odstraňte zaškrtnutí tohoto příjmu? -ConfirmDeleteCheckReceipt=Jste si jisti, že chcete smazat toto políčko příjem? +TransferFromToDone=Převod z %s na %s %s %s byl zaznamenán. +CheckTransmitter=Převádějící +ValidateCheckReceipt=Ověření příjmu tohoto políčka? +ConfirmValidateCheckReceipt=Jste si jisti, že chcete ověřit zaškrtnutí tohoto potvrzení? Jakmile ho provedete, nebudete ho již moci změnit. +DeleteCheckReceipt=Odstranit zaškrtnutí tohoto příjmu? +ConfirmDeleteCheckReceipt=Jste si jisti, že chcete smazat toto políčko příjmu? BankChecks=Bankovní šeky -BankChecksToReceipt=Kontroly čekají na uložení -ShowCheckReceipt=Zobrazit zkontrolovat depozitní potvrzení -NumberOfCheques=Nb šeku +BankChecksToReceipt=Šeky čekající na uložení +ShowCheckReceipt=Zobrazit příjmový vklad šeku +NumberOfCheques=Nb šeky DeleteTransaction=Odstranit transakce ConfirmDeleteTransaction=Jste si jisti, že chcete smazat tuto transakci? -ThisWillAlsoDeleteBankRecord=To bude také odstranit vznikající bankovní transakce +ThisWillAlsoDeleteBankRecord=Toto odstraní vznikající bankovní transakce BankMovements=Pohyby CashBudget=Peněžní rozpočet PlannedTransactions=Plánované transakce @@ -141,27 +141,27 @@ ExportDataset_banque_1=Bankovní transakce a výpis z účtu ExportDataset_banque_2=Deposit slip TransactionOnTheOtherAccount=Transakce na jiný účet TransactionWithOtherAccount=Převodem na účet -PaymentNumberUpdateSucceeded=Platba číslo aktualizovány úspěšně -PaymentNumberUpdateFailed=Platba číslo nelze aktualizovat -PaymentDateUpdateSucceeded=Datum platby aktualizovat úspěšně +PaymentNumberUpdateSucceeded=Číslo platby úspěšně aktualizováno +PaymentNumberUpdateFailed=Číslo platby nelze aktualizovat +PaymentDateUpdateSucceeded=Datum platby úspěšně aktualizováno PaymentDateUpdateFailed=Datum platby nelze aktualizovat Transactions=Transakce BankTransactionLine=Bankovní transakce -AllAccounts=Všechny bankovní / peněžní účty -BackToAccount=Zpět na účtu +AllAccounts=Všechny bankovní/peněžní účty +BackToAccount=Zpět na účet ShowAllAccounts=Zobrazit pro všechny účty -FutureTransaction=Transakce v Futur. Žádný způsob, jak se smířit. -SelectChequeTransactionAndGenerate=Výběr / filtr, aby kontroly zahrnovaly do obdržení šeku vkladů a klikněte na "Vytvořit". -InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD -EventualyAddCategory=Nakonec určit kategorii, ve které chcete klasifikovat záznamy -ToConciliate=Smířit? -ThenCheckLinesAndConciliate=Poté zkontrolujte, zda řádky, které jsou ve výpisu z účtu a klepněte na tlačítko -BankDashboard=Účty shrnutí -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 ? -StartDate=Start date -EndDate=End date +FutureTransaction=Transakce v budoucnosti. Žádný způsob, jak porovnat. +SelectChequeTransactionAndGenerate=Výběr/filtr kontrol zahrnujících příjem šekových vkladů, a klikněte na "Vytvořit". +InputReceiptNumber=Vyberte si výpis z účtu v souvislosti s porovnáváním. Použijte tříditelnou číselnou hodnotu: YYYYMM nebo YYYYMMDD +EventualyAddCategory=Eventuelně upřesněte kategorii, ve které chcete klasifikovat záznamy +ToConciliate=Porovnat? +ThenCheckLinesAndConciliate=Poté zkontrolujte řádky, které jsou ve výpisu z účtu a klikněte na tlačítko +BankDashboard=Shrnutí bankovních účtů +DefaultRIB=Výchozí BAN +AllRIB=Všechny BAN +LabelRIB=BAN Štítek +NoBANRecord=Žádný BAN záznam +DeleteARib=Smazat BAN záznam +ConfirmDeleteRib=Jste si jisti, že chcete smazat tento BAN záznam? +StartDate=Datum zahájení +EndDate=Datum ukončení diff --git a/htdocs/langs/cs_CZ/companies.lang b/htdocs/langs/cs_CZ/companies.lang index 57041820006..df3eb62511f 100644 --- a/htdocs/langs/cs_CZ/companies.lang +++ b/htdocs/langs/cs_CZ/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Dosaženo max. pro nezaplacený účet MonkeyNumRefModelDesc=Vrátí číslo ve formátu %syymm-nnnn pro kód zákazníka a %syymm-nnnn pro kód dodavatele kde yy je rok, mm měsíc a nnnn je číselná řada bez přerušení a bez návratu k 0. LeopardNumRefModelDesc=Kód je volný. Tento kód lze kdykoli změnit. ManagingDirectors=Jméno vedoucího (CEO, ředitel, předseda ...) -SearchThirdparty=Hledat třetí stranu +SearchThirdparty=Search third party SearchContact=Hledat kontakt +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Třetí strany byly sloučeny +ErrorThirdpartiesMerge=Došlo k chybě při mazání třetích stran. Zkontrolujte log soubor. Změny byly vráceny. diff --git a/htdocs/langs/cs_CZ/cron.lang b/htdocs/langs/cs_CZ/cron.lang index 695153d122f..fb3b1a6ebbf 100644 --- a/htdocs/langs/cs_CZ/cron.lang +++ b/htdocs/langs/cs_CZ/cron.lang @@ -4,10 +4,10 @@ About = O aplikaci CronAbout = O cronu CronAboutPage = Cron o stránce # Right -Permission23101 = Číst naplánovanou úlohu -Permission23102 = Vytvořit/aktualizovat naplánovanou úlohu -Permission23103 = Odstranit naplánovanou úlohu -Permission23104 = Provést naplánované úlohy +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Nastavení naplánovaných úloh URLToLaunchCronJobs=URL ke kontrole a spuštění úlohy v případě potřeby @@ -26,11 +26,11 @@ CronLastOutput=Výstup poslední úlohy CronLastResult=Výstup posledního kódu CronListOfCronJobs=Seznam naplánovaných úloh CronCommand=Příkaz -CronList=Naplánovaná úloha +CronList=Naplánované úlohy CronDelete=Smazat naplánované úlohy -CronConfirmDelete=Jste si jisti, že chcete smazat tyto naplánované úlohy? +CronConfirmDelete=Jste si jisti, že chcete odstranit tyto naplánované úlohy? CronExecute=Spuštění naplánovaných úloh -CronConfirmExecute=Opravdu chcete provést tyto naplánované úlohy nyní? +CronConfirmExecute=Jste si jisti, že chcete provést tyto naplánované úlohy nyní? CronInfo=Plánovací modul úloh umožňují provádět úlohy, které byly plánované CronWaitingJobs=Čekající úlohy CronTask=Práce @@ -39,7 +39,7 @@ CronDtStart=Datum zahájení CronDtEnd=Datum ukončení CronDtNextLaunch=Další provedení CronDtLastLaunch=Poslední provedení -CronFrequency=Frekvenční +CronFrequency=Frekvence CronClass=Třída CronMethod=Metoda CronModule=Modul @@ -55,9 +55,9 @@ CronEach=Každý JobFinished=Práce zahájena a dokončena #Page card CronAdd= Přidat práci -CronHourStart= Hodina a datum startu úkolu -CronEvery= A úkol provést každý -CronObject= Vytvoření Instance/objektu +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Vytvoření Instance/objektu CronArgs=Parametry CronSaveSucess=Úspěšně uloženo CronNote=Komentář @@ -85,4 +85,4 @@ CronType_command=Shell příkaz CronMenu=Cron CronCannotLoadClass=Nelze načíst třídu nebo objekt %s %s UseMenuModuleToolsToAddCronJobs=Jděte do menu "Home- Moduly nářadí- Seznam úloh" kde vidíte a upravujete naplánované úlohy. -TaskDisabled=Task vypnut +TaskDisabled=Úloha vypnuta diff --git a/htdocs/langs/cs_CZ/dict.lang b/htdocs/langs/cs_CZ/dict.lang index 21c16a44cae..e5412af3278 100644 --- a/htdocs/langs/cs_CZ/dict.lang +++ b/htdocs/langs/cs_CZ/dict.lang @@ -6,7 +6,7 @@ CountryES=Španělsko CountryDE=Německo CountryCH=Švýcarsko CountryGB=Velká Británie -# CountryUK=United Kingdom +CountryUK=Spojené Království Velká Británie CountryIE=Irsko CountryCN=Čína CountryTN=Tunisko @@ -20,13 +20,13 @@ CountryNL=Nizozemsko CountryHU=Maďarsko CountryRU=Rusko CountrySE=Švédsko -CountryCI=Ivoiry pobřeží +CountryCI=Ivoiry CountrySN=Senegal CountryAR=Argentina CountryCM=Kamerun CountryPT=Portugalsko CountrySA=Saúdská Arábie -CountryMC=Monaco +CountryMC=Monako CountryAU=Austrálie CountrySG=Singapur CountryAF=Afghánistán @@ -65,14 +65,14 @@ CountryKH=Kambodža CountryCV=Kapverdy CountryKY=Kajmanské ostrovy CountryCF=Středoafrická republika -CountryTD=Chad +CountryTD=Čad CountryCL=Chile CountryCX=Vánoční ostrov -CountryCC=Cocos (Keeling) Islands +CountryCC=Kokosové ostrovy (Keeling) CountryCO=Kolumbie -CountryKM=Komory +CountryKM=Komorské ostrovy CountryCG=Kongo -CountryCD=Kongo Demokratická republika +CountryCD=Demokratická republika Kongo CountryCK=Cookovy ostrovy CountryCR=Kostarika CountryHR=Chorvatsko @@ -95,8 +95,8 @@ CountryFO=Faerské ostrovy CountryFJ=Fidži CountryFI=Finsko CountryGF=Francouzská Guyana -CountryPF=Francouzská polynésie -CountryTF=Francouzská jižní území +CountryPF=Francouzská Polynésie +CountryTF=Francouzská Jižní území CountryGM=Gambie CountryGE=Gruzie CountryGH=Ghana @@ -112,7 +112,7 @@ CountryGW=Guinea-Bissau CountryGY=Guyana CountryHT=Haiti CountryHM=Heardův ostrov a McDonaldovy -CountryVA=Svatý stolec (Vatikánský městský stát) +CountryVA=Vatikán (Svatý stolec) CountryHN=Honduras CountryHK=Hongkong CountryIS=Icelande @@ -130,18 +130,18 @@ CountryKI=Kiribati CountryKP=Severní Korea CountryKR=Jižní Korea CountryKW=Kuvajt -CountryKG=Kyrghyztan -CountryLA=Lao +CountryKG=Kyrgyzstán +CountryLA=Laos CountryLV=Lotyšsko CountryLB=Libanon CountryLS=Lesotho CountryLR=Libérie -CountryLY=Libyjská +CountryLY=Libye CountryLI=Lichtenštejnsko -CountryLT=Litevských +CountryLT=Litva CountryLU=Lucembursko CountryMO=Macao -CountryMK=Makedonie, Bývalá jugoslávská z +CountryMK=Makedonie CountryMG=Madagaskar CountryMW=Malawi CountryMY=Malajsie @@ -159,7 +159,7 @@ CountryMD=Moldavsko CountryMN=Mongolsko CountryMS=Monserrat CountryMZ=Mosambik -CountryMM=Birmania (Myanmar) +CountryMM=Barma (Myanmar) CountryNA=Namibie CountryNR=Nauru CountryNP=Nepál @@ -170,7 +170,7 @@ CountryNI=Nikaragua CountryNE=Niger CountryNG=Nigérie CountryNU=Niue -CountryNF=Norfolk Island +CountryNF=Norfolkské ostrovy CountryMP=Severní Mariany CountryNO=Norsko CountryOM=Omán @@ -186,7 +186,7 @@ CountryPN=Pitcairn ostrovy CountryPL=Polsko CountryPR=Portoriko CountryQA=Katar -CountryRE=Shledání +CountryRE=Reunion CountryRO=Rumunsko CountryRW=Rwanda CountrySH=Svatá Helena @@ -211,7 +211,7 @@ CountrySD=Súdán CountrySR=Surinam CountrySJ=Špicberky a Jan Mayen CountrySZ=Svazijsko -CountrySY=Syřan +CountrySY=Sýrie CountryTW=Tchaj-wan CountryTJ=Tádžikistán CountryTZ=Tanzanie @@ -232,7 +232,7 @@ CountryUY=Uruguay CountryUZ=Uzbekistán CountryVU=Vanuatu CountryVE=Venezuela -CountryVN=Viet Nam +CountryVN=Vietnam CountryVG=Britské Panenské ostrovy CountryVI=Panenské ostrovy, USA CountryWF=Wallis a Futuna @@ -242,7 +242,7 @@ CountryZM=Zambie CountryZW=Zimbabwe CountryGG=Guernsey CountryIM=Isle of Man -CountryJE=Trikot +CountryJE=Jersey CountryME=Černá Hora CountryBL=Saint Barthelemy CountryMF=Svatý Martin @@ -250,38 +250,37 @@ CountryMF=Svatý Martin ##### Civilities ##### CivilityMME=Paní CivilityMR=Pan -CivilityMLE=Paní +CivilityMLE=Slečna CivilityMTRE=Mistr CivilityDR=Lékař - ##### Currencies ##### Currencyeuros=Euro -CurrencyAUD=AU dolar +CurrencyAUD=AU dolary CurrencySingAUD=AU dolar -CurrencyCAD=CAN dolar +CurrencyCAD=CAN dolary CurrencySingCAD=CAN Dollar -CurrencyCHF=Švýcarský frank +CurrencyCHF=Švýcarské franky CurrencySingCHF=Švýcarský frank -CurrencyEUR=Euro +CurrencyEUR=Eura CurrencySingEUR=Euro -CurrencyFRF=Francouzských franků +CurrencyFRF=Francouzské franky CurrencySingFRF=Francouzský frank -CurrencyGBP=GB liber -CurrencySingGBP=GB Pound -CurrencyINR=Indických rupií +CurrencyGBP=Libry +CurrencySingGBP=Libra +CurrencyINR=Indické rupie CurrencySingINR=Indická rupie -CurrencyMAD=Na tuto měnu -CurrencySingMAD=Na tuto měnu +CurrencyMAD=Dirham +CurrencySingMAD=Dirham CurrencyMGA=Ariary CurrencySingMGA=Ariary CurrencyMUR=Mauricius rupie CurrencySingMUR=Mauricius rupie -CurrencyNOK=Norské Krones +CurrencyNOK=Norské koruny CurrencySingNOK=Norská koruna CurrencyTND=Tuniských dinárů CurrencySingTND=Tuniský dinár -CurrencyUSD=Americké dolary -CurrencySingUSD=US Dollar +CurrencyUSD=Dolary +CurrencySingUSD=Dolar CurrencyUAH=Hřivna CurrencySingUAH=Hřivna CurrencyXAF=CFA frank BEAC @@ -290,23 +289,22 @@ CurrencyXOF=CFA frank BCEAO CurrencySingXOF=CFA frank BCEAO CurrencyXPF=CFP frank CurrencySingXPF=Frank CFP - CurrencyCentSingEUR=cent +CurrencyCentINR=paisa +CurrencyCentSingINR=paise CurrencyThousandthSingTND=tisícina - #### Input reasons ##### DemandReasonTypeSRC_INTE=Internet -DemandReasonTypeSRC_CAMP_MAIL=E-mailové kampaně -DemandReasonTypeSRC_CAMP_EMAIL=E-mailem kampaň -DemandReasonTypeSRC_CAMP_PHO=Telefon kampaň +DemandReasonTypeSRC_CAMP_MAIL=Mailová kampaň +DemandReasonTypeSRC_CAMP_EMAIL=E-mailová kampaň +DemandReasonTypeSRC_CAMP_PHO=Telefonická kampaň DemandReasonTypeSRC_CAMP_FAX=Fax kampaň DemandReasonTypeSRC_COMM=Obchodní kontakt -DemandReasonTypeSRC_SHOP=Shop Kontakt -DemandReasonTypeSRC_WOM=Word of mouth +DemandReasonTypeSRC_SHOP=Prodejní ontakt +DemandReasonTypeSRC_WOM=Dané slovo DemandReasonTypeSRC_PARTNER=Partner DemandReasonTypeSRC_EMPLOYEE=Zaměstnanec DemandReasonTypeSRC_SPONSORING=Sponzoring - #### Paper formats #### PaperFormatEU4A0=Formát 4A0 PaperFormatEU2A0=Formát 2A0 diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 7a9d91e0766..46c58e91a4b 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Povinné parametry jsou dosud stanoveny diff --git a/htdocs/langs/cs_CZ/exports.lang b/htdocs/langs/cs_CZ/exports.lang index 7f6a87c6762..fbd481d7461 100644 --- a/htdocs/langs/cs_CZ/exports.lang +++ b/htdocs/langs/cs_CZ/exports.lang @@ -1,76 +1,76 @@ # Dolibarr language file - Source file is en_US - exports -ExportsArea=Vývoz plocha -ImportArea=Dovoz oblast -NewExport=New export +ExportsArea=Oblast exportu +ImportArea=Oblast importu +NewExport=Nový export NewImport=Nový import -ExportableDatas=Exportovat dataset +ExportableDatas=Exportovatelný dataset ImportableDatas=Importovatelný dataset SelectExportDataSet=Vyberte datový soubor, který chcete exportovat ... SelectImportDataSet=Vyberte datový soubor, který chcete importovat ... -SelectExportFields=Vyberte pole, která chcete exportovat, nebo zvolte předdefinovanou export profil -SelectImportFields=Choose source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: -NotImportedFields=Oblasti zdrojovém souboru nejsou dováženy -SaveExportModel=Uložit tento export profil, pokud máte v plánu znovu později ... -SaveImportModel=Uložit tuto importu profilu, pokud máte v plánu znovu později ... -ExportModelName=Export název profilu -ExportModelSaved=Export profil uloží pod názvem %s. +SelectExportFields=Vyberte pole, která chcete exportovat, nebo zvolte předdefinovaný profil exportu +SelectImportFields=Zvolte pole zdrojového souboru, který chcete importovat, a jejich cílové pole v databázi jejich přesunutím nahoru a dolů s ukotvením %s, nebo vyberte předdefinovaný profil pro import: +NotImportedFields=Položky zdrojového souboru nejsou importovány +SaveExportModel=Uložte tento profil exportu, pokud máte v plánu použít ho znovu později ... +SaveImportModel=Uložte tento profil exportu, pokud máte v plánu použít ho znovu později ... +ExportModelName=Název profilu exportu +ExportModelSaved=Profil exportu byl uložen pod názvem %s. ExportableFields=Exportovatelné pole ExportedFields=Exportovat pole -ImportModelName=Dovoz název profilu -ImportModelSaved=Dovoz profil uloží pod názvem %s. -ImportableFields=Dováženého pole -ImportedFields=Importované pole +ImportModelName=Název profilu importu +ImportModelSaved=Profil importu byl uložen pod názvem %s. +ImportableFields=Importované položky +ImportedFields=Importovaná položka DatasetToExport=Dataset export DatasetToImport=Importovat soubor do datového souboru -NoDiscardedFields=Žádné položky ve zdrojovém souboru jsou ignorovány +NoDiscardedFields=Žádné položky ve zdrojovém souboru nejsou zlikvidovány Dataset=Dataset -ChooseFieldsOrdersAndTitle=Zvolte pole objednávku ... -FieldsOrder=Pole s cílem -FieldsTitle=Pole Název -FieldOrder=Pole, aby +ChooseFieldsOrdersAndTitle=Zvolte pole objednávky ... +FieldsOrder=Pole objednávky +FieldsTitle=Pole název +FieldOrder=Pole objednávky FieldTitle=Pole název ChooseExportFormat=Zvolte formát exportu -NowClickToGenerateToBuildExportFile=Nyní vyberte formát souboru v poli se seznamem a klikněte na "Vytvořit" stavět soubor exportu ... +NowClickToGenerateToBuildExportFile=Nyní vyberte formát souboru v poli se seznamem a klikněte na "Generovat" pro sestavení souboru exportu .... AvailableFormats=Dostupné formáty LibraryShort=Knihovna -LibraryUsed=Knihovna používá +LibraryUsed=Použitá knihovna LibraryVersion=Verze Step=Krok -FormatedImport=Import assistant -FormatedImportDesc1=This area allows to import personalized data, using an assistant to help you in process without technical knowledge. -FormatedImportDesc2=First step is to choose a king of data you want to load, then file to load, then to choose which fields you want to load. -FormatedExport=Export assistant -FormatedExportDesc1=This area allows to export personalized data, using an assistant to help you in process without technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then to choose which fields you want in your result files, and which order. -FormatedExportDesc3=When data to export are selected, you can define output file format you want to export your data to. +FormatedImport=Asistent importu +FormatedImportDesc1=Tato oblast umožňuje importovat osobní údaje, pomocí asistenta, který vám pomůže v procesu, bez technických znalostí. +FormatedImportDesc2=Prvním krokem je vybrat řídící data která chcete nahrát, ak soubor načíst, a pak si vybrat, která pole chcete načíst. +FormatedExport=Asistent exportu +FormatedExportDesc1=Tato oblast umožňuje exportovat osobní údaje, pomocí asistenta, který vám pomůže v procesu, bez technických znalostí. +FormatedExportDesc2=Prvním krokem je vybrat předem definovaný dataset, pak si vybrat, která pole chcete v souborech výsledků, a v jakém pořadí. +FormatedExportDesc3=Když jsou vybraná data na export, můžete definovat formát výstupního souboru, který chcete exportovat. Sheet=List -NoImportableData=Žádné dovážet data (žádný modul s definicemi povolit import dat) -FileSuccessfullyBuilt=Export souboru který byl vygenerován -SQLUsedForExport=Dotaz SQL použít k vytvoření exportovaného souboru +NoImportableData=Žádné importovatelné údaje (žádný modul s definicemi povolení importu dat) +FileSuccessfullyBuilt=Generován export souboru +SQLUsedForExport=Dotaz SQL použitý k vytvoření exportovaného souboru LineId=Id řádku -LineDescription=Popis linky -LineUnitPrice=Jednotková cena linky -LineVATRate=Sazba DPH linky -LineQty=Množství pro linku +LineDescription=Popis řádku +LineUnitPrice=Jednotková cena z řádku +LineVATRate=Sazba DPH z řádku +LineQty=Množství pro řádek LineTotalHT=Čistá částka daně na řádku LineTotalTTC=Částka s DPH za řádek LineTotalVAT=Částka DPH za řádek -TypeOfLineServiceOrProduct=Použitý typ linky (0 = produkt, 1 = služba) +TypeOfLineServiceOrProduct=Použitý typ řádku (0 = produkt, 1 = služba) FileWithDataToImport=Soubor s daty pro import FileToImport=Zdrojový soubor k importu -FileMustHaveOneOfFollowingFormat=Importovat soubor musí mít jeden z následujících formátu +FileMustHaveOneOfFollowingFormat=Soubor pro import musí mít jeden z následujících formátů DownloadEmptyExample=Stáhněte si příklad prázdného zdrojového souboru ChooseFormatOfFileToImport=Zvolte si formát souboru jako formát souboru pro import kliknutím na %s Piktogram vyberte ... -ChooseFileToImport=Nahrát soubor klepněte na %s Piktogram pro výběr souboru jako zdrojový soubor importu ... +ChooseFileToImport=Pro nahrání souboru klepněte na ikonku %s pro výběr souboru jako zdrojový soubor importu ... SourceFileFormat=Zdrojový soubor FieldsInSourceFile=Pole ve zdrojovém souboru FieldsInTargetDatabase=Cílové pole v Dolibarr databázi (tučně = povinná) Field=Pole NoFields=Žádné položky -MoveField=Přesuňte pole %s číslo sloupce +MoveField=Přesuňte pole na číslo sloupce %s ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Uložit tento import profil -ErrorImportDuplicateProfil=Nepodařilo se uložit tento import profilu s tímto jménem. Existující profil již existuje s tímto jménem. +SaveImportProfile=Uložit tento profil importu +ErrorImportDuplicateProfil=Nepodařilo se uložit tento profil importu. Existující profil s tímto jménem již existuje. ImportSummary=Importovat nastavení shrnutí TablesTarget=Cílené stoly FieldsTarget=Cílené pole diff --git a/htdocs/langs/cs_CZ/incoterm.lang b/htdocs/langs/cs_CZ/incoterm.lang new file mode 100644 index 00000000000..2f8c22c215b --- /dev/null +++ b/htdocs/langs/cs_CZ/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Přidat funkce pro správu Incotermu +IncotermLabel=Incoterms +IncotermSetupTitle1=Vlastnosti +IncotermSetupTitle2=Status +IncotermSetup=Nastavení modulu Incoterm +IncotermFunctionDesc=Aktivace Incoterm funkcí (Třetí strany, Návrh, Objednávky zákazníka, Zákaznické faktury, Přeprava, Dodavatelské objednávky) diff --git a/htdocs/langs/cs_CZ/languages.lang b/htdocs/langs/cs_CZ/languages.lang index d8ab2115f4a..c4a65838ff7 100644 --- a/htdocs/langs/cs_CZ/languages.lang +++ b/htdocs/langs/cs_CZ/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabština Language_ar_SA=Arabština +Language_bn_BD=Bengali Language_bg_BG=Bulharština Language_bs_BA=Bosenský Language_ca_ES=Katalánština @@ -21,9 +22,10 @@ Language_en_SA=Angličtina (Saúdská Arábie) Language_en_US=Angličtina (Spojené státy) Language_en_ZA=Angličtina (Jižní Afrika) Language_es_ES=Španělština -Language_es_DO=Španělština (Dominikánská republika) Language_es_AR=Španělština (Argentina) Language_es_CL=Španělština (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Španělština (Dominikánská republika) Language_es_HN=Španělština (Honduras) Language_es_MX=Španělština (Mexiko) Language_es_PY=Španělština (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonésie Language_is_IS=Islandština Language_it_IT=Italština Language_ja_JP=Japonsky +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korejština +Language_lo_LA=Lao Language_lt_LT=Litevský Language_lv_LV=Lotyština Language_mk_MK=Makedonský @@ -64,6 +69,7 @@ Language_sv_SV=Švédsky Language_sv_SE=Švédský Language_sq_AL=Albánština Language_sk_SK=Slovenština +Language_sw_SW=Kiswahili Language_th_TH=Thajsko Language_uk_UA=Ukrajina Language_uz_UZ=Uzbecký diff --git a/htdocs/langs/cs_CZ/loan.lang b/htdocs/langs/cs_CZ/loan.lang new file mode 100644 index 00000000000..a0932ee8963 --- /dev/null +++ b/htdocs/langs/cs_CZ/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Úvěr +Loans=Úvěry +NewLoan=Nový úvěr +ShowLoan=Zobrazit úvěr +PaymentLoan=Platba úvěru +ShowLoanPayment=Zobrazit paltbu úvěru +Capital=Kapitál +Insurance=Pojištění +Interest=Zájem +Nbterms=Počet termínů +LoanAccountancyCapitalCode=Kód kapitál v ůčetnictví +LoanAccountancyInsuranceCode=Kód pojištění v účetnictví +LoanAccountancyInterestCode=Kód zájmu v účetnictví +LoanPayment=Platba úvěru +ConfirmDeleteLoan=Potvrdit smazání tohoto úvěru +LoanDeleted=Úvěr úspěšně smazán +ConfirmPayLoan=Potvrďte klasifikaci zaplatit tento úvěr +LoanPaid=Placený úvěr +ErrorLoanCapital=Výše úvěru musí být číselné a větší než nula. +ErrorLoanLength=Délka úvěru musí být číselná a větší než nula. +ErrorLoanInterest=Roční úrok musí být číselný a větší než nula. +# Calc +LoanCalc=Kalkulátor bankovního úvěru +PurchaseFinanceInfo=Platební & finanční informace +SalePriceOfAsset=Prodejní cena aktiv +PercentageDown=Procento dlů +LengthOfMortgage=Délka hypotéky +AnnualInterestRate=Roční úroková sazba +ExplainCalculations=Vysvětlení výpočtů +ShowMeCalculationsAndAmortization=Ukažte mi výpočty a amortizaci +MortgagePaymentInformation=Informace o platbě hypotéky +DownPayment=Záloha +DownPaymentDesc=Záloha = základní vynásobená procentem dolů dělená 100 (pro dolů 5% se stává 5/100 nebo 0,05) +InterestRateDesc=Úroková sazba = roční úroková procena děleno 100, +MonthlyFactorDesc=Měsíční faktor = výsledkem následujícího vzorce +MonthlyInterestRateDesc=Měsíční úroková sazba = roční úroková sazba děleno 12 (za 12 měsíců v roce) +MonthTermDesc=Měsíc Termín úvěru v měsících = počet let, na které jste vzali úvěr - pozor na časy 12 +MonthlyPaymentDesc=Měsíční platba se počítá podle následujícího vzorce +AmortizationPaymentDesc=amortizacese mění, jak moc vaše měsíční splátka jde vstříc zájmu banky, a kolik jde do splácení jistiny vašeho úvěru. +AmountFinanced=Financovaná částka +AmortizationMonthlyPaymentOverYears=Odpisy měsíční splátky: %s přes %s let +Totalsforyear=Součty pro rok +MonthlyPayment=Měsíční platby +LoanCalcDesc=Tato hypoteční kalkulačka může být použita ke zjistit měsíční platby hypotečního úvěru, na základě místní prodejní ceny, termínu úvěru požadovaného, ​​kupujícího akontace procentech, a takového úvěru úrokové sazby.
Tato kalkulačka faktory PMI (soukromé pojištění hypotéky) u přijatých úvěrů, kde je méně než 20% dal jako zálohu. Také vzít v úvahu, jsou městské daně z nemovitostí, a jejich vliv na celkové měsíční splátky hypotéky.
+GoToInterest=%s půjde na ZÁJEM +GoToPrincipal=%s půjde na HLAVNÍCH +YouWillSpend=Strávíte %s na vašem domě v roce %s +# Admin +ConfigLoan=Konfigurace modulu úvěru +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Výchozí nastavení kód kapitálu v účetnictví +LOAN_ACCOUNTING_ACCOUNT_INTEREST=kód úroků ve výchozím nastavení účetnictví +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Kód pojištění ve výchozím nastavení účetnictví diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index 3ccc5ccbc29..c5fda06dbc9 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Jednotková cena (bez DPH) UnitPriceTTC=Jednotková cena PriceU=UP PriceUHT=UP (bez DPH) -AskPriceSupplierUHT=P.U. HT Požadováno +AskPriceSupplierUHT=U.P. net Požadováno PriceUTTC=UP Amount=Množství AmountInvoice=Fakturovaná částka @@ -413,6 +413,8 @@ Qty=Množství ChangedBy=Změnil ApprovedBy=Schváleno ApprovedBy2=Schváleno (druhé schválení) +Approved=Schváleno +Refused=Odmítnuto ReCalculate=Přepočítat ResultOk=Úspěch ResultKo=Selhání @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Souvisí s konkrétním uživatelem kontaktu DeleteAFile=Odstranění souboru ConfirmDeleteAFile=Jste si jisti, že chcete smazat tento soubor? NoResults=Žádné výsledky +SystemTools=System tools ModulesSystemTools=Moduly nástrojů Test=Test Element=Prvek @@ -703,6 +706,9 @@ ShowTransaction=Ukázat transakci GoIntoSetupToChangeLogo=Jděte na Domů-Nastavení-Společnost pro změnu loga, nebo je v nastavení skryjte. Deny=Odmítnout Denied=Odmítnuto +ListOfTemplates=Seznam šablon +Genderman=Muž +Genderwoman=Žena # Week day Monday=Pondělí Tuesday=Úterý @@ -732,3 +738,4 @@ ShortThursday=Č ShortFriday=PÁ ShortSaturday=S ShortSunday=N +SelectMailModel=Vybrat šablonu e-mailu diff --git a/htdocs/langs/cs_CZ/printing.lang b/htdocs/langs/cs_CZ/printing.lang new file mode 100644 index 00000000000..590281184d4 --- /dev/null +++ b/htdocs/langs/cs_CZ/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Přímý tisk +Module64000Desc=Povolit Direct Printing System +PrintingSetup=Nastavit systém přímého tisku +PrintingDesc=Tento modul přidá tlačítko Tisk pro odesílání dokumentů přímo na tiskárnu (bez otevření dokumentu do aplikace) s různými moduly. +ModuleDriverSetup=Nastaevní ovladače modulu +PrintingDriverDesc=Konfigurace proměnných pro tiskový ovladač. +ListDrivers=Výpis ovladačů +PrintTestDesc=Výpis tiskáren +FileWasSentToPrinter=Soubor %s byl odeslán na tiskárnu +NoActivePrintingModuleFound=Žádný aktivní modul pro tisk dokumentu +PleaseSelectaDriverfromList=Prosím vyberte ovladač ze seznamu. +SetupDriver=Nastavení ovladače +TestDriver=Test +TargetedPrinter=Cílová tiskárna +UserConf=Nastavení pro uživatele +PRINTGCP=Google Cloud tisk +PrintGCPDesc=Tento ovladač umožňuje odesílat dokumenty přímo k tiskárně s Google Cloud Print. +PrintingDriverDescprintgcp=Konfigurace proměnných pro ovladač tisku přes Google Cloud Print. +PrintTestDescprintgcp=Seznam tiskáren pro Google Cloud Print. +PRINTGCP_LOGIN=Přihlášení k účtu Google +PRINTGCP_PASSWORD=Heslo k účtu Google +STATE_ONLINE=Online +STATE_UNKNOWN=Neznámý +STATE_OFFLINE=Offline +STATE_DORMANT=Offline na nějakou dobu +TYPE_GOOGLE=Strejda Google +TYPE_HP=Tiskárna HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Ovladač Google +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Název +GCP_displayName=Zobrazovaný název +GCP_Id=ID tiskárny +GCP_OwnerName=Jméno majitele +GCP_State=Stav tiskárny +GCP_connectionStatus=Online stav +GCP_Type=Typ tiskárny +PRINTIPP=PrintIPP ovladač +PrintIPPSetup=Nastavení modulu přímého tisku +PrintIPPDesc=Tento ovladač umožňuje odesílat dokumenty přímo na tiskárnu. To vyžaduje systém Linux s nainstalovaným CUPS. +PrintingDriverDescprintipp=Konfigurace proměnných pro tiskový ovladač PrintIPP. +PrintTestDescprintipp=Výpis tiskáren pro PrintlPP +PRINTIPP_ENABLED=Zobrazit ikonu "Přímý tisk" v seznamech dokumentů +PRINTIPP_HOST=Tiskový server +PRINTIPP_PORT=Port +PRINTIPP_USER=Přihlášení +PRINTIPP_PASSWORD=Heslo +NoPrinterFound=Nebyly nalezeny žádné tiskárny (zkontrolovat nastavení CUPS) +NoDefaultPrinterDefined=Není definovaná žádná výchozí tiskárna +DefaultPrinter=Výchozí tiskárna +Printer=Tiskárna +CupsServer=CUPS server +IPP_Uri=Uri tiskárny +IPP_Name=Název tiskárny +IPP_State=Status tiskárny +IPP_State_reason=Důvod statusu +IPP_State_reason1=Důvod statusu1 +IPP_BW=BW +IPP_Color=Barva +IPP_Device=Zařízení +IPP_Media=Tisková média +IPP_Supported=Typ médií +STATE_IPP_idle=Idle +STATE_IPP_stopped=Zastaveno +STATE_IPP_paused=Pauza +STATE_IPP_toner-low-report=Málo toneru +STATE_IPP_none=None +MEDIA_IPP_stationery=Zásobník +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW tiskárna diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index 3d294c18fb3..6c16371b1d0 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Tento pohled zobrazuje všechny projekty které máte oprávn ProjectsPublicTaskDesc=Tento pohled představuje všechny projekty a úkoly, které mají povoleno číst. ProjectsDesc=Tento pohled zobrazuje všechny projekty (vaše uživatelské oprávnění vám umožňuje vidět vše). MyTasksDesc=Tento pohled je omezen na projekty či úkoly u kterých jste uveden jako kontakt (jakéhokoliv typu) -OnlyOpenedProject=Pouze otevřené projekty jsou viditelné (projekty s návrhem nebo uzavřeným stavem nejsou viditelné). +OnlyOpenedProject=Pouze otevřené projekty jsou viditelné (projekty v návrhu ani v uzavřeném stavu nejsou viditelné). TasksPublicDesc=Tento pohled zobrazuje všechny projekty a úkoly které máte oprávnění číst. TasksDesc=Tento pohled zobrazuje všechny projekty a úkoly (vaše uživatelské oprávnění vám umožňuje vidět vše). AllTaskVisibleButEditIfYouAreAssigned=Všechny úkoly takového projektu jsou viditelné, ale můžete zadat čas pouze k přiřazenému úkolu. @@ -41,7 +41,7 @@ TaskTimeSpent=Čas strávený na úkolech TaskTimeUser=Uživatel TaskTimeNote=Poznámka TaskTimeDate=Datum -TasksOnOpenedProject=Úkoly otevřených projektů +TasksOnOpenedProject=Úkoly na otevřených projektech WorkloadNotDefined=Pracovní zátěž není definována NewTimeSpent=Nový strávený čas MyTimeSpent=Můj strávený čas @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Seznam zákroků spojených s projektem ListExpenseReportsAssociatedProject=Seznam vyúčtování výdajů souvisejících s projektem ListDonationsAssociatedProject=Seznam darů spojených s projektem ListActionsAssociatedProject=Seznam událostí spojených s projektem +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Týdenní projektová aktivita ActivityOnProjectThisMonth=Měsíční projektová aktivita ActivityOnProjectThisYear=Roční projektová aktivita @@ -139,8 +140,12 @@ ProjectReferers=Odkazující objekty SearchAProject=Hledat projekt ProjectMustBeValidatedFirst=Projekt musí být nejdříve ověřen ProjectDraft=Návrhy projektů -FirstAddRessourceToAllocateTime=Přiřadit zdroje k vyčlenění času +FirstAddRessourceToAllocateTime=Přiřadit zdroj k vyčlenění času InputPerDay=Vstup za den InputPerWeek=Vstup za týden InputPerAction=Vstup za akci TimeAlreadyRecorded=Strávený čas již zaznamenána pro tento úkol/den a uživatele %s +ProjectsWithThisUserAsContact=Projekty s tímto uživatelem jako kontakt +TasksWithThisUserAsContact=Úkoly přidělené tomuto uživateli +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/cs_CZ/salaries.lang b/htdocs/langs/cs_CZ/salaries.lang index 8e3208a9d73..6eaac8c378b 100644 --- a/htdocs/langs/cs_CZ/salaries.lang +++ b/htdocs/langs/cs_CZ/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Ukázat platbu mzdy THM=Průměrná hodinová mzda TJM=Průměrná denní cena CurrentSalary=Současná mzda +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/cs_CZ/users.lang b/htdocs/langs/cs_CZ/users.lang index bde2e649dca..f1efca9a101 100644 --- a/htdocs/langs/cs_CZ/users.lang +++ b/htdocs/langs/cs_CZ/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Odstranit ze skupiny PasswordChangedAndSentTo=Heslo změněno a poslán na %s. PasswordChangeRequestSent=Žádost o změnu hesla %s zaslána na %s. MenuUsersAndGroups=Uživatelé a skupiny +MenuMyUserCard=My user card LastGroupsCreated=Posledních %s vytvořených skupin LastUsersCreated=Posledních %s vytvořených uživatelů ShowGroup=Zobrazit skupinu diff --git a/htdocs/langs/da_DK/accountancy.lang b/htdocs/langs/da_DK/accountancy.lang index 65d6fad2389..8b51a014b7a 100644 --- a/htdocs/langs/da_DK/accountancy.lang +++ b/htdocs/langs/da_DK/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Regnskab Globalparameters=Globale parametre @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Længde af de tredjeparts-konti ACCOUNTING_SELL_JOURNAL=Salgskladde ACCOUNTING_PURCHASE_JOURNAL=Indkøbskladde -ACCOUNTING_BANK_JOURNAL=Bankkladde -ACCOUNTING_CASH_JOURNAL=Kontantkladde ACCOUNTING_MISCELLANEOUS_JOURNAL=Diversekladde +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Socialkladde ACCOUNTING_ACCOUNT_TRANSFER_CASH=Konto overførsel diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 1d4269faf05..b28d5a23dee 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for brugere LangFile=Fil. Lang System=System SystemInfo=System information -SystemTools=Systemværktøjer SystemToolsArea=Systemværktøjer område SystemToolsAreaDesc=Dette område giver administration funktioner. Brug menuen til at vælge den funktion, du leder efter. Purge=Purge @@ -232,8 +231,8 @@ Security=Sikkerhed Passwords=Passwords DoNotStoreClearPassword=Må ikke gemme adgangskoder i klar i databasen MainDbPasswordFileConfEncrypted=Database adgangskode krypteres i conf.php -InstrucToEncodePass=For at få password kodet ind i conf.php fil, erstatte linjen
$ Dolibarr_main_db_pass ="..."
af
$ Dolibarr_main_db_pass = "krypteret: %s" -InstrucToClearPass=For at få afkodet password (klar) i conf.php fil, erstatte linjen
$ Dolibarr_main_db_pass = "krypteret :..."
af
$ Dolibarr_main_db_pass = "%s" +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=Beskyttelse af genereret pdf-filer (ikke recommandd, pauser masse pdf generation) ProtectAndEncryptPdfFilesDesc=Beskyttelse af et PDF-dokument holder den til rådighed for at læse og udskrive med alle PDF browser. Men, redigering og kopiering er ikke muligt længere. Bemærk, at du bruger denne funktion gør opbygningen af et globalt kumulerede pdf virker ikke (som ubetalte fakturaer). Feature=Funktion @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Det er opsætningen til processen: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Trin %s FindPackageFromWebSite=Find en pakke, der giver funktion, du ønsker (for eksempel på web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Installer er færdig og Dolibarr er klar til brug med denne nye komponent. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr aktuelle version CallUpdatePage=Gå til den side, der opdaterer database struktur og oplysningerne %s. LastStableVersion=Seneste stabile version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Handlinger / opgaver og dagsorden forvaltning Module2500Name=Elektronisk Content Management Module2500Desc=Gemme og dele dokumenter -Module2600Name=WebServices -Module2600Desc=Aktiver Dolibarr webtjenester server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=E-mail skabeloner +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup gemt BackToModuleList=Tilbage til moduler liste BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=By CompanyCountry=Land CompanyCurrency=Main valuta +CompanyObject=Object of the company Logo=Logo DoNotShow=Vis ikke DoNotSuggestPaymentMode=Ikke tyder NoActiveBankAccountDefined=Nr. aktiv bankkonto defineret OwnerOfBankAccount=Ejer af bankkonto %s BankModuleNotActive=Bankkonti modul er ikke aktiveret -ShowBugTrackLink=Vis linket "Fejlmeld" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "arbejdsbord" på hjemmeside Alerts=Indberetninger Delays=Forsinkelser @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimaler for enhedspriser MAIN_MAX_DECIMALS_TOT=Max decimaler for total priser MAIN_MAX_DECIMALS_SHOWN=Max decimaler for priser vises på skærmen (Tilføj ... efter dette nummer, hvis du vil se ..., når nummeret er afkortet, når der vises på skærmen) MAIN_DISABLE_PDF_COMPRESSION=Brug PDF-komprimering for genereret PDF filer. -MAIN_ROUNDING_RULE_TOT= Størrelse på afrunding række (for sjældne lande, hvor afrunding sker på noget andet end base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Net enhedsprisen på en vare TotalPriceAfterRounding=Samlet pris (net / beholder / incl moms) efter afrunding ParameterActiveForNextInputOnly=Parameter effektive for næste input kun @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default stregkode type bruge til produkter SetDefaultBarcodeTypeThirdParties=Default stregkode type bruge til tredjemand +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Barcode typeidentifikationsmærker UPC BarcodeDescISBN=Barcode typeidentifikationsmærker ISBN BarcodeDescC39=Barcode af type C39 BarcodeDescC128=Barcode af 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modul opsætning WebServicesDesc=Ved at aktivere dette modul Dolibarr blive en web service-server til at give diverse web-tjenester. WSDLCanBeDownloadedHere=WSDL deskriptor sagsakter forudsat serviceses kan downloade det her EndPointIs=SOAP klienter skal sende deres ansøgninger til Dolibarr endpoint tilgængelig på webadressen +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank modul opsætning FreeLegalTextOnChequeReceipts=Fri tekst på check kvitteringer @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/da_DK/banks.lang b/htdocs/langs/da_DK/banks.lang index 38da46493aa..66ae6833ec7 100644 --- a/htdocs/langs/da_DK/banks.lang +++ b/htdocs/langs/da_DK/banks.lang @@ -94,12 +94,12 @@ Conciliate=Forlige Conciliation=Forligsudvalget ConciliationForAccount=Forlige denne konto IncludeClosedAccount=Medtag lukkede konti -OnlyOpenedAccount=Kun åbnet konti +OnlyOpenedAccount=Only open accounts AccountToCredit=Hensyn til kredit AccountToDebit=Hensyn til at debitere DisableConciliation=Deaktiver forlig kendetegn for denne konto ConciliationDisabled=Forligsudvalget funktionen slået -StatusAccountOpened=Åbnet +StatusAccountOpened=Open StatusAccountClosed=Lukket AccountIdShort=Antal EditBankRecord=Rediger record diff --git a/htdocs/langs/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index 25e0c915ce1..01bb536f0fa 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Omgående @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/da_DK/boxes.lang b/htdocs/langs/da_DK/boxes.lang index 04ef669a9b5..d691ac93ec4 100644 --- a/htdocs/langs/da_DK/boxes.lang +++ b/htdocs/langs/da_DK/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Seneste kontrakter BoxLastContacts=Sidste kontakter / adresser BoxLastMembers=Nyeste medlemmer BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Omsætning BoxTotalUnpaidCustomerBills=Total ubetalte kundens fakturaer BoxTotalUnpaidSuppliersBills=Total ubetalte leverandørens fakturaer @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Omsætning BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/da_DK/categories.lang b/htdocs/langs/da_DK/categories.lang index caa830e7065..4829ef21034 100644 --- a/htdocs/langs/da_DK/categories.lang +++ b/htdocs/langs/da_DK/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully= %s blev tilføjet med succes. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Ingen NotCategorized=Without tag/category CategoryExistsAtSameLevel=Denne kategori allerede findes på samme sted @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Indholdet ikke er synligt fra alle CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / prosp. kategorier @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/da_DK/companies.lang b/htdocs/langs/da_DK/companies.lang index dcf77ba4f56..430acbd355d 100644 --- a/htdocs/langs/da_DK/companies.lang +++ b/htdocs/langs/da_DK/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolut rabatter til rådighed DiscountNone=Ingen Supplier=Leverandør CompanyList=Selskabernes liste -AddContact=Tilføj kontakt -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Rediger kontakt / adresse EditContactAddress=Edit contact/address Contact=Kontakt @@ -268,8 +268,8 @@ ContactsAddresses=Kontakt / Adresser NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=Ingen kontakt er defineret for denne tredjepart DefaultContact=Default kontakt -AddCompany=Tilføj virksomhed -AddThirdParty=Tilføj tredjepart +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Slet et selskab PersonalInformations=Personoplysninger AccountancyCode=Regnskabsmæssig kode @@ -379,8 +379,8 @@ DeliveryAddressLabel=Leverings adresse etiket DeleteDeliveryAddress=Slet en leverings adresse ConfirmDeleteDeliveryAddress=Er du sikker på du vil slette denne levering adresse? NewDeliveryAddress=Ny leveringsadresse -AddDeliveryAddress=Tilføj adresse -AddAddress=Tilføj adresse +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=Ingen alternativ leveringsadresse defineret SupplierCategory=Leverandør kategori JuridicalStatus200=Uafhængige @@ -410,5 +410,10 @@ OutstandingBillReached=Maks. for udstående fakturaer er nået MonkeyNumRefModelDesc=Retur værdi med format %syymm-nnnn for kunde-kode og %syymm-nnnn for leverandøren kode hvor yy er årstal, MM er måneden og nnnn er en sekvens uden mellemrum og ikke vende tilbage til 0. LeopardNumRefModelDesc=Kunde / leverandør-koden er ledig. Denne kode kan til enhver tid ændres. ManagingDirectors=Leder(e) navne (CEO, direktør, chef...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/da_DK/cron.lang b/htdocs/langs/da_DK/cron.lang index 9c968794352..42499e17bf0 100644 --- a/htdocs/langs/da_DK/cron.lang +++ b/htdocs/langs/da_DK/cron.lang @@ -4,10 +4,10 @@ About = Om CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Startdato CronDtEnd=Slutdato CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metode CronModule=Modul CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parametre CronSaveSucess=Save succesfully CronNote=Kommentar @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index 5714851a089..1a792d3cc35 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/da_DK/incoterm.lang b/htdocs/langs/da_DK/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/da_DK/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index d265352dc80..df4504587f9 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database - SuperUser adgang CheckToCreateDatabase=Afkrydsningsfelt, hvis databasen ikke eksisterer og skal være oprettet.
I dette tilfælde skal du udfylde login / password for SuperUser konto nederst på denne side. CheckToCreateUser=Afkrydsningsfelt, hvis login ikke eksisterer og skal være oprettet.
I dette tilfælde skal du udfylde login / password for SuperUser konto nederst på denne side. Experimental=(eksperimentel, ikke operationelle) +Deprecated=(deprecated) DatabaseRootLoginDescription=Log ind på den bruger lov til at oprette nye databaser eller nye brugere, ubrugelige, hvis din database og din database login findes allerede (ligesom når du er vært ved en web hosting provider). KeepEmptyIfNoPassword=Efterlad tom, hvis brugeren ikke har nogen adgangskode (undgå dette) SaveConfigurationFile=Gem værdier diff --git a/htdocs/langs/da_DK/languages.lang b/htdocs/langs/da_DK/languages.lang index a36180be01b..35d18e78446 100644 --- a/htdocs/langs/da_DK/languages.lang +++ b/htdocs/langs/da_DK/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabisk Language_ar_SA=Arabisk +Language_bn_BD=Bengali Language_bg_BG=Bulgarsk Language_bs_BA=Bosnisk Language_ca_ES=Catalansk @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi-Arabien) Language_en_US=Engelsk (USA) Language_en_ZA=Engelsk (Sydafrika) Language_es_ES=Spansk -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spansk (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spansk (Honduras) Language_es_MX=Spansk (Mexico) Language_es_PY=Spansk (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Islandsk Language_it_IT=Italiensk Language_ja_JP=Japansk +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Litauisk Language_lv_LV=Lettisk Language_mk_MK=Makedonsk @@ -64,6 +69,7 @@ Language_sv_SV=Svensk Language_sv_SE=Svensk Language_sq_AL=Albanian Language_sk_SK=Slovakisk +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainsk Language_uz_UZ=Usbekisk diff --git a/htdocs/langs/da_DK/loan.lang b/htdocs/langs/da_DK/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/da_DK/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/da_DK/mails.lang b/htdocs/langs/da_DK/mails.lang index 507d8277dc7..420d1ba6839 100644 --- a/htdocs/langs/da_DK/mails.lang +++ b/htdocs/langs/da_DK/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 8d3150d5138..9fad71da400 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Enhedspris (netto) UnitPriceTTC=Enhedspris PriceU=UP PriceUHT=UP (netto) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=Mængde AmountInvoice=Fakturabeløbet @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Ændret ved ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Genberegn ResultOk=Succes ResultKo=Fejl @@ -421,7 +423,7 @@ Reportings=Rapportering Draft=Udkast Drafts=Drafts Validated=Valideret -Opened=Åbnet +Opened=Open New=Ny Discount=Discount Unknown=Ukendt @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked til en bestemt bruger kontakt DeleteAFile=Slet en fil ConfirmDeleteAFile=Er du sikker du vil slette filen NoResults=Ingen resultater +SystemTools=System tools ModulesSystemTools=Modul værktøjer Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Mandag Tuesday=Tirsdag @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/da_DK/orders.lang b/htdocs/langs/da_DK/orders.lang index 472e2f51115..8ce95ff0690 100644 --- a/htdocs/langs/da_DK/orders.lang +++ b/htdocs/langs/da_DK/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Leverandør orden SuppliersOrders=Suppliers' ordrer SuppliersOrdersRunning=Nuværende leverandører ordrer CustomerOrder=Kunden for -CustomersOrders=Customers orders -CustomersOrdersRunning=Nuværende kundernes ordrer -CustomersOrdersAndOrdersLines=Kundens ordrer og kendelser 'linjer -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Leverandørens ordre om at behandle +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Annulleret StatusOrderDraftShort=Udkast StatusOrderValidatedShort=Valideret @@ -75,8 +75,9 @@ AddToMyOrders=Føj til mine ordrer AddToOtherOrders=Føj til andre ordrer AddToDraftOrders=Add to draft order ShowOrder=Vis for -NoOpenedOrders=Nr. åbnet ordrer -NoOtherOpenedOrders=Ingen andre åbnet ordrer +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Andre kendelser LastOrders=Last %s customer orders diff --git a/htdocs/langs/da_DK/other.lang b/htdocs/langs/da_DK/other.lang index b2bf7fc9c7c..9b12e35bd06 100644 --- a/htdocs/langs/da_DK/other.lang +++ b/htdocs/langs/da_DK/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Valider intervention Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Valider regningen Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Leverandør for godkendt Notify_ORDER_SUPPLIER_REFUSE=Leverandør For nægtes Notify_ORDER_VALIDATE=Kundeordre valideret @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Tilføj post i kalenderen %s diff --git a/htdocs/langs/da_DK/printing.lang b/htdocs/langs/da_DK/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/da_DK/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/da_DK/productbatch.lang b/htdocs/langs/da_DK/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/da_DK/productbatch.lang +++ b/htdocs/langs/da_DK/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index d87ebdd1741..b98ca1bc25b 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produkt eller tjeneste ProductsAndServices=Produkter og services ProductsOrServices=Produkter eller tjenesteydelser ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Produkter og services statistik ProductsStatistics=Produkter statistik -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Intern reference LastRecorded=Seneste produkter / ydelser på sælge registreres @@ -44,7 +44,7 @@ CardProduct1=Service kortet CardContract=Kontrakt-kortet Warehouse=Warehouse Warehouses=Lager -WarehouseOpened=Warehouse åbnet +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse lukket Stock=Stock Stocks=Lagre @@ -71,21 +71,21 @@ SellingPriceTTC=Salgspris (inkl. skat) PublicPrice=Offentlige pris CurrentPrice=Nuværende pris NewPrice=Ny pris -MinPrice=Minim. salgspris -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Salgsprisen kan ikke være lavere end minimum tilladt for dette produkt ( %s uden skat) ContractStatus=Kontrakt status ContractStatusClosed=Lukket -ContractStatusRunning=Kørsel +ContractStatusRunning=Ongoing ContractStatusExpired=udløbet -ContractStatusOnHold=Ikke kører -ContractStatusToRun=To get running -ContractNotRunning=Denne kontrakt er ikke kører +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Et produkt med henvisning %s eksisterer allerede. ErrorProductBadRefOrLabel=Forkert værdi for reference eller etiket. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Leverandører SupplierRef=Leverandør ref. ShowProduct=Vis produkt @@ -117,12 +117,12 @@ ServiceLimitedDuration=Hvis produktet er en tjeneste med begrænset varighed: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Antal pris MultiPriceLevelsName=Pris kategorier -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Oversættelse KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Søg produkt for at tilføje AddDel=Tilføj / Slet Quantity=Mængde NoMatchFound=Ingen match fundet -ProductAssociationList=Liste over relaterede produkter / tjenesteydelser: navn på produkt / tjeneste (mængde påvirkes) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=En af valgte produkt er moderselskab med aktuelle produkt DeleteProduct=Slet et produkt / service @@ -179,16 +179,41 @@ CloneProduct=Klon vare eller tjenesteydelse ConfirmCloneProduct=Er du sikker på at du vil klone vare eller tjenesteydelse %s? CloneContentProduct=Klon alle de vigtigste informationer af produkt / service ClonePricesProduct=Klon vigtigste informationer og priser -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Dette produkt er brugt NewRefForClone=Ref. af nye produkter / ydelser -CustomerPrices=Kunder priser -SuppliersPrices=Leverandører priser -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Toldkodeksen CountryOrigin=Oprindelsesland HiddenIntoCombo=Skjult i udvalgte lister Nature=Natur +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index feef2677099..96fa14742b2 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Dette synspunkt præsenterer alle projekter du får lov til a ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Dette synspunkt præsenterer alle projekter (din brugertilladelser give dig tilladelse til at se alt). MyTasksDesc=Dette synspunkt er begrænset til projekter eller opgaver, du er en kontaktperson for (hvad der er den type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Dette synspunkt præsenterer alle projekter og opgaver, som du får lov til at læse. TasksDesc=Dette synspunkt præsenterer alle projekter og opgaver (din brugertilladelser give dig tilladelse til at se alt). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Liste over projekter ShowProject=Vis projekt SetProject=Indstil projekt NoProject=Nr. projektet defineret -NbOpenTasks=Nb af åbnet opgaver +NbOpenTasks=Nb of open tasks NbOfProjects=Nb af projekter TimeSpent=Tid brugt TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Ny tid MyTimeSpent=Min tid @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Liste over interventioner i forbindelse med proje ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Liste over aktioner i forbindelse med projektet +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivitet på projektet i denne uge ActivityOnProjectThisMonth=Aktivitet på projektet i denne måned ActivityOnProjectThisYear=Aktivitet på projektet i år @@ -95,7 +96,7 @@ DeleteATimeSpent=Slet tid ConfirmDeleteATimeSpent=Er du sikker på du vil slette denne tid? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekter dedikeret til denne tredjepart NoTasks=Ingen opgaver for dette projekt LinkedToAnotherCompany=Knyttet til tredjemand @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/da_DK/propal.lang b/htdocs/langs/da_DK/propal.lang index 4458f52e97a..edb242a3a41 100644 --- a/htdocs/langs/da_DK/propal.lang +++ b/htdocs/langs/da_DK/propal.lang @@ -4,7 +4,7 @@ Proposal=Kommerciel forslag ProposalShort=Forslag ProposalsDraft=Udkast til kommercielle forslag ProposalDraft=Udkast til kommercielle forslag -ProposalsOpened=Åbnet kommercielle forslag +ProposalsOpened=Open commercial proposals Prop=Kommerciel forslag CommercialProposal=Kommerciel forslag CommercialProposals=Kommerciel forslag @@ -16,7 +16,7 @@ Prospect=Prospect ProspectList=Prospect liste DeleteProp=Slet kommercielle forslag ValidateProp=Valider kommercielle forslag -AddProp=Tilføj forslag +AddProp=Create proposal ConfirmDeleteProp=Er du sikker på du vil slette denne kommercielle forslag? ConfirmValidateProp=Er du sikker på at du ønsker at validere denne kommercielle forslag? LastPropals=Seneste %s forslag @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Beløb af måneden (efter skat) NbOfProposals=Antal kommercielle forslag ShowPropal=Vis forslag PropalsDraft=Drafts -PropalsOpened=Åbnet +PropalsOpened=Open PropalsNotBilled=Lukket ikke faktureret PropalStatusDraft=Udkast (skal valideres) PropalStatusValidated=Valideret (forslag er åbnet) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Ikke underskrevet (lukket) PropalStatusBilled=Billed PropalStatusDraftShort=Udkast PropalStatusValidatedShort=Valideret -PropalStatusOpenedShort=Åbnet +PropalStatusOpenedShort=Open PropalStatusClosedShort=Lukket PropalStatusSignedShort=Underskrevet PropalStatusNotSignedShort=Ikke underskrevet @@ -51,12 +51,10 @@ PropalsToClose=Kommercielle forslag til at lukke PropalsToBill=Undertegnet kommercielle forslag til lovforslag ListOfProposals=Liste over kommercielle forslag ActionsOnPropal=Aktioner for forslaget -NoOpenedPropals=Nr. åbnet kommercielle forslag -NoOtherOpenedPropals=Ingen andre åbnet kommercielle forslag +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Kommercielle forslag ref SendPropalByMail=Send kommercielle forslag mail -FileNotUploaded=Filen blev ikke uploadet -FileUploaded=Filen blev uploadet AssociatedDocuments=Dokumenter i forbindelse med forslaget: ErrorCantOpenDir=Kan ikke åbne mappe DatePropal=Dato for forslag @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s blev ikke fundet Estimate=Skøn: EstimateShort=Skøn OtherPropals=Andre forslag -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Opret kommercielle forslag ved at kopiere eksisterende forslag CreateEmptyPropal=Opret tom kommercielle forslag vierge eller fra listen over de produkter / ydelser DefaultProposalDurationValidity=Default kommercielle forslag gyldighedens løbetid (i dage) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=Kundekontakt opfølgning forslag # Document models DocModelAzurDescription=En komplet forslag model (logo. ..) DocModelJauneDescription=Jaune forslag 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) +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 diff --git a/htdocs/langs/da_DK/salaries.lang b/htdocs/langs/da_DK/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/da_DK/salaries.lang +++ b/htdocs/langs/da_DK/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/da_DK/sendings.lang b/htdocs/langs/da_DK/sendings.lang index 5c2efe5957b..7f7bbb81c0b 100644 --- a/htdocs/langs/da_DK/sendings.lang +++ b/htdocs/langs/da_DK/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simpelt dokument model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Advarsel, ikke produkter som venter på at blive afsendt. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Høvlet leveringsdato +DateDeliveryPlanned=Planned date of delivery DateReceived=Dato levering modtaget SendShippingByEMail=Send forsendelse via e-mail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index 894cd3015e3..2ab6b7a89fb 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Lager NewWarehouse=Nyt oplag / Stock område WarehouseEdit=Rediger lager MenuNewWarehouse=Ny lagerhal -WarehouseOpened=Warehouse åbnet +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse lukket WarehouseSource=Kilde lagerhal WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Vælg lageret skal bruges til lager fald SelectWarehouseForStockIncrease=Vælg lageret skal bruges til lager stigning NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/da_DK/suppliers.lang b/htdocs/langs/da_DK/suppliers.lang index 24d8c97f280..244baab2c54 100644 --- a/htdocs/langs/da_DK/suppliers.lang +++ b/htdocs/langs/da_DK/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Send til leverandører ListOfSupplierOrders=Liste over leverandør ordrer MenuOrdersSupplierToBill=Leverandør ordrer der kan faktureres NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/da_DK/trips.lang b/htdocs/langs/da_DK/trips.lang index bb78c2e3d37..f9ebcc9d079 100644 --- a/htdocs/langs/da_DK/trips.lang +++ b/htdocs/langs/da_DK/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Liste over gebyrer NewTrip=New expense report CompanyVisited=Company / fundament besøgte @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/da_DK/users.lang b/htdocs/langs/da_DK/users.lang index d18aa0d6e92..c03f4325e7f 100644 --- a/htdocs/langs/da_DK/users.lang +++ b/htdocs/langs/da_DK/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Fjern fra gruppe PasswordChangedAndSentTo=Password ændret og sendt til %s. PasswordChangeRequestSent=Anmodning om at ændre password for %s sendt til %s. MenuUsersAndGroups=Brugere & Grupper +MenuMyUserCard=My user card LastGroupsCreated=Seneste %s oprettet grupper LastUsersCreated=Seneste %s brugere oprettet ShowGroup=Vis gruppe diff --git a/htdocs/langs/da_DK/workflow.lang b/htdocs/langs/da_DK/workflow.lang index 0b3cf499945..21d1d4ce4eb 100644 --- a/htdocs/langs/da_DK/workflow.lang +++ b/htdocs/langs/da_DK/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow-modul opsætning -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Der er ingen workflow kan du ændre til modul du har aktiveret. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Opret en kundeordre automatisk efter en kommerciel forslag er underskrevet -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kommerciel forslag er underskrevet -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kontrakt er valideret -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Opret en kundefaktura automatisk efter en kundeordre er lukket +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/de_DE/accountancy.lang b/htdocs/langs/de_DE/accountancy.lang index aa0bd17f452..0de8b848cd7 100644 --- a/htdocs/langs/de_DE/accountancy.lang +++ b/htdocs/langs/de_DE/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +ACCOUNTING_EXPORT_SEPARATORCSV=Spaltentrennzeichen für die Export-Datei +ACCOUNTING_EXPORT_DATE=Das Datumsformat für die Exportdatei. +ACCOUNTING_EXPORT_PIECE=Exportiere eine Anzahl an Teile? +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exportiere mit Globalen Konto. +ACCOUNTING_EXPORT_LABEL=Exportiere die Beschriftung? +ACCOUNTING_EXPORT_AMOUNT=Exportiere den Betrag? +ACCOUNTING_EXPORT_DEVISE=Exporiere die Konstruktion? Accounting=Buchhaltung Globalparameters=Globale Parameter @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Länge der Partner ACCOUNTING_SELL_JOURNAL=Verkaufsjournal ACCOUNTING_PURCHASE_JOURNAL=Einkaufsjournal -ACCOUNTING_BANK_JOURNAL=Bankauszug -ACCOUNTING_CASH_JOURNAL=Kassenbeleg ACCOUNTING_MISCELLANEOUS_JOURNAL=Verschiedenes Journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Sozial-Journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Konto der Transaktion diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index bc7fec76f5f..0fee55d0587 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Benutzermenü LangFile=Datei .lang System=System SystemInfo=Systeminformationen -SystemTools=Systemwerkzeuge SystemToolsArea=Systemwerkzeugsübersicht SystemToolsAreaDesc=In diesem Bereich finden Sie die Verwaltungsfunktionen. Verwenden Sie das linke Menü zur Auswahl der gesuchten Funktion. Purge=Löschen @@ -232,8 +231,8 @@ Security=Sicherheit Passwords=Passwörter DoNotStoreClearPassword=Passwörter in der Datenbank nicht im Klartext speichern (Empfohlene Einstellung) MainDbPasswordFileConfEncrypted=Datenbankpasswort in der Konfigurationsdatei verschlüsselt speichern (Empfohlene Einstellung) -InstrucToEncodePass=Um das Passwort in der Konfigurationsdatei conf.php zu verschlüsseln, ersetzen Sie die Zeile
$dolibarr_main_db_pass="..."
durch
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Um das Passwort unverschlüsselt (Klartext) in der Konfigurationsdatei conf.php zu speichern, ersetzen Sie die Zeile
$dolibarr_main_db_pass="crypted:..."
durch
$dolibarr_main_db_pass="%s" +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=PDF-Dokumentschutz aktivieren (Die Aktivierung ist nicht empfohlen, weil dadurch die Stapelerzeugung von PDFs nicht mehr funktioniert) ProtectAndEncryptPdfFilesDesc=Die Aktivierung des PDF-Dokumentschutzes erhält die Lesbarkeit und Druckfähigkeit des Dokuments, Bearbeitung und Kopien sind jedoch nicht mehr möglich. Bitte beachten Sie, dass über die Aktivierung dieser Funktion auch die Stapelverarbeitung von PDF-Dokumenten (z.B. aller offenen Rechnungen) nicht mehr funktioniert Feature=Funktion @@ -300,13 +299,13 @@ ThisIsProcessToFollow=So führen Sie die Installation/Aktualisierung des Systems ThisIsAlternativeProcessToFollow=Dies ist ein alternativer Setup-Prozess: StepNb=Schritt %s FindPackageFromWebSite=Finden Sie ein Paket, das die gewünschten Funktionen beinhaltet (zum Beispiel auf der offiziellen Website %s). -DownloadPackageFromWebSite=Herunterladen des Installationspakets von der Website %s -UnpackPackageInDolibarrRoot=Entpacken des Pakets in den Stammordner der Systeminstallation %s +DownloadPackageFromWebSite=Installationspaket herunterladen (z.B. von offizieller Webseite %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Die Installation ist abgeschlossen und das System zur Verwendung der neuen Komponente bereit. NotExistsDirect=Kein alternatives Stammverzeichnis definiert.
InfDirAlt=Seit Version 3 ist es möglich, ein alternatives Stammverzeichnis anzugeben. Dies ermöglicht, Erweiterungen und eigene Templates am gleichen Ort zu speichern.
Legen Sie einfach ein Verzeichis im Hauptverzeichnis von Dolibarr an (z.B. "eigenes").
InfDirExample=
Danach in der Datei conf.php deklarieren
$dolibarr_main_url_root_alt='http://meinserver/custom'
$dolibarr_main_document_root_alt='/pfad/zu/dolibarr/htdocs/custom'
*Diese Zeilen sind mit "#" auskommentiert, um sie zu aktivieren, einfach das Zeichen entfernen. -YouCanSubmitFile=Modul wählen: +YouCanSubmitFile=Durch diesen Schritt, können Sie das Paket mit diesem Tool senden: Wähle Modul Datei CurrentVersion=Aktuelle dolibarr-Version CallUpdatePage=Zur Aktualisierung der Daten und Datenbankstrukturen gehen Sie zur Seite %s. LastStableVersion=Letzte stabile Version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameter-Liste stammt aus einer Tabelle
Syntax : ExtrafieldParamHelpchkbxlst=Parameter-Liste stammt aus einer Tabelle
Syntax: table_name:label_field:id_field::filter
Beispiel:c_typent:libelle:id::filter

Filter kann ein einfacher Test (zB active=1) nur aktive Wert angezeigt, wenn Sie filtern
wenn Sie auf extrafields filtern möchten verwenden Sie syntaxt extra.fieldcode=... \n\n(wobei fieldcode ist der Code vom extrafield)

\num die Liste basierend auf einer anderen zu haben
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Verwendete Bibliothek zur PDF-Erzeugung WarningUsingFPDF=Achtung: Ihre conf.php enthält $dolibarr_pdf_force_fpdf=1 Dies bedeutet, dass Sie die FPDF-Bibliothek verwenden, um PDF-Dateien zu erzeugen. Diese Bibliothek ist alt und unterstützt viele Funktionen nicht (Unicode-, Bild-Transparenz, kyrillische, arabische und asiatische Sprachen, ...), so dass es zu Fehlern bei der PDF-Erstellung kommen kann.
Um dieses Problem zu beheben und volle Unterstützung der PDF-Erzeugung zu erhalten, laden Sie bitte die TCPDF Bibliothek , dann kommentieren Sie die Zeile $dolibarr_pdf_force_fpdf=1 aus oder entfernen diese und fügen statt dessen $dolibarr_lib_TCPDF_PATH='Pfad_zum_TCPDF_Verzeichnisr' ein -LocalTaxDesc=In einigen Ländern gelten 2 oder 3 Steuern auf jede Rechnungszeile. Wenn dies der Fall ist, wählen Sie Typ für die zweite und dritte Steuer und seine Geschwindigkeit. Mögliche Art sind:
1: Ortstaxe gelten über Produkte und Dienstleistungen, ohne Mehrwertsteuer (MwSt nicht der örtlichen Steuer angewendet)
2: Ortstaxe gelten für Produkte und Dienstleistungen vor Mehrwertsteuer (MwSt auf Höhe + localtax berechnet)
3: Ortstaxe gelten für Produkte ohne Mehrwertsteuer (MwSt nicht der örtlichen Steuer angewendet)
4: Ortstaxe gelten für Erzeugnisse, bevor Mehrwertsteuer (MwSt auf Höhe + localtax berechnet)
5: Ortstaxe gelten für Dienstleistungen, ohne Mehrwertsteuer (MwSt nicht der örtlichen Steuer angewendet)
6: Ortstaxe gelten für Dienstleistungen vor Mehrwertsteuer (MwSt auf Höhe + localtax berechnet) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Geben Sie die anzurufende Telefonnr ein, um einen Link zu zeigen, mit dem die ClickToDial-URL für den Benutzer %s getestet werden kann RefreshPhoneLink=Aktualisierungslink @@ -492,8 +491,8 @@ Module400Name=Projekte / Chancen / Leads Module400Desc=Projektmanagement, Aufträge oder Leads. Anschließend können Sie ein beliebiges Element (Rechnung, Bestellung, Angebot, Intervention, ...) einem Projekt zuordnen und eine Queransicht von der Projektanzeige bekommen. Module410Name=Webkalender Module410Desc=Webkalenderintegration -Module500Name=Sonderausgaben (Steuern, Sozialbeiträge und Dividenden) -Module500Desc=Steuer-, Sozialbeitrags-, Dividenden- und Lohnverwaltung +Module500Name=Sonderausgaben +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Löhne Module510Desc=Verwaltung der Angestellten-Gehälter und -Zahlungen Module520Name=Darlehen @@ -512,7 +511,7 @@ Module1400Name=Buchhaltung Module1400Desc=Buchhaltung für Experten (doppelte Buchhaltung) Module1520Name=Dokumente erstellen Module1520Desc= Mailings Dokumente erstellen -Module1780Name=Kategorien +Module1780Name=Kategorien/#tags Module1780Desc=Kategorien erstellen (Produkte, Kunden, Lieferanten, Kontakte oder Mitglieder) Module2000Name=FCKeditor Module2000Desc=WYSIWYG-Editor @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Termine/Aufgaben und Terminplanung Module2500Name=Inhaltsverwaltung(ECM) Module2500Desc=Speicherung und Verteilung von Dokumenten -Module2600Name=WebServices -Module2600Desc=Aktivieren Sie Verwendung von Webservices +Module2600Name=API services (Web services SOAP) +Module2600Desc=Aktivieren Sie Dolibarr SOAP Server, unterstütztes API-Service. +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (Client) Module2650Desc=Aktiviere den Dolibarr Web Services Client (kann verwendet werden um Daten / Anforderungen an externe Server zu schicken. Nur Lieferantenbestellungen werden derzeit unterstützt) Module2700Name=Gravatar @@ -688,18 +689,18 @@ Permission281=Kontakte einsehen Permission282=Kontakte erstellen/bearbeiten Permission283=Kontakte löschen Permission286=Kontakte exportieren -Permission291=Tarife lesen +Permission291=Tarife einsehen Permission292=Berechtigungen der Tarife einstellen Permission293=Kundentarife ändern Permission300=Barcodes einsehen Permission301=Barcodes erstellen/bearbeiten Permission302=Barcodes löschen -Permission311=Leistungen lesen +Permission311=Leistungen einsehen Permission312=Leistung/Abonnement einem Vertrag zuordnen Permission331=Lesezeichen einsehen Permission332=Lesezeichen erstellen/bearbeiten Permission333=Lesezeichen löschen -Permission341=Eigene Berechtigungen lesen +Permission341=Eigene Berechtigungen einsehen Permission342=Eigene Benutzerinformationen erstellen/bearbeiten Permission343=Eigenes Passwort ändern Permission344=Eigene Berechtigungen bearbeiten @@ -729,10 +730,10 @@ Permission538=Leistungen exportieren Permission701=Spenden einsehen Permission702=Spenden erstellen/bearbeiten Permission703=Spenden löschen -Permission771=Spesenabrechnungen lesen (eigene und die der Untergebenen) +Permission771=Spesenabrechnungen einsehen (eigene und die der Untergebenen) Permission772=Spesenabrechnung erstellen/ändern Permission773=Spesenabrechnung löschen -Permission774=Spesenabrechnungen lesen (Alle Benutzer auch nicht Untergebene) +Permission774=Spesenabrechnungen einsehen (Alle Benutzer auch die nicht Untergebenen) Permission775=Spesenabrechnung genehmigen Permission776=Spesenabrechnung bezahlen Permission779=Spesenabrechnung exportieren @@ -817,6 +818,8 @@ DictionarySource=Quelle der Angebote/Aufträge DictionaryAccountancyplan=Kontenplan DictionaryAccountancysystem=Kontenplan Modul DictionaryEMailTemplates=Emailvorlage +DictionaryUnits=Einheiten +DictionaryProspectStatus=Prospection status SetupSaved=Setup gespeichert BackToModuleList=Zurück zur Modulübersicht BackToDictionaryList=Zurück zur Wörterbuchübersicht @@ -936,13 +939,14 @@ CompanyZip=Postleitzahl CompanyTown=Stadt CompanyCountry=Land CompanyCurrency=Hauptwährung +CompanyObject=Object of the company Logo=Logo DoNotShow=Nicht anzeigen DoNotSuggestPaymentMode=Nicht vorschlagen NoActiveBankAccountDefined=Keine aktiven Finanzkonten definiert OwnerOfBankAccount=Kontoinhaber %s BankModuleNotActive=Finanzkontenmodul nicht aktiv -ShowBugTrackLink=Zeige Link 'Fehler melden' +ShowBugTrackLink=Zeige Link %s ShowWorkBoard=Zeige 'Aufgabenübersicht' auf der Startseite Alerts=Benachrichtigungen Delays=Verspätungen @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Dezimalstellen max. für Stückpreise MAIN_MAX_DECIMALS_TOT=Dezimalstellen max. für Gesamtsummen MAIN_MAX_DECIMALS_SHOWN=Dezimalstellen max. für auf dem Bildschirm angezeigte Preise (Fügen Sie ... nach dieser Nummer ein, wenn Sie ... sehen wollen, falls ein Bildschirmpreis abgeschnitten wurde. MAIN_DISABLE_PDF_COMPRESSION=PDF-Komprimierung für erzeugte PDF-Dokumente verwenden -MAIN_ROUNDING_RULE_TOT= Rundungseinstellung (für Länder in denen die Rundung nicht auf Basis 10 errechnet wird - selten) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Nettostückpreis TotalPriceAfterRounding=Gesamtpreis (Netto/MwSt./Brutto) gerundet ParameterActiveForNextInputOnly=Die Einstellungen werden erst bei der nächsten Eingabe wirksam @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Summe aktivierter Module: %s YouMustEnableOneModule=Sie müssen mindestens 1 Modul aktivieren ClassNotFoundIntoPathWarning=Klasse %s nicht innerhalb PHP-Pfad gefunden YesInSummer=Ja im Sommer -OnlyFollowingModulesAreOpenedToExternalUsers=Hinweis: Nur die folgenden Module sind für externe Nutzer verfügbar (unabhängig von der Berechtigung dieser Benutzer): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sitzungsspeicher durch Suhosin verschlüsselt ConditionIsCurrently=Einstellung ist aktuell %s YouUseBestDriver=Sie verwenden den Treiber %s, dies ist derzeit der beste verfügbare. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Max. Anzahl der Produkte in Mehrfachauswahllisten (0 ConfirmDeleteProductLineAbility=Bestätigung für die Entfernung von Produktzeilen in Formularen ModifyProductDescAbility=Produktbeschreibungen in Formularen individuell anpassbar ViewProductDescInFormAbility=Anzeige dr Produktbeschreibungen in Formularen (andernfalls als Popup-Tooltip) +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=Anzeige der Produktbeschreibungen in der Sprache des Partners UseSearchToSelectProductTooltip=Wenn Sie eine große Anzahl von Produkten (> 100.000) haben, können Sie die Geschwindigkeit verbessern, indem Sie in Einstellungen -> Andere die Konstante PRODUCT_DONOTSEARCH_ANYWHERE auf 1 setzen. Die Suche startet dann am Beginn des Strings. UseSearchToSelectProduct=Suchfeld statt Listenansicht für die Produktauswahl verwenden. UseEcoTaxeAbility=Umweltabgaben unterstüzten SetDefaultBarcodeTypeProducts=Standard-Barcode-Typ für Produkte SetDefaultBarcodeTypeThirdParties=Standard-Barcode-Typ für Partner +UseUnits=Nutze Einheiten ProductCodeChecker= Modul für Produktcode-Erstellung und -Überprüfung (Produkt oder Service) ProductOtherConf= Konfiguration Produkt-/Services ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Barcode vom Typ UPC BarcodeDescISBN=Barcode vom Typ ISBN BarcodeDescC39=Barcode vom Typ C39 BarcodeDescC128=Barcode vom Typ C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Bar Code Kommandozeilen-Tool (verwendet interne Engine für einige Barcodetypen) Muss mit "genbarcode" kompatibel sein.
Zum Beispiel: /usr/local/bin/genbarcode BarcodeInternalEngine=interne Engine BarCodeNumberManager=Manager für die automatische Generierung von Barcode-Nummer @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices-Moduleinstellungen WebServicesDesc=Über Aktivierung dieses Moduls können Sie dolibarr zur Anbindung an externe Webservices konfigurieren WSDLCanBeDownloadedHere=Die WSDL-Datei der verfügbaren Webservices können Sie hier herunterladen EndPointIs=SOAP-Clients müssen Ihre Anfragen an den dolibarr-Endpoint unter der folgenden Url stellen +##### API #### +ApiSetup=API-Modul-Setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Nur Elemente aus aktiven Modulen sind ungeschützt ##### Bank ##### BankSetupModule=Bankmoduleinstellungen FreeLegalTextOnChequeReceipts=Freier Rechtstext für Scheckbelege @@ -1594,7 +1609,7 @@ OpenFiscalYear=Fiskalisches Jahr öffnen CloseFiscalYear=Fiskalisches Jahr schließen DeleteFiscalYear=Fiskalisches Jahr löschen ConfirmDeleteFiscalYear=Möchten Sie dieses fiskalische Jahr wirklich löschen? -Opened=Geöffnet +Opened=geöffnet Closed=Geschlossen AlwaysEditable=kann immer bearbeitet werden MAIN_APPLICATION_TITLE=Erzwinge sichtbaren Anwendungsnamen (Warnung: Setzen Ihres eigenen Namen hier, kann Autofill Login-Funktion abbrechen, wenn Sie DoliDroid Anwendung nutzen) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Die Installation von dem externen Modul i SomethingMakeInstallFromWebNotPossible2=Aus diesem Grund wird die Prozess hier beschriebenen Upgrade ist nur manuelle Schritte ein privilegierter Benutzer tun kann. InstallModuleFromWebHasBeenDisabledByFile=Installieren von externen Modul aus der Anwendung wurde von Ihrem Administrator deaktiviert. \nSie müssen ihn bitten, die Datei%s zu entfernen, um diese Funktion zu ermöglichen. ConfFileMuseContainCustom=Installation eines externen Modul aus der Anwendung speichern Sie die Modul-Dateien in Verzeichnis %s. Zu haben dieses Verzeichnis durch Dolibarr verarbeitet, müssen Sie das Setup Ihrer conf/conf.php Option haben
- - $dolibarr_main_url_root_alt auf <$dolibarr_main_url_root_alt="/custom" enabled = "/custom"
- $dolibarr_main_document_root_alt zu Wert aktiviert "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Drücken Sie F5 auf der Tastatur, nachdem dem Sie diesen Wert geändert haben, damit die Änderungen wirksam ist +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/de_DE/companies.lang b/htdocs/langs/de_DE/companies.lang index 39fb77901ea..3c7caa25d12 100644 --- a/htdocs/langs/de_DE/companies.lang +++ b/htdocs/langs/de_DE/companies.lang @@ -4,7 +4,7 @@ ErrorPrefixAlreadyExists=Präfix %s bereits vorhanden. Bitte wählen Sie einen a ErrorSetACountryFirst=Wähle zuerst das Land SelectThirdParty=Wähle einen Partner DeleteThirdParty=Lösche einen Partner -ConfirmDeleteCompany=Möchten Sie diesen Partner und alle verbundenen Informationen wirklich löschen? +ConfirmDeleteCompany=Möchten Sie diesen Partner und alle damit verbundenen Informationen wirklich löschen? DeleteContact=Löschen Sie einen Kontakt ConfirmDeleteContact=Möchten Sie diesen Kontakt und alle verbundenen Informationen wirklich löschen? MenuNewThirdParty=Neuer Partner @@ -314,14 +314,14 @@ Capital=Kapital CapitalOf=Kapital %s EditCompany=Unternehmen bearbeiten EditDeliveryAddress=Lieferadresse bearbeiten -ThisUserIsNot=Dieser Benutzer ist kein Lead, Kunde oder Lieferant +ThisUserIsNot=Dieser Benutzer ist weder ein Lead, Kunde oder Lieferant VATIntraCheck=Prüfen VATIntraCheckDesc=Der Link %s erlaubt eine Anfrage am Europäischen Mehrwertsteuer-Check-Service. Ein externer Zugang zum Internet-Server ist für diesen Dienst erforderlich. VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckableOnEUSite=Überprüfen Sie Intrakommunale MwSt-Website der Europäischen Kommission VATIntraManualCheck=Sie können die Überprüfung auch manuell durchführen %s befragen ErrorVATCheckMS_UNAVAILABLE=Anfrage nicht möglich. Überprüfungsdienst wird vom Mitgliedsland nicht angeboten (%s). -NorProspectNorCustomer=sonstige Adresse +NorProspectNorCustomer=kein Kunde, kein Lead JuridicalStatus=Rechtsform Staff=Mitarbeiterzahl ProspectLevelShort=Potenzial @@ -412,3 +412,8 @@ LeopardNumRefModelDesc=Kunden / Lieferanten-Code ist frei. Dieser Code kann jede ManagingDirectors=Name(n) des/der Manager (CEO, Direktor, Geschäftsführer, ...) SearchThirdparty=Partner suchen SearchContact=Kontakt suchen +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Partner wurden zusammengelegt +ErrorThirdpartiesMerge=Es gab einen Fehler beim Löschen des Partners. Bitte überprüfen Sie das Protokoll. Änderungen wurden rückgängig gemacht. diff --git a/htdocs/langs/de_DE/compta.lang b/htdocs/langs/de_DE/compta.lang index 249e8bd2daa..9fad5927ce0 100644 --- a/htdocs/langs/de_DE/compta.lang +++ b/htdocs/langs/de_DE/compta.lang @@ -7,7 +7,7 @@ TaxModuleSetupToModifyRules=Im Steuer-Modul können Sie die Ein TaxModuleSetupToModifyRulesLT=Hier können Sie die Einstellungen für die Berechnungen vornehmen OptionMode=Buchhaltungsoptionen OptionModeTrue=Option Eingang-Ausgang -OptionModeVirtual=Option Soll-Haben +OptionModeVirtual=Option Forderungen-Verbindlichkeiten OptionModeTrueDesc=Der Umsatz wird über die Zahlungen (Datum der Zahlungen) berechnet. \nDie Aussagekraft der Zahlen ist nur gewährleistet, wenn die Pflege der Konten (Ein-/Ausgang) nachhaltig korrekt ist. OptionModeVirtualDesc=In dieser Option berechnet sich der Umsatz über Zahlungen (Zahlungsdatum).
Die Gültigkeit der Zahlen ist nur bei Überprüfung der Zu- und Abgänge auf den Konten über Rechnungen gewährleistet. FeatureIsSupportedInInOutModeOnly=Dieses Feautre ist nur in der Soll-Haben-Option verfügbar (siehe Konfiguration des Rechnungswesen-Moduls) @@ -24,7 +24,7 @@ Accountsparent=Kontohalter BillsForSuppliers=Lieferantenrechnungen Income=Einnahmen Outcome=Ausgaben -ReportInOut=Einnahmen/Ausgaben +ReportInOut=Ergebnis / Geschäftsjahr ReportTurnover=Umsatz PaymentsNotLinkedToInvoice=Zahlungen mit keiner Rechnung und damit auch keinem Partner verbunden PaymentsNotLinkedToUser=Zahlungen mit keinem Benutzer verbunden @@ -198,7 +198,7 @@ CalculationRuleDescSupplier=Wählen Sie die geeignete Methode, um zum gleichen E TurnoverPerProductInCommitmentAccountingNotRelevant=Umsatz Bericht pro Produkt, bei der Verwendung einer Kassabuch Buchhaltung ist der Modus nicht relevant. Dieser Bericht ist nur bei Verwendung Buchführungsmodus Periodenrechnung (siehe Setup das Modul Buchhaltung). CalculationMode=Berechnungsmodus AccountancyJournal=Buchhaltungscode-Journal -ACCOUNTING_VAT_ACCOUNT=Standard-Erlöskonto, um MwSt einzuziehen +ACCOUNTING_VAT_ACCOUNT=Standard-Erlöskonto, für die Erhebung der Mehrwertsteuer ACCOUNTING_VAT_BUY_ACCOUNT=Standard-Aufwandskonto, um MwSt zu bezahlen ACCOUNTING_ACCOUNT_CUSTOMER=Standard Buchhaltungs-Code für Kunden/Debitoren ACCOUNTING_ACCOUNT_SUPPLIER=Standard Buchhaltungs-Code für Lieferanten/Kreditoren diff --git a/htdocs/langs/de_DE/cron.lang b/htdocs/langs/de_DE/cron.lang index f7e204ab99e..99bd18c2c0d 100644 --- a/htdocs/langs/de_DE/cron.lang +++ b/htdocs/langs/de_DE/cron.lang @@ -4,10 +4,10 @@ About = Über CronAbout = Über Cron CronAboutPage = Über cron Seite # Right -Permission23101 = Lese geplante Aufgabe -Permission23102 = Erstelle/aktualisiere geplante Aufgabe -Permission23103 = Lösche geplante Aufgabe -Permission23104 = Führe geplante Aufgabe aus +Permission23101 = geplante Aufgabe einsehen +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Jobverwaltungs-Konfiguration URLToLaunchCronJobs=URL zum Prüfen und Starten von Cronjobs wenn nötig @@ -26,11 +26,11 @@ CronLastOutput=Ausgabe der letzten Ausführung CronLastResult=Letzter Resultatcode CronListOfCronJobs=Liste der geplanten Jobs CronCommand=Befehl -CronList=Cronjob Liste +CronList=Geplante Aufträge CronDelete=cronjobs löschen -CronConfirmDelete=Möchten Sie diesen Cronjob wirklich löschen? +CronConfirmDelete=Sind Sie sicher, dass Sie diese geplanten Aufträge löschen wollen? CronExecute=Starte geplante cronjobs -CronConfirmExecute=Sind Sie sicher, dass Sie diesen cronjob jetzt ausführen wollen? +CronConfirmExecute=Sind Sie sicher, dass Sie diese geplante Aufträge jetzt ausführen möchten? CronInfo=Das Schedule Cron-Jobs Module erlaubt die geplanten Cron-Jobs die programmiert wurden durchzuführen. CronWaitingJobs=Wartende Jobs CronTask=Job @@ -39,7 +39,7 @@ CronDtStart=Beginnzeit CronDtEnd=Endet CronDtNextLaunch=Nächste Ausführung CronDtLastLaunch=Letzte Ausführung -CronFrequency=Häufigkeit +CronFrequency=Frequenz CronClass=Klasse CronMethod=Methode CronModule=Modul @@ -55,9 +55,9 @@ CronEach=Jede JobFinished=Job gestarted und beendet #Page card CronAdd= Jobs hinzufügen -CronHourStart= Startzeit und -datum für Aufgabe -CronEvery= Und führe Aufgabe aus jeden -CronObject= Instanz/Objekt zu erstellen +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instanz/Objekt zu erstellen CronArgs=Parameter CronSaveSucess=Speichern erfolgreich CronNote=Kommentar @@ -79,10 +79,10 @@ CronCreateJob=Erstelle neuen cronjob # Info CronInfoPage=Information # Common -CronType=Aufgaben-Typ +CronType=Job Typ CronType_method=Aufrufmethode einer Dolibarr Class CronType_command=Shell-Befehl CronMenu=Cron CronCannotLoadClass=Kann Klasse %s oder Object %s nicht laden UseMenuModuleToolsToAddCronJobs=Öffnen Sie das Menü "Start - Module Werkzeuge - Cronjob Liste" auf um geplante Skript-Aufgaben zu sehen und zu verändern. -TaskDisabled=Aufgabe deaktiviert +TaskDisabled=Job deaktiviert diff --git a/htdocs/langs/de_DE/incoterm.lang b/htdocs/langs/de_DE/incoterm.lang new file mode 100644 index 00000000000..edeaf252c16 --- /dev/null +++ b/htdocs/langs/de_DE/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Funktion hinzufügen um Incoterms zu verwalten +IncotermLabel=Incoterms +IncotermSetupTitle1=Funktion +IncotermSetupTitle2=Status +IncotermSetup=Verwaltung von Modul Incoterms / Lieferbedingungen +IncotermFunctionDesc=Incoterms-Funktion aktivieren (Partner, Angebot, Auftrag, Rechnung, Lieferung , Bestellung) diff --git a/htdocs/langs/de_DE/languages.lang b/htdocs/langs/de_DE/languages.lang index 466203312d1..031d71eb328 100644 --- a/htdocs/langs/de_DE/languages.lang +++ b/htdocs/langs/de_DE/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabisch Language_ar_SA=Arabisch +Language_bn_BD=Bengali Language_bg_BG=Bulgarisch Language_bs_BA=Bosnisch Language_ca_ES=Katalanisch @@ -21,9 +22,10 @@ Language_en_SA=Englisch (Saudi-Arabien) Language_en_US=Englisch (USA) Language_en_ZA=Englisch (Südafrika) Language_es_ES=Spanisch -Language_es_DO=Spanisch (Dominikanische Republik) Language_es_AR=Spanisch (Argentinien) Language_es_CL=Spanisch (Chile) +Language_es_CO=Spanisch (Kolumbien) +Language_es_DO=Spanisch (Dominikanische Republik) Language_es_HN=Spanisch (Honduras) Language_es_MX=Spanisch (Mexiko) Language_es_PY=Spanisch (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesisch Language_is_IS=Isländisch Language_it_IT=Italienisch Language_ja_JP=Japanisch +Language_ka_GE=georgisch +Language_kn_IN=Kannada Language_ko_KR=Koreanisch +Language_lo_LA=Lao Language_lt_LT=Litauisch Language_lv_LV=Litauisch Language_mk_MK=Mazedonisch @@ -64,6 +69,7 @@ Language_sv_SV=Schwedisch Language_sv_SE=Schwedisch Language_sq_AL=Albanisch Language_sk_SK=Slovakisch +Language_sw_SW=Kiswahili Language_th_TH=Thailändisch Language_uk_UA=Ukrainisch Language_uz_UZ=Usbekisch diff --git a/htdocs/langs/de_DE/loan.lang b/htdocs/langs/de_DE/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/de_DE/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index f6bf1ec94e8..30727aa345e 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -413,6 +413,8 @@ Qty=Anz. ChangedBy=Geändert von ApprovedBy=genehmigt von ApprovedBy2=Genehmige von (zweite Genehmigung) +Approved=genehmigt +Refused=abgelehnt ReCalculate=Neuberechnung ResultOk=Erfolg ResultKo=Fehlschlag @@ -421,7 +423,7 @@ Reportings=Berichterstattungen Draft=Entwurf Drafts=Entwürfe Validated=Freigegeben -Opened=Offen +Opened=geöffnet New=Neu Discount=Rabatt Unknown=Unbekannt @@ -514,7 +516,7 @@ ShowLog=Zeige Protokoll File=Datei Files=Dateien NotAllowed=Nicht erlaubt -ReadPermissionNotAllowed=Sie haben keine Leseberechtigung +ReadPermissionNotAllowed=Sie haben keine Berechtigung AmountInCurrency=Betrag in %s Example=Beispiel Examples=Beispiele @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Mit Kontakt verknüpft DeleteAFile=Datei löschen ConfirmDeleteAFile=Sind Sie sicher dass Sie diese Datei löschen möchten? NoResults=Keine Ergebnisse +SystemTools=System tools ModulesSystemTools=Module Werkzeuge Test=Testen Element=Element @@ -697,12 +700,15 @@ ViewPrivateNote=Zeige Notizen XMoreLines=%s Zeile(n) versteckt PublicUrl=Öffentliche URL AddBox=Box anfügen -SelectElementAndClickRefresh=Wählen Sie ein Element und clicken Sie Aktualisieren +SelectElementAndClickRefresh=Wählen Sie einen Eintrag und klicken Sie aktualisieren PrintFile=Drucke Datei %s ShowTransaction=Transaktion anzeigen GoIntoSetupToChangeLogo=Gehen Sie zu Start - Einstellungen - Firma/Stiftung um das Logo zu ändern oder gehen Sie in Start -> Einstellungen -> Anzeige um es zu verstecken. Deny=ablehnen Denied=abgelehnt +ListOfTemplates=Liste der Vorlagen +Genderman=Mann +Genderwoman=Frau # Week day Monday=Montag Tuesday=Dienstag @@ -732,3 +738,4 @@ ShortThursday=Do ShortFriday=Fr ShortSaturday=Sa ShortSunday=So +SelectMailModel=Wähle E-Mail-Vorlage diff --git a/htdocs/langs/de_DE/printing.lang b/htdocs/langs/de_DE/printing.lang new file mode 100644 index 00000000000..3432b71d037 --- /dev/null +++ b/htdocs/langs/de_DE/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Direkt-Druck-System aktivieren +PrintingSetup=Direkt-Druck-System einrichten +PrintingDesc=Dieses Modul fügt einen "Drucken"-Button zu, um Dokumente direkt zu einen Drucker zu senden. Dies erfordert ein Linux-System mit installiertem CUPS. +ModuleDriverSetup=Modul Treiber einrichten +PrintingDriverDesc=Konfigurationsvariablen für den Druck-Treiber. +ListDrivers=Treiberliste +PrintTestDesc=Druckerliste +FileWasSentToPrinter=Datei %s wurde an den Drucker gesendet +NoActivePrintingModuleFound=Kein aktives Modul, um Druckvorgang auszuführen +PleaseSelectaDriverfromList=Bitte wählen Sie einen Treiber von der Liste +SetupDriver=Treibereinstellungen +TestDriver=Test +TargetedPrinter=Zieldrucker +UserConf=Je Nutzer einrichten +PRINTGCP=Google Cloud Print +PrintGCPDesc=Dieser Treiber erlaubt das direkte senden zu ein Drucker via Google Cloud Print +PrintingDriverDescprintgcp=Konfigurationsvariablen für den Druck Fahrer Google Cloud Print. +PrintTestDescprintgcp=Druckerliste für Google Cloud Print +PRINTGCP_LOGIN=Google Benutzerkonto +PRINTGCP_PASSWORD=Passwort für Google Account +STATE_ONLINE=Online +STATE_UNKNOWN=Unbekannt +STATE_OFFLINE=Abwesend +STATE_DORMANT=Schon lange Abwesend +TYPE_GOOGLE=Google +TYPE_HP=HP Drucker +TYPE_DOCS=Docs / Dokumente +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Angezeigter Name +GCP_Id=Drucker ID +GCP_OwnerName=Besitzername +GCP_State=Druckerstatus +GCP_connectionStatus=Online-Zustand +GCP_Type=Druckertyp +PRINTIPP=PrintIPP Treiber +PrintIPPSetup=Einstellungen des DirektDruck-Moduls +PrintIPPDesc=Dieser Treiber erlaubt es Dokumente direkt an einen Drucker zu senden. Es ist dafür erforderlich, ein Linux System mit CUPS installiert zu haben. +PrintingDriverDescprintipp=Konfigurationsvariablen für den Druckertreiber PrintIPP. +PrintTestDescprintipp=Druckerliste für Treiber PrintIPP +PRINTIPP_ENABLED=Zeige " Direkt drucken" Icon in der Dokumentenliste +PRINTIPP_HOST=Druckserver +PRINTIPP_PORT=Port +PRINTIPP_USER=Anmeldung +PRINTIPP_PASSWORD=Passwort +NoPrinterFound=Keine Drucker gefunden (CUPS-Konfiguration prüfen) +NoDefaultPrinterDefined=Kein Standarddrucker defininert +DefaultPrinter=Standarddrucker +Printer=Drucker +CupsServer=CUPS-Server +IPP_Uri=Drucker Uri +IPP_Name=Druckername +IPP_State=Druckerstatus +IPP_State_reason=Status Grund +IPP_State_reason1=Status Grund 1 +IPP_BW=schwarz und weiß +IPP_Color=Farbe +IPP_Device=IPP Gerät +IPP_Media=Druckermedium +IPP_Supported=Medientyp +STATE_IPP_idle=Beschäftigt +STATE_IPP_stopped=Angehalten +STATE_IPP_paused=Pausiert +STATE_IPP_toner-low-report=Niedriger Tonerstand +STATE_IPP_none=Keine +MEDIA_IPP_stationery=warten +MEDIA_IPP_thermal=Thermisch +IPP_COLOR_print-black=BW Drucker diff --git a/htdocs/langs/de_DE/productbatch.lang b/htdocs/langs/de_DE/productbatch.lang index b277dbaa7d9..a4a6324e1fc 100644 --- a/htdocs/langs/de_DE/productbatch.lang +++ b/htdocs/langs/de_DE/productbatch.lang @@ -19,4 +19,4 @@ printQty=Menge: %d AddDispatchBatchLine=Fügen Sie eine Zeile für Haltbarkeit Dispatching BatchDefaultNumber=Nicht definiert WhenProductBatchModuleOnOptionAreForced=Wenn das Modul Lot/Seriennr eingeschaltet ist, wird der Modus für Lagerbestands-Erhöhungen / -Senkungen auf die letzte Auswahl festgelegt und kann nicht geändert werden. Andere Optionen können nach Wunsch eingestellt werden. -ProductDoesNotUseBatchSerial=Dieses Produkt hat keine Chargen- / Seriennummer. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index 9adc7b2d380..b570d35c74f 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Ihnen werden alle Projekte angezeigt bei welchen Sie über Le ProjectsPublicTaskDesc=Diese Ansicht ist beschränkt auf Projekt und Aufgaben bei welchen Sie über Leserechte verfügen. ProjectsDesc=Es werden alle Projekte angezeigt (Ihre Benutzerberechtigungen berechtigt Sie alles zu sehen). MyTasksDesc=Diese Ansicht ist für Sie beschränkt auf Projekte oder Aufgaben bei welchen Sie als Ansprechpartner eingetragen sind. -OnlyOpenedProject=Nur geöffnete Projekte sind sichtbar (Projekte im Status Entwurf oder geschlossenen sind nicht sichtbar). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). 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 des Projektes sind sichtbar, Sie können jedoch nur\ndie Zeit für Aufgaben die Ihnen zugewiesen sind, eingeben. @@ -29,7 +29,7 @@ ProjectsList=Liste der Projekte ShowProject=Zeige Projekt SetProject=Projekt setzen NoProject=Kein Projekt definiert oder keine Rechte -NbOpenTasks=Anzahl der offenen Aufgaben +NbOpenTasks=Nb of open tasks NbOfProjects=Anzahl der Projekte TimeSpent=Zeitaufwand TimeSpentByYou=Dein Zeitaufwand @@ -41,7 +41,7 @@ TaskTimeSpent=Zeitaufwände für Aufgaben TaskTimeUser=Benutzer TaskTimeNote=Hinweis TaskTimeDate=Datum -TasksOnOpenedProject=Aufgaben für offenes Projekt +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload nicht definiert NewTimeSpent=Neuer Zeitaufwand MyTimeSpent=Mein Zeitaufwand @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Liste Eingriffe, die mit diesem Projekt verknüpf ListExpenseReportsAssociatedProject=Liste Spesenabrechnungen, die mit diesem Projekt verknüpft sind ListDonationsAssociatedProject=Liste Spenden, die mit diesem Projekt verknüpft sind ListActionsAssociatedProject=Liste Ereignisse, die mit diesem Projekt verknüpft sind +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Projektaktivitäten dieser Woche ActivityOnProjectThisMonth=Projektaktivitäten dieses Monats ActivityOnProjectThisYear=Projektaktivitäten dieses Jahres @@ -95,7 +96,7 @@ DeleteATimeSpent=Lösche einen Zeitaufwand ConfirmDeleteATimeSpent=Möchten Sie diesen Zeitaufwand wirklich löschen? DoNotShowMyTasksOnly=Zeige auch die Aufgaben der Anderen ShowMyTasksOnly=Zeige nur meine Aufgaben -TaskRessourceLinks=Ressourcen +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Mit diesem Partner verknüpfte Projekte NoTasks=Keine Aufgaben für dieses Projekt LinkedToAnotherCompany=Mit Partner verknüpft @@ -139,8 +140,12 @@ ProjectReferers=Verknüpfte Objekte SearchAProject=Projekt suchen ProjectMustBeValidatedFirst=Projekt muss erst bestätigt werden ProjectDraft=Projekt-Entwürfe -FirstAddRessourceToAllocateTime=Eine Ressource zuordnen, um Zeit festzulegen +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Eingabe pro Tag InputPerWeek=Eingabe pro Woche InputPerAction=Eingabe pro Aktion TimeAlreadyRecorded=Zeitaufwand für diese Aufgabe/Tag und Benutzer %s bereits aufgenommen +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Aufgaben diesem Benutzer zugeordnet +ResourceNotAssignedToProject=Zugewiesen zu Projekt +ResourceNotAssignedToTask= nicht zugewiesen zu Aufgabe diff --git a/htdocs/langs/de_DE/salaries.lang b/htdocs/langs/de_DE/salaries.lang index 5e72aae4e86..b597e556750 100644 --- a/htdocs/langs/de_DE/salaries.lang +++ b/htdocs/langs/de_DE/salaries.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - users -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Buchhaltungscode für Bezahlung der Gehälter -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Kontierungs-Code Konto für die Zahlung der Löhne +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Kontierungs-Code Konto für Finanzaufwendungen Salary=Lohn Salaries=Löhne Employee=Angestellter @@ -8,6 +8,8 @@ NewSalaryPayment=Neue Lohnzahlung SalaryPayment=Lohnzahlung SalariesPayments=Lohnzahlungen ShowSalaryPayment=Zeige Lohnzahlung -THM=Durchschnittlicher Stundenpreis -TJM=Durchschnittlicher Tagespreis -CurrentSalary=Current salary +THM=Durchschnittlicher Stundensatz +TJM=Durchschnittlicher Tagessatz +CurrentSalary=aktueller Lohn +THMDescription=Dieser Wert kann verwendet werden, um die Kosten für die verbrauchte 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 diff --git a/htdocs/langs/de_DE/users.lang b/htdocs/langs/de_DE/users.lang index d30044c4141..397970af395 100644 --- a/htdocs/langs/de_DE/users.lang +++ b/htdocs/langs/de_DE/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Gruppenzuweisung entfernen PasswordChangedAndSentTo=Passwort geändert und an %s gesendet. PasswordChangeRequestSent=Kennwort-Änderungsanforderung für %s gesendet an %s. MenuUsersAndGroups=Benutzer & Gruppen +MenuMyUserCard=My user card LastGroupsCreated=%s zuletzt erstellte Gruppen LastUsersCreated=%s zuletzt erstellte Benutzer ShowGroup=Zeige Gruppe diff --git a/htdocs/langs/el_GR/accountancy.lang b/htdocs/langs/el_GR/accountancy.lang index 684ff2c5215..04445c78676 100644 --- a/htdocs/langs/el_GR/accountancy.lang +++ b/htdocs/langs/el_GR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Λογιστική Globalparameters=Βασικοί Παράμετροι @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Μήκος λογαριασμών τρίτων ACCOUNTING_SELL_JOURNAL=Ημερολόγιο πωλήσεων ACCOUNTING_PURCHASE_JOURNAL=Ημερολόγιο αγορών -ACCOUNTING_BANK_JOURNAL=Τραπεζικό ημερολόγιο -ACCOUNTING_CASH_JOURNAL=Ημερολόγιο μετρητών ACCOUNTING_MISCELLANEOUS_JOURNAL=Διάφορα ημερολόγια +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Κοινωνικό ημερολόγιο ACCOUNTING_ACCOUNT_TRANSFER_CASH=Λογαριασμός μεταφοράς diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index c6c64032d7f..518164ca748 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Μενού για τους χρήστες LangFile=Αρχείο .lang System=Σύστημα SystemInfo=Πληροφορίες Συστήματος -SystemTools=Εργαλεία Συστήματος SystemToolsArea=Περιοχή Εργαλείων Συστήματος SystemToolsAreaDesc=Αυτή η περιοχή παρέχει δυνατότητες διαχείρισης. Χρησιμοποιήστε το μενού για να επιλέξετε τη λειτουργία που ψάχνετε. Purge=Εκκαθάριση @@ -232,8 +231,8 @@ Security=Ασφάλεια Passwords=Συνθηματικά DoNotStoreClearPassword=Μην αποθηκεύετε αποκρυπτογραφημένους κωδικούς στην βάση δεδομένων, αλλά να αποθηκεύετε μόνο η κρυπτογραφημένη τιμή (προτείνεται να είναι ενεργό) MainDbPasswordFileConfEncrypted=Ο κωδικός της βάσης δεδομένων να είναι κρυπτογραφημένος στο conf.php (προτείνεται να είναι ενεργό) -InstrucToEncodePass=Για να κρυπτογραφήσετε τον κωδικό στο αρχείο conf.php, αντικαταστήστε την γραμμή
$dolibarr_main_db_pass="..."
με το
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Για να αφήσετε τον κωδικό χωρίς κρυπτογράφηση στο αρχείο conf.php , αντικαταστήστε τη γραμμή
$dolibarr_main_db_pass="crypted:..."
με το
$dolibarr_main_db_pass="%s" +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=Προστασία παραγόμενων αρχείων pdf (Η ενεργοποίηση ΔΕΝ προτείνεται, χαλάει την μαζική δημιουργία pdf) ProtectAndEncryptPdfFilesDesc=Η ασφάλεια ενός αρχείου PDF επιτρέπει τα προγράμματα ανάγνωσης PDF να το ανοίξουν και να το εκτυπώσουν. Παρ' ΄όλα αυτά, η τροποποίηση και η αντιγραφή δεν θα είναι πλέον δυνατά. Σημειώστε πως αν χρησιμοποιήσετε αυτή την λειτουργία δεν θα μπορούν να δουλέψουν ομαδικά pdf (όπως απλήρωτα τιμολόγια). Feature=Δυνατότητα @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Αυτό έχει ρυθμιστεί για να επεξ ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Βήμα %s FindPackageFromWebSite=Βρείτε ένα πακέτο που να παρέχει την λειτουργία που επιθυμείτε (για παράδειγμα στο επίσημο %s). -DownloadPackageFromWebSite=Μεταφόρτωση πακέτου %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Η εγκατάσταση τελείωσε και το Dolibarr είναι έτοιμο να χρησιμοποιηθεί με αυτό το νέο στοιχείο. NotExistsDirect=Ο εναλλακτικός ριζικός φάκελος δεν έχει ρυθμιστεί.
InfDirAlt=Από την έκδοση 3 είναι δυνατός ο ορισμός ενός εναλλακτικού ριζικού φακέλου. Αυτό σας επιτρέπει να αποθηκεύσετε στο ίδιο μέρος πρόσθετες εφαρμογές και μη τυπικά templates.
Απλά δημιουργήστε ένα φάκελο στο ριζικό φάκελο του Dolibarr (π.χ.: custom).
InfDirExample=
Κατόπιν δηλώστε το στο αρχείο conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Αυτές οι γραμμές είναι απενεργοποιημένες με χρήση του χαρακτήρα "#", για να της ενεργοποιήσετε απλά αφαιρέστε το χαρακτήρα. -YouCanSubmitFile=Επιλογή module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Έκδοση Dolibarr CallUpdatePage=Πηγαίνετε στην σελίδα που ενημερώνει την δομή της βάσης δεδομένων και τα δεδομένα: %s. LastStableVersion=Τελευταία σταθερή έκδοση @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Λίστα Παραμέτρων που προέρχε ExtrafieldParamHelpchkbxlst=Λίστα Παραμέτρων που προέρχεται από έναν πίνακα
σύνταξη : table_name:label_field:id_field::filter
παράδειγμα: c_typent:libelle:id::filter

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

Προκειμένου να έχει τον κατάλογο ανάλογα με ένα άλλο :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Βιβλιοθήκη για την δημιουργία PDF WarningUsingFPDF=Προειδοποίηση: Το αρχείο conf.php περιλαμβάνει την επιλογή dolibarr_pdf_force_fpdf=1. Αυτό σημαίνει πως χρησιμοποιείτε η βιβλιοθήκη FPDF για να δημιουργούνται τα αρχεία PDF. Αυτή η βιβλιοθήκη είναι παλιά και δεν υποστηρίζει πολλές λειτουργίες (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), οπότε μπορεί να παρουσιαστούν λάθη κατά την δημιουργία των PDF.
Για να λυθεί αυτό και να μπορέσετε να έχετε πλήρη υποστήριξη δημιουργίας αρχείων PDF, παρακαλώ κατεβάστε την βιβλιοθήκη TCPDF, και μετά απενεργοποιήστε ή διαγράψτε την γραμμή $dolibarr_pdf_force_fpdf=1, και εισάγετε αντί αυτής την $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Εισάγετε έναν τηλεφωνικό αριθμό για να δημιουργηθεί ένας σύνδεσμος που θα σας επιτρέπει να κάνετε κλήση με το ClickToDial για τον χρήστη %s RefreshPhoneLink=Ανανέωση συνδέσμου @@ -492,8 +491,8 @@ Module400Name=Έργα/Ευκαιρίες/Leads Module400Desc=Διαχείριση έργων, ευκαιρίες ή leads. Στη συνέχεια μπορείτε να ορίσετε οποιοδήποτε στοιχείο (τιμολόγιο, παραγγελία, προσφορά, παρέμβαση, ...) σε ένα έργο και να πάρετε μια εγκάρσια όψη από την προβολή του έργου. Module410Name=Ημερολόγιο ιστού Module410Desc=Διεπαφή ημερολογίου ιστού -Module500Name=Ειδικά έξοδα (φόροι, εισφορές κοινωνικής ασφάλισης, μερίσματα) -Module500Desc=Διαχείριση των ειδικών δαπανών, όπως οι φόροι, κοινωνικές εισφορές, μερίσματα και μισθούς +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Μισθοί Module510Desc=Διαχείριση υπαλλήλων, μισθών και πληρωμών Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Ατζέντα Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=Υπηρεσίες Διαδικτύου (πελάτης) Module2650Desc=Ενεργοποιήστε το Dolibarr web services client (Μπορεί να χρησιμοποιηθεί για την προώθηση των δεδομένων/αιτήσεις σε εξωτερικούς διακομιστές. Μόνο Παραγγελίες προμηθευτών υποστηρίζονται προς το παρόν) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Προέλευση των προτάσεων/παραγγελι DictionaryAccountancyplan=Λογιστικό σχέδιο DictionaryAccountancysystem=Μοντέλα λογιστικού σχεδίου DictionaryEMailTemplates=Πρότυπα email +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Οι ρυθμίσεις αποθηκεύτηκαν BackToModuleList=Πίσω στη λίστα με τα modules BackToDictionaryList=Επιστροφή στη λίστα λεξικών @@ -936,13 +939,14 @@ CompanyZip=Τ.Κ. CompanyTown=Πόλη CompanyCountry=Χώρα CompanyCurrency=Βασικό Νόμισμα +CompanyObject=Object of the company Logo=Logo DoNotShow=Απόκρυψη DoNotSuggestPaymentMode=Χωρίς πρόταση πληρωμής NoActiveBankAccountDefined=Δεν έχει οριστεί ενεργός λογαριασμός τράπεζας OwnerOfBankAccount=Ιδιοκτήτης του λογαριασμού τράπεζας %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Συναγερμοί Delays=Καθυστερήσεις @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Χρήση Δεκαδικών ψηφίων στις τι MAIN_MAX_DECIMALS_TOT=μέγιστος αριθμός δεκαδικών στη συνολική πληρωτέα τιμή MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Καθαρή τιμή επί του προϊόντος TotalPriceAfterRounding=Total price (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), μπορείτε να αυξήσετε την ταχύτητα με τον καθορισμό της σταθερά PRODUCT_DONOTSEARCH_ANYWHERE σε 1 στο Setup->Other. αναζήτηση στη συνέχεια θα περιορίζεται από την έναρξη της σειράς. UseSearchToSelectProduct=Χρησιμοποιήστε μια φόρμα αναζήτησης για να επιλέξετε ένα προϊόν (αντί για μια αναπτυσσόμενη λίστα). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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=Διαχειριστής για την αυτόματη αρίθμηση του barcode @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Άνοιγμα οικονομικού έτους CloseFiscalYear=Κλείσιμο οικονομικού έτους DeleteFiscalYear=Διαγραφή οικονομικού έτους ConfirmDeleteFiscalYear=Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το οικονομικό έτος; -Opened=Ανοίξτε +Opened=Open Closed=Κλείστε AlwaysEditable=Μπορεί πάντα να επεξεργαστή MAIN_APPLICATION_TITLE=Αναγκαστικό ορατό όνομα της εφαρμογής (προειδοποίηση: η ρύθμιση του δικού σας ονόματος μπορεί να δημιουργήσει πρόβλημα στη λειτουργία Αυτόματης συμπλήρωσης σύνδεσης όταν χρησιμοποιείτε το DoliDroid εφαρμογή για κινητά) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index 12c3becee2d..783990e4dd8 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -94,12 +94,12 @@ Conciliate=Πραγματοποίηση Συναλλαγής Conciliation=Πραγματοποίηση Συναλλαγής ConciliationForAccount=Πραγματοποίηση Συναλλαγών του Λογαριασμού IncludeClosedAccount=Συμπερίληψη Κλειστών Λογαριασμών -OnlyOpenedAccount=Μόνο Ανοιχτοί Λογαριασμοί +OnlyOpenedAccount=Only open accounts AccountToCredit=Πίστωση στον Λογαριασμό AccountToDebit=Χρέωση στον Λογαριασμό DisableConciliation=Απενεργοποίηση της ιδιότητας συμφωνία από αυτό τον λογαριασμό ConciliationDisabled=Η ιδιότητα συμφωνία απενεργοποιήθηκε. -StatusAccountOpened=Ανοιχτός +StatusAccountOpened=Open StatusAccountClosed=Κλειστός AccountIdShort=Αριθμός EditBankRecord=Επεξεργασία Εγγραφής diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index f14f373d887..22626f49d3a 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=Το τιμολόγιο αυτό δεν είναι το τελε DisabledBecauseNotLastInCycle=Η επόμενη κατάσταση υπάρχει ήδη. DisabledBecauseFinal=Η κατάσταση αυτή είναι οριστική. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=Δεν υπάρχουν ανοιχτές καταστάσεις +NoSituations=No open situations InvoiceSituationLast=Τελικό και γενικό τιμολόγιο diff --git a/htdocs/langs/el_GR/boxes.lang b/htdocs/langs/el_GR/boxes.lang index 45d09637caf..43ed62bb5eb 100644 --- a/htdocs/langs/el_GR/boxes.lang +++ b/htdocs/langs/el_GR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Τελευταία συμβόλαια BoxLastContacts=Τελευταίες επαφές/διευθύνσεις BoxLastMembers=Τελευταία μέλη BoxFicheInter=Τελευταίες παρεμβάσεις -BoxCurrentAccounts=Άνοιξε το υπόλοιπο των λογαριασμών +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Κύκλος εργασιών BoxTotalUnpaidCustomerBills=Σύνολο απλήρωτων τιμολογίων πελατών BoxTotalUnpaidSuppliersBills=Σύνολο απλήρωτων τιμολογίων προμηθευτών @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Τελευταία %s Μέλη BoxTitleLastFicheInter=Τελευταία %s ενημέρωση παρέμβασης BoxTitleOldestUnpaidCustomerBills=Παλαιότερα %s ανεξόφλητα τιμολόγια πελατών BoxTitleOldestUnpaidSupplierBills=Παλαιότερα %s ανεξόφλητα τιμολόγια προμηθευτών -BoxTitleCurrentAccounts=Άνοιξε τα υπόλοιπα των λογαριασμών +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Κύκλος εργασιών των πωλήσεων BoxTitleTotalUnpaidCustomerBills=Απλήρωτα τιμολόγια πελατών BoxTitleTotalUnpaidSuppliersBills=Απλήρωτα τιμολόγια προμηθευτών diff --git a/htdocs/langs/el_GR/categories.lang b/htdocs/langs/el_GR/categories.lang index 44b883b8a0f..2f4373429b8 100644 --- a/htdocs/langs/el_GR/categories.lang +++ b/htdocs/langs/el_GR/categories.lang @@ -1,32 +1,32 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category -NoCategoryYet=No tag/category of this type created +Rubrique=Ετικέτα/Κατηγορία +Rubriques=Ετικέτες/Κατηγορίες +categories=Ετικέτες/Κατηγορίες +TheCategorie=Ετικέτα/Κατηγορία +NoCategoryYet=Δεν έχει δημιουργηθεί τέτοια ετικέτα/κατηγορία In=Μέσα AddIn=Προσθήκη σε modify=αλλαγή Classify=Ταξινόμηση -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Products/Services tags/categories area -SuppliersCategoriesArea=Suppliers tags/categories area -CustomersCategoriesArea=Customers tags/categories area -ThirdPartyCategoriesArea=Third parties tags/categories area -MembersCategoriesArea=Members tags/categories area +CategoriesArea=Πεδίο Ετικέτες/Κατηγορίες +ProductsCategoriesArea=Πεδίο Προϊόντα/Υπηρεσίες Ετικέτες/Κατηγορίες +SuppliersCategoriesArea=Πεδίο Ετικέτα/Κατηγορία Προμηθευτή +CustomersCategoriesArea=Πεδίο Ετικέτα/Κατηγορία Πελάτη +ThirdPartyCategoriesArea=Πεδίο Ετικέτα/Κατηγορία Πελ./Προμ. +MembersCategoriesArea=Πεδίο Ετικέτα/Κατηγορία Μελών ContactsCategoriesArea=Contacts tags/categories area -MainCats=Main tags/categories +MainCats=Βασικές Ετικέτες/Κατηγορίες SubCats=Υποκατηγορίες CatStatistics=Στατιστικά -CatList=List of tags/categories -AllCats=All tags/categories -ViewCat=View tag/category -NewCat=Add tag/category -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category +CatList=Λίστα Ετικετών/Κατηγοριών +AllCats=Όλες οι Ετικέτες / Κατηγορίες +ViewCat=Εμφάνιση Ετικέτας/Κατηγορίας +NewCat=Προσθήκη Ετικέτας/ Κατηγορίας +NewCategory=Νέα Ετικέτα/Κατηγορία +ModifCat=Τροποποίηση Ετικέτας/Κατηγορίας +CatCreated=Ετικέτα/Κατηγορία δημιουργήθηκε +CreateCat=Δημιουργία Ετικέτας/Κατηγορίας +CreateThisCat=Δημιουργήστε αυτήν την Ετικέτα/Κατηγορία ValidateFields=Επικύρωση πεδίων NoSubCat=Καμία υποκατηγορία. SubCatOf=Υποκατηγορία @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s προστέθηκε με επιτυχία. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Καμία NotCategorized=Without tag/category CategoryExistsAtSameLevel=Η κατηγορία αυτή υπάρχει ήδη με αυτό το όνομα @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Περιεχόμενα μη ορατά από όλ CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Κατηγορίες Πελατών/Προοπτ @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/el_GR/companies.lang b/htdocs/langs/el_GR/companies.lang index c2e78746d67..cfb02613d5e 100644 --- a/htdocs/langs/el_GR/companies.lang +++ b/htdocs/langs/el_GR/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Έφτασε στο όριο. για των εκκρεμ MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=Customer/supplier code is free. This code can be modified at any time. ManagingDirectors=Διαχειριστής (ες) ονομασία (CEO, διευθυντής, πρόεδρος ...) -SearchThirdparty=Αναζήτηση Πελ./Προμ. +SearchThirdparty=Search third party SearchContact=Αναζήτηση επαφής +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/el_GR/cron.lang b/htdocs/langs/el_GR/cron.lang index 738ac49580c..7b102b58b77 100644 --- a/htdocs/langs/el_GR/cron.lang +++ b/htdocs/langs/el_GR/cron.lang @@ -4,10 +4,10 @@ About = Πληροφορίες CronAbout = Σχετικά με το Cron CronAboutPage = Σχετικά με τη σελίδα Cron # Right -Permission23101 = Διαβάστε την προγραμματισμένη εργασία -Permission23102 = Δημιουργία / ενημέρωση προγραμματισμένης εργασίας -Permission23103 = Διαγραφή προγραμματισμένης εργασίας -Permission23104 = Εκτέλεση Προγραμματισμένης εργασίας +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Προγραμματισμένη ρύθμιση διαχείρισης των εργασιών URLToLaunchCronJobs=URL για να ελέγξετε και να ξεκινήσει μια περιοδική εργασία, εφόσον απαιτείται @@ -26,11 +26,11 @@ CronLastOutput=Τελευταία εκτέλεση εξόδου CronLastResult=Τελευταίος κωδικός αποτελέσματος CronListOfCronJobs=Κατάλογος προγραμματισμένων εργασιών CronCommand=Εντολή -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Εργασία @@ -39,8 +39,8 @@ CronDtStart=Ημερ. έναρξης CronDtEnd=Ημερ. τέλους CronDtNextLaunch=Επόμενη εκτέλεση CronDtLastLaunch=Τελευταία εκτέλεση -CronFrequency=Συχνότητα -CronClass=Κατηγορία +CronFrequency=Frequency +CronClass=Class CronMethod=Μέθοδος CronModule=Module CronAction=Ενέργεια @@ -55,9 +55,9 @@ CronEach=Κάθε JobFinished=Ξεκίνησε και τελείωσε #Page card CronAdd= Προσθήκη εργασίας -CronHourStart= Έναρξη ώρας και ημερομηνία αποστολής -CronEvery= Εκτέλεση εργασίας κάθε -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Παράμετροι CronSaveSucess=Επιτυχής αποθήκευση CronNote=Σχόλιο @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Πληροφορίες # Common -CronType=Τύπος εργασίας +CronType=Job type CronType_method=Καλέστε τη μέθοδο της κατηγορίας Dolibarr CronType_command=Εντολή Shell CronMenu=Μενού CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Πηγαίνετε στο μενού "Home - Modules εργαλεία - Λίστα εργασιών" για να δείτε και να επεξεργαστείτε τις προγραμματισμένες εργασίες. -TaskDisabled=Η εργασία απενεργοποιήθηκε +TaskDisabled=Job disabled diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index 16e711c27c7..760bb4d2d97 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/el_GR/incoterm.lang b/htdocs/langs/el_GR/incoterm.lang new file mode 100644 index 00000000000..eff07ca0e8a --- /dev/null +++ b/htdocs/langs/el_GR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Διεθνείς Εμπορικοί Όροι +IncotermSetupTitle1=Χαρακτηριστικό +IncotermSetupTitle2=Κατάσταση +IncotermSetup=Ρύθμιση του module Διεθνείς Εμπορικός Όρος +IncotermFunctionDesc=Ενεργοποίηση Διεθνείς Εμπορικός Όρος χαρακτηριστικό (Πελ./Προμ., προσφορά, παραγγελία πελάτη, Τιμολογίου Πελάτη, την αποστολή, παραγγελία Προμηθευτή) diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index 939e7a72d52..b7c2fb15724 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(Πειραματική) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, useless if your database and your database login already exists (like when you're hosted by a web hosting provider). KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Αποθήκευση τιμών diff --git a/htdocs/langs/el_GR/languages.lang b/htdocs/langs/el_GR/languages.lang index 8f3f7ad963a..cb0b04f6544 100644 --- a/htdocs/langs/el_GR/languages.lang +++ b/htdocs/langs/el_GR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Αραβικά Language_ar_SA=Αραβικά +Language_bn_BD=Bengali Language_bg_BG=Βουλγαρικά Language_bs_BA=Βοσνιακά Language_ca_ES=Καταλανικά @@ -21,9 +22,10 @@ Language_en_SA=Αγγλικά (Σαουδική Αραβία) Language_en_US=Αγγλικά (Ηνωμένων Πολιτειών) Language_en_ZA=Αγγλικά (Νότια Αφρική) Language_es_ES=Ισπανικά -Language_es_DO=Ισπανικά (Δομινικανή Δημοκρατία) Language_es_AR=Ισπανικά (Αργεντινή) Language_es_CL=Ισπανικά (Χιλή) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Ισπανικά (Δομινικανή Δημοκρατία) Language_es_HN=Ισπανικά (Ονδούρα) Language_es_MX=Ισπανικά (Μεξικό) Language_es_PY=Ισπανικά (Παραγουάη) @@ -45,7 +47,10 @@ Language_id_ID=Ινδονησίας Language_is_IS=Ισλανδικά Language_it_IT=Ιταλικά Language_ja_JP=Ιαπωνικά +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Κορέας +Language_lo_LA=Lao Language_lt_LT=Λιθουανίας Language_lv_LV=Λετονίας Language_mk_MK=πΓΔΜ @@ -64,6 +69,7 @@ Language_sv_SV=Σουηδικά Language_sv_SE=Σουηδικά Language_sq_AL=Αλβανικά Language_sk_SK=Σλοβακική +Language_sw_SW=Kiswahili Language_th_TH=Ταϊλάνδης Language_uk_UA=Ουκρανικά Language_uz_UZ=Ουζμπεκιστάν diff --git a/htdocs/langs/el_GR/loan.lang b/htdocs/langs/el_GR/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/el_GR/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/el_GR/mails.lang b/htdocs/langs/el_GR/mails.lang index 37654134875..10dd5225a45 100644 --- a/htdocs/langs/el_GR/mails.lang +++ b/htdocs/langs/el_GR/mails.lang @@ -77,7 +77,7 @@ CheckRead=Διαβάστε την αποδειξη παραλαβής YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper σύνδεσμο σε email ActivateCheckRead=Επιτρέπετε τη χρήση του "Unsubcribe" σύνδεσμου -ActivateCheckReadKey=Κλειδί χρήσης για την κρυπτογράφηση του URL για "Διαβάστε Παραλαβή" και "Διαγραφή" χαρακτηριστικό +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail αποστέλλονται στους παραλήπτες %s. XTargetsAdded=%s παραλήπτες που προστέθηκαν στο κατάλογο των στόχων EachInvoiceWillBeAttachedToEmail=Ένα έγγραφο χρησιμοποιώντας το προεπιλεγμένο τιμολόγιο θα δημιουργηθεί και θα επισυνάπτεται σε κάθε email. diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index c46f6b67559..5a85d660edc 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Τιμή Μονάδος (χ. Φ.Π.Α) UnitPriceTTC=Τιμή Μονάδος PriceU=Τιμή μον. PriceUHT=Τιμή μον. -AskPriceSupplierUHT=PU ΗΤ Ζητούμενες +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=Τιμή μον. Amount=Ποσό AmountInvoice=Ποσό Τιμολογίου @@ -413,6 +413,8 @@ Qty=Ποσ. ChangedBy=Τροποποιήθηκε από ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Επανυπολογισμός ResultOk=Επιτυχία ResultKo=Αποτυχία @@ -421,7 +423,7 @@ Reportings=Αναφορές Draft=Προσχέδιο Drafts=Προσχέδια Validated=Επικυρωμένο -Opened=Ανοιγμένο +Opened=Open New=Νέο Discount=Έκπτωση Unknown=Άγνωστο @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Συνδέεται με μια συγκεκριμένη ε DeleteAFile=Διαγραφή ενός αρχείου ConfirmDeleteAFile=Είστε σίγουροι ότι θέλετε να διαγράψετε το αρχείο NoResults=Δεν υπάρχουν αποτελέσματα +SystemTools=System tools ModulesSystemTools=Modules tools Test=Δοκιμή Element=Στοιχείο @@ -703,6 +706,9 @@ ShowTransaction=Εμφάνιση συναλλαγών GoIntoSetupToChangeLogo=Πηγαίνετε Αρχική - Ρυθμίσεις - Εταιρία να αλλάξει το λογότυπο ή πηγαίνετε Αρχική - Ρυθμίσεις - Προβολή για απόκρυψη. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Δευτέρα Tuesday=Τρίτη @@ -732,3 +738,4 @@ ShortThursday=Π ShortFriday=Π ShortSaturday=Σ ShortSunday=Κ +SelectMailModel=Select email template diff --git a/htdocs/langs/el_GR/orders.lang b/htdocs/langs/el_GR/orders.lang index 38cd385862c..919bfdffd76 100644 --- a/htdocs/langs/el_GR/orders.lang +++ b/htdocs/langs/el_GR/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Παραγγελία Προμηθευτή SuppliersOrders=Παραγγελίας Προμηθευτών SuppliersOrdersRunning=Τρέχουσες παραγγελίες προμηθευτών CustomerOrder=Παραγγελία πελάτη -CustomersOrders=Παραγγελίες πελατών -CustomersOrdersRunning=Τρέχουσες παραγγελίες πελατών -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Παραγγελίες πελατών για επικύρωση -OrdersToBill=Παραγγελίες πελατών που παραδίδονται -OrdersInProcess=Παραγγελίες πελατών σε εξέλιξη -OrdersToProcess=Παραγγελίες πελατών για επεξεργασία -SuppliersOrdersToProcess=Παραγγελίες προμηθευτών προς επεξεργασία +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Ακυρωμένη StatusOrderDraftShort=Προσχέδιο StatusOrderValidatedShort=Επικυρωμένη @@ -75,8 +75,9 @@ AddToMyOrders=Προσθήκη στις παραγγελίες μου AddToOtherOrders=Προσθήκη στις άλλες παραγγελίες AddToDraftOrders=Προσθήκη στο σχέδιο παραγγελιας ShowOrder=Εμφανιση παραγγελίας -NoOpenedOrders=Δεν υπάρχουν ανοιχτές παραγγελίες -NoOtherOpenedOrders=Δεν υπάρχουν άλλες ανοιχτές παραγγελίες +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Δεν υπάρχουν προσχέδια παραγγελιών OtherOrders=Άλλες παραγγελίες LastOrders=Τελευταίες %s παραγγελίες πελατών diff --git a/htdocs/langs/el_GR/other.lang b/htdocs/langs/el_GR/other.lang index 4730e410ae4..d2b7f0c3d49 100644 --- a/htdocs/langs/el_GR/other.lang +++ b/htdocs/langs/el_GR/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Παρέμβαση αποστέλλεται μέσω ταχυδρομείου Notify_BILL_VALIDATE=Το τιμολόγιο πελάτη επικυρώθηκε Notify_BILL_UNVALIDATE=Τιμολόγιο του Πελάτη μη επικυρωμένο +Notify_ORDER_SUPPLIER_VALIDATE=Παραγγελία του προμηθευτή καταγράφηκε Notify_ORDER_SUPPLIER_APPROVE=Η παραγγελία προμηθευτή εγγρίθηκε Notify_ORDER_SUPPLIER_REFUSE=Η παραγγελία προμηθευτή απορρίφθηκε Notify_ORDER_VALIDATE=Η παραγγελία πελάτη επικυρώθηκε @@ -203,6 +204,7 @@ ClickHereToGoTo=Κάντε κλικ εδώ για να μεταβείτε στο YouMustClickToChange=Θα πρέπει πρώτα να κάνετε κλικ στον παρακάτω σύνδεσμο για να επικυρώσει την αλλαγή του κωδικού πρόσβασης ForgetIfNothing=Αν δεν ζητήσατε αυτή την αλλαγή, απλά ξεχάστε αυτό το email. Τα διαπιστευτήριά σας παραμένουν ασφαλή. IfAmountHigherThan=Εάν το ποσό υπερβαίνει %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Προσθήκη εγγραφής στο ημερολόγιο %s diff --git a/htdocs/langs/el_GR/printing.lang b/htdocs/langs/el_GR/printing.lang new file mode 100644 index 00000000000..77afa96bec1 --- /dev/null +++ b/htdocs/langs/el_GR/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Ρύθμιση του συστήματος για την άμεση εκτύπωση +PrintingDesc=Το module αυτό προσθέτει ένα κουμπί Εκτύπωσης για να στείλετε έγγραφα απευθείας σε έναν εκτυπωτή (χωρίς να ανοίξετε το έγγραφο με μια εφαρμογή). +ModuleDriverSetup=Ρύθμιση Module οδήγησης +PrintingDriverDesc=Διαμόρφωση μεταβλητών για τον οδηγό εκτύπωσης. +ListDrivers=Λίστα οδηγών +PrintTestDesc=Λίστα εκτυπωτών. +FileWasSentToPrinter=Το αρχείο %s στάλθηκε στον εκτυπωτή +NoActivePrintingModuleFound=Κανένα ενεργό module εκτύπωσης για έγγραφο +PleaseSelectaDriverfromList=Παρακαλώ επιλέξτε ένα πρόγραμμα οδήγησης από τη λίστα. +SetupDriver=Ρυθμίσεις του προγράμματος οδήγησης +TestDriver=Test +TargetedPrinter=Στοχευμένη εκτύπωση +UserConf=Ρύθμισης ανά χρήστη +PRINTGCP=Google Cloud Print +PrintGCPDesc=Αυτό το πρόγραμμα οδήγησης επιτρέπει να στείλετε έγγραφα απευθείας σε έναν εκτυπωτή του Google Cloud Print. +PrintingDriverDescprintgcp=Διαμόρφωση των μεταβλητών για τον οδηγό εκτύπωσης του Google Cloud Print. +PrintTestDescprintgcp=Λίστα εκτυπωτών στο Google Cloud Print. +PRINTGCP_LOGIN=Είσοδος Χρήστη Google +PRINTGCP_PASSWORD=Google Account Κωδικός +STATE_ONLINE=Online +STATE_UNKNOWN=Άγνωστος +STATE_OFFLINE=Εκτός Σύνδεσης +STATE_DORMANT=Εκτός λειτουργίας για αρκετό διάστημα +TYPE_GOOGLE=Google +TYPE_HP=HP εκτυπωτής +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Όνομα +GCP_displayName=Εμφανιζόμενο όνομα +GCP_Id=ID εκτυπωτή +GCP_OwnerName=Όνομα Ιδιοκτήτη +GCP_State=Κατάσταση εκτυπωτή +GCP_connectionStatus=Κατάσταση Online +GCP_Type=Τύπος εκτυπωτή +PRINTIPP=Οδηγός PrintIPP +PrintIPPSetup=Ρυθμίσεις module για το Direct Print +PrintIPPDesc=Αυτό το πρόγραμμα οδήγησης επιτρέπει να στείλετε έγγραφα απευθείας σε έναν εκτυπωτή. Απαιτείται ένα σύστημα Linux με εγκατεστημένο CUPS. +PrintingDriverDescprintipp=Διαμόρφωση μεταβλητών για τον οδηγό εκτύπωσης PrintIPP. +PrintTestDescprintipp=Λίστα εκτυπωτών για τον οδηγό PrintIPP. +PRINTIPP_ENABLED=Εμφάνιση εικονιδίου "Απευθείας εκτύπωσης" στις λίστες εγγράφων +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Είσοδος +PRINTIPP_PASSWORD=Κωδικός +NoPrinterFound=Δεν βρέθηκαν εκτυπωτές (Ελέγξτε τις ρυθμίσεις του CUPS) +NoDefaultPrinterDefined=Δεν έχει οριστεί προ επιλεγμένος εκτυπωτής +DefaultPrinter=Προεπιλογή εκτυπωτή +Printer=Eκτυπωτής +CupsServer=CUPS Server +IPP_Uri=Uri εκτυπωτή +IPP_Name=Όνομα εκτυπωτή +IPP_State=Κατάσταση εκτυπωτή +IPP_State_reason=Λόγος κατάστασης +IPP_State_reason1=Λόγος 1 κατάστασης +IPP_BW=Ασπρόμαυρη +IPP_Color=Έγχρωμη +IPP_Device=Συσκευή +IPP_Media=Μέσα εκτύπωσης +IPP_Supported=Τύπος των μέσων +STATE_IPP_idle=Αδρανής +STATE_IPP_stopped=Σταμάτησε +STATE_IPP_paused=Παύση +STATE_IPP_toner-low-report=Χαμηλή στάθμη Toner +STATE_IPP_none=Καμία +MEDIA_IPP_stationery=Γραφική ύλη +MEDIA_IPP_thermal=Θερμικός +IPP_COLOR_print-black=Ασπρόμαυρος Εκτυπωτής diff --git a/htdocs/langs/el_GR/productbatch.lang b/htdocs/langs/el_GR/productbatch.lang index 3175a885086..b3e6f7f8bfb 100644 --- a/htdocs/langs/el_GR/productbatch.lang +++ b/htdocs/langs/el_GR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Ποσότητα: %d AddDispatchBatchLine=Προσθέστε μια γραμμή για Χρόνο Διάρκειας αποστολής BatchDefaultNumber=Απροσδιόριστο WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=Αυτό το προϊόν δεν χρησιμοποιεί παρτίδα/σειριακό αριθμό +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 873cc94308a..21a98ef5794 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -23,14 +23,14 @@ ProductOrService=Προϊόν ή Υπηρεσία ProductsAndServices=Προϊόντα και Υπηρεσίες ProductsOrServices=Προϊόντα ή Υπηρεσίες ProductsAndServicesOnSell=Προϊόντα και Υπηρεσίες για πώληση ή αγορά -ProductsAndServicesNotOnSell=Προϊόντα και Υπηρεσίες εκτός πώλησης +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Στατιστικά Προϊόντων και Υπηρεσιών ProductsStatistics=Στατιστικά Προϊόντων -ProductsOnSell=Προϊόν για πώληση ή για αγορά -ProductsNotOnSell=Προϊόν εκτός πώλησης και εκτός αγοράς +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Προϊόντα προς πώληση και για αγορά ServicesOnSell=Υπηρεσίες για πώληση ή αγορά -ServicesNotOnSell=Υπηρεσίες εκτός πώλησης +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Υπηρεσίες προς πώληση και για αγορά InternalRef=Εσωτερική Παραπομπή LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Κάρτα Υπηρεσίας CardContract=Κάρτα Επαφής Warehouse=Αποθήκη Warehouses=Αποθήκες -WarehouseOpened=Η αποθήκη άνοιξε +WarehouseOpened=Warehouse open WarehouseClosed=Η αποθήκη έκλεισε Stock=Απόθεμα Stocks=Αποθέματα @@ -71,21 +71,21 @@ SellingPriceTTC=Τιμή Πώλησης (με Φ.Π.Α) PublicPrice=Δημόσια Τιμή CurrentPrice=Τρέχουσα Τιμή NewPrice=Νέα Τιμή -MinPrice=Ελάχιστη Τιμή Πώλησης -MinPriceHT=Ελάχιστη τιμή πώλησης (μετά από φόρους) -MinPriceTTC=Ελάχιστη τιμή πώλησης (συμπ. Φ.Π.Α) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Η τιμή πώλησης δεν μπορεί να είναι μικρότερη από την ορισμένη ελάχιστη τιμή πώλησης (%s χωρίς Φ.Π.Α.) ContractStatus=Κατάσταση Συμβολαίου ContractStatusClosed=Κλειστό -ContractStatusRunning=Ενεργό +ContractStatusRunning=Ongoing ContractStatusExpired=Ληγμένο -ContractStatusOnHold=Ανενεργό -ContractStatusToRun=Για να πάρετε την εκτέλεση -ContractNotRunning=Το Συμβόλαιο είναι Ανενεργό +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Ένα προϊόν με κωδικό %s υπάρχει ήδη. ErrorProductBadRefOrLabel=Λάθος τιμή για την αναφορά ή την ετικέτα. ErrorProductClone=Υπήρξε ένα πρόβλημα κατά την προσπάθεια για την κλωνοποίηση του προϊόντος ή της υπηρεσίας. -ErrorPriceCantBeLowerThanMinPrice=Σφάλμα η τιμή δεν μπορεί να είναι χαμηλότερη από την ελάχιστο τιμή. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Προμηθευτές SupplierRef=Κωδ. Προμηθευτή ShowProduct=Εμφάνιση προϊόντων @@ -117,12 +117,12 @@ ServiceLimitedDuration=Εάν το προϊόν είναι μια υπηρεσί MultiPricesAbility=Πολλά επίπεδα των τιμών ανά προϊόν/υπηρεσία MultiPricesNumPrices=Αριθμός τιμής MultiPriceLevelsName=Κατηγορίες τιμών -AssociatedProductsAbility=Ενεργοποίηση της δυνατότητας εικονικών πακέτων +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Πακέτο προϊόντων -AssociatedProductsNumber=Αριθμός προϊόντων που συνθέτουν αυτό το εικονικό προϊόν πακέτο +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Αριθμός μητρικής συσκευασίας προϊόντος -IfZeroItIsNotAVirtualProduct=Αν 0, το προϊόν αυτό δεν είναι ένα εικονικό προϊόν πακέτο -IfZeroItIsNotUsedByVirtualProduct=Αν 0, το προϊόν αυτό δεν χρησιμοποιείται από κάθε εικονικό προϊόν πακέτο +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Συσχέτιση Translation=Μετάφραση KeywordFilter=Φίλτρο λέξης-κλειδιού @@ -131,7 +131,7 @@ ProductToAddSearch=Εύρεση προϊόντως προς προσθήκη AddDel=Προσθήκη/Διαγραφή Quantity=Ποσότητα NoMatchFound=Δεν βρέθηκε κατάλληλη εγγραφή -ProductAssociationList=Κατάλογος των σχετικών προϊόντων / υπηρεσιών: το όνομα του προϊόντος / υπηρεσίας (επηρεάζονται ποσότητα) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Λίστα συσκευασίας προϊόντων/υπηρεσιών με αυτό το προϊόν ως συστατικό ErrorAssociationIsFatherOfThis=Ένα από τα προϊόντα που θα επιλεγούν είναι γονέας με την τρέχουσα προϊόν DeleteProduct=Διαγραφή προϊόντος/υπηρεσίας @@ -179,16 +179,41 @@ CloneProduct=Κλώνοποίηση προϊόντος ή υπηρεσίας ConfirmCloneProduct=Είστε βέβαιοι ότι θέλετε να κλωνοποιήσει το προϊόν ή την υπηρεσία %s; CloneContentProduct=Κλώνος όλες τις κύριες πληροφορίες του προϊόντος / υπηρεσίας ClonePricesProduct=Κλώνος κύριες πληροφορίες και τιμές -CloneCompositionProduct=Κλώνος συσκευασμένου προϊόν/υπηρεσίας +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Μεταχειρισμένο NewRefForClone=Ref. of new product/service -CustomerPrices=Τιμές πελατών -SuppliersPrices=Τιμές προμηθευτών -SuppliersPricesOfProductsOrServices=Τιμές προμηθευτών (προϊόντων ή υπηρεσιών) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Τελωνειακός Κώδικας CountryOrigin=Χώρα προέλευσης HiddenIntoCombo=Κρυμμένο σε λίστες επιλογής Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Προϊόν κωδ. Πρότυπο ServiceCodeModel=Υπηρεσία κωδ. Πρότυπο AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Προϊόν πολλαπλών-τιμών -ProductsOrServiceMultiPrice=Τιμές Πελατών (προϊόντων ή υπηρεσιών, πολύ-τιμές) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Προϊόντα του κύκλου εργασιών τριμηνιαία VWAP ServiceSellByQuarterHT=Υπηρεσίες του κύκλου εργασιών τριμηνιαία VWAP Quarter1=1ο. Τέταρτο @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Ορίστε την αξία barcode για όλα τ PriceByCustomer=Διαφορετική τιμή για κάθε πελάτη PriceCatalogue=Μοναδική τιμή ανά προϊόν/υπηρεσία PricingRule=Κανόνες για τις τιμές των πελατών -AddCustomerPrice=Προσθέστε τιμή των πελατών +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Ορισμός ίδιας τιμής για τις θυγατρικές του πελάτη PriceByCustomerLog=Τιμή ανά πελάτη log -MinimumPriceLimit=Ελάχιστη τιμή δεν μπορεί να είναι μικρότερη από %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Ελάχιστη συνιστώμενη τιμή είναι: %s PriceExpressionEditor=Επεξεργαστής συνάρτησης τιμών PriceExpressionSelected=Επιλογή συνάρτησης τιμών @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index 72026081d47..578ec62ec04 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Η άποψη αυτή παρουσιάζει όλα τα έ ProjectsPublicTaskDesc=Αυτή η προβολή παρουσιάζει όλα τα έργα και τα καθήκοντα που επιτρέπεται να δείτε. ProjectsDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα (δικαιώματα χρήστη να δώσει δικαίωμα για να δείτε τα πάντα). MyTasksDesc=Η άποψη αυτή περιορίζονται σε έργα ή εργασίες που έχουν μια επαφή για την (όποια είναι ο τύπος). -OnlyOpenedProject=Μόνο τα έργα που είναι ανοιχτά είναι ορατά (έργα που είναι σχέδιο ή κλειστά δεν είναι ορατά) +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα και τα καθήκοντα που επιτρέπεται να διαβάζουν. TasksDesc=Η άποψη αυτή παρουσιάζει όλα τα έργα και τα καθήκοντα (δικαιώματα χρήστη να δώσει δικαίωμα για να δείτε τα πάντα). AllTaskVisibleButEditIfYouAreAssigned=Όλες οι εργασίες για το συγκεκριμένο έργο είναι ορατές, αλλά μπορείτε να εισάγετε χρόνο μόνο για την εργασία που σας έχει εκχωρηθεί. @@ -29,7 +29,7 @@ ProjectsList=Λίστα έργων ShowProject=Εμφάνιση έργου SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Αριθμός ανοιχτών εργασιών +NbOpenTasks=Nb of open tasks NbOfProjects=Αριθμός έργων TimeSpent=Χρόνος που δαπανήθηκε TimeSpentByYou=Χρόνος που δαπανάται από εσάς @@ -41,7 +41,7 @@ TaskTimeSpent=Ο χρόνος που δαπανάται σε εργασίες TaskTimeUser=Χρήστης TaskTimeNote=Σημείωση TaskTimeDate=Ημερομηνία -TasksOnOpenedProject=Εργασίες σχετικές με τα ανοικτά έργα +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Ο φόρτος εργασίας δεν ορίζεται NewTimeSpent=Νέος χρόνος που δαπανάται MyTimeSpent=Ο χρόνος μου πέρασε @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Κατάλογος των παρεμβάσεων ListExpenseReportsAssociatedProject=Λίστα αναφορών των δαπανών που σχετίζονται με το έργο ListDonationsAssociatedProject=Λίστα των δωρεών που σχετίζονται με το έργο ListActionsAssociatedProject=Κατάλογος των εκδηλώσεων που σχετίζονται με το έργο +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Δραστηριότητα στο έργο αυτή την εβδομάδα ActivityOnProjectThisMonth=Δραστηριότητα στο έργο αυτό το μήνα ActivityOnProjectThisYear=Δραστηριότητα στο έργο αυτού του έτους @@ -95,7 +96,7 @@ DeleteATimeSpent=Διαγράψτε το χρόνο που δαπανάται ConfirmDeleteATimeSpent=Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το χρόνο; DoNotShowMyTasksOnly=Δείτε επίσης τα καθήκοντα που δεν ανατέθηκαν σε μένα ShowMyTasksOnly=Δείτε τα καθήκοντα που σας έχουν ανατεθεί -TaskRessourceLinks=Πόροι +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Έργα που αφορούν αυτό το στοιχείο NoTasks=Δεν υπάρχουν εργασίες για αυτό το έργο LinkedToAnotherCompany=Συνδέεται με άλλο τρίτο μέρος @@ -139,8 +140,12 @@ ProjectReferers=Αναφορές από αντικείμενα SearchAProject=Αναζήτηση ένα έργο ProjectMustBeValidatedFirst=Το έργο πρέπει να επικυρωθεί πρώτα ProjectDraft=Πρόχειρα έργα -FirstAddRessourceToAllocateTime=Συσχετίστε έναν πόρο για την κατανομή του χρόνου +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Εισαγωγή ανά ημέρα InputPerWeek=Εισαγωγή ανά εβδομάδα InputPerAction=Εισαγωγή ανά ενέργεια TimeAlreadyRecorded=Ο χρόνος που δαπανάται έχει ήδη καταγραφεί για το έργο/ημέρα και ο χρήστης %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/el_GR/propal.lang b/htdocs/langs/el_GR/propal.lang index 8055ab367b0..3c01b692836 100644 --- a/htdocs/langs/el_GR/propal.lang +++ b/htdocs/langs/el_GR/propal.lang @@ -4,7 +4,7 @@ Proposal=Προσφορά ProposalShort=Προσφορά ProposalsDraft=Σχέδιο Προσφοράς ProposalDraft=Σχέδιο Προσφοράς -ProposalsOpened=Άνοιγμα Προσφορών +ProposalsOpened=Open commercial proposals Prop=Προσφορές CommercialProposal=Προσφορά CommercialProposals=Προσφορές @@ -16,7 +16,7 @@ Prospect=Προοπτική ProspectList=Λίστα προοπτικών DeleteProp=Διαγραφή Προσφοράς ValidateProp=Επικύρωση Προσφοράς -AddProp=Προσθήκη Προσφοράς +AddProp=Δημιουργία προσφοράς ConfirmDeleteProp=Είστε σίγουροι ότι θέλετε να διαγράψετε την Προσφορά; ConfirmValidateProp=Είστε σίγουροι ότι θέλετε να επικυρώσετε αυτήν την Προσφορά με %s όνομα; LastPropals=Τελευταίες %s Προσφορές @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Ποσό ανά μήνα (μετά από φόρου NbOfProposals=Αριθμός Προσφορών ShowPropal=Εμφάνιση Προσφοράς PropalsDraft=Σχέδιο -PropalsOpened=Άνοιξε +PropalsOpened=Open PropalsNotBilled=Κλειστή δεν τιμολογείται PropalStatusDraft=Προσχέδιο (χρειάζεται επικύρωση) PropalStatusValidated=Επικυρωμένη (η Προσφορά είναι ανοιχτή) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Δεν έχει υπογραφεί (κλειστό) PropalStatusBilled=Χρεώνεται PropalStatusDraftShort=Προσχέδιο PropalStatusValidatedShort=Επικυρώθηκε -PropalStatusOpenedShort=Άνοιξε +PropalStatusOpenedShort=Open PropalStatusClosedShort=Κλειστό PropalStatusSignedShort=Υπογραφή PropalStatusNotSignedShort=Δεν έχει υπογραφεί @@ -51,12 +51,10 @@ PropalsToClose=Προσφορές προς κλείσιμο PropalsToBill=Υπογεγραμμένες Προσφορές προς χρέωση ListOfProposals=Κατάλογος Προσφορών ActionsOnPropal=Εκδηλώσεις σχετικά με την Προσφορά -NoOpenedPropals=Καμία ανοιχτή Προσφορά -NoOtherOpenedPropals=Καμία άλλη ανοιχτή Προσφορά +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Εμπορική Προσφορά ref SendPropalByMail=Αποστολή Προσφοράς με e-mail -FileNotUploaded=Το αρχείο δεν έχει μεταφορτωθεί -FileUploaded=Το αρχείο μεταφορτώθηκε με επιτυχία AssociatedDocuments=Τα έγγραφα που σχετίζονται με την Προσφορά: ErrorCantOpenDir=Δεν μπορείτε να ανοίξετε τον κατάλογο DatePropal=Ημερομηνία της Προσφοράς @@ -100,3 +98,4 @@ DocModelJauneDescription=Κίτρινο μοντέλο Προσφοράς DefaultModelPropalCreate=Δημιουργία προεπιλεγμένων μοντέλων DefaultModelPropalToBill=Προεπιλεγμένο πρότυπο όταν κλείνει μια Προσφορά (να τιμολογηθεί) DefaultModelPropalClosed=Προεπιλεγμένο πρότυπο όταν κλείνει μια Προσφορά (ατιμολόγητη) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/el_GR/salaries.lang b/htdocs/langs/el_GR/salaries.lang index 2f920102746..6a73b2c6d19 100644 --- a/htdocs/langs/el_GR/salaries.lang +++ b/htdocs/langs/el_GR/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Εμφάνιση μισθοδοσίας THM=Η μέση ωριαία τιμή TJM=Η μέση ημερήσια τιμή CurrentSalary=Τρέχον μισθός +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/el_GR/sendings.lang b/htdocs/langs/el_GR/sendings.lang index 64667754277..64fafbf69eb 100644 --- a/htdocs/langs/el_GR/sendings.lang +++ b/htdocs/langs/el_GR/sendings.lang @@ -2,7 +2,7 @@ RefSending=Ref. αποστολή Sending=Αποστολή Sendings=Αποστολές -AllSendings=All Shipments +AllSendings=Όλες οι αποστολές Shipment=Αποστολή Shipments=Αποστολές ShowSending=Προβολή αποστολής @@ -53,7 +53,7 @@ DocumentModelSimple=Απλό μοντέλο έγγραφο DocumentModelMerou=Mérou A5 μοντέλο WarningNoQtyLeftToSend=Προσοχή, δεν υπάρχουν είδη που περιμένουν να σταλούν. StatsOnShipmentsOnlyValidated=Στατιστικά στοιχεία σχετικά με τις μεταφορές που πραγματοποιούνται μόνο επικυρωμένες. Χρησιμοποιείστε Ημερομηνία είναι η ημερομηνία της επικύρωσης της αποστολής (προγραμματισμένη ημερομηνία παράδοσης δεν είναι πάντα γνωστή). -DateDeliveryPlanned=Προγραμματισμένη ημερομηνία παράδοσης +DateDeliveryPlanned=Planned date of delivery DateReceived=Παράδοση Ημερομηνία παραλαβής SendShippingByEMail=Στείλτε αποστολή με e-mail SendShippingRef=Υποβολή της αποστολής %s @@ -67,7 +67,7 @@ SendingRunning=Προϊόν από εντολή παραγγελιών σε πε SuppliersReceiptRunning=Προϊόν από εντολή παραγγελιών σε προμηθευτές ProductQtyInCustomersOrdersRunning=Ποσότητα προϊόντων σε ανοιχτές παραγγελίες πελατών ProductQtyInSuppliersOrdersRunning=Ποσότητα προϊόντων σε ανοιχτές παραγγελίες προμηθευτών -ProductQtyInShipmentAlreadySent=Ποσότητα προϊόντων από ανοιγμένες παραγγελίες του πελάτη που έχουν ήδη αποσταλεί +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Ποσότητα προϊόντων από ανοιγμένες παραγγελίες του προμηθευτή που έχουν ήδη ληφθεί # Sending methods diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index dcb4885791e..836bdc162ae 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Αποθήκες NewWarehouse=Νέα αποθήκη / Χρηματιστήριο περιοχή WarehouseEdit=Τροποποίηση αποθήκη MenuNewWarehouse=Νέα αποθήκη -WarehouseOpened=Αποθήκη άνοιξε +WarehouseOpened=Warehouse open WarehouseClosed=Αποθήκη κλειστό WarehouseSource=Αποθήκη Πηγή WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Επιλέξτε αποθήκη που θα χρ SelectWarehouseForStockIncrease=Επιλέξτε αποθήκη που θα χρησιμοποιηθεί για αύξηση των αποθεμάτων NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Επιθυμητο απόθεμα +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Για να παραγγείλετε Replenishment=Αναπλήρωση ReplenishmentOrders=Αναπλήρωση παραγγελίων -VirtualDiffersFromPhysical=Σύμφωνα με την την αύξηση/μείωση αποθέματος, φυσικού αποθέματος και εικονικού αποθέματος (φυσική + τρέχουσες παραγγελίες) μπορεί να διαφέρει +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Χρησιμοποιήστε το εικονικό απόθεμα από προεπιλογή, αντί των φυσικών αποθεμάτων, για τη \nλειτουργία αναπλήρωσης UseVirtualStock=Χρησιμοποιήστε το εικονικό απόθεμα UsePhysicalStock=Χρησιμοποιήστε το φυσικό απόθεμα -CurentSelectionMode=Επιλογή τρέχουσας κατάστασης +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Εικονικό απόθεμα CurentlyUsingPhysicalStock=Φυσικό απόθεμα RuleForStockReplenishment=Κανόνας για τα αποθέματα αναπλήρωσης @@ -112,8 +113,8 @@ AlertOnly= Ειδοποιήσεις μόνο WarehouseForStockDecrease=Η αποθήκη %s να να χρησιμοποιηθεί για μείωση αποθεμάτων WarehouseForStockIncrease=Η αποθήκη %s θα χρησιμοποιηθεί για την αύξηση των αποθεμάτων ForThisWarehouse=Για αυτή την αποθήκη -ReplenishmentStatusDesc=Αυτή είναι η λίστα όλων των προϊόντων με απόθεμα κάτω από το επιθυμητό απόθεμα (ή χαμηλότερες από την αξία συναγερμού, εφόσον κουτάκι "ειδοποίηση μόνο" είναι επιλεγμένο), και προτείνουμε να δημιουργήσετε παραγγελίες σε προμηθευτές για να αναπληρώσει τη διαφορά. -ReplenishmentOrdersDesc=Αυτή είναι η λίστα όλων των ανοικτών παραγγελιών προκαθορισμένων προϊόντων σε προμηθευτές. Μόνο ανοιχτές παραγγελίες προκαθορισμένων προϊόντων, παραγγελίες δηλαδή που μπορούν να επηρεάσουν τα αποθέματα, φαίνονται εδώ. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Αναπληρώσεις NbOfProductBeforePeriod=Ποσότητα του προϊόντος %s σε απόθεμα πριν από την επιλεγμένη περίοδο (< %s) NbOfProductAfterPeriod=Ποσότητα του προϊόντος %s σε απόθεμα πριν από την επιλεγμένη περίοδο (> %s) @@ -124,16 +125,16 @@ RecordMovement=Η εγγραφή μεταφέρθηκε ReceivingForSameOrder=Αποδείξεις για αυτή την παραγγελία StockMovementRecorded=Οι κινήσεις των αποθεμάτων καταγράφονται RuleForStockAvailability=Κανόνες σχετικά με τις απαιτήσεις του αποθέματος -StockMustBeEnoughForInvoice=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία στο τιμολόγιο -StockMustBeEnoughForOrder=Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αγορά -StockMustBeEnoughForShipment= Το επίπεδο των αποθεμάτων πρέπει να είναι επαρκής για να προσθέσετε το προϊόν / υπηρεσία για αποστολή +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Ετικέτα λογιστικής κίνησης InventoryCode=Λογιστική κίνηση ή κωδικός απογραφής IsInPackage=Περιεχόμενα συσκευασίας ShowWarehouse=Εμφάνιση αποθήκης -MovementCorrectStock=Διόρθωση αποθέματος για το προϊόν %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Μετακίνηση του προϊόντος %s σε μια άλλη αποθήκη -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/el_GR/suppliers.lang b/htdocs/langs/el_GR/suppliers.lang index 66c20c45687..58c4e43f9b2 100644 --- a/htdocs/langs/el_GR/suppliers.lang +++ b/htdocs/langs/el_GR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Αποστολή σε προμηθευτές ListOfSupplierOrders=Λίστα παραγγελιών των προμηθευτών MenuOrdersSupplierToBill=Παραγγελίες προμηθευτών για τιμολόγηση NbDaysToDelivery=Καθυστέρηση παράδοσης σε ημέρες -DescNbDaysToDelivery=Η μεγαλύτερη καθυστέρηση εμφανίζετε μεταξύ παραγγελίας και τη λίστα των προϊόντων +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Χρησιμοποιήστε διπλή έγκριση (η δεύτερη έγκριση μπορεί να γίνει από οποιονδήποτε χρήστη με ειδική άδεια) diff --git a/htdocs/langs/el_GR/trips.lang b/htdocs/langs/el_GR/trips.lang index 6d18622fa08..17f7d1ddf87 100644 --- a/htdocs/langs/el_GR/trips.lang +++ b/htdocs/langs/el_GR/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Αναφορές εξόδων TripsAndExpensesStatistics=Στατιστικές αναφορές εξόδων TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Λίστα φόρων NewTrip=New expense report CompanyVisited=Έγινε επίσκεψη σε εταιρία/οργανισμό @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Όχημα TF_PEAGE=Διόδια TF_ESSENCE=Καύσιμα -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/el_GR/users.lang b/htdocs/langs/el_GR/users.lang index 68794752db8..63aa48ea233 100644 --- a/htdocs/langs/el_GR/users.lang +++ b/htdocs/langs/el_GR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Αφαίρεση από την ομάδα PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Χρήστες και Ομάδες +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Εμφάνιση ομάδας diff --git a/htdocs/langs/el_GR/workflow.lang b/htdocs/langs/el_GR/workflow.lang index 25b95c360c3..ff1a0d9428d 100644 --- a/htdocs/langs/el_GR/workflow.lang +++ b/htdocs/langs/el_GR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Ροής εργασίας ρύθμιση μονάδας -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Δεν υπάρχει καμία ροή εργασίας μπορείτε να τροποποιήσετε τη μονάδα που έχετε ενεργοποιήσει. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Δημιουργήστε μια παραγγελία του πελάτη αυτόματα μετά από μια προσφορά που έχει υπογραφεί -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Δημιουργήστε ένα τιμολόγιο πελάτη αυτόματα μετά από μια προσφορά που έχει υπογραφεί -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Δημιουργήστε ένα τιμολόγιο πελάτη αυτόματα μετά από μια σύμβαση έχει επικυρωθεί -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Δημιουργήστε ένα τιμολόγιο πελάτη αυτόματα μετά από παραγγελία του πελάτη είναι κλειστό +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Κατατάσσει που συνδέονται με παραγγελία (ες) του πελάτη να χρεωθεί όταν το τιμολόγιο του πελάτη έχει οριστεί να καταβληθεί descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Κατατάσσει που συνδέονται με παραγγελία (ες) του πελάτη να χρεωθεί όταν το τιμολόγιο του πελάτη έχει επικυρωθεί diff --git a/htdocs/langs/en_AU/main.lang b/htdocs/langs/en_AU/main.lang index 27e0c30c352..e9516954cb2 100644 --- a/htdocs/langs/en_AU/main.lang +++ b/htdocs/langs/en_AU/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y diff --git a/htdocs/langs/en_CA/main.lang b/htdocs/langs/en_CA/main.lang index fca2906cd12..5615b28145a 100644 --- a/htdocs/langs/en_CA/main.lang +++ b/htdocs/langs/en_CA/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=dd.MM.yyyy FormatDateShortJavaInput=dd.MM.yyyy FormatDateShortJQuery=dd.mm.yy FormatDateShortJQueryInput=dd.mm.yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y diff --git a/htdocs/langs/en_GB/admin.lang b/htdocs/langs/en_GB/admin.lang index c25fb01f690..1af79f8b17a 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -1,16 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

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

Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. +InvoiceAvoir=Credit note +InvoiceAvoirAsk=Credit note to correct invoice +InvoiceAvoirDesc=The credit note is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example). +invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice +invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount +ReplaceInvoice=Replace invoice %s +ReplacementInvoice=Replacement invoice +ReplacedByInvoice=Replaced by invoice %s +ReplacementByInvoice=Replaced by invoice +CorrectInvoice=Correct invoice %s +CorrectionInvoice=Correction invoice +UsedByInvoice=Used to pay invoice %s +ConsumedBy=Consumed by +NotConsumed=Not consumed +NoReplacableInvoice=No replacable invoices +NoInvoiceToCorrect=No invoice to correct +InvoiceHasAvoir=Corrected by one or several invoices +CardBill=Invoice card +PredefinedInvoices=Predefined Invoices +Invoice=Invoice +Invoices=Invoices +InvoiceLine=Invoice line +InvoiceCustomer=Customer invoice +CustomerInvoice=Customer invoice +CustomersInvoices=Customers invoices +SupplierInvoice=Supplier invoice +SuppliersInvoices=Suppliers invoices +SupplierBill=Supplier invoice +SupplierBills=suppliers invoices +Payment=Payment +PaymentBack=Payment back +Payments=Payments +PaymentsBack=Payments back +PaidBack=Paid back +DatePayment=Payment date +DeletePayment=Delete payment +ConfirmDeletePayment=Are you sure you want to delete this payment ? +ConfirmConvertToReduc=Do you want to convert this credit note or deposit into an absolute discount ?
The amount will so be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. +SupplierPayments=Suppliers payments +ReceivedPayments=Received payments +ReceivedCustomersPayments=Payments received from customers +PayedSuppliersPayments=Payments payed to suppliers +ReceivedCustomersPaymentsToValid=Received customers payments to validate +PaymentsReportsForYear=Payments reports for %s +PaymentsReports=Payments reports +PaymentsAlreadyDone=Payments already done +PaymentsBackAlreadyDone=Payments back already done +PaymentRule=Payment rule +PaymentMode=Payment type +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms +PaymentAmount=Payment amount +ValidatePayment=Validate payment +PaymentHigherThanReminderToPay=Payment higher than reminder to pay +HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm and think about creating a credit note of the excess received for each overpaid invoices. +HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. +ClassifyPaid=Classify 'Paid' +ClassifyPaidPartially=Classify 'Paid partially' +ClassifyCanceled=Classify 'Abandoned' +ClassifyClosed=Classify 'Closed' +ClassifyUnBilled=Classify 'Unbilled' +CreateBill=Create Invoice +AddBill=Create invoice or credit note +AddToDraftInvoices=Add to draft invoice +DeleteBill=Delete invoice +SearchACustomerInvoice=Search for a customer invoice +SearchASupplierInvoice=Search for a supplier invoice +CancelBill=Cancel an invoice +SendRemindByMail=Send reminder by EMail +DoPayment=Do payment +DoPaymentBack=Do payment back +ConvertToReduc=Convert into future discount +EnterPaymentReceivedFromCustomer=Enter payment received from customer +EnterPaymentDueToCustomer=Make payment due to customer +DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero +Amount=Amount +PriceBase=Price base +BillStatus=Invoice status +BillStatusDraft=Draft (needs to be validated) +BillStatusPaid=Paid +BillStatusPaidBackOrConverted=Paid or converted into discount +BillStatusConverted=Paid (ready for final invoice) +BillStatusCanceled=Abandoned +BillStatusValidated=Validated (needs to be paid) +BillStatusStarted=Started +BillStatusNotPaid=Not paid +BillStatusClosedUnpaid=Closed (unpaid) +BillStatusClosedPaidPartially=Paid (partially) +BillShortStatusDraft=Draft +BillShortStatusPaid=Paid +BillShortStatusPaidBackOrConverted=Processed +BillShortStatusConverted=Processed +BillShortStatusCanceled=Abandoned +BillShortStatusValidated=Validated +BillShortStatusStarted=Started +BillShortStatusNotPaid=Not paid +BillShortStatusClosedUnpaid=Closed +BillShortStatusClosedPaidPartially=Paid (partially) +PaymentStatusToValidShort=To validate +ErrorVATIntraNotConfigured=Intracommunautary VAT number not yet defined +ErrorNoPaiementModeConfigured=No default payment mode defined. Go to Invoice module setup to fix this. +ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment modes +ErrorBillNotFound=Invoice %s does not exist +ErrorInvoiceAlreadyReplaced=Error, you try to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. +ErrorDiscountAlreadyUsed=Error, discount already used +ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount +ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have a positive amount +ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status +BillFrom=From +BillTo=To +ActionsOnBill=Actions on invoice +NewBill=New invoice +LastBills=Last %s invoices +LastCustomersBills=Last %s customers invoices +LastSuppliersBills=Last %s suppliers invoices +AllBills=All invoices +OtherBills=Other invoices +DraftBills=Draft invoices +CustomersDraftInvoices=Customers draft invoices +SuppliersDraftInvoices=Suppliers draft invoices +Unpaid=Unpaid +ConfirmDeleteBill=Are you sure you want to delete this invoice ? +ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s ? +ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status ? +ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid ? +ConfirmCancelBill=Are you sure you want to cancel invoice %s ? +ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned' ? +ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid ? +ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What are reasons for you to close this invoice ? +ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularise the VAT with a credit note. +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. +ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. +ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer +ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned +ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice have been provided with suitable comment. (Example «Only the tax corresponding to the price that have been actually paid gives rights to deduction») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct note. +ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuse to pay his debt. +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned +ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all other does not suit, for example in following situation:
- payment not complete because some products were shipped back
- amount claimed too important because a discount was forgotten
In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. +ConfirmClassifyAbandonReasonOther=Other +ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. +ConfirmCustomerPayment=Do you confirm this payment input for %s %s ? +ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? +ConfirmValidatePayment=Are you sure you want to validate this payment ? No change can be made once payment is validated. +ValidateBill=Validate invoice +UnvalidateBill=Unvalidate invoice +NumberOfBills=Nb of invoices +NumberOfBillsByMonth=Nb of invoices by month +AmountOfBills=Amount of invoices +AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) +ShowSocialContribution=Show social contribution +ShowBill=Show invoice +ShowInvoice=Show invoice +ShowInvoiceReplace=Show replacing invoice +ShowInvoiceAvoir=Show credit note +ShowInvoiceDeposit=Show deposit invoice +ShowPayment=Show payment +File=File +AlreadyPaid=Already paid +AlreadyPaidBack=Already paid back +AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and deposits) +Abandoned=Abandoned +RemainderToPay=Remaining unpaid +RemainderToTake=Remaining amount to take +RemainderToPayBack=Remaining amount to pay back +Rest=Pending +AmountExpected=Amount claimed +ExcessReceived=Excess received +EscompteOffered=Discount offered (payment before term) +SendBillRef=Submission of invoice %s +SendReminderBillRef=Submission of invoice %s (reminder) +StandingOrders=Standing orders +StandingOrder=Standing order +NoDraftBills=No draft invoices +NoOtherDraftBills=No other draft invoices +NoDraftInvoices=No draft invoices +RefBill=Invoice ref +ToBill=To bill +RemainderToBill=Remainder to bill +SendBillByMail=Send invoice by email +SendReminderBillByMail=Send reminder by email +RelatedCommercialProposals=Related commercial proposals +MenuToValid=To valid +DateMaxPayment=Payment due before +DateEcheance=Due date limit +DateInvoice=Invoice date +NoInvoice=No invoice +ClassifyBill=Classify invoice +SupplierBillsToPay=Suppliers invoices to pay +CustomerBillsUnpaid=Unpaid customers invoices +DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters +NonPercuRecuperable=Non-recoverable +SetConditions=Set payment terms +SetMode=Set payment mode +Billed=Billed +RepeatableInvoice=Template invoice +RepeatableInvoices=Template invoices +Repeatable=Template +Repeatables=Templates +ChangeIntoRepeatableInvoice=Convert into template invoice +CreateRepeatableInvoice=Create template invoice +CreateFromRepeatableInvoice=Create from template invoice +CustomersInvoicesAndInvoiceLines=Customer invoices and invoice's lines +CustomersInvoicesAndPayments=Customer invoices and payments +ExportDataset_invoice_1=Customer invoices list and invoice's lines +ExportDataset_invoice_2=Customer invoices and payments +ProformaBill=Proforma Bill: +Reduction=Reduction +ReductionShort=Reduc. +Reductions=Reductions +ReductionsShort=Reduc. +Discount=Discount +Discounts=Discounts +AddDiscount=Create discount +AddRelativeDiscount=Create relative discount +EditRelativeDiscount=Edit relative discount +AddGlobalDiscount=Create absolute discount +EditGlobalDiscounts=Edit absolute discounts +AddCreditNote=Create credit note +ShowDiscount=Show discount +ShowReduc=Show the deduction +RelativeDiscount=Relative discount +GlobalDiscount=Global discount +CreditNote=Credit note +CreditNotes=Credit notes +Deposit=Deposit +Deposits=Deposits +DiscountFromCreditNote=Discount from credit note %s +DiscountFromDeposit=Payments from deposit invoice %s +AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation +CreditNoteDepositUse=Invoice must be validated to use this king of credits +NewGlobalDiscount=New absolute discount +NewRelativeDiscount=New relative discount +NoteReason=Note/Reason +ReasonDiscount=Reason +DiscountOfferedBy=Granted by +DiscountStillRemaining=Discounts still remaining +DiscountAlreadyCounted=Discounts already counted +BillAddress=Bill address +HelpEscompte=This discount is a discount granted to customer because its payment was made before term. +HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose. +HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example) +IdSocialContribution=Social contribution id +PaymentId=Payment id +InvoiceId=Invoice id +InvoiceRef=Invoice ref. +InvoiceDateCreation=Invoice creation date +InvoiceStatus=Invoice status +InvoiceNote=Invoice note +InvoicePaid=Invoice paid +PaymentNumber=Payment number +RemoveDiscount=Remove discount +WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) +InvoiceNotChecked=No invoice selected +CloneInvoice=Clone invoice +ConfirmCloneInvoice=Are you sure you want to clone this invoice %s ? +DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced +DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here. +NbOfPayments=Nb of payments +SplitDiscount=Split discount in two +ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into 2 lower discounts ? +TypeAmountOfEachNewDiscount=Input amount for each of two parts : +TotalOfTwoDiscountMustEqualsOriginal=Total of two new discount must be equal to original discount amount. +ConfirmRemoveDiscount=Are you sure you want to remove this discount ? +RelatedBill=Related invoice +RelatedBills=Related invoices +RelatedCustomerInvoices=Related customer invoices +RelatedSupplierInvoices=Related supplier invoices +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool + +# PaymentConditions +PaymentConditionShortRECEP=Immediate +PaymentConditionRECEP=Immediate +PaymentConditionShort30D=30 days +PaymentCondition30D=30 days +PaymentConditionShort30DENDMONTH=30 days end of month +PaymentCondition30DENDMONTH=30 days end of month +PaymentConditionShort60D=60 days +PaymentCondition60D=60 days +PaymentConditionShort60DENDMONTH=60 days end of month +PaymentCondition60DENDMONTH=60 days end of month +PaymentConditionShortPT_DELIVERY=Delivery +PaymentConditionPT_DELIVERY=On delivery +PaymentConditionShortPT_ORDER=On order +PaymentConditionPT_ORDER=On order +PaymentConditionShortPT_5050=50-50 +PaymentConditionPT_5050=50%% in advance, 50%% on delivery +FixAmount=Fix amount +VarAmount=Variable amount (%% tot.) +# PaymentType +PaymentTypeVIR=Bank deposit +PaymentTypeShortVIR=Bank deposit +PaymentTypePRE=Bank's order +PaymentTypeShortPRE=Bank's order +PaymentTypeLIQ=Cash +PaymentTypeShortLIQ=Cash +PaymentTypeCB=Credit card +PaymentTypeShortCB=Credit card +PaymentTypeCHQ=Check +PaymentTypeShortCHQ=Check +PaymentTypeTIP=TIP +PaymentTypeShortTIP=TIP +PaymentTypeVAD=On line payment +PaymentTypeShortVAD=On line payment +PaymentTypeTRA=Bill payment +PaymentTypeShortTRA=Bill +BankDetails=Bank details +BankCode=Bank code +DeskCode=Desk code +BankAccountNumber=Account number +BankAccountNumberKey=Key +Residence=Domiciliation +IBANNumber=IBAN number +IBAN=IBAN +BIC=BIC/SWIFT +BICNumber=BIC/SWIFT number +ExtraInfos=Extra infos +RegulatedOn=Regulated on +ChequeNumber=Check N° +ChequeOrTransferNumber=Check/Transfer N° +ChequeMaker=Check transmitter +ChequeBank=Bank of Check +CheckBank=Check +NetToBePaid=Net to be paid +PhoneNumber=Tel +FullPhoneNumber=Telephone +TeleFax=Fax +PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. +IntracommunityVATNumber=Intracommunity number of VAT +PaymentByChequeOrderedTo=Check payment (including tax) are payable to %s send to +PaymentByChequeOrderedToShort=Check payment (including tax) are payable to +SendTo=sent to +PaymentByTransferOnThisBankAccount=Payment by transfer on the following bank account +VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI +LawApplicationPart1=By application of the law 80.335 of 12/05/80 +LawApplicationPart2=the goods remain the property of +LawApplicationPart3=the seller until the complete cashing of +LawApplicationPart4=their price. +LimitedLiabilityCompanyCapital=SARL with Capital of +UseLine=Apply +UseDiscount=Use discount +UseCredit=Use credit +UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit +MenuChequeDeposits=Checks deposits +MenuCheques=Checks +MenuChequesReceipts=Checks receipts +NewChequeDeposit=New deposit +ChequesReceipts=Checks receipts +ChequesArea=Checks deposits area +ChequeDeposits=Checks deposits +Cheques=Checks +CreditNoteConvertedIntoDiscount=This credit note or deposit invoice has been converted into %s +UsBillingContactAsIncoiveRecipientIfExist=Use customer billing contact address instead of third party address as recipient for invoices +ShowUnpaidAll=Show all unpaid invoices +ShowUnpaidLateOnly=Show late unpaid invoices only +PaymentInvoiceRef=Payment invoice %s +ValidateInvoice=Validate invoice +Cash=Cash +Reported=Delayed +DisabledBecausePayments=Not possible since there are some payments +CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid +ExpectedToPay=Expected payment +PayedByThisPayment=Paid by this payment ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. +ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. +AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". +ToMakePayment=Pay +ToMakePaymentBack=Pay back +ListOfYourUnpaidInvoices=List of unpaid invoices +NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. +RevenueStamp=Revenue stamp +YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty +PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (recommended Template) +TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +##### Types de contacts ##### +TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice +TypeContact_facture_external_BILLING=Customer invoice contact +TypeContact_facture_external_SHIPPING=Customer shipping contact +TypeContact_facture_external_SERVICE=Customer service contact +TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up supplier invoice +TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact +TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No open situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/en_GB/commercial.lang b/htdocs/langs/en_GB/commercial.lang deleted file mode 100644 index 18d8db06801..00000000000 --- a/htdocs/langs/en_GB/commercial.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - commercial -ActionAffectedTo=Event assigned to diff --git a/htdocs/langs/en_GB/cron.lang b/htdocs/langs/en_GB/cron.lang deleted file mode 100644 index 3f755fc725d..00000000000 --- a/htdocs/langs/en_GB/cron.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes diff --git a/htdocs/langs/en_GB/mails.lang b/htdocs/langs/en_GB/mails.lang index 4b5c7e95999..001b237ca8c 100644 --- a/htdocs/langs/en_GB/mails.lang +++ b/htdocs/langs/en_GB/mails.lang @@ -1,2 +1,143 @@ # Dolibarr language file - Source file is en_US - mails -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +Mailing=EMailing +EMailing=EMailing +Mailings=EMailings +EMailings=EMailings +AllEMailings=All eMailings +MailCard=EMailing card +MailTargets=Targets +MailRecipients=Recipients +MailRecipient=Recipient +MailTitle=Description +MailFrom=Sender +MailErrorsTo=Errors to +MailReply=Reply to +MailTo=Receiver(s) +MailCC=Copy to +MailCCC=Cached copy to +MailTopic=EMail topic +MailText=Message +MailFile=Attached files +MailMessage=EMail body +ShowEMailing=Show emailing +ListOfEMailings=List of emailings +NewMailing=New emailing +EditMailing=Edit emailing +ResetMailing=Resend emailing +DeleteMailing=Delete emailing +DeleteAMailing=Delete an emailing +PreviewMailing=Preview emailing +PrepareMailing=Prepare emailing +CreateMailing=Create emailing +MailingDesc=This page allows you to send emailings to a group of people. +MailingResult=Sending emails result +TestMailing=Test email +ValidMailing=Valid emailing +ApproveMailing=Approve emailing +MailingStatusDraft=Draft +MailingStatusValidated=Validated +MailingStatusApproved=Approved +MailingStatusSent=Sent +MailingStatusSentPartialy=Sent partialy +MailingStatusSentCompletely=Sent completely +MailingStatusError=Error +MailingStatusNotSent=Not sent +MailSuccessfulySent=Email successfully sent (from %s to %s) +MailingSuccessfullyValidated=EMailing successfully validated +MailUnsubcribe=Unsubscribe +Unsuscribe=Unsubscribe +MailingStatusNotContact=Don't contact anymore +ErrorMailRecipientIsEmpty=Email recipient is empty +WarningNoEMailsAdded=No new Email to add to recipient's list. +ConfirmValidMailing=Are you sure you want to validate this emailing ? +ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? +ConfirmDeleteMailing=Are you sure you want to delete this emailling ? +NbOfRecipients=Number of recipients +NbOfUniqueEMails=Nb of unique emails +NbOfEMails=Nb of EMails +TotalNbOfDistinctRecipients=Number of distinct recipients +NoTargetYet=No recipients defined yet (Go on tab 'Recipients') +AddRecipients=Add recipients +RemoveRecipient=Remove recipient +CommonSubstitutions=Common substitutions +YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values +MailingAddFile=Attach this file +NoAttachedFiles=No attached files +BadEMail=Bad value for EMail +CloneEMailing=Clone Emailing +ConfirmCloneEMailing=Are you sure you want to clone this emailing ? +CloneContent=Clone message +CloneReceivers=Cloner recipients +DateLastSend=Date of last sending +DateSending=Date sending +SentTo=Sent to %s +MailingStatusRead=Read +CheckRead=Read Receipt +YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list +MailtoEMail=Hyper link to email +ActivateCheckRead=Allow to use the "Unsubcribe" link +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature +EMailSentToNRecipients=EMail sent to %s recipients. +XTargetsAdded=%s recipients added into target list +EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s) +SendRemind=Send reminder by EMails +RemindSent=%s reminder(s) sent +AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +NoRemindSent=No EMail reminder sent +ResultOfMassSending=Result of mass EMail reminders sending + +# Libelle des modules de liste de destinataires mailing +MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) +MailingModuleDescDolibarrUsers=Dolibarr users +MailingModuleDescFundationMembers=Foundation members with emails +MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) +MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) +MailingModuleDescContactsCategories=Third parties (by category) +MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines +MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) +MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescMembersCategories=Foundation members (by categories) +MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) +LineInFile=Line %s in file +RecipientSelectionModules=Defined requests for recipient's selection +MailSelectedRecipients=Selected recipients +MailingArea=EMailings area +LastMailings=Last %s emailings +TargetsStatistics=Targets statistics +NbOfCompaniesContacts=Unique contacts/addresses +MailNoChangePossible=Recipients for validated emailing can't be changed +SearchAMailing=Search mailing +SendMailing=Send emailing +SendMail=Send email +SentBy=Sent by +MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. +ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? +LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +TargetsReset=Clear list +ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing +ToAddRecipientsChooseHere=Add recipients by choosing from the lists +NbOfEMailingsReceived=Mass emailings received +NbOfEMailingsSend=Mass emailings sent +IdRecord=ID record +DeliveryReceipt=Delivery Receipt +YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. +TagCheckMail=Track mail opening +TagUnsubscribe=Unsubscribe link +TagSignature=Signature sending user +TagMailtoEmail=Recipient EMail +# Module Notifications +Notifications=Notifications +NoNotificationsWillBeSent=No email notifications are planned for this event and company +ANotificationsWillBeSent=1 notification will be sent by email +SomeNotificationsWillBeSent=%s notifications will be sent by email +AddNewNotification=Activate a new email notification target +ListOfActiveNotifications=List all active email notification targets +ListOfNotificationsDone=List all email notifications sent +MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. +MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. +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 diff --git a/htdocs/langs/en_GB/main.lang b/htdocs/langs/en_GB/main.lang index 568f81040e9..8b8079500b1 100644 --- a/htdocs/langs/en_GB/main.lang +++ b/htdocs/langs/en_GB/main.lang @@ -1,5 +1,9 @@ # 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=. @@ -10,6 +14,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y @@ -18,9 +23,719 @@ 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 +NoTranslation=No translation +NoRecordFound=No record found +NoError=No error +Error=Error +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Can not create dir %s +ErrorCanNotReadDir=Can not read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorNoRequestRan=No request ran +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +BackgroundColorByDefault=Default background color +FileNotUploaded=The file was not uploaded +FileUploaded=The file was successfully uploaded +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=Nb of entries +GoToWikiHelpPage=Read online help (need Internet access) +GoToHelpPage=Read help +RecordSaved=Record saved +RecordDeleted=Record deleted +LevelOfFeature=Level of features +NotDefined=Not defined +DefinedAndHasThisValue=Defined and value to +IsNotDefined=undefined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten ? +SeeAbove=See above +HomeArea=Home area +LastConnexion=Last connection +PreviousConnexion=Previous connection +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentification mode +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +RequestLastAccessInError=Request for last database access in error +ReturnCodeLastAccessInError=Return code for last database access in error +InformationLastAccessInError=Information for last database access in error +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is information that can help diagnostic +MoreInformation=More information +TechnicalInformation=Technical information +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +Enabled=Enabled +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +Update=Update +AddActionToDo=Add event to do +AddActionDone=Add event done +Close=Close +Close2=Close +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? +Delete=Delete +Remove=Remove +Resiliate=Resiliate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +Save=Save +SaveAs=Save As +TestConnection=Test connection +ToClone=Clone +ConfirmClone=Choose data you want to clone : +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +ShowCardHere=Show card +Search=Search +SearchOf=Search +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Send file +ToLink=Link +Select=Select +Choose=Choose +ChooseLangage=Please choose your language +Resize=Resize +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +GlobalValue=Global value +PersonalValue=Personal value +NewValue=New value +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +CurrentNote=Current note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +Model=Model +DefaultModel=Default model +Action=Event +About=About +Number=Number +NumberByMonth=Number by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +DevelopmentTeam=Development Team +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Connection +Setup=Setup +Alert=Alert +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Date=Date +DateAndHour=Date and hour +DateStart=Date start +DateEnd=Date end +DateCreation=Creation date +DateModification=Modification date +DateModificationShort=Modif. date +DateLastModification=Last modification date +DateValidation=Validation date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DatePlanShort=Date planed +DateRealShort=Date real. +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +HourShort=H +MinuteShort=mn +Rate=Rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultGlobalValue=Global value +Price=Price +UnitPrice=Unit price +UnitPriceHT=Unit price (net) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=U.P. +Amount=Amount +AmountInvoice=Invoice amount +AmountPayment=Payment amount +AmountHTShort=Amount (net) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (net of tax) +AmountTTC=Amount (inc. tax) AmountVAT=Amount VAT +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyHT=Price for this quantity (net of tax) +PriceQtyMinHT=Price quantity min. (net of tax) +PriceQtyTTC=Price for this quantity (inc. tax) +PriceQtyMinTTC=Price quantity min. (inc. of tax) +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (net) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (net of tax) +TotalHTforthispage=Total (net of tax) for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit TotalVAT=Total VAT +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF IncludedVAT=Included VAT +HT=Net of tax TTC=Inc. VAT VAT=VAT +LT1ES=RE +LT2ES=IRPF VATRate=VAT Rate +Average=Average +Sum=Sum +Delta=Delta +Module=Module +Option=Option +List=List +FullList=Full list +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. supplier +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsDone=Events done +ActionsToDoShort=To do +ActionsRunningshort=Started +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=Started +ActionDoneShort=Finished +ActionUncomplete=Uncomplete +CompanyFoundation=Company/Foundation +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events about this third party +ActionsOnMember=Events about this member +NActions=%s events +NActionsLate=%s late +RequestAlreadyDone=Request already recorded +Filter=Filter +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +MyBookmarks=My bookmarks +OtherInformationsBoxes=Other information boxes +DolibarrBoard=Dolibarr board +DolibarrStateBoard=Statistics +DolibarrWorkBoard=Work tasks board +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Popularity=Popularity +Categories=Tags/categories +Category=Tag/category +By=By +From=From +to=to +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other informations +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultOk=Success +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +Validated=Validated +Opened=Open +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +Received=Received +Paid=Paid +Topic=Sujet +ByCompanies=By third parties +ByUsers=By users +Links=Links +Link=Link +Receipts=Receipts +Rejects=Rejects +Preview=Preview +NextStep=Next step +PreviousStep=Previous step +Datas=Data +None=None +NoneF=None +Late=Late +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +Login=Login +CurrentLogin=Current login +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +JanuaryMin=Jan +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Apr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +AttachedFiles=Attached files and documents +FileTransferComplete=File was uploaded successfuly +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Mot clé +Legend=Legend +FillTownFromZip=Fill city from zip +Fill=Fill +Reset=Reset +ShowLog=Show log +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfCustomers=Number of customers +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfReferers=Number of referrers +Referers=Refering objects +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildPDF=Build PDF +RebuildPDF=Rebuild PDF +BuildDoc=Build Doc +RebuildDoc=Rebuild Doc +Entity=Environment +Entities=Entities +EventLogs=Logs +CustomerPreview=Customer preview +SupplierPreview=Supplier preview +AccountancyPreview=Accountancy preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show supplier preview +ShowAccountancyPreview=Show accountancy preview +ShowProspectPreview=Show prospect preview +RefCustomer=Ref. customer +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Question=Question +Response=Response +Priority=Priority +SendByMail=Send by EMail +MailSentBy=Email sent by +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send Ack. by email +NoEMail=No email +NoMobilePhone=No mobile phone +Owner=Owner +DetectedVersion=Detected version +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s records modified +AutomaticCode=Automatic code +NotManaged=Not managed +FeatureDisabled=Feature disabled +MoveBox=Move box %s +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +PartialWoman=Partial +PartialMan=Partial +TotalWoman=Total +TotalMan=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Color=Color +Documents=Linked files +DocumentsNb=Linked files (%s) +Documents2=Documents +BuildDocuments=Generated documents +UploadDisabled=Upload disabled +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +NoFileFound=No documents saved in this directory +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +Informations=Informations +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +ListOfFiles=List of available files +FreeZone=Free entry +FreeLineOfType=Free entry of type +CloneMainAttributes=Clone object with its main attributes +PDFMerge=PDF Merge +Merge=Merge +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +NoMenu=No sub-menu +WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. +CreditCard=Credit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP convertion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Card must be validated before using this feature +Visibility=Visibility +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +OptionalFieldsSetup=Extra attributes setup +URLPhoto=URL of photo/logo +SetLinkToThirdParty=Link to another third party +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +DeleteAFile=Delete a file +ConfirmDeleteAFile=Are you sure you want to delete file +NoResults=No results +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +HomeDashboard=Home summary +Deductible=Deductible +from=from +toward=toward +Access=Access +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account Currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +ShowTransaction=Show transaction +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman +# Week day +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/en_GB/orders.lang b/htdocs/langs/en_GB/orders.lang index 6d902132a46..55802b4bb48 100644 --- a/htdocs/langs/en_GB/orders.lang +++ b/htdocs/langs/en_GB/orders.lang @@ -1,5 +1,173 @@ # Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Suppliers orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +Orders=Orders +OrderLine=Order line +OrderFollow=Follow up +OrderDate=Order date +OrderToProcess=Order to process +NewOrder=New order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Supplier order +SuppliersOrders=Suppliers orders +SuppliersOrdersRunning=Current suppliers orders +CustomerOrder=Customer order +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderToBillShort=Delivered +StatusOrderToBill2Short=To bill +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Everything received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderToBill2=To bill +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=Everything received +ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +DraftOrWaitingApproved=Draft or approved not yet ordered +DraftOrWaitingShipped=Draft or validated not yet shipped +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +SearchOrder=Search order +SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order +ShipProduct=Ship product +Discount=Discount +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 +AddOrder=Create order +AddToMyOrders=Add to my orders +AddToOtherOrders=Add to other orders +AddToDraftOrders=Add to draft order +ShowOrder=Show order +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders +NoDraftOrders=No draft orders +OtherOrders=Other orders LastOrders=Last %s customer orders +LastCustomerOrders=Last %s customer orders +LastSupplierOrders=Last %s supplier orders +LastModifiedOrders=Last %s modified orders +LastClosedOrders=Last %s closed orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Supplier order's statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (net of tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed. +ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done. +ConfirmDeleteOrder=Are you sure you want to delete this order ? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s ? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status ? +ConfirmCancelOrder=Are you sure you want to cancel this order ? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s ? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +ClassifyBilled=Classify billed +ComptaCard=Accountancy card +DraftOrders=Draft orders +RelatedOrders=Related orders +RelatedCustomerOrders=Related customer orders +RelatedSupplierOrders=Related supplier orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. customer order +RefCustomerOrderShort=Ref. cust. order +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UseCustomerContactAsOrderRecipientIfExist=Use customer contact address if defined instead of third party address as order recipient address +RunningOrders=Orders on process +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +CloneOrder=Clone order +ConfirmCloneOrder=Are you sure you want to clone this order %s ? +DispatchSupplierOrder=Receiving supplier order %s +FirstApprovalAlreadyDone=First approval already done +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up supplier order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Supplier invoice contact +TypeContact_order_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_order_supplier_external_CUSTOMER=Supplier contact following-up order + +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Failed to load module file '%s' +Error_FailedToLoad_COMMANDE_ADDON_File=Failed to load module file '%s' +Error_OrderNotChecked=No orders to invoice selected +# Sources +OrderSource0=Commercial proposal +OrderSource1=Internet +OrderSource2=Mail campaign +OrderSource3=Phone compaign +OrderSource4=Fax campaign +OrderSource5=Commercial +OrderSource6=Store +QtyOrdered=Qty ordered +AddDeliveryCostLine=Add a delivery cost line indicating the weight of the order +# Documents models +PDFEinsteinDescription=A complete order model (logo...) +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete proforma invoice (logo…) +# Orders modes +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=EMail +OrderByWWW=Online +OrderByPhone=Phone +CreateInvoiceForThisCustomer=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/en_GB/other.lang b/htdocs/langs/en_GB/other.lang deleted file mode 100644 index c50a095e492..00000000000 --- a/htdocs/langs/en_GB/other.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - other -Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded -SeeModuleSetup=See setup of module %s diff --git a/htdocs/langs/en_GB/productbatch.lang b/htdocs/langs/en_GB/productbatch.lang index 53edc04d8c4..37ceaa49b38 100644 --- a/htdocs/langs/en_GB/productbatch.lang +++ b/htdocs/langs/en_GB/productbatch.lang @@ -1,11 +1,22 @@ -# Dolibarr language file - Source file is en_US - productbatch +# ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot/serial required) ProductStatusNotOnBatch=No (lot/serial not used) +ProductStatusOnBatchShort=Yes +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 +l_eatby=Eat-by date +l_sellby=Sell-by date DetailBatchNumber=Lot/Serial details DetailBatchFormat=Lot/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lot/Serial: %s +printEatby=Eat-by: %s +printSellby=Sell-by: %s +printQty=Qty: %d +AddDispatchBatchLine=Add a line for Shelf Life dispatching +BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/en_GB/stocks.lang b/htdocs/langs/en_GB/stocks.lang index 3a989d45e7d..7aeef1c9641 100644 --- a/htdocs/langs/en_GB/stocks.lang +++ b/htdocs/langs/en_GB/stocks.lang @@ -1,2 +1,140 @@ # Dolibarr language file - Source file is en_US - stocks -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +NewWarehouse=New warehouse / Stock area +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseOpened=Warehouse open +WarehouseClosed=Warehouse closed +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddOne=Add one +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +StocksByLotSerial=Stock by lot/serial +Movement=Movement +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ErrorWarehouseLabelRequired=Warehouse label is required +CorrectStock=Correct stock +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +StocksArea=Warehouses area +Location=Location +LocationSummary=Short name location +NumberOfDifferentProducts=Number of different products +NumberOfProducts=Total number of products +LastMovement=Last movement +LastMovements=Last movements +Units=Units +Unit=Unit +StockCorrection=Correct stock +StockTransfer=Stock transfer +StockMovement=Transfer +StockMovements=Stock transfers +LabelMovement=Movement label +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +TotalStock=Total in stock +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit +EnhancedValue=Value +PMPValue=Weighted average price +PMPValueShort=WAP +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a warehouse automatically when creating a user +IndependantSubProductStock=Product stock and subproduct stock are independant +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Stock dispatching +RuleForStockManagementDecrease=Rule for stock management decrease +RuleForStockManagementIncrease=Rule for stock management increase +DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation +DeStockOnValidateOrder=Decrease real stocks on customers orders validation +DeStockOnShipment=Decrease real stocks on shipment validation +ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation +ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving +ReStockOnDeleteInvoice=Increase real stocks on invoice deletion +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +PhysicalStock=Physical stock +RealStock=Real Stock +VirtualStock=Virtual stock +MininumStock=Minimum stock +StockUp=Stock up +MininumStockShort=Stock min +StockUpShort=Stock up +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +AverageUnitPricePMPShort=Weighted average input price +AverageUnitPricePMP=Weighted average input price +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value to sell +EstimatedStockValueSell=Value to Sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s ? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +LastWaitingSupplierOrders=Orders waiting for receptions +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ +UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +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 supplier +AlertOnly= Alerts only +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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 +MassStockMovement=Mass stock movement +SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". +RecordMovement=Record transfert +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/en_GB/suppliers.lang b/htdocs/langs/en_GB/suppliers.lang deleted file mode 100644 index 5213cec4e07..00000000000 --- a/htdocs/langs/en_GB/suppliers.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - suppliers -DenyingThisOrder=Deny this order diff --git a/htdocs/langs/en_GB/trips.lang b/htdocs/langs/en_GB/trips.lang deleted file mode 100644 index f5e6f1a92eb..00000000000 --- a/htdocs/langs/en_GB/trips.lang +++ /dev/null @@ -1,14 +0,0 @@ -# Dolibarr language file - Source file is en_US - trips -Trip=Expense report -Trips=Expense reports -TripsAndExpenses=Expenses reports -TripsAndExpensesStatistics=Expense reports statistics -TripCard=Expense report card -AddTrip=Create expense report -ListOfTrips=List of expense report -NewTrip=New expense report -DeleteTrip=Delete expense report -ConfirmDeleteTrip=Are you sure you want to delete this expense report ? -ListTripsAndExpenses=List of expense reports -ExpensesArea=Expense reports area -SearchATripAndExpense=Search an expense report diff --git a/htdocs/langs/en_IN/main.lang b/htdocs/langs/en_IN/main.lang index 7fbca74ca3d..1847a4b4ab1 100644 --- a/htdocs/langs/en_IN/main.lang +++ b/htdocs/langs/en_IN/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y diff --git a/htdocs/langs/en_NZ/main.lang b/htdocs/langs/en_NZ/main.lang index 93e9771e575..aaa245d3508 100644 --- a/htdocs/langs/en_NZ/main.lang +++ b/htdocs/langs/en_NZ/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y diff --git a/htdocs/langs/en_SA/main.lang b/htdocs/langs/en_SA/main.lang index f8402963091..8fee9b5f5d9 100644 --- a/htdocs/langs/en_SA/main.lang +++ b/htdocs/langs/en_SA/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=dd/MM/yyyy FormatDateShortJavaInput=dd/MM/yyyy FormatDateShortJQuery=dd/mm/yy FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y diff --git a/htdocs/langs/en_US/accountancy.lang b/htdocs/langs/en_US/accountancy.lang index b09dab7f764..c119a002641 100644 --- a/htdocs/langs/en_US/accountancy.lang +++ b/htdocs/langs/en_US/accountancy.lang @@ -1,6 +1,13 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 - +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? + Accounting=Accounting Globalparameters=Global parameters Chartofaccounts=Chart of accounts @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang old mode 100644 new mode 100755 index 6505aef89d8..caf52b28eea --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=Development VersionUnknown=Unknown VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Session ID SessionSaveHandler=Handler to save sessions SessionSavePath=Storage session localization @@ -56,6 +61,8 @@ UseSearchToSelectCompany=Use autocompletion fields to choose third parties inste ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) SearchFilter=Search filters options NumberOfKeyToSearch=Nbr of characters to trigger search: %s ViewFullDateActions=Show full dates events in the third sheet @@ -142,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -225,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -290,18 +296,20 @@ MenuHandlers=Menu handlers MenuAdmin=Menu editor DoNotUseInProduction=Do not use in production ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr's root directory %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version +UpdateServerOffline=Update server offline GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
@@ -380,10 +388,13 @@ ExtrafieldSelectList = Select from table ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button +ExtrafieldCheckBoxFromList= Checkbox from table +ExtrafieldLink=Link to an object ExtrafieldParamHelpselect=Parameters list have to be like key,value

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

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

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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) @@ -418,8 +429,8 @@ Module20Name=Proposals Module20Desc=Commercial proposal management Module22Name=Mass E-mailings Module22Desc=Mass E-mailing management -Module23Name= Energy -Module23Desc= Monitoring the consumption of energies +Module23Name=Energy +Module23Desc=Monitoring the consumption of energies Module25Name=Customer Orders Module25Desc=Customer order management Module30Name=Invoices @@ -480,30 +491,42 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social or fiscal taxes, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments +Module520Name=Loan +Module520Desc=Management of loans Module600Name=Notifications Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donations Module700Desc=Donation management +Module770Name=Expense reports +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=Mantis Module1200Desc=Mantis integration Module1400Name=Accounting Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Tags/Categories -Module1780Desc=Create tags/category on products, customers, suppliers, contacts or members +Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) Module2000Name=WYSIWYG editor Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices Module2300Name=Cron Module2300Desc=Scheduled job management Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -519,8 +542,8 @@ Module6000Name=Workflow Module6000Desc=Workflow management Module20000Name=Leave Requests management Module20000Desc=Declare and follow employees leaves requests -Module39000Name=Product batch -Module39000Desc=Batch or serial number, eat-by and sell-by date management on products +Module39000Name=Product lot +Module39000Desc=Lot or serial number, eat-by and sell-by date management on products Module50000Name=PayBox Module50000Desc=Module to offer an online payment page by credit card with PayBox Module50100Name=Point of sales @@ -537,8 +560,6 @@ Module59000Name=Margins Module59000Desc=Module to manage margins Module60000Name=Commissions Module60000Desc=Module to manage commissions -Module150010Name=Batch number, eat-by date and sell-by date -Module150010Desc=batch number, eat-by date and sell-by date management for product Permission11=Read customer invoices Permission12=Create/modify customer invoices Permission13=Unvalidate customer invoices @@ -558,7 +579,7 @@ Permission32=Create/modify products Permission34=Delete products Permission36=See/manage hidden products Permission38=Export products -Permission41=Read projects (shared project and projects i'm contact for) +Permission41=Read projects and tasks (shared project and projects i'm contact for). Can also enter time consumed on assigned tasks (timesheet) Permission42=Create/modify projects (shared project and projects i'm contact for) Permission44=Delete projects (shared project and projects i'm contact for) Permission61=Read interventions @@ -579,10 +600,10 @@ Permission86=Send customers orders Permission87=Close customers orders Permission88=Cancel customers orders Permission89=Delete customers orders -Permission91=Read social contributions and vat -Permission92=Create/modify social contributions and vat -Permission93=Delete social contributions and vat -Permission94=Export social contributions +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 @@ -600,9 +621,9 @@ Permission121=Read third parties linked to user Permission122=Create/modify third parties linked to user Permission125=Delete third parties linked to user Permission126=Export third parties -Permission141=Read projects (also private i am not contact for) -Permission142=Create/modify projects (also private i am not contact for) -Permission144=Delete projects (also private i am not contact for) +Permission141=Read all projects and tasks (also private projects i am not contact for) +Permission142=Create/modify all projects and tasks (also private projects i am not contact for) +Permission144=Delete all projects and tasks (also private projects i am not contact for) Permission146=Read providers Permission147=Read stats Permission151=Read standing orders @@ -696,6 +717,11 @@ Permission510=Read Salaries Permission512=Create/modify salaries Permission514=Delete salaries Permission517=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 @@ -704,6 +730,13 @@ Permission538=Export services Permission701=Read donations Permission702=Create/modify donations Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports Permission1001=Read stocks Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -721,6 +754,7 @@ Permission1185=Approve supplier orders Permission1186=Order supplier orders Permission1187=Acknowledge receipt of supplier orders Permission1188=Delete supplier orders +Permission1190=Approve (second approval) supplier orders Permission1201=Get result of an export Permission1202=Create/Modify an export Permission1231=Read supplier invoices @@ -757,6 +791,7 @@ Permission55001=Read polls Permission55002=Create/modify polls Permission59001=Read commercial margins Permission59002=Define commercial margins +Permission59003=Read every user margin DictionaryCompanyType=Thirdparties type DictionaryCompanyJuridicalType=Juridical kinds of thirdparties DictionaryProspectLevel=Prospect potential level @@ -766,7 +801,7 @@ DictionaryCountry=Countries DictionaryCurrency=Currencies DictionaryCivility=Civility title DictionaryActions=Type of agenda events -DictionarySocialContributions=Social contributions types +DictionarySocialContributions=Social or fiscal taxes types DictionaryVAT=VAT Rates or Sales Tax Rates DictionaryRevenueStamp=Amount of revenue stamps DictionaryPaymentConditions=Payment terms @@ -783,6 +818,9 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status +DictionaryHolidayTypes=Type of leaves SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -891,7 +929,8 @@ MessageLogin=Login page message PermanentLeftSearchForm=Permanent search form on left menu DefaultLanguage=Default language to use (language code) EnableMultilangInterface=Enable multilingual interface -EnableShowLogo=Show logo on left menu +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) SystemSuccessfulyUpdated=Your system has been updated successfully CompanyInfo=Company/foundation information CompanyIds=Company/foundation identities @@ -901,13 +940,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -982,14 +1022,14 @@ NoEventOrNoAuditSetup=No security event has been recorded yet. This can be norma NoEventFoundWithCriteria=No security event has been found for such search criterias. SeeLocalSendMailSetup=See your local sendmail setup BackupDesc=To make a complete backup of Dolibarr, you must: -BackupDesc2=* Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). -BackupDesc3=* Save content of your database into a dump file. For this, you can use following assistant. +BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). +BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. BackupDescX=Archived directory should be stored in a secure place. BackupDescY=The generated dump file should be stored in a secure place. BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one RestoreDesc=To restore a Dolibarr backup, you must: -RestoreDesc2=* Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). -RestoreDesc3=* Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation. Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). +RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. RestoreMySQL=MySQL import ForcedToByAModule= This rule is forced to %s by an activated module PreviousDumpFiles=Available database backup dump files @@ -1016,6 +1056,8 @@ MAIN_PROXY_PASS=Password to use the proxy server DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. ExtraFields=Complementary attributes ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Complementary attributes (thirdparty) ExtraFieldsContacts=Complementary attributes (contact/address) ExtraFieldsMember=Complementary attributes (member) @@ -1040,7 +1082,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s%s followed by ModuleCompanyCodePanicum=Return an empty accountancy code. ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. UseNotifications=Use notifications -NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one third party at time.
* or by setting a global target email address on module setup page. +NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. ModelModules=Documents templates DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) WatermarkOnDraft=Watermark on draft document @@ -1143,6 +1185,13 @@ UseOptionLineIfNoQuantity=A line of product/service with a zero amount is consid 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 +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Free text on price requests suppliers +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request ##### Orders ##### OrdersSetup=Order management setup OrdersNumberingModules=Orders numbering models @@ -1292,6 +1341,8 @@ LDAPFieldCountry=Country LDAPFieldCountryExample=Example : c LDAPFieldDescription=Description LDAPFieldDescriptionExample=Example : description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example : publicnote LDAPFieldGroupMembers= Group members LDAPFieldGroupMembersExample= Example : uniqueMember LDAPFieldBirthdate=Birthdate @@ -1338,12 +1389,14 @@ NumberOfProductShowInSelect=Max number of products in combos select lists (0=no ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms ModifyProductDescAbility=Personalization of product descriptions in forms ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualization of products descriptions in the thirdparty language UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1374,6 +1427,8 @@ 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 @@ -1388,6 +1443,7 @@ RSSUrlExample=An interesting RSS feed MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Sender EMail (From) for emails sent for notifications @@ -1455,7 +1511,7 @@ ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? DeleteLine=Delete line ConfirmDeleteLine=Are you sure you want to delete this line ? ##### Tax ##### -TaxSetup=Taxes, social contributions and dividends module setup +TaxSetup=Taxes, social or fiscal taxes and dividends module setup OptionVatMode=VAT due OptionVATDefault=Cash basis OptionVATDebitOption=Accrual basis @@ -1491,10 +1547,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Default account to use to receive cash payments CashDeskBankAccountForCheque= Default account to use to receive payments by cheque CashDeskBankAccountForCB= Default account to use to receive payments by credit cards -CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale +CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled -StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Bookmark module setup @@ -1505,6 +1561,15 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiProductionMode=Enable production mode +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +ApiKey=Key for API ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1520,6 +1585,7 @@ SuppliersSetup=Supplier module setup SuppliersCommandModel=Complete template of supplier order (logo...) SuppliersInvoiceModel=Complete template of supplier invoice (logo...) SuppliersInvoiceNumberingModel=Supplier invoices numbering models +IfSetToYesDontForgetPermission=If set to yes, 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 @@ -1533,6 +1599,7 @@ ProjectsSetup=Project module setup ProjectsModelModule=Project reports document model TasksNumberingModules=Tasks numbering module TaskModelModule=Tasks reports document model +UseSearchToSelectProject=Use autocompletion fields to choose project (instead of using a list box) ##### ECM (GED) ##### ECMSetup = GED Setup ECMAutoTree = Automatic tree folder and document @@ -1546,10 +1613,10 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited -MAIN_APPLICATION_TITLE=Force visible name of application +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 @@ -1560,5 +1627,26 @@ SortOrder=Sort order Format=Format TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. 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". +ListOfNotificationsPerContact=List of notifications per contact* +ListOfFixedNotifications=List of fixed notifications +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build database backup dump file +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 only manual steps a privileged user can do. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes +BackgroundColor=Background color +TopMenuBackgroundColor=Background color for Top menu +LeftMenuBackgroundColor=Background color for Left menu +BackgroundTableTitleColor=Background color for table title line +BackgroundTableLineOddColor=Background color for odd table lines +BackgroundTableLineEvenColor=Background color for even table lines diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 3a3f24e2dc1..ac30b5685be 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -55,7 +55,6 @@ OrderBilledInDolibarr=Order %s classified billed OrderApprovedInDolibarr=Order %s approved OrderRefusedInDolibarr=Order %s refused OrderBackToDraftInDolibarr=Order %s go back to draft status -OrderCanceledInDolibarr=Order %s canceled ProposalSentByEMail=Commercial proposal %s sent by EMail OrderSentByEMail=Customer order %s sent by EMail InvoiceSentByEMail=Customer invoice %s sent by EMail @@ -95,4 +94,6 @@ WorkingDaysRange=Working days range AddEvent=Create event MyAvailability=My availability ActionType=Event type -DateActionBegin=Start event date \ No newline at end of file +DateActionBegin=Start event date +CloneAction=Clone event +ConfirmCloneEvent=Are you sure you want to clone the event %s ? diff --git a/htdocs/langs/en_US/askpricesupplier.lang b/htdocs/langs/en_US/askpricesupplier.lang new file mode 100644 index 00000000000..882b2fc2290 --- /dev/null +++ b/htdocs/langs/en_US/askpricesupplier.lang @@ -0,0 +1,57 @@ +# Dolibarr language file - Source file is en_US - askpricesupplier +AskPriceSupplier=Supplier commercial proposals +askpricesupplierDESC=Manage price requests to suppliers +askpricesupplierMENU_LEFT_TITLE=Price request supplier +askpricesupplierMENU_LEFT_TITLE_NEW=New request +askpricesupplierMENU_LEFT_TITLE_LIST=List +CommRequest=Price request +CommRequests=Price requests +SearchRequest=Find a request +DraftRequests=Draft requests +LastModifiedRequests=Last %s modified price requests +RequestsOpened=Open price requests +AskPriceSupplierArea=Area price requests suppliers +Askpricesupplier=Price request supplier +NewAskPrice=New price request +NewAsk=New request +ShowAskpricesupplier=Show price request +AddAskPriceSupplier=Create a price request +AskPriceSupplierRefFourn=Supplier ref +AskPriceSupplierDate=Delivery date +AskPriceSupplierRefFournNotice=Before closing to "Accepted", think to grasp suppliers references. +RelatedAskPriceSupplier=Related price requests suppliers +ConfirmValidateAsk=Are you sure you want to validate this price request under name %s ? +DateAsk=Date of request +DeleteAsk=Delete request +ValidateAsk=Validate request +AddAsk=Create a request +AskpricesupplierDraft=Drafts +AskpricesupplierOpened=Open +AskpricesupplierStatusDraft=Draft (needs to be validated) +AskpricesupplierStatusValidated=Validated (request is open) +AskpricesupplierStatusOpened=Validated (request is open) +AskpricesupplierStatusClosed=Closed +AskpricesupplierStatusSigned=Accepted +AskpricesupplierStatusNotSigned=Refused +AskpricesupplierStatusDraftShort=Draft +AskpricesupplierStatusValidatedShort=Validated +AskpricesupplierStatusOpenedShort=Open +AskpricesupplierStatusClosedShort=Closed +AskpricesupplierStatusSignedShort=Accepted +AskpricesupplierStatusNotSignedShort=Refused +CopyAskFrom=Create price request by copying existing a request +CreateEmptyAsk=Create blank request +CloneAsk=Clone price 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 +AskPriceSupplierCard=Request card +ConfirmDeleteAsk=Are you sure you want to delete this price request ? +ActionsOnAskPriceSupplier=Events on price request +DocModelAuroreDescription=A complete request model (logo...) +CommercialAsk=Price request +DefaultModelAskPriceSupplierCreate=Default model creation +DefaultModelAskPriceSupplierToBill=Default template when closing a price request (accepted) +DefaultModelAskPriceSupplierClosed=Default template when closing a price request (refused) +ListOfAskPriceSupplier=Liste des demandes de prix fournisseurs diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index dee1f219614..d12f45387d6 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -8,6 +8,7 @@ FinancialAccount=Account FinancialAccounts=Accounts BankAccount=Bank account BankAccounts=Bank accounts +ShowAccount=Show Account AccountRef=Financial account ref AccountLabel=Financial account label CashAccount=Cash account @@ -32,7 +33,11 @@ AllTime=From start Reconciliation=Reconciliation RIB=Bank Account Number IBAN=IBAN number +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT number +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Standing orders StandingOrder=Standing order Withdrawals=Withdrawals @@ -89,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record @@ -108,7 +113,7 @@ CustomerInvoicePayment=Customer payment CustomerInvoicePaymentBack=Customer payment back SupplierInvoicePayment=Supplier payment WithdrawalPayment=Withdrawal payment -SocialContributionPayment=Social contribution payment +SocialContributionPayment=Social/fiscal tax payment FinancialAccountJournal=Financial account journal BankTransfer=Bank transfer BankTransfers=Bank transfers @@ -147,7 +152,7 @@ BackToAccount=Back to account ShowAllAccounts=Show for all accounts FutureTransaction=Transaction in futur. No way to conciliate. SelectChequeTransactionAndGenerate=Select/filter checks to include into the check deposit receipt and click on "Create". -InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value (such as, YYYYMM) +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 conciliate? ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 10a8c5fecc4..4f1512a431d 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -178,7 +178,7 @@ NumberOfBills=Nb of invoices NumberOfBillsByMonth=Nb of invoices by month AmountOfBills=Amount of invoices AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) -ShowSocialContribution=Show social contribution +ShowSocialContribution=Show social/fiscal tax ShowBill=Show invoice ShowInvoice=Show invoice ShowInvoiceReplace=Show replacing invoice @@ -270,7 +270,7 @@ BillAddress=Bill address HelpEscompte=This discount is a discount granted to customer because its payment was made before term. HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose. HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example) -IdSocialContribution=Social contribution id +IdSocialContribution=Social/fiscal tax payment id PaymentId=Payment id InvoiceId=Invoice id InvoiceRef=Invoice ref. @@ -294,8 +294,11 @@ TotalOfTwoDiscountMustEqualsOriginal=Total of two new discount must be equal to ConfirmRemoveDiscount=Are you sure you want to remove this discount ? RelatedBill=Related invoice RelatedBills=Related invoices +RelatedCustomerInvoices=Related customer invoices +RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -349,6 +352,7 @@ ChequeNumber=Check N° ChequeOrTransferNumber=Check/Transfer N° ChequeMaker=Check transmitter ChequeBank=Bank of Check +CheckBank=Check NetToBePaid=Net to be paid PhoneNumber=Tel FullPhoneNumber=Telephone @@ -389,7 +393,7 @@ DisabledBecausePayments=Not possible since there are some payments CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid ExpectedToPay=Expected payment PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". ToMakePayment=Pay @@ -411,3 +415,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up s TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +# Situation invoices +InvoiceFirstSituationAsk=First situation invoice +InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. +InvoiceSituation=Situation invoice +InvoiceSituationAsk=Invoice following the situation +InvoiceSituationDesc=Create a new situation following an already existing one +SituationAmount=Situation invoice amount(net) +SituationDeduction=Situation subtraction +Progress=Progress +ModifyAllLines=Modify all lines +CreateNextSituationInvoice=Create next situation +NotLastInCycle=This invoice in not the last in cycle and must not be modified. +DisabledBecauseNotLastInCycle=The next situation already exists. +DisabledBecauseFinal=This situation is final. +CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +NoSituations=No open situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang index bf118b9b88e..b61cf77019f 100644 --- a/htdocs/langs/en_US/boxes.lang +++ b/htdocs/langs/en_US/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices @@ -94,3 +94,4 @@ BoxProductDistributionFor=Distribution of %s for %s ForCustomersInvoices=Customers invoices ForCustomersOrders=Customers orders ForProposals=Proposals +LastXMonthRolling=The last %s month rolling diff --git a/htdocs/langs/en_US/categories.lang b/htdocs/langs/en_US/categories.lang index 6694bd3a327..9c3a956727e 100644 --- a/htdocs/langs/en_US/categories.lang +++ b/htdocs/langs/en_US/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -107,4 +107,4 @@ CategoriesSetup=Tags/categories setup CategorieRecursiv=Link with parent tag/category automatically CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory AddProductServiceIntoCategory=Add the following product/service -ShowCategory=Show tag/category \ No newline at end of file +ShowCategory=Show tag/category diff --git a/htdocs/langs/en_US/commercial.lang b/htdocs/langs/en_US/commercial.lang index 390a7f837e8..7acdc7bd7e6 100644 --- a/htdocs/langs/en_US/commercial.lang +++ b/htdocs/langs/en_US/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Contact done DateActionPlanned=Date event planned for DateActionDone=Date event done ActionAskedBy=Event reported by -ActionAffectedTo=Event owned by +ActionAffectedTo=Event assigned to ActionDoneBy=Event done by ActionUserAsk=Reported by ErrorStatusCantBeZeroIfStarted=If field 'Date done' is filled, action is started (or finished), so field 'Status' can't be 0%%. diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang index 7bfaf799f3a..a95eb99012d 100644 --- a/htdocs/langs/en_US/companies.lang +++ b/htdocs/langs/en_US/companies.lang @@ -30,6 +30,7 @@ ThirdPartyContact=Third party contact/address StatusContactValidated=Status of contact/address Company=Company CompanyName=Company name +AliasNames=Alias names (commercial, trademark, ...) Companies=Companies CountryIsInEEC=Country is inside European Economic Community ThirdPartyName=Third party name @@ -410,5 +411,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact \ No newline at end of file +SearchThirdparty=Search third party +SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. \ No newline at end of file diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang index 116b2c52fa8..09858bc092f 100644 --- a/htdocs/langs/en_US/compta.lang +++ b/htdocs/langs/en_US/compta.lang @@ -56,23 +56,23 @@ VATCollected=VAT collected ToPay=To pay ToGet=To get back SpecialExpensesArea=Area for all special payments -TaxAndDividendsArea=Tax, social contributions and dividends area -SocialContribution=Social contribution -SocialContributions=Social contributions +TaxAndDividendsArea=Sale taxes, social/fiscal taxes contributions and dividends area +SocialContribution=Social or fiscal tax +SocialContributions=Social or fiscal taxes MenuSpecialExpenses=Special expenses MenuTaxAndDividends=Taxes and dividends MenuSalaries=Salaries -MenuSocialContributions=Social contributions -MenuNewSocialContribution=New contribution -NewSocialContribution=New social contribution -ContributionsToPay=Contributions to pay +MenuSocialContributions=Social/fiscal taxes +MenuNewSocialContribution=New tax payment +NewSocialContribution=New social/fiscal tax +ContributionsToPay=Social/fiscal taxes to pay AccountancyTreasuryArea=Accountancy/Treasury area AccountancySetup=Accountancy setup NewPayment=New payment Payments=Payments PaymentCustomerInvoice=Customer invoice payment PaymentSupplierInvoice=Supplier invoice payment -PaymentSocialContribution=Social contribution payment +PaymentSocialContribution=Social/fiscal tax payment PaymentVat=VAT payment PaymentSalary=Salary payment ListPayment=List of payments @@ -91,7 +91,7 @@ LT1PaymentES=RE Payment LT1PaymentsES=RE Payments VATPayment=VAT Payment VATPayments=VAT Payments -SocialContributionsPayments=Social contributions payments +SocialContributionsPayments=Social/fiscal taxes payments ShowVatPayment=Show VAT payment TotalToPay=Total to pay TotalVATReceived=Total VAT received @@ -116,11 +116,11 @@ NewCheckDepositOn=Create receipt for deposit on account: %s NoWaitingChecks=No checks waiting for deposit. DateChequeReceived=Check reception date NbOfCheques=Nb of checks -PaySocialContribution=Pay a social contribution -ConfirmPaySocialContribution=Are you sure you want to classify this social contribution as paid? -DeleteSocialContribution=Delete a social contribution -ConfirmDeleteSocialContribution=Are you sure you want to delete this social contribution? -ExportDataset_tax_1=Social contributions and payments +PaySocialContribution=Pay a social/fiscal tax +ConfirmPaySocialContribution=Are you sure you want to classify this social or fiscal tax as paid? +DeleteSocialContribution=Delete a social or fiscal tax payment +ConfirmDeleteSocialContribution=Are you sure you want to delete this social/fiscal tax payment? +ExportDataset_tax_1=Social and fiscal taxes and payments CalcModeVATDebt=Mode %sVAT on commitment accounting%s. CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. CalcModeDebt=Mode %sClaims-Debts%s said Commitment accounting. @@ -198,10 +198,10 @@ CalculationRuleDescSupplier=according to supplier, choose appropriate method to TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). CalculationMode=Calculation mode AccountancyJournal=Accountancy code journal -ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT +ACCOUNTING_VAT_SOLD_ACCOUNT=Default accountancy code for collecting VAT ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties -CloneTax=Clone a social contribution -ConfirmCloneTax=Confirm the clone of a social contribution +CloneTax=Clone a social/fiscal tax +ConfirmCloneTax=Confirm the clone of a social/fiscal tax payment CloneTaxForNextMonth=Clone it for next month diff --git a/htdocs/langs/en_US/contracts.lang b/htdocs/langs/en_US/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/en_US/contracts.lang +++ b/htdocs/langs/en_US/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expired ServiceStatusClosed=Closed ServicesLegend=Services legend Contracts=Contracts +ContractsAndLine=Contracts and line of contracts Contract=Contract NoContracts=No contracts MenuServices=Services diff --git a/htdocs/langs/en_US/cron.lang b/htdocs/langs/en_US/cron.lang index bba9584012a..5369859bb8b 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -4,18 +4,18 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required OrToLaunchASpecificJob=Or to check and launch a specific job KeyForCronAccess=Security key for URL to launch cron jobs FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use crontab to run Command line each minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run Command line each minutes +CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes +CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes # Menu CronJobs=Scheduled jobs CronListActive=List of active/scheduled jobs @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -76,13 +76,14 @@ CronMethodHelp=The object method to launch.
For exemple to fetch method of CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef CronCommandHelp=The system command line to execute. CronCreateJob=Create new Scheduled Job +CronFrom=From # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/en_US/donations.lang b/htdocs/langs/en_US/donations.lang index 77d91ad801d..8b4c2ca8756 100644 --- a/htdocs/langs/en_US/donations.lang +++ b/htdocs/langs/en_US/donations.lang @@ -6,6 +6,8 @@ Donor=Donor Donors=Donors AddDonation=Create a donation NewDonation=New donation +DeleteADonation=Delete a donation +ConfirmDeleteADonation=Are you sure you want to delete this donation ? ShowDonation=Show donation DonationPromise=Gift promise PromisesNotValid=Not validated promises @@ -21,6 +23,8 @@ DonationStatusPaid=Donation received DonationStatusPromiseNotValidatedShort=Draft DonationStatusPromiseValidatedShort=Validated DonationStatusPaidShort=Received +DonationTitle=Donation receipt +DonationDatePayment=Payment date ValidPromess=Validate promise DonationReceipt=Donation receipt BuildDonationReceipt=Build receipt @@ -36,3 +40,4 @@ 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 diff --git a/htdocs/langs/en_US/ecm.lang b/htdocs/langs/en_US/ecm.lang index bbbf2d3a046..96995adc8ac 100644 --- a/htdocs/langs/en_US/ecm.lang +++ b/htdocs/langs/en_US/ecm.lang @@ -35,7 +35,7 @@ ECMSearchByEntity=Search by object ECMSectionOfDocuments=Directories of documents ECMTypeManual=Manual ECMTypeAuto=Automatic -ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Documents linked to social or fiscal taxes ECMDocsByThirdParties=Documents linked to third parties ECMDocsByProposals=Documents linked to proposals ECMDocsByOrders=Documents linked to customers orders diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang old mode 100644 new mode 100755 index fbfd55b9a9a..8b935e8cc18 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -91,6 +91,8 @@ ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup ErrorBadMask=Error on mask ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number ErrorBadMaskBadRazMonth=Error, bad reset value +ErrorMaxNumberReachForThisMask=Max number reach for this mask +ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Error. Select at least one entry. ErrorProductWithRefNotExist=Product with reference '%s' don't exist ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated @@ -138,6 +140,37 @@ ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank transaction that was conciliated ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Payed +ErrorPriceExpression1=Cannot assign to constant '%s' +ErrorPriceExpression2=Cannot redefine built-in function '%s' +ErrorPriceExpression3=Undefined variable '%s' in function definition +ErrorPriceExpression4=Illegal character '%s' +ErrorPriceExpression5=Unexpected '%s' +ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) +ErrorPriceExpression8=Unexpected operator '%s' +ErrorPriceExpression9=An unexpected error occured +ErrorPriceExpression10=Iperator '%s' lacks operand +ErrorPriceExpression11=Expecting '%s' +ErrorPriceExpression14=Division by zero +ErrorPriceExpression17=Undefined variable '%s' +ErrorPriceExpression19=Expression not found +ErrorPriceExpression20=Empty expression +ErrorPriceExpression21=Empty result '%s' +ErrorPriceExpression22=Negative result '%s' +ErrorPriceExpressionInternal=Internal error '%s' +ErrorPriceExpressionUnknown=Unknown error '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on a product 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 +ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined @@ -158,3 +191,4 @@ WarningNotRelevant=Irrelevant operation for this dataset WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters +WarningSomeLinesWithNullHourlyRate=Some times were recorded by users when their hourly rate was not defined. A value of 0 was used but this may result in wrong valuation of time spent. diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index f5b87fefb08..bb337c6c67e 100644 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -3,7 +3,7 @@ HRM=HRM Holidays=Leaves CPTitreMenu=Leaves MenuReportMonth=Monthly statement -MenuAddCP=Make a leave request +MenuAddCP=New leave request NotActiveModCP=You must enable the module Leaves to view this page. NotConfigModCP=You must configure the module Leaves to view this page. To do this, click here . NoCPforUser=You don't have any available day. @@ -71,7 +71,7 @@ MotifCP=Reason UserCP=User ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. AddEventToUserOkCP=The addition of the exceptional leave has been completed. -MenuLogCP=View logs of leave requests +MenuLogCP=View change logs LogCP=Log of updates of available vacation days ActionByCP=Performed by UserUpdateCP=For the user @@ -93,6 +93,7 @@ ValueOptionCP=Value GroupToValidateCP=Group with the ability to approve leave requests ConfirmConfigCP=Validate the configuration LastUpdateCP=Last automatic update of leaves allocation +MonthOfLastMonthlyUpdate=Month of last automatic update of leaves allocation UpdateConfCPOK=Updated successfully. ErrorUpdateConfCP=An error occurred during the update, please try again. AddCPforUsers=Please add the balance of leaves allocation of users by clicking here. @@ -127,6 +128,7 @@ ErrorMailNotSend=An error occurred while sending email: NoCPforMonth=No leave this month. nbJours=Number days TitleAdminCP=Configuration of Leaves +NoticePeriod=Notice period #Messages Hello=Hello HolidaysToValidate=Validate leave requests @@ -139,10 +141,11 @@ HolidaysRefused=Request denied HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason : HolidaysCanceled=Canceled leaved request HolidaysCanceledBody=Your leave request for %s to %s has been canceled. -Permission20000=Read you own leave requests -Permission20001=Create/modify your leave requests -Permission20002=Create/modify leave requests for everybody +Permission20001=Read you own leave requests +Permission20002=Create/modify your leave requests Permission20003=Delete leave requests -Permission20004=Setup users available vacation days -Permission20005=Review log of modified leave requests -Permission20006=Read leaves monthly report +Permission20004=Read leave requests for everybody +Permission20005=Create/modify leave requests for everybody +Permission20006=Admin leave requests (setup and update balance) +NewByMonth=Added per month +GoIntoDictionaryHolidayTypes=Go into Home - Setup - Dictionaries - Type of leaves to setup the different types of leaves. \ No newline at end of file diff --git a/htdocs/langs/en_US/incoterm.lang b/htdocs/langs/en_US/incoterm.lang new file mode 100644 index 00000000000..4fce5519c3a --- /dev/null +++ b/htdocs/langs/en_US/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) \ No newline at end of file diff --git a/htdocs/langs/en_US/install.lang b/htdocs/langs/en_US/install.lang index 7de123d5ea3..0c61ce35e2e 100644 --- a/htdocs/langs/en_US/install.lang +++ b/htdocs/langs/en_US/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values @@ -211,4 +212,4 @@ MigrationCategorieAssociation=Migration of categories MigrationEvents=Migration of events to add event owner into assignement table ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options \ No newline at end of file +HideNotAvailableOptions=Hide not available options diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang index c79da05364e..67d4f61d9f1 100644 --- a/htdocs/langs/en_US/interventions.lang +++ b/htdocs/langs/en_US/interventions.lang @@ -50,4 +50,4 @@ ArcticNumRefModelError=Failed to activate PacificNumRefModelDesc1=Return numero with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 PacificNumRefModelError=An intervention card starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. PrintProductsOnFichinter=Print products on intervention card -PrintProductsOnFichinterDetails=forinterventions generated from orders +PrintProductsOnFichinterDetails=interventions generated from orders diff --git a/htdocs/langs/en_US/languages.lang b/htdocs/langs/en_US/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/en_US/languages.lang +++ b/htdocs/langs/en_US/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/en_US/loan.lang b/htdocs/langs/en_US/loan.lang new file mode 100644 index 00000000000..e082f166959 --- /dev/null +++ b/htdocs/langs/en_US/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default \ No newline at end of file diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang index 850fe3d045e..9d9b1e24c51 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -128,6 +128,7 @@ TagCheckMail=Track mail opening TagUnsubscribe=Unsubscribe link TagSignature=Signature sending user TagMailtoEmail=Recipient EMail +NoEmailSentBadSenderOrRecipientEmail=No email sent. Bad sender or recipient email. Verify user profile. # Module Notifications Notifications=Notifications NoNotificationsWillBeSent=No email notifications are planned for this event and company @@ -139,3 +140,5 @@ ListOfNotificationsDone=List all email notifications sent MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. +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 diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 083154f5936..66de0fe3eee 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -14,6 +14,7 @@ FormatDateShortJava=MM/dd/yyyy FormatDateShortJavaInput=MM/dd/yyyy FormatDateShortJQuery=mm/dd/yy FormatDateShortJQueryInput=mm/dd/yy +FormatHourShortJQuery=HH:MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y @@ -56,7 +57,7 @@ ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback change ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. -ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social/fiscal taxes type defined for country '%s'. ErrorFailedToSaveFile=Error, failed to save file. SetDate=Set date SelectDate=Select a date @@ -140,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -157,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -217,7 +220,9 @@ Next=Next Cards=Cards Card=Card Now=Now +HourStart=Start hour Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -238,6 +243,8 @@ DatePlanShort=Date planed DateRealShort=Date real. DateBuild=Report build date DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) DurationYear=year DurationMonth=month DurationWeek=week @@ -294,7 +301,8 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -PriceUTTC=U.P. +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=U.P. (inc. tax) Amount=Amount AmountInvoice=Invoice amount AmountPayment=Payment amount @@ -331,6 +339,7 @@ IncludedVAT=Included tax HT=Net of tax TTC=Inc. tax VAT=Sales tax +VATs=Sales taxes LT1ES=RE LT2ES=IRPF VATRate=Tax Rate @@ -403,6 +412,10 @@ OtherInformations=Other informations Quantity=Quantity Qty=Qty ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -411,7 +424,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -521,6 +534,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -667,6 +681,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -687,6 +702,14 @@ XMoreLines=%s line(s) hidden PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +ShowTransaction=Show transaction +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -716,3 +739,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/en_US/margins.lang b/htdocs/langs/en_US/margins.lang index 0cf9bc34410..bc7446f51f9 100644 --- a/htdocs/langs/en_US/margins.lang +++ b/htdocs/langs/en_US/margins.lang @@ -16,6 +16,7 @@ MarginDetails=Margin details ProductMargins=Product margins CustomerMargins=Customer margins SalesRepresentativeMargins=Sales representative margins +UserMargins=User margins ProductService=Product or Service AllProducts=All products and services ChooseProduct/Service=Choose product or service diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang index 3593e4c879f..daab8dcc3e5 100644 --- a/htdocs/langs/en_US/members.lang +++ b/htdocs/langs/en_US/members.lang @@ -199,7 +199,8 @@ Entreprises=Companies DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page http://wiki.dolibarr.org/index.php/Subscribe.
To pay using a Credit Card or Paypal, click on button at bottom of this page.
ByProperties=By characteristics MembersStatisticsByProperties=Members statistics by characteristics -MembersByNature=Members by nature +MembersByNature=This screen show you statistics on members by nature. +MembersByRegion=This screen show you statistics on members by region. VATToUseForSubscriptions=VAT rate to use for subscriptions NoVatOnSubscription=No TVA for subscriptions MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index 27b6cda3a3e..e418b5ec2b9 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated StatusOrderSentShort=In process StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Order sent +StatusOrderOnProcessShort=Ordered StatusOrderProcessedShort=Processed StatusOrderToBillShort=Delivered StatusOrderToBill2Short=To bill @@ -41,7 +41,8 @@ StatusOrderReceivedAllShort=Everything received StatusOrderCanceled=Canceled StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Validated -StatusOrderOnProcess=Order sent - Standby reception +StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Processed StatusOrderToBill=Delivered StatusOrderToBill2=To bill @@ -58,11 +59,13 @@ MenuOrdersToBill=Orders delivered MenuOrdersToBill2=Billable orders SearchOrder=Search order SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Ship product Discount=Discount CreateOrder=Create Order RefuseOrder=Refuse order -ApproveOrder=Accept order +ApproveOrder=Approve order +Approve2Order=Approve order (second level) ValidateOrder=Validate order UnvalidateOrder=Unvalidate order DeleteOrder=Delete order @@ -72,11 +75,14 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders -LastOrders=Last %s orders +LastOrders=Last %s customer orders +LastCustomerOrders=Last %s customer orders +LastSupplierOrders=Last %s supplier orders LastModifiedOrders=Last %s modified orders LastClosedOrders=Last %s closed orders AllOrders=All orders @@ -100,6 +106,8 @@ ClassifyBilled=Classify billed ComptaCard=Accountancy card DraftOrders=Draft orders RelatedOrders=Related orders +RelatedCustomerOrders=Related customer orders +RelatedSupplierOrders=Related supplier orders OnProcessOrders=In process orders RefOrder=Ref. order RefCustomerOrder=Ref. customer order @@ -116,6 +124,7 @@ PaymentOrderRef=Payment of order %s CloneOrder=Clone order ConfirmCloneOrder=Are you sure you want to clone this order %s ? DispatchSupplierOrder=Receiving supplier order %s +FirstApprovalAlreadyDone=First approval already done ##### Types de contacts ##### TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order TypeContact_commande_internal_SHIPPING=Representative following-up shipping diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index 1e3a7f038ff..83cb5c7e428 100644 --- a/htdocs/langs/en_US/other.lang +++ b/htdocs/langs/en_US/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -47,7 +48,7 @@ Notify_PROJECT_CREATE=Project creation Notify_TASK_CREATE=Task created Notify_TASK_MODIFY=Task modified Notify_TASK_DELETE=Task deleted -SeeModuleSetup=See module setup +SeeModuleSetup=See setup of module %s NbOfAttachedFiles=Number of attached files/documents TotalSizeOfAttachedFiles=Total size of attached files/documents MaxSize=Maximum size @@ -60,6 +61,7 @@ PredefinedMailTestHtml=This is a test mail (the word test must be in bold PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ @@ -169,6 +171,7 @@ EMailTextInvoiceValidated=The invoice %s has been validated. EMailTextProposalValidated=The proposal %s has been validated. EMailTextOrderValidated=The order %s has been validated. EMailTextOrderApproved=The order %s has been approved. +EMailTextOrderValidatedBy=The order %s has been recorded by %s. EMailTextOrderApprovedBy=The order %s has been approved by %s. EMailTextOrderRefused=The order %s has been refused. EMailTextOrderRefusedBy=The order %s has been refused by %s. @@ -200,6 +203,8 @@ NewKeyWillBe=Your new key to login to software will be ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. +IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/en_US/printing.lang b/htdocs/langs/en_US/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/en_US/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/en_US/printipp.lang b/htdocs/langs/en_US/printipp.lang deleted file mode 100644 index 835e6827f12..00000000000 --- a/htdocs/langs/en_US/printipp.lang +++ /dev/null @@ -1,14 +0,0 @@ -# Dolibarr language file - Source file is en_US - printipp -PrintIPPSetup=Setup of Direct Print module -PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. -PRINTIPP_ENABLED=Show "Direct print" icon in document lists -PRINTIPP_HOST=Print server -PRINTIPP_PORT=Port -PRINTIPP_USER=Login -PRINTIPP_PASSWORD=Password -NoPrinterFound=No printers found (check your CUPS setup) -FileWasSentToPrinter=File %s was sent to printer -NoDefaultPrinterDefined=No default printer defined -DefaultPrinter=Default printer -Printer=Printer -CupsServer=CUPS Server diff --git a/htdocs/langs/en_US/productbatch.lang b/htdocs/langs/en_US/productbatch.lang index 45263681965..37ceaa49b38 100644 --- a/htdocs/langs/en_US/productbatch.lang +++ b/htdocs/langs/en_US/productbatch.lang @@ -1,21 +1,22 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Use batch/serial number -ProductStatusOnBatch=Yes (Batch/serial required) -ProductStatusNotOnBatch=No (Batch/serial not used) +ManageLotSerial=Use lot/serial number +ProductStatusOnBatch=Yes (lot/serial required) +ProductStatusNotOnBatch=No (lot/serial not used) ProductStatusOnBatchShort=Yes ProductStatusNotOnBatchShort=No -Batch=Batch/Serial -atleast1batchfield=Eat-by date or Sell-by date or Batch number -batch_number=Batch/Serial number +Batch=Lot/Serial +atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number +batch_number=Lot/Serial number +BatchNumberShort=Lot/Serial l_eatby=Eat-by date l_sellby=Sell-by date -DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) -printBatch=Batch: %s +DetailBatchNumber=Lot/Serial details +DetailBatchFormat=Lot/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) +printBatch=Lot/Serial: %s printEatby=Eat-by: %s printSellby=Sell-by: %s printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined -WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang index 18ac025aece..140cbab05d3 100644 --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,8 +262,37 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +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 supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# +PriceExpressionEditorHelp5=Available global values: +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimum supplier price +DynamicPriceConfiguration=Dynamic price configuration +GlobalVariables=Global variables +GlobalVariableUpdaters=Global variable updaters +GlobalVariableUpdaterType0=JSON data +GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, +GlobalVariableUpdaterHelpFormat0=format is {"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 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=Last updated +CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files +IncludingProductWithTag=Including product with tag +DefaultPriceRealPriceMayDependOnCustomer=Default price, real price may depend on customer diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index 5b73527b0f4..1ea6ffb5e9d 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -11,9 +11,11 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. Assign task to you if you want to enter time on it. +OnlyYourTaskAreVisible=Only tasks you are assigned on are visible. Assign task to you if you want to enter time on it. ProjectsArea=Projects area NewProject=New project AddProject=Create project @@ -28,9 +30,11 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Time spent RefTask=Ref. task LabelTask=Label task @@ -38,7 +42,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -69,8 +73,11 @@ ListSupplierOrdersAssociatedProject=List of supplier's orders associated with th ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated with the project ListContractAssociatedProject=List of contracts associated with the project ListFichinterAssociatedProject=List of interventions associated with the project -ListTripAssociatedProject=List of trips and expenses associated with the project +ListExpenseReportsAssociatedProject=List of expense reports associated with the project +ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project +TaskTimeUserProject=Time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -91,7 +98,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -105,6 +112,7 @@ CloneContacts=Clone contacts CloneNotes=Clone notes CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) +CloneMoveDate=Update project/tasks dates from now ? ConfirmCloneProject=Are you sure to clone this project ? ProjectReportDate=Change task date according project start date ErrorShiftTaskDate=Impossible to shift task date according to new project start date @@ -134,4 +142,15 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task +AssignTaskToMe=Assign task to me +AssignTask=Assign +ProjectOverview=Overview diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang index 2b6d12870a1..168f98a2789 100644 --- a/htdocs/langs/en_US/propal.lang +++ b/htdocs/langs/en_US/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,8 +51,8 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail AssociatedDocuments=Documents associated with the proposal: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature \ No newline at end of file diff --git a/htdocs/langs/en_US/salaries.lang b/htdocs/langs/en_US/salaries.lang index 0087cbe83e6..953a9c7540c 100644 --- a/htdocs/langs/en_US/salaries.lang +++ b/htdocs/langs/en_US/salaries.lang @@ -10,3 +10,6 @@ SalariesPayments=Salaries payments ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price +CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index 5931d63b6c2..1dc182c6fdc 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -2,8 +2,10 @@ RefSending=Ref. shipment Sending=Shipment Sendings=Shipments +AllSendings=All Shipments Shipment=Shipment Shipments=Shipments +ShowSending=Show Sending Receivings=Receipts SendingsArea=Shipments area ListOfSendings=List of shipments @@ -65,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang index fdd6408accb..69b0027139b 100644 --- a/htdocs/langs/en_US/stocks.lang +++ b/htdocs/langs/en_US/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -16,6 +16,7 @@ CancelSending=Cancel sending DeleteSending=Delete sending Stock=Stock Stocks=Stocks +StocksByLotSerial=Stock by lot/serial Movement=Movement Movements=Movements ErrorWarehouseRefRequired=Warehouse reference name is required @@ -47,7 +48,10 @@ PMPValue=Weighted average price PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=Create a warehouse automatically when creating a user +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch OrderDispatch=Stock dispatching RuleForStockManagementDecrease=Rule for stock management decrease RuleForStockManagementIncrease=Rule for stock management increase @@ -75,6 +79,7 @@ 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 input price AverageUnitPricePMP=Weighted average input price SellPriceMin=Selling Unit Price @@ -90,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -107,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -119,7 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when batch module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang index ca3a81639bf..39b3ee8c3d9 100644 --- a/htdocs/langs/en_US/suppliers.lang +++ b/htdocs/langs/en_US/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suppliers -Supplier=Supplier AddSupplier=Create a supplier SupplierRemoved=Supplier removed SuppliersInvoice=Suppliers invoice @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Supplier invoices and payments ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Approve this order ConfirmApproveThisOrder=Are you sure you want to approve order %s ? -DenyingThisOrder=Denying this order +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 ? AddCustomerOrder=Create customer order @@ -41,4 +40,7 @@ ListOfSupplierProductForSupplier=List of products and prices for supplier %s< NoneOrBatchFileNeverRan=None or batch %s not ran recently SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders -MenuOrdersSupplierToBill=Supplier orders to invoice \ No newline at end of file +MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest deliver delay of the products from this order +UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) \ No newline at end of file diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang index 64adbeb0dd6..969ceaa01d6 100644 --- a/htdocs/langs/en_US/trips.lang +++ b/htdocs/langs/en_US/trips.lang @@ -1,22 +1,102 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Trip -Trips=Trips -TripsAndExpenses=Trips and expenses -TripsAndExpensesStatistics=Trips and expenses statistics -TripCard=Trip card -AddTrip=Create trip -ListOfTrips=List of trips +ExpenseReport=Expense report +ExpenseReports=Expense reports +Trip=Expense report +Trips=Expense reports +TripsAndExpenses=Expenses reports +TripsAndExpensesStatistics=Expense reports statistics +TripCard=Expense report card +AddTrip=Create expense report +ListOfTrips=List of expense reports ListOfFees=List of fees -NewTrip=New trip +NewTrip=New expense report CompanyVisited=Company/foundation visited Kilometers=Kilometers FeesKilometersOrAmout=Amount or kilometers -DeleteTrip=Delete trip -ConfirmDeleteTrip=Are you sure you want to delete this trip ? +DeleteTrip=Delete expense report +ConfirmDeleteTrip=Are you sure you want to delete this expense report ? +ListTripsAndExpenses=List of expense reports +ListToApprove=Waiting for approval +ExpensesArea=Expense reports area +SearchATripAndExpense=Search an expense report +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.\n- User: %s\n- Period: %s\nClick here to validate: %s +TripId=Id expense report +AnyOtherInThisListCanValidate=Person to inform for validation. +TripSociete=Information company +TripSalarie=Informations user +TripNDF=Informations expense report +DeleteLine=Delete a line of the expense report +ConfirmDeleteLine=Are you sure you want to delete this line ? +PDFStandardExpenseReports=Standard template to generate a PDF document for expense report +ExpenseReportLine=Expense report line TF_OTHER=Other +TF_TRANSPORTATION=Transportation TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense -ClassifyRefunded=Classify 'Refunded' \ No newline at end of file +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hotel +TF_TAXI=Taxi + +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +AucuneNDF=No expense reports found for this criteria +AucuneLigne=There is no expense report declared yet +AddLine=Add a line +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +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_VALIDE=Validation date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent on approval +ModifyInfoGen=Edit +ValidateAndSubmit=Validate and submit for approval +ValidatedWaitingApproval=Validated (waiting for approval) + +NOT_VALIDATOR=You are not allowed to approve this expense report +NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. + +RefuseTrip=Deny an expense report +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" ? + +CancelTrip=Cancel an expense report +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. diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang index 9670d002be6..e6764df49a2 100644 --- a/htdocs/langs/en_US/users.lang +++ b/htdocs/langs/en_US/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang index 7894351c01f..47b8863cf25 100644 --- a/htdocs/langs/en_US/withdrawals.lang +++ b/htdocs/langs/en_US/withdrawals.lang @@ -84,6 +84,11 @@ WithdrawalFile=Withdrawal file SetToStatusSent=Set to status "File Sent" ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" StatisticsByLineStatus=Statistics by status of lines +RUM=RUM +RUMWillBeGenerated=RUM number will be generated once bank account information are saved +WithdrawMode=Withdraw mode (FRST or RECUR) +WithdrawRequestAmount=Withdraw request amount: +WithdrawRequestErrorNilAmount=Unable to create withdraw request for nil amount. ### Notifications InfoCreditSubject=Payment of standing order %s by the bank diff --git a/htdocs/langs/en_US/workflow.lang b/htdocs/langs/en_US/workflow.lang index e08c88a9170..7414fcb7e62 100644 --- a/htdocs/langs/en_US/workflow.lang +++ b/htdocs/langs/en_US/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow modifications available with the activated modules. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index a696d3c77d8..4c30b385ef8 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -10,6 +10,7 @@ FormatDateShortJava=yyy/MM/dd FormatDateShortJavaInput=yyyy/MM/yy FormatDateShortJQuery=yy/mm/yy FormatDateShortJQueryInput=yy/mm/dd +FormatHourShortJQuery=HH:MI FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index c25fb01f690..1af79f8b17a 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -1,16 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +LibraryToBuildPDF=Library used to build PDF +WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 +DefaultLink=Default link +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module - Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for thirdparties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + +# Modules +Module0Name=Users & groups +Module0Desc=Users and groups management +Module1Name=Third parties +Module1Desc=Companies and contact management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting +Module10Desc=Simple accounting reports (journals, turnover) based onto database content. No dispatching. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass E-mailings +Module22Desc=Mass E-mailing management +Module23Name= Energy +Module23Desc= Monitoring the consumption of energies +Module25Name=Customer Orders +Module25Desc=Customer order management +Module30Name=Invoices +Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module40Name=Suppliers +Module40Desc=Supplier management and buying (orders and invoices) +Module42Name=Logs +Module42Desc=Logging facilities (file, syslog, ...) +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Product management +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management (products) +Module53Name=Services +Module53Desc=Service management +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or reccuring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode management +Module56Name=Telephony +Module56Desc=Telephony integration +Module57Name=Standing orders +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module59Name=Bookmark4u +Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery order management +Module85Name=Banks and cash +Module85Desc=Management of bank or cash accounts +Module100Name=External site +Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronisation +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr datas (with assistants) +Module250Name=Data imports +Module250Desc=Tool to import datas in Dolibarr (with assistants) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add RSS feed inside Dolibarr screen pages +Module330Name=Bookmarks +Module330Desc=Bookmark management +Module400Name=Projects/Opportunities/Leads +Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) +Module510Name=Salaries +Module510Desc=Management of employees salaries and payments +Module520Name=Loan +Module520Desc=Management of loans +Module600Name=Notifications +Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module700Name=Donations +Module700Desc=Donation management +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1400Name=Accounting +Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation +Module1780Name=Tags/Categories Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices +Module2300Name=Cron +Module2300Desc=Scheduled job management +Module2400Name=Agenda +Module2400Desc=Events/tasks and agenda management +Module2500Name=Electronic Content Management +Module2500Desc=Save and share documents +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services +Module2650Name=WebServices (client) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3100Name=Skype +Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Workflow +Module6000Desc=Workflow management +Module20000Name=Leave Requests management +Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product lot Module39000Desc=Lot or serial number, eat-by and sell-by date management on products +Module50000Name=PayBox +Module50000Desc=Module to offer an online payment page by credit card with PayBox +Module50100Name=Point of sales +Module50100Desc=Point of sales module +Module50200Name=Paypal +Module50200Desc=Module to offer an online payment page by credit card with Paypal +Module50400Name=Accounting (advanced) +Module50400Desc=Accounting management (double parties) +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module55000Name=Open Poll +Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module59000Name=Margins +Module59000Desc=Module to manage margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Unvalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission41=Read projects (shared project and projects i'm contact for) +Permission42=Create/modify projects (shared project and projects i'm contact for) +Permission44=Delete projects (shared project and projects i'm contact for) +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export datas +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social contributions and vat +Permission92=Create/modify social contributions and vat +Permission93=Delete social contributions and vat +Permission94=Export social contributions +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage cheques dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read projects (also private i am not contact for) +Permission142=Create/modify projects (also private i am not contact for) +Permission144=Delete projects (also private i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read standing orders +Permission152=Create/modify a standing orders request +Permission153=Transmission standing orders receipts +Permission154=Credit/refuse standing orders receipts +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission171=Read trips and expenses (own and his subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read supplier orders +Permission182=Create/modify supplier orders +Permission183=Validate supplier orders +Permission184=Approve supplier orders +Permission185=Order or cancel supplier orders +Permission186=Receive supplier orders +Permission187=Close supplier orders +Permission188=Cancel supplier orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwith lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permisssions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties (not only those linked to user). Not effective for external users (always limited to themselves). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify costumers tariffs +Permission300=Read bar codes +Permission301=Create/modify bar codes +Permission302=Delete bar codes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission510=Read Salaries +Permission512=Create/modify salaries +Permission514=Delete salaries +Permission517=Export salaries +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 +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery orders +Permission1102=Create/modify delivery orders +Permission1104=Validate delivery orders +Permission1109=Delete delivery orders +Permission1181=Read suppliers +Permission1182=Read supplier orders +Permission1183=Create/modify supplier orders +Permission1184=Validate supplier orders +Permission1185=Approve supplier orders +Permission1186=Order supplier orders +Permission1187=Acknowledge receipt of supplier orders +Permission1188=Delete supplier orders +Permission1190=Approve (second approval) supplier orders +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read supplier invoices +Permission1232=Create/modify supplier invoices +Permission1233=Validate supplier invoices +Permission1234=Delete supplier invoices +Permission1235=Send supplier invoices by email +Permission1236=Export supplier invoices, attributes and payments +Permission1237=Export supplier orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1421=Export customer orders and attributes +Permission23001=Read Scheduled job +Permission23002=Create/update Scheduled job +Permission23003=Delete Scheduled job +Permission23004=Execute Scheduled job +Permission2401=Read actions (events or tasks) linked to his account +Permission2402=Create/modify actions (events or tasks) linked to his account +Permission2403=Delete actions (events or tasks) linked to his account +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission50101=Use Point of sales +Permission50201=Read transactions +Permission50202=Import transactions +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Prospect potential level +DictionaryCanton=State/Cantons +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Civility title +DictionaryActions=Type of agenda events +DictionarySocialContributions=Social contributions types +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of revenue stamps +DictionaryPaymentConditions=Payment terms +DictionaryPaymentModes=Payment modes +DictionaryTypeContact=Contact/Address types +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFees=Type of fees +DictionarySendingMethods=Shipping methods +DictionaryStaff=Staff +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancysystem=Models for chart of accounts +DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status +SetupSaved=Setup saved +BackToModuleList=Back to modules list +BackToDictionaryList=Back to dictionaries list +VATReceivedOnly=Special rate not charged +VATManagement=VAT Management +VATIsUsedDesc=The VAT rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to VAT, then VAT by default=0. End of rule.
If the (selling country= buying country), then the VAT by default=VAT of the product in the selling country. End of rule.
If seller and buyer in the European Community and goods are transport products (car, ship, plane), the default VAT=0 ( The VAT should be paid by the buyer at the customoffice of his country and not at the seller). End of rule.
If seller and buyer in the European Community and buyer is not a company, then the VAT by default=VAT of product sold. End of rule.
If seller and buyer in the European Community and buyer is a company, then the VAT by default=0. End of rule.
Else the proposed default VAT=0. End of rule. +VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases like associations, individuals ou small companies. +VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices. +##### Local Taxes ##### +LTRate=Rate +LocalTax1IsUsed=Use second tax +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than VAT) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsUsed=Use third tax +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than VAT) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Management +LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If te buyer is not subjected to RE, RE by default=0. End of rule.
If the buyer is subjected to RE then the RE by default. End of rule.
+LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES= In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES= In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES= IRPF Management +LocalTax2IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
If the seller is subjected to IRPF then the IRPF by default. End of rule.
+LocalTax2IsNotUsedDescES= By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES= In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES= In Spain they are bussines not subject to tax system of modules. +CalcLocaltax=Reports 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 +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +NbOfDays=Nb of days +AtEndOfMonth=At end of month +Offset=Offset +AlwaysActive=Always active +UpdateRequired=Your system needs to be updated. To do this, click on Update now. +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Add extension (theme, module, ...) +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +AllParameters=All parameters +OS=OS +PhpEnv=Env +PhpModules=Modules +PhpConf=Conf +PhpWebLink=Web-Php link +Pear=Pear +PearPackages=Pear Packages +Browser=Browser +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +DatabaseConfiguration=Database setup +Tables=Tables +TableName=Table name +TableLineFormat=Line format +NbOfRecord=Nb of records +Constraints=Constraints +ConstraintsType=Constraints type +ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry +AllMustBeOk=All of these must be checked +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +SystemUpdate=System update +SystemSuccessfulyUpdate=Your system has been updated successfuly +MenuCompanySetup=Company/Foundation +MenuNewUser=New user +MenuTopManager=Top menu manager +MenuLeftManager=Left menu manager +MenuManager=Menu manager +MenuSmartphoneManager=Smartphone menu manager +DefaultMenuTopManager=Top menu manager +DefaultMenuLeftManager=Left menu manager +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for list +MessageOfDay=Message of the day +MessageLogin=Login page message +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language to use (language code) +EnableMultilangInterface=Enable multilingual interface +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +SystemSuccessfulyUpdated=Your system has been updated successfully +CompanyInfo=Company/foundation information +CompanyIds=Company/foundation identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +CompanyObject=Object of the company +Logo=Logo +DoNotShow=Do not show +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Show link "%s" +ShowWorkBoard=Show "workbench" on homepage +Alerts=Alerts +Delays=Delays +DelayBeforeWarning=Delay before warning +DelaysBeforeWarning=Delays before warning +DelaysOfToleranceBeforeWarning=Tolerance delays before warning +DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events not yet realised +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not yet processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not yet processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Delay tolerance (in days) before alert on proposals to close +Delays_MAIN_DELAY_PROPALS_TO_BILL=Delay tolerance (in days) before alert on proposals not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerance delay (in days) before alert on services to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerance delay (in days) before alert on expired services +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerance delay (in days) before alert on unpaid supplier invoices +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence delay (in days) before alert on unpaid client invoices +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerance delay (in days) before alert on pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do +SetupDescription1=All parameters available in the setup area allow you to setup Dolibarr before starting using it. +SetupDescription2=The 2 most important setup steps are the 2 first ones in the left setup menu, this means Company/foundation setup page and Modules setup page: +SetupDescription3=Parameters in menu Setup -> Company/foundation are required because input information is used on Dolibarr displays and to modify Dolibarr behaviour (for example for features related to your country). +SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a fixed ERP/CRM but a sum of several modules, all more or less independant. It's only after activating modules you're interesting in that you will see features appeared in menus. +SetupDescription5=Other menu entries manage optional parameters. +EventsSetup=Setup for events logs +LogEvents=Security audit events +Audit=Audit +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos web server +InfoDatabase=Infos database +InfoPHP=Infos PHP +InfoPerf=Infos performances +BrowserName=Browser name +BrowserOS=Browser OS +ListEvents=Audit events +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu System tools - Audit. Warning, this feature can consume a large amount of data in database. +AreaForAdminOnly=Those features can be used by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +DisplayDesc=You can choose each parameter related to the Dolibarr look and feel here +AvailableModules=Available modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantee that session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guaranty that session will expire just after this delay. It will expire, after this delay, and when the session cleaner is ran, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behaviour of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realised new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Define here which rule you want to use to generate new password if you ask to have auto generated password +DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +ConstDesc=This page allows you to edit all other parameters not available in previous pages. They are reserved parameters for advanced developers or for troubleshouting. +OnceSetupFinishedCreateUsers=Warning, you are a Dolibarr administrator user. Administrator users are used to setup Dolibarr. For a usual usage of Dolibarr, it is recommended to use a non administrator user created from Users & Groups menu. +MiscellaneousDesc=Define here all other parameters related to security. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimisations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) +MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been recorded yet. This can be normal if audit has not been enabled on "setup - security - audit" page. +NoEventFoundWithCriteria=No security event has been found for such search criterias. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=To make a complete backup of Dolibarr, you must: BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one +RestoreDesc=To restore a Dolibarr backup, you must: RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule= This rule is forced to %s by an activated module +PreviousDumpFiles=Available database backup dump files +WeekStartOnDay=First day of week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset +ShowProfIdInAddress=Show professionnal id with addresses on documents +ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents +TranslationUncomplete=Partial translation +SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. +MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) +MAIN_DISABLE_METEO=Disable meteo view +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it. +ExternalAccess=External access +MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet) +MAIN_PROXY_HOST=Name/Address of proxy server +MAIN_PROXY_PORT=Port of proxy server +MAIN_PROXY_USER=Login to use the proxy server +MAIN_PROXY_PASS=Password to use the proxy server +DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsThirdParties=Complementary attributes (thirdparty) +ExtraFieldsContacts=Complementary attributes (contact/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerOrders=Complementary attributes (orders) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendingMailSetup=Setup of sendings by email +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +TranslationSetup=Configuration de la traduction +TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). +TotalNumberOfActivatedModules=Total number of activated feature modules: %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found into PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s that is best driver available currently. +YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. +NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +SearchOptim=Search optimization +YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. +BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. +XDebugInstalled=XDebug is loaded. +XCacheInstalled=XCache is loaded. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. +##### Users setup ##### +UserGroupSetup=Users and groups module setup +GeneratePassword=Suggest a generated password +RuleForGeneratedPasswords=Rule to generate suggested passwords or validate passwords +DoNotSuggest=Do not suggest any password +EncryptedPasswordInDatabase=To allow the encryption of the passwords in the database +DisableForgetPasswordLinkOnLogonPage=Do not show the link "Forget password" on login page +UsersSetup=Users module setup +UserMailRequired=EMail required to create a new user +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) +AccountCodeManager=Module for accountancy code generation (customer or supplier) +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +UseNotifications=Use notifications NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +ModelModules=Documents templates +DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules on Professional Ids +MustBeUnique=Must be unique ? +MustBeMandatory=Mandatory to create third parties ? +MustBeInvoiceMandatory=Mandatory to validate invoices ? +Miscellaneous=Miscellaneous +##### Webcal setup ##### +WebCalSetup=Webcalendar link setup +WebCalSyncro=Add Dolibarr events to WebCalendar +WebCalAllways=Always, no asking +WebCalYesByDefault=On demand (yes by default) +WebCalNoByDefault=On demand (no by default) +WebCalNever=Never +WebCalURL=URL for calendar access +WebCalServer=Server hosting calendar database +WebCalDatabaseName=Database name +WebCalUser=User to access database +WebCalSetupSaved=Webcalendar setup saved successfully. +WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +WebCalTestKo2=Connection to server '%s' with user '%s' failed. +WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database. +WebCalAddEventOnCreateActions=Add calendar event on actions create +WebCalAddEventOnCreateCompany=Add calendar event on companies create +WebCalAddEventOnStatusPropal=Add calendar event on commercial proposals status change +WebCalAddEventOnStatusContract=Add calendar event on contracts status change +WebCalAddEventOnStatusBill=Add calendar event on bills status change +WebCalAddEventOnStatusMember=Add calendar event on members status change +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct. +##### Invoices ##### +BillsSetup=Invoices module setup +BillsDate=Invoices date +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +CreditNoteSetup=Credit note module setup +CreditNotePDFModules=Credit note document models +CreditNote=Credit note +CreditNotes=Credit notes +ForceInvoiceDate=Force invoice date to validation date +DisableRepeatable=Disable repeatable invoices +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +##### Proposals ##### +PropalSetup=Commercial proposals module setup +CreateForm=Create forms +NumberOfProductLines=Number of product lines +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +ClassifiedInvoiced=Classified invoiced +HideTreadedPropal=Hide the treated commercial proposals in the list +AddShippingDateAbility=Add shipping date ability +AddDeliveryAddressAbility=Add delivery date ability +UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Free text on price requests suppliers +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request +##### Orders ##### +OrdersSetup=Order management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +HideTreadedOrders=Hide the treated or cancelled orders in the list +ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). +##### Bookmark4u ##### +Bookmark4uSetup=Bookmark4u module setup +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AddSubscriptionIntoAccount=Suggest by default to create a bank transaction, in bank module, when adding a new payed subscription +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=EMail required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPTypeExample=OpenLdap, Egroupware or Active Directory +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port : 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPPasswordExample=Admin password +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveYes=Activated synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members type DN +LDAPMemberTypeDnExample=Complete DN (ex: ou=type_members,dc=example,dc=com) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindFailed=Disconnect failed +LDAPConnectToDNSuccessfull=Connection to DN (%s) successful +LDAPConnectToDNFailed=Connection to DN (%s) failed +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example : uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example : &(objectClass=inetOrgPerson) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example : samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example : cn +LDAPFieldPassword=Password +LDAPFieldPasswordNotCrypted=Password not crypted +LDAPFieldPasswordCrypted=Password crypted +LDAPFieldPasswordExample=Example : userPassword +LDAPFieldCommonName=Common name +LDAPFieldCommonNameExample=Example : cn +LDAPFieldName=Name +LDAPFieldNameExample=Example : sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example : givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example : mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example : telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example : homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example : mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example : facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example : street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example : postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example : l +LDAPFieldCountry=Country +LDAPFieldCountryExample=Example : c +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example : description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example : uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldBirthdateExample=Example : +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example : o +LDAPFieldSid=SID +LDAPFieldSidExample=Example : objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Post/Function +LDAPFieldTitleExample=Example: title +LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. +NotInstalled=Not installed, so your server is not slow down by this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) +ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms +ModifyProductDescAbility=Personalization of product descriptions in forms +ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualization of products descriptions in the thirdparty language +UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseEcoTaxeAbility=Support Eco-Taxe (WEEE) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogSyslog=Syslog +SyslogFacility=Facility +SyslogLevel=Level +SyslogSimpleFile=File +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=Windows only supports LOG_USER +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +UseBarcodeInProductModule=Use bar codes for products +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +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=Withdrawal module setup +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender EMail (From) for emails sent by emailing module +MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=EMail notification module setup +NotificationEMailFrom=Sender EMail (From) for emails sent for notifications +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Fixed email target +##### Sendings ##### +SendingsSetup=Sending module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipment sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +##### OSCommerce 1 ##### +OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). +OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. +OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. +##### Stock ##### +StockSetup=Warehouse module setup +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. +##### Menu ##### +MenuDeleted=Menu deleted +TreeMenu=Tree menus +Menus=Menus +TreeMenuPersonalized=Personalized menus +NewMenu=New menu +MenuConf=Menus setup +Menu=Selection of menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu= Hide unauthorized menus (gray) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailMainmenu=Group for which it belongs (obsolete) +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailLeftmenu=Display condition or not (obsolete) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top open a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line ? +##### Tax ##### +TaxSetup=Taxes, social contributions and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Cash basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on payments for services +OptionVatDebitOptionDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on invoice (debit) for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup. +AccountancyCode=Accountancy Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view +AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +##### ClickToDial ##### +ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +##### Point Of Sales (CashDesk) ##### +CashDesk=Point of sales +CashDeskSetup=Point of sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque= Default account to use to receive payments by cheque +CashDeskBankAccountForCB= Default account to use to receive payments by credit cards CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or externale web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on cheque receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Supplier module setup +SuppliersCommandModel=Complete template of supplier order (logo...) +SuppliersInvoiceModel=Complete template of supplier invoice (logo...) +SuppliersInvoiceNumberingModel=Supplier invoices numbering models +IfSetToYesDontForgetPermission=If set to yes, 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 +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +##### ECM (GED) ##### +ECMSetup = GED Setup +ECMAutoTree = Automatic tree folder and document +##### Fiscal Year ##### +FiscalYears=Fiscal years +FiscalYear=Fiscal year +FiscalYearCard=Fiscal year card +NewFiscalYear=New fiscal year +EditFiscalYear=Edit fiscal year +OpenFiscalYear=Open fiscal year +CloseFiscalYear=Close fiscal year +DeleteFiscalYear=Delete fiscal year +ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? +Opened=Open +Closed=Closed +AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. +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". +ListOfNotificationsPerContact=List of notifications per contact* +ListOfFixedNotifications=List of fixed notifications +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build database backup dump file +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 only manual steps a privileged user can do. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/es_AR/banks.lang b/htdocs/langs/es_AR/banks.lang index e58cf5e72b5..f363ffa56c6 100644 --- a/htdocs/langs/es_AR/banks.lang +++ b/htdocs/langs/es_AR/banks.lang @@ -1,2 +1,167 @@ # Dolibarr language file - Source file is en_US - banks +Bank=Bank +Banks=Banks +MenuBankCash=Bank/Cash +MenuSetupBank=Bank/Cash setup +BankName=Bank name +FinancialAccount=Account +FinancialAccounts=Accounts +BankAccount=Bank account +BankAccounts=Bank accounts +ShowAccount=Show Account +AccountRef=Financial account ref +AccountLabel=Financial account label +CashAccount=Cash account +CashAccounts=Cash accounts +MainAccount=Main account +CurrentAccount=Current account +CurrentAccounts=Current accounts +SavingAccount=Savings account +SavingAccounts=Savings accounts +ErrorBankLabelAlreadyExists=Financial account label already exists +BankBalance=Balance +BankBalanceBefore=Balance before +BankBalanceAfter=Balance after +BalanceMinimalAllowed=Minimum allowed balance +BalanceMinimalDesired=Minimum desired balance +InitialBankBalance=Initial balance +EndBankBalance=End balance +CurrentBalance=Current balance +FutureBalance=Future balance +ShowAllTimeBalance=Show balance from start +AllTime=From start +Reconciliation=Reconciliation +RIB=Bank Account Number +IBAN=IBAN number +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid +BIC=BIC/SWIFT number +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid +StandingOrders=Standing orders +StandingOrder=Standing order +Withdrawals=Withdrawals +Withdrawal=Withdrawal +AccountStatement=Account statement +AccountStatementShort=Statement +AccountStatements=Account statements +LastAccountStatements=Last account statements +Rapprochement=Reconciliate +IOMonthlyReporting=Monthly reporting +BankAccountDomiciliation=Account address +BankAccountCountry=Account country +BankAccountOwner=Account owner name +BankAccountOwnerAddress=Account owner address +RIBControlError=Integrity check of values fails. This means information for this account number are not complete or wrong (check country, numbers and IBAN). +CreateAccount=Create account +NewAccount=New account +NewBankAccount=New bank account +NewFinancialAccount=New financial account +MenuNewFinancialAccount=New financial account +NewCurrentAccount=New current account +NewSavingAccount=New savings account +NewCashAccount=New cash account +EditFinancialAccount=Edit account +AccountSetup=Financial accounts setup +SearchBankMovement=Search bank movement +Debts=Debts +LabelBankCashAccount=Bank or cash label +AccountType=Account type +BankType0=Savings account +BankType1=Current or credit card account +BankType2=Cash account +IfBankAccount=If bank account +AccountsArea=Accounts area +AccountCard=Account card +DeleteAccount=Delete account +ConfirmDeleteAccount=Are you sure you want to delete this account ? +Account=Account +ByCategories=By categories +ByRubriques=By categories +BankTransactionByCategories=Bank transactions by categories +BankTransactionForCategory=Bank transactions for category %s +RemoveFromRubrique=Remove link with category +RemoveFromRubriqueConfirm=Are you sure you want to remove link between the transaction and the category ? +ListBankTransactions=List of bank transactions +IdTransaction=Transaction ID +BankTransactions=Bank transactions +SearchTransaction=Search transaction +ListTransactions=List transactions +ListTransactionsByCategory=List transaction/category +TransactionsToConciliate=Transactions to reconcile +Conciliable=Can be reconciled +Conciliate=Reconcile +Conciliation=Reconciliation +ConciliationForAccount=Reconcile this account +IncludeClosedAccount=Include closed accounts +OnlyOpenedAccount=Only open accounts +AccountToCredit=Account to credit +AccountToDebit=Account to debit +DisableConciliation=Disable reconciliation feature for this account +ConciliationDisabled=Reconciliation feature disabled +StatusAccountOpened=Open +StatusAccountClosed=Closed +AccountIdShort=Number +EditBankRecord=Edit record +LineRecord=Transaction +AddBankRecord=Add transaction +AddBankRecordLong=Add transaction manually +ConciliatedBy=Reconciled by +DateConciliating=Reconcile date +BankLineConciliated=Transaction reconciled +CustomerInvoicePayment=Customer payment +CustomerInvoicePaymentBack=Customer payment back +SupplierInvoicePayment=Supplier payment +WithdrawalPayment=Withdrawal payment +SocialContributionPayment=Social contribution payment +FinancialAccountJournal=Financial account journal +BankTransfer=Bank transfer +BankTransfers=Bank transfers +TransferDesc=Transfer from one account to another one, Dolibarr will write two records (a debit in source account and a credit in target account, of the same amount. The same label and date will be used for this transaction) +TransferFrom=From +TransferTo=To +TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. +CheckTransmitter=Transmitter +ValidateCheckReceipt=Validate this check receipt ? +ConfirmValidateCheckReceipt=Are you sure you want to validate this check receipt, no change will be possible once this is done ? +DeleteCheckReceipt=Delete this check receipt ? +ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ? +BankChecks=Bank checks +BankChecksToReceipt=Checks waiting for deposit +ShowCheckReceipt=Show check deposit receipt +NumberOfCheques=Nb of check +DeleteTransaction=Delete transaction +ConfirmDeleteTransaction=Are you sure you want to delete this transaction ? +ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions +BankMovements=Movements +CashBudget=Cash budget +PlannedTransactions=Planned transactions +Graph=Graphics +ExportDataset_banque_1=Bank transactions and account statement +ExportDataset_banque_2=Deposit slip +TransactionOnTheOtherAccount=Transaction on the other account +TransactionWithOtherAccount=Account transfer +PaymentNumberUpdateSucceeded=Payment number updated succesfully +PaymentNumberUpdateFailed=Payment number could not be updated +PaymentDateUpdateSucceeded=Payment date update succesfully +PaymentDateUpdateFailed=Payment date could not be updated +Transactions=Transactions +BankTransactionLine=Bank transaction +AllAccounts=All bank/cash accounts +BackToAccount=Back to account +ShowAllAccounts=Show for all accounts +FutureTransaction=Transaction in futur. No way to conciliate. +SelectChequeTransactionAndGenerate=Select/filter checks to include into the check deposit receipt and click on "Create". InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD +EventualyAddCategory=Eventually, specify a category in which to classify the records +ToConciliate=To conciliate? +ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +BankDashboard=Bank accounts summary +DefaultRIB=Default BAN +AllRIB=All BAN +LabelRIB=BAN Label +NoBANRecord=No BAN record +DeleteARib=Delete BAN record +ConfirmDeleteRib=Are you sure you want to delete this BAN record ? +StartDate=Start date +EndDate=End date diff --git a/htdocs/langs/es_AR/bills.lang b/htdocs/langs/es_AR/bills.lang deleted file mode 100644 index f1e67a676c3..00000000000 --- a/htdocs/langs/es_AR/bills.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - bills -ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. diff --git a/htdocs/langs/es_AR/companies.lang b/htdocs/langs/es_AR/companies.lang index 36f5cbcff4d..ad9980cb055 100644 --- a/htdocs/langs/es_AR/companies.lang +++ b/htdocs/langs/es_AR/companies.lang @@ -1,5 +1,419 @@ # Dolibarr language file - Source file is en_US - companies -VATIntra=CUIT -VATIntraShort=CUIT -VATIntraVeryShort=CUIT -CompanyHasCreditNote=Este cliente tiene %s %s notas de crédito/anticipos disponibles +ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. +ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. +ErrorSetACountryFirst=Set the country first +SelectThirdParty=Select a third party +DeleteThirdParty=Delete a third party +ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? +DeleteContact=Delete a contact/address +ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? +MenuNewThirdParty=New third party +MenuNewCompany=New company +MenuNewCustomer=New customer +MenuNewProspect=New prospect +MenuNewSupplier=New supplier +MenuNewPrivateIndividual=New private individual +MenuSocGroup=Groups +NewCompany=New company (prospect, customer, supplier) +NewThirdParty=New third party (prospect, customer, supplier) +NewSocGroup=New company group +NewPrivateIndividual=New private individual (prospect, customer, supplier) +CreateDolibarrThirdPartySupplier=Create a third party (supplier) +ProspectionArea=Prospection area +SocGroup=Group of companies +IdThirdParty=Id third party +IdCompany=Company Id +IdContact=Contact Id +Contacts=Contacts/Addresses +ThirdPartyContacts=Third party contacts +ThirdPartyContact=Third party contact/address +StatusContactValidated=Status of contact/address +Company=Company +CompanyName=Company name +Companies=Companies +CountryIsInEEC=Country is inside European Economic Community +ThirdPartyName=Third party name +ThirdParty=Third party +ThirdParties=Third parties +ThirdPartyAll=Third parties (all) +ThirdPartyProspects=Prospects +ThirdPartyProspectsStats=Prospects +ThirdPartyCustomers=Customers +ThirdPartyCustomersStats=Customers +ThirdPartyCustomersWithIdProf12=Customers with %s or %s +ThirdPartySuppliers=Suppliers +ThirdPartyType=Third party type +Company/Fundation=Company/Foundation +Individual=Private individual +ToCreateContactWithSameName=Will create automatically a physical contact with same informations +ParentCompany=Parent company +Subsidiary=Subsidiary +Subsidiaries=Subsidiaries +NoSubsidiary=No subsidiary +ReportByCustomers=Report by customers +ReportByQuarter=Report by rate +CivilityCode=Civility code +RegisteredOffice=Registered office +Name=Name +Lastname=Last name +Firstname=First name +PostOrFunction=Post/Function +UserTitle=Title +Surname=Surname/Pseudo +Address=Address +State=State/Province +Region=Region +Country=Country +CountryCode=Country code +CountryId=Country id +Phone=Phone +Skype=Skype +Call=Call +Chat=Chat +PhonePro=Prof. phone +PhonePerso=Pers. phone +PhoneMobile=Mobile +No_Email=Don't send mass e-mailings +Fax=Fax +Zip=Zip Code +Town=City +Web=Web +Poste= Position +DefaultLang=Language by default +VATIsUsed=VAT is used +VATIsNotUsed=VAT is not used +CopyAddressFromSoc=Fill address with thirdparty address +NoEmailDefined=There is no email defined +##### Local Taxes ##### +LocalTax1IsUsedES= RE is used +LocalTax1IsNotUsedES= RE is not used +LocalTax2IsUsedES= IRPF is used +LocalTax2IsNotUsedES= IRPF is not used +LocalTax1ES=RE +LocalTax2ES=IRPF +TypeLocaltax1ES=RE Type +TypeLocaltax2ES=IRPF Type +TypeES=Type +ThirdPartyEMail=%s +WrongCustomerCode=Customer code invalid +WrongSupplierCode=Supplier code invalid +CustomerCodeModel=Customer code model +SupplierCodeModel=Supplier code model +Gencod=Bar code +##### Professional ID ##### +ProfId1Short=Prof. id 1 +ProfId2Short=Prof. id 2 +ProfId3Short=Prof. id 3 +ProfId4Short=Prof. id 4 +ProfId5Short=Prof. id 5 +ProfId6Short=Prof. id 5 +ProfId1=Professional ID 1 +ProfId2=Professional ID 2 +ProfId3=Professional ID 3 +ProfId4=Professional ID 4 +ProfId5=Professional ID 5 +ProfId6=Professional ID 6 +ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AU=Prof Id 1 (ABN) +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=Prof Id 1 (Professional number) +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=- +ProfId2CH=- +ProfId3CH=Prof Id 1 (Federal number) +ProfId4CH=Prof Id 2 (Commercial Record number) +ProfId5CH=- +ProfId6CH=- +ProfId1CL=Prof Id 1 (R.U.T.) +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=Prof Id 1 (R.U.T.) +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Prof Id 1 (USt.-IdNr) +ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=- +ProfId6DE=- +ProfId1ES=Prof Id 1 (CIF/NIF) +ProfId2ES=Prof Id 2 (Social security number) +ProfId3ES=Prof Id 3 (CNAE) +ProfId4ES=Prof Id 4 (Collegiate number) +ProfId5ES=- +ProfId6ES=- +ProfId1FR=Prof Id 1 (SIREN) +ProfId2FR=Prof Id 2 (SIRET) +ProfId3FR=Prof Id 3 (NAF, old APE) +ProfId4FR=Prof Id 4 (RCS/RM) +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Registration Number +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=Id prof. 1 (RTN) +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=Prof Id 1 (TIN) +ProfId2IN=Prof Id 2 (PAN) +ProfId3IN=Prof Id 3 (SRVC TAX) +ProfId4IN=Prof Id 4 +ProfId5IN=Prof Id 5 +ProfId6IN=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=- +ProfId6MA=- +ProfId1MX=Prof Id 1 (R.F.C). +ProfId2MX=Prof Id 2 (R..P. IMSS) +ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=KVK nummer +ProfId2NL=- +ProfId3NL=- +ProfId4NL=Burgerservicenummer (BSN) +ProfId5NL=- +ProfId6NL=- +ProfId1PT=Prof Id 1 (NIPC) +ProfId2PT=Prof Id 2 (Social security number) +ProfId3PT=Prof Id 3 (Commercial Record number) +ProfId4PT=Prof Id 4 (Conservatory) +ProfId5PT=- +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=Prof Id 1 (RC) +ProfId2TN=Prof Id 2 (Fiscal matricule) +ProfId3TN=Prof Id 3 (Douane code) +ProfId4TN=Prof Id 4 (BAN) +ProfId5TN=- +ProfId6TN=- +ProfId1RU=Prof Id 1 (OGRN) +ProfId2RU=Prof Id 2 (INN) +ProfId3RU=Prof Id 3 (KPP) +ProfId4RU=Prof Id 4 (OKPO) +ProfId5RU=- +ProfId6RU=- +VATIntra=VAT number +VATIntraShort=VAT number +VATIntraVeryShort=VAT +VATIntraSyntaxIsValid=Syntax is valid +VATIntraValueIsValid=Value is valid +ProspectCustomer=Prospect / Customer +Prospect=Prospect +CustomerCard=Customer Card +Customer=Customer +CustomerDiscount=Customer Discount +CustomerRelativeDiscount=Relative customer discount +CustomerAbsoluteDiscount=Absolute customer discount +CustomerRelativeDiscountShort=Relative discount +CustomerAbsoluteDiscountShort=Absolute discount +CompanyHasRelativeDiscount=This customer has a default discount of %s%% +CompanyHasNoRelativeDiscount=This customer has no relative discount by default +CompanyHasAbsoluteDiscount=This customer still has discount credits or deposits for %s %s +CompanyHasCreditNote=This customer still has credit notes for %s %s +CompanyHasNoAbsoluteDiscount=This customer has no discount credit available +CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users) +CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself) +DefaultDiscount=Default discount +AvailableGlobalDiscounts=Absolute discounts available +DiscountNone=None +Supplier=Supplier +CompanyList=Company's list +AddContact=Create contact +AddContactAddress=Create contact/address +EditContact=Edit contact +EditContactAddress=Edit contact/address +Contact=Contact +ContactsAddresses=Contacts/Addresses +NoContactDefinedForThirdParty=No contact defined for this third party +NoContactDefined=No contact defined +DefaultContact=Default contact/address +AddCompany=Create company +AddThirdParty=Create third party +DeleteACompany=Delete a company +PersonalInformations=Personal data +AccountancyCode=Accountancy code +CustomerCode=Customer code +SupplierCode=Supplier code +CustomerAccount=Customer account +SupplierAccount=Supplier account +CustomerCodeDesc=Customer code, unique for all customers +SupplierCodeDesc=Supplier code, unique for all suppliers +RequiredIfCustomer=Required if third party is a customer or prospect +RequiredIfSupplier=Required if third party is a supplier +ValidityControledByModule=Validity controled by module +ThisIsModuleRules=This is rules for this module +LastProspect=Last +ProspectToContact=Prospect to contact +CompanyDeleted=Company "%s" deleted from database. +ListOfContacts=List of contacts/addresses +ListOfContactsAddresses=List of contacts/adresses +ListOfProspectsContacts=List of prospect contacts +ListOfCustomersContacts=List of customer contacts +ListOfSuppliersContacts=List of supplier contacts +ListOfCompanies=List of companies +ListOfThirdParties=List of third parties +ShowCompany=Show company +ShowContact=Show contact +ContactsAllShort=All (No filter) +ContactType=Contact type +ContactForOrders=Order's contact +ContactForProposals=Proposal's contact +ContactForContracts=Contract's contact +ContactForInvoices=Invoice's contact +NoContactForAnyOrder=This contact is not a contact for any order +NoContactForAnyProposal=This contact is not a contact for any commercial proposal +NoContactForAnyContract=This contact is not a contact for any contract +NoContactForAnyInvoice=This contact is not a contact for any invoice +NewContact=New contact +NewContactAddress=New contact/address +LastContacts=Last contacts +MyContacts=My contacts +Phones=Phones +Capital=Capital +CapitalOf=Capital of %s +EditCompany=Edit company +EditDeliveryAddress=Edit delivery address +ThisUserIsNot=This user is not a prospect, customer nor supplier +VATIntraCheck=Check +VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work. +VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do +VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site +VATIntraManualCheck=You can also check manually from european web site %s +ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). +NorProspectNorCustomer=Nor prospect, nor customer +JuridicalStatus=Juridical status +Staff=Staff +ProspectLevelShort=Potential +ProspectLevel=Prospect potential +ContactPrivate=Private +ContactPublic=Shared +ContactVisibility=Visibility +OthersNotLinkedToThirdParty=Others, not linked to a third party +ProspectStatus=Prospect status +PL_NONE=None +PL_UNKNOWN=Unknown +PL_LOW=Low +PL_MEDIUM=Medium +PL_HIGH=High +TE_UNKNOWN=- +TE_STARTUP=Startup +TE_GROUP=Large company +TE_MEDIUM=Medium company +TE_ADMIN=Governmental +TE_SMALL=Small company +TE_RETAIL=Retailer +TE_WHOLE=Wholetailer +TE_PRIVATE=Private individual +TE_OTHER=Other +StatusProspect-1=Do not contact +StatusProspect0=Never contacted +StatusProspect1=To contact +StatusProspect2=Contact in process +StatusProspect3=Contact done +ChangeDoNotContact=Change status to 'Do not contact' +ChangeNeverContacted=Change status to 'Never contacted' +ChangeToContact=Change status to 'To contact' +ChangeContactInProcess=Change status to 'Contact in process' +ChangeContactDone=Change status to 'Contact done' +ProspectsByStatus=Prospects by status +BillingContact=Billing contact +NbOfAttachedFiles=Number of attached files +AttachANewFile=Attach a new file +NoRIB=No BAN defined +NoParentCompany=None +ExportImport=Import-Export +ExportCardToFormat=Export card to format +ContactNotLinkedToCompany=Contact not linked to any third party +DolibarrLogin=Dolibarr login +NoDolibarrAccess=No Dolibarr access +ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ExportDataset_company_2=Contacts and properties +ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties +ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes +ImportDataset_company_3=Bank details +PriceLevel=Price level +DeliveriesAddress=Delivery addresses +DeliveryAddress=Delivery address +DeliveryAddressLabel=Delivery address label +DeleteDeliveryAddress=Delete a delivery address +ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? +NewDeliveryAddress=New delivery address +AddDeliveryAddress=Create address +AddAddress=Create address +NoOtherDeliveryAddress=No alternative delivery address defined +SupplierCategory=Supplier category +JuridicalStatus200=Independant +DeleteFile=Delete file +ConfirmDeleteFile=Are you sure you want to delete this file? +AllocateCommercial=Assigned to sale representative +SelectCountry=Select a country +SelectCompany=Select a third party +Organization=Organization +AutomaticallyGenerated=Automatically generated +FiscalYearInformation=Information on the fiscal year +FiscalMonthStart=Starting month of the fiscal year +YouMustCreateContactFirst=You must create emails contacts for third party first to be able to add emails notifications. +ListSuppliersShort=List of suppliers +ListProspectsShort=List of prospects +ListCustomersShort=List of customers +ThirdPartiesArea=Third parties and contact area +LastModifiedThirdParties=Last %s modified third parties +UniqueThirdParties=Total of unique third parties +InActivity=Open +ActivityCeased=Closed +ActivityStateFilter=Activity status +ProductsIntoElements=List of products into %s +CurrentOutstandingBill=Current outstanding bill +OutstandingBill=Max. for outstanding bill +OutstandingBillReached=Reached max. for outstanding bill +MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. +LeopardNumRefModelDesc=The code is free. This code can be modified at any time. +ManagingDirectors=Manager(s) name (CEO, director, president...) +SearchThirdparty=Search third party +SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/es_AR/cron.lang b/htdocs/langs/es_AR/cron.lang deleted file mode 100644 index 3f755fc725d..00000000000 --- a/htdocs/langs/es_AR/cron.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes diff --git a/htdocs/langs/es_AR/mails.lang b/htdocs/langs/es_AR/mails.lang index 4b5c7e95999..001b237ca8c 100644 --- a/htdocs/langs/es_AR/mails.lang +++ b/htdocs/langs/es_AR/mails.lang @@ -1,2 +1,143 @@ # Dolibarr language file - Source file is en_US - mails -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +Mailing=EMailing +EMailing=EMailing +Mailings=EMailings +EMailings=EMailings +AllEMailings=All eMailings +MailCard=EMailing card +MailTargets=Targets +MailRecipients=Recipients +MailRecipient=Recipient +MailTitle=Description +MailFrom=Sender +MailErrorsTo=Errors to +MailReply=Reply to +MailTo=Receiver(s) +MailCC=Copy to +MailCCC=Cached copy to +MailTopic=EMail topic +MailText=Message +MailFile=Attached files +MailMessage=EMail body +ShowEMailing=Show emailing +ListOfEMailings=List of emailings +NewMailing=New emailing +EditMailing=Edit emailing +ResetMailing=Resend emailing +DeleteMailing=Delete emailing +DeleteAMailing=Delete an emailing +PreviewMailing=Preview emailing +PrepareMailing=Prepare emailing +CreateMailing=Create emailing +MailingDesc=This page allows you to send emailings to a group of people. +MailingResult=Sending emails result +TestMailing=Test email +ValidMailing=Valid emailing +ApproveMailing=Approve emailing +MailingStatusDraft=Draft +MailingStatusValidated=Validated +MailingStatusApproved=Approved +MailingStatusSent=Sent +MailingStatusSentPartialy=Sent partialy +MailingStatusSentCompletely=Sent completely +MailingStatusError=Error +MailingStatusNotSent=Not sent +MailSuccessfulySent=Email successfully sent (from %s to %s) +MailingSuccessfullyValidated=EMailing successfully validated +MailUnsubcribe=Unsubscribe +Unsuscribe=Unsubscribe +MailingStatusNotContact=Don't contact anymore +ErrorMailRecipientIsEmpty=Email recipient is empty +WarningNoEMailsAdded=No new Email to add to recipient's list. +ConfirmValidMailing=Are you sure you want to validate this emailing ? +ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? +ConfirmDeleteMailing=Are you sure you want to delete this emailling ? +NbOfRecipients=Number of recipients +NbOfUniqueEMails=Nb of unique emails +NbOfEMails=Nb of EMails +TotalNbOfDistinctRecipients=Number of distinct recipients +NoTargetYet=No recipients defined yet (Go on tab 'Recipients') +AddRecipients=Add recipients +RemoveRecipient=Remove recipient +CommonSubstitutions=Common substitutions +YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values +MailingAddFile=Attach this file +NoAttachedFiles=No attached files +BadEMail=Bad value for EMail +CloneEMailing=Clone Emailing +ConfirmCloneEMailing=Are you sure you want to clone this emailing ? +CloneContent=Clone message +CloneReceivers=Cloner recipients +DateLastSend=Date of last sending +DateSending=Date sending +SentTo=Sent to %s +MailingStatusRead=Read +CheckRead=Read Receipt +YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list +MailtoEMail=Hyper link to email +ActivateCheckRead=Allow to use the "Unsubcribe" link +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature +EMailSentToNRecipients=EMail sent to %s recipients. +XTargetsAdded=%s recipients added into target list +EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s) +SendRemind=Send reminder by EMails +RemindSent=%s reminder(s) sent +AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +NoRemindSent=No EMail reminder sent +ResultOfMassSending=Result of mass EMail reminders sending + +# Libelle des modules de liste de destinataires mailing +MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) +MailingModuleDescDolibarrUsers=Dolibarr users +MailingModuleDescFundationMembers=Foundation members with emails +MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) +MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) +MailingModuleDescContactsCategories=Third parties (by category) +MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines +MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) +MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescMembersCategories=Foundation members (by categories) +MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) +LineInFile=Line %s in file +RecipientSelectionModules=Defined requests for recipient's selection +MailSelectedRecipients=Selected recipients +MailingArea=EMailings area +LastMailings=Last %s emailings +TargetsStatistics=Targets statistics +NbOfCompaniesContacts=Unique contacts/addresses +MailNoChangePossible=Recipients for validated emailing can't be changed +SearchAMailing=Search mailing +SendMailing=Send emailing +SendMail=Send email +SentBy=Sent by +MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. +ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? +LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +TargetsReset=Clear list +ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing +ToAddRecipientsChooseHere=Add recipients by choosing from the lists +NbOfEMailingsReceived=Mass emailings received +NbOfEMailingsSend=Mass emailings sent +IdRecord=ID record +DeliveryReceipt=Delivery Receipt +YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. +TagCheckMail=Track mail opening +TagUnsubscribe=Unsubscribe link +TagSignature=Signature sending user +TagMailtoEmail=Recipient EMail +# Module Notifications +Notifications=Notifications +NoNotificationsWillBeSent=No email notifications are planned for this event and company +ANotificationsWillBeSent=1 notification will be sent by email +SomeNotificationsWillBeSent=%s notifications will be sent by email +AddNewNotification=Activate a new email notification target +ListOfActiveNotifications=List all active email notification targets +ListOfNotificationsDone=List all email notifications sent +MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. +MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. +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 diff --git a/htdocs/langs/es_AR/main.lang b/htdocs/langs/es_AR/main.lang index 2e691473326..b8eb245ac6f 100644 --- a/htdocs/langs/es_AR/main.lang +++ b/htdocs/langs/es_AR/main.lang @@ -1,5 +1,9 @@ # 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=. @@ -19,3 +23,719 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTranslation=No translation +NoRecordFound=No record found +NoError=No error +Error=Error +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Can not create dir %s +ErrorCanNotReadDir=Can not read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorNoRequestRan=No request ran +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +BackgroundColorByDefault=Default background color +FileNotUploaded=The file was not uploaded +FileUploaded=The file was successfully uploaded +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=Nb of entries +GoToWikiHelpPage=Read online help (need Internet access) +GoToHelpPage=Read help +RecordSaved=Record saved +RecordDeleted=Record deleted +LevelOfFeature=Level of features +NotDefined=Not defined +DefinedAndHasThisValue=Defined and value to +IsNotDefined=undefined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten ? +SeeAbove=See above +HomeArea=Home area +LastConnexion=Last connection +PreviousConnexion=Previous connection +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentification mode +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +RequestLastAccessInError=Request for last database access in error +ReturnCodeLastAccessInError=Return code for last database access in error +InformationLastAccessInError=Information for last database access in error +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is information that can help diagnostic +MoreInformation=More information +TechnicalInformation=Technical information +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +Enabled=Enabled +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +Update=Update +AddActionToDo=Add event to do +AddActionDone=Add event done +Close=Close +Close2=Close +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? +Delete=Delete +Remove=Remove +Resiliate=Resiliate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +Save=Save +SaveAs=Save As +TestConnection=Test connection +ToClone=Clone +ConfirmClone=Choose data you want to clone : +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +ShowCardHere=Show card +Search=Search +SearchOf=Search +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Send file +ToLink=Link +Select=Select +Choose=Choose +ChooseLangage=Please choose your language +Resize=Resize +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +GlobalValue=Global value +PersonalValue=Personal value +NewValue=New value +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +CurrentNote=Current note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +Model=Model +DefaultModel=Default model +Action=Event +About=About +Number=Number +NumberByMonth=Number by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +DevelopmentTeam=Development Team +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Connection +Setup=Setup +Alert=Alert +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Date=Date +DateAndHour=Date and hour +DateStart=Date start +DateEnd=Date end +DateCreation=Creation date +DateModification=Modification date +DateModificationShort=Modif. date +DateLastModification=Last modification date +DateValidation=Validation date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DatePlanShort=Date planed +DateRealShort=Date real. +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +HourShort=H +MinuteShort=mn +Rate=Rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultGlobalValue=Global value +Price=Price +UnitPrice=Unit price +UnitPriceHT=Unit price (net) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=U.P. +Amount=Amount +AmountInvoice=Invoice amount +AmountPayment=Payment amount +AmountHTShort=Amount (net) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (net of tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyHT=Price for this quantity (net of tax) +PriceQtyMinHT=Price quantity min. (net of tax) +PriceQtyTTC=Price for this quantity (inc. tax) +PriceQtyMinTTC=Price quantity min. (inc. of tax) +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (net) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (net of tax) +TotalHTforthispage=Total (net of tax) for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +IncludedVAT=Included tax +HT=Net of tax +TTC=Inc. tax +VAT=Sales tax +LT1ES=RE +LT2ES=IRPF +VATRate=Tax Rate +Average=Average +Sum=Sum +Delta=Delta +Module=Module +Option=Option +List=List +FullList=Full list +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. supplier +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsDone=Events done +ActionsToDoShort=To do +ActionsRunningshort=Started +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=Started +ActionDoneShort=Finished +ActionUncomplete=Uncomplete +CompanyFoundation=Company/Foundation +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events about this third party +ActionsOnMember=Events about this member +NActions=%s events +NActionsLate=%s late +RequestAlreadyDone=Request already recorded +Filter=Filter +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +MyBookmarks=My bookmarks +OtherInformationsBoxes=Other information boxes +DolibarrBoard=Dolibarr board +DolibarrStateBoard=Statistics +DolibarrWorkBoard=Work tasks board +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Popularity=Popularity +Categories=Tags/categories +Category=Tag/category +By=By +From=From +to=to +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other informations +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultOk=Success +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +Validated=Validated +Opened=Open +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +Received=Received +Paid=Paid +Topic=Sujet +ByCompanies=By third parties +ByUsers=By users +Links=Links +Link=Link +Receipts=Receipts +Rejects=Rejects +Preview=Preview +NextStep=Next step +PreviousStep=Previous step +Datas=Data +None=None +NoneF=None +Late=Late +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +Login=Login +CurrentLogin=Current login +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +JanuaryMin=Jan +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Apr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +AttachedFiles=Attached files and documents +FileTransferComplete=File was uploaded successfuly +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Mot clé +Legend=Legend +FillTownFromZip=Fill city from zip +Fill=Fill +Reset=Reset +ShowLog=Show log +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfCustomers=Number of customers +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfReferers=Number of referrers +Referers=Refering objects +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildPDF=Build PDF +RebuildPDF=Rebuild PDF +BuildDoc=Build Doc +RebuildDoc=Rebuild Doc +Entity=Environment +Entities=Entities +EventLogs=Logs +CustomerPreview=Customer preview +SupplierPreview=Supplier preview +AccountancyPreview=Accountancy preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show supplier preview +ShowAccountancyPreview=Show accountancy preview +ShowProspectPreview=Show prospect preview +RefCustomer=Ref. customer +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Question=Question +Response=Response +Priority=Priority +SendByMail=Send by EMail +MailSentBy=Email sent by +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send Ack. by email +NoEMail=No email +NoMobilePhone=No mobile phone +Owner=Owner +DetectedVersion=Detected version +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s records modified +AutomaticCode=Automatic code +NotManaged=Not managed +FeatureDisabled=Feature disabled +MoveBox=Move box %s +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +PartialWoman=Partial +PartialMan=Partial +TotalWoman=Total +TotalMan=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Color=Color +Documents=Linked files +DocumentsNb=Linked files (%s) +Documents2=Documents +BuildDocuments=Generated documents +UploadDisabled=Upload disabled +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +NoFileFound=No documents saved in this directory +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +Informations=Informations +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +ListOfFiles=List of available files +FreeZone=Free entry +FreeLineOfType=Free entry of type +CloneMainAttributes=Clone object with its main attributes +PDFMerge=PDF Merge +Merge=Merge +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +NoMenu=No sub-menu +WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. +CreditCard=Credit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP convertion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Card must be validated before using this feature +Visibility=Visibility +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +OptionalFieldsSetup=Extra attributes setup +URLPhoto=URL of photo/logo +SetLinkToThirdParty=Link to another third party +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +DeleteAFile=Delete a file +ConfirmDeleteAFile=Are you sure you want to delete file +NoResults=No results +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +HomeDashboard=Home summary +Deductible=Deductible +from=from +toward=toward +Access=Access +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account Currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +ShowTransaction=Show transaction +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman +# Week day +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/es_AR/orders.lang b/htdocs/langs/es_AR/orders.lang index 6d902132a46..55802b4bb48 100644 --- a/htdocs/langs/es_AR/orders.lang +++ b/htdocs/langs/es_AR/orders.lang @@ -1,5 +1,173 @@ # Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Suppliers orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +Orders=Orders +OrderLine=Order line +OrderFollow=Follow up +OrderDate=Order date +OrderToProcess=Order to process +NewOrder=New order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Supplier order +SuppliersOrders=Suppliers orders +SuppliersOrdersRunning=Current suppliers orders +CustomerOrder=Customer order +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderToBillShort=Delivered +StatusOrderToBill2Short=To bill +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Everything received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderToBill2=To bill +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=Everything received +ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +DraftOrWaitingApproved=Draft or approved not yet ordered +DraftOrWaitingShipped=Draft or validated not yet shipped +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +SearchOrder=Search order +SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order +ShipProduct=Ship product +Discount=Discount +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 +AddOrder=Create order +AddToMyOrders=Add to my orders +AddToOtherOrders=Add to other orders +AddToDraftOrders=Add to draft order +ShowOrder=Show order +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders +NoDraftOrders=No draft orders +OtherOrders=Other orders LastOrders=Last %s customer orders +LastCustomerOrders=Last %s customer orders +LastSupplierOrders=Last %s supplier orders +LastModifiedOrders=Last %s modified orders +LastClosedOrders=Last %s closed orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Supplier order's statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (net of tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed. +ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done. +ConfirmDeleteOrder=Are you sure you want to delete this order ? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s ? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status ? +ConfirmCancelOrder=Are you sure you want to cancel this order ? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s ? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +ClassifyBilled=Classify billed +ComptaCard=Accountancy card +DraftOrders=Draft orders +RelatedOrders=Related orders +RelatedCustomerOrders=Related customer orders +RelatedSupplierOrders=Related supplier orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. customer order +RefCustomerOrderShort=Ref. cust. order +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UseCustomerContactAsOrderRecipientIfExist=Use customer contact address if defined instead of third party address as order recipient address +RunningOrders=Orders on process +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +CloneOrder=Clone order +ConfirmCloneOrder=Are you sure you want to clone this order %s ? +DispatchSupplierOrder=Receiving supplier order %s +FirstApprovalAlreadyDone=First approval already done +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up supplier order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Supplier invoice contact +TypeContact_order_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_order_supplier_external_CUSTOMER=Supplier contact following-up order + +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Failed to load module file '%s' +Error_FailedToLoad_COMMANDE_ADDON_File=Failed to load module file '%s' +Error_OrderNotChecked=No orders to invoice selected +# Sources +OrderSource0=Commercial proposal +OrderSource1=Internet +OrderSource2=Mail campaign +OrderSource3=Phone compaign +OrderSource4=Fax campaign +OrderSource5=Commercial +OrderSource6=Store +QtyOrdered=Qty ordered +AddDeliveryCostLine=Add a delivery cost line indicating the weight of the order +# Documents models +PDFEinsteinDescription=A complete order model (logo...) +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete proforma invoice (logo…) +# Orders modes +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=EMail +OrderByWWW=Online +OrderByPhone=Phone +CreateInvoiceForThisCustomer=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/es_AR/other.lang b/htdocs/langs/es_AR/other.lang index c50a095e492..c49606b8f75 100644 --- a/htdocs/langs/es_AR/other.lang +++ b/htdocs/langs/es_AR/other.lang @@ -1,3 +1,242 @@ # Dolibarr language file - Source file is en_US - other +SecurityCode=Security code +Calendar=Calendar +Tools=Tools +ToolsDesc=This area is dedicated to group miscellaneous tools not available into other menu entries.

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

__SIGNATURE__ +PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ +DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. +ChooseYourDemoProfil=Choose the demo profile that match your activity... +DemoFundation=Manage members of a foundation +DemoFundation2=Manage members and bank account of a foundation +DemoCompanyServiceOnly=Manage a freelance activity selling service only +DemoCompanyShopWithCashDesk=Manage a shop with a cash desk +DemoCompanyProductAndStocks=Manage a small or medium company selling products +DemoCompanyAll=Manage a small or medium company with multiple activities (all main modules) +GoToDemo=Go to demo +CreatedBy=Created by %s +ModifiedBy=Modified by %s +ValidatedBy=Validated by %s +CanceledBy=Canceled by %s +ClosedBy=Closed by %s +CreatedById=User id who created +ModifiedById=User id who made last change +ValidatedById=User id who validated +CanceledById=User id who canceled +ClosedById=User id who closed +CreatedByLogin=User login who created +ModifiedByLogin=User login who made last change +ValidatedByLogin=User login who validated +CanceledByLogin=User login who canceled +ClosedByLogin=User login who closed +FileWasRemoved=File %s was removed +DirWasRemoved=Directory %s was removed +FeatureNotYetAvailableShort=Available in a next version +FeatureNotYetAvailable=Feature not yet available in this version +FeatureExperimental=Experimental feature. Not stable in this version +FeatureDevelopment=Development feature. Not stable in this version +FeaturesSupported=Features supported +Width=Width +Height=Height +Depth=Depth +Top=Top +Bottom=Bottom +Left=Left +Right=Right +CalculatedWeight=Calculated weight +CalculatedVolume=Calculated volume +Weight=Weight +TotalWeight=Total weight +WeightUnitton=tonnes +WeightUnitkg=kg +WeightUnitg=g +WeightUnitmg=mg +WeightUnitpound=pound +Length=Length +LengthUnitm=m +LengthUnitdm=dm +LengthUnitcm=cm +LengthUnitmm=mm +Surface=Area +SurfaceUnitm2=m2 +SurfaceUnitdm2=dm2 +SurfaceUnitcm2=cm2 +SurfaceUnitmm2=mm2 +SurfaceUnitfoot2=ft2 +SurfaceUnitinch2=in2 +Volume=Volume +TotalVolume=Total volume +VolumeUnitm3=m3 +VolumeUnitdm3=dm3 +VolumeUnitcm3=cm3 +VolumeUnitmm3=mm3 +VolumeUnitfoot3=ft3 +VolumeUnitinch3=in3 +VolumeUnitounce=ounce +VolumeUnitlitre=litre +VolumeUnitgallon=gallon +Size=size +SizeUnitm=m +SizeUnitdm=dm +SizeUnitcm=cm +SizeUnitmm=mm +SizeUnitinch=inch +SizeUnitfoot=foot +SizeUnitpoint=point +BugTracker=Bug tracker +SendNewPasswordDesc=This form allows you to request a new password. It will be send to your email address.
Change will be effective only after clicking on confirmation link inside this email.
Check your email reader software. +BackToLoginPage=Back to login page +AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
In this mode, Dolibarr can't know nor change your password.
Contact your system administrator if you want to change your password. +EnableGDLibraryDesc=Install or enable GD library with your PHP for use this option. +EnablePhpAVModuleDesc=You need to install a module compatible with your anti-virus. (Clamav : php4-clamavlib ou php5-clamavlib) +ProfIdShortDesc=Prof Id %s is an information depending on third party country.
For example, for country %s, it's code %s. +DolibarrDemo=Dolibarr ERP/CRM demo +StatsByNumberOfUnits=Statistics in number of products/services units +StatsByNumberOfEntities=Statistics in number of referring entities +NumberOfProposals=Number of proposals on last 12 month +NumberOfCustomerOrders=Number of customer orders on last 12 month +NumberOfCustomerInvoices=Number of customer invoices on last 12 month +NumberOfSupplierOrders=Number of supplier orders on last 12 month +NumberOfSupplierInvoices=Number of supplier invoices on last 12 month +NumberOfUnitsProposals=Number of units on proposals on last 12 month +NumberOfUnitsCustomerOrders=Number of units on customer orders on last 12 month +NumberOfUnitsCustomerInvoices=Number of units on customer invoices on last 12 month +NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month +NumberOfUnitsSupplierInvoices=Number of units on supplier invoices on last 12 month +EMailTextInterventionValidated=The intervention %s has been validated. +EMailTextInvoiceValidated=The invoice %s has been validated. +EMailTextProposalValidated=The proposal %s has been validated. +EMailTextOrderValidated=The order %s has been validated. +EMailTextOrderApproved=The order %s has been approved. +EMailTextOrderValidatedBy=The order %s has been recorded by %s. +EMailTextOrderApprovedBy=The order %s has been approved by %s. +EMailTextOrderRefused=The order %s has been refused. +EMailTextOrderRefusedBy=The order %s has been refused by %s. +EMailTextExpeditionValidated=The shipping %s has been validated. +ImportedWithSet=Importation data set +DolibarrNotification=Automatic notification +ResizeDesc=Enter new width OR new height. Ratio will be kept during resizing... +NewLength=New width +NewHeight=New height +NewSizeAfterCropping=New size after cropping +DefineNewAreaToPick=Define new area on image to pick (left click on image then drag until you reach the opposite corner) +CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is informations on current edited image +ImageEditor=Image editor +YouReceiveMailBecauseOfNotification=You receive this message because your email has been added to list of targets to be informed of particular events into %s software of %s. +YouReceiveMailBecauseOfNotification2=This event is the following: +ThisIsListOfModules=This is a list of modules preselected by this demo profile (only most common modules are visible in this demo). Edit this to have a more personalized demo and click on "Start". +ClickHere=Click here +UseAdvancedPerms=Use the advanced permissions of some modules +FileFormat=File format +SelectAColor=Choose a color +AddFiles=Add Files +StartUpload=Start upload +CancelUpload=Cancel upload +FileIsTooBig=Files is too big +PleaseBePatient=Please be patient... +RequestToResetPasswordReceived=A request to change your Dolibarr password has been received +NewKeyIs=This is your new keys to login +NewKeyWillBe=Your new key to login to software will be +ClickHereToGoTo=Click here to go to %s +YouMustClickToChange=You must however first click on the following link to validate this password change +ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. +IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources + +##### Calendar common ##### +AddCalendarEntry=Add entry in calendar %s +NewCompanyToDolibarr=Company %s added +ContractValidatedInDolibarr=Contract %s validated +ContractCanceledInDolibarr=Contract %s canceled +ContractClosedInDolibarr=Contract %s closed +PropalClosedSignedInDolibarr=Proposal %s signed +PropalClosedRefusedInDolibarr=Proposal %s refused +PropalValidatedInDolibarr=Proposal %s validated +PropalClassifiedBilledInDolibarr=Proposal %s classified billed +InvoiceValidatedInDolibarr=Invoice %s validated +InvoicePaidInDolibarr=Invoice %s changed to paid +InvoiceCanceledInDolibarr=Invoice %s canceled +PaymentDoneInDolibarr=Payment %s done +CustomerPaymentDoneInDolibarr=Customer payment %s done +SupplierPaymentDoneInDolibarr=Supplier payment %s done +MemberValidatedInDolibarr=Member %s validated +MemberResiliatedInDolibarr=Member %s resiliated +MemberDeletedInDolibarr=Member %s deleted +MemberSubscriptionAddedInDolibarr=Subscription for member %s added +ShipmentValidatedInDolibarr=Shipment %s validated +ShipmentDeletedInDolibarr=Shipment %s deleted +##### Export ##### +Export=Export +ExportsArea=Exports area +AvailableFormats=Available formats +LibraryUsed=Librairy used +LibraryVersion=Version +ExportableDatas=Exportable data +NoExportableData=No exportable data (no modules with exportable data loaded, or missing permissions) +ToExport=Export +NewExport=New export +##### External sites ##### +ExternalSites=External sites diff --git a/htdocs/langs/es_AR/productbatch.lang b/htdocs/langs/es_AR/productbatch.lang index 53edc04d8c4..37ceaa49b38 100644 --- a/htdocs/langs/es_AR/productbatch.lang +++ b/htdocs/langs/es_AR/productbatch.lang @@ -1,11 +1,22 @@ -# Dolibarr language file - Source file is en_US - productbatch +# ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot/serial required) ProductStatusNotOnBatch=No (lot/serial not used) +ProductStatusOnBatchShort=Yes +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 +l_eatby=Eat-by date +l_sellby=Sell-by date DetailBatchNumber=Lot/Serial details DetailBatchFormat=Lot/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lot/Serial: %s +printEatby=Eat-by: %s +printSellby=Sell-by: %s +printQty=Qty: %d +AddDispatchBatchLine=Add a line for Shelf Life dispatching +BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/es_AR/stocks.lang b/htdocs/langs/es_AR/stocks.lang index 3a989d45e7d..7aeef1c9641 100644 --- a/htdocs/langs/es_AR/stocks.lang +++ b/htdocs/langs/es_AR/stocks.lang @@ -1,2 +1,140 @@ # Dolibarr language file - Source file is en_US - stocks -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +NewWarehouse=New warehouse / Stock area +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseOpened=Warehouse open +WarehouseClosed=Warehouse closed +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddOne=Add one +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +StocksByLotSerial=Stock by lot/serial +Movement=Movement +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ErrorWarehouseLabelRequired=Warehouse label is required +CorrectStock=Correct stock +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +StocksArea=Warehouses area +Location=Location +LocationSummary=Short name location +NumberOfDifferentProducts=Number of different products +NumberOfProducts=Total number of products +LastMovement=Last movement +LastMovements=Last movements +Units=Units +Unit=Unit +StockCorrection=Correct stock +StockTransfer=Stock transfer +StockMovement=Transfer +StockMovements=Stock transfers +LabelMovement=Movement label +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +TotalStock=Total in stock +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit +EnhancedValue=Value +PMPValue=Weighted average price +PMPValueShort=WAP +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a warehouse automatically when creating a user +IndependantSubProductStock=Product stock and subproduct stock are independant +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Stock dispatching +RuleForStockManagementDecrease=Rule for stock management decrease +RuleForStockManagementIncrease=Rule for stock management increase +DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation +DeStockOnValidateOrder=Decrease real stocks on customers orders validation +DeStockOnShipment=Decrease real stocks on shipment validation +ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation +ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving +ReStockOnDeleteInvoice=Increase real stocks on invoice deletion +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +PhysicalStock=Physical stock +RealStock=Real Stock +VirtualStock=Virtual stock +MininumStock=Minimum stock +StockUp=Stock up +MininumStockShort=Stock min +StockUpShort=Stock up +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +AverageUnitPricePMPShort=Weighted average input price +AverageUnitPricePMP=Weighted average input price +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value to sell +EstimatedStockValueSell=Value to Sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s ? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +LastWaitingSupplierOrders=Orders waiting for receptions +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ +UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +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 supplier +AlertOnly= Alerts only +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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 +MassStockMovement=Mass stock movement +SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". +RecordMovement=Record transfert +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/es_AR/suppliers.lang b/htdocs/langs/es_AR/suppliers.lang index 5213cec4e07..5388a4867c7 100644 --- a/htdocs/langs/es_AR/suppliers.lang +++ b/htdocs/langs/es_AR/suppliers.lang @@ -1,2 +1,46 @@ # Dolibarr language file - Source file is en_US - suppliers +Suppliers=Suppliers +AddSupplier=Create a supplier +SupplierRemoved=Supplier removed +SuppliersInvoice=Suppliers invoice +NewSupplier=New supplier +History=History +ListOfSuppliers=List of suppliers +ShowSupplier=Show supplier +OrderDate=Order date +BuyingPrice=Buying price +BuyingPriceMin=Minimum buying price +BuyingPriceMinShort=Min buying price +TotalBuyingPriceMin=Total of subproducts buying prices +SomeSubProductHaveNoPrices=Some sub-products have no price defined +AddSupplierPrice=Add supplier price +ChangeSupplierPrice=Change supplier price +ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier +ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. +ProductHasAlreadyReferenceInThisSupplier=This product has already a reference in this supplier +ReferenceSupplierIsAlreadyAssociatedWithAProduct=This reference supplier is already associated with a reference: %s +NoRecordedSuppliers=No suppliers recorded +SupplierPayment=Supplier payment +SuppliersArea=Suppliers area +RefSupplierShort=Ref. supplier +Availability=Availability +ExportDataset_fournisseur_1=Supplier invoices list and invoice lines +ExportDataset_fournisseur_2=Supplier invoices and payments +ExportDataset_fournisseur_3=Supplier orders and order lines +ApproveThisOrder=Approve this order +ConfirmApproveThisOrder=Are you sure you want to approve order %s ? DenyingThisOrder=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 ? +AddCustomerOrder=Create customer order +AddCustomerInvoice=Create customer invoice +AddSupplierOrder=Create supplier order +AddSupplierInvoice=Create supplier invoice +ListOfSupplierProductForSupplier=List of products and prices for supplier %s +NoneOrBatchFileNeverRan=None or batch %s not ran recently +SentToSuppliers=Sent to suppliers +ListOfSupplierOrders=List of supplier orders +MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest deliver delay of the products from this order +UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/es_AR/trips.lang b/htdocs/langs/es_AR/trips.lang index f5e6f1a92eb..b7b726bcebe 100644 --- a/htdocs/langs/es_AR/trips.lang +++ b/htdocs/langs/es_AR/trips.lang @@ -1,14 +1,101 @@ # Dolibarr language file - Source file is en_US - trips +ExpenseReport=Expense report +ExpenseReports=Expense reports Trip=Expense report Trips=Expense reports TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports +ListOfFees=List of fees NewTrip=New expense report +CompanyVisited=Company/foundation visited +Kilometers=Kilometers +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 SearchATripAndExpense=Search an expense report +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.\n- User: %s\n- Period: %s\nClick here to validate: %s +TripId=Id expense report +AnyOtherInThisListCanValidate=Person to inform for validation. +TripSociete=Information company +TripSalarie=Informations user +TripNDF=Informations expense report +DeleteLine=Delete a line of the expense report +ConfirmDeleteLine=Are you sure you want to delete this line ? +PDFStandardExpenseReports=Standard template to generate a PDF document for expense report +ExpenseReportLine=Expense report line +TF_OTHER=Other +TF_TRANSPORTATION=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 + +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +AucuneNDF=No expense reports found for this criteria +AucuneLigne=There is no expense report declared yet +AddLine=Add a line +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +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_VALIDE=Validation date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent on approval +ModifyInfoGen=Edit +ValidateAndSubmit=Validate and submit for approval + +NOT_VALIDATOR=You are not allowed to approve this expense report +NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. + +RefuseTrip=Deny an expense report +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" ? + +CancelTrip=Cancel an expense report +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. diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang index c25fb01f690..1af79f8b17a 100644 --- a/htdocs/langs/es_CO/admin.lang +++ b/htdocs/langs/es_CO/admin.lang @@ -1,16 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +LibraryToBuildPDF=Library used to build PDF +WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 +DefaultLink=Default link +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module - Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for thirdparties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + +# Modules +Module0Name=Users & groups +Module0Desc=Users and groups management +Module1Name=Third parties +Module1Desc=Companies and contact management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting +Module10Desc=Simple accounting reports (journals, turnover) based onto database content. No dispatching. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass E-mailings +Module22Desc=Mass E-mailing management +Module23Name= Energy +Module23Desc= Monitoring the consumption of energies +Module25Name=Customer Orders +Module25Desc=Customer order management +Module30Name=Invoices +Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module40Name=Suppliers +Module40Desc=Supplier management and buying (orders and invoices) +Module42Name=Logs +Module42Desc=Logging facilities (file, syslog, ...) +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Product management +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management (products) +Module53Name=Services +Module53Desc=Service management +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or reccuring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode management +Module56Name=Telephony +Module56Desc=Telephony integration +Module57Name=Standing orders +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module59Name=Bookmark4u +Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery order management +Module85Name=Banks and cash +Module85Desc=Management of bank or cash accounts +Module100Name=External site +Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronisation +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr datas (with assistants) +Module250Name=Data imports +Module250Desc=Tool to import datas in Dolibarr (with assistants) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add RSS feed inside Dolibarr screen pages +Module330Name=Bookmarks +Module330Desc=Bookmark management +Module400Name=Projects/Opportunities/Leads +Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) +Module510Name=Salaries +Module510Desc=Management of employees salaries and payments +Module520Name=Loan +Module520Desc=Management of loans +Module600Name=Notifications +Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module700Name=Donations +Module700Desc=Donation management +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1400Name=Accounting +Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation +Module1780Name=Tags/Categories Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices +Module2300Name=Cron +Module2300Desc=Scheduled job management +Module2400Name=Agenda +Module2400Desc=Events/tasks and agenda management +Module2500Name=Electronic Content Management +Module2500Desc=Save and share documents +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services +Module2650Name=WebServices (client) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3100Name=Skype +Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Workflow +Module6000Desc=Workflow management +Module20000Name=Leave Requests management +Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product lot Module39000Desc=Lot or serial number, eat-by and sell-by date management on products +Module50000Name=PayBox +Module50000Desc=Module to offer an online payment page by credit card with PayBox +Module50100Name=Point of sales +Module50100Desc=Point of sales module +Module50200Name=Paypal +Module50200Desc=Module to offer an online payment page by credit card with Paypal +Module50400Name=Accounting (advanced) +Module50400Desc=Accounting management (double parties) +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module55000Name=Open Poll +Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module59000Name=Margins +Module59000Desc=Module to manage margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Unvalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission41=Read projects (shared project and projects i'm contact for) +Permission42=Create/modify projects (shared project and projects i'm contact for) +Permission44=Delete projects (shared project and projects i'm contact for) +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export datas +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social contributions and vat +Permission92=Create/modify social contributions and vat +Permission93=Delete social contributions and vat +Permission94=Export social contributions +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage cheques dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read projects (also private i am not contact for) +Permission142=Create/modify projects (also private i am not contact for) +Permission144=Delete projects (also private i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read standing orders +Permission152=Create/modify a standing orders request +Permission153=Transmission standing orders receipts +Permission154=Credit/refuse standing orders receipts +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission171=Read trips and expenses (own and his subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read supplier orders +Permission182=Create/modify supplier orders +Permission183=Validate supplier orders +Permission184=Approve supplier orders +Permission185=Order or cancel supplier orders +Permission186=Receive supplier orders +Permission187=Close supplier orders +Permission188=Cancel supplier orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwith lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permisssions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties (not only those linked to user). Not effective for external users (always limited to themselves). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify costumers tariffs +Permission300=Read bar codes +Permission301=Create/modify bar codes +Permission302=Delete bar codes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission510=Read Salaries +Permission512=Create/modify salaries +Permission514=Delete salaries +Permission517=Export salaries +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 +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery orders +Permission1102=Create/modify delivery orders +Permission1104=Validate delivery orders +Permission1109=Delete delivery orders +Permission1181=Read suppliers +Permission1182=Read supplier orders +Permission1183=Create/modify supplier orders +Permission1184=Validate supplier orders +Permission1185=Approve supplier orders +Permission1186=Order supplier orders +Permission1187=Acknowledge receipt of supplier orders +Permission1188=Delete supplier orders +Permission1190=Approve (second approval) supplier orders +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read supplier invoices +Permission1232=Create/modify supplier invoices +Permission1233=Validate supplier invoices +Permission1234=Delete supplier invoices +Permission1235=Send supplier invoices by email +Permission1236=Export supplier invoices, attributes and payments +Permission1237=Export supplier orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1421=Export customer orders and attributes +Permission23001=Read Scheduled job +Permission23002=Create/update Scheduled job +Permission23003=Delete Scheduled job +Permission23004=Execute Scheduled job +Permission2401=Read actions (events or tasks) linked to his account +Permission2402=Create/modify actions (events or tasks) linked to his account +Permission2403=Delete actions (events or tasks) linked to his account +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission50101=Use Point of sales +Permission50201=Read transactions +Permission50202=Import transactions +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Prospect potential level +DictionaryCanton=State/Cantons +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Civility title +DictionaryActions=Type of agenda events +DictionarySocialContributions=Social contributions types +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of revenue stamps +DictionaryPaymentConditions=Payment terms +DictionaryPaymentModes=Payment modes +DictionaryTypeContact=Contact/Address types +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFees=Type of fees +DictionarySendingMethods=Shipping methods +DictionaryStaff=Staff +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancysystem=Models for chart of accounts +DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status +SetupSaved=Setup saved +BackToModuleList=Back to modules list +BackToDictionaryList=Back to dictionaries list +VATReceivedOnly=Special rate not charged +VATManagement=VAT Management +VATIsUsedDesc=The VAT rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to VAT, then VAT by default=0. End of rule.
If the (selling country= buying country), then the VAT by default=VAT of the product in the selling country. End of rule.
If seller and buyer in the European Community and goods are transport products (car, ship, plane), the default VAT=0 ( The VAT should be paid by the buyer at the customoffice of his country and not at the seller). End of rule.
If seller and buyer in the European Community and buyer is not a company, then the VAT by default=VAT of product sold. End of rule.
If seller and buyer in the European Community and buyer is a company, then the VAT by default=0. End of rule.
Else the proposed default VAT=0. End of rule. +VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases like associations, individuals ou small companies. +VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices. +##### Local Taxes ##### +LTRate=Rate +LocalTax1IsUsed=Use second tax +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than VAT) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsUsed=Use third tax +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than VAT) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Management +LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If te buyer is not subjected to RE, RE by default=0. End of rule.
If the buyer is subjected to RE then the RE by default. End of rule.
+LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES= In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES= In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES= IRPF Management +LocalTax2IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
If the seller is subjected to IRPF then the IRPF by default. End of rule.
+LocalTax2IsNotUsedDescES= By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES= In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES= In Spain they are bussines not subject to tax system of modules. +CalcLocaltax=Reports 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 +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +NbOfDays=Nb of days +AtEndOfMonth=At end of month +Offset=Offset +AlwaysActive=Always active +UpdateRequired=Your system needs to be updated. To do this, click on Update now. +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Add extension (theme, module, ...) +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +AllParameters=All parameters +OS=OS +PhpEnv=Env +PhpModules=Modules +PhpConf=Conf +PhpWebLink=Web-Php link +Pear=Pear +PearPackages=Pear Packages +Browser=Browser +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +DatabaseConfiguration=Database setup +Tables=Tables +TableName=Table name +TableLineFormat=Line format +NbOfRecord=Nb of records +Constraints=Constraints +ConstraintsType=Constraints type +ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry +AllMustBeOk=All of these must be checked +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +SystemUpdate=System update +SystemSuccessfulyUpdate=Your system has been updated successfuly +MenuCompanySetup=Company/Foundation +MenuNewUser=New user +MenuTopManager=Top menu manager +MenuLeftManager=Left menu manager +MenuManager=Menu manager +MenuSmartphoneManager=Smartphone menu manager +DefaultMenuTopManager=Top menu manager +DefaultMenuLeftManager=Left menu manager +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for list +MessageOfDay=Message of the day +MessageLogin=Login page message +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language to use (language code) +EnableMultilangInterface=Enable multilingual interface +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +SystemSuccessfulyUpdated=Your system has been updated successfully +CompanyInfo=Company/foundation information +CompanyIds=Company/foundation identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +CompanyObject=Object of the company +Logo=Logo +DoNotShow=Do not show +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Show link "%s" +ShowWorkBoard=Show "workbench" on homepage +Alerts=Alerts +Delays=Delays +DelayBeforeWarning=Delay before warning +DelaysBeforeWarning=Delays before warning +DelaysOfToleranceBeforeWarning=Tolerance delays before warning +DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events not yet realised +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not yet processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not yet processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Delay tolerance (in days) before alert on proposals to close +Delays_MAIN_DELAY_PROPALS_TO_BILL=Delay tolerance (in days) before alert on proposals not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerance delay (in days) before alert on services to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerance delay (in days) before alert on expired services +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerance delay (in days) before alert on unpaid supplier invoices +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence delay (in days) before alert on unpaid client invoices +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerance delay (in days) before alert on pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do +SetupDescription1=All parameters available in the setup area allow you to setup Dolibarr before starting using it. +SetupDescription2=The 2 most important setup steps are the 2 first ones in the left setup menu, this means Company/foundation setup page and Modules setup page: +SetupDescription3=Parameters in menu Setup -> Company/foundation are required because input information is used on Dolibarr displays and to modify Dolibarr behaviour (for example for features related to your country). +SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a fixed ERP/CRM but a sum of several modules, all more or less independant. It's only after activating modules you're interesting in that you will see features appeared in menus. +SetupDescription5=Other menu entries manage optional parameters. +EventsSetup=Setup for events logs +LogEvents=Security audit events +Audit=Audit +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos web server +InfoDatabase=Infos database +InfoPHP=Infos PHP +InfoPerf=Infos performances +BrowserName=Browser name +BrowserOS=Browser OS +ListEvents=Audit events +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu System tools - Audit. Warning, this feature can consume a large amount of data in database. +AreaForAdminOnly=Those features can be used by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +DisplayDesc=You can choose each parameter related to the Dolibarr look and feel here +AvailableModules=Available modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantee that session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guaranty that session will expire just after this delay. It will expire, after this delay, and when the session cleaner is ran, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behaviour of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realised new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Define here which rule you want to use to generate new password if you ask to have auto generated password +DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +ConstDesc=This page allows you to edit all other parameters not available in previous pages. They are reserved parameters for advanced developers or for troubleshouting. +OnceSetupFinishedCreateUsers=Warning, you are a Dolibarr administrator user. Administrator users are used to setup Dolibarr. For a usual usage of Dolibarr, it is recommended to use a non administrator user created from Users & Groups menu. +MiscellaneousDesc=Define here all other parameters related to security. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimisations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) +MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been recorded yet. This can be normal if audit has not been enabled on "setup - security - audit" page. +NoEventFoundWithCriteria=No security event has been found for such search criterias. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=To make a complete backup of Dolibarr, you must: BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one +RestoreDesc=To restore a Dolibarr backup, you must: RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule= This rule is forced to %s by an activated module +PreviousDumpFiles=Available database backup dump files +WeekStartOnDay=First day of week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset +ShowProfIdInAddress=Show professionnal id with addresses on documents +ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents +TranslationUncomplete=Partial translation +SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. +MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) +MAIN_DISABLE_METEO=Disable meteo view +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it. +ExternalAccess=External access +MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet) +MAIN_PROXY_HOST=Name/Address of proxy server +MAIN_PROXY_PORT=Port of proxy server +MAIN_PROXY_USER=Login to use the proxy server +MAIN_PROXY_PASS=Password to use the proxy server +DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsThirdParties=Complementary attributes (thirdparty) +ExtraFieldsContacts=Complementary attributes (contact/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerOrders=Complementary attributes (orders) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendingMailSetup=Setup of sendings by email +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +TranslationSetup=Configuration de la traduction +TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). +TotalNumberOfActivatedModules=Total number of activated feature modules: %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found into PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s that is best driver available currently. +YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. +NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +SearchOptim=Search optimization +YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. +BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. +XDebugInstalled=XDebug is loaded. +XCacheInstalled=XCache is loaded. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. +##### Users setup ##### +UserGroupSetup=Users and groups module setup +GeneratePassword=Suggest a generated password +RuleForGeneratedPasswords=Rule to generate suggested passwords or validate passwords +DoNotSuggest=Do not suggest any password +EncryptedPasswordInDatabase=To allow the encryption of the passwords in the database +DisableForgetPasswordLinkOnLogonPage=Do not show the link "Forget password" on login page +UsersSetup=Users module setup +UserMailRequired=EMail required to create a new user +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) +AccountCodeManager=Module for accountancy code generation (customer or supplier) +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +UseNotifications=Use notifications NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +ModelModules=Documents templates +DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules on Professional Ids +MustBeUnique=Must be unique ? +MustBeMandatory=Mandatory to create third parties ? +MustBeInvoiceMandatory=Mandatory to validate invoices ? +Miscellaneous=Miscellaneous +##### Webcal setup ##### +WebCalSetup=Webcalendar link setup +WebCalSyncro=Add Dolibarr events to WebCalendar +WebCalAllways=Always, no asking +WebCalYesByDefault=On demand (yes by default) +WebCalNoByDefault=On demand (no by default) +WebCalNever=Never +WebCalURL=URL for calendar access +WebCalServer=Server hosting calendar database +WebCalDatabaseName=Database name +WebCalUser=User to access database +WebCalSetupSaved=Webcalendar setup saved successfully. +WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +WebCalTestKo2=Connection to server '%s' with user '%s' failed. +WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database. +WebCalAddEventOnCreateActions=Add calendar event on actions create +WebCalAddEventOnCreateCompany=Add calendar event on companies create +WebCalAddEventOnStatusPropal=Add calendar event on commercial proposals status change +WebCalAddEventOnStatusContract=Add calendar event on contracts status change +WebCalAddEventOnStatusBill=Add calendar event on bills status change +WebCalAddEventOnStatusMember=Add calendar event on members status change +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct. +##### Invoices ##### +BillsSetup=Invoices module setup +BillsDate=Invoices date +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +CreditNoteSetup=Credit note module setup +CreditNotePDFModules=Credit note document models +CreditNote=Credit note +CreditNotes=Credit notes +ForceInvoiceDate=Force invoice date to validation date +DisableRepeatable=Disable repeatable invoices +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +##### Proposals ##### +PropalSetup=Commercial proposals module setup +CreateForm=Create forms +NumberOfProductLines=Number of product lines +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +ClassifiedInvoiced=Classified invoiced +HideTreadedPropal=Hide the treated commercial proposals in the list +AddShippingDateAbility=Add shipping date ability +AddDeliveryAddressAbility=Add delivery date ability +UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Free text on price requests suppliers +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request +##### Orders ##### +OrdersSetup=Order management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +HideTreadedOrders=Hide the treated or cancelled orders in the list +ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). +##### Bookmark4u ##### +Bookmark4uSetup=Bookmark4u module setup +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AddSubscriptionIntoAccount=Suggest by default to create a bank transaction, in bank module, when adding a new payed subscription +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=EMail required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPTypeExample=OpenLdap, Egroupware or Active Directory +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port : 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPPasswordExample=Admin password +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveYes=Activated synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members type DN +LDAPMemberTypeDnExample=Complete DN (ex: ou=type_members,dc=example,dc=com) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindFailed=Disconnect failed +LDAPConnectToDNSuccessfull=Connection to DN (%s) successful +LDAPConnectToDNFailed=Connection to DN (%s) failed +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example : uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example : &(objectClass=inetOrgPerson) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example : samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example : cn +LDAPFieldPassword=Password +LDAPFieldPasswordNotCrypted=Password not crypted +LDAPFieldPasswordCrypted=Password crypted +LDAPFieldPasswordExample=Example : userPassword +LDAPFieldCommonName=Common name +LDAPFieldCommonNameExample=Example : cn +LDAPFieldName=Name +LDAPFieldNameExample=Example : sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example : givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example : mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example : telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example : homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example : mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example : facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example : street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example : postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example : l +LDAPFieldCountry=Country +LDAPFieldCountryExample=Example : c +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example : description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example : uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldBirthdateExample=Example : +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example : o +LDAPFieldSid=SID +LDAPFieldSidExample=Example : objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Post/Function +LDAPFieldTitleExample=Example: title +LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. +NotInstalled=Not installed, so your server is not slow down by this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) +ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms +ModifyProductDescAbility=Personalization of product descriptions in forms +ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualization of products descriptions in the thirdparty language +UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseEcoTaxeAbility=Support Eco-Taxe (WEEE) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogSyslog=Syslog +SyslogFacility=Facility +SyslogLevel=Level +SyslogSimpleFile=File +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=Windows only supports LOG_USER +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +UseBarcodeInProductModule=Use bar codes for products +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +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=Withdrawal module setup +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender EMail (From) for emails sent by emailing module +MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=EMail notification module setup +NotificationEMailFrom=Sender EMail (From) for emails sent for notifications +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Fixed email target +##### Sendings ##### +SendingsSetup=Sending module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipment sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +##### OSCommerce 1 ##### +OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). +OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. +OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. +##### Stock ##### +StockSetup=Warehouse module setup +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. +##### Menu ##### +MenuDeleted=Menu deleted +TreeMenu=Tree menus +Menus=Menus +TreeMenuPersonalized=Personalized menus +NewMenu=New menu +MenuConf=Menus setup +Menu=Selection of menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu= Hide unauthorized menus (gray) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailMainmenu=Group for which it belongs (obsolete) +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailLeftmenu=Display condition or not (obsolete) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top open a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line ? +##### Tax ##### +TaxSetup=Taxes, social contributions and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Cash basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on payments for services +OptionVatDebitOptionDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on invoice (debit) for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup. +AccountancyCode=Accountancy Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view +AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +##### ClickToDial ##### +ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +##### Point Of Sales (CashDesk) ##### +CashDesk=Point of sales +CashDeskSetup=Point of sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque= Default account to use to receive payments by cheque +CashDeskBankAccountForCB= Default account to use to receive payments by credit cards CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or externale web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on cheque receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Supplier module setup +SuppliersCommandModel=Complete template of supplier order (logo...) +SuppliersInvoiceModel=Complete template of supplier invoice (logo...) +SuppliersInvoiceNumberingModel=Supplier invoices numbering models +IfSetToYesDontForgetPermission=If set to yes, 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 +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +##### ECM (GED) ##### +ECMSetup = GED Setup +ECMAutoTree = Automatic tree folder and document +##### Fiscal Year ##### +FiscalYears=Fiscal years +FiscalYear=Fiscal year +FiscalYearCard=Fiscal year card +NewFiscalYear=New fiscal year +EditFiscalYear=Edit fiscal year +OpenFiscalYear=Open fiscal year +CloseFiscalYear=Close fiscal year +DeleteFiscalYear=Delete fiscal year +ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? +Opened=Open +Closed=Closed +AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. +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". +ListOfNotificationsPerContact=List of notifications per contact* +ListOfFixedNotifications=List of fixed notifications +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build database backup dump file +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 only manual steps a privileged user can do. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/es_CO/banks.lang b/htdocs/langs/es_CO/banks.lang index e58cf5e72b5..f363ffa56c6 100644 --- a/htdocs/langs/es_CO/banks.lang +++ b/htdocs/langs/es_CO/banks.lang @@ -1,2 +1,167 @@ # Dolibarr language file - Source file is en_US - banks +Bank=Bank +Banks=Banks +MenuBankCash=Bank/Cash +MenuSetupBank=Bank/Cash setup +BankName=Bank name +FinancialAccount=Account +FinancialAccounts=Accounts +BankAccount=Bank account +BankAccounts=Bank accounts +ShowAccount=Show Account +AccountRef=Financial account ref +AccountLabel=Financial account label +CashAccount=Cash account +CashAccounts=Cash accounts +MainAccount=Main account +CurrentAccount=Current account +CurrentAccounts=Current accounts +SavingAccount=Savings account +SavingAccounts=Savings accounts +ErrorBankLabelAlreadyExists=Financial account label already exists +BankBalance=Balance +BankBalanceBefore=Balance before +BankBalanceAfter=Balance after +BalanceMinimalAllowed=Minimum allowed balance +BalanceMinimalDesired=Minimum desired balance +InitialBankBalance=Initial balance +EndBankBalance=End balance +CurrentBalance=Current balance +FutureBalance=Future balance +ShowAllTimeBalance=Show balance from start +AllTime=From start +Reconciliation=Reconciliation +RIB=Bank Account Number +IBAN=IBAN number +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid +BIC=BIC/SWIFT number +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid +StandingOrders=Standing orders +StandingOrder=Standing order +Withdrawals=Withdrawals +Withdrawal=Withdrawal +AccountStatement=Account statement +AccountStatementShort=Statement +AccountStatements=Account statements +LastAccountStatements=Last account statements +Rapprochement=Reconciliate +IOMonthlyReporting=Monthly reporting +BankAccountDomiciliation=Account address +BankAccountCountry=Account country +BankAccountOwner=Account owner name +BankAccountOwnerAddress=Account owner address +RIBControlError=Integrity check of values fails. This means information for this account number are not complete or wrong (check country, numbers and IBAN). +CreateAccount=Create account +NewAccount=New account +NewBankAccount=New bank account +NewFinancialAccount=New financial account +MenuNewFinancialAccount=New financial account +NewCurrentAccount=New current account +NewSavingAccount=New savings account +NewCashAccount=New cash account +EditFinancialAccount=Edit account +AccountSetup=Financial accounts setup +SearchBankMovement=Search bank movement +Debts=Debts +LabelBankCashAccount=Bank or cash label +AccountType=Account type +BankType0=Savings account +BankType1=Current or credit card account +BankType2=Cash account +IfBankAccount=If bank account +AccountsArea=Accounts area +AccountCard=Account card +DeleteAccount=Delete account +ConfirmDeleteAccount=Are you sure you want to delete this account ? +Account=Account +ByCategories=By categories +ByRubriques=By categories +BankTransactionByCategories=Bank transactions by categories +BankTransactionForCategory=Bank transactions for category %s +RemoveFromRubrique=Remove link with category +RemoveFromRubriqueConfirm=Are you sure you want to remove link between the transaction and the category ? +ListBankTransactions=List of bank transactions +IdTransaction=Transaction ID +BankTransactions=Bank transactions +SearchTransaction=Search transaction +ListTransactions=List transactions +ListTransactionsByCategory=List transaction/category +TransactionsToConciliate=Transactions to reconcile +Conciliable=Can be reconciled +Conciliate=Reconcile +Conciliation=Reconciliation +ConciliationForAccount=Reconcile this account +IncludeClosedAccount=Include closed accounts +OnlyOpenedAccount=Only open accounts +AccountToCredit=Account to credit +AccountToDebit=Account to debit +DisableConciliation=Disable reconciliation feature for this account +ConciliationDisabled=Reconciliation feature disabled +StatusAccountOpened=Open +StatusAccountClosed=Closed +AccountIdShort=Number +EditBankRecord=Edit record +LineRecord=Transaction +AddBankRecord=Add transaction +AddBankRecordLong=Add transaction manually +ConciliatedBy=Reconciled by +DateConciliating=Reconcile date +BankLineConciliated=Transaction reconciled +CustomerInvoicePayment=Customer payment +CustomerInvoicePaymentBack=Customer payment back +SupplierInvoicePayment=Supplier payment +WithdrawalPayment=Withdrawal payment +SocialContributionPayment=Social contribution payment +FinancialAccountJournal=Financial account journal +BankTransfer=Bank transfer +BankTransfers=Bank transfers +TransferDesc=Transfer from one account to another one, Dolibarr will write two records (a debit in source account and a credit in target account, of the same amount. The same label and date will be used for this transaction) +TransferFrom=From +TransferTo=To +TransferFromToDone=A transfer from %s to %s of %s %s has been recorded. +CheckTransmitter=Transmitter +ValidateCheckReceipt=Validate this check receipt ? +ConfirmValidateCheckReceipt=Are you sure you want to validate this check receipt, no change will be possible once this is done ? +DeleteCheckReceipt=Delete this check receipt ? +ConfirmDeleteCheckReceipt=Are you sure you want to delete this check receipt ? +BankChecks=Bank checks +BankChecksToReceipt=Checks waiting for deposit +ShowCheckReceipt=Show check deposit receipt +NumberOfCheques=Nb of check +DeleteTransaction=Delete transaction +ConfirmDeleteTransaction=Are you sure you want to delete this transaction ? +ThisWillAlsoDeleteBankRecord=This will also delete generated bank transactions +BankMovements=Movements +CashBudget=Cash budget +PlannedTransactions=Planned transactions +Graph=Graphics +ExportDataset_banque_1=Bank transactions and account statement +ExportDataset_banque_2=Deposit slip +TransactionOnTheOtherAccount=Transaction on the other account +TransactionWithOtherAccount=Account transfer +PaymentNumberUpdateSucceeded=Payment number updated succesfully +PaymentNumberUpdateFailed=Payment number could not be updated +PaymentDateUpdateSucceeded=Payment date update succesfully +PaymentDateUpdateFailed=Payment date could not be updated +Transactions=Transactions +BankTransactionLine=Bank transaction +AllAccounts=All bank/cash accounts +BackToAccount=Back to account +ShowAllAccounts=Show for all accounts +FutureTransaction=Transaction in futur. No way to conciliate. +SelectChequeTransactionAndGenerate=Select/filter checks to include into the check deposit receipt and click on "Create". InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD +EventualyAddCategory=Eventually, specify a category in which to classify the records +ToConciliate=To conciliate? +ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +BankDashboard=Bank accounts summary +DefaultRIB=Default BAN +AllRIB=All BAN +LabelRIB=BAN Label +NoBANRecord=No BAN record +DeleteARib=Delete BAN record +ConfirmDeleteRib=Are you sure you want to delete this BAN record ? +StartDate=Start date +EndDate=End date diff --git a/htdocs/langs/es_CO/bills.lang b/htdocs/langs/es_CO/bills.lang deleted file mode 100644 index f1e67a676c3..00000000000 --- a/htdocs/langs/es_CO/bills.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - Source file is en_US - bills -ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. diff --git a/htdocs/langs/es_CO/companies.lang b/htdocs/langs/es_CO/companies.lang index 35eea56e886..db3f185dec5 100644 --- a/htdocs/langs/es_CO/companies.lang +++ b/htdocs/langs/es_CO/companies.lang @@ -1,29 +1,419 @@ # Dolibarr language file - Source file is en_US - companies +ErrorCompanyNameAlreadyExists=El nombre de la empresa %s ya existe. Indique otro. +ErrorPrefixAlreadyExists=El prefijo %s ya existe. Indique otro. +ErrorSetACountryFirst=Defina en primer lugar el país +SelectThirdParty=Seleccionar un tercero +DeleteThirdParty=Eliminar un tercero ConfirmDeleteCompany=¿Está seguro de querer eliminar esta empresa y toda la información contenida? +DeleteContact=Eliminar un contacto ConfirmDeleteContact=¿Está seguro de querer eliminar este contacto y toda la información contenida? +MenuNewThirdParty=Nuevo tercero +MenuNewCompany=Nueva empresa +MenuNewCustomer=Nuevo cliente +MenuNewProspect=Nuevo cliente potencial +MenuNewSupplier=Nuevo proveedor +MenuNewPrivateIndividual=Nuevo particular +MenuSocGroup=Grupos +NewCompany=Nueva empresa (cliente potencial, cliente, proveedor) +NewThirdParty=Nuevo tercero (cliente potencial, cliente, proveedor) NewSocGroup=Nueva alianza de empresas +NewPrivateIndividual=Nuevo particular (cliente potencial, cliente, proveedor) +CreateDolibarrThirdPartySupplier=Crear un tercero (proveedor) +ProspectionArea=Área de prospección SocGroup=Alianza de empresas +IdThirdParty=ID tercero +IdCompany=Id empresa +IdContact=Id contacto +Contacts=Contactos +ThirdPartyContacts=Contactos terceros +ThirdPartyContact=Contacto tercero +StatusContactValidated=Estado del contacto +Company=Empresa +CompanyName=Razón social +Companies=Empresas +CountryIsInEEC=País de la Comunidad Económica Europea +ThirdPartyName=Nombre del tercero +ThirdParty=Tercero +ThirdParties=Terceros +ThirdPartyAll=Terceros (todos) +ThirdPartyProspects=Clientes potenciales +ThirdPartyProspectsStats=Clientes potenciales +ThirdPartyCustomers=Clientes +ThirdPartyCustomersStats=Clientes +ThirdPartyCustomersWithIdProf12=Clientes con %s ó %s +ThirdPartySuppliers=Proveedores +ThirdPartyType=Tipo de tercero +Company/Fundation=Empresa/asociación +Individual=Particular +ToCreateContactWithSameName=Creará automáticamente un contacto físico con la misma información ParentCompany=Sede principal Subsidiary=Sucursal Subsidiaries=Sucursales NoSubsidiary=Ninguna sucursal +ReportByCustomers=Informe por cliente +ReportByQuarter=Informe por tasa +CivilityCode=Código cortesía RegisteredOffice=Domicilio principal +Name=Nombre +Lastname=Apellidos +Firstname=Nombre PostOrFunction=Cargo/función +UserTitle=Título de cortesía +Surname=Seudónimo +Address=Dirección State=Departamento +Region=Región +Country=País +CountryCode=Código país +CountryId=Id país +Phone=Teléfono +Skype=Skype +Call=Llamar +Chat=Chat +PhonePro=Teléf. trabajo PhonePerso=Teléf. personal +PhoneMobile=Móvil +No_Email=No enviar e-mails masivos +Fax=Fax +Zip=Código postal +Town=Población +Web=Web +Poste= Puesto +DefaultLang=Idioma por defecto +VATIsUsed=Sujeto a IVA +VATIsNotUsed=No sujeto a IVA +CopyAddressFromSoc=Copiar dirección de la empresa +NoEmailDefined=Sin e-mail definido +##### Local Taxes ##### +LocalTax1IsUsedES= Sujeto a RE +LocalTax1IsNotUsedES= No sujeto a RE +LocalTax2IsUsedES= Sujeto a IRPF +LocalTax2IsNotUsedES= No sujeto a IRPF +LocalTax1ES=RE +LocalTax2ES=IRPF +TypeLocaltax1ES=Tasa RE +TypeLocaltax2ES=Tasa IRPF +TypeES=Tasa +ThirdPartyEMail=%s +WrongCustomerCode=Código cliente incorrecto +WrongSupplierCode=Código proveedor incorrecto +CustomerCodeModel=Modelo de código cliente +SupplierCodeModel=Modelo de código proveedor +Gencod=Código de barras +##### 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=ID profesional 1 +ProfId2=ID profesional 2 +ProfId3=ID profesional 3 +ProfId4=ID profesional 4 +ProfId5=ID profesional 5 +ProfId6=ID profesional 6 +ProfId1AR=CUIT/CUIL +ProfId2AR=Ingresos brutos +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AU=ABN +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- +ProfId1BE=N° colegiado +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=- +ProfId2CH=- +ProfId3CH=Número federado +ProfId4CH=Num registro de comercio +ProfId5CH=- +ProfId6CH=- +ProfId1CL=R.U.T. +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=R.U.T. ProfId2CO=Identificación (CC, NIT, CE) ProfId3CO=CIIU +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Id prof. 1 (USt.-IdNr) +ProfId2DE=Id prof. 2 (USt.-Nr) +ProfId3DE=Id prof. 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=- +ProfId6DE=- +ProfId1ES=CIF/NIF +ProfId2ES=Núm. seguridad social +ProfId3ES=CNAE +ProfId4ES=Núm. colegiado +ProfId5ES=- +ProfId6ES=- +ProfId1FR=SIREN +ProfId2FR=SIRET +ProfId3FR=NAF (Ex APE) +ProfId4FR=RCS/RM +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Número registro +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=RTN +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=Id prof. 1 (TIN) +ProfId2IN=Id prof. 2 +ProfId3IN=Id prof. 3 +ProfId4IN=Id prof. 4 +ProfId5IN=Id prof. 5 +ProfId6IN=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=- +ProfId6MA=- +ProfId1MX=R.F.C. +ProfId2MX=Registro Patronal IMSS +ProfId3MX=Cédula Profesional +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=Número KVK +ProfId2NL=- +ProfId3NL=- +ProfId4NL=- +ProfId5NL=- +ProfId6NL=- +ProfId1PT=NIPC +ProfId2PT=Núm. seguridad social +ProfId3PT=Num reg. comercial +ProfId4PT=Conservatorio +ProfId5PT=- +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=RC +ProfId2TN=Matrícula fiscal +ProfId3TN=Código en aduana +ProfId4TN=CCC +ProfId5TN=- +ProfId6TN=- +ProfId1RU=OGRN +ProfId2RU=INN +ProfId3RU=KPP +ProfId4RU=OKPO +ProfId5RU=- +ProfId6RU=- VATIntra=NIT VATIntraShort=NIT VATIntraVeryShort=NIT +VATIntraSyntaxIsValid=Sintaxis válida +VATIntraValueIsValid=Valor válido +ProspectCustomer=Cliente potencial/Cliente +Prospect=Cliente potencial +CustomerCard=Ficha cliente +Customer=Cliente +CustomerDiscount=Descuento cliente +CustomerRelativeDiscount=Descuento cliente relativo +CustomerAbsoluteDiscount=Descuento cliente fijo +CustomerRelativeDiscountShort=Descuento relativo +CustomerAbsoluteDiscountShort=Descuento fijo +CompanyHasRelativeDiscount=Este cliente tiene un descuento por defecto de %s%% +CompanyHasNoRelativeDiscount=Este cliente no tiene descuentos relativos por defecto +CompanyHasAbsoluteDiscount=Este cliente tiene %s %s descuentos disponibles (descuentos, anticipos...) +CompanyHasCreditNote=Este cliente tiene %s %s anticipos disponibles +CompanyHasNoAbsoluteDiscount=Este cliente no tiene más descuentos fijos disponibles +CustomerAbsoluteDiscountAllUsers=Descuentos fijos en curso (acordado por todos los usuarios) +CustomerAbsoluteDiscountMy=Descuentos fijos en curso (acordados personalmente) +DefaultDiscount=Descuento por defecto +AvailableGlobalDiscounts=Descuentos fijos disponibles +DiscountNone=Ninguna +Supplier=Proveedor +CompanyList=Listado de empresas +AddContact=Crear contacto +AddContactAddress=Crear contacto/dirección +EditContact=Editar contacto +EditContactAddress=Editar contacto/dirección +Contact=Contacto +ContactsAddresses=Contactos/Direcciones +NoContactDefinedForThirdParty=Ningún contacto definido para este tercero +NoContactDefined=Ningún contacto definido +DefaultContact=Contacto por defecto +AddCompany=Crear empresa +AddThirdParty=Crear tercero +DeleteACompany=Eliminar una empresa +PersonalInformations=Información personal +AccountancyCode=Código contable +CustomerCode=Código cliente +SupplierCode=Código proveedor +CustomerAccount=Cuenta cliente +SupplierAccount=Cuenta proveedor +CustomerCodeDesc=Código único cliente para cada cliente +SupplierCodeDesc=Código único proveedor para cada proveedor +RequiredIfCustomer=Requerida si el tercero es un cliente o cliente potencial +RequiredIfSupplier=Requerida si el tercero es un proveedor +ValidityControledByModule=Validación controlada por el módulo +ThisIsModuleRules=Esta es la regla para este módulo +LastProspect=Ultimo cliente potencial +ProspectToContact=Cliente potencial a contactar +CompanyDeleted=La empresa "%s" ha sido eliminada +ListOfContacts=Listado de contactos +ListOfContactsAddresses=Listado de contactos/direcciones +ListOfProspectsContacts=Listado de contactos clientes potenciales +ListOfCustomersContacts=Listado de contactos clientes +ListOfSuppliersContacts=Listado de contactos proveedores +ListOfCompanies=Listado de empresas +ListOfThirdParties=Listado de terceros +ShowCompany=Mostar empresa +ShowContact=Mostrar contacto +ContactsAllShort=Todos (sin filtro) +ContactType=Tipo de contacto +ContactForOrders=Contacto de pedidos +ContactForProposals=Contacto de presupuestos +ContactForContracts=Contacto de contratos +ContactForInvoices=Contacto de facturas +NoContactForAnyOrder=Este contacto no es contacto de ningún pedido NoContactForAnyProposal=Este contacto no es contacto de ningúna cotización +NoContactForAnyContract=Este contacto no es contacto de ningún contrato +NoContactForAnyInvoice=Este contacto no es contacto de ninguna factura +NewContact=Nuevo contacto +NewContactAddress=Nuevo contacto/dirección +LastContacts=Últimos contactos +MyContacts=Mis contactos +Phones=Teléfonos +Capital=Capital +CapitalOf=Capital de %s +EditCompany=Modificar empresa +EditDeliveryAddress=Modificar dirección de envío +ThisUserIsNot=Este usuario no es ni un cliente potencial, ni un cliente, ni un proveedor +VATIntraCheck=Verificar VATIntraCheckDesc=El link %s permite consultar al servicio RUES el NIT. Se requiere acceso a internet para que el servicio funcione VATIntraCheckURL=http://www.rues.org.co/RUES_Web/Consultas#tabs-3 VATIntraCheckableOnEUSite=Verificar en la web VATIntraManualCheck=Puede también realizar una verificación manual en la web %s +ErrorVATCheckMS_UNAVAILABLE=Comprobación imposible. El servicio de comprobación no es prestado por el país país miembro (%s). +NorProspectNorCustomer=Ni cliente, ni cliente potencial +JuridicalStatus=Forma jurídica +Staff=Empleados +ProspectLevelShort=Potencial +ProspectLevel=Cliente potencial +ContactPrivate=Privado +ContactPublic=Compartido +ContactVisibility=Visibilidad +OthersNotLinkedToThirdParty=Otros, no enlazado a un tercero +ProspectStatus=Estado cliente potencial +PL_NONE=Ninguno +PL_UNKNOWN=Desconocido +PL_LOW=Bajo +PL_MEDIUM=Medio +PL_HIGH=Alto +TE_UNKNOWN=- +TE_STARTUP=Startup +TE_GROUP=Gran empresa +TE_MEDIUM=PYME +TE_ADMIN=Administración +TE_SMALL=TPE +TE_RETAIL=Minorista +TE_WHOLE=Mayorista +TE_PRIVATE=Particular +TE_OTHER=Otro +StatusProspect-1=No contactar +StatusProspect0=Nunca contactado +StatusProspect1=A contactar +StatusProspect2=Contacto en curso +StatusProspect3=Contacto realizado +ChangeDoNotContact=Cambiar el estado a 'No contactar' +ChangeNeverContacted=Cambiar el estado a 'Nunca contactado' +ChangeToContact=Cambiar el estado a 'A contactar' +ChangeContactInProcess=Cambiar el estado a 'Contacto en curso' +ChangeContactDone=Cambiar el estado a 'Contacto realizado' +ProspectsByStatus=Clientes potenciales por estado +BillingContact=Contacto facturación +NbOfAttachedFiles=Nª de archivos adjuntos +AttachANewFile=Adjuntar un nuevo archivo +NoRIB=Ninguna cuenta definida +NoParentCompany=Ninguna +ExportImport=Importar-Exportar +ExportCardToFormat=Exportar ficha a formato +ContactNotLinkedToCompany=Contacto no vinculado a un tercero +DolibarrLogin=Login usuario +NoDolibarrAccess=Sin acceso de usuario +ExportDataset_company_1=Terceros (Empresas/asociaciones/personas físicas) y propiedades +ExportDataset_company_2=Contactos de terceros y atributos +ImportDataset_company_1=Terceros (Empresas/asociaciones/personas físicas) y propiedades +ImportDataset_company_2=Contactos/Direcciones (de terceros o no) y atributos +ImportDataset_company_3=Cuentas bancarias +PriceLevel=Nivel de precios +DeliveriesAddress=Dirección(es) de envío +DeliveryAddress=Dirección de envío +DeliveryAddressLabel=Etiqueta de envío +DeleteDeliveryAddress=Eliminar una dirección de envío ConfirmDeleteDeliveryAddress=¿Está seguro que quiere eliminar esta dirección de envío? +NewDeliveryAddress=Nueva dirección de envío AddDeliveryAddress=Añadir la dirección +AddAddress=Crear dirección +NoOtherDeliveryAddress=No hay direcciones alternativas definidas +SupplierCategory=Categoría de proveedor +JuridicalStatus200=Independiente +DeleteFile=Eliminación de un archivo ConfirmDeleteFile=¿Está seguro que quiere eliminar este archivo? +AllocateCommercial=Asignar un comercial +SelectCountry=Seleccionar un país +SelectCompany=Selecionar un tercero +Organization=Organismo +AutomaticallyGenerated=Generado automáticamente +FiscalYearInformation=Información del año fiscal +FiscalMonthStart=Mes de inicio de ejercicio +YouMustCreateContactFirst=Debe establecer contactos con e-mail en los terceros para poder configurarles notificaciones por e-mail. +ListSuppliersShort=Listado de proveedores +ListProspectsShort=Listado de clientes potenciales +ListCustomersShort=Listado de clientes ThirdPartiesArea=Área Terceros +LastModifiedThirdParties=Los %s últimos terceros modificados +UniqueThirdParties=Total de terceros únicos +InActivity=Activo +ActivityCeased=Cerrado +ActivityStateFilter=Estado de actividad +ProductsIntoElements=Listado de productos en %s +CurrentOutstandingBill=Riesgo alcanzado +OutstandingBill=Importe máximo para facturas pendientes +OutstandingBillReached=Importe máximo alcanzado +MonkeyNumRefModelDesc=Devuelve un número bajo el formato %syymm-nnnn para los códigos de clientes y %syymm-nnnn para los códigos de los proveedores, donde yy es el año, mm el mes y nnnn un contador secuencial sin ruptura y sin volver a 0. +LeopardNumRefModelDesc=Código de cliente/proveedor libre sin verificación. Puede ser modificado en cualquier momento. ManagingDirectors=Administrador(es) (CEO, gerente, director, presidente, etc.) -SearchThirdparty=Buscar terceros +SearchThirdparty=Search third party +SearchContact=Buscar contacto +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/es_CO/cron.lang b/htdocs/langs/es_CO/cron.lang deleted file mode 100644 index 3f755fc725d..00000000000 --- a/htdocs/langs/es_CO/cron.lang +++ /dev/null @@ -1,3 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes diff --git a/htdocs/langs/es_CO/mails.lang b/htdocs/langs/es_CO/mails.lang index 4b5c7e95999..001b237ca8c 100644 --- a/htdocs/langs/es_CO/mails.lang +++ b/htdocs/langs/es_CO/mails.lang @@ -1,2 +1,143 @@ # Dolibarr language file - Source file is en_US - mails -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +Mailing=EMailing +EMailing=EMailing +Mailings=EMailings +EMailings=EMailings +AllEMailings=All eMailings +MailCard=EMailing card +MailTargets=Targets +MailRecipients=Recipients +MailRecipient=Recipient +MailTitle=Description +MailFrom=Sender +MailErrorsTo=Errors to +MailReply=Reply to +MailTo=Receiver(s) +MailCC=Copy to +MailCCC=Cached copy to +MailTopic=EMail topic +MailText=Message +MailFile=Attached files +MailMessage=EMail body +ShowEMailing=Show emailing +ListOfEMailings=List of emailings +NewMailing=New emailing +EditMailing=Edit emailing +ResetMailing=Resend emailing +DeleteMailing=Delete emailing +DeleteAMailing=Delete an emailing +PreviewMailing=Preview emailing +PrepareMailing=Prepare emailing +CreateMailing=Create emailing +MailingDesc=This page allows you to send emailings to a group of people. +MailingResult=Sending emails result +TestMailing=Test email +ValidMailing=Valid emailing +ApproveMailing=Approve emailing +MailingStatusDraft=Draft +MailingStatusValidated=Validated +MailingStatusApproved=Approved +MailingStatusSent=Sent +MailingStatusSentPartialy=Sent partialy +MailingStatusSentCompletely=Sent completely +MailingStatusError=Error +MailingStatusNotSent=Not sent +MailSuccessfulySent=Email successfully sent (from %s to %s) +MailingSuccessfullyValidated=EMailing successfully validated +MailUnsubcribe=Unsubscribe +Unsuscribe=Unsubscribe +MailingStatusNotContact=Don't contact anymore +ErrorMailRecipientIsEmpty=Email recipient is empty +WarningNoEMailsAdded=No new Email to add to recipient's list. +ConfirmValidMailing=Are you sure you want to validate this emailing ? +ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? +ConfirmDeleteMailing=Are you sure you want to delete this emailling ? +NbOfRecipients=Number of recipients +NbOfUniqueEMails=Nb of unique emails +NbOfEMails=Nb of EMails +TotalNbOfDistinctRecipients=Number of distinct recipients +NoTargetYet=No recipients defined yet (Go on tab 'Recipients') +AddRecipients=Add recipients +RemoveRecipient=Remove recipient +CommonSubstitutions=Common substitutions +YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values +MailingAddFile=Attach this file +NoAttachedFiles=No attached files +BadEMail=Bad value for EMail +CloneEMailing=Clone Emailing +ConfirmCloneEMailing=Are you sure you want to clone this emailing ? +CloneContent=Clone message +CloneReceivers=Cloner recipients +DateLastSend=Date of last sending +DateSending=Date sending +SentTo=Sent to %s +MailingStatusRead=Read +CheckRead=Read Receipt +YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list +MailtoEMail=Hyper link to email +ActivateCheckRead=Allow to use the "Unsubcribe" link +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature +EMailSentToNRecipients=EMail sent to %s recipients. +XTargetsAdded=%s recipients added into target list +EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. +MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s) +SendRemind=Send reminder by EMails +RemindSent=%s reminder(s) sent +AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) +NoRemindSent=No EMail reminder sent +ResultOfMassSending=Result of mass EMail reminders sending + +# Libelle des modules de liste de destinataires mailing +MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) +MailingModuleDescDolibarrUsers=Dolibarr users +MailingModuleDescFundationMembers=Foundation members with emails +MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) +MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) +MailingModuleDescContactsCategories=Third parties (by category) +MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines +MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) +MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescMembersCategories=Foundation members (by categories) +MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) +LineInFile=Line %s in file +RecipientSelectionModules=Defined requests for recipient's selection +MailSelectedRecipients=Selected recipients +MailingArea=EMailings area +LastMailings=Last %s emailings +TargetsStatistics=Targets statistics +NbOfCompaniesContacts=Unique contacts/addresses +MailNoChangePossible=Recipients for validated emailing can't be changed +SearchAMailing=Search mailing +SendMailing=Send emailing +SendMail=Send email +SentBy=Sent by +MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: +MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. +ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? +LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. +TargetsReset=Clear list +ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing +ToAddRecipientsChooseHere=Add recipients by choosing from the lists +NbOfEMailingsReceived=Mass emailings received +NbOfEMailingsSend=Mass emailings sent +IdRecord=ID record +DeliveryReceipt=Delivery Receipt +YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. +TagCheckMail=Track mail opening +TagUnsubscribe=Unsubscribe link +TagSignature=Signature sending user +TagMailtoEmail=Recipient EMail +# Module Notifications +Notifications=Notifications +NoNotificationsWillBeSent=No email notifications are planned for this event and company +ANotificationsWillBeSent=1 notification will be sent by email +SomeNotificationsWillBeSent=%s notifications will be sent by email +AddNewNotification=Activate a new email notification target +ListOfActiveNotifications=List all active email notification targets +ListOfNotificationsDone=List all email notifications sent +MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. +MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. +MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. +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 diff --git a/htdocs/langs/es_CO/main.lang b/htdocs/langs/es_CO/main.lang index 1ed4341bde4..0ad9199f584 100644 --- a/htdocs/langs/es_CO/main.lang +++ b/htdocs/langs/es_CO/main.lang @@ -1,5 +1,9 @@ # 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=, @@ -19,22 +23,719 @@ 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=Conexión a la base de datos +NoTranslation=Sin traducción NoRecordFound=No se encontraron registros +NoError=Ningún error +Error=Error +ErrorFieldRequired=El campo '%s' es obligatorio +ErrorFieldFormat=El campo '%s' tiene un valor incorrecto +ErrorFileDoesNotExists=El archivo %s no existe +ErrorFailedToOpenFile=Imposible abrir el archivo %s +ErrorCanNotCreateDir=Imposible crear el directorio %s +ErrorCanNotReadDir=Imposible leer el directorio %s +ErrorConstantNotDefined=Parámetro %s no definido +ErrorUnknown=Error desconocido +ErrorSQL=Error de SQL +ErrorLogoFileNotFound=El archivo logo '%s' no se encuentra +ErrorGoToGlobalSetup=Vaya a la Configuración ' Empresa/Institución ' para corregir +ErrorGoToModuleSetup=Vaya a la configuración del módulo para corregir +ErrorFailedToSendMail=Error en el envío del e-mail (emisor=%s, destinatario=%s) +ErrorAttachedFilesDisabled=La gestión de los archivos asociados está desactivada en este servidor ErrorFileNotUploaded=El archivo no se transifirió. Compruebe que el tamaño no supere el máximo permitido, el espacio libre disponible en el disco y que no hay un archivo con el mismo nombre en el directorio destino. +ErrorInternalErrorDetected=Error detectado ErrorNoRequestRan=No hay petición +ErrorWrongHostParameter=Parámetro Servidor inválido +ErrorYourCountryIsNotDefined=Su país no está definido. Corríjalo yendo a Inicio-Configuración-Empresa/Institución-Editar +ErrorRecordIsUsedByChild=Imposible de suprimir este registro. Esta siendo utilizado como padre por al menos un registro hijo. +ErrorWrongValue=Valor incorrecto +ErrorWrongValueForParameterX=Valor incorrecto del parámetro %s +ErrorNoRequestInError=Ninguna petición en error +ErrorServiceUnavailableTryLater=Servicio no disponible actualmente. Vuélvalo a intentar más tarde. +ErrorDuplicateField=Duplicado en un campo único ErrorSomeErrorWereFoundRollbackIsDone=Se encontraron algunos errores. Modificaciones sin aplicar. +ErrorConfigParameterNotDefined=El parámetro %s no está definido en el archivo de configuración Dolibarr conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Imposible encontrar el usuario %s en la base de datos Dolibarr. +ErrorNoVATRateDefinedForSellerCountry=Error, ningún tipo de IVA definido para el país '%s'. ErrorNoSocialContributionForSellerCountry=Error, no hay tipo de carga social definida para el país '%s'. +ErrorFailedToSaveFile=Error, el registro del archivo falló. +SetDate=Fijar fecha +SelectDate=Seleccione una fecha +SeeAlso=Ver también %s SeeHere=Ver aquí +BackgroundColorByDefault=Color de fondo FileNotUploaded=El archivo no se subió +FileUploaded=El archivo se ha subido correctamente FileWasNotUploaded=Un archivo ha sido seleccionado para adjuntarlo, pero aún no se ha subido. Haga clic en "Adjuntar este archivo". +NbOfEntries=Nº de entradas +GoToWikiHelpPage=Consultar la ayuda (puede requerir acceso a Internet) +GoToHelpPage=Consultar la ayuda +RecordSaved=Registro guardado +RecordDeleted=Registro eliminado +LevelOfFeature=Nivel de funciones +NotDefined=No definida +DefinedAndHasThisValue=Definido y con valor a +IsNotDefined=no definido +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr está configurado en modo de autentificación %s en el archivo de configuración conf.php.
Eso significa que la base de datos de las contraseñas es externa a Dolibarr, por eso toda modificación de este campo puede resultar sin efecto alguno. +Administrator=Administrador +Undefined=No definido +PasswordForgotten=¿Olvidó su contraseña? SeeAbove=Ver arriba +HomeArea=Área inicio +LastConnexion=Última conexión +PreviousConnexion=Conexión anterior +ConnectedOnMultiCompany=Conexión a la entidad +ConnectedSince=Conectado desde +AuthenticationMode=Modo de autentificación +RequestedUrl=URL solicitada +DatabaseTypeManager=Tipo de gestor de base de datos +RequestLastAccess=Petición último acceso a la base de datos +RequestLastAccessInError=Petición último acceso a la base de datos erróneo +ReturnCodeLastAccessInError=Código devuelto último acceso a la base de datos erróneo +InformationLastAccessInError=Información sobre el último acceso a la base de datos erróneo +DolibarrHasDetectedError=Dolibarr ha detectado un error técnico InformationToHelpDiagnose=Esta es una información que puede ayudar de diagnóstico +MoreInformation=Más información +TechnicalInformation=Información técnica +NotePublic=Nota (pública) +NotePrivate=Nota (privada) +PrecisionUnitIsLimitedToXDecimals=Dolibarr está configurado para limitar la precisión de los precios unitarios a %s decimales. +DoTest=Probar +ToFilter=Filtrar +WarningYouHaveAtLeastOneTaskLate=Atención, tiene al menos un elemento que ha pasado la fecha de tolerancia. +yes=sí +Yes=Sí +no=no +No=No +All=Todo +Home=Inicio +Help=Ayuda +OnlineHelp=Ayuda en línea +PageWiki=Página Wiki +Always=Siempre +Never=Nunca +Under=Bajo +Period=Periodo +PeriodEndDate=Fecha fin periodo +Activate=Activar +Activated=Activado +Closed=Cerrado +Closed2=Cerrado +Enabled=Activado +Deprecated=Obsoleto +Disable=Desactivar +Disabled=Desactivado +Add=Añadir +AddLink=Enlazar +Update=Modificar +AddActionToDo=Añadir acción a realizar +AddActionDone=Añadir acción realizada +Close=Cerrar +Close2=Cerrar +Confirm=Confirmar +ConfirmSendCardByMail=¿Quiere enviar el contenido de esta ficha por e-mail a la dirección %s? +Delete=Eliminar +Remove=Retirar +Resiliate=Cancelar +Cancel=Anular +Modify=Modificar +Edit=Editar +Validate=Validar +ValidateAndApprove=Validar y aprobar +ToValidate=A validar +Save=Grabar +SaveAs=Grabar como +TestConnection=Probar la conexión +ToClone=Copiar +ConfirmClone=Seleccione los datos que desea copiar: +NoCloneOptionsSpecified=No hay datos definidos para copiar +Of=de +Go=Ir +Run=Lanzar +CopyOf=Copia de +Show=Ver +ShowCardHere=Ver la ficha aquí +Search=Buscar +SearchOf=Búsqueda de +Valid=Validar +Approve=Aprobar +Disapprove=Desaprobar +ReOpen=Reabrir +Upload=Enviar archivo +ToLink=Enlace +Select=Seleccionar +Choose=Elegir +ChooseLangage=Elegir su idioma +Resize=Redimensionar +Recenter=Encuadrar +Author=Autor +User=Usuario +Users=Usuarios +Group=Grupo +Groups=Grupos NoUserGroupDefined=No hay grupo de usuario definido +Password=Contraseña +PasswordRetype=Repetir contraseña +NoteSomeFeaturesAreDisabled=Atención, sólo unos pocos módulos/funcionalidades han sido activados en esta demo. +Name=Nombre +Person=Persona +Parameter=Parámetro +Parameters=Parámetros +Value=Valor +GlobalValue=Valor global +PersonalValue=Valor personalizado +NewValue=Nuevo valor +CurrentValue=Valor actual +Code=Código +Type=Tipo +Language=Idioma +MultiLanguage=Multiidioma +Note=Nota +CurrentNote=Nota actual +Title=Título +Label=Etiqueta +RefOrLabel=Ref. o etiqueta +Info=Log +Family=Familia +Description=Descripción +Designation=Descripción +Model=Modelo +DefaultModel=Modelo por defecto +Action=Acción +About=Acerca de +Number=Número +NumberByMonth=Número por mes +AmountByMonth=Importe por mes +Numero=Número +Limit=Límite +Limits=Límites +DevelopmentTeam=Equipo de desarrollo +Logout=Desconexión +NoLogoutProcessWithAuthMode=Sin funcionalidades de desconexión con el modo de autenticación %s +Connection=Conexión +Setup=Configuración +Alert=Alerta +Previous=Anterior +Next=Siguiente +Cards=Fichas +Card=Ficha +Now=Ahora +HourStart=Start hour +Date=Fecha +DateAndHour=Fecha y hora +DateStart=Fecha inicio +DateEnd=Fecha fin +DateCreation=Fecha de creación +DateModification=Fecha de modificación DateModificationShort=Fecha modificación +DateLastModification=Fecha última modificación +DateValidation=Fecha de validación +DateClosing=Fecha de cierre +DateDue=Fecha de vencimiento +DateValue=Fecha valor +DateValueShort=Fecha valor +DateOperation=Fecha operación +DateOperationShort=Fecha op. +DateLimit=Fecha límite +DateRequest=Fecha consulta +DateProcess=Fecha proceso +DatePlanShort=Fecha planif. +DateRealShort=Fecha real +DateBuild=Fecha generación del informe +DatePayment=Fecha pago +DateApprove=Approving date +DateApprove2=Approving date (second approval) +DurationYear=año +DurationMonth=mes +DurationWeek=semana +DurationDay=día +DurationYears=años +DurationMonths=meses +DurationWeeks=semanas +DurationDays=días +Year=Año +Month=Mes +Week=Semana +Day=Día +Hour=Hora +Minute=Minuto +Second=Segundo +Years=Años +Months=Meses +Days=Días +days=días +Hours=Horas +Minutes=Minutos +Seconds=Segundos +Weeks=Semanas +Today=Hoy +Yesterday=Ayer +Tomorrow=Mañana +Morning=Mañana +Afternoon=Tarde +Quadri=Trimestre +MonthOfDay=Mes del día +HourShort=H +MinuteShort=mn +Rate=Tipo UseLocalTax=Incluir impuestos +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cortar +Copy=Copiar +Paste=Pegar +Default=Predeterminado +DefaultValue=Valor por defecto +DefaultGlobalValue=Valor global +Price=Precio +UnitPrice=Precio unitario +UnitPriceHT=Precio base +UnitPriceTTC=Precio unitario total +PriceU=P.U. +PriceUHT=P.U. +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=P.U. Total +Amount=Importe +AmountInvoice=Importe factura +AmountPayment=Importe pago +AmountHTShort=Base imp. +AmountTTCShort=Importe +AmountHT=Base imponible +AmountTTC=Importe total +AmountVAT=Importe IVA +AmountLT1=Importe Impuesto 2 +AmountLT2=Importe Impuesto 3 +AmountLT1ES=Importe RE +AmountLT2ES=Importe IRPF +AmountTotal=Importe total +AmountAverage=Importe medio +PriceQtyHT=Precio para la cantidad total +PriceQtyMinHT=Precio cantidad min. total +PriceQtyTTC=Precio total para la cantidad +PriceQtyMinTTC=Precio cantidad min. total +Percentage=Porcentaje +Total=Total +SubTotal=Subtotal +TotalHTShort=Importe +TotalTTCShort=Total +TotalHT=Base imponible +TotalHTforthispage=Total (base imponible) de esta página +TotalTTC=Total +TotalTTCToYourCredit=Total a crédito +TotalVAT=Total IVA +TotalLT1=Total Impuesto 2 +TotalLT2=Total Impuesto 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +IncludedVAT=IVA incluido +HT=Sin IVA +TTC=IVA incluido +VAT=IVA +LT1ES=RE +LT2ES=IRPF +VATRate=Tasa IVA +Average=Media +Sum=Suma +Delta=Diferencia +Module=Módulo +Option=Opción +List=Listado +FullList=Listado completo +Statistics=Estadísticas +OtherStatistics=Otras estadísticas +Status=Estado +Favorite=Favorito +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. proveedor +RefPayment=Ref. pago CommercialProposalsShort=Cotizaciones +Comment=Comentario +Comments=Comentarios +ActionsToDo=Eventos a realizar +ActionsDone=Eventos realizados +ActionsToDoShort=A realizar +ActionsRunningshort=Pago parcial +ActionsDoneShort=Realizadas +ActionNotApplicable=No aplicable +ActionRunningNotStarted=No empezado +ActionRunningShort=Empezado +ActionDoneShort=Terminado +ActionUncomplete=Incompleto +CompanyFoundation=Empresa o institución +ContactsForCompany=Contactos de este tercero +ContactsAddressesForCompany=Contactos/direcciones de este tercero +AddressesForCompany=Direcciones de este tercero +ActionsOnCompany=Eventos respecto a este tercero +ActionsOnMember=Eventos respecto a este miembro +NActions=%s eventos +NActionsLate=%s en retraso RequestAlreadyDone=La solicitud ya ha sido procesada +Filter=Filtro +RemoveFilter=Eliminar filtro +ChartGenerated=Gráficos generados +ChartNotGenerated=Gráfico no generado +GeneratedOn=Generado el %s +Generate=Generar +Duration=Duración +TotalDuration=Duración total +Summary=Resumen +MyBookmarks=Mis marcadores +OtherInformationsBoxes=Otros paneles de información +DolibarrBoard=Indicadores +DolibarrStateBoard=Estadísticas +DolibarrWorkBoard=Indicadores de trabajo +Available=Disponible +NotYetAvailable=Aún no disponible +NotAvailable=No disponible +Popularity=Popularidad +Categories=Tags/categories +Category=Tag/category +By=Por +From=De +to=a +and=y +or=o +Other=Otro +Others=Otros +OtherInformations=Otras informaciones +Quantity=Cantidad +Qty=Cant. +ChangedBy=Modificado por +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalcular +ResultOk=Éxito +ResultKo=Error +Reporting=Informe +Reportings=Informes +Draft=Borrador +Drafts=Borradores +Validated=Validado +Opened=Open +New=Nuevo +Discount=Descuento +Unknown=Desconocido +General=General +Size=Tamaño +Received=Recibido +Paid=Pagado +Topic=Asunto +ByCompanies=Por empresa +ByUsers=Por usuario +Links=Enlaces +Link=Enlace +Receipts=Recibos +Rejects=Devoluciones +Preview=Vista previa +NextStep=Siguiente paso +PreviousStep=Paso anterior +Datas=Datos +None=Nada +NoneF=Ninguna +Late=Retraso +Photo=Foto +Photos=Fotos +AddPhoto=Añadir foto +Login=Login +CurrentLogin=Login actual +January=enero +February=febrero +March=marzo +April=abril +May=mayo +June=junio +July=julio +August=agosto +September=septiembre +October=octubre +November=noviembre December=diciembre +JanuaryMin=Ene +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Abr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Ago +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=enero +Month02=febrero +Month03=marzo +Month04=abril +Month05=mayo +Month06=junio +Month07=julio +Month08=agosto +Month09=septiembre +Month10=octubre +Month11=noviembre +Month12=diciembre +MonthShort01=ene. +MonthShort02=feb. +MonthShort03=mar. +MonthShort04=abr. +MonthShort05=may. +MonthShort06=jun. +MonthShort07=jul. +MonthShort08=ago. +MonthShort09=sep. +MonthShort10=oct. +MonthShort11=nov. +MonthShort12=dic. +AttachedFiles=Archivos y documentos adjuntos +FileTransferComplete=Se transfirió correctamente el archivo +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Nombre del informe +ReportPeriod=Periodo de análisis +ReportDescription=Descripción +Report=Informe +Keyword=Clave +Legend=Leyenda +FillTownFromZip=Indicar población +Fill=Rellenar +Reset=Vaciar +ShowLog=Ver histórico +File=Archivo +Files=Archivos +NotAllowed=No autorizado +ReadPermissionNotAllowed=Lectura no autorizada +AmountInCurrency=Importes visualizados en %s +Example=Ejemplo +Examples=Ejemplos +NoExample=Sin ejemplo +FindBug=Señalar un bug +NbOfThirdParties=Número de terceros +NbOfCustomers=Numero de clientes +NbOfLines=Números de líneas +NbOfObjects=Número de objetos NbOfReferers=Número de remitentes +Referers=Objetos vinculados +TotalQuantity=Cantidad total +DateFromTo=De %s a %s +DateFrom=A partir de %s +DateUntil=Hasta %s +Check=Verificar +Uncheck=Uncheck +Internal=Interno +External=Externo +Internals=Internos +Externals=Externos +Warning=Alerta +Warnings=Alertas +BuildPDF=Generar el PDF +RebuildPDF=Regenerar el PDF +BuildDoc=Generar el documento +RebuildDoc=Regenerar el documento +Entity=Entidad +Entities=Entidades +EventLogs=Log +CustomerPreview=Historial cliente +SupplierPreview=Historial proveedor +AccountancyPreview=Historial contable +ShowCustomerPreview=Ver historial cliente +ShowSupplierPreview=Ver historial proveedor +ShowAccountancyPreview=Ver historial contable +ShowProspectPreview=Ver historial cliente potencial +RefCustomer=Ref. cliente Currency=Moneda +InfoAdmin=Información para los administradores +Undo=Anular +Redo=Rehacer +ExpandAll=Expandir todo +UndoExpandAll=Contraer todo +Reason=Razón +FeatureNotYetSupported=Funcionalidad aún no soportada +CloseWindow=Cerrar ventana +Question=Pregunta +Response=Respuesta +Priority=Prioridad +SendByMail=Enviar por e-mail +MailSentBy=Mail enviado por +TextUsedInTheMessageBody=Texto utilizado en el cuerpo del mensaje +SendAcknowledgementByMail=Enviar recibo por e-mail +NoEMail=Sin e-mail +NoMobilePhone=Sin teléfono móvil +Owner=Propietario +DetectedVersion=Versión detectada +FollowingConstantsWillBeSubstituted=Las siguientes constantes serán substituidas por su valor correspondiente. +Refresh=Refrescar +BackToList=Volver al listado +GoBack=Volver atrás +CanBeModifiedIfOk=Puede modificarse si es valido +CanBeModifiedIfKo=Puede modificarse si no es valido +RecordModifiedSuccessfully=Registro modificado con éxito +RecordsModified=%s registros modificados +AutomaticCode=Creación automática de código +NotManaged=No generado +FeatureDisabled=Función desactivada +MoveBox=Desplazar el panel %s +Offered=Oferta +NotEnoughPermissions=No tiene permisos para esta acción +SessionName=Nombre sesión +Method=Método +Receive=Recepción +PartialWoman=Parcial +PartialMan=Parcial +TotalWoman=Total +TotalMan=Total +NeverReceived=Nunca recibido +Canceled=Cancelado +YouCanChangeValuesForThisListFromDictionarySetup=Puede cambiar estos valores en el menú configuración->diccionarios +Color=Color +Documents=Documentos +DocumentsNb=archivos adjuntos (%s) +Documents2=Documentos +BuildDocuments=Documentos generados +UploadDisabled=Subida desactivada +MenuECM=Documentos +MenuAWStats=AWStats +MenuMembers=Miembros +MenuAgendaGoogle=Agenda Google +ThisLimitIsDefinedInSetup=Límite Dolibarr (Menú inicio-configuración-seguridad): %s Kb, PHP limit: %s Kb +NoFileFound=No hay documentos guardados en este directorio +CurrentUserLanguage=Idioma actual +CurrentTheme=Tema actual +CurrentMenuManager=Gestor menú actual +DisabledModules=Módulos desactivados +For=Para +ForCustomer=Para cliente +Signature=Firma +HidePassword=Mostrar comando con contraseña oculta +UnHidePassword=Mostrar comando con contraseña a la vista +Root=Raíz +Informations=Información +Page=Página +Notes=Notas +AddNewLine=Añadir nueva línea +AddFile=Añadir archivo +ListOfFiles=Listado de archivos disponibles +FreeZone=Entrada libre +FreeLineOfType=Entrada libre del tipo +CloneMainAttributes=Clonar el objeto con estos atributos principales +PDFMerge=Fusión PDF +Merge=Fusión +PrintContentArea=Mostrar página de impresión de la zona central +MenuManager=Gestor de menú +NoMenu=Ningún submenú +WarningYouAreInMaintenanceMode=Atención, está en modo mantenimiento, así que solamente el login %s está autorizado para utilizar la aplicación en este momento. +CoreErrorTitle=Error del sistema +CoreErrorMessage=Lo sentimos, se ha producido un error. Verifique los logs o contacte con el administrador del sistema. +CreditCard=Tarjeta de crédito +FieldsWithAreMandatory=Los campos marcados por un %s son obligatorios +FieldsWithIsForPublic=Los campos marcados por %s se mostrarán en la lista pública de miembros. Si no desea verlos, desactive la casilla "público". +AccordingToGeoIPDatabase=(Obtenido por conversión GeoIP) +Line=Línea +NotSupported=No soportado +RequiredField=Campo obligatorio +Result=Resultado +ToTest=Probar +ValidateBefore=Para poder usar esta función debe validarse la ficha +Visibility=Visibilidad +Private=Privado +Hidden=Caché +Resources=Recursos +Source=Origen +Prefix=Prefijo +Before=Antes +After=Después +IPAddress=Dirección IP +Frequency=Frecuencia +IM=Mensajería instantánea +NewAttribute=Nuevo atributo +AttributeCode=Código atributo +OptionalFieldsSetup=Configuración de los atributos opcionales +URLPhoto=Url de la foto/logo +SetLinkToThirdParty=Vincular a otro tercero +CreateDraft=Crear borrador +SetToDraft=Volver a borrador +ClickToEdit=Clic para editar +ObjectDeleted=Objeto %s eliminado +ByCountry=Par país +ByTown=Por población +ByDate=Por fecha +ByMonthYear=Por mes/año +ByYear=Por año +ByMonth=Por mes +ByDay=Por día +BySalesRepresentative=Por comercial +LinkedToSpecificUsers=Enlazado a un contacto de usuario particular +DeleteAFile=Eliminación de archivo +ConfirmDeleteAFile=Confirme la eliminación del archivo +NoResults=Ningún resultado +SystemTools=System tools +ModulesSystemTools=Utilidades módulos +Test=Prueba +Element=Elemento +NoPhotoYet=No hay fotografía disponible +HomeDashboard=Resumen +Deductible=Deducible +from=de +toward=hacia +Access=Acceso +HelpCopyToClipboard=Use Ctrl+C para copiar al portapapeles +SaveUploadedFileWithMask=Guardar el archivo con el nombre "%s" (sino "%s") +OriginFileName=Nombre del archivo origen +SetDemandReason=Definir origen +SetBankAccount=Definir cuenta bancaria +AccountCurrency=Divisa de la cuenta +ViewPrivateNote=Ver notas +XMoreLines=%s línea(s) ocultas +PublicUrl=URL pública +AddBox=Añadir caja SelectElementAndClickRefresh=Seleccione un elemento y haga clic en Actualizar +PrintFile=Imprimir archivo %s +ShowTransaction=Mostrar transacción +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman +# Week day +Monday=Lunes +Tuesday=Martes +Wednesday=Miércoles +Thursday=Jueves +Friday=Viernes +Saturday=Sábado +Sunday=Domingo +MondayMin=Lu +TuesdayMin=Ma +WednesdayMin=Mi +ThursdayMin=Ju +FridayMin=Vi +SaturdayMin=Sa +SundayMin=Do +Day1=Lunes +Day2=Martes +Day3=Miércoles +Day4=Jueves +Day5=Viernes +Day6=Sábado +Day0=Domingo +ShortMonday=L +ShortTuesday=M +ShortWednesday=Mi +ShortThursday=J +ShortFriday=V +ShortSaturday=S +ShortSunday=D +SelectMailModel=Select email template diff --git a/htdocs/langs/es_CO/orders.lang b/htdocs/langs/es_CO/orders.lang index 6d902132a46..55802b4bb48 100644 --- a/htdocs/langs/es_CO/orders.lang +++ b/htdocs/langs/es_CO/orders.lang @@ -1,5 +1,173 @@ # Dolibarr language file - Source file is en_US - orders +OrdersArea=Customers orders area +SuppliersOrdersArea=Suppliers orders area +OrderCard=Order card +OrderId=Order Id +Order=Order +Orders=Orders +OrderLine=Order line +OrderFollow=Follow up +OrderDate=Order date +OrderToProcess=Order to process +NewOrder=New order +ToOrder=Make order +MakeOrder=Make order +SupplierOrder=Supplier order +SuppliersOrders=Suppliers orders +SuppliersOrdersRunning=Current suppliers orders +CustomerOrder=Customer order +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process +StatusOrderCanceledShort=Canceled +StatusOrderDraftShort=Draft +StatusOrderValidatedShort=Validated +StatusOrderSentShort=In process +StatusOrderSent=Shipment in process StatusOrderOnProcessShort=Ordered +StatusOrderProcessedShort=Processed +StatusOrderToBillShort=Delivered +StatusOrderToBill2Short=To bill +StatusOrderApprovedShort=Approved +StatusOrderRefusedShort=Refused +StatusOrderToProcessShort=To process +StatusOrderReceivedPartiallyShort=Partially received +StatusOrderReceivedAllShort=Everything received +StatusOrderCanceled=Canceled +StatusOrderDraft=Draft (needs to be validated) +StatusOrderValidated=Validated StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation +StatusOrderProcessed=Processed +StatusOrderToBill=Delivered +StatusOrderToBill2=To bill +StatusOrderApproved=Approved +StatusOrderRefused=Refused +StatusOrderReceivedPartially=Partially received +StatusOrderReceivedAll=Everything received +ShippingExist=A shipment exists +ProductQtyInDraft=Product quantity into draft orders +ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +DraftOrWaitingApproved=Draft or approved not yet ordered +DraftOrWaitingShipped=Draft or validated not yet shipped +MenuOrdersToBill=Orders delivered +MenuOrdersToBill2=Billable orders +SearchOrder=Search order +SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order +ShipProduct=Ship product +Discount=Discount +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 +AddOrder=Create order +AddToMyOrders=Add to my orders +AddToOtherOrders=Add to other orders +AddToDraftOrders=Add to draft order +ShowOrder=Show order +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders +NoDraftOrders=No draft orders +OtherOrders=Other orders LastOrders=Last %s customer orders +LastCustomerOrders=Last %s customer orders +LastSupplierOrders=Last %s supplier orders +LastModifiedOrders=Last %s modified orders +LastClosedOrders=Last %s closed orders +AllOrders=All orders +NbOfOrders=Number of orders +OrdersStatistics=Order's statistics +OrdersStatisticsSuppliers=Supplier order's statistics +NumberOfOrdersByMonth=Number of orders by month +AmountOfOrdersByMonthHT=Amount of orders by month (net of tax) +ListOfOrders=List of orders +CloseOrder=Close order +ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed. +ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done. +ConfirmDeleteOrder=Are you sure you want to delete this order ? +ConfirmValidateOrder=Are you sure you want to validate this order under name %s ? +ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status ? +ConfirmCancelOrder=Are you sure you want to cancel this order ? +ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s ? +GenerateBill=Generate invoice +ClassifyShipped=Classify delivered +ClassifyBilled=Classify billed +ComptaCard=Accountancy card +DraftOrders=Draft orders +RelatedOrders=Related orders +RelatedCustomerOrders=Related customer orders +RelatedSupplierOrders=Related supplier orders +OnProcessOrders=In process orders +RefOrder=Ref. order +RefCustomerOrder=Ref. customer order +RefCustomerOrderShort=Ref. cust. order +SendOrderByMail=Send order by mail +ActionsOnOrder=Events on order +NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order +OrderMode=Order method +AuthorRequest=Request author +UseCustomerContactAsOrderRecipientIfExist=Use customer contact address if defined instead of third party address as order recipient address +RunningOrders=Orders on process +UserWithApproveOrderGrant=Users granted with "approve orders" permission. +PaymentOrderRef=Payment of order %s +CloneOrder=Clone order +ConfirmCloneOrder=Are you sure you want to clone this order %s ? +DispatchSupplierOrder=Receiving supplier order %s +FirstApprovalAlreadyDone=First approval already done +##### Types de contacts ##### +TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order +TypeContact_commande_internal_SHIPPING=Representative following-up shipping +TypeContact_commande_external_BILLING=Customer invoice contact +TypeContact_commande_external_SHIPPING=Customer shipping contact +TypeContact_commande_external_CUSTOMER=Customer contact following-up order +TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up supplier order +TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping +TypeContact_order_supplier_external_BILLING=Supplier invoice contact +TypeContact_order_supplier_external_SHIPPING=Supplier shipping contact +TypeContact_order_supplier_external_CUSTOMER=Supplier contact following-up order + +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined +Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined +Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Failed to load module file '%s' +Error_FailedToLoad_COMMANDE_ADDON_File=Failed to load module file '%s' +Error_OrderNotChecked=No orders to invoice selected +# Sources +OrderSource0=Commercial proposal +OrderSource1=Internet +OrderSource2=Mail campaign +OrderSource3=Phone compaign +OrderSource4=Fax campaign +OrderSource5=Commercial +OrderSource6=Store +QtyOrdered=Qty ordered +AddDeliveryCostLine=Add a delivery cost line indicating the weight of the order +# Documents models +PDFEinsteinDescription=A complete order model (logo...) +PDFEdisonDescription=A simple order model +PDFProformaDescription=A complete proforma invoice (logo…) +# Orders modes +OrderByMail=Mail +OrderByFax=Fax +OrderByEMail=EMail +OrderByWWW=Online +OrderByPhone=Phone +CreateInvoiceForThisCustomer=Bill orders +NoOrdersToInvoice=No orders billable +CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. +OrderCreation=Order creation +Ordered=Ordered +OrderCreated=Your orders have been created +OrderFail=An error happened during your orders creation +CreateOrders=Create orders +ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". diff --git a/htdocs/langs/es_CO/other.lang b/htdocs/langs/es_CO/other.lang index c50a095e492..c49606b8f75 100644 --- a/htdocs/langs/es_CO/other.lang +++ b/htdocs/langs/es_CO/other.lang @@ -1,3 +1,242 @@ # Dolibarr language file - Source file is en_US - other +SecurityCode=Security code +Calendar=Calendar +Tools=Tools +ToolsDesc=This area is dedicated to group miscellaneous tools not available into other menu entries.

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

__SIGNATURE__ +PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ +DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. +ChooseYourDemoProfil=Choose the demo profile that match your activity... +DemoFundation=Manage members of a foundation +DemoFundation2=Manage members and bank account of a foundation +DemoCompanyServiceOnly=Manage a freelance activity selling service only +DemoCompanyShopWithCashDesk=Manage a shop with a cash desk +DemoCompanyProductAndStocks=Manage a small or medium company selling products +DemoCompanyAll=Manage a small or medium company with multiple activities (all main modules) +GoToDemo=Go to demo +CreatedBy=Created by %s +ModifiedBy=Modified by %s +ValidatedBy=Validated by %s +CanceledBy=Canceled by %s +ClosedBy=Closed by %s +CreatedById=User id who created +ModifiedById=User id who made last change +ValidatedById=User id who validated +CanceledById=User id who canceled +ClosedById=User id who closed +CreatedByLogin=User login who created +ModifiedByLogin=User login who made last change +ValidatedByLogin=User login who validated +CanceledByLogin=User login who canceled +ClosedByLogin=User login who closed +FileWasRemoved=File %s was removed +DirWasRemoved=Directory %s was removed +FeatureNotYetAvailableShort=Available in a next version +FeatureNotYetAvailable=Feature not yet available in this version +FeatureExperimental=Experimental feature. Not stable in this version +FeatureDevelopment=Development feature. Not stable in this version +FeaturesSupported=Features supported +Width=Width +Height=Height +Depth=Depth +Top=Top +Bottom=Bottom +Left=Left +Right=Right +CalculatedWeight=Calculated weight +CalculatedVolume=Calculated volume +Weight=Weight +TotalWeight=Total weight +WeightUnitton=tonnes +WeightUnitkg=kg +WeightUnitg=g +WeightUnitmg=mg +WeightUnitpound=pound +Length=Length +LengthUnitm=m +LengthUnitdm=dm +LengthUnitcm=cm +LengthUnitmm=mm +Surface=Area +SurfaceUnitm2=m2 +SurfaceUnitdm2=dm2 +SurfaceUnitcm2=cm2 +SurfaceUnitmm2=mm2 +SurfaceUnitfoot2=ft2 +SurfaceUnitinch2=in2 +Volume=Volume +TotalVolume=Total volume +VolumeUnitm3=m3 +VolumeUnitdm3=dm3 +VolumeUnitcm3=cm3 +VolumeUnitmm3=mm3 +VolumeUnitfoot3=ft3 +VolumeUnitinch3=in3 +VolumeUnitounce=ounce +VolumeUnitlitre=litre +VolumeUnitgallon=gallon +Size=size +SizeUnitm=m +SizeUnitdm=dm +SizeUnitcm=cm +SizeUnitmm=mm +SizeUnitinch=inch +SizeUnitfoot=foot +SizeUnitpoint=point +BugTracker=Bug tracker +SendNewPasswordDesc=This form allows you to request a new password. It will be send to your email address.
Change will be effective only after clicking on confirmation link inside this email.
Check your email reader software. +BackToLoginPage=Back to login page +AuthenticationDoesNotAllowSendNewPassword=Authentication mode is %s.
In this mode, Dolibarr can't know nor change your password.
Contact your system administrator if you want to change your password. +EnableGDLibraryDesc=Install or enable GD library with your PHP for use this option. +EnablePhpAVModuleDesc=You need to install a module compatible with your anti-virus. (Clamav : php4-clamavlib ou php5-clamavlib) +ProfIdShortDesc=Prof Id %s is an information depending on third party country.
For example, for country %s, it's code %s. +DolibarrDemo=Dolibarr ERP/CRM demo +StatsByNumberOfUnits=Statistics in number of products/services units +StatsByNumberOfEntities=Statistics in number of referring entities +NumberOfProposals=Number of proposals on last 12 month +NumberOfCustomerOrders=Number of customer orders on last 12 month +NumberOfCustomerInvoices=Number of customer invoices on last 12 month +NumberOfSupplierOrders=Number of supplier orders on last 12 month +NumberOfSupplierInvoices=Number of supplier invoices on last 12 month +NumberOfUnitsProposals=Number of units on proposals on last 12 month +NumberOfUnitsCustomerOrders=Number of units on customer orders on last 12 month +NumberOfUnitsCustomerInvoices=Number of units on customer invoices on last 12 month +NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month +NumberOfUnitsSupplierInvoices=Number of units on supplier invoices on last 12 month +EMailTextInterventionValidated=The intervention %s has been validated. +EMailTextInvoiceValidated=The invoice %s has been validated. +EMailTextProposalValidated=The proposal %s has been validated. +EMailTextOrderValidated=The order %s has been validated. +EMailTextOrderApproved=The order %s has been approved. +EMailTextOrderValidatedBy=The order %s has been recorded by %s. +EMailTextOrderApprovedBy=The order %s has been approved by %s. +EMailTextOrderRefused=The order %s has been refused. +EMailTextOrderRefusedBy=The order %s has been refused by %s. +EMailTextExpeditionValidated=The shipping %s has been validated. +ImportedWithSet=Importation data set +DolibarrNotification=Automatic notification +ResizeDesc=Enter new width OR new height. Ratio will be kept during resizing... +NewLength=New width +NewHeight=New height +NewSizeAfterCropping=New size after cropping +DefineNewAreaToPick=Define new area on image to pick (left click on image then drag until you reach the opposite corner) +CurrentInformationOnImage=This tool was designed to help you to resize or crop an image. This is informations on current edited image +ImageEditor=Image editor +YouReceiveMailBecauseOfNotification=You receive this message because your email has been added to list of targets to be informed of particular events into %s software of %s. +YouReceiveMailBecauseOfNotification2=This event is the following: +ThisIsListOfModules=This is a list of modules preselected by this demo profile (only most common modules are visible in this demo). Edit this to have a more personalized demo and click on "Start". +ClickHere=Click here +UseAdvancedPerms=Use the advanced permissions of some modules +FileFormat=File format +SelectAColor=Choose a color +AddFiles=Add Files +StartUpload=Start upload +CancelUpload=Cancel upload +FileIsTooBig=Files is too big +PleaseBePatient=Please be patient... +RequestToResetPasswordReceived=A request to change your Dolibarr password has been received +NewKeyIs=This is your new keys to login +NewKeyWillBe=Your new key to login to software will be +ClickHereToGoTo=Click here to go to %s +YouMustClickToChange=You must however first click on the following link to validate this password change +ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. +IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources + +##### Calendar common ##### +AddCalendarEntry=Add entry in calendar %s +NewCompanyToDolibarr=Company %s added +ContractValidatedInDolibarr=Contract %s validated +ContractCanceledInDolibarr=Contract %s canceled +ContractClosedInDolibarr=Contract %s closed +PropalClosedSignedInDolibarr=Proposal %s signed +PropalClosedRefusedInDolibarr=Proposal %s refused +PropalValidatedInDolibarr=Proposal %s validated +PropalClassifiedBilledInDolibarr=Proposal %s classified billed +InvoiceValidatedInDolibarr=Invoice %s validated +InvoicePaidInDolibarr=Invoice %s changed to paid +InvoiceCanceledInDolibarr=Invoice %s canceled +PaymentDoneInDolibarr=Payment %s done +CustomerPaymentDoneInDolibarr=Customer payment %s done +SupplierPaymentDoneInDolibarr=Supplier payment %s done +MemberValidatedInDolibarr=Member %s validated +MemberResiliatedInDolibarr=Member %s resiliated +MemberDeletedInDolibarr=Member %s deleted +MemberSubscriptionAddedInDolibarr=Subscription for member %s added +ShipmentValidatedInDolibarr=Shipment %s validated +ShipmentDeletedInDolibarr=Shipment %s deleted +##### Export ##### +Export=Export +ExportsArea=Exports area +AvailableFormats=Available formats +LibraryUsed=Librairy used +LibraryVersion=Version +ExportableDatas=Exportable data +NoExportableData=No exportable data (no modules with exportable data loaded, or missing permissions) +ToExport=Export +NewExport=New export +##### External sites ##### +ExternalSites=External sites diff --git a/htdocs/langs/es_CO/productbatch.lang b/htdocs/langs/es_CO/productbatch.lang index 53edc04d8c4..37ceaa49b38 100644 --- a/htdocs/langs/es_CO/productbatch.lang +++ b/htdocs/langs/es_CO/productbatch.lang @@ -1,11 +1,22 @@ -# Dolibarr language file - Source file is en_US - productbatch +# ProductBATCH language file - en_US - ProductBATCH ManageLotSerial=Use lot/serial number ProductStatusOnBatch=Yes (lot/serial required) ProductStatusNotOnBatch=No (lot/serial not used) +ProductStatusOnBatchShort=Yes +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 +l_eatby=Eat-by date +l_sellby=Sell-by date DetailBatchNumber=Lot/Serial details DetailBatchFormat=Lot/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lot/Serial: %s +printEatby=Eat-by: %s +printSellby=Sell-by: %s +printQty=Qty: %d +AddDispatchBatchLine=Add a line for Shelf Life dispatching +BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/es_CO/salaries.lang b/htdocs/langs/es_CO/salaries.lang index a9438eb4f66..d68fb423024 100644 --- a/htdocs/langs/es_CO/salaries.lang +++ b/htdocs/langs/es_CO/salaries.lang @@ -1,5 +1,15 @@ -# Dolibarr language file - Source file is en_US - salaries +# Dolibarr language file - Source file is en_US - users SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Código contable para pagos de salarios SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Código contable para cargo financiero +Salary=Salario +Salaries=Salarios +Employee=Empleado +NewSalaryPayment=Nuevo pago +SalaryPayment=Pago de salario +SalariesPayments=Pagos de salarios +ShowSalaryPayment=Ver pago THM=Valor de hora promedio TJM=Valor día promedio +CurrentSalary=Salario actual +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/es_CO/stocks.lang b/htdocs/langs/es_CO/stocks.lang index 3a989d45e7d..7aeef1c9641 100644 --- a/htdocs/langs/es_CO/stocks.lang +++ b/htdocs/langs/es_CO/stocks.lang @@ -1,2 +1,140 @@ # Dolibarr language file - Source file is en_US - stocks -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseCard=Warehouse card +Warehouse=Warehouse +Warehouses=Warehouses +NewWarehouse=New warehouse / Stock area +WarehouseEdit=Modify warehouse +MenuNewWarehouse=New warehouse +WarehouseOpened=Warehouse open +WarehouseClosed=Warehouse closed +WarehouseSource=Source warehouse +WarehouseSourceNotDefined=No warehouse defined, +AddOne=Add one +WarehouseTarget=Target warehouse +ValidateSending=Delete sending +CancelSending=Cancel sending +DeleteSending=Delete sending +Stock=Stock +Stocks=Stocks +StocksByLotSerial=Stock by lot/serial +Movement=Movement +Movements=Movements +ErrorWarehouseRefRequired=Warehouse reference name is required +ErrorWarehouseLabelRequired=Warehouse label is required +CorrectStock=Correct stock +ListOfWarehouses=List of warehouses +ListOfStockMovements=List of stock movements +StocksArea=Warehouses area +Location=Location +LocationSummary=Short name location +NumberOfDifferentProducts=Number of different products +NumberOfProducts=Total number of products +LastMovement=Last movement +LastMovements=Last movements +Units=Units +Unit=Unit +StockCorrection=Correct stock +StockTransfer=Stock transfer +StockMovement=Transfer +StockMovements=Stock transfers +LabelMovement=Movement label +NumberOfUnit=Number of units +UnitPurchaseValue=Unit purchase price +TotalStock=Total in stock +StockTooLow=Stock too low +StockLowerThanLimit=Stock lower than alert limit +EnhancedValue=Value +PMPValue=Weighted average price +PMPValueShort=WAP +EnhancedValueOfWarehouses=Warehouses value +UserWarehouseAutoCreate=Create a warehouse automatically when creating a user +IndependantSubProductStock=Product stock and subproduct stock are independant +QtyDispatched=Quantity dispatched +QtyDispatchedShort=Qty dispatched +QtyToDispatchShort=Qty to dispatch +OrderDispatch=Stock dispatching +RuleForStockManagementDecrease=Rule for stock management decrease +RuleForStockManagementIncrease=Rule for stock management increase +DeStockOnBill=Decrease real stocks on customers invoices/credit notes validation +DeStockOnValidateOrder=Decrease real stocks on customers orders validation +DeStockOnShipment=Decrease real stocks on shipment validation +ReStockOnBill=Increase real stocks on suppliers invoices/credit notes validation +ReStockOnValidateOrder=Increase real stocks on suppliers orders approbation +ReStockOnDispatchOrder=Increase real stocks on manual dispatching into warehouses, after supplier order receiving +ReStockOnDeleteInvoice=Increase real stocks on invoice deletion +OrderStatusNotReadyToDispatch=Order has not yet or no more a status that allows dispatching of products in stock warehouses. +StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +NoPredefinedProductToDispatch=No predefined products for this object. So no dispatching in stock is required. +DispatchVerb=Dispatch +StockLimitShort=Limit for alert +StockLimit=Stock limit for alert +PhysicalStock=Physical stock +RealStock=Real Stock +VirtualStock=Virtual stock +MininumStock=Minimum stock +StockUp=Stock up +MininumStockShort=Stock min +StockUpShort=Stock up +IdWarehouse=Id warehouse +DescWareHouse=Description warehouse +LieuWareHouse=Localisation warehouse +WarehousesAndProducts=Warehouses and products +WarehousesAndProductsBatchDetail=Warehouses and products (with detail per lot/serial) +AverageUnitPricePMPShort=Weighted average input price +AverageUnitPricePMP=Weighted average input price +SellPriceMin=Selling Unit Price +EstimatedStockValueSellShort=Value to sell +EstimatedStockValueSell=Value to Sell +EstimatedStockValueShort=Input stock value +EstimatedStockValue=Input stock value +DeleteAWarehouse=Delete a warehouse +ConfirmDeleteWarehouse=Are you sure you want to delete the warehouse %s ? +PersonalStock=Personal stock %s +ThisWarehouseIsPersonalStock=This warehouse represents personal stock of %s %s +SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease +SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase +NoStockAction=No stock action +LastWaitingSupplierOrders=Orders waiting for receptions +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock +StockToBuy=To order +Replenishment=Replenishment +ReplenishmentOrders=Replenishment orders +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ +UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature +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 supplier +AlertOnly= Alerts only +WarehouseForStockDecrease=The warehouse %s will be used for stock decrease +WarehouseForStockIncrease=The warehouse %s will be used for stock increase +ForThisWarehouse=For this warehouse +ReplenishmentStatusDesc=This is a list of all products with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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 +MassStockMovement=Mass stock movement +SelectProductInAndOutWareHouse=Select a product, a quantity, a source warehouse and a target warehouse, then click "%s". Once this is done for all required movements, click onto "%s". +RecordMovement=Record transfert +ReceivingForSameOrder=Receipts for this order +StockMovementRecorded=Stock movements recorded +RuleForStockAvailability=Rules on stock requirements +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment +MovementLabel=Label of movement +InventoryCode=Movement or inventory code +IsInPackage=Contained into package +ShowWarehouse=Show warehouse +MovementCorrectStock=Stock correction for product %s +MovementTransferStock=Stock transfer of product %s into another warehouse +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +InventoryCodeShort=Inv./Mov. code +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/es_CO/suppliers.lang b/htdocs/langs/es_CO/suppliers.lang index 5213cec4e07..5388a4867c7 100644 --- a/htdocs/langs/es_CO/suppliers.lang +++ b/htdocs/langs/es_CO/suppliers.lang @@ -1,2 +1,46 @@ # Dolibarr language file - Source file is en_US - suppliers +Suppliers=Suppliers +AddSupplier=Create a supplier +SupplierRemoved=Supplier removed +SuppliersInvoice=Suppliers invoice +NewSupplier=New supplier +History=History +ListOfSuppliers=List of suppliers +ShowSupplier=Show supplier +OrderDate=Order date +BuyingPrice=Buying price +BuyingPriceMin=Minimum buying price +BuyingPriceMinShort=Min buying price +TotalBuyingPriceMin=Total of subproducts buying prices +SomeSubProductHaveNoPrices=Some sub-products have no price defined +AddSupplierPrice=Add supplier price +ChangeSupplierPrice=Change supplier price +ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier +ErrorSupplierCountryIsNotDefined=Country for this supplier is not defined. Correct this first. +ProductHasAlreadyReferenceInThisSupplier=This product has already a reference in this supplier +ReferenceSupplierIsAlreadyAssociatedWithAProduct=This reference supplier is already associated with a reference: %s +NoRecordedSuppliers=No suppliers recorded +SupplierPayment=Supplier payment +SuppliersArea=Suppliers area +RefSupplierShort=Ref. supplier +Availability=Availability +ExportDataset_fournisseur_1=Supplier invoices list and invoice lines +ExportDataset_fournisseur_2=Supplier invoices and payments +ExportDataset_fournisseur_3=Supplier orders and order lines +ApproveThisOrder=Approve this order +ConfirmApproveThisOrder=Are you sure you want to approve order %s ? DenyingThisOrder=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 ? +AddCustomerOrder=Create customer order +AddCustomerInvoice=Create customer invoice +AddSupplierOrder=Create supplier order +AddSupplierInvoice=Create supplier invoice +ListOfSupplierProductForSupplier=List of products and prices for supplier %s +NoneOrBatchFileNeverRan=None or batch %s not ran recently +SentToSuppliers=Sent to suppliers +ListOfSupplierOrders=List of supplier orders +MenuOrdersSupplierToBill=Supplier orders to invoice +NbDaysToDelivery=Delivery delay in days +DescNbDaysToDelivery=The biggest deliver delay of the products from this order +UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/es_CO/trips.lang b/htdocs/langs/es_CO/trips.lang index f5e6f1a92eb..b7b726bcebe 100644 --- a/htdocs/langs/es_CO/trips.lang +++ b/htdocs/langs/es_CO/trips.lang @@ -1,14 +1,101 @@ # Dolibarr language file - Source file is en_US - trips +ExpenseReport=Expense report +ExpenseReports=Expense reports Trip=Expense report Trips=Expense reports TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports +ListOfFees=List of fees NewTrip=New expense report +CompanyVisited=Company/foundation visited +Kilometers=Kilometers +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 SearchATripAndExpense=Search an expense report +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.\n- User: %s\n- Period: %s\nClick here to validate: %s +TripId=Id expense report +AnyOtherInThisListCanValidate=Person to inform for validation. +TripSociete=Information company +TripSalarie=Informations user +TripNDF=Informations expense report +DeleteLine=Delete a line of the expense report +ConfirmDeleteLine=Are you sure you want to delete this line ? +PDFStandardExpenseReports=Standard template to generate a PDF document for expense report +ExpenseReportLine=Expense report line +TF_OTHER=Other +TF_TRANSPORTATION=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 + +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +AucuneNDF=No expense reports found for this criteria +AucuneLigne=There is no expense report declared yet +AddLine=Add a line +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +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_VALIDE=Validation date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent on approval +ModifyInfoGen=Edit +ValidateAndSubmit=Validate and submit for approval + +NOT_VALIDATOR=You are not allowed to approve this expense report +NOT_AUTHOR=You are not the author of this expense report. Operation cancelled. + +RefuseTrip=Deny an expense report +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" ? + +CancelTrip=Cancel an expense report +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. diff --git a/htdocs/langs/es_ES/incoterm.lang b/htdocs/langs/es_ES/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/es_ES/incoterm.lang @@ -0,0 +1,7 @@ +Module210009Name=Incoterm +Module210009Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/es_ES/printing.lang b/htdocs/langs/es_ES/printing.lang new file mode 100644 index 00000000000..adaeafcf55d --- /dev/null +++ b/htdocs/langs/es_ES/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Impresión Directa +Module112000Desc=Activa Sistema de Impresión Directa +PrintingSetup=Configuración de la Impresión Directa +PrintingDesc=Este módulo añade un botón para enviar documentos directamente a una impresora (sin abrir documentos en la aplicación) con varios módulos. +ModuleDriverSetup=Configuración del módulo Drivers +PrintingDriverDesc=Configuración variables para el driver de impresión. +ListDrivers=Listado de drivers +PrintTestDesc=Listado de Impresoras. +FileWasSentToPrinter=El archivo %s ha sido enviado a la impresora +NoActivePrintingModuleFound=Sin módulo activo para imprimir documentos +PleaseSelectaDriverfromList=Seleccione un driver del listado. +SetupDriver=Configuración driver +TestDriver=Prueba +TargetedPrinter=Impresora destino +UserConf=Configuración por usuario +PRINTGCP=Google Cloud Print +PrintGCPDesc=Este driver le permite enviar documentos directamente a una impresora con Google Cloud Print. +PrintingDriverDescprintgcp=Configuración variables del driver de impresión Google Cloud Print. +PrintTestDescprintgcp=Listado de impresoras para Google Cloud Print. +PRINTGCP_LOGIN=Cuenta Google +PRINTGCP_PASSWORD=Contraseña Google +STATE_ONLINE=Online +STATE_UNKNOWN=Desconocido +STATE_OFFLINE=Offline +STATE_DORMANT=Desconectada +TYPE_GOOGLE=Google +TYPE_HP=Impresora HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nombre +GCP_displayName=Nombre a mostrar +GCP_Id=Id Impresora +GCP_OwnerName=Nombre del propietario +GCP_State=Estado Impresora +GCP_connectionStatus=Estado Online +GCP_Type=Tipo Impresora +PRINTIPP=Driver PrintIPP +PrintIPPSetup=Configuración del módulo Impresión Directa +PrintIPPDesc=Este módulo añade un botón para enviar documentos directamente a una impresora. Es necesario un SO Linux con CUPS instalado. +PrintingDriverDescprintipp=Configuración variables del driver de impresión PrintIPP +PrintTestDescprintipp=Listado de impresoras del driver PrintIPP. +PRINTIPP_ENABLED=Mostrar icono "Impresión directa" en los listados de documentos +PRINTIPP_HOST=Servidor de Impresión +PRINTIPP_PORT=Puerto +PRINTIPP_USER=Usuario +PRINTIPP_PASSWORD=Contraseña +NoPrinterFound=No se han encontrado impresoras (Compruebe la configuración de su CUPS) +FileWasSentToPrinter=El archivo %s ha sido enviado a la impresora +NoDefaultPrinterDefined=No hay impresora por defecto definida +DefaultPrinter=Impresora por defecto +Printer=Impresora +CupsServer=Servidor CUPS +IPP_Uri=URI Impresora +IPP_Name=Nombre impresora +IPP_State=Estado Impresora +IPP_State_reason=Razón del estado +IPP_State_reason1=Razon 1 del estado +IPP_BW=Blanco y negro +IPP_Color=Color +IPP_Device=Dispositivo +IPP_Media=Comunicación Impresora +IPP_Supported=Tipo de comunicación +STATE_IPP_idle=Idle +STATE_IPP_stopped=Parada +STATE_IPP_paused=Pausada +STATE_IPP_toner-low-report=Toner bajo +STATE_IPP_none=Ninguna +MEDIA_IPP_stationery=Bandeja +MEDIA_IPP_thermal=Térmica +IPP_COLOR_print-black=Impresora Blanco y Negro diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index cc346f1b38c..1af79f8b17a 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -1,18 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +LibraryToBuildPDF=Library used to build PDF +WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 +DefaultLink=Default link +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module - Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for thirdparties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + +# Modules +Module0Name=Users & groups +Module0Desc=Users and groups management +Module1Name=Third parties +Module1Desc=Companies and contact management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting +Module10Desc=Simple accounting reports (journals, turnover) based onto database content. No dispatching. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass E-mailings +Module22Desc=Mass E-mailing management +Module23Name= Energy +Module23Desc= Monitoring the consumption of energies +Module25Name=Customer Orders +Module25Desc=Customer order management +Module30Name=Invoices +Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module40Name=Suppliers +Module40Desc=Supplier management and buying (orders and invoices) +Module42Name=Logs +Module42Desc=Logging facilities (file, syslog, ...) +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Product management +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management (products) +Module53Name=Services +Module53Desc=Service management +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or reccuring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode management +Module56Name=Telephony +Module56Desc=Telephony integration +Module57Name=Standing orders +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module59Name=Bookmark4u +Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery order management +Module85Name=Banks and cash +Module85Desc=Management of bank or cash accounts +Module100Name=External site +Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronisation +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr datas (with assistants) +Module250Name=Data imports +Module250Desc=Tool to import datas in Dolibarr (with assistants) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add RSS feed inside Dolibarr screen pages +Module330Name=Bookmarks +Module330Desc=Bookmark management +Module400Name=Projects/Opportunities/Leads +Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) +Module510Name=Salaries +Module510Desc=Management of employees salaries and payments +Module520Name=Loan +Module520Desc=Management of loans +Module600Name=Notifications +Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module700Name=Donations +Module700Desc=Donation management +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1400Name=Accounting +Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation +Module1780Name=Tags/Categories Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices +Module2300Name=Cron +Module2300Desc=Scheduled job management +Module2400Name=Agenda +Module2400Desc=Events/tasks and agenda management +Module2500Name=Electronic Content Management +Module2500Desc=Save and share documents +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services +Module2650Name=WebServices (client) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3100Name=Skype +Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Workflow +Module6000Desc=Workflow management +Module20000Name=Leave Requests management +Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product lot Module39000Desc=Lot or serial number, eat-by and sell-by date management on products -MAIN_ROUNDING_RULE_TOT=Size of rounding range (for rare countries where rounding is done on something else than base 10) +Module50000Name=PayBox +Module50000Desc=Module to offer an online payment page by credit card with PayBox +Module50100Name=Point of sales +Module50100Desc=Point of sales module +Module50200Name=Paypal +Module50200Desc=Module to offer an online payment page by credit card with Paypal +Module50400Name=Accounting (advanced) +Module50400Desc=Accounting management (double parties) +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module55000Name=Open Poll +Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module59000Name=Margins +Module59000Desc=Module to manage margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Unvalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission41=Read projects (shared project and projects i'm contact for) +Permission42=Create/modify projects (shared project and projects i'm contact for) +Permission44=Delete projects (shared project and projects i'm contact for) +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export datas +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social contributions and vat +Permission92=Create/modify social contributions and vat +Permission93=Delete social contributions and vat +Permission94=Export social contributions +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage cheques dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read projects (also private i am not contact for) +Permission142=Create/modify projects (also private i am not contact for) +Permission144=Delete projects (also private i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read standing orders +Permission152=Create/modify a standing orders request +Permission153=Transmission standing orders receipts +Permission154=Credit/refuse standing orders receipts +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission171=Read trips and expenses (own and his subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read supplier orders +Permission182=Create/modify supplier orders +Permission183=Validate supplier orders +Permission184=Approve supplier orders +Permission185=Order or cancel supplier orders +Permission186=Receive supplier orders +Permission187=Close supplier orders +Permission188=Cancel supplier orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwith lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permisssions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties (not only those linked to user). Not effective for external users (always limited to themselves). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify costumers tariffs +Permission300=Read bar codes +Permission301=Create/modify bar codes +Permission302=Delete bar codes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission510=Read Salaries +Permission512=Create/modify salaries +Permission514=Delete salaries +Permission517=Export salaries +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 +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery orders +Permission1102=Create/modify delivery orders +Permission1104=Validate delivery orders +Permission1109=Delete delivery orders +Permission1181=Read suppliers +Permission1182=Read supplier orders +Permission1183=Create/modify supplier orders +Permission1184=Validate supplier orders +Permission1185=Approve supplier orders +Permission1186=Order supplier orders +Permission1187=Acknowledge receipt of supplier orders +Permission1188=Delete supplier orders +Permission1190=Approve (second approval) supplier orders +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read supplier invoices +Permission1232=Create/modify supplier invoices +Permission1233=Validate supplier invoices +Permission1234=Delete supplier invoices +Permission1235=Send supplier invoices by email +Permission1236=Export supplier invoices, attributes and payments +Permission1237=Export supplier orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1421=Export customer orders and attributes +Permission23001=Read Scheduled job +Permission23002=Create/update Scheduled job +Permission23003=Delete Scheduled job +Permission23004=Execute Scheduled job +Permission2401=Read actions (events or tasks) linked to his account +Permission2402=Create/modify actions (events or tasks) linked to his account +Permission2403=Delete actions (events or tasks) linked to his account +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission50101=Use Point of sales +Permission50201=Read transactions +Permission50202=Import transactions +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Prospect potential level +DictionaryCanton=State/Cantons +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Civility title +DictionaryActions=Type of agenda events +DictionarySocialContributions=Social contributions types +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of revenue stamps +DictionaryPaymentConditions=Payment terms +DictionaryPaymentModes=Payment modes +DictionaryTypeContact=Contact/Address types +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFees=Type of fees +DictionarySendingMethods=Shipping methods +DictionaryStaff=Staff +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancysystem=Models for chart of accounts +DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status +SetupSaved=Setup saved +BackToModuleList=Back to modules list +BackToDictionaryList=Back to dictionaries list +VATReceivedOnly=Special rate not charged +VATManagement=VAT Management +VATIsUsedDesc=The VAT rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to VAT, then VAT by default=0. End of rule.
If the (selling country= buying country), then the VAT by default=VAT of the product in the selling country. End of rule.
If seller and buyer in the European Community and goods are transport products (car, ship, plane), the default VAT=0 ( The VAT should be paid by the buyer at the customoffice of his country and not at the seller). End of rule.
If seller and buyer in the European Community and buyer is not a company, then the VAT by default=VAT of product sold. End of rule.
If seller and buyer in the European Community and buyer is a company, then the VAT by default=0. End of rule.
Else the proposed default VAT=0. End of rule. +VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases like associations, individuals ou small companies. +VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices. +##### Local Taxes ##### +LTRate=Rate +LocalTax1IsUsed=Use second tax +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than VAT) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsUsed=Use third tax +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than VAT) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Management +LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If te buyer is not subjected to RE, RE by default=0. End of rule.
If the buyer is subjected to RE then the RE by default. End of rule.
+LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES= In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES= In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES= IRPF Management +LocalTax2IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
If the seller is subjected to IRPF then the IRPF by default. End of rule.
+LocalTax2IsNotUsedDescES= By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES= In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES= In Spain they are bussines not subject to tax system of modules. +CalcLocaltax=Reports 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 +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +NbOfDays=Nb of days +AtEndOfMonth=At end of month +Offset=Offset +AlwaysActive=Always active +UpdateRequired=Your system needs to be updated. To do this, click on Update now. +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Add extension (theme, module, ...) +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +AllParameters=All parameters +OS=OS +PhpEnv=Env +PhpModules=Modules +PhpConf=Conf +PhpWebLink=Web-Php link +Pear=Pear +PearPackages=Pear Packages +Browser=Browser +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +DatabaseConfiguration=Database setup +Tables=Tables +TableName=Table name +TableLineFormat=Line format +NbOfRecord=Nb of records +Constraints=Constraints +ConstraintsType=Constraints type +ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry +AllMustBeOk=All of these must be checked +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +SystemUpdate=System update +SystemSuccessfulyUpdate=Your system has been updated successfuly +MenuCompanySetup=Company/Foundation +MenuNewUser=New user +MenuTopManager=Top menu manager +MenuLeftManager=Left menu manager +MenuManager=Menu manager +MenuSmartphoneManager=Smartphone menu manager +DefaultMenuTopManager=Top menu manager +DefaultMenuLeftManager=Left menu manager +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for list +MessageOfDay=Message of the day +MessageLogin=Login page message +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language to use (language code) +EnableMultilangInterface=Enable multilingual interface +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +SystemSuccessfulyUpdated=Your system has been updated successfully +CompanyInfo=Company/foundation information +CompanyIds=Company/foundation identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +CompanyObject=Object of the company +Logo=Logo +DoNotShow=Do not show +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Show link "%s" +ShowWorkBoard=Show "workbench" on homepage +Alerts=Alerts +Delays=Delays +DelayBeforeWarning=Delay before warning +DelaysBeforeWarning=Delays before warning +DelaysOfToleranceBeforeWarning=Tolerance delays before warning +DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events not yet realised +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not yet processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not yet processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Delay tolerance (in days) before alert on proposals to close +Delays_MAIN_DELAY_PROPALS_TO_BILL=Delay tolerance (in days) before alert on proposals not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerance delay (in days) before alert on services to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerance delay (in days) before alert on expired services +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerance delay (in days) before alert on unpaid supplier invoices +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence delay (in days) before alert on unpaid client invoices +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerance delay (in days) before alert on pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do +SetupDescription1=All parameters available in the setup area allow you to setup Dolibarr before starting using it. +SetupDescription2=The 2 most important setup steps are the 2 first ones in the left setup menu, this means Company/foundation setup page and Modules setup page: +SetupDescription3=Parameters in menu Setup -> Company/foundation are required because input information is used on Dolibarr displays and to modify Dolibarr behaviour (for example for features related to your country). +SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a fixed ERP/CRM but a sum of several modules, all more or less independant. It's only after activating modules you're interesting in that you will see features appeared in menus. +SetupDescription5=Other menu entries manage optional parameters. +EventsSetup=Setup for events logs +LogEvents=Security audit events +Audit=Audit +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos web server +InfoDatabase=Infos database +InfoPHP=Infos PHP +InfoPerf=Infos performances +BrowserName=Browser name +BrowserOS=Browser OS +ListEvents=Audit events +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu System tools - Audit. Warning, this feature can consume a large amount of data in database. +AreaForAdminOnly=Those features can be used by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +DisplayDesc=You can choose each parameter related to the Dolibarr look and feel here +AvailableModules=Available modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantee that session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guaranty that session will expire just after this delay. It will expire, after this delay, and when the session cleaner is ran, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behaviour of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realised new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Define here which rule you want to use to generate new password if you ask to have auto generated password +DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +ConstDesc=This page allows you to edit all other parameters not available in previous pages. They are reserved parameters for advanced developers or for troubleshouting. +OnceSetupFinishedCreateUsers=Warning, you are a Dolibarr administrator user. Administrator users are used to setup Dolibarr. For a usual usage of Dolibarr, it is recommended to use a non administrator user created from Users & Groups menu. +MiscellaneousDesc=Define here all other parameters related to security. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimisations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) +MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been recorded yet. This can be normal if audit has not been enabled on "setup - security - audit" page. +NoEventFoundWithCriteria=No security event has been found for such search criterias. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=To make a complete backup of Dolibarr, you must: BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one +RestoreDesc=To restore a Dolibarr backup, you must: RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule= This rule is forced to %s by an activated module +PreviousDumpFiles=Available database backup dump files +WeekStartOnDay=First day of week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset +ShowProfIdInAddress=Show professionnal id with addresses on documents +ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents +TranslationUncomplete=Partial translation +SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. +MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) +MAIN_DISABLE_METEO=Disable meteo view +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it. +ExternalAccess=External access +MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet) +MAIN_PROXY_HOST=Name/Address of proxy server +MAIN_PROXY_PORT=Port of proxy server +MAIN_PROXY_USER=Login to use the proxy server +MAIN_PROXY_PASS=Password to use the proxy server +DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsThirdParties=Complementary attributes (thirdparty) +ExtraFieldsContacts=Complementary attributes (contact/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerOrders=Complementary attributes (orders) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendingMailSetup=Setup of sendings by email +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +TranslationSetup=Configuration de la traduction +TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). +TotalNumberOfActivatedModules=Total number of activated feature modules: %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found into PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s that is best driver available currently. +YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. +NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +SearchOptim=Search optimization +YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. +BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. +XDebugInstalled=XDebug is loaded. +XCacheInstalled=XCache is loaded. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. +##### Users setup ##### +UserGroupSetup=Users and groups module setup +GeneratePassword=Suggest a generated password +RuleForGeneratedPasswords=Rule to generate suggested passwords or validate passwords +DoNotSuggest=Do not suggest any password +EncryptedPasswordInDatabase=To allow the encryption of the passwords in the database +DisableForgetPasswordLinkOnLogonPage=Do not show the link "Forget password" on login page +UsersSetup=Users module setup +UserMailRequired=EMail required to create a new user +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) +AccountCodeManager=Module for accountancy code generation (customer or supplier) +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +UseNotifications=Use notifications NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +ModelModules=Documents templates +DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules on Professional Ids +MustBeUnique=Must be unique ? +MustBeMandatory=Mandatory to create third parties ? +MustBeInvoiceMandatory=Mandatory to validate invoices ? +Miscellaneous=Miscellaneous +##### Webcal setup ##### +WebCalSetup=Webcalendar link setup +WebCalSyncro=Add Dolibarr events to WebCalendar +WebCalAllways=Always, no asking +WebCalYesByDefault=On demand (yes by default) +WebCalNoByDefault=On demand (no by default) +WebCalNever=Never +WebCalURL=URL for calendar access +WebCalServer=Server hosting calendar database +WebCalDatabaseName=Database name +WebCalUser=User to access database +WebCalSetupSaved=Webcalendar setup saved successfully. +WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +WebCalTestKo2=Connection to server '%s' with user '%s' failed. +WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database. +WebCalAddEventOnCreateActions=Add calendar event on actions create +WebCalAddEventOnCreateCompany=Add calendar event on companies create +WebCalAddEventOnStatusPropal=Add calendar event on commercial proposals status change +WebCalAddEventOnStatusContract=Add calendar event on contracts status change +WebCalAddEventOnStatusBill=Add calendar event on bills status change +WebCalAddEventOnStatusMember=Add calendar event on members status change +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct. +##### Invoices ##### +BillsSetup=Invoices module setup +BillsDate=Invoices date +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +CreditNoteSetup=Credit note module setup +CreditNotePDFModules=Credit note document models +CreditNote=Credit note +CreditNotes=Credit notes +ForceInvoiceDate=Force invoice date to validation date +DisableRepeatable=Disable repeatable invoices +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +##### Proposals ##### +PropalSetup=Commercial proposals module setup +CreateForm=Create forms +NumberOfProductLines=Number of product lines +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +ClassifiedInvoiced=Classified invoiced +HideTreadedPropal=Hide the treated commercial proposals in the list +AddShippingDateAbility=Add shipping date ability +AddDeliveryAddressAbility=Add delivery date ability +UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Free text on price requests suppliers +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request +##### Orders ##### +OrdersSetup=Order management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +HideTreadedOrders=Hide the treated or cancelled orders in the list +ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). +##### Bookmark4u ##### +Bookmark4uSetup=Bookmark4u module setup +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AddSubscriptionIntoAccount=Suggest by default to create a bank transaction, in bank module, when adding a new payed subscription +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=EMail required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPTypeExample=OpenLdap, Egroupware or Active Directory +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port : 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPPasswordExample=Admin password +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveYes=Activated synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members type DN +LDAPMemberTypeDnExample=Complete DN (ex: ou=type_members,dc=example,dc=com) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindFailed=Disconnect failed +LDAPConnectToDNSuccessfull=Connection to DN (%s) successful +LDAPConnectToDNFailed=Connection to DN (%s) failed +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example : uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example : &(objectClass=inetOrgPerson) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example : samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example : cn +LDAPFieldPassword=Password +LDAPFieldPasswordNotCrypted=Password not crypted +LDAPFieldPasswordCrypted=Password crypted +LDAPFieldPasswordExample=Example : userPassword +LDAPFieldCommonName=Common name +LDAPFieldCommonNameExample=Example : cn +LDAPFieldName=Name +LDAPFieldNameExample=Example : sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example : givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example : mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example : telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example : homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example : mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example : facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example : street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example : postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example : l +LDAPFieldCountry=Country +LDAPFieldCountryExample=Example : c +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example : description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example : uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldBirthdateExample=Example : +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example : o +LDAPFieldSid=SID +LDAPFieldSidExample=Example : objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Post/Function +LDAPFieldTitleExample=Example: title +LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. +NotInstalled=Not installed, so your server is not slow down by this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) +ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms +ModifyProductDescAbility=Personalization of product descriptions in forms +ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualization of products descriptions in the thirdparty language +UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseEcoTaxeAbility=Support Eco-Taxe (WEEE) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogSyslog=Syslog +SyslogFacility=Facility +SyslogLevel=Level +SyslogSimpleFile=File +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=Windows only supports LOG_USER +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +UseBarcodeInProductModule=Use bar codes for products +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +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=Withdrawal module setup +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender EMail (From) for emails sent by emailing module +MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=EMail notification module setup +NotificationEMailFrom=Sender EMail (From) for emails sent for notifications +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Fixed email target +##### Sendings ##### +SendingsSetup=Sending module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipment sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +##### OSCommerce 1 ##### +OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). +OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. +OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. +##### Stock ##### +StockSetup=Warehouse module setup +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. +##### Menu ##### +MenuDeleted=Menu deleted +TreeMenu=Tree menus +Menus=Menus +TreeMenuPersonalized=Personalized menus +NewMenu=New menu +MenuConf=Menus setup +Menu=Selection of menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu= Hide unauthorized menus (gray) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailMainmenu=Group for which it belongs (obsolete) +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailLeftmenu=Display condition or not (obsolete) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top open a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line ? +##### Tax ##### +TaxSetup=Taxes, social contributions and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Cash basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on payments for services +OptionVatDebitOptionDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on invoice (debit) for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup. +AccountancyCode=Accountancy Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view +AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +##### ClickToDial ##### +ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +##### Point Of Sales (CashDesk) ##### +CashDesk=Point of sales +CashDeskSetup=Point of sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque= Default account to use to receive payments by cheque +CashDeskBankAccountForCB= Default account to use to receive payments by credit cards CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or externale web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on cheque receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Supplier module setup +SuppliersCommandModel=Complete template of supplier order (logo...) +SuppliersInvoiceModel=Complete template of supplier invoice (logo...) +SuppliersInvoiceNumberingModel=Supplier invoices numbering models +IfSetToYesDontForgetPermission=If set to yes, 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 +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +##### ECM (GED) ##### +ECMSetup = GED Setup +ECMAutoTree = Automatic tree folder and document +##### Fiscal Year ##### +FiscalYears=Fiscal years +FiscalYear=Fiscal year +FiscalYearCard=Fiscal year card +NewFiscalYear=New fiscal year +EditFiscalYear=Edit fiscal year +OpenFiscalYear=Open fiscal year +CloseFiscalYear=Close fiscal year +DeleteFiscalYear=Delete fiscal year +ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? +Opened=Open +Closed=Closed +AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. +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". +ListOfNotificationsPerContact=List of notifications per contact* +ListOfFixedNotifications=List of fixed notifications +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build database backup dump file +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 only manual steps a privileged user can do. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/es_MX/cron.lang b/htdocs/langs/es_MX/cron.lang index 3f755fc725d..f4a33f42b6b 100644 --- a/htdocs/langs/es_MX/cron.lang +++ b/htdocs/langs/es_MX/cron.lang @@ -1,3 +1,88 @@ # Dolibarr language file - Source file is en_US - cron +# About page +About = About +CronAbout = About Cron +CronAboutPage = 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 cron jobs if required +OrToLaunchASpecificJob=Or to check and launch a specific job +KeyForCronAccess=Security key for URL to launch cron jobs +FileToLaunchCronJobs=Command line to launch cron jobs CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes +# Menu +CronJobs=Scheduled jobs +CronListActive=List of active/scheduled jobs +CronListInactive=List of disabled jobs +# Page list +CronDateLastRun=Last run +CronLastOutput=Last run output +CronLastResult=Last result code +CronListOfCronJobs=List of scheduled jobs +CronCommand=Command +CronList=Scheduled jobs +CronDelete=Delete scheduled jobs +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? +CronExecute=Launch scheduled jobs +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? +CronInfo=Scheduled job module allow to execute job that have been planned +CronWaitingJobs=Waiting jobs +CronTask=Job +CronNone=None +CronDtStart=Start date +CronDtEnd=End date +CronDtNextLaunch=Next execution +CronDtLastLaunch=Last execution +CronFrequency=Frequency +CronClass=Class +CronMethod=Method +CronModule=Module +CronAction=Action +CronStatus=Status +CronStatusActive=Enabled +CronStatusInactive=Disabled +CronNoJobs=No jobs registered +CronPriority=Priority +CronLabel=Description +CronNbRun=Nb. launch +CronEach=Every +JobFinished=Job launched and finished +#Page card +CronAdd= Add jobs +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create +CronArgs=Parameters +CronSaveSucess=Save succesfully +CronNote=Comment +CronFieldMandatory=Fields %s is mandatory +CronErrEndDateStartDt=End date cannot be before start date +CronStatusActiveBtn=Enable +CronStatusInactiveBtn=Disable +CronTaskInactive=This job is disabled +CronDtLastResult=Last result date +CronId=Id +CronClassFile=Classes (filename.class.php) +CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product +CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php +CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product +CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth +CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef +CronCommandHelp=The system command line to execute. +CronCreateJob=Create new Scheduled Job +# Info +CronInfoPage=Information +# Common +CronType=Job type +CronType_method=Call method of a Dolibarr Class +CronType_command=Shell command +CronMenu=Cron +CronCannotLoadClass=Cannot load class %s or object %s +UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +TaskDisabled=Job disabled diff --git a/htdocs/langs/es_MX/main.lang b/htdocs/langs/es_MX/main.lang index 2e691473326..b8eb245ac6f 100644 --- a/htdocs/langs/es_MX/main.lang +++ b/htdocs/langs/es_MX/main.lang @@ -1,5 +1,9 @@ # 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=. @@ -19,3 +23,719 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTranslation=No translation +NoRecordFound=No record found +NoError=No error +Error=Error +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Can not create dir %s +ErrorCanNotReadDir=Can not read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorNoRequestRan=No request ran +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +BackgroundColorByDefault=Default background color +FileNotUploaded=The file was not uploaded +FileUploaded=The file was successfully uploaded +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=Nb of entries +GoToWikiHelpPage=Read online help (need Internet access) +GoToHelpPage=Read help +RecordSaved=Record saved +RecordDeleted=Record deleted +LevelOfFeature=Level of features +NotDefined=Not defined +DefinedAndHasThisValue=Defined and value to +IsNotDefined=undefined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten ? +SeeAbove=See above +HomeArea=Home area +LastConnexion=Last connection +PreviousConnexion=Previous connection +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentification mode +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +RequestLastAccessInError=Request for last database access in error +ReturnCodeLastAccessInError=Return code for last database access in error +InformationLastAccessInError=Information for last database access in error +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is information that can help diagnostic +MoreInformation=More information +TechnicalInformation=Technical information +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +Enabled=Enabled +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +Update=Update +AddActionToDo=Add event to do +AddActionDone=Add event done +Close=Close +Close2=Close +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? +Delete=Delete +Remove=Remove +Resiliate=Resiliate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +Save=Save +SaveAs=Save As +TestConnection=Test connection +ToClone=Clone +ConfirmClone=Choose data you want to clone : +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +ShowCardHere=Show card +Search=Search +SearchOf=Search +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Send file +ToLink=Link +Select=Select +Choose=Choose +ChooseLangage=Please choose your language +Resize=Resize +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +GlobalValue=Global value +PersonalValue=Personal value +NewValue=New value +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +CurrentNote=Current note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +Model=Model +DefaultModel=Default model +Action=Event +About=About +Number=Number +NumberByMonth=Number by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +DevelopmentTeam=Development Team +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Connection +Setup=Setup +Alert=Alert +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Date=Date +DateAndHour=Date and hour +DateStart=Date start +DateEnd=Date end +DateCreation=Creation date +DateModification=Modification date +DateModificationShort=Modif. date +DateLastModification=Last modification date +DateValidation=Validation date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DatePlanShort=Date planed +DateRealShort=Date real. +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +HourShort=H +MinuteShort=mn +Rate=Rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultGlobalValue=Global value +Price=Price +UnitPrice=Unit price +UnitPriceHT=Unit price (net) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=U.P. +Amount=Amount +AmountInvoice=Invoice amount +AmountPayment=Payment amount +AmountHTShort=Amount (net) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (net of tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyHT=Price for this quantity (net of tax) +PriceQtyMinHT=Price quantity min. (net of tax) +PriceQtyTTC=Price for this quantity (inc. tax) +PriceQtyMinTTC=Price quantity min. (inc. of tax) +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (net) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (net of tax) +TotalHTforthispage=Total (net of tax) for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +IncludedVAT=Included tax +HT=Net of tax +TTC=Inc. tax +VAT=Sales tax +LT1ES=RE +LT2ES=IRPF +VATRate=Tax Rate +Average=Average +Sum=Sum +Delta=Delta +Module=Module +Option=Option +List=List +FullList=Full list +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. supplier +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsDone=Events done +ActionsToDoShort=To do +ActionsRunningshort=Started +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=Started +ActionDoneShort=Finished +ActionUncomplete=Uncomplete +CompanyFoundation=Company/Foundation +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events about this third party +ActionsOnMember=Events about this member +NActions=%s events +NActionsLate=%s late +RequestAlreadyDone=Request already recorded +Filter=Filter +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +MyBookmarks=My bookmarks +OtherInformationsBoxes=Other information boxes +DolibarrBoard=Dolibarr board +DolibarrStateBoard=Statistics +DolibarrWorkBoard=Work tasks board +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Popularity=Popularity +Categories=Tags/categories +Category=Tag/category +By=By +From=From +to=to +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other informations +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultOk=Success +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +Validated=Validated +Opened=Open +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +Received=Received +Paid=Paid +Topic=Sujet +ByCompanies=By third parties +ByUsers=By users +Links=Links +Link=Link +Receipts=Receipts +Rejects=Rejects +Preview=Preview +NextStep=Next step +PreviousStep=Previous step +Datas=Data +None=None +NoneF=None +Late=Late +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +Login=Login +CurrentLogin=Current login +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +JanuaryMin=Jan +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Apr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +AttachedFiles=Attached files and documents +FileTransferComplete=File was uploaded successfuly +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Mot clé +Legend=Legend +FillTownFromZip=Fill city from zip +Fill=Fill +Reset=Reset +ShowLog=Show log +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfCustomers=Number of customers +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfReferers=Number of referrers +Referers=Refering objects +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildPDF=Build PDF +RebuildPDF=Rebuild PDF +BuildDoc=Build Doc +RebuildDoc=Rebuild Doc +Entity=Environment +Entities=Entities +EventLogs=Logs +CustomerPreview=Customer preview +SupplierPreview=Supplier preview +AccountancyPreview=Accountancy preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show supplier preview +ShowAccountancyPreview=Show accountancy preview +ShowProspectPreview=Show prospect preview +RefCustomer=Ref. customer +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Question=Question +Response=Response +Priority=Priority +SendByMail=Send by EMail +MailSentBy=Email sent by +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send Ack. by email +NoEMail=No email +NoMobilePhone=No mobile phone +Owner=Owner +DetectedVersion=Detected version +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s records modified +AutomaticCode=Automatic code +NotManaged=Not managed +FeatureDisabled=Feature disabled +MoveBox=Move box %s +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +PartialWoman=Partial +PartialMan=Partial +TotalWoman=Total +TotalMan=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Color=Color +Documents=Linked files +DocumentsNb=Linked files (%s) +Documents2=Documents +BuildDocuments=Generated documents +UploadDisabled=Upload disabled +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +NoFileFound=No documents saved in this directory +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +Informations=Informations +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +ListOfFiles=List of available files +FreeZone=Free entry +FreeLineOfType=Free entry of type +CloneMainAttributes=Clone object with its main attributes +PDFMerge=PDF Merge +Merge=Merge +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +NoMenu=No sub-menu +WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. +CreditCard=Credit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP convertion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Card must be validated before using this feature +Visibility=Visibility +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +OptionalFieldsSetup=Extra attributes setup +URLPhoto=URL of photo/logo +SetLinkToThirdParty=Link to another third party +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +DeleteAFile=Delete a file +ConfirmDeleteAFile=Are you sure you want to delete file +NoResults=No results +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +HomeDashboard=Home summary +Deductible=Deductible +from=from +toward=toward +Access=Access +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account Currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +ShowTransaction=Show transaction +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman +# Week day +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index ae0443ccffb..c2eedabc461 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Kasutajatele mõeldud menüü LangFile=File. Lang System=Süsteem SystemInfo=Süsteemi info -SystemTools=Süsteemi tööriistad SystemToolsArea=Süsteemi tööriistade ala SystemToolsAreaDesc=Selles alas on administreerimise vahendid. Kasuta menüüd, et leida soovitud tööriist. Purge=Tühjenda @@ -232,8 +231,8 @@ Security=Turvalisus Passwords=Paroolid DoNotStoreClearPassword=Ära säilita paroole andmebaasis avatud tekstis, vaid ainult krüpteeritud väärtusi (soovitatav aktiveeritud). MainDbPasswordFileConfEncrypted=Andmebaasi parool on conf.php failis krüpteeritud (soovitatav aktiveeritud). -InstrucToEncodePass=Salasõna kodeerimiseks conf.phpfailis asenda rida
$dolibarr_main_db_pass="..."
alljärgnevaga:
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Avatud tekstis (puhta) parooli kasutamiseksconf.phpfailis asenda rida
$dolibarr_main_db_pass="crypted:..."
alljärgnevaga:
$dolibarr_main_db_pass="%s" +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=Automaatselt loodud PDF failide kaitse (soovitatav välja lülitatud, kuna vastasel juhul ei tööta PDFide hulgi loomine) ProtectAndEncryptPdfFilesDesc=PDF dokumendi kaitse võimaldab seda ikkagi iga PDFi lugejaga vaadata ja printida. Kahjuks ei ole selle järel enam võimalik faili toimetamine ja kopeerimine. Pane tähele, et seda funktsionaalsust kasutades pole enam võimalik luua kokkuliidetud PDF faile (näiteks tasutamata arved). Feature=Funktsionaalsus @@ -300,13 +299,13 @@ ThisIsProcessToFollow=See on seadistatud töötlema üksust: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Samm %s FindPackageFromWebSite=Leia pakett, mis võimaldab soovitud funktsionaalsuse (näiteks ametlikul veebilehel %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Paigaldamine on lõpetatud ja Dolibarr on valmis kasutama uut komponenti. NotExistsDirect=Alternatiivset juurkausta pole määratletud.
InfDirAlt=Alates versioonist 3 on võimalik määratleda alternatiivne juurkaust. See võimaldab samas kohas säilitada liidesed ja enda loodud mallid.
Lihtsalt loo Dolibarri juurkausta lisakataloog (näiteks: custom).
InfDirExample=
Seejärel määratle seadistusfails conf.php parameetrid
$dolibarr_main_url_root_alt='http://minuserver/custom'
$dolibarr_main_document_root_alt='/rada//dolibarr/htdocs/custom'
*Need read on välja kommenteeritud sümboliga "#", kasutamiseks eemalda trellid. -YouCanSubmitFile=Vali moodul: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarri praegune versioo CallUpdatePage=Mine lehele, mis uuendab andmebaasi struktuuri ja andmed: %s. LastStableVersion=Viimane stabiilne versioon @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameetrite nimekiri on määratletud tabelis
Sü ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDFide loomiseks kasutatav teek WarningUsingFPDF=Hoiatus: conf.php sisaldab direktiivi dolibarr_pdf_force_fpdf=1. See tähendab, et PDF failide loomiseks kasutatakse FPDF teeki. FPDF teek on vananenud ja ei toeta paljusid võimalusi (Unicode, läbipaistvad pildid, kirillitsa, araabia ja aasia märgistikke jne), seega võib PDFi loomise ajal tekkida vigu.
Probleemide vältimiseks ja täieliku PDFi loomise toe jaoks palun lae alla TCPDF teek ning seejärel kommenteeri välja või kustuta rida $dolibarr_pdf_force_fpdf=1 ja lisa rida $dolibarr_lib_TCPDF_PATH='TCPDF_kausta_rada' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Sisesta telefoninumber, millele kasutaja helistab ClickToDial nupu testimisel %s RefreshPhoneLink=Värskenda linki @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=WebCalendari integratsioon -Module500Name=Erikulud (maksud, sotsiaalmaks, dividendid) -Module500Desc=Erikulude: nt maksude, sotsiaalmaksude, dividendide ja palkade haldamine +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Palgad Module510Desc=Töötajate palkade ja palkade maksmise haldamine Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Päevakava Module2400Desc=Tegevuste/ülesannete ja päevakava haldamine Module2500Name=Dokumendihaldus Module2500Desc=Salvesta ja jaga dokumente -Module2600Name=Veebiteenused -Module2600Desc=Lülita Dolibarri veebiteenuste server sisse +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Pakkumiste/tellimuste päritolu DictionaryAccountancyplan=Kontode graafik DictionaryAccountancysystem=Kontoplaani mudelid DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Seadistused salvestatud BackToModuleList=Tagasi moodulite nimekirja BackToDictionaryList=Tagasi sõnastike nimekirja @@ -936,13 +939,14 @@ CompanyZip=Postiindeks CompanyTown=Linn CompanyCountry=Riik CompanyCurrency=Põhivaluuta +CompanyObject=Object of the company Logo=Logo DoNotShow=Ära näita DoNotSuggestPaymentMode=Ära soovita NoActiveBankAccountDefined=Aktiivset pangakontot pole määratletud OwnerOfBankAccount=Pangakonto %s omani BankModuleNotActive=Pangakontode moodul pole sisse lülitatud -ShowBugTrackLink=Näita linki "Teata veast" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Näita kodulehel "töölauda" Alerts=Häired Delays=Hilinemised @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Maks kümnendkohti ühikuhindades MAIN_MAX_DECIMALS_TOT=Maks kümnendkohti kogusummades MAIN_MAX_DECIMALS_SHOWN=Max kümnendkohti ekraanil näidatavate hindade jaoks (lisa ... pärast seda parameetrit, kui tahad, et arvude kärpimisel näidatakse nendel järel ...) MAIN_DISABLE_PDF_COMPRESSION=Kasuta loodud PDF-failide jaoks PDFi pakkimist. -MAIN_ROUNDING_RULE_TOT= Ümardamise suurus (nende harvade riikide jaoks, kus ümardatakse millegi muu kui 10 alusel) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Toote neto ühikuhind TotalPriceAfterRounding=Koguhind (neto/km/km-ga) pärast ümardamist ParameterActiveForNextInputOnly=Parameeter kehtib vaid järgmise sisestuse ajal @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Aktiveeritud mooduleid kokku: %s YouMustEnableOneModule=Pead vähemalt 1 mooduli sisse lülitama ClassNotFoundIntoPathWarning=Klassi %s ei ole PHP rajas YesInSummer=Suviti 'jah' -OnlyFollowingModulesAreOpenedToExternalUsers=Märkus: välised kasutajad saavad kasutada vaid neid mooduleid (hoolimata nende kasutaja õigustest): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sessiooni andmehoidla krüpteeritud Suhosini poolt ConditionIsCurrently=Olek on hetkel %s YouUseBestDriver=Kasutad draiverit %s, mis on hetkel saadaolevatest parim. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Maksimaalne toodete arv liitbokside nimekirjades (0= ConfirmDeleteProductLineAbility=Küsi vormides tooteridade eemaldamisel kinnitust ModifyProductDescAbility=Toodete kirjeldusi on vormides võimalik muuta ViewProductDescInFormAbility=Toodete kirjelduste visualiseerimine vormides (hüpikaknas) +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=Toodete kirjelduste visualiseerimine kolmanda isiku keeles UseSearchToSelectProductTooltip=Suure toodete arvu korral (> 100 000) saab kiiruse suurendamiseks seadistada Seadistamine->Muu menüüs konstandi PRODUCT_DONOTSEARCH_ANYWHERE väärtuseks 1. Sellisel juhul piirdub otsing sõne algusega. UseSearchToSelectProduct=Kasuta toote valimiseks otsinguvormi (rippmenüü asemel). UseEcoTaxeAbility=Eco-Taxe (WEEE) tugi SetDefaultBarcodeTypeProducts=Vaikimisi vöötkoodi tüüp toodetel SetDefaultBarcodeTypeThirdParties=Vaikimisi vöötkoodi tüüpi kolmandatel isikutel +UseUnits=Support units ProductCodeChecker= Tootekoodide (tooted või teenused) genereerimiseks kasutatav moodul ProductOtherConf= Toodete/teenuste seadistamine ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=UPC tüüpi vöötkood BarcodeDescISBN=ISBN tüüpi vöötkood BarcodeDescC39=C39 tüüpi vöötkood BarcodeDescC128=C128 tüüpi vöötkood +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=Sisemine mootor BarCodeNumberManager=Automaatselt määratletud vöötkoodide haldamine @@ -1552,6 +1560,13 @@ WebServicesSetup=Veebiteenuste mooduli seadistamine WebServicesDesc=Selle mooduli võimaldamisel muutub Dolibarr veebiteenuse serveriks ning pakub erinevaid veebiteenuseid. WSDLCanBeDownloadedHere=Pakutavate teenuste WSDL kirjeldusfaile saab alla laadida siit EndPointIs=SOAP kliendid peavad oma päringud saatma Dolibarri peavad saatma oma taotlused Dolibarri lõppsõlme, mis on saadaval URLil +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Pangamooduli seadistamine FreeLegalTextOnChequeReceipts=Vaba tekst tšekikviitungitel @@ -1594,7 +1609,7 @@ OpenFiscalYear=Ava majandusaasta CloseFiscalYear=Sulge majandusaasta DeleteFiscalYear=Kustuta majandusaasta ConfirmDeleteFiscalYear=Kas oled kindel, et soovid selle majandusaasta kustutada? -Opened=Avatud +Opened=Open Closed=Suletud 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) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/et_EE/banks.lang b/htdocs/langs/et_EE/banks.lang index 740d08009c4..eb2d26f22f2 100644 --- a/htdocs/langs/et_EE/banks.lang +++ b/htdocs/langs/et_EE/banks.lang @@ -94,12 +94,12 @@ Conciliate=Vii vastavusse Conciliation=Vastavusse viimine ConciliationForAccount=Vii see konto vastavusse IncludeClosedAccount=Sh suletud tehingute summad -OnlyOpenedAccount=Ainult avatud tehingud +OnlyOpenedAccount=Only open accounts AccountToCredit=Krediteeritav konto AccountToDebit=Debiteeritav konto DisableConciliation=Keela sellel kontol vastavusse viimise funktsioonid ConciliationDisabled=Vastavusse viimine on keelatud -StatusAccountOpened=Avatud +StatusAccountOpened=Open StatusAccountClosed=Suletud AccountIdShort=Number EditBankRecord=Muuda kannet diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index bc5ccc57a44..c4a4c0ed6af 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Arve Bills=Arved -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Kliendi arved +BillsCustomer=Kliendi arve +BillsSuppliers=Ostuarved +BillsCustomersUnpaid=Tasumata müügiarved BillsCustomersUnpaidForCompany=Tasumata müügiarved ühikuga %s BillsSuppliersUnpaid=Tasumata ostuarved BillsSuppliersUnpaidForCompany=Tasumata ostuarved ühikuga %s BillsLate=Hilinenud maksed -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Suppliers invoices statistics +BillsStatistics=Müügiiarvete statistika +BillsStatisticsSuppliers=Ostuarvete statistika DisabledBecauseNotErasable=Blokeeritud, sest ei saa kustutada InvoiceStandard=Standardne arve InvoiceStandardAsk=Standardne arve @@ -74,7 +74,7 @@ PaymentsAlreadyDone=Juba tehtud maksed PaymentsBackAlreadyDone=Juba tehtud tagasimaksed PaymentRule=Maksereegel PaymentMode=Makse liik -PaymentTerm=Payment term +PaymentTerm=Maksetähtaeg PaymentConditions=Payment terms PaymentConditionsShort=Payment terms PaymentAmount=Makse summa @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Kohene @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/et_EE/boxes.lang b/htdocs/langs/et_EE/boxes.lang index a7801245f45..c07f6be14c8 100644 --- a/htdocs/langs/et_EE/boxes.lang +++ b/htdocs/langs/et_EE/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Viimased lepingud BoxLastContacts=Viimased kontaktid/aadressid BoxLastMembers=Viimased liikmed BoxFicheInter=Viimased sekkumised -BoxCurrentAccounts=Avatud kontode saldo +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Müügikäive BoxTotalUnpaidCustomerBills=Kokku tasumata müügiarveid BoxTotalUnpaidSuppliersBills=Kokku maksmata ostuarveid @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Viimased %s muudetud sekkumist BoxTitleOldestUnpaidCustomerBills=Vanemad %s maksmata klientide arved BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Avatud kontode saldod +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Müügikäive BoxTitleTotalUnpaidCustomerBills=Maksmata klientide arved BoxTitleTotalUnpaidSuppliersBills=Maksmata tarnijate arved diff --git a/htdocs/langs/et_EE/categories.lang b/htdocs/langs/et_EE/categories.lang index 441c62cb002..723ce63a9b2 100644 --- a/htdocs/langs/et_EE/categories.lang +++ b/htdocs/langs/et_EE/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s edukalt lisatud. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Puudub NotCategorized=Without tag/category CategoryExistsAtSameLevel=Sellise viitega kategooria on juba olemas @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Sisu ei ole kõigile nähtav CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Kliendi-/Huvil kategooriad @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/et_EE/companies.lang b/htdocs/langs/et_EE/companies.lang index aafc764f97b..4945015ee29 100644 --- a/htdocs/langs/et_EE/companies.lang +++ b/htdocs/langs/et_EE/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Jõudis maksmata summa maksimumini MonkeyNumRefModelDesc=Tagasta arv formaadiga %syymm-nnnn kliendikoodi jaoks ja %syymm-nnnn hankija koodi jaoks, kus yy on aasta, mm on kuu ja nnnn on katkestuseta jada, mille väärtus pole kunagi 0. LeopardNumRefModelDesc=Kood on vaba, seda saab igal ajal muuta. ManagingDirectors=Haldaja(te) nimi (CEO, direktor, president...) -SearchThirdparty=Otsi kolmandat isikut +SearchThirdparty=Search third party SearchContact=Otsi kontakti +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/et_EE/cron.lang b/htdocs/langs/et_EE/cron.lang index 477e601a0d6..dab2eaf4b85 100644 --- a/htdocs/langs/et_EE/cron.lang +++ b/htdocs/langs/et_EE/cron.lang @@ -4,10 +4,10 @@ About = Mooduli kohta CronAbout = Cron mooduli kohta CronAboutPage = Croni info kohta # Right -Permission23101 = Loe plaanitud tegevus -Permission23102 = Loo/uuenda plaanitud tegevust -Permission23103 = Kustuta plaanitud tegevus -Permission23104 = Käivita plaanitud tegevus +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Plaanitavata programmide haldamise seadistamine URLToLaunchCronJobs=Croni poolt kontrollitavate ja käivitatavate programmide jaoks vajalik URL @@ -26,11 +26,11 @@ CronLastOutput=Viimase käivituse väljund CronLastResult=Viimane vastuse kood CronListOfCronJobs=Käivitatavate tööde nimekiri CronCommand=Käsk -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Tegevus @@ -39,8 +39,8 @@ CronDtStart=Alguskuupäev CronDtEnd=Lõppkuupäev CronDtNextLaunch=Järgmine käivitus CronDtLastLaunch=Viimane käivitus -CronFrequency=Sagedus -CronClass=Klass +CronFrequency=Frequency +CronClass=Class CronMethod=Meetod CronModule=Moodul CronAction=Tegevus @@ -55,9 +55,9 @@ CronEach=Iga JobFinished=Tegevus käivitatud ja lõpetatud #Page card CronAdd= Lisa programme -CronHourStart= Tegevuse algusaeg ja -kuupäev -CronEvery= Ja käivita iga tegevus -CronObject= Instants/objekt, mis luuakse +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instants/objekt, mis luuakse CronArgs=Parameetrid CronSaveSucess=Salvestamine õnnestus CronNote=Kommentaar @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informatsioon # Common -CronType=Tegevuse tüüp +CronType=Job type CronType_method=Dolibarri klassi väljakutsutav meetod CronType_command=Käsurea käsk CronMenu=Cro CronCannotLoadClass=Klassi %s või objekti %s laadimine ebaõnnestus UseMenuModuleToolsToAddCronJobs=Mine menüüsse "Kodu - Moodulite tööriistad - Tegevuste nimekiri" planeeritud tegevuste vaatamiseks ja muutmiseks. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 86106217529..0b311c65018 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Kohustuslikud seadistusparameetrid on määratlemata diff --git a/htdocs/langs/et_EE/incoterm.lang b/htdocs/langs/et_EE/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/et_EE/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/et_EE/languages.lang b/htdocs/langs/et_EE/languages.lang index effb7253522..1893f2e4d07 100644 --- a/htdocs/langs/et_EE/languages.lang +++ b/htdocs/langs/et_EE/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Araabia Language_ar_SA=Araabia +Language_bn_BD=Bengali Language_bg_BG=Bulgaaria Language_bs_BA=Bosnia Language_ca_ES=Katalaani @@ -21,9 +22,10 @@ Language_en_SA=Inglise (Saudi Araabia) Language_en_US=Inglise (Ameerika Ühendriigid) Language_en_ZA=Inglise (Lõuna-Aafrika) Language_es_ES=Hispaania -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Hispaania (Argentiina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Hispaania (Honduras) Language_es_MX=Hispaania (Mehhiko) Language_es_PY=Hispaania (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Islandi Language_it_IT=Itaalia Language_ja_JP=Jaapani +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korea +Language_lo_LA=Lao Language_lt_LT=Leedu Language_lv_LV=Läti Language_mk_MK=Makedoonia @@ -64,6 +69,7 @@ Language_sv_SV=Rootsi Language_sv_SE=Rootsi Language_sq_AL=Albanian Language_sk_SK=Slovaki +Language_sw_SW=Kiswahili Language_th_TH=Tai Language_uk_UA=Ukraina Language_uz_UZ=Usbeki diff --git a/htdocs/langs/et_EE/mails.lang b/htdocs/langs/et_EE/mails.lang index 2098f500988..a1dd612479d 100644 --- a/htdocs/langs/et_EE/mails.lang +++ b/htdocs/langs/et_EE/mails.lang @@ -77,7 +77,7 @@ CheckRead=Vaata kviitungit YourMailUnsubcribeOK=E-posti aadress %s on edukalt oma tellimuse meililistist eemaldanud MailtoEMail=E-kirja hüperlink ActivateCheckRead=Luba "Tühista tellimus" lingi kasutamine -ActivateCheckReadKey="Vaata kviitungit" ja "Tühista tellimus" linkide URLi krüpteerimiseks kasutatav võti +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-kiri saadetud %s aadressile. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 37257f3cb9c..bfa6a5ff0b1 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Ühiku hind (neto) UnitPriceTTC=Ühiku hind PriceU=ÜH PriceUHT=ÜH (neto) -AskPriceSupplierUHT=P.U. HT nõutud +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=ÜH Amount=Summa AmountInvoice=Arve summa @@ -413,6 +413,8 @@ Qty=Kogus ChangedBy=Muutis ApprovedBy=Kiitis heaks ApprovedBy2=Kiitis heaks (teine nõusolek) +Approved=Approved +Refused=Refused ReCalculate=Arvuta uuesti ResultOk=Õnnestumine ResultKo=Viga @@ -421,7 +423,7 @@ Reportings=Aruandlus Draft=Mustand Drafts=Mustandid Validated=Kinnitatud -Opened=Avatud +Opened=Open New=Uus Discount=Allahindlus Unknown=Tundmatu @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Seostatud kindla kasutaja kontaktiga DeleteAFile=Kustuta fail ConfirmDeleteAFile=Kas oled kindel, et soovid kustutada faili NoResults=Vasteid ei leitud +SystemTools=System tools ModulesSystemTools=Moodulite tööriistad Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Näita tehingut GoIntoSetupToChangeLogo=Mine Kodu - Seadistamine - Ettevõte logo muutmiseks või mine Kodu - Seadistamine - Kuva logo peitmiseks. Deny=Lükka tagasi Denied=Tagasi lükatud +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Esmaspäev Tuesday=Teisipäev @@ -732,3 +738,4 @@ ShortThursday=N ShortFriday=R ShortSaturday=L ShortSunday=P +SelectMailModel=Select email template diff --git a/htdocs/langs/et_EE/orders.lang b/htdocs/langs/et_EE/orders.lang index f886109879c..e9032112719 100644 --- a/htdocs/langs/et_EE/orders.lang +++ b/htdocs/langs/et_EE/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Ostutellimus SuppliersOrders=Ostutellimus SuppliersOrdersRunning=Praegused ostutellimused CustomerOrder=Müügitellimus -CustomersOrders=Customers orders -CustomersOrdersRunning=Praegused müügitellimused -CustomersOrdersAndOrdersLines=Müügitellimused ja tellimuste read -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Töötlemist vajavad ostutellimused +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Tühistatud StatusOrderDraftShort=Mustand StatusOrderValidatedShort=Kinnitatud @@ -75,8 +75,9 @@ AddToMyOrders=Lisa minu tellimustele AddToOtherOrders=Lisa muudele tellimustele AddToDraftOrders=Lisa tellimuse mustandile ShowOrder=Näita tellimust -NoOpenedOrders=Pole ühtki avatud tellimust -NoOtherOpenedOrders=Pole ühtki muud avatud tellimust +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Ühtki tellimuse mustandit ei ole OtherOrders=Muud tellimused LastOrders=Last %s customer orders diff --git a/htdocs/langs/et_EE/other.lang b/htdocs/langs/et_EE/other.lang index ec294842f2b..c89032a204b 100644 --- a/htdocs/langs/et_EE/other.lang +++ b/htdocs/langs/et_EE/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Sekkumine kinnitatud Notify_FICHINTER_SENTBYMAIL=Sekkumine saadetud postiga Notify_BILL_VALIDATE=Müügiarve kinnitatud Notify_BILL_UNVALIDATE=Müügiarve avatud +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Ostutellimus heaks kiidetud Notify_ORDER_SUPPLIER_REFUSE=Ostutellimus tagasi lükatud Notify_ORDER_VALIDATE=Müügitellimus kinnitatud @@ -203,6 +204,7 @@ ClickHereToGoTo=Klõpsa siia, et minna %s YouMustClickToChange=Esmalt pead klõpsa järgneval lingil, et kinnitada salasõna muutmine ForgetIfNothing=Kui Sina ei palunud seda muudatust, siis ignoreeri antud kirja ja mingeid muudatusi ei toimu. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Lisa kirje kalendrisse %s diff --git a/htdocs/langs/et_EE/printing.lang b/htdocs/langs/et_EE/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/et_EE/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/et_EE/productbatch.lang b/htdocs/langs/et_EE/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/et_EE/productbatch.lang +++ b/htdocs/langs/et_EE/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index a5aeb31e5a9..c77f228937c 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=See vaade esitab kõik projektid, mida sul on lubatud vaadata ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=See vaade näitab kõiki projekte (sinu kasutajaõigused annavad ligipääsu kõigele) MyTasksDesc=Selles vaates näidatakse vaid neid projekte või ülesandeid, mille kontaktiks oled märgitud (hoolimata liigist) -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=See vaade esitab kõik projektid ja ülesanded, mida sul on lubatud vaadata. TasksDesc=See vaade näitab kõiki projekte ja ülesandeid (sinu kasutajaõigused annavad ligipääsu kõigele) AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Projektide nimekir ShowProject=Kuva projekt SetProject=Määra projekt NoProject=Ühtki projekti pole määratletud või ei oma ühtki projekt -NbOpenTasks=Avatud ülesandeid +NbOpenTasks=Nb of open tasks NbOfProjects=Projekte TimeSpent=Aega kulutatud TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Ülesannetel kulutatud aeg TaskTimeUser=Kasutaja TaskTimeNote=Märkus TaskTimeDate=Kuupäev -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Aeg kulutatud uuesti MyTimeSpent=Minu poolt kulutatud aeg @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Antud projektiga seotud sekkumiste nimekiri ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Antud projektiga seotud tegevuste nimekiri +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Projekti aktiivsus sellel nädalal ActivityOnProjectThisMonth=Projekti aktiivsus sellel kuul ActivityOnProjectThisYear=Projekti aktiivsus sellel aastal @@ -95,7 +96,7 @@ DeleteATimeSpent=Kustuta kulutatud aeg ConfirmDeleteATimeSpent=Kas oled kindel, et soovid selle kulutatud aja kustutada? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressursid +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Selle kolmanda isikuga seotud projektid NoTasks=Selle projektiga ei ole seotud ühtki ülesannet LinkedToAnotherCompany=Seotud muu kolmanda isikuga @@ -139,8 +140,12 @@ ProjectReferers=Viitavad objektid SearchAProject=Otsi projekti ProjectMustBeValidatedFirst=Esmalt peab projekti kinnitama ProjectDraft=Projektide mustandid -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/et_EE/propal.lang b/htdocs/langs/et_EE/propal.lang index c7a320ce8c4..83d959ea4cc 100644 --- a/htdocs/langs/et_EE/propal.lang +++ b/htdocs/langs/et_EE/propal.lang @@ -4,7 +4,7 @@ Proposal=Pakkumine ProposalShort=Pakkumine ProposalsDraft=Koosta pakkumiste mustandeid ProposalDraft=Koosta pakkumise mustand -ProposalsOpened=Avatud pakkumised +ProposalsOpened=Open commercial proposals Prop=Pakkumised CommercialProposal=Pakkumine CommercialProposals=Pakkumised @@ -16,7 +16,7 @@ Prospect=Huviline ProspectList=Huviliste nimekiri DeleteProp=Kustuta pakkumine ValidateProp=Kinnita pakkumine -AddProp=Lisa pakkumine +AddProp=Create proposal ConfirmDeleteProp=Kas oled täiesti kindel, et soovid selle pakkumise kustutada? ConfirmValidateProp=Kas oled täiesti kindel, et soovid selle pakkumise kinnitada nimega %s ? LastPropals=Viimased %s pakkumist @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Arv kuus (km-ta) NbOfProposals=Pakkumisi ShowPropal=Näita pakkumist PropalsDraft=Mustandid -PropalsOpened=Avatud +PropalsOpened=Open PropalsNotBilled=Suletud, arve esitamata PropalStatusDraft=Mustand (vajab kinnitamist) PropalStatusValidated=Kinnitatud (pakkumine lahti) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Allkirjastamata (suletud) PropalStatusBilled=Arve esitatud PropalStatusDraftShort=Mustand PropalStatusValidatedShort=Kinnitatud -PropalStatusOpenedShort=Avatud +PropalStatusOpenedShort=Open PropalStatusClosedShort=Suletud PropalStatusSignedShort=Allkirjastatud PropalStatusNotSignedShort=Allkirjastamata @@ -51,12 +51,10 @@ PropalsToClose=Pakkumisi sulgeda PropalsToBill=Allkirjastatud pakkumisi, mille kohta tuleb arve esitada ListOfProposals=Pakkumiste nimekiri ActionsOnPropal=Tegevused pakkumisel -NoOpenedPropals=Pole ühtki lahtist pakkumist -NoOtherOpenedPropals=Pole ühtki muud lahtist pakkumist +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Pakkumise viide SendPropalByMail=Saada pakkumine kirja teel -FileNotUploaded=Faili ei laetud üles -FileUploaded=Fail on edukalt üles laetud AssociatedDocuments=Pakkumisega seotud dokumendid: ErrorCantOpenDir=Ei saa kausta avada DatePropal=Pakkumise kuupäev @@ -100,3 +98,4 @@ DocModelJauneDescription=Kollane pakkumise mudel DefaultModelPropalCreate=Vaikimisi mudeli loomine DefaultModelPropalToBill=Vaikimisi mall pakkumise sulgemiseks (arve esitada) DefaultModelPropalClosed=Vaikimisi mall pakkumise sulgemiseks (arvet ei esitata) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/et_EE/salaries.lang b/htdocs/langs/et_EE/salaries.lang index a694b60850e..bf229ba4d85 100644 --- a/htdocs/langs/et_EE/salaries.lang +++ b/htdocs/langs/et_EE/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Näita palga makset THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/et_EE/sendings.lang b/htdocs/langs/et_EE/sendings.lang index 9daa227665a..b424d1b3903 100644 --- a/htdocs/langs/et_EE/sendings.lang +++ b/htdocs/langs/et_EE/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Lihtsa dokumendi mudel DocumentModelMerou=Merou A5 mudel WarningNoQtyLeftToSend=Hoiatus: pole ühtki lähetamise ootel kaupa. StatsOnShipmentsOnlyValidated=Statistika põhineb vaid kinnitatud saadetistel. Kasutatavaks kuupäevaks on saadetise kinnitamise kuupäev (plaanitav kohaletoimetamise aeg ei ole alati teada). -DateDeliveryPlanned=Plaanitud kohaletoimetamise aeg +DateDeliveryPlanned=Planned date of delivery DateReceived=Saadetise kättesaamise kuupäev SendShippingByEMail=Saada saadetis e-postiga SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index 34bab60106b..a0ed7afed62 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Laod NewWarehouse=Uus ladu/laojäägi ala WarehouseEdit=Muuda ladu MenuNewWarehouse=Uus ladu -WarehouseOpened=Ladu avatud +WarehouseOpened=Warehouse open WarehouseClosed=Ladu suletud WarehouseSource=Lähteladu WarehouseSourceNotDefined=Ühtki ladu pole määratletud. @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Vali laojäägi vähendamiseks kasutatav ladu SelectWarehouseForStockIncrease=Vali laojäägi suurendamiseks kasutatav ladu NoStockAction=Laojäägi tegevust ei ole LastWaitingSupplierOrders=Vastuvõtmist ootavad tellimused -DesiredStock=Soovitud laojääk +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Tellida Replenishment=Värskendamine ReplenishmentOrders=Tellimuste värskendamine -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Kasuta virtuaalset ladu UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Laojäägi värskendamise reegel @@ -112,8 +113,8 @@ AlertOnly= Ainult hoiatused WarehouseForStockDecrease=Laojäägi vähendamiseks kasutatakse ladu %s WarehouseForStockIncrease=Laojäägi suurendamiseks kasutatakse ladu %s ForThisWarehouse=Antud lao tarbeks -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Värskendamised NbOfProductBeforePeriod=Toote %s laojääk enne valitud perioodi (< %s) NbOfProductAfterPeriod=Toote %s laojääk pärast valitud perioodi (> %s) @@ -124,16 +125,16 @@ RecordMovement=Registreeri ülekanne ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/et_EE/suppliers.lang b/htdocs/langs/et_EE/suppliers.lang index e5f5685505d..d7f46de1200 100644 --- a/htdocs/langs/et_EE/suppliers.lang +++ b/htdocs/langs/et_EE/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Saadetud hankijatele ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/et_EE/trips.lang b/htdocs/langs/et_EE/trips.lang index 1aba2f539ee..657c146dc1a 100644 --- a/htdocs/langs/et_EE/trips.lang +++ b/htdocs/langs/et_EE/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List tasude NewTrip=New expense report CompanyVisited=Äriühingu/ühenduse külastas @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/et_EE/users.lang b/htdocs/langs/et_EE/users.lang index bae0b660b1f..3c9c55c5717 100644 --- a/htdocs/langs/et_EE/users.lang +++ b/htdocs/langs/et_EE/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Eemalda grupist PasswordChangedAndSentTo=Salasõna muudetud ja saadetud aadressile %s. PasswordChangeRequestSent=Kasutaja %s salasõna muutmise plave saadetud aadressile %s. MenuUsersAndGroups=Kasutajad ja grupid +MenuMyUserCard=My user card LastGroupsCreated=Viimased %s loodud gruppi LastUsersCreated=Viimased %s loodud kasutajat ShowGroup=Näita gruppi diff --git a/htdocs/langs/et_EE/workflow.lang b/htdocs/langs/et_EE/workflow.lang index dbbd2ac7611..01df6f3f840 100644 --- a/htdocs/langs/et_EE/workflow.lang +++ b/htdocs/langs/et_EE/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Töövoo mooduli seaded -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Hetkel aktiveeritud moodulite jaoks ei ole ühtki muudetavat töövoogu. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Pärast pakkumise allkirjastamast loo automaatselt uus tellimus -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Pärast pakkumise allkirjastamist loo automaatselt uus arve -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Pärast lepingu kinnitamast loo automaatselt uus arve -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Pärast tellimuse sulgemist loo automaatselt uus arve +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Pärast tellimusega seotud makse laekumist määra tellimusega seotud pakkumise staatuseks 'Arve esitatud' descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Kui müügiarve staatuseks on määratud 'Makstud', siis määra seotud tellimus(t)e staatuseks 'Arve esitatud' descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Kui müügiarve on kinnitatud, siis määra seotud tellimus(t)e staatuseks 'Arve esitatud' diff --git a/htdocs/langs/eu_ES/accountancy.lang b/htdocs/langs/eu_ES/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/eu_ES/accountancy.lang +++ b/htdocs/langs/eu_ES/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 6c71d93825a..d7d545b1e29 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Erabiltzaileentzat menua LangFile=.lang fitxategia System=Sistema SystemInfo=Sistemaren informazioa -SystemTools=Sistemaren tresnak SystemToolsArea=Sistemaren tresnen gunea SystemToolsAreaDesc=Gune honek kudeaketarako aukerak eskaintzen ditu. Bilatzen ari zarena aukeratzeko menua erabili. Purge=Garbitu @@ -232,8 +231,8 @@ Security=Segurtasuna Passwords=Pasahitzak DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Aukera @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=%s pausua FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Modulua aukeratu: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr-en uneko bertsioa CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Azkeneko bertsio egonkorra @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDF-ak sortzeko erabilitako liburutegia WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Esteka freskatu @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Web-egutegia Module410Desc=Web-egutegiaren integrazioa -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Gertaera/Atazak eta agenda kudeatzea Module2500Name=Electronic Content Management Module2500Desc=Dokumentuak gorde eta partekatu -Module2600Name=Web-zerbitzuak -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=UPC motako barra-kodea BarcodeDescISBN=ISBN motako barra-kodea BarcodeDescC39=C39 motako barra-kodea BarcodeDescC128=C128 motako barra-kodea +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=Barne-eragilea BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/eu_ES/banks.lang b/htdocs/langs/eu_ES/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/eu_ES/banks.lang +++ b/htdocs/langs/eu_ES/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index b0f031dd02a..bd39f12f2e6 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/eu_ES/boxes.lang b/htdocs/langs/eu_ES/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/eu_ES/boxes.lang +++ b/htdocs/langs/eu_ES/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/eu_ES/categories.lang b/htdocs/langs/eu_ES/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/eu_ES/categories.lang +++ b/htdocs/langs/eu_ES/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/eu_ES/companies.lang b/htdocs/langs/eu_ES/companies.lang index e51242ae01b..b56d6f96501 100644 --- a/htdocs/langs/eu_ES/companies.lang +++ b/htdocs/langs/eu_ES/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/eu_ES/cron.lang b/htdocs/langs/eu_ES/cron.lang index c9f25039854..c6045d6b202 100644 --- a/htdocs/langs/eu_ES/cron.lang +++ b/htdocs/langs/eu_ES/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informazioa # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/eu_ES/incoterm.lang b/htdocs/langs/eu_ES/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/eu_ES/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/eu_ES/languages.lang b/htdocs/langs/eu_ES/languages.lang index 726aeb8863b..382ad44f608 100644 --- a/htdocs/langs/eu_ES/languages.lang +++ b/htdocs/langs/eu_ES/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Katalana @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=Ingelesa (Estatu Batuak) Language_en_ZA=English (South Africa) Language_es_ES=Gaztelania -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Gaztelania (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italiera Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/eu_ES/mails.lang b/htdocs/langs/eu_ES/mails.lang index 1c18ac46f16..99182ed8b9a 100644 --- a/htdocs/langs/eu_ES/mails.lang +++ b/htdocs/langs/eu_ES/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index 5adafa00c76..307f767933d 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/eu_ES/orders.lang b/htdocs/langs/eu_ES/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/eu_ES/orders.lang +++ b/htdocs/langs/eu_ES/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/eu_ES/other.lang b/htdocs/langs/eu_ES/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/eu_ES/other.lang +++ b/htdocs/langs/eu_ES/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/eu_ES/printing.lang b/htdocs/langs/eu_ES/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/eu_ES/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/eu_ES/productbatch.lang b/htdocs/langs/eu_ES/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/eu_ES/productbatch.lang +++ b/htdocs/langs/eu_ES/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/eu_ES/propal.lang b/htdocs/langs/eu_ES/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/eu_ES/propal.lang +++ b/htdocs/langs/eu_ES/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/eu_ES/salaries.lang b/htdocs/langs/eu_ES/salaries.lang index 98551e32117..3a5c7b07796 100644 --- a/htdocs/langs/eu_ES/salaries.lang +++ b/htdocs/langs/eu_ES/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Soldataren ordainketa erakutsi THM=Batezbesteko orduko prezioa TJM=Batezbesteko eguneko prezioa CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/eu_ES/sendings.lang b/htdocs/langs/eu_ES/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/eu_ES/sendings.lang +++ b/htdocs/langs/eu_ES/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/eu_ES/suppliers.lang b/htdocs/langs/eu_ES/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/eu_ES/suppliers.lang +++ b/htdocs/langs/eu_ES/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/eu_ES/trips.lang b/htdocs/langs/eu_ES/trips.lang index a39886daeb8..e2be11fc6ba 100644 --- a/htdocs/langs/eu_ES/trips.lang +++ b/htdocs/langs/eu_ES/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Bisitatutako konpania/erakundea @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/eu_ES/users.lang b/htdocs/langs/eu_ES/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/eu_ES/users.lang +++ b/htdocs/langs/eu_ES/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/eu_ES/workflow.lang b/htdocs/langs/eu_ES/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/eu_ES/workflow.lang +++ b/htdocs/langs/eu_ES/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/fa_IR/accountancy.lang b/htdocs/langs/fa_IR/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/fa_IR/accountancy.lang +++ b/htdocs/langs/fa_IR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index 0ab1934d707..1f3df5c33e6 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=منو برای کاربران LangFile=فایل زبان System=سیستم SystemInfo=اطلاعات سیستم -SystemTools=ابزار های سیستم SystemToolsArea=ابزار های سیستم منطقه SystemToolsAreaDesc=این منطقه فراهم می کند ویژگی های دولت. با استفاده از منوی را انتخاب کنید از ویژگی های شما دنبال آن هستید. Purge=پالایش @@ -232,8 +231,8 @@ Security=امنیت Passwords=کلمه عبور DoNotStoreClearPassword=آیا بدون رمز عبور روشن ذخیره در پایگاه داده، اما ذخیره تنها مقدار رمز شده (فعال توصیه می شود) MainDbPasswordFileConfEncrypted=رمز عبور پایگاه داده را در conf.php رمز شده (فعال توصیه می شود) -InstrucToEncodePass=برای داشتن رمز عبور کد گذاری شده به فایل conf.php، جایگزین خط
$ dolibarr_main_db_pass = "..."
توسط
$ dolibarr_main_db_pass = "crypted:٪ s" -InstrucToClearPass=برای داشتن رمز عبور رمز گشایی (روشن) را در فایل conf.php، جایگزین خط
$ dolibarr_main_db_pass = "crypted: ..."
توسط
$ dolibarr_main_db_pass = "٪ s" +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=حفاظت از فایل های پی دی اف ایجاد شده (فعال توصیه نمی شود، می شکند نسل پی دی اف توده) ProtectAndEncryptPdfFilesDesc=محافظت از یک سند PDF آن را نگه می دارد قابل مطالعه و چاپ با هر مرورگر PDF. با این حال، ویرایش و کپی امکان پذیر نیست. توجه داشته باشید که با استفاده از این ویژگی ساختمان از پی دی اف انباشت شده و متراکم جهانی کار نمی کند (مثل صورت حساب های پرداخت نشده). Feature=خصیصه @@ -300,13 +299,13 @@ ThisIsProcessToFollow=این راه اندازی به فرآیند است: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=مرحله٪ s را FindPackageFromWebSite=پیدا کردن یک بسته است که ویژگی فراهم می کند شما می خواهید (به عنوان مثال در وب سایت رسمی٪ بازدید کنندگان). -DownloadPackageFromWebSite=دانلود بسته %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=نصب به پایان رسید و Dolibarr آماده استفاده است با این بخش جدید است. NotExistsDirect=ریشه جایگزین تعریف نشده است.
InfDirAlt=از آنجا که نسخه 3 این امکان وجود دارد که تعریف کند directory.This ریشه جایگزین شما اجازه می دهد برای ذخیره، همان محل، پلاگین ها و قالب های سفارشی.
(: سفارشی به عنوان مثال) فقط یک پوشه در ریشه Dolibarr ایجاد کنید.
InfDirExample=
سپس آن را در conf.php فایل اعلام
$ dolibarr_main_url_root_alt = 'http://myserver/custom'
$ dolibarr_main_document_root_alt = '/ راه / از / dolibarr / htdocs / سفارشی'
* این خطوط با "#" نظر، به کامنت فقط حذف شخصیت. -YouCanSubmitFile=ماژول را انتخاب کنید: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=نسخه فعلی Dolibarr CallUpdatePage=برو به صفحه ای که به روز رسانی ساختار بانک اطلاعاتی و دادهها:٪ است. LastStableVersion=آخرین نسخه پایدار @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=لیست پارامترها می آید از یک ج ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=کتابخانه مورد استفاده برای ساخت PDF WarningUsingFPDF=اخطار: conf.php شما شامل dolibarr_pdf_force_fpdf بخشنامه = 1. این به این معنی شما استفاده از کتابخانه FPDF برای تولید فایل های PDF. این کتابخانه قدیمی است و بسیاری از ویژگی های (یونیکد، شفافیت تصویر، زبان سیریلیک، عربی و آسیایی، ...) را پشتیبانی نمی کند، بنابراین شما ممکن است خطا در PDF نسل را تجربه کنند.
برای حل این و دارای پشتیبانی کامل از PDF نسل، لطفا دانلود کنید کتابخانه TCPDF ، پس از آن اظهار نظر و یا حذف خط $ dolibarr_pdf_force_fpdf = 1، و اضافه کردن به جای $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=شماره تلفن را وارد کنید تماس بگیرید برای نشان دادن یک لینک برای تست آدرس ClickToDial برای کاربر٪ s را RefreshPhoneLink=تازه کردن لینک @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=ادغام Webcalendar -Module500Name=هزینه های ویژه (مالیاتی، کمک های اجتماعی، سود سهام) -Module500Desc=مدیریت هزینه های خاص مانند مالیات، مشارکت اجتماعی، سود سهام و حقوق +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=حقوق Module510Desc=مدیریت کارکنان حقوق و پرداخت Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=دستور کار Module2400Desc=رویدادهای / وظایف و مدیریت برنامه Module2500Name=الکترونیکی مدیریت محتوا Module2500Desc=ذخیره و به اشتراک اسناد -Module2600Name=سرویس دهنده وب -Module2600Desc=فعال کردن Dolibarr خدمات وب سرور +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=وب سروسی ها ( کلاینت) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar در @@ -817,6 +818,8 @@ DictionarySource=منبع از پیشنهادات / سفارشات DictionaryAccountancyplan=نمودار حساب DictionaryAccountancysystem=مدل برای نمودار حساب DictionaryEMailTemplates=الگوهای ایمیل +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=راه اندازی نجات داد BackToModuleList=بازگشت به لیست ماژول ها BackToDictionaryList=برگشت به فهرست واژه نامه ها @@ -936,13 +939,14 @@ CompanyZip=زیپ CompanyTown=شهر CompanyCountry=کشور CompanyCurrency=ارز اصلی +CompanyObject=Object of the company Logo=لوگو DoNotShow=را نشان نمی DoNotSuggestPaymentMode=آیا نشان نمی NoActiveBankAccountDefined=بدون حساب بانکی فعال تعریف OwnerOfBankAccount=صاحب حساب بانکی از٪ s BankModuleNotActive=ماژول حساب بانکی فعال نیست -ShowBugTrackLink=نمایش لینک "گزارش خرابی" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=نمایش "میز کار" در صفحه اصلی Alerts=تصویر، موسیقی Delays=تاخیر @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=حداکثر اعشار برای قیمت واحد MAIN_MAX_DECIMALS_TOT=حداکثر اعشار برای کل قیمت MAIN_MAX_DECIMALS_SHOWN=حداکثر اعشار برای قیمت نشان داده شده بر روی صفحه نمایش (اضافه کردن ... بعد از این شماره اگر شما می خواهید برای دیدن ... وقتی که تعداد ناقص است که بر روی صفحه نمایش نشان داده شده است) MAIN_DISABLE_PDF_COMPRESSION=استفاده از PDF فشرده سازی برای فایل های PDF تولید شده است. -MAIN_ROUNDING_RULE_TOT= حجم از محدوده گرد کردن (برای کشورهای نادر که در آن گرد کردن بر روی چیز دیگری از پایه 10 انجام می شود) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=قیمت واحد خالص محصول TotalPriceAfterRounding=قیمت کل (خالص مالیاتی / مالیات بر ارزش افزوده / نرم) پس از گرد کردن ParameterActiveForNextInputOnly=پارامتر برای ورودی بعدی موثر تنها @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=مجموع ماژول ها از ویژگی های YouMustEnableOneModule=شما باید حداقل قادر می سازد 1 ماژول ClassNotFoundIntoPathWarning=کلاس٪ s ​​را به مسیر PHP یافت نشد YesInSummer=بله در فصل تابستان -OnlyFollowingModulesAreOpenedToExternalUsers=توجه داشته باشید، فقط ماژول های زیر را به کاربران خارجی (هر چه باشد اجازه چنین کاربران) باز: +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=ذخیره سازی جلسه رمز شده توسط Suhosin ConditionIsCurrently=وضعیت در حال حاضر از٪ s YouUseBestDriver=شما با استفاده از راننده٪ است که بهترین راننده های موجود در حال حاضر. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=تعداد حداکثر از محصولات در com ConfirmDeleteProductLineAbility=تأییدیه زمانی که از بین بردن خطوط تولید در اشکال ModifyProductDescAbility=شخصی از توصیف محصول در اشکال ViewProductDescInFormAbility=تجسم از توصیف محصول در اشکال (در غیر این صورت به عنوان دوست پنجره) +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=تجسم از محصولات توصیف در زبان thirdparty UseSearchToSelectProductTooltip=همچنین اگر شما تعداد زیادی از محصول (> 100 000)، شما می توانید سرعت با تنظیم PRODUCT_DONOTSEARCH_ANYWHERE ثابت به 1 در راه اندازی-> دیگر افزایش دهد. جست و جو خواهد شد و سپس محدود به شروع از رشته است. UseSearchToSelectProduct=استفاده از یک فرم جستجو برای انتخاب یک محصول (و نه از لیست کشویی). UseEcoTaxeAbility=پشتیبانی سازگار با محیط زیست Taxe (WEEE) SetDefaultBarcodeTypeProducts=فرض نوع بارکد استفاده برای محصولات SetDefaultBarcodeTypeThirdParties=فرض نوع بارکد استفاده برای اشخاص ثالث +UseUnits=Support units ProductCodeChecker= ماژول برای تولید کد محصول و چک کردن (محصول یا خدمات) ProductOtherConf= پیکربندی محصولات / خدمات ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=بارکد از نوع UPC BarcodeDescISBN=بارکد از نوع ISBN BarcodeDescC39=بارکد از نوع C39 BarcodeDescC128=بارکد از نوع 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=موتور داخلی BarCodeNumberManager=مدیر به صورت خودکار تعریف اعداد بارکد @@ -1552,6 +1560,13 @@ WebServicesSetup=راه اندازی ماژول Webservices WebServicesDesc=با فعال کردن این ماژول، Dolibarr تبدیل شدن به یک سرور خدمات وب به ارائه خدمات وب متفرقه. WSDLCanBeDownloadedHere=فایل توصیف WSDL از خدمات ارائه شده را می توان به دانلود در اینجا EndPointIs=مشتریان SOAP باید درخواست خود را به نقطه پایانی Dolibarr در آدرس ارسال دسترس +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=راه اندازی ماژول بانک FreeLegalTextOnChequeReceipts=متن رایگان در چک رسید @@ -1594,7 +1609,7 @@ OpenFiscalYear=سال مالی گسترش CloseFiscalYear=بستن سال مالی DeleteFiscalYear=حذف سال مالی ConfirmDeleteFiscalYear=آیا مطمئن هستید این سال مالی را حذف کنید؟ -Opened=افتتاح شد +Opened=Open Closed=بسته AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/fa_IR/banks.lang b/htdocs/langs/fa_IR/banks.lang index fb73c087b53..8fd9cf7b791 100644 --- a/htdocs/langs/fa_IR/banks.lang +++ b/htdocs/langs/fa_IR/banks.lang @@ -94,12 +94,12 @@ Conciliate=وفق دادن Conciliation=مصالحه ConciliationForAccount=آشتی دادن اين حساب کاربری IncludeClosedAccount=شامل حساب های بسته شده -OnlyOpenedAccount=حساب های تنها باز +OnlyOpenedAccount=Only open accounts AccountToCredit=حساب به اعتبار AccountToDebit=حساب به بدهی DisableConciliation=غیر فعال کردن ویژگی های آشتی برای این حساب ConciliationDisabled=از ویژگی های آشتی غیر فعال است -StatusAccountOpened=باز شده +StatusAccountOpened=Open StatusAccountClosed=بسته شده AccountIdShort=شماره EditBankRecord=ویرایش رکورد diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index a3f3768a280..d375f0bf78f 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=فوری @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/fa_IR/boxes.lang b/htdocs/langs/fa_IR/boxes.lang index 9be03f59ea7..a7d32e6e263 100644 --- a/htdocs/langs/fa_IR/boxes.lang +++ b/htdocs/langs/fa_IR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=تاریخ و زمان آخرین قرارداد BoxLastContacts=تاریخ و زمان آخرین تماس / آدرس BoxLastMembers=آخرین عضو BoxFicheInter=تاریخ و زمان آخرین مداخلات -BoxCurrentAccounts=افتتاح موجودی حساب +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=گردش مالی فروش BoxTotalUnpaidCustomerBills=فاکتورها مجموع مشتری پرداخت نشده است BoxTotalUnpaidSuppliersBills=فاکتورها مجموع عرضه کننده کالا پرداخت نشده است @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=تاریخ و زمان آخرین٪ s را مداخله اصلاح شده BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=مانده حساب باز است +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=گردش مالی فروش BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/fa_IR/categories.lang b/htdocs/langs/fa_IR/categories.lang index 113d14a9429..7337b35f5bc 100644 --- a/htdocs/langs/fa_IR/categories.lang +++ b/htdocs/langs/fa_IR/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=٪ s با موفقیت اضافه شد. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=هیچ یک NotCategorized=Without tag/category CategoryExistsAtSameLevel=این رده در حال حاضر با این کد عکس وجود دارد @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=مطالب توسط همه قابل رویت نیس CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=مشتریان مشخصات. / Prosp. مجموعه ها @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/fa_IR/companies.lang b/htdocs/langs/fa_IR/companies.lang index ed26730f90b..8ac9fbefc64 100644 --- a/htdocs/langs/fa_IR/companies.lang +++ b/htdocs/langs/fa_IR/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=تخفیف مطلق در دسترس DiscountNone=هیچ یک Supplier=تامین کننده CompanyList=لیست شرکت -AddContact=اضافه کردن تماس -AddContactAddress=اضافه کردن تماس / آدرس +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=ویرایش مخاطب EditContactAddress=ویرایش مخاطب / آدرس Contact=تماس با @@ -268,8 +268,8 @@ ContactsAddresses=تماس / آدرس NoContactDefinedForThirdParty=بدون تماس تعریف شده برای این حزب سوم NoContactDefined=بدون تماس تعریف DefaultContact=پیش فرض تماس با ما / آدرس -AddCompany=اضافه کردن شرکت -AddThirdParty=اضافه کردن شخص ثالث +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=حذف یک شرکت PersonalInformations=اطلاعات شخصی AccountancyCode=کد حسابداری @@ -379,8 +379,8 @@ DeliveryAddressLabel=تحویل برچسب آدرس DeleteDeliveryAddress=حذف یک آدرس تحویل ConfirmDeleteDeliveryAddress=آیا مطمئن هستید که می خواهید این آدرس تحویل را حذف کنید؟ NewDeliveryAddress=آدرس تحویل جدید -AddDeliveryAddress=اضافه کردن آدرس -AddAddress=اضافه کردن آدرس +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=بدون آدرس های تحویل جایگزین تعریف SupplierCategory=طبقه بندی کننده JuridicalStatus200=مستقل @@ -410,5 +410,10 @@ OutstandingBillReached=رسیدم حداکثر. برای لایحه برجسته MonkeyNumRefModelDesc=numero بازگشت با فرمت syymm-NNNN برای کد مشتری و٪ syymm-NNNN برای کد منبع که در آن YY سال است٪، میلی متر در ماه است و NNNN دنباله بدون استراحت و بدون بازگشت به 0 است. LeopardNumRefModelDesc=کد آزاد است. این کد را می توان در هر زمان تغییر یافتهاست. ManagingDirectors=مدیر (بازدید کنندگان) نام (مدیر عامل شرکت، مدیر، رئيس جمهور ...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/fa_IR/cron.lang b/htdocs/langs/fa_IR/cron.lang index 8483a8ed71f..1550c9b391c 100644 --- a/htdocs/langs/fa_IR/cron.lang +++ b/htdocs/langs/fa_IR/cron.lang @@ -4,10 +4,10 @@ About = در حدود CronAbout = درباره cron را CronAboutPage = cron را در مورد صفحه # Right -Permission23101 = به نشانه خوانده شدن برنامه ریزی شده کار -Permission23102 = ایجاد / بروز رسانی برنامه ریزی شده کار -Permission23103 = حذف کار برنامه ریزی شده -Permission23104 = اجرای کار برنامه ریزی شده +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= برنامه ریزی راه اندازی مدیریت کار URLToLaunchCronJobs=URL برای بررسی و راه اندازی کارهای cron در صورت لزوم @@ -26,11 +26,11 @@ CronLastOutput=تاریخ و زمان آخرین خروجی اجرا CronLastResult=آخرین نتیجه CronListOfCronJobs=لیست شغل ها برنامه ریزی شده CronCommand=فرمان -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=کار @@ -39,8 +39,8 @@ CronDtStart=تاریخ شروع CronDtEnd=تاریخ پایان CronDtNextLaunch=اعدام بعدی CronDtLastLaunch=تاریخ و زمان آخرین اعدام -CronFrequency=Frequancy -CronClass=CLASSE +CronFrequency=Frequency +CronClass=Class CronMethod=روش CronModule=واحد CronAction=عمل @@ -55,9 +55,9 @@ CronEach=هر JobFinished=کار راه اندازی به پایان رسید و #Page card CronAdd= اضافه کردن شغل -CronHourStart= شروع ساعت و تاریخ کار -CronEvery= و وظیفه هر یک از اجرا -CronObject= به عنوان مثال / شی برای ایجاد +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=به عنوان مثال / شی برای ایجاد CronArgs=پارامترها CronSaveSucess=صرفه جویی در موفقیت CronNote=توضیح @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=اطلاعات # Common -CronType=نوع کار +CronType=Job type CronType_method=روش تماس از یک کلاس Dolibarr CronType_command=فرمان شل CronMenu=cron را CronCannotLoadClass=آیا می توانم کلاس٪ s ​​را بار نیست و یا شی از٪ s UseMenuModuleToolsToAddCronJobs=برو به منوی "صفحه اصلی - ماژول ابزار - فهرست فرصت های شغلی" برای دیدن و ویرایش کار برنامه ریزی شده. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/fa_IR/deliveries.lang b/htdocs/langs/fa_IR/deliveries.lang index b2526f06e6b..80465cb4b4e 100644 --- a/htdocs/langs/fa_IR/deliveries.lang +++ b/htdocs/langs/fa_IR/deliveries.lang @@ -12,7 +12,7 @@ SetDeliveryDate=تنظیم تاریخ حمل و نقل ValidateDeliveryReceipt=اعتبارسنجی رسید تحویل ValidateDeliveryReceiptConfirm=آیا مطمئن هستید که می خواهید به اعتبار این رسید تحویل؟ DeleteDeliveryReceipt=حذف رسید تحویل -DeleteDeliveryReceiptConfirm=آیا مطمئن هستید که می خواهید تحویل رسید از%s را حذف کنید؟ +DeleteDeliveryReceiptConfirm=آیا مطمئن هستید که می خواهید تحویل رسید از٪ s را حذف کنید؟ DeliveryMethod=روش تحویل TrackingNumber=تعداد پیگیری DeliveryNotValidated=تحویل اعتبار نیست @@ -24,3 +24,5 @@ Deliverer=منجی: Sender=فرستنده Recipient=دریافت کننده ErrorStockIsNotEnough=این سهام به اندازه کافی وجود ندارد +Shippable=حمل و نقلی +NonShippable=حمل و نقلی نیست diff --git a/htdocs/langs/fa_IR/errors.lang b/htdocs/langs/fa_IR/errors.lang index 27b8070130f..0f644c0d6d1 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=پارامترهای راه اندازی اجباری هنوز تعریف نشده diff --git a/htdocs/langs/fa_IR/incoterm.lang b/htdocs/langs/fa_IR/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/fa_IR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index 0b4f81b7903..60c445cb70c 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=بانک اطلاعات سرور - دسترسی به ک CheckToCreateDatabase=جعبه چک کنید اگر پایگاه داده وجود ندارد و باید ایجاد شود.
در این مورد، شما باید وارد شوید / رمز عبور برای نام کاربر مدیر در پایین این صفحه را پر کنید. CheckToCreateUser=جعبه چک کنید اگر صاحب پایگاه داده وجود ندارد و باید ایجاد شود.
در این مورد، شما باید نام کاربری و رمز عبور خود را انتخاب کنید و همچنین ورود / رمز عبور در پایین این صفحه را پر کنید برای حساب کاربر مدیر. اگر این جعبه خالی، پایگاه داده مالک و کلمه عبور خود را باید وجود داشته باشد. Experimental=(تجربی) +Deprecated=(deprecated) DatabaseRootLoginDescription=ورود از کاربر مجاز به ایجاد پایگاه داده جدید و یا کاربران جدید، اجباری اگر بانک اطلاعاتی شما و یا صاحب آن می کند در حال حاضر وجود ندارد. KeepEmptyIfNoPassword=دیدگاهتان را خالی اگر کاربر هیچ رمز عبور (جلوگیری از این) SaveConfigurationFile=صرفه جویی در مقدار diff --git a/htdocs/langs/fa_IR/languages.lang b/htdocs/langs/fa_IR/languages.lang index 898762b5717..a7845765c10 100644 --- a/htdocs/langs/fa_IR/languages.lang +++ b/htdocs/langs/fa_IR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=عربی Language_ar_SA=عربی +Language_bn_BD=Bengali Language_bg_BG=بلغاری Language_bs_BA=بوسنی Language_ca_ES=کاتالانی @@ -21,9 +22,10 @@ Language_en_SA=انگلیسی عربستان سعودی Language_en_US=انگلیسی آمریکا Language_en_ZA=انگلیسی آفریقای جنوبی Language_es_ES=اسپانیایی -Language_es_DO=اسپانیایی (جمهوری دومینیکن) Language_es_AR=اسپانیایی آرژانتین Language_es_CL=اسپانیایی (شیلی) +Language_es_CO=Spanish (Colombia) +Language_es_DO=اسپانیایی (جمهوری دومینیکن) Language_es_HN=اسپانیایی (هندوراس) Language_es_MX=اسپانیایی (مکزیک) Language_es_PY=اسپانیایی پروگوئه @@ -45,7 +47,10 @@ Language_id_ID=اندونزی Language_is_IS=ایسلندی Language_it_IT=ایتالیایی Language_ja_JP=ژاپنی +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=کره ای +Language_lo_LA=Lao Language_lt_LT=زبان لیتوانی Language_lv_LV=لتونی Language_mk_MK=مقدونی @@ -64,6 +69,7 @@ Language_sv_SV=سوئدی Language_sv_SE=سوئدی Language_sq_AL=آلبانی Language_sk_SK=اسلواکی +Language_sw_SW=Kiswahili Language_th_TH=تایلندی Language_uk_UA=اوکراین Language_uz_UZ=ازبک diff --git a/htdocs/langs/fa_IR/mails.lang b/htdocs/langs/fa_IR/mails.lang index ad218124678..6687fd711ed 100644 --- a/htdocs/langs/fa_IR/mails.lang +++ b/htdocs/langs/fa_IR/mails.lang @@ -77,7 +77,7 @@ CheckRead=خوانده شده رسید YourMailUnsubcribeOK=ایمیل به٪ s درست را از لیست پستی unsubcribe است MailtoEMail=لینک بیش از حد به ایمیل ActivateCheckRead=اجازه به استفاده از "Unsubcribe" لینک -ActivateCheckReadKey=استفاده از کلید برای رمزگذاری استفاده URL برای "خوانده شده دریافت" و "Unsubcribe" ویژگی +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=ارسال به٪ s را دریافت کنندگان ارسال می شود. XTargetsAdded=٪ s را دریافت کنندگان اضافه به لیست هدف EachInvoiceWillBeAttachedToEmail=یک سند با استفاده از پیش فرض فاکتور قالب سند ایجاد شده و متصل به هر یک از ایمیل. diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index aeac14cf35b..476bd520d2a 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=قیمت واحد (خالص) UnitPriceTTC=قیمت واحد PriceU=UP PriceUHT=UP (خالص) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=مقدار AmountInvoice=مقدار فاکتور @@ -413,6 +413,8 @@ Qty=تعداد ChangedBy=تغییر توسط ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=دوباره حساب کردن ResultOk=موفقیت ResultKo=شکست @@ -421,7 +423,7 @@ Reportings=گزارش Draft=پیش نویس Drafts=نوعی بازی چکرز Validated=اعتبار -Opened=افتتاح شد +Opened=Open New=جدید Discount=تخفیف Unknown=ناشناخته @@ -678,6 +680,7 @@ LinkedToSpecificUsers=لینک به تماس با کاربر خاص DeleteAFile=حذف یک فایل ConfirmDeleteAFile=آیا مطمئن هستید که می خواهید به حذف فایل NoResults=هیچ نتیجه ای +SystemTools=System tools ModulesSystemTools=ماژول ابزار Test=تست Element=عنصر @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=دوشنبه Tuesday=سهشنبه @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/fa_IR/orders.lang b/htdocs/langs/fa_IR/orders.lang index 93046ff0b3e..0bdf46d9cf6 100644 --- a/htdocs/langs/fa_IR/orders.lang +++ b/htdocs/langs/fa_IR/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=منظور تامین کننده SuppliersOrders=سفارشات تولید کنندگان SuppliersOrdersRunning=سفارشات تامین کنندگان کنونی CustomerOrder=سفارش مشتری -CustomersOrders=Customers orders -CustomersOrdersRunning=مشتری فعلی -CustomersOrdersAndOrdersLines=مشتری و خطوط سفارش -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=سفارشات تامین کننده به پردازش +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=لغو شد StatusOrderDraftShort=پیش نویس StatusOrderValidatedShort=اعتبار @@ -75,8 +75,9 @@ AddToMyOrders=اضافه کردن به سفارشات من AddToOtherOrders=اضافه کردن به دیگر سفارشات AddToDraftOrders=اضافه کردن به پیش نویس منظور ShowOrder=نمایش جهت -NoOpenedOrders=بدون سفارشات باز -NoOtherOpenedOrders=بدون دیگر سفارشات باز +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=بدون پیش نویس سفارشات OtherOrders=دیگر سفارشات LastOrders=Last %s customer orders diff --git a/htdocs/langs/fa_IR/other.lang b/htdocs/langs/fa_IR/other.lang index 2b1d9928099..817e117f606 100644 --- a/htdocs/langs/fa_IR/other.lang +++ b/htdocs/langs/fa_IR/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=مداخله اعتبار Notify_FICHINTER_SENTBYMAIL=مداخله با پست Notify_BILL_VALIDATE=صورت حساب به مشتری اعتبار Notify_BILL_UNVALIDATE=صورت حساب به مشتری unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=منظور تامین کننده تایید Notify_ORDER_SUPPLIER_REFUSE=منظور تامین کننده خودداری کرد Notify_ORDER_VALIDATE=سفارش مشتری معتبر @@ -203,6 +204,7 @@ ClickHereToGoTo=برای رفتن به٪ s اینجا را کلیک کنید YouMustClickToChange=با این حال شما باید اول بر روی لینک زیر کلیک کنید تا اعتبار این تغییر رمز عبور ForgetIfNothing=اگر شما این تغییر را درخواست نکرده، فقط این ایمیل را فراموش کرده ام. اعتبار نامه های شما امن نگهداری می شود. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=اضافه کردن ورودی در تقویم از٪ s diff --git a/htdocs/langs/fa_IR/printing.lang b/htdocs/langs/fa_IR/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/fa_IR/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/fa_IR/productbatch.lang b/htdocs/langs/fa_IR/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/fa_IR/productbatch.lang +++ b/htdocs/langs/fa_IR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index 620e7121399..7ec38e444b2 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -23,14 +23,14 @@ ProductOrService=محصولات و خدمات ProductsAndServices=محصولات و خدمات ProductsOrServices=محصولات و خدمات ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=محصولات و خدمات آمار ProductsStatistics=آمار محصولات -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=مرجع داخلی LastRecorded=آخرین محصولات / خدمات در فروش ثبت @@ -44,7 +44,7 @@ CardProduct1=کارت خدمات CardContract=کارت قرارداد Warehouse=مخزن Warehouses=ساختمان و ذخیره سازی -WarehouseOpened=انبار را باز کرد +WarehouseOpened=Warehouse open WarehouseClosed=انبار بسته شده Stock=موجودی Stocks=سهام @@ -71,21 +71,21 @@ SellingPriceTTC=قیمت فروش (مالیات شرکت) PublicPrice=قیمت عمومی CurrentPrice=قیمت کنونی NewPrice=قیمت های جدید -MinPrice=هر چیز کوچک. قیمت فروش -MinPriceHT= قيمت فروش. هر چيز کوچک (خالص از ماليات) -MinPriceTTC=قيمت فروش. هر چيز کوچک (ماليات شرکت) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=قیمت فروش نمی تواند کمتر از حداقل مجاز برای این محصول (٪ بدون مالیات). این پیام همچنین می تواند به نظر می رسد اگر شما نوع تخفیف بیش از حد مهم است. ContractStatus=وضعیت قرارداد ContractStatusClosed=بسته -ContractStatusRunning=در حال اجرا +ContractStatusRunning=Ongoing ContractStatusExpired=سپری -ContractStatusOnHold=در حال اجرا نیست -ContractStatusToRun=To get running -ContractNotRunning=این قرارداد در حال اجرا نیست +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=محصول با مرجع٪ s در حال حاضر وجود دارد. ErrorProductBadRefOrLabel=ارزش اشتباه به عنوان مرجع و یا برچسب. ErrorProductClone=یک مشکل وجود دارد در حالی که تلاش برای کلون کردن محصول و یا خدمات. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=تولید کنندگان SupplierRef=کد عکس محصول تامین کننده است. ShowProduct=نمایش محصول @@ -117,12 +117,12 @@ ServiceLimitedDuration=اگر محصول یک سرویس با مدت زمان م MultiPricesAbility=سطح بسیاری از قیمت هر محصول / خدمات MultiPricesNumPrices=تعداد قیمت MultiPriceLevelsName=مقوله های قیمت -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=وابسته Translation=ترجمه KeywordFilter=فیلتر کلمه کلیدی @@ -131,7 +131,7 @@ ProductToAddSearch=جستجو محصول برای اضافه کردن AddDel=اضافه کردن / حذف Quantity=مقدار NoMatchFound=هیچ بازی یافت -ProductAssociationList=فهرست محصولات مرتبط / خدمات: نام محصول / خدمات (مقدار تحت تاثیر قرار) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=یکی از محصول انتخاب پدر و مادر با محصول فعلی است DeleteProduct=حذف یک محصول / خدمات @@ -179,16 +179,41 @@ CloneProduct=محصول کلون یا خدمات ConfirmCloneProduct=آیا مطمئن هستید که می خواهید به کلون کردن محصول و یا خدمات از٪ s؟ CloneContentProduct=کلون تمام اطلاعات اصلی محصول / خدمات ClonePricesProduct=اطلاعات اصلی کلون و قیمت -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=این محصول مورد استفاده قرار گیرد NewRefForClone=کد عکس. محصول جدید / خدمات -CustomerPrices=مشتریان قیمت -SuppliersPrices=تولید کنندگان قیمت -SuppliersPricesOfProductsOrServices=قيمت توليد کنندگان (محصولات و خدمات) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=کد آداب و رسوم CountryOrigin=کشور مبدا HiddenIntoCombo=پنهان به لیست انتخاب کنید Nature=طبیعت +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=قالب کد عکس محصول ServiceCodeModel=قالب کد عکس خدمات AddThisProductCard=ایجاد کارت محصول @@ -214,7 +239,7 @@ CostPmpHT=خالص VWAP کل ProductUsedForBuild=خودکار مصرف شده توسط تولید ProductBuilded=تولید کامل ProductsMultiPrice=محصولات چند قیمت -ProductsOrServiceMultiPrice=قيمت مشتريان( از محصولات يا خدمات، چند قيمته) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=گردش مالی محصولات VWAP سه ماهه ServiceSellByQuarterHT=خدمات گردش مالی VWAP سه ماهه Quarter1=1. یک چهارم @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=تعريف ارزش بارکد برای همه سوا PriceByCustomer=Different price for each customer PriceCatalogue=قيمت منحصر به فرد در هر محصول / خدمات PricingRule=Rules for customer prices -AddCustomerPrice=اضافه کردن قيمت های مشتريان +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=همان قيمت تعيين شده در شرکت های تابعه مشتری PriceByCustomerLog=قيمت های ورود مشتری -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 042df9b5617..9645b5aaf01 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=این دیدگاه ارائه تمام پروژه ها به ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=این دیدگاه ارائه تمام پروژه (مجوز دسترسی خود را به شما عطا اجازه دسترسی به همه چیز). MyTasksDesc=این دیدگاه به پروژه ها و یا کارهای شما تماس برای (هر چه باشد نوع) می باشد محدود است. -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=این دیدگاه ارائه تمام پروژه ها و کارهای شما مجاز به خواندن. TasksDesc=این دیدگاه ارائه تمام پروژه ها و وظایف (مجوز دسترسی خود را به شما عطا اجازه دسترسی به همه چیز). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=لیست پروژه ها ShowProject=نمایش پروژه SetProject=تنظیم پروژه NoProject=هیچ پروژه تعریف شده و یا متعلق به -NbOpenTasks=NB از وظایف باز +NbOpenTasks=Nb of open tasks NbOfProjects=Nb در پروژه TimeSpent=زمان صرف شده TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=مدت زمان صرف شده در کارها TaskTimeUser=کاربر TaskTimeNote=یادداشت TaskTimeDate=تاریخ -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=زمان جدید به سر برد MyTimeSpent=وقت من صرف @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=فهرست مداخلات مرتبط با پرو ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=فهرست رویدادی به این پروژه +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=فعالیت در پروژه این هفته ActivityOnProjectThisMonth=فعالیت در پروژه این ماه ActivityOnProjectThisYear=فعالیت در پروژه سال جاری @@ -95,7 +96,7 @@ DeleteATimeSpent=زمان صرف شده حذف ConfirmDeleteATimeSpent=آیا مطمئن هستید که می خواهید به حذف این زمان صرف شده؟ DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=پروژه ها اختصاص داده شده به این شخص ثالث NoTasks=بدون وظایف برای این پروژه LinkedToAnotherCompany=لینک به دیگر شخص ثالث @@ -139,8 +140,12 @@ ProjectReferers=مراجعه اشیاء SearchAProject=جستجوی یک پروژه ProjectMustBeValidatedFirst=پروژه ابتدا باید معتبر باشد ProjectDraft=پروژه های پیش نویس -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/fa_IR/propal.lang b/htdocs/langs/fa_IR/propal.lang index 1d521324941..87fbc7c474d 100644 --- a/htdocs/langs/fa_IR/propal.lang +++ b/htdocs/langs/fa_IR/propal.lang @@ -4,7 +4,7 @@ Proposal=پیشنهاد تجاری ProposalShort=پیشنهاد ProposalsDraft=طرح تجاری پیش نویس ProposalDraft=پیش نویس طرح تجاری -ProposalsOpened=طرح های تجاری افتتاح شد +ProposalsOpened=Open commercial proposals Prop=طرح های تجاری CommercialProposal=پیشنهاد تجاری CommercialProposals=طرح های تجاری @@ -16,12 +16,12 @@ Prospect=چشم انداز ProspectList=لیست چشم انداز DeleteProp=حذف طرح تجاری ValidateProp=اعتبار طرح های تجاری -AddProp=اضافه کردن پیشنهاد +AddProp=Create proposal ConfirmDeleteProp=آیا مطمئن هستید که می خواهید این پیشنهاد تجاری را حذف کنید؟ -ConfirmValidateProp=آیا مطمئن هستید که می خواهید به اعتبار این پیشنهاد تجاری تحت نام%s را؟ +ConfirmValidateProp=آیا مطمئن هستید که می خواهید به اعتبار این پیشنهاد تجاری تحت نام٪ s را؟ LastPropals=پیشنهادات و زمان آخرین٪ بازدید کنندگان -LastClosedProposals=تاریخ و زمان آخرین%s را پیشنهاد بسته -LastModifiedProposals=تاریخ و زمان آخرین%s را پیشنهاد اصلاح +LastClosedProposals=تاریخ و زمان آخرین٪ s را پیشنهاد بسته +LastModifiedProposals=تاریخ و زمان آخرین٪ s را پیشنهاد اصلاح AllPropals=تمام طرح های پیشنهادی LastProposals=آخرین پیشنهادات SearchAProposal=جستجوی یک پیشنهاد @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=مقدار در ماه (خالص از مالیات) NbOfProposals=تعداد طرح های تجاری ShowPropal=نمایش پیشنهاد PropalsDraft=نوعی بازی چکرز -PropalsOpened=افتتاح شد +PropalsOpened=Open PropalsNotBilled=بسته در صورتحساب یا لیست نمی PropalStatusDraft=پیش نویس (نیاز به تایید می شود) PropalStatusValidated=اعتبار (پیشنهاد باز است) @@ -42,7 +42,7 @@ PropalStatusNotSigned=امضا نشده (بسته شده) PropalStatusBilled=ثبت شده در صورتحساب یا لیست PropalStatusDraftShort=پیش نویس PropalStatusValidatedShort=اعتبار -PropalStatusOpenedShort=افتتاح شد +PropalStatusOpenedShort=Open PropalStatusClosedShort=بسته PropalStatusSignedShort=امضاء شده PropalStatusNotSignedShort=امضا نشده @@ -51,12 +51,10 @@ PropalsToClose=طرح تجاری برای بستن PropalsToBill=طرح تجاری امضا به لایحه ListOfProposals=فهرست طرح های تجاری ActionsOnPropal=رویدادهای پیشنهاد -NoOpenedPropals=طرح های تجاری بدون باز -NoOtherOpenedPropals=هیچ طرح تجاری باز +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=کد عکس طرح تجاری SendPropalByMail=ارسال پیشنهاد تجاری از طریق پست -FileNotUploaded=فایل آپلود نشد -FileUploaded=فایل با موفقیت آپلود شد AssociatedDocuments=اسناد مرتبط با طرح: ErrorCantOpenDir=آیا می توانم دایرکتوری باز نمی شود DatePropal=تاریخ پیشنهاد @@ -66,7 +64,7 @@ ValidityDuration=مدت اعتبار CloseAs=نزدیک با وضعیت ClassifyBilled=طبقه بندی صورتحساب BuildBill=ساخت فاکتور -ErrorPropalNotFound=Propal%s را یافت نشد +ErrorPropalNotFound=Propal٪ s را یافت نشد Estimate=برآورد: EstimateShort=تخمین OtherPropals=طرح های دیگر @@ -77,8 +75,8 @@ CreateEmptyPropal=ایجاد خالی طرح تجاری vierge و یا از لی DefaultProposalDurationValidity=پیش فرض طول مدت اعتبار پیشنهاد های تجاری (در روز) UseCustomerContactAsPropalRecipientIfExist=اگر به جای آدرس شخص ثالث به عنوان آدرس دریافت کننده پیشنهاد تعریف شده استفاده از آدرس ارتباط با مشتری ClonePropal=پیشنهاد تجاری کلون -ConfirmClonePropal=آیا مطمئن هستید که می خواهید به کلون های تجاری پیشنهاد شده%s؟ -ConfirmReOpenProp=آیا مطمئن هستید که می خواهید برای باز کردن پشت تجاری پیشنهاد شده%s؟ +ConfirmClonePropal=آیا مطمئن هستید که می خواهید به کلون های تجاری پیشنهاد شده٪ s؟ +ConfirmReOpenProp=آیا مطمئن هستید که می خواهید برای باز کردن پشت تجاری پیشنهاد شده٪ s؟ ProposalsAndProposalsLines=پیشنهاد تجاری و خطوط ProposalLine=خط پیشنهاد AvailabilityPeriod=تاخیر در دسترس @@ -100,3 +98,4 @@ DocModelJauneDescription=مدل پیشنهاد Jaune DefaultModelPropalCreate=ایجاد مدل پیش فرض DefaultModelPropalToBill=قالب پیش فرض هنگام بستن یک طرح کسب و کار (به صورتحساب می شود) DefaultModelPropalClosed=قالب پیش فرض هنگام بستن یک طرح کسب و کار (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/fa_IR/salaries.lang b/htdocs/langs/fa_IR/salaries.lang index 63b2ea6e372..004ce47f74c 100644 --- a/htdocs/langs/fa_IR/salaries.lang +++ b/htdocs/langs/fa_IR/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=نمایش پرداخت حقوق و دستمزد THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/fa_IR/sendings.lang b/htdocs/langs/fa_IR/sendings.lang index 530ad3a8b6b..45384d2f781 100644 --- a/htdocs/langs/fa_IR/sendings.lang +++ b/htdocs/langs/fa_IR/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=سند مدل ساده DocumentModelMerou=مدل Merou A5 WarningNoQtyLeftToSend=اخطار، محصولات در حال انتظار برای حمل شود. StatsOnShipmentsOnlyValidated=آمار انجام شده بر روی محموله تنها به اعتبار. تاریخ استفاده از تاریخ اعتبار از حمل و نقل (تاریخ تحویل برنامه ریزی همیشه شناخته نشده است) است. -DateDeliveryPlanned=تاریخ ورقه زایمان +DateDeliveryPlanned=Planned date of delivery DateReceived=تاریخ تحویل SendShippingByEMail=ارسال محموله از طریق ایمیل SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index bdbb1715140..09e1b608823 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -5,7 +5,7 @@ Warehouses=ساختمان و ذخیره سازی NewWarehouse=جدید منطقه انبار / سهام WarehouseEdit=اصلاح انبار MenuNewWarehouse=انبار جدید -WarehouseOpened=انبار را باز کرد +WarehouseOpened=Warehouse open WarehouseClosed=انبار بسته شده WarehouseSource=انبار منبع WarehouseSourceNotDefined=بدون انبار تعریف شده است، @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=انتخاب انبار استفاده برای SelectWarehouseForStockIncrease=انتخاب انبار استفاده برای افزایش سهام NoStockAction=بدون عمل سهام LastWaitingSupplierOrders=سفارشات در انتظار پذیرایی -DesiredStock=سهام مورد نظر +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=برای سفارش Replenishment=دوباره پر کردن ReplenishmentOrders=سفارشات دوباره پر کردن -VirtualDiffersFromPhysical=با توجه به افزایش / کاهش گزینه های سهام، سهام جسمی و سهام مجازی (سفارشات فیزیکی + فعلی) ممکن است متفاوت +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=استفاده از سهام مجازی به طور پیش فرض، به جای سهام فیزیکی، برای قابلیت دوباره پر کردن UseVirtualStock=استفاده از سهام مجازی UsePhysicalStock=استفاده از سهام فیزیکی -CurentSelectionMode=حالت انتخاب های برون مرزی جاری +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=سهام مجازی CurentlyUsingPhysicalStock=سهام فیزیکی RuleForStockReplenishment=حکومت برای سهام دوباره پر کردن @@ -112,8 +113,8 @@ AlertOnly= فقط هشدارها WarehouseForStockDecrease=انبار٪ خواهد شد برای سهام کاهش استفاده WarehouseForStockIncrease=انبار٪ خواهد شد برای افزایش سهام استفاده ForThisWarehouse=برای این انبار -ReplenishmentStatusDesc=این لیست از همه محصول با سهام پایین تر از سهام مورد نظر (یا کمتر از ارزش هشدار اگر گزینه "هشدار تنها" بررسی می شود)، و نشان می دهد به شما برای ایجاد سفارشات منبع برای پر کردن تفاوت است. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=پر کردن NbOfProductBeforePeriod=تعداد محصول٪ s را در انبار قبل از دوره (<٪) انتخاب NbOfProductAfterPeriod=تعداد محصول٪ s را در سهام بعد از دوره زمانی انتخاب شده (>٪ بازدید کنندگان) @@ -124,16 +125,16 @@ RecordMovement=رکورد ی انتقال ReceivingForSameOrder=Receipts for this order StockMovementRecorded=جنبش های سهام ثبت شده RuleForStockAvailability=قوانین مورد نیاز سهام -StockMustBeEnoughForInvoice=سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات را به صورت حساب است -StockMustBeEnoughForOrder=سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات به منظور شود -StockMustBeEnoughForShipment= سطح سهام باید به اندازه کافی برای اضافه کردن محصول / خدمات را به حمل و نقل است +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/fa_IR/suppliers.lang b/htdocs/langs/fa_IR/suppliers.lang index 34c369e9eea..a20b9f1d4c1 100644 --- a/htdocs/langs/fa_IR/suppliers.lang +++ b/htdocs/langs/fa_IR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=ارسال شده به تامین کنندگان ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/fa_IR/trips.lang b/htdocs/langs/fa_IR/trips.lang index 920831df475..14da14080fb 100644 --- a/htdocs/langs/fa_IR/trips.lang +++ b/htdocs/langs/fa_IR/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=فهرست هزینه ها NewTrip=New expense report CompanyVisited=شرکت / بنیاد بازدید کردند @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/fa_IR/users.lang b/htdocs/langs/fa_IR/users.lang index b33a2ba9e1e..95948e942af 100644 --- a/htdocs/langs/fa_IR/users.lang +++ b/htdocs/langs/fa_IR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=پاک کردن از گروه PasswordChangedAndSentTo=تغییر رمز عبور و ارسال به٪ s. PasswordChangeRequestSent=درخواست تغییر رمز عبور برای٪ s ارسال به٪ s. MenuUsersAndGroups=کاربران و گروهها +MenuMyUserCard=My user card LastGroupsCreated=تاریخ و زمان آخرین٪ گروه های ایجاد شده LastUsersCreated=تاریخ و زمان آخرین٪ کاربران ایجاد شده ShowGroup=نمایش گروه diff --git a/htdocs/langs/fa_IR/workflow.lang b/htdocs/langs/fa_IR/workflow.lang index 957a2fecf37..36f5bfd955a 100644 --- a/htdocs/langs/fa_IR/workflow.lang +++ b/htdocs/langs/fa_IR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=راه اندازی ماژول گردش کار -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=هیچ گردش کار شما می توانید برای ماژول شما فعال شده است را تغییر دهید وجود دارد. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=ایجاد یک سفارش مشتری به طور خودکار پس از یک طرح تجاری امضا شده است -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=ایجاد یک فاکتور مشتری به طور خودکار پس از یک طرح تجاری امضا شده است -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=ایجاد یک فاکتور مشتری به طور خودکار پس از یک قرارداد معتبر است -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=ایجاد یک فاکتور به مشتری به صورت خودکار پس از سفارش مشتری بسته است +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=طبقه بندی پیشنهاد منبع مربوط به صورتحساب در هنگام سفارش مشتری به پرداخت مجموعه descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=طبقه بندی مرتبط با سفارش مشتری منبع (بازدید کنندگان) صورتحساب زمانی که صورت حساب مشتری به پرداخت مجموعه descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=طبقه بندی مرتبط با سفارش مشتری منبع (بازدید کنندگان) صورتحساب زمانی که صورت حساب به مشتری اعتبار است diff --git a/htdocs/langs/fi_FI/accountancy.lang b/htdocs/langs/fi_FI/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/fi_FI/accountancy.lang +++ b/htdocs/langs/fi_FI/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index bf1d3b9765c..3365c08ea33 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Valikko käyttäjille LangFile=File. Lang System=System SystemInfo=Järjestelmän tiedot -SystemTools=Kehitysresurssit SystemToolsArea=Kehitysresurssit alueella SystemToolsAreaDesc=Tämä alue tarjoaa hallinnon ominaisuuksia. Käytä valikosta valita ominaisuus, jota etsit. Purge=Purge @@ -232,8 +231,8 @@ Security=Turvallisuus Passwords=Salasanat DoNotStoreClearPassword=Onko mitään salasanoja vuonna selväksi tietokantaan MainDbPasswordFileConfEncrypted=Tietokannan salasana salattu conf.php -InstrucToEncodePass=Jos haluat salasanan koodattu conf.php tiedosto korvaa linja
$ Dolibarr_main_db_pass ="..."
mennessä
$ Dolibarr_main_db_pass = "salataan: %s" -InstrucToClearPass=Jos haluat salasanan dekoodata (poista) osaksi conf.php tiedosto korvaa linja
$ Dolibarr_main_db_pass = "salataan :..."
mennessä
$ Dolibarr_main_db_pass = "%s" +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=Suojaaminen syntyy pdf-tiedostoja (ei recommandd, taukoja massa pdf sukupolvi) ProtectAndEncryptPdfFilesDesc=Suojaaminen PDF asiakirja pitää saatavilla lukea ja tulostaa kaikki PDF-selaimella. Kuitenkin, editointi ja kopiointi ei ole mahdollista enää. Huomaa, että käyttäessäsi tätä ominaisuutta tehdä rakentaa maailmanlaajuinen kumuloida pdf ei toimi (kuten maksamattomat laskut). Feature=Ominaisuus @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Tämä on asetettu käsitellä: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Vaihe %s FindPackageFromWebSite=Etsi paketti, joka sisältää haluamasi toiminnon (esimerkiksi www-sivuston %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Asenna on päättynyt ja Dolibarr on valmis käyttämään tätä uutta komponenttia. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr nykyinen versio CallUpdatePage=Siirry sivun päivitykset tietokannan rakennetta ja datas %s. LastStableVersion=Viimeisin vakaa versio @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar yhdentyminen -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Toimet / tehtävät ja esityslistan hallinta Module2500Name=Sähköinen Content Management Module2500Desc=Tallentaa ja jakaa asiakirjoja -Module2600Name=WebServices -Module2600Desc=Ota Dolibarr verkkopalvelut palvelimen +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup tallennettu BackToModuleList=Palaa moduulien luetteloon BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Postinumero CompanyTown=Kaupunki CompanyCountry=Maa CompanyCurrency=Main valuutta +CompanyObject=Object of the company Logo=Logo DoNotShow=Älä näytä DoNotSuggestPaymentMode=Eivät viittaa siihen, NoActiveBankAccountDefined=Ei aktiivisia pankkitilille määritelty OwnerOfBankAccount=Omistajan pankkitilille %s BankModuleNotActive=Pankkitilit moduuli ei ole käytössä -ShowBugTrackLink=Näytä linkki "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Näytä "työpöytä" on etusivu Alerts=Vahtipalvelu Delays=Viivästykset @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max desimaalitarkkuuksia yksikkökohtaiseen hinnat MAIN_MAX_DECIMALS_TOT=Max desimaalitarkkuuksia kokonaistyöllisyyttä hinnat MAIN_MAX_DECIMALS_SHOWN=Max desimaalitarkkuuksia hinnat näkyvät näytöllä (Lisää ... sen jälkeen, kun tämä numero, jos haluat nähdä ... kun numero on katkaistu, kun näkyy näytössä) MAIN_DISABLE_PDF_COMPRESSION=Käytä PDF kompressiota varten luotu PDF-tiedostoina. -MAIN_ROUNDING_RULE_TOT= Koko pyöristämistä alue (harvinaisia maita, joissa pyöristäminen tapahtuu jotain muuta kuin perusvuonna 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Net yksikköhinta tuotteen TotalPriceAfterRounding=Kokonaishinta (netto / vat / sis. alv) pyöristämisen jälkeen ParameterActiveForNextInputOnly=Parametri tehokas Seuraavan vain tuloa @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Tuki Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Oletus viivakoodi tyyppi käyttää tuotteita SetDefaultBarcodeTypeThirdParties=Oletus viivakoodi tyyppi käyttämään kolmansien osapuolten +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Viivakoodi tyypin UPC BarcodeDescISBN=Viivakoodi tyypin ISBN BarcodeDescC39=Viivakoodi tyypin C39 BarcodeDescC128=Viivakoodi tyypin 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices moduulin asetukset WebServicesDesc=Antamalla tämän moduulin, Dolibarr tullut verkkopalvelun palvelin antaa erilaiset web-palveluja. WSDLCanBeDownloadedHere=WSDL avainsana tiedosto jos serviceses voi ladata täältä EndPointIs=SOAP asiakkaille on toimitettava osallistumispyynnöt on Dolibarr päätetapahtuma saatavilla Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Pankki-moduulin asetukset FreeLegalTextOnChequeReceipts=Vapaa teksti sekkiä kuitit @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/fi_FI/banks.lang b/htdocs/langs/fi_FI/banks.lang index b3062b5b0ae..68fa6967a1b 100644 --- a/htdocs/langs/fi_FI/banks.lang +++ b/htdocs/langs/fi_FI/banks.lang @@ -94,12 +94,12 @@ Conciliate=Sovita Conciliation=Yhteensovita ConciliationForAccount=Hyvitellä tämän tilin IncludeClosedAccount=Sisällytä suljettu tilit -OnlyOpenedAccount=Vain avatut tilit +OnlyOpenedAccount=Only open accounts AccountToCredit=Luottotili AccountToDebit=Käteistili DisableConciliation=Poista sovittelu ominaisuus tämän tilin ConciliationDisabled=Sovittelukomitea ominaisuus pois päältä -StatusAccountOpened=Avattu +StatusAccountOpened=Open StatusAccountClosed=Suljettu AccountIdShort=Numero EditBankRecord=Muokkaa diff --git a/htdocs/langs/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index 42f4b5eb341..e5d4eb664e0 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Varoitus, yksi tai useampi lasku jo olemassa +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Välittömät @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/fi_FI/boxes.lang b/htdocs/langs/fi_FI/boxes.lang index 0caf66cfaf7..e9c476ea35b 100644 --- a/htdocs/langs/fi_FI/boxes.lang +++ b/htdocs/langs/fi_FI/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Viimeisimmät sopimukset BoxLastContacts=Viimeisimmät kontaktit/osoitteet BoxLastMembers=Viimeisimmät jäsenet BoxFicheInter=Viimeisimmät väliintulot -BoxCurrentAccounts=Avattujen tilien saldo +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Myynnin liikevaihto BoxTotalUnpaidCustomerBills=Maksamattomia asiakkaiden laskuja yhteensä BoxTotalUnpaidSuppliersBills=Maksamattomia toimittajan laskuja yhteensä @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Viimeisimmät %s muokkaamat väliintulot BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Avattujen tilien saldot +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Myynnin liikevaihto BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/fi_FI/categories.lang b/htdocs/langs/fi_FI/categories.lang index c78728f3f83..830b42b580d 100644 --- a/htdocs/langs/fi_FI/categories.lang +++ b/htdocs/langs/fi_FI/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully= %s on lisätty onnistuneesti. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Ei mitään NotCategorized=Without tag/category CategoryExistsAtSameLevel=Tämä luokka on jo olemassa samassa paikassa @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Sisältö ei näy kaikissa CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / prosp. luokat @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/fi_FI/companies.lang b/htdocs/langs/fi_FI/companies.lang index 213d6d299c2..2c3468ff78e 100644 --- a/htdocs/langs/fi_FI/companies.lang +++ b/htdocs/langs/fi_FI/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absoluuttinen alennuksia saatavilla DiscountNone=Ei mitään Supplier=Toimittaja CompanyList=Yritysluettelo -AddContact=Lisää yhteystieto -AddContactAddress=Lisää kontakti / osoite +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Muokkaa yhteystiedot / osoite EditContactAddress=Edit contact/address Contact=Yhteydenotto @@ -268,8 +268,8 @@ ContactsAddresses=Yhteystiedot / Osoitteet NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=Ei yhteystietoja määritelty tämän kolmannen osapuolen DefaultContact=Oletus kontakti / osoite -AddCompany=Lisää yritys -AddThirdParty=Lisää kolmas osapuoli +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Poista yrityksen PersonalInformations=Henkilötiedot AccountancyCode=Kirjanpito-koodi @@ -379,8 +379,8 @@ DeliveryAddressLabel=Toimitusosoite etiketti DeleteDeliveryAddress=Poista toimitusosoite ConfirmDeleteDeliveryAddress=Oletko varma, että haluat poistaa tämän toimitusosoite? NewDeliveryAddress=Uusi toimitusosoite -AddDeliveryAddress=Lisää osoite -AddAddress=Lisää osoite +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=Mitään vaihtoehtoista toimitusosoite määritelty SupplierCategory=Toimittajan tuoteryhmä JuridicalStatus200=Independent @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Paluu numero on muodossa %syymm-nnnn asiakkaan koodi ja %syymm-nnnn luovuttajalle koodi jos VV on vuosi, mm kuukausi ja nnnn on sarja ilman taukoa eikä palata 0. LeopardNumRefModelDesc=Asiakas / toimittaja-koodi on maksuton. Tämä koodi voidaan muuttaa milloin tahansa. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/fi_FI/cron.lang b/htdocs/langs/fi_FI/cron.lang index 62cdc0a8183..b1d32730f68 100644 --- a/htdocs/langs/fi_FI/cron.lang +++ b/htdocs/langs/fi_FI/cron.lang @@ -4,10 +4,10 @@ About = Yleisesti CronAbout = Yleisesti Cronista CronAboutPage = Cron yleisesti sivu # Right -Permission23101 = Hae ajastetut tehtävät -Permission23102 = Luo/päivitä ajastettu tehtävä -Permission23103 = Poista ajastettu tehtävä -Permission23104 = Suorita ajastettu tehtävä +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Ajastettujen tehtävien asetusten hallinta URLToLaunchCronJobs=URL-osoite ajastettujen tehtävien tarkistamiseen ja ajamiseen tarvittaessa @@ -26,11 +26,11 @@ CronLastOutput=Viimeisen ajon tulostus CronLastResult=Viimeisen tuloksen koodi CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Aloituspäivämäärä CronDtEnd=Lopetuspäivä CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Menetelmä CronModule=Moduuli CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parametrit CronSaveSucess=Save succesfully CronNote=Kommentti @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index b845435f001..2892977ff09 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/fi_FI/incoterm.lang b/htdocs/langs/fi_FI/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/fi_FI/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index 80b688dca44..2a665cedb46 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Tietokanta - SuperUser pääsy CheckToCreateDatabase=Valintaruutu, jos tietokanta ei ole olemassa, ja ne on luotu.
Tässä tapauksessa sinun täytyy täyttää tunnus / salasana SuperUser huomioon alareunassa tällä sivulla. CheckToCreateUser=Valintaruutu, jos kirjautuminen ei ole olemassa, ja ne on luotu.
Tässä tapauksessa sinun täytyy täyttää tunnus / salasana SuperUser huomioon alareunassa tällä sivulla. Experimental=(kokeellinen, ei käytössä) +Deprecated=(deprecated) DatabaseRootLoginDescription=Kirjaudu että käyttäjä voi luoda uusia tietokantoja tai uusia käyttäjiä, hyödytön, jos tietokanta ja tietokanta on jo olemassa (kuten silloin, kun olet isännöi Web hosting-palvelujen tarjoaja). KeepEmptyIfNoPassword=Jätä tyhjä, jos käyttäjä ei ole salasanaa (välttää) SaveConfigurationFile=Tallenna arvot diff --git a/htdocs/langs/fi_FI/languages.lang b/htdocs/langs/fi_FI/languages.lang index d8fbb8da847..a96ba965b0f 100644 --- a/htdocs/langs/fi_FI/languages.lang +++ b/htdocs/langs/fi_FI/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabia Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarialainen Language_bs_BA=Bosnian Language_ca_ES=Katalaani @@ -21,9 +22,10 @@ Language_en_SA=Englanti (Saudi-Arabia) Language_en_US=Englanti (Yhdysvallat) Language_en_ZA=Englanti (Etelä-Afrikka) Language_es_ES=Espanjalainen -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Espanja (Argentiina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Espanja (Honduras) Language_es_MX=Espanja (Meksiko) Language_es_PY=Espanja (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Islannin Language_it_IT=Italialainen Language_ja_JP=Japanin kieli +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korealainen +Language_lo_LA=Lao Language_lt_LT=Liettualainen Language_lv_LV=Latvialainen Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Ruotsi Language_sv_SE=Ruotsi Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thaimaalainen Language_uk_UA=Ukrainalainen Language_uz_UZ=Uzbekki diff --git a/htdocs/langs/fi_FI/mails.lang b/htdocs/langs/fi_FI/mails.lang index a1f6062735d..3285cb19e09 100644 --- a/htdocs/langs/fi_FI/mails.lang +++ b/htdocs/langs/fi_FI/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index 2632df0ec4b..0de4852eb7e 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Yksikköhinta (netto) UnitPriceTTC=Yksikköhinta PriceU=UP PriceUHT=UP (netto) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=Määrä AmountInvoice=Laskun summa @@ -413,6 +413,8 @@ Qty=Kpl ChangedBy=Muuttanut ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Laske uudelleen ResultOk=Onnistuminen ResultKo=Virhe @@ -421,7 +423,7 @@ Reportings=Raportointi Draft=Vedos Drafts=Vedokset Validated=Vahvistetut -Opened=Avoinna +Opened=Open New=Uusi Discount=Alennus Unknown=Tuntematon @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linkitetty käyttäjätietoon DeleteAFile=Poista tiedosto ConfirmDeleteAFile=Haluatko varmasti poistaa tiedoston NoResults=Ei tuloksia +SystemTools=System tools ModulesSystemTools=Moduuli työkalut Test=Testi Element=Osa @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Maanantai Tuesday=Tiistai @@ -732,3 +738,4 @@ ShortThursday=TO ShortFriday=PE ShortSaturday=LA ShortSunday=SU +SelectMailModel=Select email template diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index 680d42db1c7..a6de6a63253 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Toimittaja jotta SuppliersOrders=Toimittajien tilaukset SuppliersOrdersRunning=Nykyinen toimittajien tilaukset CustomerOrder=Asiakas jotta -CustomersOrders=Customers orders -CustomersOrdersRunning=Nykyisten asiakkaiden tilausten -CustomersOrdersAndOrdersLines=Asiakkaan tilaukset ja tilaukset "linjat -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Toimittajan tilauksia käsitellä +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Peruutettu StatusOrderDraftShort=Vedos StatusOrderValidatedShort=Validoidut @@ -75,8 +75,9 @@ AddToMyOrders=Add to my tilaukset AddToOtherOrders=Lisää muut tilaukset AddToDraftOrders=Add to draft order ShowOrder=Näytä jotta -NoOpenedOrders=N: o avataan tilaukset -NoOtherOpenedOrders=Mikään muu avataan tilaukset +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Muut tilaukset LastOrders=Last %s customer orders diff --git a/htdocs/langs/fi_FI/other.lang b/htdocs/langs/fi_FI/other.lang index d49a1e3d5e1..c96d7454d53 100644 --- a/htdocs/langs/fi_FI/other.lang +++ b/htdocs/langs/fi_FI/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Validate interventioelimen Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Validate bill Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Toimittaja jotta hyväksytty Notify_ORDER_SUPPLIER_REFUSE=Toimittaja jotta evätty Notify_ORDER_VALIDATE=Asiakas tilaa validoitu @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Lisää merkintä kalenteri %s diff --git a/htdocs/langs/fi_FI/printing.lang b/htdocs/langs/fi_FI/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/fi_FI/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/fi_FI/productbatch.lang b/htdocs/langs/fi_FI/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/fi_FI/productbatch.lang +++ b/htdocs/langs/fi_FI/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 42b86221dca..5cec98d2b69 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -23,14 +23,14 @@ ProductOrService=Tuote tai palvelu ProductsAndServices=Tuotteet ja palvelut ProductsOrServices=Tuotteet tai palvelut ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Tuotteiden ja Palveluiden tilastot ProductsStatistics=Tuotteiden tilastot -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Sisäinen viite LastRecorded=Uusimmat tuotteet / palvelut myydä kirjataan @@ -44,7 +44,7 @@ CardProduct1=Palvelukortti CardContract=Sopimus-kortti Warehouse=Varasto Warehouses=Varastot -WarehouseOpened=Varasto avattu +WarehouseOpened=Warehouse open WarehouseClosed=Varasto suljettu Stock=Kanta Stocks=Varastot @@ -71,21 +71,21 @@ SellingPriceTTC=Myyntihinta (sis. alv) PublicPrice=Julkiset hinta CurrentPrice=Nykyinen hinta NewPrice=Uusi hinta -MinPrice=Puolinuotti. myyntihinta -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Myyntihinta ei voi olla pienempi kuin pienin sallittu tämän tuotteen ( %s ilman veroja) ContractStatus=Sopimus asema ContractStatusClosed=Suljettu -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=lakkaa -ContractStatusOnHold=Ole käynnissä -ContractStatusToRun=To get running -ContractNotRunning=Tämä sopimus ei ole käynnissä +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Tuotteen viitaten %s on jo olemassa. ErrorProductBadRefOrLabel=Väärä arvo viite-tai etiketissä. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Tavarantoimittajat SupplierRef=Toimittaja ref. ShowProduct=Näytä tuote @@ -117,12 +117,12 @@ ServiceLimitedDuration=Jos tuote on palvelu, rajoitettu kesto: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Lukumäärä hinta MultiPriceLevelsName=Hintakategorioissa -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Käännös KeywordFilter=Hakusanalla suodatin @@ -131,7 +131,7 @@ ProductToAddSearch=Hae tuote lisätä AddDel=Lisää / Poista Quantity=Määrä NoMatchFound=Ei hakutuloksia löytyi -ProductAssociationList=Luettelo niihin liittyvät tuotteet / palvelut: nimi tuotteen / palvelun (määrä vaikuta) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Yksi valittu tuote on vanhempi nykyinen tuote DeleteProduct=Poista tuotteen / palvelun @@ -179,16 +179,41 @@ CloneProduct=Klooni tuotteen tai palvelun ConfirmCloneProduct=Oletko varma, että haluat klooni tuotteen tai palvelun %s? CloneContentProduct=Klooni kaikki tärkeimmät tiedot tuotteen / palvelun ClonePricesProduct=Klooni tärkeimmät tiedot ja hinnat -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Tämä tuote on käytetty NewRefForClone=Ref. uuden tuotteen tai palvelun -CustomerPrices=Asiakkaat hinnat -SuppliersPrices=Toimittajat hinnat -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Tullikoodeksi CountryOrigin=Alkuperä maa HiddenIntoCombo=Piilotettu osaksi valitse listat Nature=Luonto +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 94a28050ab0..3ade1f3c9ad 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Tämä näkemys esitetään kaikki hankkeet sinulla voi lukea ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Tämä näkemys esitetään kaikki hankkeet (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). MyTasksDesc=Tämä näkemys on vain hankkeisiin tai tehtäviä olet yhteyshenkilö (mikä on tyyppi). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät sinulla voi lukea. TasksDesc=Tämä näkemys esitetään kaikki hankkeet ja tehtävät (käyttäjäoikeuksien antaa sinulle luvan katsella kaikkea). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Luettelo hankkeista ShowProject=Näytä hankkeen SetProject=Aseta hankkeen NoProject=Ei hanke määritellään -NbOpenTasks=Nb on avattu tehtävät +NbOpenTasks=Nb of open tasks NbOfProjects=Nb hankkeiden TimeSpent=Käytetty aika TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Uusi käytetty aika MyTimeSpent=Oma käytetty aika @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Luettelo toimien hankkeeseen liittyvän ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Luettelo toimia, jotka liittyvät hankkeen +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Toiminta hanke tällä viikolla ActivityOnProjectThisMonth=Toiminta hankkeen tässä kuussa ActivityOnProjectThisYear=Toiminta hanke tänä vuonna @@ -95,7 +96,7 @@ DeleteATimeSpent=Poista käytetty aika ConfirmDeleteATimeSpent=Oletko varma että haluat poistaa tämän aika? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Hankkeet omistettu tälle kolmannelle NoTasks=Ei tehtävät hankkeen LinkedToAnotherCompany=Liittyy muihin kolmannen osapuolen @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/fi_FI/propal.lang b/htdocs/langs/fi_FI/propal.lang index 63cfef75e7a..45cf0bc951c 100644 --- a/htdocs/langs/fi_FI/propal.lang +++ b/htdocs/langs/fi_FI/propal.lang @@ -4,7 +4,7 @@ Proposal=Kaupalliset ehdotus ProposalShort=Ehdotus ProposalsDraft=Luonnos kaupallinen ehdotuksia ProposalDraft=Luonnos kaupallinen ehdotus -ProposalsOpened=Avoinna kaupallinen ehdotuksia +ProposalsOpened=Open commercial proposals Prop=Kaupalliset ehdotuksia CommercialProposal=Kaupalliset ehdotus CommercialProposals=Kaupalliset ehdotuksia @@ -16,7 +16,7 @@ Prospect=Esitetilaus ProspectList=Esitetilaus luettelo DeleteProp=Poista kaupallinen ehdotus ValidateProp=Validate kaupallinen ehdotus -AddProp=Lisää ehdotus +AddProp=Create proposal ConfirmDeleteProp=Oletko varma, että haluat poistaa tämän kaupallisen ehdotusta? ConfirmValidateProp=Oletko varma, että haluat vahvistaa kaupallista ehdotusta? LastPropals=Viimeisin %s ehdotuksia @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Määrä kuukausittain (ilman veroja) NbOfProposals=Numero kaupallisten ehdotuksia ShowPropal=Näytä ehdotus PropalsDraft=Drafts -PropalsOpened=Avoinna +PropalsOpened=Open PropalsNotBilled=Suljettu ei laskuteta PropalStatusDraft=Luonnos (on vahvistettu) PropalStatusValidated=Validoidut (ehdotus on avattu) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Ei ole kirjautunut (suljettu) PropalStatusBilled=Laskutetun PropalStatusDraftShort=Vedos PropalStatusValidatedShort=Validoidut -PropalStatusOpenedShort=Avoinna +PropalStatusOpenedShort=Open PropalStatusClosedShort=Suljettu PropalStatusSignedShort=Allekirjoitettu PropalStatusNotSignedShort=Ei ole kirjautunut @@ -51,12 +51,10 @@ PropalsToClose=Kaupalliset ehdotuksia lähellä PropalsToBill=Allekirjoitettu kaupallinen ehdotuksia bill ListOfProposals=Luettelo kaupallisista ehdotuksia ActionsOnPropal=Toimia, ehdotus -NoOpenedPropals=N: o avataan kaupalliseen ehdotuksia -NoOtherOpenedPropals=Mikään muu avataan kaupalliseen ehdotuksia +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Kaupalliset ehdotus ref SendPropalByMail=Lähetä kaupallinen ehdotus postitse -FileNotUploaded=Tiedosto ei ole ladattu -FileUploaded=Tiedosto on siirretty onnistuneesti AssociatedDocuments=Asiakirjat kanssa assosioituneet ehdotus: ErrorCantOpenDir=Ei voi avata hakemistoon DatePropal=Päiväys Ehdotuksen @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s ei löydy Estimate=Arvio: EstimateShort=Arvio OtherPropals=Muut ehdotukset -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Luo kaupallinen ehdotus kopioimalla olemassa olevan ehdotuksen CreateEmptyPropal=Luo tyhjä kaupallinen ehdotuksia vierge tai luettelo tuotteet / palvelut DefaultProposalDurationValidity=Oletus kaupallinen ehdotus voim. kesto (päivinä) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=Asiakas ottaa yhteyttä seurantaan ehdotus # Document models DocModelAzurDescription=Täydellinen ehdotus malli (logo. ..) DocModelJauneDescription=Jaune ehdotus malli -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/fi_FI/salaries.lang b/htdocs/langs/fi_FI/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/fi_FI/salaries.lang +++ b/htdocs/langs/fi_FI/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/fi_FI/sendings.lang b/htdocs/langs/fi_FI/sendings.lang index 0701b49d469..fa5e296d529 100644 --- a/htdocs/langs/fi_FI/sendings.lang +++ b/htdocs/langs/fi_FI/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Yksinkertaisen mallin DocumentModelMerou=Merou A5 malli WarningNoQtyLeftToSend=Varoitus, ei tuotteet odottavat lähettämistä. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Höylätty toimituspäivämäärä +DateDeliveryPlanned=Planned date of delivery DateReceived=Päivämäärä toimitus sai SendShippingByEMail=Lähetä lähetys sähköpostitse SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index ae6cf714dc5..863972bacd8 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Varastot NewWarehouse=Uusi varasto / Kanta-alue WarehouseEdit=Muokkaa varasto MenuNewWarehouse=Uusi varasto -WarehouseOpened=Warehouse avattu +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse suljettu WarehouseSource=Lähde varasto WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Valitse varasto käyttää varastossa laskua SelectWarehouseForStockIncrease=Valitse varasto käyttää varastossa lisätä NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/fi_FI/suppliers.lang b/htdocs/langs/fi_FI/suppliers.lang index ba88216b66a..a43d95c7e5f 100644 --- a/htdocs/langs/fi_FI/suppliers.lang +++ b/htdocs/langs/fi_FI/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/fi_FI/trips.lang b/htdocs/langs/fi_FI/trips.lang index de170b586d4..5a950824bc4 100644 --- a/htdocs/langs/fi_FI/trips.lang +++ b/htdocs/langs/fi_FI/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Luettelo palkkiot NewTrip=New expense report CompanyVisited=Yritys / säätiö vieraili @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/fi_FI/users.lang b/htdocs/langs/fi_FI/users.lang index 21b0e410dd3..d19aa511967 100644 --- a/htdocs/langs/fi_FI/users.lang +++ b/htdocs/langs/fi_FI/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Poista ryhmästä PasswordChangedAndSentTo=Salasana muutettu ja lähetetään %s. PasswordChangeRequestSent=Pyynnön vaihtaa salasana %s lähetetään %s. MenuUsersAndGroups=Käyttäjät & ryhmät +MenuMyUserCard=My user card LastGroupsCreated=Viimeisin %s luonut ryhmiä LastUsersCreated=Viimeisin %s käyttäjät luotu ShowGroup=Näytä ryhmä diff --git a/htdocs/langs/fi_FI/workflow.lang b/htdocs/langs/fi_FI/workflow.lang index 57bedccdd48..fef9e36b686 100644 --- a/htdocs/langs/fi_FI/workflow.lang +++ b/htdocs/langs/fi_FI/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow-moduuli asennus -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Ei työnkulkua voi muokata moduulien olet aktivoinut. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Luominen asiakkaan tilauksen automaattisesti kaupallinen ehdotus on allekirjoitettu -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti kaupallinen ehdotus on allekirjoitettu -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti sopimus on vahvistettu -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Luo asiakkaalle laskun automaattisesti asiakkaan tilauksen suljetaan +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/fr_CA/admin.lang b/htdocs/langs/fr_CA/admin.lang index cc346f1b38c..1af79f8b17a 100644 --- a/htdocs/langs/fr_CA/admin.lang +++ b/htdocs/langs/fr_CA/admin.lang @@ -1,18 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin -AntiVirusCommandExample=Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParamExample=Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +Foundation=Foundation +Version=Version +VersionProgram=Version program +VersionLastInstall=Version initial install +VersionLastUpgrade=Version last upgrade +VersionExperimental=Experimental +VersionDevelopment=Development +VersionUnknown=Unknown +VersionRecommanded=Recommended +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found +SessionId=Session ID +SessionSaveHandler=Handler to save sessions +SessionSavePath=Storage session localization +PurgeSessions=Purge of sessions +ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). +NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. +LockNewSessions=Lock new connections +ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. +UnlockNewSessions=Remove connection lock +YourSession=Your session +Sessions=Users session +WebUserGroup=Web server user/group +NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). +HTMLCharset=Charset for generated HTML pages +DBStoringCharset=Database charset to store data +DBSortingCharset=Database charset to sort data +WarningModuleNotActive=Module %s must be enabled +WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. +DolibarrSetup=Dolibarr install or upgrade +DolibarrUser=Dolibarr user +InternalUser=Internal user +ExternalUser=External user +InternalUsers=Internal users +ExternalUsers=External users +GlobalSetup=Global setup +GUISetup=Display +SetupArea=Setup area +FormToTestFileUploadForm=Form to test file upload (according to setup) +IfModuleEnabled=Note: yes is effective only if module %s is enabled +RemoveLock=Remove file %s if it exists to allow usage of the update tool. +RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. +SecuritySetup=Security setup +ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher +ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher +ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. +DictionarySetup=Dictionary setup +Dictionary=Dictionaries +Chartofaccounts=Chart of accounts +Fiscalyear=Fiscal years +ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record +ErrorCodeCantContainZero=Code can't contain value 0 +DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) +ConfirmAjax=Use Ajax confirmation popups +UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. +ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it +UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) +SearchFilter=Search filters options +NumberOfKeyToSearch=Nbr of characters to trigger search: %s +ViewFullDateActions=Show full dates events in the third sheet +NotAvailableWhenAjaxDisabled=Not available when Ajax disabled +JavascriptDisabled=JavaScript disabled +UsePopupCalendar=Use popup for dates input +UsePreviewTabs=Use preview tabs +ShowPreview=Show preview +PreviewNotAvailable=Preview not available +ThemeCurrentlyActive=Theme currently active +CurrentTimeZone=TimeZone PHP (server) +MySQLTimeZone=TimeZone MySql (database) +TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). +Space=Space +Table=Table +Fields=Fields +Index=Index +Mask=Mask +NextValue=Next value +NextValueForInvoices=Next value (invoices) +NextValueForCreditNotes=Next value (credit notes) +NextValueForDeposit=Next value (deposit) +NextValueForReplacements=Next value (replacements) +MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is +NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration +MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) +UseCaptchaCode=Use graphical code (CAPTCHA) on login page +UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files +AntiVirusCommand= Full path to antivirus command +AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan +AntiVirusParam= More parameters on command line +AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" +ComptaSetup=Accounting module setup +UserSetup=User management setup +MenuSetup=Menu management setup +MenuLimits=Limits and accuracy +MenuIdParent=Parent menu ID +DetailMenuIdParent=ID of parent menu (empty for a top menu) +DetailPosition=Sort number to define menu position +PersonalizedMenusNotSupported=Personalized menus not supported +AllMenus=All +NotConfigured=Module not configured +Setup=Setup +Activation=Activation +Active=Active +SetupShort=Setup +OtherOptions=Other options +OtherSetup=Other setup +CurrentValueSeparatorDecimal=Decimal separator +CurrentValueSeparatorThousand=Thousand separator +Destination=Destination +IdModule=Module ID +IdPermissions=Permissions ID +Modules=Modules +ModulesCommon=Main modules +ModulesOther=Other modules +ModulesInterfaces=Interfaces modules +ModulesSpecial=Modules very specific +ParameterInDolibarr=Parameter %s +LanguageParameter=Language parameter %s +LanguageBrowserParameter=Parameter %s +LocalisationDolibarrParameters=Localisation parameters +ClientTZ=Client Time Zone (user) +ClientHour=Client time (user) +OSTZ=Server OS Time Zone +PHPTZ=PHP server Time Zone +PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) +ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) +DaylingSavingTime=Daylight saving time +CurrentHour=PHP Time (server) +CompanyTZ=Company Time Zone (main company) +CompanyHour=Company Time (main company) +CurrentSessionTimeOut=Current session timeout +YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" +OSEnv=OS Environment +Box=Box +Boxes=Boxes +MaxNbOfLinesForBoxes=Max number of lines for boxes +PositionByDefault=Default order +Position=Position +MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). +MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. +MenuForUsers=Menu for users +LangFile=.lang file +System=System +SystemInfo=System information +SystemToolsArea=System tools area +SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. +Purge=Purge +PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. +PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) +PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) +PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. +PurgeRunNow=Purge now +PurgeNothingToDelete=No directory or file to delete. +PurgeNDirectoriesDeleted=%s files or directories deleted. +PurgeAuditEvents=Purge all security events +ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. +NewBackup=New backup +GenerateBackup=Generate backup +Backup=Backup +Restore=Restore +RunCommandSummary=Backup has been launched with the following command +RunCommandSummaryToLaunch=Backup can be launched with the following command +WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands +BackupResult=Backup result +BackupFileSuccessfullyCreated=Backup file successfully generated +YouCanDownloadBackupFile=Generated files can now be downloaded +NoBackupFileAvailable=No backup files available. +ExportMethod=Export method +ImportMethod=Import method +ToBuildBackupFileClickHere=To build a backup file, click here. +ImportMySqlDesc=To import a backup file, you must use mysql command from command line: +ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: +ImportMySqlCommand=%s %s < mybackupfile.sql +ImportPostgreSqlCommand=%s %s mybackupfile.sql +FileNameToGenerate=File name to generate +Compression=Compression +CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later +ExportCompatibility=Compatibility of generated export file +MySqlExportParameters=MySQL export parameters +PostgreSqlExportParameters= PostgreSQL export parameters +UseTransactionnalMode=Use transactional mode +FullPathToMysqldumpCommand=Full path to mysqldump command +FullPathToPostgreSQLdumpCommand=Full path to pg_dump command +ExportOptions=Export Options +AddDropDatabase=Add DROP DATABASE command +AddDropTable=Add DROP TABLE command +ExportStructure=Structure +Datas=Data +NameColumn=Name columns +ExtendedInsert=Extended INSERT +NoLockBeforeInsert=No lock commands around INSERT +DelayedInsert=Delayed insert +EncodeBinariesInHexa=Encode binary data in hexadecimal +IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) +Yes=Yes +No=No +AutoDetectLang=Autodetect (browser language) +FeatureDisabledInDemo=Feature disabled in demo +Rights=Permissions +BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. +OnlyActiveElementsAreShown=Only elements from enabled modules are shown. +ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. +ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. +ModulesSpecialDesc=Special modules are very specific or seldom used modules. +ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. +ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... +ModulesMarketPlaces=More modules... +DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) +WebSiteDesc=Web site providers you can search to find more modules... +URL=Link +BoxesAvailable=Boxes available +BoxesActivated=Boxes activated +ActivateOn=Activate on +ActiveOn=Activated on +SourceFile=Source file +AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled +AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +Required=Required +UsedOnlyWithTypeOption=Used by some agenda option only +Security=Security +Passwords=Passwords +DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) +MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) +ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). +Feature=Feature +DolibarrLicense=License +DolibarrProjectLeader=Project leader +Developpers=Developers/contributors +OtherDeveloppers=Other developers/contributors +OfficialWebSite=Dolibarr international official web site +OfficialWebSiteFr=French official web site +OfficialWiki=Dolibarr documentation on Wiki +OfficialDemo=Dolibarr online demo +OfficialMarketPlace=Official market place for external modules/addons +OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +ReferencedPreferredPartners=Preferred Partners +OtherResources=Autres ressources +ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s +ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s +HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. +HelpCenterDesc2=Some part of this service are available in english only. +CurrentTopMenuHandler=Current top menu handler +CurrentLeftMenuHandler=Current left menu handler +CurrentMenuHandler=Current menu handler +CurrentSmartphoneMenuHandler=Current smartphone menu handler +MeasuringUnit=Measuring unit +Emails=E-mails +EMailsSetup=E-mails setup +EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. +MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) +MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) +MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent +MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_MAIL_SENDMODE=Method to use to send EMails +MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required +MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required +MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt +MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) +MAIN_SMS_SENDMODE=Method to use to send SMS +MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending +FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. +SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. +ModuleSetup=Module setup +ModulesSetup=Modules setup +ModuleFamilyBase=System +ModuleFamilyCrm=Customer Relation Management (CRM) +ModuleFamilyProducts=Products Management +ModuleFamilyHr=Human Resource Management +ModuleFamilyProjects=Projects/Collaborative work +ModuleFamilyOther=Other +ModuleFamilyTechnic=Multi-modules tools +ModuleFamilyExperimental=Experimental modules +ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) +ModuleFamilyECM=Electronic Content Management (ECM) +MenuHandlers=Menu handlers +MenuAdmin=Menu editor +DoNotUseInProduction=Do not use in production +ThisIsProcessToFollow=This is setup to process: +ThisIsAlternativeProcessToFollow=This is an alternative setup to process: +StepNb=Step %s +FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s +SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. +NotExistsDirect=The alternative root directory is not defined.
+InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
+InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. +YouCanSubmitFile=For this step, you can send package using this tool: Select module file +CurrentVersion=Dolibarr current version +CallUpdatePage=Go to the page that updates the database structure and datas: %s. +LastStableVersion=Last stable version +UpdateServerOffline=Update server offline +GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
+GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
+GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
+GenericMaskCodes4b=Example on third party created on 2007-03-01:
+GenericMaskCodes4c=Example on product created on 2007-03-01:
+GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Returns a customizable number according to a defined mask. +ServerAvailableOnIPOrPort=Server is available at address %s on port %s +ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s +DoTestServerAvailability=Test server connectivity +DoTestSend=Test sending +DoTestSendHTML=Test sending HTML +ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. +UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. +UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. +SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation +UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) +DisableLinkToHelpCenter=Hide link "Need help or support" on login page +DisableLinkToHelp=Hide link "%s Online help" on left menu +AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. +ModuleDisabled=Module disabled +ModuleDisabledSoNoEvent=Module disabled so event never created +ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). +MinLength=Minimum length +LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory +ExamplesWithCurrentSetup=Examples with current running setup +ListOfDirectories=List of OpenDocument templates directories +ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

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

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +LibraryToBuildPDF=Library used to build PDF +WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 +DefaultLink=Default link +ValueOverwrittenByUserSetup=Warning, this value may be overwritten by user specific setup (each user can set his own clicktodial url) +ExternalModule=External module - Installed into directory %s +BarcodeInitForThirdparties=Mass barcode init for thirdparties +BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services +CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. +InitEmptyBarCode=Init value for next %s empty records +EraseAllCurrentBarCode=Erase all current barcode values +ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? +AllBarcodeReset=All barcode values have been removed +NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. +NoRecordWithoutBarcodeDefined=No record with no barcode value defined. + +# Modules +Module0Name=Users & groups +Module0Desc=Users and groups management +Module1Name=Third parties +Module1Desc=Companies and contact management (customers, prospects...) +Module2Name=Commercial +Module2Desc=Commercial management +Module10Name=Accounting +Module10Desc=Simple accounting reports (journals, turnover) based onto database content. No dispatching. +Module20Name=Proposals +Module20Desc=Commercial proposal management +Module22Name=Mass E-mailings +Module22Desc=Mass E-mailing management +Module23Name= Energy +Module23Desc= Monitoring the consumption of energies +Module25Name=Customer Orders +Module25Desc=Customer order management +Module30Name=Invoices +Module30Desc=Invoice and credit note management for customers. Invoice management for suppliers +Module40Name=Suppliers +Module40Desc=Supplier management and buying (orders and invoices) +Module42Name=Logs +Module42Desc=Logging facilities (file, syslog, ...) +Module49Name=Editors +Module49Desc=Editor management +Module50Name=Products +Module50Desc=Product management +Module51Name=Mass mailings +Module51Desc=Mass paper mailing management +Module52Name=Stocks +Module52Desc=Stock management (products) +Module53Name=Services +Module53Desc=Service management +Module54Name=Contracts/Subscriptions +Module54Desc=Management of contracts (services or reccuring subscriptions) +Module55Name=Barcodes +Module55Desc=Barcode management +Module56Name=Telephony +Module56Desc=Telephony integration +Module57Name=Standing orders +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module59Name=Bookmark4u +Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module70Name=Interventions +Module70Desc=Intervention management +Module75Name=Expense and trip notes +Module75Desc=Expense and trip notes management +Module80Name=Shipments +Module80Desc=Shipments and delivery order management +Module85Name=Banks and cash +Module85Desc=Management of bank or cash accounts +Module100Name=External site +Module100Desc=This module include an external web site or page into Dolibarr menus and view it into a Dolibarr frame +Module105Name=Mailman and SPIP +Module105Desc=Mailman or SPIP interface for member module +Module200Name=LDAP +Module200Desc=LDAP directory synchronisation +Module210Name=PostNuke +Module210Desc=PostNuke integration +Module240Name=Data exports +Module240Desc=Tool to export Dolibarr datas (with assistants) +Module250Name=Data imports +Module250Desc=Tool to import datas in Dolibarr (with assistants) +Module310Name=Members +Module310Desc=Foundation members management +Module320Name=RSS Feed +Module320Desc=Add RSS feed inside Dolibarr screen pages +Module330Name=Bookmarks +Module330Desc=Bookmark management +Module400Name=Projects/Opportunities/Leads +Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. +Module410Name=Webcalendar +Module410Desc=Webcalendar integration +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) +Module510Name=Salaries +Module510Desc=Management of employees salaries and payments +Module520Name=Loan +Module520Desc=Management of loans +Module600Name=Notifications +Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) +Module700Name=Donations +Module700Desc=Donation management +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices +Module1200Name=Mantis +Module1200Desc=Mantis integration +Module1400Name=Accounting +Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation +Module1780Name=Tags/Categories Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module2000Name=WYSIWYG editor +Module2000Desc=Allow to edit some text area using an advanced editor +Module2200Name=Dynamic Prices +Module2200Desc=Enable the usage of math expressions for prices +Module2300Name=Cron +Module2300Desc=Scheduled job management +Module2400Name=Agenda +Module2400Desc=Events/tasks and agenda management +Module2500Name=Electronic Content Management +Module2500Desc=Save and share documents +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services +Module2650Name=WebServices (client) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) +Module2700Name=Gravatar +Module2700Desc=Use online Gravatar service (www.gravatar.com) to show photo of users/members (found with their emails). Need an internet access +Module2800Desc=FTP Client +Module2900Name=GeoIPMaxmind +Module2900Desc=GeoIP Maxmind conversions capabilities +Module3100Name=Skype +Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module5000Name=Multi-company +Module5000Desc=Allows you to manage multiple companies +Module6000Name=Workflow +Module6000Desc=Workflow management +Module20000Name=Leave Requests management +Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product lot Module39000Desc=Lot or serial number, eat-by and sell-by date management on products -MAIN_ROUNDING_RULE_TOT=Size of rounding range (for rare countries where rounding is done on something else than base 10) +Module50000Name=PayBox +Module50000Desc=Module to offer an online payment page by credit card with PayBox +Module50100Name=Point of sales +Module50100Desc=Point of sales module +Module50200Name=Paypal +Module50200Desc=Module to offer an online payment page by credit card with Paypal +Module50400Name=Accounting (advanced) +Module50400Desc=Accounting management (double parties) +Module54000Name=PrintIPP +Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). +Module55000Name=Open Poll +Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module59000Name=Margins +Module59000Desc=Module to manage margins +Module60000Name=Commissions +Module60000Desc=Module to manage commissions +Permission11=Read customer invoices +Permission12=Create/modify customer invoices +Permission13=Unvalidate customer invoices +Permission14=Validate customer invoices +Permission15=Send customer invoices by email +Permission16=Create payments for customer invoices +Permission19=Delete customer invoices +Permission21=Read commercial proposals +Permission22=Create/modify commercial proposals +Permission24=Validate commercial proposals +Permission25=Send commercial proposals +Permission26=Close commercial proposals +Permission27=Delete commercial proposals +Permission28=Export commercial proposals +Permission31=Read products +Permission32=Create/modify products +Permission34=Delete products +Permission36=See/manage hidden products +Permission38=Export products +Permission41=Read projects (shared project and projects i'm contact for) +Permission42=Create/modify projects (shared project and projects i'm contact for) +Permission44=Delete projects (shared project and projects i'm contact for) +Permission61=Read interventions +Permission62=Create/modify interventions +Permission64=Delete interventions +Permission67=Export interventions +Permission71=Read members +Permission72=Create/modify members +Permission74=Delete members +Permission75=Setup types of membership +Permission76=Export datas +Permission78=Read subscriptions +Permission79=Create/modify subscriptions +Permission81=Read customers orders +Permission82=Create/modify customers orders +Permission84=Validate customers orders +Permission86=Send customers orders +Permission87=Close customers orders +Permission88=Cancel customers orders +Permission89=Delete customers orders +Permission91=Read social contributions and vat +Permission92=Create/modify social contributions and vat +Permission93=Delete social contributions and vat +Permission94=Export social contributions +Permission95=Read reports +Permission101=Read sendings +Permission102=Create/modify sendings +Permission104=Validate sendings +Permission106=Export sendings +Permission109=Delete sendings +Permission111=Read financial accounts +Permission112=Create/modify/delete and compare transactions +Permission113=Setup financial accounts (create, manage categories) +Permission114=Reconciliate transactions +Permission115=Export transactions and account statements +Permission116=Transfers between accounts +Permission117=Manage cheques dispatching +Permission121=Read third parties linked to user +Permission122=Create/modify third parties linked to user +Permission125=Delete third parties linked to user +Permission126=Export third parties +Permission141=Read projects (also private i am not contact for) +Permission142=Create/modify projects (also private i am not contact for) +Permission144=Delete projects (also private i am not contact for) +Permission146=Read providers +Permission147=Read stats +Permission151=Read standing orders +Permission152=Create/modify a standing orders request +Permission153=Transmission standing orders receipts +Permission154=Credit/refuse standing orders receipts +Permission161=Read contracts/subscriptions +Permission162=Create/modify contracts/subscriptions +Permission163=Activate a service/subscription of a contract +Permission164=Disable a service/subscription of a contract +Permission165=Delete contracts/subscriptions +Permission171=Read trips and expenses (own and his subordinates) +Permission172=Create/modify trips and expenses +Permission173=Delete trips and expenses +Permission174=Read all trips and expenses +Permission178=Export trips and expenses +Permission180=Read suppliers +Permission181=Read supplier orders +Permission182=Create/modify supplier orders +Permission183=Validate supplier orders +Permission184=Approve supplier orders +Permission185=Order or cancel supplier orders +Permission186=Receive supplier orders +Permission187=Close supplier orders +Permission188=Cancel supplier orders +Permission192=Create lines +Permission193=Cancel lines +Permission194=Read the bandwith lines +Permission202=Create ADSL connections +Permission203=Order connections orders +Permission204=Order connections +Permission205=Manage connections +Permission206=Read connections +Permission211=Read Telephony +Permission212=Order lines +Permission213=Activate line +Permission214=Setup Telephony +Permission215=Setup providers +Permission221=Read emailings +Permission222=Create/modify emailings (topic, recipients...) +Permission223=Validate emailings (allows sending) +Permission229=Delete emailings +Permission237=View recipients and info +Permission238=Manually send mailings +Permission239=Delete mailings after validation or sent +Permission241=Read categories +Permission242=Create/modify categories +Permission243=Delete categories +Permission244=See the contents of the hidden categories +Permission251=Read other users and groups +PermissionAdvanced251=Read other users +Permission252=Read permissions of other users +Permission253=Create/modify other users, groups and permisssions +PermissionAdvanced253=Create/modify internal/external users and permissions +Permission254=Create/modify external users only +Permission255=Modify other users password +Permission256=Delete or disable other users +Permission262=Extend access to all third parties (not only those linked to user). Not effective for external users (always limited to themselves). +Permission271=Read CA +Permission272=Read invoices +Permission273=Issue invoices +Permission281=Read contacts +Permission282=Create/modify contacts +Permission283=Delete contacts +Permission286=Export contacts +Permission291=Read tariffs +Permission292=Set permissions on the tariffs +Permission293=Modify costumers tariffs +Permission300=Read bar codes +Permission301=Create/modify bar codes +Permission302=Delete bar codes +Permission311=Read services +Permission312=Assign service/subscription to contract +Permission331=Read bookmarks +Permission332=Create/modify bookmarks +Permission333=Delete bookmarks +Permission341=Read its own permissions +Permission342=Create/modify his own user information +Permission343=Modify his own password +Permission344=Modify its own permissions +Permission351=Read groups +Permission352=Read groups permissions +Permission353=Create/modify groups +Permission354=Delete or disable groups +Permission358=Export users +Permission401=Read discounts +Permission402=Create/modify discounts +Permission403=Validate discounts +Permission404=Delete discounts +Permission510=Read Salaries +Permission512=Create/modify salaries +Permission514=Delete salaries +Permission517=Export salaries +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 +Permission701=Read donations +Permission702=Create/modify donations +Permission703=Delete donations +Permission771=Read expense reports (own and his subordinates) +Permission772=Create/modify expense reports +Permission773=Delete expense reports +Permission774=Read all expense reports (even for user not subordinates) +Permission775=Approve expense reports +Permission776=Pay expense reports +Permission779=Export expense reports +Permission1001=Read stocks +Permission1002=Create/modify warehouses +Permission1003=Delete warehouses +Permission1004=Read stock movements +Permission1005=Create/modify stock movements +Permission1101=Read delivery orders +Permission1102=Create/modify delivery orders +Permission1104=Validate delivery orders +Permission1109=Delete delivery orders +Permission1181=Read suppliers +Permission1182=Read supplier orders +Permission1183=Create/modify supplier orders +Permission1184=Validate supplier orders +Permission1185=Approve supplier orders +Permission1186=Order supplier orders +Permission1187=Acknowledge receipt of supplier orders +Permission1188=Delete supplier orders +Permission1190=Approve (second approval) supplier orders +Permission1201=Get result of an export +Permission1202=Create/Modify an export +Permission1231=Read supplier invoices +Permission1232=Create/modify supplier invoices +Permission1233=Validate supplier invoices +Permission1234=Delete supplier invoices +Permission1235=Send supplier invoices by email +Permission1236=Export supplier invoices, attributes and payments +Permission1237=Export supplier orders and their details +Permission1251=Run mass imports of external data into database (data load) +Permission1321=Export customer invoices, attributes and payments +Permission1421=Export customer orders and attributes +Permission23001=Read Scheduled job +Permission23002=Create/update Scheduled job +Permission23003=Delete Scheduled job +Permission23004=Execute Scheduled job +Permission2401=Read actions (events or tasks) linked to his account +Permission2402=Create/modify actions (events or tasks) linked to his account +Permission2403=Delete actions (events or tasks) linked to his account +Permission2411=Read actions (events or tasks) of others +Permission2412=Create/modify actions (events or tasks) of others +Permission2413=Delete actions (events or tasks) of others +Permission2501=Read/Download documents +Permission2502=Download documents +Permission2503=Submit or delete documents +Permission2515=Setup documents directories +Permission2801=Use FTP client in read mode (browse and download only) +Permission2802=Use FTP client in write mode (delete or upload files) +Permission50101=Use Point of sales +Permission50201=Read transactions +Permission50202=Import transactions +Permission54001=Print +Permission55001=Read polls +Permission55002=Create/modify polls +Permission59001=Read commercial margins +Permission59002=Define commercial margins +Permission59003=Read every user margin +DictionaryCompanyType=Thirdparties type +DictionaryCompanyJuridicalType=Juridical kinds of thirdparties +DictionaryProspectLevel=Prospect potential level +DictionaryCanton=State/Cantons +DictionaryRegion=Regions +DictionaryCountry=Countries +DictionaryCurrency=Currencies +DictionaryCivility=Civility title +DictionaryActions=Type of agenda events +DictionarySocialContributions=Social contributions types +DictionaryVAT=VAT Rates or Sales Tax Rates +DictionaryRevenueStamp=Amount of revenue stamps +DictionaryPaymentConditions=Payment terms +DictionaryPaymentModes=Payment modes +DictionaryTypeContact=Contact/Address types +DictionaryEcotaxe=Ecotax (WEEE) +DictionaryPaperFormat=Paper formats +DictionaryFees=Type of fees +DictionarySendingMethods=Shipping methods +DictionaryStaff=Staff +DictionaryAvailability=Delivery delay +DictionaryOrderMethods=Ordering methods +DictionarySource=Origin of proposals/orders +DictionaryAccountancyplan=Chart of accounts +DictionaryAccountancysystem=Models for chart of accounts +DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status +SetupSaved=Setup saved +BackToModuleList=Back to modules list +BackToDictionaryList=Back to dictionaries list +VATReceivedOnly=Special rate not charged +VATManagement=VAT Management +VATIsUsedDesc=The VAT rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to VAT, then VAT by default=0. End of rule.
If the (selling country= buying country), then the VAT by default=VAT of the product in the selling country. End of rule.
If seller and buyer in the European Community and goods are transport products (car, ship, plane), the default VAT=0 ( The VAT should be paid by the buyer at the customoffice of his country and not at the seller). End of rule.
If seller and buyer in the European Community and buyer is not a company, then the VAT by default=VAT of product sold. End of rule.
If seller and buyer in the European Community and buyer is a company, then the VAT by default=0. End of rule.
Else the proposed default VAT=0. End of rule. +VATIsNotUsedDesc=By default the proposed VAT is 0 which can be used for cases like associations, individuals ou small companies. +VATIsUsedExampleFR=In France, it means companies or organisations having a real fiscal system (Simplified real or normal real). A system in which VAT is declared. +VATIsNotUsedExampleFR=In France, it means associations that are non VAT declared or companies, organisations or liberal professions that have chosen the micro enterprise fiscal system (VAT in franchise) and paid a franchise VAT without any VAT declaration. This choice will display the reference "Non applicable VAT - art-293B of CGI" on invoices. +##### Local Taxes ##### +LTRate=Rate +LocalTax1IsUsed=Use second tax +LocalTax1IsNotUsed=Do not use second tax +LocalTax1IsUsedDesc=Use a second type of tax (other than VAT) +LocalTax1IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax1Management=Second type of tax +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= +LocalTax2IsUsed=Use third tax +LocalTax2IsNotUsed=Do not use third tax +LocalTax2IsUsedDesc=Use a third type of tax (other than VAT) +LocalTax2IsNotUsedDesc=Do not use other type of tax (other than VAT) +LocalTax2Management=Third type of tax +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Management +LocalTax1IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If te buyer is not subjected to RE, RE by default=0. End of rule.
If the buyer is subjected to RE then the RE by default. End of rule.
+LocalTax1IsNotUsedDescES= By default the proposed RE is 0. End of rule. +LocalTax1IsUsedExampleES= In Spain they are professionals subject to some specific sections of the Spanish IAE. +LocalTax1IsNotUsedExampleES= In Spain they are professional and societies and subject to certain sections of the Spanish IAE. +LocalTax2ManagementES= IRPF Management +LocalTax2IsUsedDescES= The RE rate by default when creating prospects, invoices, orders etc follow the active standard rule:
If the seller is not subjected to IRPF, then IRPF by default=0. End of rule.
If the seller is subjected to IRPF then the IRPF by default. End of rule.
+LocalTax2IsNotUsedDescES= By default the proposed IRPF is 0. End of rule. +LocalTax2IsUsedExampleES= In Spain, freelancers and independent professionals who provide services and companies who have chosen the tax system of modules. +LocalTax2IsNotUsedExampleES= In Spain they are bussines not subject to tax system of modules. +CalcLocaltax=Reports 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 +LabelUsedByDefault=Label used by default if no translation can be found for code +LabelOnDocuments=Label on documents +NbOfDays=Nb of days +AtEndOfMonth=At end of month +Offset=Offset +AlwaysActive=Always active +UpdateRequired=Your system needs to be updated. To do this, click on Update now. +Upgrade=Upgrade +MenuUpgrade=Upgrade / Extend +AddExtensionThemeModuleOrOther=Add extension (theme, module, ...) +WebServer=Web server +DocumentRootServer=Web server's root directory +DataRootServer=Data files directory +IP=IP +Port=Port +VirtualServerName=Virtual server name +AllParameters=All parameters +OS=OS +PhpEnv=Env +PhpModules=Modules +PhpConf=Conf +PhpWebLink=Web-Php link +Pear=Pear +PearPackages=Pear Packages +Browser=Browser +Server=Server +Database=Database +DatabaseServer=Database host +DatabaseName=Database name +DatabasePort=Database port +DatabaseUser=Database user +DatabasePassword=Database password +DatabaseConfiguration=Database setup +Tables=Tables +TableName=Table name +TableLineFormat=Line format +NbOfRecord=Nb of records +Constraints=Constraints +ConstraintsType=Constraints type +ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry +AllMustBeOk=All of these must be checked +Host=Server +DriverType=Driver type +SummarySystem=System information summary +SummaryConst=List of all Dolibarr setup parameters +SystemUpdate=System update +SystemSuccessfulyUpdate=Your system has been updated successfuly +MenuCompanySetup=Company/Foundation +MenuNewUser=New user +MenuTopManager=Top menu manager +MenuLeftManager=Left menu manager +MenuManager=Menu manager +MenuSmartphoneManager=Smartphone menu manager +DefaultMenuTopManager=Top menu manager +DefaultMenuLeftManager=Left menu manager +DefaultMenuManager= Standard menu manager +DefaultMenuSmartphoneManager=Smartphone menu manager +Skin=Skin theme +DefaultSkin=Default skin theme +MaxSizeList=Max length for list +DefaultMaxSizeList=Default max length for list +MessageOfDay=Message of the day +MessageLogin=Login page message +PermanentLeftSearchForm=Permanent search form on left menu +DefaultLanguage=Default language to use (language code) +EnableMultilangInterface=Enable multilingual interface +EnableShowLogo=Show logo on left menu +EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +SystemSuccessfulyUpdated=Your system has been updated successfully +CompanyInfo=Company/foundation information +CompanyIds=Company/foundation identities +CompanyName=Name +CompanyAddress=Address +CompanyZip=Zip +CompanyTown=Town +CompanyCountry=Country +CompanyCurrency=Main currency +CompanyObject=Object of the company +Logo=Logo +DoNotShow=Do not show +DoNotSuggestPaymentMode=Do not suggest +NoActiveBankAccountDefined=No active bank account defined +OwnerOfBankAccount=Owner of bank account %s +BankModuleNotActive=Bank accounts module not enabled +ShowBugTrackLink=Show link "%s" +ShowWorkBoard=Show "workbench" on homepage +Alerts=Alerts +Delays=Delays +DelayBeforeWarning=Delay before warning +DelaysBeforeWarning=Delays before warning +DelaysOfToleranceBeforeWarning=Tolerance delays before warning +DelaysOfToleranceDesc=This screen allows you to define the tolerated delays before an alert is reported on screen with picto %s for each late element. +Delays_MAIN_DELAY_ACTIONS_TODO=Delay tolerance (in days) before alert on planned events not yet realised +Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on orders not yet processed +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Delay tolerance (in days) before alert on suppliers orders not yet processed +Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Delay tolerance (in days) before alert on proposals to close +Delays_MAIN_DELAY_PROPALS_TO_BILL=Delay tolerance (in days) before alert on proposals not billed +Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Tolerance delay (in days) before alert on services to activate +Delays_MAIN_DELAY_RUNNING_SERVICES=Tolerance delay (in days) before alert on expired services +Delays_MAIN_DELAY_SUPPLIER_BILLS_TO_PAY=Tolerance delay (in days) before alert on unpaid supplier invoices +Delays_MAIN_DELAY_CUSTOMER_BILLS_UNPAYED=Tolerence delay (in days) before alert on unpaid client invoices +Delays_MAIN_DELAY_TRANSACTIONS_TO_CONCILIATE=Tolerance delay (in days) before alert on pending bank reconciliation +Delays_MAIN_DELAY_MEMBERS=Tolerance delay (in days) before alert on delayed membership fee +Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerance delay (in days) before alert for cheques deposit to do +SetupDescription1=All parameters available in the setup area allow you to setup Dolibarr before starting using it. +SetupDescription2=The 2 most important setup steps are the 2 first ones in the left setup menu, this means Company/foundation setup page and Modules setup page: +SetupDescription3=Parameters in menu Setup -> Company/foundation are required because input information is used on Dolibarr displays and to modify Dolibarr behaviour (for example for features related to your country). +SetupDescription4=Parameters in menu Setup -> Modules are required because Dolibarr is not a fixed ERP/CRM but a sum of several modules, all more or less independant. It's only after activating modules you're interesting in that you will see features appeared in menus. +SetupDescription5=Other menu entries manage optional parameters. +EventsSetup=Setup for events logs +LogEvents=Security audit events +Audit=Audit +InfoDolibarr=Infos Dolibarr +InfoBrowser=Infos Browser +InfoOS=Infos OS +InfoWebServer=Infos web server +InfoDatabase=Infos database +InfoPHP=Infos PHP +InfoPerf=Infos performances +BrowserName=Browser name +BrowserOS=Browser OS +ListEvents=Audit events +ListOfSecurityEvents=List of Dolibarr security events +SecurityEventsPurged=Security events purged +LogEventDesc=You can enable here the logging for Dolibarr security events. Administrators can then see its content via menu System tools - Audit. Warning, this feature can consume a large amount of data in database. +AreaForAdminOnly=Those features can be used by administrator users only. +SystemInfoDesc=System information is miscellaneous technical information you get in read only mode and visible for administrators only. +SystemAreaForAdminOnly=This area is available for administrator users only. None of the Dolibarr permissions can reduce this limit. +CompanyFundationDesc=Edit on this page all known information of the company or foundation you need to manage (For this, click on "Modify" button at bottom of page) +DisplayDesc=You can choose each parameter related to the Dolibarr look and feel here +AvailableModules=Available modules +ToActivateModule=To activate modules, go on setup Area (Home->Setup->Modules). +SessionTimeOut=Time out for session +SessionExplanation=This number guarantee that session will never expire before this delay, if the session cleaner is done by Internal PHP session cleaner (and nothing else). Internal PHP session cleaner does not guaranty that session will expire just after this delay. It will expire, after this delay, and when the session cleaner is ran, so every %s/%s access, but only during access made by other sessions.
Note: on some servers with an external session cleaning mechanism (cron under debian, ubuntu ...), the sessions can be destroyed after a period defined by the default session.gc_maxlifetime, no matter what the value entered here. +TriggersAvailable=Available triggers +TriggersDesc=Triggers are files that will modify the behaviour of Dolibarr workflow once copied into the directory htdocs/core/triggers. They realised new actions, activated on Dolibarr events (new company creation, invoice validation, ...). +TriggerDisabledByName=Triggers in this file are disabled by the -NORUN suffix in their name. +TriggerDisabledAsModuleDisabled=Triggers in this file are disabled as module %s is disabled. +TriggerAlwaysActive=Triggers in this file are always active, whatever are the activated Dolibarr modules. +TriggerActiveAsModuleActive=Triggers in this file are active as module %s is enabled. +GeneratedPasswordDesc=Define here which rule you want to use to generate new password if you ask to have auto generated password +DictionaryDesc=Define here all reference datas. You can complete predefined value with yours. +ConstDesc=This page allows you to edit all other parameters not available in previous pages. They are reserved parameters for advanced developers or for troubleshouting. +OnceSetupFinishedCreateUsers=Warning, you are a Dolibarr administrator user. Administrator users are used to setup Dolibarr. For a usual usage of Dolibarr, it is recommended to use a non administrator user created from Users & Groups menu. +MiscellaneousDesc=Define here all other parameters related to security. +LimitsSetup=Limits/Precision setup +LimitsDesc=You can define limits, precisions and optimisations used by Dolibarr here +MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices +MAIN_MAX_DECIMALS_TOT=Max decimals for total prices +MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) +MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding +ParameterActiveForNextInputOnly=Parameter effective for next input only +NoEventOrNoAuditSetup=No security event has been recorded yet. This can be normal if audit has not been enabled on "setup - security - audit" page. +NoEventFoundWithCriteria=No security event has been found for such search criterias. +SeeLocalSendMailSetup=See your local sendmail setup +BackupDesc=To make a complete backup of Dolibarr, you must: BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. +BackupDescX=Archived directory should be stored in a secure place. +BackupDescY=The generated dump file should be stored in a secure place. +BackupPHPWarning=Backup can't be guaranted with this method. Prefer previous one +RestoreDesc=To restore a Dolibarr backup, you must: RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. +RestoreMySQL=MySQL import +ForcedToByAModule= This rule is forced to %s by an activated module +PreviousDumpFiles=Available database backup dump files +WeekStartOnDay=First day of week +RunningUpdateProcessMayBeRequired=Running the upgrade process seems to be required (Programs version %s differs from database version %s) +YouMustRunCommandFromCommandLineAfterLoginToUser=You must run this command from command line after login to a shell with user %s or you must add -W option at end of command line to provide %s password. +YourPHPDoesNotHaveSSLSupport=SSL functions not available in your PHP +DownloadMoreSkins=More skins to download +SimpleNumRefModelDesc=Returns the reference number with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence without hole and with no reset +ShowProfIdInAddress=Show professionnal id with addresses on documents +ShowVATIntaInAddress=Hide VAT Intra num with addresses on documents +TranslationUncomplete=Partial translation +SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. +MenuUseLayout=Make vertical menu hidable (option javascript must not be disabled) +MAIN_DISABLE_METEO=Disable meteo view +TestLoginToAPI=Test login to API +ProxyDesc=Some features of Dolibarr need to have an Internet access to work. Define here parameters for this. If the Dolibarr server is behind a Proxy server, those parameters tells Dolibarr how to access Internet through it. +ExternalAccess=External access +MAIN_PROXY_USE=Use a proxy server (otherwise direct access to internet) +MAIN_PROXY_HOST=Name/Address of proxy server +MAIN_PROXY_PORT=Port of proxy server +MAIN_PROXY_USER=Login to use the proxy server +MAIN_PROXY_PASS=Password to use the proxy server +DefineHereComplementaryAttributes=Define here all attributes, not already available by default, and that you want to be supported for %s. +ExtraFields=Complementary attributes +ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) +ExtraFieldsThirdParties=Complementary attributes (thirdparty) +ExtraFieldsContacts=Complementary attributes (contact/address) +ExtraFieldsMember=Complementary attributes (member) +ExtraFieldsMemberType=Complementary attributes (member type) +ExtraFieldsCustomerOrders=Complementary attributes (orders) +ExtraFieldsCustomerInvoices=Complementary attributes (invoices) +ExtraFieldsSupplierOrders=Complementary attributes (orders) +ExtraFieldsSupplierInvoices=Complementary attributes (invoices) +ExtraFieldsProject=Complementary attributes (projects) +ExtraFieldsProjectTask=Complementary attributes (tasks) +ExtraFieldHasWrongValue=Attribute %s has a wrong value. +AlphaNumOnlyCharsAndNoSpace=only alphanumericals characters without space +AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +SendingMailSetup=Setup of sendings by email +SendmailOptionNotComplete=Warning, on some Linux systems, to send email from your email, sendmail execution setup must contains option -ba (parameter mail.force_extra_parameters into your php.ini file). If some recipients never receive emails, try to edit this PHP parameter with mail.force_extra_parameters = -ba). +PathToDocuments=Path to documents +PathDirectory=Directory +SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +TranslationSetup=Configuration de la traduction +TranslationDesc=Choice of language visible on screen can be modified:
* Globally from menu Home - Setup - Display
* For user only from tab User display of user card (click on login on top of screen). +TotalNumberOfActivatedModules=Total number of activated feature modules: %s +YouMustEnableOneModule=You must at least enable 1 module +ClassNotFoundIntoPathWarning=Class %s not found into PHP path +YesInSummer=Yes in summer +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): +SuhosinSessionEncrypt=Session storage encrypted by Suhosin +ConditionIsCurrently=Condition is currently %s +YouUseBestDriver=You use driver %s that is best driver available currently. +YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. +NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +SearchOptim=Search optimization +YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. +BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. +XDebugInstalled=XDebug is loaded. +XCacheInstalled=XCache is loaded. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". +FieldEdition=Edition of field %s +FixTZ=TimeZone fix +FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) +GetBarCode=Get barcode +EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +##### Module password generation +PasswordGenerationStandard=Return a password generated according to internal Dolibarr algorithm: 8 characters containing shared numbers and characters in lowercase. +PasswordGenerationNone=Do not suggest any generated password. Password must be type in manually. +##### Users setup ##### +UserGroupSetup=Users and groups module setup +GeneratePassword=Suggest a generated password +RuleForGeneratedPasswords=Rule to generate suggested passwords or validate passwords +DoNotSuggest=Do not suggest any password +EncryptedPasswordInDatabase=To allow the encryption of the passwords in the database +DisableForgetPasswordLinkOnLogonPage=Do not show the link "Forget password" on login page +UsersSetup=Users module setup +UserMailRequired=EMail required to create a new user +##### Company setup ##### +CompanySetup=Companies module setup +CompanyCodeChecker=Module for third parties code generation and checking (customer or supplier) +AccountCodeManager=Module for accountancy code generation (customer or supplier) +ModuleCompanyCodeAquarium=Return an accountancy code built by:
%s followed by third party supplier code for a supplier accountancy code,
%s followed by third party customer code for a customer accountancy code. +ModuleCompanyCodePanicum=Return an empty accountancy code. +ModuleCompanyCodeDigitaria=Accountancy code depends on third party code. The code is composed of the character "C" in the first position followed by the first 5 characters of the third party code. +UseNotifications=Use notifications NotificationsDesc=EMails notifications feature allows you to silently send automatic mail, for some Dolibarr events. Targets of notifications can be defined:
* per third parties contacts (customers or suppliers), one contact at time.
* or by setting global target email addresses in module setup page. +ModelModules=Documents templates +DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +WatermarkOnDraft=Watermark on draft document +JSOnPaimentBill=Activate feature to autofill payment lines on payment form +CompanyIdProfChecker=Rules on Professional Ids +MustBeUnique=Must be unique ? +MustBeMandatory=Mandatory to create third parties ? +MustBeInvoiceMandatory=Mandatory to validate invoices ? +Miscellaneous=Miscellaneous +##### Webcal setup ##### +WebCalSetup=Webcalendar link setup +WebCalSyncro=Add Dolibarr events to WebCalendar +WebCalAllways=Always, no asking +WebCalYesByDefault=On demand (yes by default) +WebCalNoByDefault=On demand (no by default) +WebCalNever=Never +WebCalURL=URL for calendar access +WebCalServer=Server hosting calendar database +WebCalDatabaseName=Database name +WebCalUser=User to access database +WebCalSetupSaved=Webcalendar setup saved successfully. +WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +WebCalTestKo2=Connection to server '%s' with user '%s' failed. +WebCalErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be a Webcalendar database. +WebCalAddEventOnCreateActions=Add calendar event on actions create +WebCalAddEventOnCreateCompany=Add calendar event on companies create +WebCalAddEventOnStatusPropal=Add calendar event on commercial proposals status change +WebCalAddEventOnStatusContract=Add calendar event on contracts status change +WebCalAddEventOnStatusBill=Add calendar event on bills status change +WebCalAddEventOnStatusMember=Add calendar event on members status change +WebCalUrlForVCalExport=An export link to %s format is available at following link: %s +WebCalCheckWebcalSetup=Maybe the Webcal module setup is not correct. +##### Invoices ##### +BillsSetup=Invoices module setup +BillsDate=Invoices date +BillsNumberingModule=Invoices and credit notes numbering model +BillsPDFModules=Invoice documents models +CreditNoteSetup=Credit note module setup +CreditNotePDFModules=Credit note document models +CreditNote=Credit note +CreditNotes=Credit notes +ForceInvoiceDate=Force invoice date to validation date +DisableRepeatable=Disable repeatable invoices +SuggestedPaymentModesIfNotDefinedInInvoice=Suggested payments mode on invoice by default if not defined for invoice +EnableEditDeleteValidInvoice=Enable the possibility to edit/delete valid invoice with no payment +SuggestPaymentByRIBOnAccount=Suggest payment by withdraw on account +SuggestPaymentByChequeToAddress=Suggest payment by cheque to +FreeLegalTextOnInvoices=Free text on invoices +WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +##### Proposals ##### +PropalSetup=Commercial proposals module setup +CreateForm=Create forms +NumberOfProductLines=Number of product lines +ProposalsNumberingModules=Commercial proposal numbering models +ProposalsPDFModules=Commercial proposal documents models +ClassifiedInvoiced=Classified invoiced +HideTreadedPropal=Hide the treated commercial proposals in the list +AddShippingDateAbility=Add shipping date ability +AddDeliveryAddressAbility=Add delivery date ability +UseOptionLineIfNoQuantity=A line of product/service with a zero amount is considered as an option +FreeLegalTextOnProposal=Free text on commercial proposals +WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Free text on price requests suppliers +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request +##### Orders ##### +OrdersSetup=Order management setup +OrdersNumberingModules=Orders numbering models +OrdersModelModule=Order documents models +HideTreadedOrders=Hide the treated or cancelled orders in the list +ValidOrderAfterPropalClosed=To validate the order after proposal closer, makes it possible not to step by the provisional order +FreeLegalTextOnOrders=Free text on orders +WatermarkOnDraftOrders=Watermark on draft orders (none if empty) +ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +##### Clicktodial ##### +ClickToDialSetup=Click To Dial module setup +ClickToDialUrlDesc=Url called when a click on phone picto is done. In URL, you can use tags
__PHONETO__ that will be replaced with the phone number of person to call
__PHONEFROM__ that will be replaced with phone number of calling person (yours)
__LOGIN__ that will be replaced with your clicktodial login (defined on your user card)
__PASS__ that will be replaced with your clicktodial password (defined on your user card). +##### Bookmark4u ##### +Bookmark4uSetup=Bookmark4u module setup +##### Interventions ##### +InterventionsSetup=Interventions module setup +FreeLegalTextOnInterventions=Free text on intervention documents +FicheinterNumberingModules=Intervention numbering models +TemplatePDFInterventions=Intervention card documents models +WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +##### Contracts ##### +ContractsSetup=Contracts/Subscriptions module setup +ContractsNumberingModules=Contracts numbering modules +TemplatePDFContracts=Contracts documents models +FreeLegalTextOnContracts=Free text on contracts +WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +##### Members ##### +MembersSetup=Members module setup +MemberMainOptions=Main options +AddSubscriptionIntoAccount=Suggest by default to create a bank transaction, in bank module, when adding a new payed subscription +AdherentLoginRequired= Manage a Login for each member +AdherentMailRequired=EMail required to create a new member +MemberSendInformationByMailByDefault=Checkbox to send mail confirmation to members (validation or new subscription) is on by default +##### LDAP setup ##### +LDAPSetup=LDAP Setup +LDAPGlobalParameters=Global parameters +LDAPUsersSynchro=Users +LDAPGroupsSynchro=Groups +LDAPContactsSynchro=Contacts +LDAPMembersSynchro=Members +LDAPSynchronization=LDAP synchronisation +LDAPFunctionsNotAvailableOnPHP=LDAP functions are not available on your PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Key in LDAP +LDAPSynchronizeUsers=Organization of users in LDAP +LDAPSynchronizeGroups=Organization of groups in LDAP +LDAPSynchronizeContacts=Organization of contacts in LDAP +LDAPSynchronizeMembers=Organization of foundation's members in LDAP +LDAPTypeExample=OpenLdap, Egroupware or Active Directory +LDAPPrimaryServer=Primary server +LDAPSecondaryServer=Secondary server +LDAPServerPort=Server port +LDAPServerPortExample=Default port : 389 +LDAPServerProtocolVersion=Protocol version +LDAPServerUseTLS=Use TLS +LDAPServerUseTLSExample=Your LDAP server use TLS +LDAPServerDn=Server DN +LDAPAdminDn=Administrator DN +LDAPAdminDnExample=Complete DN (ex: cn=admin,dc=example,dc=com) +LDAPPassword=Administrator password +LDAPUserDn=Users' DN +LDAPUserDnExample=Complete DN (ex: ou=users,dc=example,dc=com) +LDAPGroupDn=Groups' DN +LDAPGroupDnExample=Complete DN (ex: ou=groups,dc=example,dc=com) +LDAPServerExample=Server address (ex: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=Complete DN (ex: dc=example,dc=com) +LDAPPasswordExample=Admin password +LDAPDnSynchroActive=Users and groups synchronization +LDAPDnSynchroActiveExample=LDAP to Dolibarr or Dolibarr to LDAP synchronization +LDAPDnContactActive=Contacts' synchronization +LDAPDnContactActiveYes=Activated synchronization +LDAPDnContactActiveExample=Activated/Unactivated synchronization +LDAPDnMemberActive=Members' synchronization +LDAPDnMemberActiveExample=Activated/Unactivated synchronization +LDAPContactDn=Dolibarr contacts' DN +LDAPContactDnExample=Complete DN (ex: ou=contacts,dc=example,dc=com) +LDAPMemberDn=Dolibarr members DN +LDAPMemberDnExample=Complete DN (ex: ou=members,dc=example,dc=com) +LDAPMemberObjectClassList=List of objectClass +LDAPMemberObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPUserObjectClassList=List of objectClass +LDAPUserObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPGroupObjectClassList=List of objectClass +LDAPGroupObjectClassListExample=List of objectClass defining record attributes (ex: top,groupOfUniqueNames) +LDAPContactObjectClassList=List of objectClass +LDAPContactObjectClassListExample=List of objectClass defining record attributes (ex: top,inetOrgPerson or top,user for active directory) +LDAPMemberTypeDn=Dolibarr members type DN +LDAPMemberTypeDnExample=Complete DN (ex: ou=type_members,dc=example,dc=com) +LDAPTestConnect=Test LDAP connection +LDAPTestSynchroContact=Test contacts synchronization +LDAPTestSynchroUser=Test user synchronization +LDAPTestSynchroGroup=Test group synchronization +LDAPTestSynchroMember=Test member synchronization +LDAPTestSearch= Test a LDAP search +LDAPSynchroOK=Synchronization test successful +LDAPSynchroKO=Failed synchronization test +LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates +LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) +LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) +LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindFailed=Disconnect failed +LDAPConnectToDNSuccessfull=Connection to DN (%s) successful +LDAPConnectToDNFailed=Connection to DN (%s) failed +LDAPSetupForVersion3=LDAP server configured for version 3 +LDAPSetupForVersion2=LDAP server configured for version 2 +LDAPDolibarrMapping=Dolibarr Mapping +LDAPLdapMapping=LDAP Mapping +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Example : uid +LDAPFilterConnection=Search filter +LDAPFilterConnectionExample=Example : &(objectClass=inetOrgPerson) +LDAPFieldLoginSamba=Login (samba, activedirectory) +LDAPFieldLoginSambaExample=Example : samaccountname +LDAPFieldFullname=Full name +LDAPFieldFullnameExample=Example : cn +LDAPFieldPassword=Password +LDAPFieldPasswordNotCrypted=Password not crypted +LDAPFieldPasswordCrypted=Password crypted +LDAPFieldPasswordExample=Example : userPassword +LDAPFieldCommonName=Common name +LDAPFieldCommonNameExample=Example : cn +LDAPFieldName=Name +LDAPFieldNameExample=Example : sn +LDAPFieldFirstName=First name +LDAPFieldFirstNameExample=Example : givenName +LDAPFieldMail=Email address +LDAPFieldMailExample=Example : mail +LDAPFieldPhone=Professional phone number +LDAPFieldPhoneExample=Example : telephonenumber +LDAPFieldHomePhone=Personal phone number +LDAPFieldHomePhoneExample=Example : homephone +LDAPFieldMobile=Cellular phone +LDAPFieldMobileExample=Example : mobile +LDAPFieldFax=Fax number +LDAPFieldFaxExample=Example : facsimiletelephonenumber +LDAPFieldAddress=Street +LDAPFieldAddressExample=Example : street +LDAPFieldZip=Zip +LDAPFieldZipExample=Example : postalcode +LDAPFieldTown=Town +LDAPFieldTownExample=Example : l +LDAPFieldCountry=Country +LDAPFieldCountryExample=Example : c +LDAPFieldDescription=Description +LDAPFieldDescriptionExample=Example : description +LDAPFieldNotePublic=Public Note +LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldGroupMembers= Group members +LDAPFieldGroupMembersExample= Example : uniqueMember +LDAPFieldBirthdate=Birthdate +LDAPFieldBirthdateExample=Example : +LDAPFieldCompany=Company +LDAPFieldCompanyExample=Example : o +LDAPFieldSid=SID +LDAPFieldSidExample=Example : objectsid +LDAPFieldEndLastSubscription=Date of subscription end +LDAPFieldTitle=Post/Function +LDAPFieldTitleExample=Example: title +LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPSetupNotComplete=LDAP setup not complete (go on others tabs) +LDAPNoUserOrPasswordProvidedAccessIsReadOnly=No administrator or password provided. LDAP access will be anonymous and in read only mode. +LDAPDescContact=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr contacts. +LDAPDescUsers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr users. +LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr groups. +LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. +LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. +ForANonAnonymousAccess=For an authenticated access (for a write access for example) +PerfDolibarr=Performance setup/optimizing report +YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. +NotInstalled=Not installed, so your server is not slow down by this. +ApplicativeCache=Applicative cache +MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. +MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. +MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. +OPCodeCache=OPCode cache +NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). +HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) +FilesOfTypeCached=Files of type %s are cached by HTTP server +FilesOfTypeNotCached=Files of type %s are not cached by HTTP server +FilesOfTypeCompressed=Files of type %s are compressed by HTTP server +FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server +CacheByServer=Cache by server +CacheByClient=Cache by browser +CompressionOfResources=Compression of HTTP responses +TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +##### Products ##### +ProductSetup=Products module setup +ServiceSetup=Services module setup +ProductServiceSetup=Products and Services modules setup +NumberOfProductShowInSelect=Max number of products in combos select lists (0=no limit) +ConfirmDeleteProductLineAbility=Confirmation when removing product lines in forms +ModifyProductDescAbility=Personalization of product descriptions in forms +ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualization of products descriptions in the thirdparty language +UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. +UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseEcoTaxeAbility=Support Eco-Taxe (WEEE) +SetDefaultBarcodeTypeProducts=Default barcode type to use for products +SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units +ProductCodeChecker= Module for product code generation and checking (product or service) +ProductOtherConf= Product / Service configuration +##### Syslog ##### +SyslogSetup=Logs module setup +SyslogOutput=Logs outputs +SyslogSyslog=Syslog +SyslogFacility=Facility +SyslogLevel=Level +SyslogSimpleFile=File +SyslogFilename=File name and path +YouCanUseDOL_DATA_ROOT=You can use DOL_DATA_ROOT/dolibarr.log for a log file in Dolibarr "documents" directory. You can set a different path to store this file. +ErrorUnknownSyslogConstant=Constant %s is not a known Syslog constant +OnlyWindowsLOG_USER=Windows only supports LOG_USER +##### Donations ##### +DonationsSetup=Donation module setup +DonationsReceiptModel=Template of donation receipt +##### Barcode ##### +BarcodeSetup=Barcode setup +PaperFormatModule=Print format module +BarcodeEncodeModule=Barcode encoding type +UseBarcodeInProductModule=Use bar codes for products +CodeBarGenerator=Barcode generator +ChooseABarCode=No generator defined +FormatNotSupportedByGenerator=Format not supported by this generator +BarcodeDescEAN8=Barcode of type EAN8 +BarcodeDescEAN13=Barcode of type EAN13 +BarcodeDescUPC=Barcode of type UPC +BarcodeDescISBN=Barcode of type ISBN +BarcodeDescC39=Barcode of type C39 +BarcodeDescC128=Barcode of type C128 +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=Withdrawal module setup +##### ExternalRSS ##### +ExternalRSSSetup=External RSS imports setup +NewRSS=New RSS Feed +RSSUrl=RSS URL +RSSUrlExample=An interesting RSS feed +##### Mailing ##### +MailingSetup=EMailing module setup +MailingEMailFrom=Sender EMail (From) for emails sent by emailing module +MailingEMailError=Return EMail (Errors-to) for emails with errors +MailingDelay=Seconds to wait after sending next message +##### Notification ##### +NotificationSetup=EMail notification module setup +NotificationEMailFrom=Sender EMail (From) for emails sent for notifications +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Fixed email target +##### Sendings ##### +SendingsSetup=Sending module setup +SendingsReceiptModel=Sending receipt model +SendingsNumberingModules=Sendings numbering modules +SendingsAbility=Support shipment sheets for customer deliveries +NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. +FreeLegalTextOnShippings=Free text on shipments +##### Deliveries ##### +DeliveryOrderNumberingModules=Products deliveries receipt numbering module +DeliveryOrderModel=Products deliveries receipt model +DeliveriesOrderAbility=Support products deliveries receipts +FreeLegalTextOnDeliveryReceipts=Free text on delivery receipts +##### FCKeditor ##### +AdvancedEditor=Advanced editor +ActivateFCKeditor=Activate advanced editor for: +FCKeditorForCompany=WYSIWIG creation/edition of elements description and note (except products/services) +FCKeditorForProduct=WYSIWIG creation/edition of products/services description and note +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= WYSIWIG creation/edition for mass eMailings (Tools->eMailing) +FCKeditorForUserSignature=WYSIWIG creation/edition of user signature +FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +##### OSCommerce 1 ##### +OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). +OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. +OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. +OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. +##### Stock ##### +StockSetup=Warehouse module setup +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. +##### Menu ##### +MenuDeleted=Menu deleted +TreeMenu=Tree menus +Menus=Menus +TreeMenuPersonalized=Personalized menus +NewMenu=New menu +MenuConf=Menus setup +Menu=Selection of menu +MenuHandler=Menu handler +MenuModule=Source module +HideUnauthorizedMenu= Hide unauthorized menus (gray) +DetailId=Id menu +DetailMenuHandler=Menu handler where to show new menu +DetailMenuModule=Module name if menu entry come from a module +DetailType=Type of menu (top or left) +DetailTitre=Menu label or label code for translation +DetailMainmenu=Group for which it belongs (obsolete) +DetailUrl=URL where menu send you (Absolute URL link or external link with http://) +DetailLeftmenu=Display condition or not (obsolete) +DetailEnabled=Condition to show or not entry +DetailRight=Condition to display unauthorized grey menus +DetailLangs=Lang file name for label code translation +DetailUser=Intern / Extern / All +Target=Target +DetailTarget=Target for links (_blank top open a new window) +DetailLevel=Level (-1:top menu, 0:header menu, >0 menu and sub menu) +ModifMenu=Menu change +DeleteMenu=Delete menu entry +ConfirmDeleteMenu=Are you sure you want to delete menu entry %s ? +DeleteLine=Delete line +ConfirmDeleteLine=Are you sure you want to delete this line ? +##### Tax ##### +TaxSetup=Taxes, social contributions and dividends module setup +OptionVatMode=VAT due +OptionVATDefault=Cash basis +OptionVATDebitOption=Accrual basis +OptionVatDefaultDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on payments for services +OptionVatDebitOptionDesc=VAT is due:
- on delivery for goods (we use invoice date)
- on invoice (debit) for services +SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +OnDelivery=On delivery +OnPayment=On payment +OnInvoice=On invoice +SupposedToBePaymentDate=Payment date used +SupposedToBeInvoiceDate=Invoice date used +Buy=Buy +Sell=Sell +InvoiceDateUsed=Invoice date used +YourCompanyDoesNotUseVAT=Your company has been defined to not use VAT (Home - Setup - Company/Foundation), so there is no VAT options to setup. +AccountancyCode=Accountancy Code +AccountancyCodeSell=Sale account. code +AccountancyCodeBuy=Purchase account. code +##### Agenda ##### +AgendaSetup=Events and agenda module setup +PasswordTogetVCalExport=Key to authorize export link +PastDelayVCalExport=Do not export event older than +AGENDA_USE_EVENT_TYPE=Use events types (managed into menu Setup -> Dictionary -> Type of agenda events) +AGENDA_DEFAULT_FILTER_TYPE=Set automatically this type of event into search filter of agenda view +AGENDA_DEFAULT_FILTER_STATUS=Set automatically this status for events into search filter of agenda view +AGENDA_DEFAULT_VIEW=Which tab do you want to open by default when selecting menu Agenda +##### ClickToDial ##### +ClickToDialDesc=This module allows to add an icon after phone numbers. A click on this icon will call a server with a particular URL you define below. This can be used to call a call center system from Dolibarr that can call the phone number on a SIP system for example. +##### Point Of Sales (CashDesk) ##### +CashDesk=Point of sales +CashDeskSetup=Point of sales module setup +CashDeskThirdPartyForSell=Default generic third party to use for sells +CashDeskBankAccountForSell=Default account to use to receive cash payments +CashDeskBankAccountForCheque= Default account to use to receive payments by cheque +CashDeskBankAccountForCB= Default account to use to receive payments by credit cards CashDeskDoNotDecreaseStock=Disable stock decrease when a sell is done from Point of Sale (if "no", stock decrease is done for each sell done from POS, whatever is option set into module Stock). +CashDeskIdWareHouse=Force and restrict warehouse to use for stock decrease +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### +BookmarkSetup=Bookmark module setup +BookmarkDesc=This module allows you to manage bookmarks. You can also add shortcuts to any Dolibarr pages or externale web sites on your left menu. +NbOfBoomarkToShow=Maximum number of bookmarks to show in left menu +##### WebServices ##### +WebServicesSetup=Webservices module setup +WebServicesDesc=By enabling this module, Dolibarr become a web service server to provide miscellaneous web services. +WSDLCanBeDownloadedHere=WSDL descriptor files of provided services can be download here +EndPointIs=SOAP clients must send their requests to the Dolibarr endpoint available at Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed +##### Bank ##### +BankSetupModule=Bank module setup +FreeLegalTextOnChequeReceipts=Free text on cheque receipts +BankOrderShow=Display order of bank accounts for countries using "detailed bank number" +BankOrderGlobal=General +BankOrderGlobalDesc=General display order +BankOrderES=Spanish +BankOrderESDesc=Spanish display order +##### Multicompany ##### +MultiCompanySetup=Multi-company module setup +##### Suppliers ##### +SuppliersSetup=Supplier module setup +SuppliersCommandModel=Complete template of supplier order (logo...) +SuppliersInvoiceModel=Complete template of supplier invoice (logo...) +SuppliersInvoiceNumberingModel=Supplier invoices numbering models +IfSetToYesDontForgetPermission=If set to yes, 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 +NoteOnPathLocation=Note that your ip to country data file must be inside a directory your PHP can read (Check your PHP open_basedir setup and filesystem permissions). +YouCanDownloadFreeDatFileTo=You can download a free demo version of the Maxmind GeoIP country file at %s. +YouCanDownloadAdvancedDatFileTo=You can also download a more complete version, with updates, of the Maxmind GeoIP country file at %s. +TestGeoIPResult=Test of a conversion IP -> country +##### Projects ##### +ProjectsNumberingModules=Projects numbering module +ProjectsSetup=Project module setup +ProjectsModelModule=Project reports document model +TasksNumberingModules=Tasks numbering module +TaskModelModule=Tasks reports document model +##### ECM (GED) ##### +ECMSetup = GED Setup +ECMAutoTree = Automatic tree folder and document +##### Fiscal Year ##### +FiscalYears=Fiscal years +FiscalYear=Fiscal year +FiscalYearCard=Fiscal year card +NewFiscalYear=New fiscal year +EditFiscalYear=Edit fiscal year +OpenFiscalYear=Open fiscal year +CloseFiscalYear=Close fiscal year +DeleteFiscalYear=Delete fiscal year +ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? +Opened=Open +Closed=Closed +AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) +NbMajMin=Minimum number of uppercase characters +NbNumMin=Minimum number of numeric characters +NbSpeMin=Minimum number of special characters +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Setup of module salaries +SortOrder=Sort order +Format=Format +TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +IncludePath=Include path (defined into variable %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. +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". +ListOfNotificationsPerContact=List of notifications per contact* +ListOfFixedNotifications=List of fixed notifications +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Wizard to build database backup dump file +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 only manual steps a privileged user can do. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/fr_CA/cron.lang b/htdocs/langs/fr_CA/cron.lang index 3f755fc725d..f4a33f42b6b 100644 --- a/htdocs/langs/fr_CA/cron.lang +++ b/htdocs/langs/fr_CA/cron.lang @@ -1,3 +1,88 @@ # Dolibarr language file - Source file is en_US - cron +# About page +About = About +CronAbout = About Cron +CronAboutPage = 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 cron jobs if required +OrToLaunchASpecificJob=Or to check and launch a specific job +KeyForCronAccess=Security key for URL to launch cron jobs +FileToLaunchCronJobs=Command line to launch cron jobs CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes +# Menu +CronJobs=Scheduled jobs +CronListActive=List of active/scheduled jobs +CronListInactive=List of disabled jobs +# Page list +CronDateLastRun=Last run +CronLastOutput=Last run output +CronLastResult=Last result code +CronListOfCronJobs=List of scheduled jobs +CronCommand=Command +CronList=Scheduled jobs +CronDelete=Delete scheduled jobs +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? +CronExecute=Launch scheduled jobs +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? +CronInfo=Scheduled job module allow to execute job that have been planned +CronWaitingJobs=Waiting jobs +CronTask=Job +CronNone=None +CronDtStart=Start date +CronDtEnd=End date +CronDtNextLaunch=Next execution +CronDtLastLaunch=Last execution +CronFrequency=Frequency +CronClass=Class +CronMethod=Method +CronModule=Module +CronAction=Action +CronStatus=Status +CronStatusActive=Enabled +CronStatusInactive=Disabled +CronNoJobs=No jobs registered +CronPriority=Priority +CronLabel=Description +CronNbRun=Nb. launch +CronEach=Every +JobFinished=Job launched and finished +#Page card +CronAdd= Add jobs +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create +CronArgs=Parameters +CronSaveSucess=Save succesfully +CronNote=Comment +CronFieldMandatory=Fields %s is mandatory +CronErrEndDateStartDt=End date cannot be before start date +CronStatusActiveBtn=Enable +CronStatusInactiveBtn=Disable +CronTaskInactive=This job is disabled +CronDtLastResult=Last result date +CronId=Id +CronClassFile=Classes (filename.class.php) +CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product +CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php +CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product +CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth +CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef +CronCommandHelp=The system command line to execute. +CronCreateJob=Create new Scheduled Job +# Info +CronInfoPage=Information +# Common +CronType=Job type +CronType_method=Call method of a Dolibarr Class +CronType_command=Shell command +CronMenu=Cron +CronCannotLoadClass=Cannot load class %s or object %s +UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +TaskDisabled=Job disabled diff --git a/htdocs/langs/fr_CA/main.lang b/htdocs/langs/fr_CA/main.lang index 2e691473326..b8eb245ac6f 100644 --- a/htdocs/langs/fr_CA/main.lang +++ b/htdocs/langs/fr_CA/main.lang @@ -1,5 +1,9 @@ # 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=. @@ -19,3 +23,719 @@ FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p +DatabaseConnection=Database connection +NoTranslation=No translation +NoRecordFound=No record found +NoError=No error +Error=Error +ErrorFieldRequired=Field '%s' is required +ErrorFieldFormat=Field '%s' has a bad value +ErrorFileDoesNotExists=File %s does not exist +ErrorFailedToOpenFile=Failed to open file %s +ErrorCanNotCreateDir=Can not create dir %s +ErrorCanNotReadDir=Can not read dir %s +ErrorConstantNotDefined=Parameter %s not defined +ErrorUnknown=Unknown error +ErrorSQL=SQL Error +ErrorLogoFileNotFound=Logo file '%s' was not found +ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this +ErrorGoToModuleSetup=Go to Module setup to fix this +ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) +ErrorAttachedFilesDisabled=File attaching is disabled on this server +ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. +ErrorInternalErrorDetected=Error detected +ErrorNoRequestRan=No request ran +ErrorWrongHostParameter=Wrong host parameter +ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. +ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. +ErrorWrongValue=Wrong value +ErrorWrongValueForParameterX=Wrong value for parameter %s +ErrorNoRequestInError=No request in error +ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. +ErrorDuplicateField=Duplicate value in a unique field +ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. +ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. +ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. +ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. +ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. +ErrorFailedToSaveFile=Error, failed to save file. +SetDate=Set date +SelectDate=Select a date +SeeAlso=See also %s +SeeHere=See here +BackgroundColorByDefault=Default background color +FileNotUploaded=The file was not uploaded +FileUploaded=The file was successfully uploaded +FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. +NbOfEntries=Nb of entries +GoToWikiHelpPage=Read online help (need Internet access) +GoToHelpPage=Read help +RecordSaved=Record saved +RecordDeleted=Record deleted +LevelOfFeature=Level of features +NotDefined=Not defined +DefinedAndHasThisValue=Defined and value to +IsNotDefined=undefined +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. +Administrator=Administrator +Undefined=Undefined +PasswordForgotten=Password forgotten ? +SeeAbove=See above +HomeArea=Home area +LastConnexion=Last connection +PreviousConnexion=Previous connection +ConnectedOnMultiCompany=Connected on environment +ConnectedSince=Connected since +AuthenticationMode=Authentification mode +RequestedUrl=Requested Url +DatabaseTypeManager=Database type manager +RequestLastAccess=Request for last database access +RequestLastAccessInError=Request for last database access in error +ReturnCodeLastAccessInError=Return code for last database access in error +InformationLastAccessInError=Information for last database access in error +DolibarrHasDetectedError=Dolibarr has detected a technical error +InformationToHelpDiagnose=This is information that can help diagnostic +MoreInformation=More information +TechnicalInformation=Technical information +NotePublic=Note (public) +NotePrivate=Note (private) +PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. +DoTest=Test +ToFilter=Filter +WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. +yes=yes +Yes=Yes +no=no +No=No +All=All +Home=Home +Help=Help +OnlineHelp=Online help +PageWiki=Wiki page +Always=Always +Never=Never +Under=under +Period=Period +PeriodEndDate=End date for period +Activate=Activate +Activated=Activated +Closed=Closed +Closed2=Closed +Enabled=Enabled +Deprecated=Deprecated +Disable=Disable +Disabled=Disabled +Add=Add +AddLink=Add link +Update=Update +AddActionToDo=Add event to do +AddActionDone=Add event done +Close=Close +Close2=Close +Confirm=Confirm +ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? +Delete=Delete +Remove=Remove +Resiliate=Resiliate +Cancel=Cancel +Modify=Modify +Edit=Edit +Validate=Validate +ValidateAndApprove=Validate and Approve +ToValidate=To validate +Save=Save +SaveAs=Save As +TestConnection=Test connection +ToClone=Clone +ConfirmClone=Choose data you want to clone : +NoCloneOptionsSpecified=No data to clone defined. +Of=of +Go=Go +Run=Run +CopyOf=Copy of +Show=Show +ShowCardHere=Show card +Search=Search +SearchOf=Search +Valid=Valid +Approve=Approve +Disapprove=Disapprove +ReOpen=Re-Open +Upload=Send file +ToLink=Link +Select=Select +Choose=Choose +ChooseLangage=Please choose your language +Resize=Resize +Recenter=Recenter +Author=Author +User=User +Users=Users +Group=Group +Groups=Groups +NoUserGroupDefined=No user group defined +Password=Password +PasswordRetype=Retype your password +NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. +Name=Name +Person=Person +Parameter=Parameter +Parameters=Parameters +Value=Value +GlobalValue=Global value +PersonalValue=Personal value +NewValue=New value +CurrentValue=Current value +Code=Code +Type=Type +Language=Language +MultiLanguage=Multi-language +Note=Note +CurrentNote=Current note +Title=Title +Label=Label +RefOrLabel=Ref. or label +Info=Log +Family=Family +Description=Description +Designation=Description +Model=Model +DefaultModel=Default model +Action=Event +About=About +Number=Number +NumberByMonth=Number by month +AmountByMonth=Amount by month +Numero=Number +Limit=Limit +Limits=Limits +DevelopmentTeam=Development Team +Logout=Logout +NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +Connection=Connection +Setup=Setup +Alert=Alert +Previous=Previous +Next=Next +Cards=Cards +Card=Card +Now=Now +HourStart=Start hour +Date=Date +DateAndHour=Date and hour +DateStart=Date start +DateEnd=Date end +DateCreation=Creation date +DateModification=Modification date +DateModificationShort=Modif. date +DateLastModification=Last modification date +DateValidation=Validation date +DateClosing=Closing date +DateDue=Due date +DateValue=Value date +DateValueShort=Value date +DateOperation=Operation date +DateOperationShort=Oper. Date +DateLimit=Limit date +DateRequest=Request date +DateProcess=Process date +DatePlanShort=Date planed +DateRealShort=Date real. +DateBuild=Report build date +DatePayment=Date of payment +DateApprove=Approving date +DateApprove2=Approving date (second approval) +DurationYear=year +DurationMonth=month +DurationWeek=week +DurationDay=day +DurationYears=years +DurationMonths=months +DurationWeeks=weeks +DurationDays=days +Year=Year +Month=Month +Week=Week +Day=Day +Hour=Hour +Minute=Minute +Second=Second +Years=Years +Months=Months +Days=Days +days=days +Hours=Hours +Minutes=Minutes +Seconds=Seconds +Weeks=Weeks +Today=Today +Yesterday=Yesterday +Tomorrow=Tomorrow +Morning=Morning +Afternoon=Afternoon +Quadri=Quadri +MonthOfDay=Month of the day +HourShort=H +MinuteShort=mn +Rate=Rate +UseLocalTax=Include tax +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cut +Copy=Copy +Paste=Paste +Default=Default +DefaultValue=Default value +DefaultGlobalValue=Global value +Price=Price +UnitPrice=Unit price +UnitPriceHT=Unit price (net) +UnitPriceTTC=Unit price +PriceU=U.P. +PriceUHT=U.P. (net) +AskPriceSupplierUHT=U.P. net Requested +PriceUTTC=U.P. +Amount=Amount +AmountInvoice=Invoice amount +AmountPayment=Payment amount +AmountHTShort=Amount (net) +AmountTTCShort=Amount (inc. tax) +AmountHT=Amount (net of tax) +AmountTTC=Amount (inc. tax) +AmountVAT=Amount tax +AmountLT1=Amount tax 2 +AmountLT2=Amount tax 3 +AmountLT1ES=Amount RE +AmountLT2ES=Amount IRPF +AmountTotal=Total amount +AmountAverage=Average amount +PriceQtyHT=Price for this quantity (net of tax) +PriceQtyMinHT=Price quantity min. (net of tax) +PriceQtyTTC=Price for this quantity (inc. tax) +PriceQtyMinTTC=Price quantity min. (inc. of tax) +Percentage=Percentage +Total=Total +SubTotal=Subtotal +TotalHTShort=Total (net) +TotalTTCShort=Total (inc. tax) +TotalHT=Total (net of tax) +TotalHTforthispage=Total (net of tax) for this page +TotalTTC=Total (inc. tax) +TotalTTCToYourCredit=Total (inc. tax) to your credit +TotalVAT=Total tax +TotalLT1=Total tax 2 +TotalLT2=Total tax 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF +IncludedVAT=Included tax +HT=Net of tax +TTC=Inc. tax +VAT=Sales tax +LT1ES=RE +LT2ES=IRPF +VATRate=Tax Rate +Average=Average +Sum=Sum +Delta=Delta +Module=Module +Option=Option +List=List +FullList=Full list +Statistics=Statistics +OtherStatistics=Other statistics +Status=Status +Favorite=Favorite +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern +RefSupplier=Ref. supplier +RefPayment=Ref. payment +CommercialProposalsShort=Commercial proposals +Comment=Comment +Comments=Comments +ActionsToDo=Events to do +ActionsDone=Events done +ActionsToDoShort=To do +ActionsRunningshort=Started +ActionsDoneShort=Done +ActionNotApplicable=Not applicable +ActionRunningNotStarted=To start +ActionRunningShort=Started +ActionDoneShort=Finished +ActionUncomplete=Uncomplete +CompanyFoundation=Company/Foundation +ContactsForCompany=Contacts for this third party +ContactsAddressesForCompany=Contacts/addresses for this third party +AddressesForCompany=Addresses for this third party +ActionsOnCompany=Events about this third party +ActionsOnMember=Events about this member +NActions=%s events +NActionsLate=%s late +RequestAlreadyDone=Request already recorded +Filter=Filter +RemoveFilter=Remove filter +ChartGenerated=Chart generated +ChartNotGenerated=Chart not generated +GeneratedOn=Build on %s +Generate=Generate +Duration=Duration +TotalDuration=Total duration +Summary=Summary +MyBookmarks=My bookmarks +OtherInformationsBoxes=Other information boxes +DolibarrBoard=Dolibarr board +DolibarrStateBoard=Statistics +DolibarrWorkBoard=Work tasks board +Available=Available +NotYetAvailable=Not yet available +NotAvailable=Not available +Popularity=Popularity +Categories=Tags/categories +Category=Tag/category +By=By +From=From +to=to +and=and +or=or +Other=Other +Others=Others +OtherInformations=Other informations +Quantity=Quantity +Qty=Qty +ChangedBy=Changed by +ApprovedBy=Approved by +ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused +ReCalculate=Recalculate +ResultOk=Success +ResultKo=Failure +Reporting=Reporting +Reportings=Reporting +Draft=Draft +Drafts=Drafts +Validated=Validated +Opened=Open +New=New +Discount=Discount +Unknown=Unknown +General=General +Size=Size +Received=Received +Paid=Paid +Topic=Sujet +ByCompanies=By third parties +ByUsers=By users +Links=Links +Link=Link +Receipts=Receipts +Rejects=Rejects +Preview=Preview +NextStep=Next step +PreviousStep=Previous step +Datas=Data +None=None +NoneF=None +Late=Late +Photo=Picture +Photos=Pictures +AddPhoto=Add picture +Login=Login +CurrentLogin=Current login +January=January +February=February +March=March +April=April +May=May +June=June +July=July +August=August +September=September +October=October +November=November +December=December +JanuaryMin=Jan +FebruaryMin=Feb +MarchMin=Mar +AprilMin=Apr +MayMin=May +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Oct +NovemberMin=Nov +DecemberMin=Dec +Month01=January +Month02=February +Month03=March +Month04=April +Month05=May +Month06=June +Month07=July +Month08=August +Month09=September +Month10=October +Month11=November +Month12=December +MonthShort01=Jan +MonthShort02=Feb +MonthShort03=Mar +MonthShort04=Apr +MonthShort05=May +MonthShort06=Jun +MonthShort07=Jul +MonthShort08=Aug +MonthShort09=Sep +MonthShort10=Oct +MonthShort11=Nov +MonthShort12=Dec +AttachedFiles=Attached files and documents +FileTransferComplete=File was uploaded successfuly +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Report name +ReportPeriod=Report period +ReportDescription=Description +Report=Report +Keyword=Mot clé +Legend=Legend +FillTownFromZip=Fill city from zip +Fill=Fill +Reset=Reset +ShowLog=Show log +File=File +Files=Files +NotAllowed=Not allowed +ReadPermissionNotAllowed=Read permission not allowed +AmountInCurrency=Amount in %s currency +Example=Example +Examples=Examples +NoExample=No example +FindBug=Report a bug +NbOfThirdParties=Number of third parties +NbOfCustomers=Number of customers +NbOfLines=Number of lines +NbOfObjects=Number of objects +NbOfReferers=Number of referrers +Referers=Refering objects +TotalQuantity=Total quantity +DateFromTo=From %s to %s +DateFrom=From %s +DateUntil=Until %s +Check=Check +Uncheck=Uncheck +Internal=Internal +External=External +Internals=Internal +Externals=External +Warning=Warning +Warnings=Warnings +BuildPDF=Build PDF +RebuildPDF=Rebuild PDF +BuildDoc=Build Doc +RebuildDoc=Rebuild Doc +Entity=Environment +Entities=Entities +EventLogs=Logs +CustomerPreview=Customer preview +SupplierPreview=Supplier preview +AccountancyPreview=Accountancy preview +ShowCustomerPreview=Show customer preview +ShowSupplierPreview=Show supplier preview +ShowAccountancyPreview=Show accountancy preview +ShowProspectPreview=Show prospect preview +RefCustomer=Ref. customer +Currency=Currency +InfoAdmin=Information for administrators +Undo=Undo +Redo=Redo +ExpandAll=Expand all +UndoExpandAll=Undo expand +Reason=Reason +FeatureNotYetSupported=Feature not yet supported +CloseWindow=Close window +Question=Question +Response=Response +Priority=Priority +SendByMail=Send by EMail +MailSentBy=Email sent by +TextUsedInTheMessageBody=Email body +SendAcknowledgementByMail=Send Ack. by email +NoEMail=No email +NoMobilePhone=No mobile phone +Owner=Owner +DetectedVersion=Detected version +FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. +Refresh=Refresh +BackToList=Back to list +GoBack=Go back +CanBeModifiedIfOk=Can be modified if valid +CanBeModifiedIfKo=Can be modified if not valid +RecordModifiedSuccessfully=Record modified successfully +RecordsModified=%s records modified +AutomaticCode=Automatic code +NotManaged=Not managed +FeatureDisabled=Feature disabled +MoveBox=Move box %s +Offered=Offered +NotEnoughPermissions=You don't have permission for this action +SessionName=Session name +Method=Method +Receive=Receive +PartialWoman=Partial +PartialMan=Partial +TotalWoman=Total +TotalMan=Total +NeverReceived=Never received +Canceled=Canceled +YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Color=Color +Documents=Linked files +DocumentsNb=Linked files (%s) +Documents2=Documents +BuildDocuments=Generated documents +UploadDisabled=Upload disabled +MenuECM=Documents +MenuAWStats=AWStats +MenuMembers=Members +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +NoFileFound=No documents saved in this directory +CurrentUserLanguage=Current language +CurrentTheme=Current theme +CurrentMenuManager=Current menu manager +DisabledModules=Disabled modules +For=For +ForCustomer=For customer +Signature=Signature +HidePassword=Show command with password hidden +UnHidePassword=Show real command with clear password +Root=Root +Informations=Informations +Page=Page +Notes=Notes +AddNewLine=Add new line +AddFile=Add file +ListOfFiles=List of available files +FreeZone=Free entry +FreeLineOfType=Free entry of type +CloneMainAttributes=Clone object with its main attributes +PDFMerge=PDF Merge +Merge=Merge +PrintContentArea=Show page to print main content area +MenuManager=Menu manager +NoMenu=No sub-menu +WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. +CoreErrorTitle=System error +CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. +CreditCard=Credit card +FieldsWithAreMandatory=Fields with %s are mandatory +FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. +AccordingToGeoIPDatabase=(according to GeoIP convertion) +Line=Line +NotSupported=Not supported +RequiredField=Required field +Result=Result +ToTest=Test +ValidateBefore=Card must be validated before using this feature +Visibility=Visibility +Private=Private +Hidden=Hidden +Resources=Resources +Source=Source +Prefix=Prefix +Before=Before +After=After +IPAddress=IP address +Frequency=Frequency +IM=Instant messaging +NewAttribute=New attribute +AttributeCode=Attribute code +OptionalFieldsSetup=Extra attributes setup +URLPhoto=URL of photo/logo +SetLinkToThirdParty=Link to another third party +CreateDraft=Create draft +SetToDraft=Back to draft +ClickToEdit=Click to edit +ObjectDeleted=Object %s deleted +ByCountry=By country +ByTown=By town +ByDate=By date +ByMonthYear=By month/year +ByYear=By year +ByMonth=By month +ByDay=By day +BySalesRepresentative=By sales representative +LinkedToSpecificUsers=Linked to a particular user contact +DeleteAFile=Delete a file +ConfirmDeleteAFile=Are you sure you want to delete file +NoResults=No results +SystemTools=System tools +ModulesSystemTools=Modules tools +Test=Test +Element=Element +NoPhotoYet=No pictures available yet +HomeDashboard=Home summary +Deductible=Deductible +from=from +toward=toward +Access=Access +HelpCopyToClipboard=Use Ctrl+C to copy to clipboard +SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") +OriginFileName=Original filename +SetDemandReason=Set source +SetBankAccount=Define Bank Account +AccountCurrency=Account Currency +ViewPrivateNote=View notes +XMoreLines=%s line(s) hidden +PublicUrl=Public URL +AddBox=Add box +SelectElementAndClickRefresh=Select an element and click Refresh +PrintFile=Print File %s +ShowTransaction=Show transaction +GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. +Deny=Deny +Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman +# Week day +Monday=Monday +Tuesday=Tuesday +Wednesday=Wednesday +Thursday=Thursday +Friday=Friday +Saturday=Saturday +Sunday=Sunday +MondayMin=Mo +TuesdayMin=Tu +WednesdayMin=We +ThursdayMin=Th +FridayMin=Fr +SaturdayMin=Sa +SundayMin=Su +Day1=Monday +Day2=Tuesday +Day3=Wednesday +Day4=Thursday +Day5=Friday +Day6=Saturday +Day0=Sunday +ShortMonday=M +ShortTuesday=T +ShortWednesday=W +ShortThursday=T +ShortFriday=F +ShortSaturday=S +ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index c931ab45d5b..70b6f62f2d2 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +ACCOUNTING_EXPORT_SEPARATORCSV=Séparateur de colonnes pour le fichier exporté +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Comptabilité Globalparameters=Paramètres globaux @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Longueur des comptes tiers ACCOUNTING_SELL_JOURNAL=Journal des ventes ACCOUNTING_PURCHASE_JOURNAL=Journal des achats -ACCOUNTING_BANK_JOURNAL=Journal de banque -ACCOUNTING_CASH_JOURNAL=Journal de caisse ACCOUNTING_MISCELLANEOUS_JOURNAL=Journal des opérations diverses +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Journal de paie ACCOUNTING_ACCOUNT_TRANSFER_CASH=Compte comptable de tranfert diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 393f7619e31..b2cbfccd85f 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -10,7 +10,7 @@ VersionUnknown=Inconnue VersionRecommanded=Recommandé FileCheck=Intégrité des fichiers FilesMissing=Fichiers manquants -FilesUpdated=Mettre à jour les fichiers +FilesUpdated=Fichiers modifiés FileCheckDolibarr=Vérifier l'intégrité des fichiers XmlNotFound=Fichier Xml d'intégrité de Dolibarr non trouvé SessionId=ID Session @@ -149,7 +149,6 @@ MenuForUsers=Menu pour les utilisateurs LangFile=Fichier .lang System=Système SystemInfo=Infos Système -SystemTools=Outils Système SystemToolsArea=Espace outils systèmes SystemToolsAreaDesc=Cet espace offre des fonctions d'administration diverses. Utilisez le menu pour choisir la fonctionnalité recherchée. Purge=Purger @@ -232,8 +231,8 @@ Security=Sécurité Passwords=Mots de passe DoNotStoreClearPassword=Ne pas stocker de mots de passe en clair dans la base (Activation recommandée) MainDbPasswordFileConfEncrypted=Chiffrer le mot de passe de la base dans le fichier conf.php (Activation recommandée) -InstrucToEncodePass=Pour chiffrer le mot de passe de la base dans le fichier de configuration conf.php, remplacer la ligne
$dolibarr_main_db_pass="...";
par
$dolibarr_main_db_pass="crypted:%s"; -InstrucToClearPass=Pour avoir le mot de passe de la base décodé (en clair) dans le fichier de configuration conf.php, remplacer dans ce fichier la ligne
$dolibarr_main_db_pass="crypted:..."
par
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=Pour avoir le mot de passe de la base encodé dans le fichier de configuration conf.php, remplacer dans ce fichier la ligne
$dolibarr_main_db_pass="...";
par
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=Pour avoir le mot de passe de la base décodé (en clair) dans le fichier de configuration conf.php, remplacer dans ce fichier la ligne
$dolibarr_main_db_pass="crypted:...";
par
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection des PDF générés (Activation NON recommandée, rend inopérante la génération de PDF de masse) ProtectAndEncryptPdfFilesDesc=La protection d'un document PDF laisse le document libre à la lecture et à l'impression avec tout logiciel de lecture PDF. Par contre, la modification et la copie deviennent impossible. Notez que, de plus, l'utilisation de cette option empêche la génération de PDF cumulés (comme pour le PDF global des impayés). Feature=Fonction @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Voici la procédure à suivre : ThisIsAlternativeProcessToFollow=Voici une procédure de configuration alternative StepNb=Étape %s FindPackageFromWebSite=Recherche le paquet qui répond à votre besoin (par exemple sur le site web %s). -DownloadPackageFromWebSite=Télécharger le package %s. -UnpackPackageInDolibarrRoot=Décompresser le paquet dans le répertoire dédié aux modules externes : %s +DownloadPackageFromWebSite=Télécharger le package (par exemple depuis le site web officiel %s) +UnpackPackageInDolibarrRoot=Décompressez le fichier du package dans le répertoire du serveur Dolibarr dédié aux modules externes: %s SetupIsReadyForUse=L'installation est terminée et Dolibarr est prêt à être utilisé avec le nouveau composant. NotExistsDirect=Il n'y a pas répertoire alternatif.
InfDirAlt=Depuis la version 3, il est possible de définir un répertoire alternatif qui vous permet de stocker dans le même endroit les modules et thèmes personnalisés.
Il suffit de créer un répertoire à la racine de Dolibarr (par exemple : custom).
InfDirExample=
Ensuite, déclarer dans le fichier conf.php:
$dolibarr_main_url_root_alt='http://monserveur/custom'
$dolibarr_main_document_root_alt='/repertoire/de/dolibarr/htdocs/custom'
*Ces lignes sont commentées par "#". Pour les décommenter, il suffit de supprimer le caractère. -YouCanSubmitFile=Sélectionner le module : +YouCanSubmitFile=Pour cette étape, vous pouvez soumettre votre package en utilisant cet outil: Sélectionner le fichier du module CurrentVersion=Version actuelle de Dolibarr CallUpdatePage=Aller à la page de mise à jour de la structure et des données de la base : %s. LastStableVersion=Dernière version stable disponible @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=La liste vient d'une table
Syntaxe:
nom_de_tab ExtrafieldParamHelpchkbxlst=La liste vient d'une table
Syntaxe: nom_de_table:nom_de_champ:id_champ::filtre
Exemple : c_typent:libelle:id::filter

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

Pour que la liste soit dépendante d'une autre :
c_typent:libelle:id:code_liste_parent|colonne_parent:filter LibraryToBuildPDF=Bibliothèque utilisée pour la génération des PDF WarningUsingFPDF=Attention : votre fichier conf.php contient la directive dolibarr_pdf_force_fpdf=1. Cela signifie que vous utilisez la librairie FPDF pour générer vos fichiers PDF. Cette librairie est ancienne et ne couvre pas de nombreuses fonctionnalités (Unicode, transparence des images, langues cyrilliques, arabes ou asiatiques...), aussi vous pouvez rencontrer des problèmes durant la génération des PDF.
Pour résoudre cela et avoir une prise en charge complète de PDF, vous pouvez télécharger la bibliothèque TCPDF puis commenter ou supprimer la ligne $dolibarr_pdf_force_fpdf=1, et ajouter à la place $dolibarr_lib_TCPDF_PATH='chemin_vers_TCPDF' -LocalTaxDesc=Certains pays appliquent 2 voire 3 taux sur chaque ligne de facture. Si c'est le cas, choisissez le type du deuxième et troisième taux et sa valeur. Les types possibles sont:
1 : taxe locale sur les produits et services hors tva (la taxe locale est calculée sur le montant hors taxe)
2 : taxe locale sur les produits et services avant tva (la taxe locale est appliquée sur le montant + tva)
3 : taxe locale uniquement sur les produits hors tva (la taxe locale est calculée sur le montant hors taxe)
4 : taxe locale uniquement sur les produits avant tva (la taxe locale est calculée sur le montant + tva)
5 : taxe locale uniquement sur les services hors tva (la taxe locale est calculée sur le montant hors taxe)
6 : taxe locale uniquement sur les service avant tva (la taxe locale est calculée sur le montant + tva) +LocalTaxDesc=Certains pays appliquent 2 voire 3 taux sur chaque ligne de facture. Si c'est le cas, choisissez le type du deuxième et troisième taux et sa valeur. Les types possibles sont:
1 : taxe locale sur les produits et services hors tva (la taxe locale est calculée sur le montant hors taxe)
2 : taxe locale sur les produits et services avant tva (la taxe locale est calculée sur le montant + tva)
3 : taxe locale uniquement sur les produits hors tva (la taxe locale est calculée sur le montant hors taxe)
4 : taxe locale uniquement sur les produits avant tva (la taxe locale est calculée sur le montant + tva)
5 : taxe locale uniquement sur les services hors tva (la taxe locale est calculée sur le montant hors taxe)
6 : taxe locale uniquement sur les service avant tva (la taxe locale est calculée sur le montant + tva) SMS=SMS LinkToTestClickToDial=Entrez un numéro de téléphone à appeler pour tester le lien d'appel « ClickToDial » pour l'utilisateur %s RefreshPhoneLink=Rafraichir lien @@ -492,8 +491,8 @@ Module400Name=Projets/Opportunités/Affaires Module400Desc=Gestion des projets, opportunités ou affaires. Vous pouvez ensuite assigner tous les autres éléments (facture, commande, proposition, intervention, ...) à ces projets et avoir une vue transverse depuis cette vue projet. Module410Name=Webcalendar Module410Desc=Interface avec le calendrier Webcalendar -Module500Name=Dépenses spéciales (taxes, charges, dividendes) -Module500Desc=Gestion des dépenses spéciales comme les taxes, charges sociales et dividendes +Module500Name=Dépenses spéciales +Module500Desc=Gestion des dépenses spéciales (taxes, charges, dividendes) Module510Name=Salaires Module510Desc=Gestion des paiements des salaires des employés Module520Name=Emprunt @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Gestion des actions (événements et tâches) et de l'agenda Module2500Name=Gestion électronique de documents Module2500Desc=Permet de stocker et administrer une base de documents -Module2600Name=WebServices -Module2600Desc=Active le serveur de Web Services de Dolibarr +Module2600Name=Services API (Web services SOAP) +Module2600Desc=Active le server SOAP Dolibarr fournissant des services API +Module2610Name=Services API (Web services REST) +Module2610Desc=Active le server REST Dolibarr fournissant des services API Module2650Name=WebServices (client) Module2650Desc=Activez les Web services client (Peut être utilisé pour pousser données/requêtes vers des serveurs externes. Commandes fournisseurs prises en charge seulement pour le moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origines des propales/commandes DictionaryAccountancyplan=Plan comptable DictionaryAccountancysystem=Modèles de plan comptable DictionaryEMailTemplates=Modèles des courriels +DictionaryUnits=Unités +DictionaryProspectStatus=Statuts de prospection SetupSaved=Configuration sauvegardée BackToModuleList=Retour liste des modules BackToDictionaryList=Retour liste des dictionnaires @@ -936,13 +939,14 @@ CompanyZip=Code postal CompanyTown=Ville CompanyCountry=Pays CompanyCurrency=Devise principale +CompanyObject=L'objet de la société Logo=Logo DoNotShow=Ne pas afficher 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=Afficher le lien "Signaler un défaut" +ShowBugTrackLink=Afficher lien "%s" ShowWorkBoard=Affiche le tableau de bord de travail sur la page accueil Alerts=Alertes Delays=Délais @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Nombre de décimales maximum pour les prix unitaires MAIN_MAX_DECIMALS_TOT=Nombre de décimales maximum pour les prix totaux MAIN_MAX_DECIMALS_SHOWN=Nombre de décimales maximum pour les montant affichés à l'écran (Mettre ... après ce nombre max si vous voulez voir ... quand le nombre est tronqué à l'affichage écran) MAIN_DISABLE_PDF_COMPRESSION=Utiliser la compression PDF pour les fichiers PDF générés. -MAIN_ROUNDING_RULE_TOT= Taille du pas des arrondis (pour les très rares pays qui arrondissent sur une autre base que la base 10) +MAIN_ROUNDING_RULE_TOT=Pas de la plage d'arrondi (pour les pays où l'arrondi se fait sur autre chose que la base 10. Par exemple, mettre 0,05 si l'arrondi se fait par pas de 0,05) UnitPriceOfProduct=Prix unitaire HT d'un produit TotalPriceAfterRounding=Prix total (HT/TVA/TTC) après arrondis ParameterActiveForNextInputOnly=Paramètre effectif pour les prochaines saisies uniquement @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Nombre total de modules fonctionnels activés: YouMustEnableOneModule=Vous devez activer au moins une fonctionnalité ClassNotFoundIntoPathWarning=La classe %s n'a pas été trouvée dans le chemin PHP YesInSummer=Oui en été -OnlyFollowingModulesAreOpenedToExternalUsers=Remarque, seuls les modules suivants sont ouverts aux utilisateurs externes (quelles que soient les permissions de ces utilisateurs) : +OnlyFollowingModulesAreOpenedToExternalUsers=Remarque, seuls les modules suivants sont ouverts aux utilisateurs externes (quelles qu'en soient les permissions de ces utilisateurs): SuhosinSessionEncrypt=Stockage des sessions chiffrées par Suhosin ConditionIsCurrently=La condition est actuellement %s YouUseBestDriver=Vous utilisez le driver %s qui est le driver recommandé actuellement. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Nombre maximum de produits dans les listes déroulan ConfirmDeleteProductLineAbility=Confirmation de suppression d'une ligne produit dans les formulaires ModifyProductDescAbility=Personnalisation des descriptions produits dans les formulaires ViewProductDescInFormAbility=Visualisation des descriptions produits dans les formulaires (sinon en tant que bulle d'aide) +MergePropalProductCard=Ajoute dans l'onglet Fichiers joints des produits/services, une option pour fusionner le document PDF du produit au PDF des propositions Azur si le produit/services est inclut dans la proposition. ViewProductDescInThirdpartyLanguageAbility=Visualisation des descriptions produits dans la langue du tiers UseSearchToSelectProductTooltip=Si vous avez un nombre important de produits (>100 000), vous pourrez améliorer les performances en positionnant la constante PRODUCT_DONOTSEARCH_ANYWHERE à 1 dans Configuration->Divers. La recherche sera alors limité au début des chaines. UseSearchToSelectProduct=Utilisez un champ avec auto-complétion pour choisir les produits (plutôt qu'une liste déroulante). UseEcoTaxeAbility=Prise en charge des éco-taxes (DEEE) SetDefaultBarcodeTypeProducts=Type de code-barre utilisé par défaut pour les produits SetDefaultBarcodeTypeThirdParties=Type de code-barre utilisé par défaut pour les tiers +UseUnits=Support des unités ProductCodeChecker= Modèles de numérotation des produits / services ProductOtherConf= Paramètres des produits / services ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=code-barres de type UPC BarcodeDescISBN=code-barres de type ISBN BarcodeDescC39=code-barres de type C39 BarcodeDescC128=code-barres de type C128 +BarcodeDescDATAMATRIX=Code barre de type Datamatrix +BarcodeDescQRCODE=Code-barre de type QR code GenbarcodeLocation=Outil de génération de code-barres en ligne de commande (utilisé par le moteur interne pour certains types de codes-barres). Doit être compatible avec "genbarcode".
Par exemple: /usr/local/bin/genbarcode BarcodeInternalEngine=Moteur interne BarCodeNumberManager=Gestionnaire pour la génération automatique de numéro de code-barre @@ -1552,6 +1560,13 @@ WebServicesSetup=Configuration du module Webservices WebServicesDesc=En activant ce module, Dolibarr devient aussi serveur de web services offrant des web services divers. WSDLCanBeDownloadedHere=Les descripteurs WSDL des services fournis peuvent être récupéré ici EndPointIs=Les clients SOAP doivent envoyer leur requêtes vers le point de sortie Dolibarr à l'URL +##### API #### +ApiSetup=Configuration du module API REST +ApiDesc=En activant ce module, Dolibarr devient aussi serveur de services API de type REST +KeyForApiAccess=Clé pour utiliser les API (paramètre "api_key") +ApiEndPointIs=Vous pouvez accéder aux API par l'URL +ApiExporerIs=Vous pouvez consulter la liste des API par l'URL +OnlyActiveElementsAreExposed=Seuls les éléments en rapport avec un module actif sont présentés. ##### Bank ##### BankSetupModule=Configuration du module Banque FreeLegalTextOnChequeReceipts=Mention complémentaire sur les bordereaux de remises de chèques @@ -1594,7 +1609,7 @@ OpenFiscalYear=Ouvrir année fiscale CloseFiscalYear=Fermer année fiscale DeleteFiscalYear=Effacer année fiscale ConfirmDeleteFiscalYear=Êtes-vous sûr de vouloir supprimer cette année fiscale ? -Opened=Ouverte +Opened=Ouvert Closed=Clôturé AlwaysEditable=Peut toujours être édité MAIN_APPLICATION_TITLE=Forcer la valeur visible du nom de l'application (attention : positionner ici son propre nom rendra inopérante la fonction de remplissage automatique de l'identifiant lorsque vous utilisez l'application mobile DoliDroid) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=L'installation de module externe est impo SomethingMakeInstallFromWebNotPossible2=Pour cette raison, le processus de mise à jour décrit ici est uniquement une série de manipulations que seul un utilisateur ayant des droits privilégiés peut faire InstallModuleFromWebHasBeenDisabledByFile=L'installation de module externe depuis l'application a été désactivé par l'administrator. Vous devez lui demander de supprimer le fichier %s pour permettre cette fonctionnalité. ConfFileMuseContainCustom=Installé un module externe pour l'application enregistre les fichiers de module dans le répertoire %s. Pour avoir ce répertoire vu par Dolibarr, vous devez configurer votre conf/conf.php d'avoir l'option
- $dolibarr_main_url_root_alt activé à la valeur $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt activé à la valeur "%s/custom" +HighlightLinesOnMouseHover=Mettez en surbrillance les lignes de la table lorsque la souris passe au-dessus +PressF5AfterChangingThis=Appuyez sur F5 sur le clavier après avoir modifié cette valeur pour que le changement soit effectif +NotSupportedByAllThemes=Fonctionne avec le thème eldy mais n'est pas pris en charge par tous les thèmes diff --git a/htdocs/langs/fr_FR/agenda.lang b/htdocs/langs/fr_FR/agenda.lang index bd4709d1649..3290a930d37 100644 --- a/htdocs/langs/fr_FR/agenda.lang +++ b/htdocs/langs/fr_FR/agenda.lang @@ -96,3 +96,5 @@ AddEvent=Créer un événement MyAvailability=Ma disponibilité ActionType=Type événement DateActionBegin=Date début événément +CloneAction=Cloner événement +ConfirmCloneAction=Êtes-vous sûr de vouloir cloner l'événement %s ? \ No newline at end of file diff --git a/htdocs/langs/fr_FR/askpricesupplier.lang b/htdocs/langs/fr_FR/askpricesupplier.lang new file mode 100644 index 00000000000..50ba0c96d8d --- /dev/null +++ b/htdocs/langs/fr_FR/askpricesupplier.lang @@ -0,0 +1,57 @@ +# Dolibarr language file - Source file is en_US - askpricesupplier +AskPriceSupplier=Proposition commerciales fournisseurs +askpricesupplierDESC=Gestion des demandes de prix aux fournisseurs +askpricesupplierMENU_LEFT_TITLE=Demandes de prix fourn. +askpricesupplierMENU_LEFT_TITLE_NEW=Nouvelle demande +askpricesupplierMENU_LEFT_TITLE_LIST=Liste +CommRequest=Demande de prix +CommRequests=Demandes de prix +SearchRequest=Rechercher une demande +DraftRequests=Demandes brouillons +LastModifiedRequests=Les %s dernières demandes de prix modifiées +RequestsOpened=Demandes de prix ouvertes +AskPriceSupplierArea=Espace des demandes de prix fournisseurs +Askpricesupplier=Demande de prix fournisseur +NewAskPrice=Nouvelle demande de prix +NewAsk=Nouvelle demande +ShowAskpricesupplier=Afficher la demande de prix +AddAskPriceSupplier=Créer une demande de prix +AskPriceSupplierRefFourn=Réf. fournisseur +AskPriceSupplierDate=Date de livraison +AskPriceSupplierRefFournNotice=Avant de clôturer à "Acceptée", pensez à saisir les références fournisseurs. +RelatedAskPriceSupplier=Demandes de prix fournisseurs associées +ConfirmValidateAsk=Êtes-vous sûr de vouloir valider cette demande de prix sous la référence %s ? +DateAsk=Date de demande +DeleteAsk=Supprimer demande +ValidateAsk=Valider demande +AddAsk=Créer une demande +AskpricesupplierDraft=Brouillons +AskpricesupplierOpened=Ouvertes +AskpricesupplierStatusDraft=Brouillon (à valider) +AskpricesupplierStatusValidated=Validée (demande ouverte) +AskpricesupplierStatusOpened=Validée (demande ouverte) +AskpricesupplierStatusClosed=Fermée +AskpricesupplierStatusSigned=Acceptée +AskpricesupplierStatusNotSigned=Refusée +AskpricesupplierStatusDraftShort=Brouillon +AskpricesupplierStatusValidatedShort=Validée +AskpricesupplierStatusOpenedShort=Ouverte +AskpricesupplierStatusClosedShort=Fermée +AskpricesupplierStatusSignedShort=Acceptée +AskpricesupplierStatusNotSignedShort=Refusée +CopyAskFrom=Créer demande/devis par recopie d'une demande existante +CreateEmptyAsk=Créer demande/devis vierge +CloneAsk=Cloner demande de prix +ConfirmCloneAsk=Êtes-vous sûr de vouloir cloner la demande de prix %s ? +ConfirmReOpenAsk=Êtes-vous sûr de vouloir réouvrir la demande de prix %s ? +SendAskByMail=Envoyer demande de prix par email +SendAskRef=Envoi de la demande de prix %s +AskPriceSupplierCard=Fiche demande +ConfirmDeleteAsk=Êtes-vous sûr de vouloir effacer cette demande de prix %s ? +ActionsOnAskPriceSupplier=Événements sur la demande +DocModelAuroreDescription=Modèle de demande de prix fournisseur complet (logo…) +CommercialAsk=Demande de prix +DefaultModelAskPriceSupplierCreate=Modèle par défaut à la création +DefaultModelAskPriceSupplierToBill=Modèle par défaut lors de la clôture d'une demande de prix (à accéptée) +DefaultModelAskPriceSupplierClosed=Modèle par défaut lors de la clôture d'une demande de prix (refusée) +ListOfAskPriceSupplier=Liste des demandes de prix fournisseurs \ No newline at end of file diff --git a/htdocs/langs/fr_FR/banks.lang b/htdocs/langs/fr_FR/banks.lang index 2f25040691d..76310711663 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -94,7 +94,7 @@ Conciliate=Rapprocher Conciliation=Rapprochement ConciliationForAccount=Rapprochements sur ce compte IncludeClosedAccount=Inclure comptes fermés -OnlyOpenedAccount=Uniquement comptes ouverts +OnlyOpenedAccount=Seulement les comptes ouverts AccountToCredit=Compte à créditer AccountToDebit=Compte à débiter DisableConciliation=Désactiver la fonction de rapprochement pour ce compte diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index 1df8154d4ba..3b200ceb9c9 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=Cette facture n'est pas la dernière dans le cycle et ne doit pas DisabledBecauseNotLastInCycle=Une facture de situation suivante existe DisabledBecauseFinal=Cette situation est la dernière CantBeLessThanMinPercent=La progression ne peut être inférieure à la valeur de progression du point de situation précédent -NoSituations=Pas de point de situation ouvert +NoSituations=Pas de situations ouvertes InvoiceSituationLast=Dernière facture diff --git a/htdocs/langs/fr_FR/boxes.lang b/htdocs/langs/fr_FR/boxes.lang index 6894764e394..6211bf17b36 100644 --- a/htdocs/langs/fr_FR/boxes.lang +++ b/htdocs/langs/fr_FR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Derniers contrats BoxLastContacts=Derniers contacts/adresses BoxLastMembers=Derniers adhérents modifiés BoxFicheInter=Dernières fiches d'intervention modifiées -BoxCurrentAccounts=Soldes Comptes ouverts +BoxCurrentAccounts=Balance des comptes ouverts BoxSalesTurnover=Chiffre d'affaires BoxTotalUnpaidCustomerBills=Total des factures clients impayées BoxTotalUnpaidSuppliersBills=Total des factures fournisseurs impayées @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Les %s derniers adhérents BoxTitleLastFicheInter=Les %s dernières fiche d'intervention modifiée BoxTitleOldestUnpaidCustomerBills=Les %s plus anciennes factures clients impayées BoxTitleOldestUnpaidSupplierBills=Les %s plus anciennes factures fournisseurs impayées -BoxTitleCurrentAccounts=Soldes des comptes ouverts +BoxTitleCurrentAccounts=Balances des comptes ouverts BoxTitleSalesTurnover=Le chiffre d'affaires réalisé BoxTitleTotalUnpaidCustomerBills=Factures clients impayées BoxTitleTotalUnpaidSuppliersBills=Factures fournisseurs impayées diff --git a/htdocs/langs/fr_FR/categories.lang b/htdocs/langs/fr_FR/categories.lang index 65943bd8c2a..e921570c653 100644 --- a/htdocs/langs/fr_FR/categories.lang +++ b/htdocs/langs/fr_FR/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible d'ajouter le(a) tag/catégorie ImpossibleAssociateCategory=Impossible d'associer le(a) tag/catégorie à WasAddedSuccessfully=%s a été ajouté avec succès. ObjectAlreadyLinkedToCategory=L'élément est déjà lié à ce(tte) tag/catégorie -CategorySuccessfullyCreated=Ce(tte) tag/catégorie %s a été ajouté avec succès -ProductIsInCategories=Produit/service appartient aux tags/catégories suivant(e)s -SupplierIsInCategories=Tiers appartient aux libellés/catégories fournisseurs suivant(e)s: -CompanyIsInCustomersCategories=Ce tiers appartient aux tags/catégories de clients/prospects suivant(e)s -CompanyIsInSuppliersCategories=Ce tiers appartient aux tags/catégories de fournisseurs suivant(e)s -MemberIsInCategories=Ce membre appartient aux tags/catégories suivant(e)s -ContactIsInCategories=Ce contact appartient aux tags/catégories suivant(e)s +CategorySuccessfullyCreated=Ce tag/catégorie %s a été ajouté(e) avec succès +ProductIsInCategories=Le produit/service a les tags/catégories suivant(e)s +SupplierIsInCategories=Ce tiers a les tags/catégories fournisseurs suivant(e)s: +CompanyIsInCustomersCategories=Ce tiers a les tags/catégories de clients/prospects suivant(e)s +CompanyIsInSuppliersCategories=Ce tiers a les tags/catégories de fournisseurs suivant(e)s +MemberIsInCategories=Ce membre a les tags/catégories suivant(e)s +ContactIsInCategories=Ce contact a les tags/catégories suivant(e)s ProductHasNoCategory=Ce produit/service n'appartient à aucun(e) tag/catégorie SupplierHasNoCategory=Ce fournisseur n'appartient à aucun(e) tag/catégorie -CompanyHasNoCategory=Ce tiers n'appartient à aucun tag/catégorie +CompanyHasNoCategory=Ce tiers n'a aucun tag/catégorie MemberHasNoCategory=Ce membre n'appartient à aucun(e) tag/catégorie ContactHasNoCategory=Ce contact n'appartient à aucun(e) tag/catégorie -ClassifyInCategory=Classer dans le(a) tag/catégorie +ClassifyInCategory=Ajouter tag/catégorie NoneCategory=Aucune NotCategorized=Sans tag/catégorie CategoryExistsAtSameLevel=Ce tag existe déjà avec cette référence diff --git a/htdocs/langs/fr_FR/companies.lang b/htdocs/langs/fr_FR/companies.lang index 689206b9a24..8a6fc9c9c66 100644 --- a/htdocs/langs/fr_FR/companies.lang +++ b/htdocs/langs/fr_FR/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Montant encours autorisé dépassé MonkeyNumRefModelDesc=Renvoie le numéro sous la forme %syymm-nnnn pour les codes clients et %syymm-nnnn pour les codes fournisseurs où yy est l'année, mm le mois et nnnn un compteur séquentiel sans rupture et sans remise à 0. LeopardNumRefModelDesc=Code libre sans vérification. Peut être modifié à tout moment. ManagingDirectors=Nom du(des) gestionnaire(s) (PDG, directeur, président...) -SearchThirdparty=Rechercher tiers +SearchThirdparty=Sélectionner tiers SearchContact=Rechercher contact +MergeOriginThirdparty=Tiers en doublon (le tiers que vous voulez supprimer) +MergeThirdparties=Fursion de tiers +ConfirmMergeThirdparties=Etes-vous sûr que vous voulez fusionner ce tiers dans l'actuel ? Tous les objets liés (factures, commandes, ...) seront déplacés sur le tiers en cours de sorte que vous serez en mesure de supprimer le doublon. +ThirdpartiesMergeSuccess=Les tiers ont été fusionnés +ErrorThirdpartiesMerge=Il y a eu une erreur lors de la suppression du tiers. Aucune modification n'a été enregistrée. diff --git a/htdocs/langs/fr_FR/cron.lang b/htdocs/langs/fr_FR/cron.lang index b009c0b54d6..3b13dc59c8b 100644 --- a/htdocs/langs/fr_FR/cron.lang +++ b/htdocs/langs/fr_FR/cron.lang @@ -4,10 +4,10 @@ About = À propos CronAbout = À propos de Cron CronAboutPage = Page à propos de Cron # Right -Permission23101 = Voir les travaux planifiés -Permission23102 = Créer/modifier des travaux planifiés -Permission23103 = Supprimer un travail planifiée -Permission23104 = Lancer un travail planifié +Permission23101 = Voir les tâches planifiées +Permission23102 = Créer/Modifier des tâches planifiées +Permission23103 = Supprimer une tâche planifiée +Permission23104 = Exécuter une tâche planifiée # Admin CronSetup= Page de configuration du module - Gestion des travaux programmés URLToLaunchCronJobs=URL pour vérifier et lancer les travaux programmés actifs @@ -26,14 +26,14 @@ CronLastOutput=Sortie du dernier lancement CronLastResult=Dernier code de retour CronListOfCronJobs=Liste des travaux planifiés CronCommand=Commande -CronList=Travaux planifiées +CronList=Travaux planifiés CronDelete=Effacer les travaux planifiés -CronConfirmDelete=Êtes-vous sûr de vouloir supprimer ce travail planifié ? +CronConfirmDelete=Êtes-vous sûr de vouloir supprimer ces travaux planifiées? CronExecute=Lancer les travaux planifiés -CronConfirmExecute=Êtes-vous sûr de vouloir exécuter ce travail planifié maintenant? +CronConfirmExecute=Etes-vous sûr que vous voulez exécuter ces travaux planifiées maintenant? CronInfo=Le module des travaux planifiés permet d'exécuter des opérations qui ont été programmées CronWaitingJobs=Travaux en attente -CronTask=Tâche +CronTask=Travail planifié CronNone=Aucun(e) CronDtStart=Date de début CronDtEnd=Date de fin @@ -52,12 +52,12 @@ CronPriority=Priorité CronLabel=Description CronNbRun=Nb. exec. CronEach=Tous les -JobFinished=Tâche lancée et terminée +JobFinished=Travail lancé et terminé #Page card CronAdd= Ajoutez des travaux -CronHourStart= Jour et heure de début de la tâche -CronEvery= Puis exécution toutes les -CronObject= Instance/objet à créer +CronHourStart= Date et heure de démarrage de la tâche +CronEvery=Exécuter chaque tâche +CronObject=Instance/objet à créer CronArgs=Paramètres CronSaveSucess=Enregistrement effectué CronNote=Commentaire @@ -79,10 +79,10 @@ CronCreateJob=Créer un nouveau travail planifié # Info CronInfoPage=Information # Common -CronType=Type de tâche +CronType=Type de travail planifié CronType_method=Méthode d'appel d'une classe Dolibarr CronType_command=Commande terminal CronMenu=Cron CronCannotLoadClass=Impossible de charger la classe %s ou l'objet %s UseMenuModuleToolsToAddCronJobs=Aller dans le menu "Accueil - Outils modules - Liste des travaux" pour voir et éditer les travaux planifiés. -TaskDisabled=Tâche désactivée +TaskDisabled=Travail non programmé diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index 0ae2f924c69..108133b9a5e 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=Le client SOAP a échoué avec l'erreur '%s' ErrorGlobalVariableUpdater5=Pas de variable globale ErrorFieldMustBeANumeric=Le champ %s doit être un numérique ErrorFieldMustBeAnInteger=Le champ %s doit être un numérique +ErrorMandatoryParametersNotProvided=Paramètre(s) obligatoire(s) non fournis # Warnings WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent être renseignées diff --git a/htdocs/langs/fr_FR/holiday.lang b/htdocs/langs/fr_FR/holiday.lang index 30595470a20..3456312aa55 100644 --- a/htdocs/langs/fr_FR/holiday.lang +++ b/htdocs/langs/fr_FR/holiday.lang @@ -139,10 +139,3 @@ HolidaysRefused=Accès refusé HolidaysRefusedBody=Votre demande de congés payés %s à %s vient d'être refusée pour le motif suivant : HolidaysCanceled=Abandonner la demande de congés HolidaysCanceledBody=Votre demande de congés du %s au %s a été annulée. -Permission20000=Lire ses propres demandes de congés -Permission20001=Créer/modifier une demande de congés -Permission20002=Créer/modifier les congés pour tout le monde -Permission20003=Supprimer la demande de Congés -Permission20004=Configuration des jours disponibles -Permission20005=Voir l'historique des demandes de congés -Permission20006=Accéder au rapport mensuel des congés diff --git a/htdocs/langs/fr_FR/incoterm.lang b/htdocs/langs/fr_FR/incoterm.lang new file mode 100644 index 00000000000..7a78eee849d --- /dev/null +++ b/htdocs/langs/fr_FR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Ajouts de fonctionnalités pour gérer les incoterms +IncotermLabel=Incoterms +IncotermSetupTitle1=Fonction +IncotermSetupTitle2=État +IncotermSetup=Configuration du module Incoterm +IncotermFunctionDesc=Activer la fonction Incoterm (Société, Proposition comercial, Commande, Facture, Expédition, Livraison, Commande fournisseur) diff --git a/htdocs/langs/fr_FR/install.lang b/htdocs/langs/fr_FR/install.lang index 5cfb51fa42c..afcbbb093c6 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Serveur de base de données - Accès super utilisateur CheckToCreateDatabase=Cochez cette option si la base de données n'existe pas et doit être créée.
Dans ce cas, il faut renseigner identifiant et mot de passe du super-utilisateur au bas de cette page. CheckToCreateUser=Cochez cette option si l'utilisateur propriétaire n'existe pas et doit être créé.
Dans ce cas, il faut renseigner l'identifiant et mot de passe du propriétaire à créer ainsi que l'identifiant et mot de passe du super-utilisateur au bas de cette page. Si la case n'est pas cochée, l'identifiant et le mot de passe du propriétaire doivent exister. Experimental=(expérimental) +Deprecated=(Obsolète) DatabaseRootLoginDescription=Identifiant de l'utilisateur de la base ayant les droits de création de bases de données ou de comptes pour la base, requis si la base ou son propriétaire n'existent pas déjà et doivent être créés. KeepEmptyIfNoPassword=Laissez vide si l'administrateur n'a pas de mot de passe SaveConfigurationFile=Enregistrement du fichier de configuration diff --git a/htdocs/langs/fr_FR/languages.lang b/htdocs/langs/fr_FR/languages.lang index 4a90977022c..985013d1288 100644 --- a/htdocs/langs/fr_FR/languages.lang +++ b/htdocs/langs/fr_FR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabe Language_ar_SA=Arabe +Language_bn_BD=Bengalais Language_bg_BG=Bulgare Language_bs_BA=Bosniaque Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=Anglais (Arabie Saoudite) Language_en_US=Anglais (Etats-Unis) Language_en_ZA=Anglais (Afrique du Sud) Language_es_ES=Espagnol -Language_es_DO=Espagnol (République dominicaine) Language_es_AR=Espagnol (Argentine) Language_es_CL=Espagnol (Chili) +Language_es_CO=Espagnol (Colombie) +Language_es_DO=Espagnol (République dominicaine) Language_es_HN=Espagnol (Honduras) Language_es_MX=Espagnol (Mexique) Language_es_PY=Espagnol (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonésien Language_is_IS=Islandais Language_it_IT=Italien Language_ja_JP=Japonais +Language_ka_GE=Géorgien +Language_kn_IN=Kannada Language_ko_KR=Corée +Language_lo_LA=Laotien Language_lt_LT=Lituanien Language_lv_LV=Léton Language_mk_MK=Macédonien @@ -64,6 +69,7 @@ Language_sv_SV=Suédois Language_sv_SE=Suédois Language_sq_AL=Albanais Language_sk_SK=Slovaque +Language_sw_SW=Kiswahili Language_th_TH=Thaï Language_uk_UA=Ukrainien Language_uz_UZ=Ouzbek diff --git a/htdocs/langs/fr_FR/loan.lang b/htdocs/langs/fr_FR/loan.lang new file mode 100644 index 00000000000..0a5c6320d5b --- /dev/null +++ b/htdocs/langs/fr_FR/loan.lang @@ -0,0 +1,24 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Emprunt +Loans=Emprunts +NewLoan=Nouvel emprunt +ShowLoan=Voir emprunt +PaymentLoan=Règlement d'emprunt +Capital=Capital +Insurance=Assurance +Interest=Intérêt +Nbterms=Nombre d'échéances +LoanAccountancyCapitalCode=Compte comptable capital +LoanAccountancyInsuranceCode=Compte comptable assurance +LoanAccountancyInterestCode=Compte comptable intérêts +LoanPayment=Règlement emprunt +ConfirmDeleteLoan=Confirmation de supression de cet emprunt +ConfirmPayLoan=Confirmation que cet emprunt est classé comme payé +ErrorLoanCapital=Le capital de l'emprunt doit être au format numérique et supérieur à zéro. +ErrorLoanLength=La durée de l'emprunt doit être au format numérique et supérieur à zéro. +ErrorLoanInterest=Les intérêts d'emprunt doivent être au format numérique et supérieur à zéro. +# Admin +ConfigLoan=Configuration du module emprunt +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Compte comptable capital par défaut +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Compte comptable intérêts par défaut +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Compte comptable assurance par défaut \ No newline at end of file diff --git a/htdocs/langs/fr_FR/main.lang b/htdocs/langs/fr_FR/main.lang index fe465c31883..820f32ee234 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Prix unitaire HT UnitPriceTTC=Prix unitaire TTC PriceU=P.U. PriceUHT=P.U. HT -AskPriceSupplierUHT=P.U. HT. demandé +AskPriceSupplierUHT=Prix unitaire net requis PriceUTTC=P.U. TTC Amount=Montant AmountInvoice=Montant facture @@ -413,6 +413,8 @@ Qty=Qté ChangedBy=Modifié par ApprovedBy=Approuvé par ApprovedBy2=Approuvé par (deuxième approbation) +Approved=Approuvé +Refused=Refusé ReCalculate=Recalculer ResultOk=Succès ResultKo=Échec @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Liés à un contact utilisateur particulier DeleteAFile=Suppression de fichier ConfirmDeleteAFile=Confirmez-vous la suppression du fichier NoResults=Aucun résultat +SystemTools=Outils système ModulesSystemTools=Outils Modules Test=Test Element=Élément @@ -703,6 +706,9 @@ ShowTransaction=Afficher transaction GoIntoSetupToChangeLogo=Allez dans Accueil - Configuration - Société/institution pour changer le logo ou aller dans Accueil - Configuration - Affichage pour le cacher. Deny=Refuser Denied=Refusé +ListOfTemplates=Liste des modèles +Genderman=Homme +Genderwoman=Femme # Week day Monday=Lundi Tuesday=Mardi @@ -732,3 +738,4 @@ ShortThursday=J ShortFriday=V ShortSaturday=S ShortSunday=D +SelectMailModel=Sélectionner un modèle de courriels diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index 7be9c72e53a..7a80eeb68a9 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -18,10 +18,10 @@ SuppliersOrdersRunning=Commandes fournisseurs en cours CustomerOrder=Commande client CustomersOrders=Commandes clients CustomersOrdersRunning=Commandes clients en cours -CustomersOrdersAndOrdersLines=Commandes clients et lignes de commandes -OrdersToValid=Commandes clients à valider -OrdersToBill=Commandes clients traitées -OrdersInProcess=Commandes clients en cours +CustomersOrdersAndOrdersLines=Commandes clients et ligne de commandes +OrdersToValid=Commandes client à valider +OrdersToBill=Commandes clients à délivrer +OrdersInProcess=Commandes clients en traitement OrdersToProcess=Commandes clients à traiter SuppliersOrdersToProcess=Commandes fournisseurs à traiter StatusOrderCanceledShort=Annulée @@ -75,8 +75,9 @@ AddToMyOrders=Ajouter à mes commandes AddToOtherOrders=Ajouter aux autres commandes AddToDraftOrders=Ajouter à commande brouillon ShowOrder=Afficher commande +OrdersOpened=Commandes à traiter NoOpenedOrders=Pas de commande ouvertes -NoOtherOpenedOrders=Pas d'autre commandes ouvertes +NoOtherOpenedOrders=Pas d'autres commande ouvertes NoDraftOrders=Pas de commandes brouillons OtherOrders=Autres commandes LastOrders=Les %s dernières commandes clients diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 84973f468e4..9c63ec04665 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -204,6 +204,7 @@ ClickHereToGoTo=Cliquez ici pour aller sur %s YouMustClickToChange=Vous devez toutefois auparavant cliquer sur le lien suivant, afin de valider ce changement de mot de passe ForgetIfNothing=Si vous n'êtes pas à l'origine de cette demande, ignorez simplement ce message. Vos identifiants restent sécurisés. IfAmountHigherThan=Si le montant est supérieur à %s +SourcesRepository=Répertoire pour les sources ##### Calendar common ##### AddCalendarEntry=Ajouter entrée dans le calendrier %s diff --git a/htdocs/langs/fr_FR/printing.lang b/htdocs/langs/fr_FR/printing.lang new file mode 100644 index 00000000000..503c1f0786b --- /dev/null +++ b/htdocs/langs/fr_FR/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +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). +ModuleDriverSetup=Configuration des drivers impression +PrintingDriverDesc=Paramètres de configuration pour le driver d'impression +ListDrivers=Liste des drivers +PrintTestDesc=Liste des imprimantes +FileWasSentToPrinter=Le fichier %s a été envoyé à l'imprimante +NoActivePrintingModuleFound=Pas de module actif pour imprimer le document +PleaseSelectaDriverfromList=Sélection un driver dans la liste +SetupDriver=Configuration du driver +TestDriver=Test +TargetedPrinter=Imprimante cible +UserConf=Configuration par utilisateur +PRINTGCP=Impression Google Cloud Print +PrintGCPDesc=Ce driver permet d'envoyer des documents directement à l'imprimante via Google Cloud Print +PrintingDriverDescprintgcp=Paramètres de configuration pour l'impression Google Cloud Print +PrintTestDescprintgcp=Liste des imprimantes pour Google Cloud Print +PRINTGCP_LOGIN=Compte login google +PRINTGCP_PASSWORD=Mot de passe compte Google +STATE_ONLINE=En ligne +STATE_UNKNOWN=Inconnu +STATE_OFFLINE=Hors ligne +STATE_DORMANT=Hors ligne +TYPE_GOOGLE=Google +TYPE_HP=Imprimante HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nom +GCP_displayName=Nom affiché +GCP_Id=Id imprimante +GCP_OwnerName=Nom propriétaire +GCP_State=Etat imprimante +GCP_connectionStatus=Etats en ligne +GCP_Type=Type d'imprimante +PRINTIPP=Driver PrintIPP +PrintIPPSetup=Configuration du module d'Impression Directe +PrintIPPDesc=Ce driver permet d'envoyer les documents directement à une imprimante. Il requiert un système Linux avec CUPS installé. +PrintingDriverDescprintipp=Paramètres de configuration pour l'impressions par le driver PrintIPP +PrintTestDescprintipp=Liste des imprimantes du driver PrintIPP +PRINTIPP_ENABLED=Afficher l'icône « Impression directe » dans les listes de documents +PRINTIPP_HOST=Serveur d'impression +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Mot de passe +NoPrinterFound=Aucune imprimante trouvée (vérifiez votre configuration CUPS) +NoDefaultPrinterDefined=Il n'y a pas d'imprimante définie par défaut +DefaultPrinter=Imprimante par défaut +Printer=Imprimante +CupsServer=Serveur CUPS +IPP_Uri=Uri imprimante +IPP_Name=Nom imprimante +IPP_State=Etat imprimante +IPP_State_reason=Motif état +IPP_State_reason1=Motif état1 +IPP_BW=Black and White +IPP_Color=Couleur +IPP_Device=Dispositif +IPP_Media=Média d'impression +IPP_Supported=Type de média +STATE_IPP_idle=En attente +STATE_IPP_stopped=Stoppé +STATE_IPP_paused=En pause +STATE_IPP_toner-low-report=Toner faible +STATE_IPP_none=Aucune +MEDIA_IPP_stationery=En attente +MEDIA_IPP_thermal=Température +IPP_COLOR_print-black=Imprimante NB diff --git a/htdocs/langs/fr_FR/productbatch.lang b/htdocs/langs/fr_FR/productbatch.lang index d2e004231ac..9427500524e 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qté: %d AddDispatchBatchLine=Ajouter une ligne pour la répartition par durée de conservation BatchDefaultNumber=Non défini WhenProductBatchModuleOnOptionAreForced=Quand le module Lot/Série est activé, le mode incrémentation/décrémentation des stocks est forcé sur le dernier choix et ne peut pas être édité. D'autres options peuvent être définies comme vous le voulez. -ProductDoesNotUseBatchSerial=Ce produit n'utilise pas les numéros de lots/série +ProductDoesNotUseBatchSerial=Ce produit n'utilise pas les numéros de lot/série diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 0c14a9a44c3..1062b149cd9 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produit ou Service ProductsAndServices=Produits et Services ProductsOrServices=Produits ou Services ProductsAndServicesOnSell=Produits et Services en vente ou en achat -ProductsAndServicesNotOnSell=Produits et Services hors vente +ProductsAndServicesNotOnSell=Produits et services non en vente ProductsAndServicesStatistics=Statistiques produits et services ProductsStatistics=Statistiques produits -ProductsOnSell=Produits actifs, en vente ou en achat -ProductsNotOnSell=Produits hors vente et hors achat +ProductsOnSell=Produit en vente ou en achat +ProductsNotOnSell=Produit hors vente et hors achat ProductsOnSellAndOnBuy=Produits en vente et en achat ServicesOnSell=Services en vente ou en achat -ServicesNotOnSell=Services hors vente +ServicesNotOnSell=Service hors vente ServicesOnSellAndOnBuy=Services en vente et en achat InternalRef=Référence interne LastRecorded=Derniers produits/services en vente enregistrés @@ -77,11 +77,11 @@ MinPriceTTC=Prix de vente min. (TTC) 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. ContractStatus=État du contrat ContractStatusClosed=Clôturé -ContractStatusRunning=En service +ContractStatusRunning=En cours ContractStatusExpired=expiré -ContractStatusOnHold=Hors service +ContractStatusOnHold=Suspendu ContractStatusToRun=A activer -ContractNotRunning=Ce contrat n'est pas en service +ContractNotRunning=Ce contrat n'est pas actif ErrorProductAlreadyExists=Un produit avec la référence %s existe déjà. ErrorProductBadRefOrLabel=La valeur de la référence ou du libellé est incorrecte. ErrorProductClone=Il y a eu un problème lors de la tentative de clonage du produit ou du service. @@ -117,12 +117,12 @@ ServiceLimitedDuration=Si produit de type service à durée limitée : MultiPricesAbility=Plusieurs niveaux de prix par produit/service MultiPricesNumPrices=Nombre de prix MultiPriceLevelsName=Catégorie de prix -AssociatedProductsAbility=Prise en charge des produits virtuels/packs +AssociatedProductsAbility=Pris en charge des packages AssociatedProducts=Produit virtuel/package -AssociatedProductsNumber=Nbre de sous-produits constituant ce produit virtuel/package +AssociatedProductsNumber=Nombre de produits packages composant ce package ParentProductsNumber=Nbre de produits virtuels/packages parent -IfZeroItIsNotAVirtualProduct=Si 0, ce produit n'est pas un produit virtuel/package -IfZeroItIsNotUsedByVirtualProduct=Si 0, ce produit n'est pas utilisé par un produit virtuel/package +IfZeroItIsNotAVirtualProduct=Si 0, ce produit n'est pas utilisé par un produit package +IfZeroItIsNotUsedByVirtualProduct=Si 0, ce produit n'est pas un produit package EditAssociate=Composer comme produit virtuel Translation=Traduction KeywordFilter=Filtre par mot-clé @@ -131,7 +131,7 @@ ProductToAddSearch=Recherche des produits à ajouter AddDel=Ajouter/Retirer Quantity=Quantité NoMatchFound=Aucun résultat n'a été trouvé -ProductAssociationList=Liste des produits/services composant ce produit virtuel: Le nombre entre parenthèse est la quantité affectée dans cette composition. +ProductAssociationList=Liste des produits/services constituant ce produit package ProductParentList=Liste des produits/services virtuels/packages avec ce produit comme composante ErrorAssociationIsFatherOfThis=L'un des produits sélectionnés est parent du produit en cours DeleteProduct=Supprimer un produit/service @@ -179,16 +179,41 @@ CloneProduct=Cloner produit/service ConfirmCloneProduct=Êtes-vous sûr de vouloir cloner le produit ou service %s ? CloneContentProduct=Cloner les informations générales du produit/service ClonePricesProduct=Cloner les informations générales et les prix -CloneCompositionProduct=Cloner les produits/services composant ce produit +CloneCompositionProduct=Cloner le produits packagés ProductIsUsed=Ce produit est utilisé NewRefForClone=Réf. du nouveau produit/service CustomerPrices=Prix clients SuppliersPrices=Prix fournisseurs -SuppliersPricesOfProductsOrServices=Prix fournisseurs (de produits ou services) +SuppliersPricesOfProductsOrServices=Prix fournisseurs (des produits ou services) CustomCode=Code douane CountryOrigin=Pays d'origine HiddenIntoCombo=Caché dans les listes Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Masque pour les produits ServiceCodeModel=Masque pour les services AddThisProductCard=Créer fiche produit @@ -214,7 +239,7 @@ CostPmpHT=Cout à l'achat HT ProductUsedForBuild=Consommé automatiquement par la fabrication ProductBuilded=Fabrication terminée ProductsMultiPrice=Produits multi-prix -ProductsOrServiceMultiPrice=Prix clients (des produits ou services, mode multi-prix) +ProductsOrServiceMultiPrice=Prix clients (des produits ou services, multi-prix) ProductSellByQuarterHT=Chiffre d'affaire des produits par trimestre ServiceSellByQuarterHT=Chiffre d'affaire des services par trimestre Quarter1=1er trimestre @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Définir la valeur de code-barres pour tous les enregi PriceByCustomer=Prix différents pour chaque client PriceCatalogue=Un seul prix unique par produit/service PricingRule=Règles pour les prix clients -AddCustomerPrice=Ajouter prix par clients +AddCustomerPrice=Ajouter prix par client ForceUpdateChildPriceSoc=Définir le même prix sur les filiales des clients PriceByCustomerLog=Trace des prix par clients -MinimumPriceLimit=Le prix minimum ne peut être inférieur à %s +MinimumPriceLimit=Le prix ​​minimum ne peut pas être inférieure à %s MinimumRecommendedPrice=Prix minimum recommandé : %s PriceExpressionEditor=Éditeur d'expression de prix PriceExpressionSelected=Expression de prix sélectionnée @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=Le format est {"URL": "http://example.com/urlof UpdateInterval=Intervale de mise à jour (minutes) LastUpdated=Dernière mise à jour CorrectlyUpdated=Mise à jour avec succès +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 3aea8365f9e..f672e81731b 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Cette vue présente tous les projets pour lesquels vous êtes 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). MyTasksDesc=Cette vue est restreinte aux projets et tâches pour lesquels vous êtes un contact affecté à au moins une tâche (quel qu'en soit le type). -OnlyOpenedProject=Seules les projets ouverts sont visibles (les projets avec le statut brouillon et fermé ne sont pas affichés) +OnlyOpenedProject=Seuls les projets ouverts sont visibles (les projets à l'état brouillon ou fermé ne sont pas visibles). 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 de ce projet sont visibles, mais vous pouvez entrer le temps seulement pour une tâche à laquelle vous êtes affecté. @@ -29,7 +29,7 @@ ProjectsList=Liste des projets ShowProject=Afficher projet SetProject=Définir projet NoProject=Aucun projet défini ou responsable -NbOpenTasks=Nb Tâches Ouvertes +NbOpenTasks=Nb de tâches ouvertes NbOfProjects=Nombre de projets TimeSpent=Temps consommé TimeSpentByYou=Temps consommé par vous @@ -41,7 +41,7 @@ TaskTimeSpent=Temps consommé sur les tâches TaskTimeUser=Utilisateur TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tâches sur projets ouverts +TasksOnOpenedProject=Tâches sur les projets ouverts WorkloadNotDefined=Charge de travail non définie NewTimeSpent=Nouveau consommé MyTimeSpent=Mon consommé @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Liste des interventions associées au projet ListExpenseReportsAssociatedProject=Liste des notes de frais associées avec ce projet ListDonationsAssociatedProject=Liste des dons associés au projet ListActionsAssociatedProject=Liste des événements associés au projet +ListTaskTimeUserProject=Liste du temps consommé sur les tâches d'un projet ActivityOnProjectThisWeek=Activité sur les projets cette semaine ActivityOnProjectThisMonth=Activité sur les projets ce mois ActivityOnProjectThisYear=Activité sur les projets cette année @@ -95,7 +96,7 @@ DeleteATimeSpent=Suppression du temps consommé ConfirmDeleteATimeSpent=Êtes-vous sûr de vouloir supprimer ce temps consommé ? DoNotShowMyTasksOnly=Voir aussi les tâches qui ne me sont pas affectées ShowMyTasksOnly=Ne voir que les tâches qui me sont affectées -TaskRessourceLinks=Affectation ressources +TaskRessourceLinks=Ressources ProjectsDedicatedToThisThirdParty=Projets dédiés à ce tiers NoTasks=Aucune tâche pour ce projet LinkedToAnotherCompany=Liés à autre société @@ -139,8 +140,12 @@ ProjectReferers=Objets associés SearchAProject=Rechercher un projet ProjectMustBeValidatedFirst=Le projet doit être validé d'abord ProjectDraft=Projets brouillons -FirstAddRessourceToAllocateTime=Ajouter une ressource pour pouvoir allouer tu temps +FirstAddRessourceToAllocateTime=Associer d'abord la ressource pour pouvoir saisir du temps InputPerDay=Saisie par jour InputPerWeek=Saisie par semaine InputPerAction=Saisie par action TimeAlreadyRecorded=Temps consommé déjà enregistré pour cette tâche/jour et utilisateur %s +ProjectsWithThisUserAsContact=Projets avec cet utilisateur comme contact +TasksWithThisUserAsContact=Tâches assignées à cet utilisateur +ResourceNotAssignedToProject=Non assigné à un projet +ResourceNotAssignedToTask=Non assigné à une tâche diff --git a/htdocs/langs/fr_FR/propal.lang b/htdocs/langs/fr_FR/propal.lang index e8a47528202..35f2a7c7d2f 100644 --- a/htdocs/langs/fr_FR/propal.lang +++ b/htdocs/langs/fr_FR/propal.lang @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Montant par mois (HT) NbOfProposals=Nombre de propositions commerciales ShowPropal=Afficher proposition PropalsDraft=Brouillons -PropalsOpened=Ouvertes +PropalsOpened=En cours PropalsNotBilled=Non facturées PropalStatusDraft=Brouillon (à valider) PropalStatusValidated=Validée (proposition ouverte) @@ -51,8 +51,8 @@ PropalsToClose=Propositions commerciales à fermer PropalsToBill=Propositions commerciales signées à facturer ListOfProposals=Liste des devis/propositions commerciales ActionsOnPropal=Événements sur la proposition -NoOpenedPropals=Pas de proposition ouverte -NoOtherOpenedPropals=Pas d'autre proposition brouillon +NoOpenedPropals=Pas de propositions commerciales ouvertes +NoOtherOpenedPropals=Pas d'autres propositions commerciales ouvertes RefProposal=Réf. proposition commerciale SendPropalByMail=Envoyer proposition commerciale par email AssociatedDocuments=Documents associés à la proposition : @@ -98,3 +98,4 @@ DocModelJauneDescription=Modèle de proposition Jaune DefaultModelPropalCreate=Modèle par défaut à la création DefaultModelPropalToBill=Modèle par défaut lors de la clôture d'une proposition commerciale (à facturer) DefaultModelPropalClosed=Modèle par défaut lors de la clôture d'une proposition commerciale (non facturée) +ProposalCustomerSignature=Cachet, Date, Signature et mention "Bon pour Accord" diff --git a/htdocs/langs/fr_FR/salaries.lang b/htdocs/langs/fr_FR/salaries.lang index 5db3b16d441..1a92875cc65 100644 --- a/htdocs/langs/fr_FR/salaries.lang +++ b/htdocs/langs/fr_FR/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Afficher règlement de salaire THM=Tarif horaire moyen TJM=Tarif journalier moyen CurrentSalary=Salaire courant +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=Cette valeur est actuellement seulement une information et n'est utilisé pour aucun calcul diff --git a/htdocs/langs/fr_FR/sendings.lang b/htdocs/langs/fr_FR/sendings.lang index 1354fe7ddf6..e884820d042 100644 --- a/htdocs/langs/fr_FR/sendings.lang +++ b/htdocs/langs/fr_FR/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Modèle simple DocumentModelMerou=Modèle Merou A5 WarningNoQtyLeftToSend=Alerte, aucun produit en attente de livraison. StatsOnShipmentsOnlyValidated=Statistiques effectuées sur les expéditions validées uniquement. La date prise en compte est la date de validation (la date de prévision d'expédition n'étant pas toujours renseignée). -DateDeliveryPlanned=Date de livraison prévue +DateDeliveryPlanned=Date prévue de livraison DateReceived=Date de réception réelle SendShippingByEMail=Envoyer bon d'expédition par email SendShippingRef=Envoi du bordereau d'expédition %s @@ -67,7 +67,7 @@ SendingRunning=Produit des commandes clients passées SuppliersReceiptRunning=Produit des commandes fournisseurs passées ProductQtyInCustomersOrdersRunning=Quantité de produit en commandes client ouvertes ProductQtyInSuppliersOrdersRunning=Quantité de produit en commandes fournisseur ouvertes -ProductQtyInShipmentAlreadySent=Quantité de produit déjà reçu en commandes client ouvertes +ProductQtyInShipmentAlreadySent=Quantité du produit parmi les commandes clients déjà envoyées ProductQtyInSuppliersShipmentAlreadyRecevied=Quantité de produit déjà reçu en commandes fournisseur ouvertes # Sending methods diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index cae2a14d187..3e96ca304d8 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -48,7 +48,7 @@ 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 -IndependantSubProductStock=Product stock and subproduct stock are independant +IndependantSubProductStock=Le stock du produit et le stock des sous-produits sont indépendant QtyDispatched=Quantité ventilée QtyDispatchedShort=Qté ventilée QtyToDispatchShort=Qté à ventiler @@ -95,11 +95,12 @@ SelectWarehouseForStockDecrease=Sélectionner l'entrepôt à utiliser pour la d SelectWarehouseForStockIncrease=Sélectionner l'entrepôt à utiliser pour l'incrémentation du stock NoStockAction=Pas d'action sur l'entrepôt LastWaitingSupplierOrders=Commandes en attente de réception -DesiredStock=Stock désiré +DesiredStock=Stock désiré minimum +DesiredMaxStock=Stock désiré maximum StockToBuy=À commander Replenishment=Réapprovisionnement ReplenishmentOrders=Commandes de réapprovisionnement -VirtualDiffersFromPhysical=Selon les options d'incrémentation/décrémentation de stock, le stock physique et le stock théorique (physique + commandes en cours) peut être différent. +VirtualDiffersFromPhysical=Selon les options d'augmentation/décrémentation de stock, le stock physique et le stock virtuel (stock physique + commandes actuelles) peuvent différer UseVirtualStockByDefault=Utilisez le stock théorique par défaut, au lieu du stock réel, pour la fonction de réapprovisionnement UseVirtualStock=Utilisation du stock théorique UsePhysicalStock=Utilisation du stock réel @@ -112,8 +113,8 @@ AlertOnly= Alertes seulement WarehouseForStockDecrease=L'entrepôt %s sera utilisé pour la décrémentation du stock WarehouseForStockIncrease=L'entrepôt %s sera utilisé pour l'incrémentation du stock ForThisWarehouse=Pour cet entrepôt -ReplenishmentStatusDesc=Cet écran permet de voir les produits avec un stock inférieur à la quantité minimale désirée (ou à la quantité du seuil d'alerte si la case "Alertes seulement" est cochée) et propose de créer des commandes fournisseurs pour compléter la différence -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +ReplenishmentStatusDesc=Ceci est une liste de tous les produits avec un stock inférieur au stock souhaité (ou inférieure à la valeur d'alerte si la case "alerte uniquement" est cochée), et vous suggère de créer les commandes fournisseurs pour compléter la différence. +ReplenishmentOrdersDesc=Ceci est une liste de toutes les commandes fournisseurs ouvertes comportant des produits prédéfinis. Seules les commandes ouvertes avec des produits prédéfinis, donc les commandes qui peuvent affecter les stocks, sont visibles ici. Replenishments=Réapprovisionnement NbOfProductBeforePeriod=Quantité du produit %s en stock avant la période sélectionnée (< %s) NbOfProductAfterPeriod=Quantité du produit %s en stock après la période sélectionnée (> %s) @@ -124,16 +125,16 @@ RecordMovement=Enregistrer transfert ReceivingForSameOrder=Réceptions pour cette commande StockMovementRecorded=Mouvement de stocks enregistré RuleForStockAvailability=Règles d'exigence sur les stocks -StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une facture -StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter un produit/service dans une commande -StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter un produit/service dans une expédition +StockMustBeEnoughForInvoice=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la facture +StockMustBeEnoughForOrder=Le niveau de stock doit être suffisant pour ajouter ce produit/service à la commande +StockMustBeEnoughForShipment= Le niveau de stock doit être suffisant pour ajouter ce produit/service à l'expédition MovementLabel=Libellé du mouvement InventoryCode=Code mouvement ou inventaire IsInPackage=Inclus dans un package ShowWarehouse=Afficher entrepôt -MovementCorrectStock=Correction du contenu en stock pour le produit %s +MovementCorrectStock=Correction du stock pour le produit %s MovementTransferStock=Transfert de stock du produit %s dans un autre entrepôt -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Code Inv./Mouv. -NoPendingReceptionOnSupplierOrder=Pas de réception en attente du fait de commande fournisseur en cours +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). diff --git a/htdocs/langs/fr_FR/suppliers.lang b/htdocs/langs/fr_FR/suppliers.lang index 233e1828ca6..a7c977aeea8 100644 --- a/htdocs/langs/fr_FR/suppliers.lang +++ b/htdocs/langs/fr_FR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Envoyés aux fournisseurs ListOfSupplierOrders=Liste des commandes fournisseurs MenuOrdersSupplierToBill=Commandes fournisseurs en facture NbDaysToDelivery=Délai de livraison en jours -DescNbDaysToDelivery=Délai le plus élevé parmi la liste de produit dans la commande +DescNbDaysToDelivery=Le plus gros délai de livraison parmi les produits de cette commande UseDoubleApproval=Utiliser la double approbation (la deuxième approbation pourra être faite par tout utilisateur qui bénéficie de la permission dédiée à cela) diff --git a/htdocs/langs/fr_FR/trips.lang b/htdocs/langs/fr_FR/trips.lang index 131cbe63486..b5e794dad78 100644 --- a/htdocs/langs/fr_FR/trips.lang +++ b/htdocs/langs/fr_FR/trips.lang @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Personne à informer pour la validation. TripSociete=Information société TripSalarie=Informations utilisateur TripNDF=Informations note de frais -DeleteLine=Effacer une ligne de note de frais +DeleteLine=Supprimer une ligne d'une note de frais ConfirmDeleteLine=Êtes-vous sûr de vouloir supprimer cette ligne ? PDFStandardExpenseReports=Modèle de note de frais PDF standard ExpenseReportLine=Ligne de la note de frais @@ -44,7 +44,6 @@ TF_HOTEL=Hôtel TF_TAXI=Taxi ErrorDoubleDeclaration=Vous avez déclaré une autre note de frais dans une période similaire. -ListTripsAndExpenses=Liste des notes de frais AucuneNDF=Pas de note de frais trouvées avec ces critères AucuneLigne=Aucune note de frais déclarée AddLine=Ajout nouvelle ligne @@ -56,12 +55,12 @@ ModePaiement=Mode de paiement Note=Note Project=Projet -VALIDATOR=Utilisateur à informer pour approbation +VALIDATOR=Utilisateur responsable de l'approbation VALIDOR=Approuvé par AUTHOR=Enregistré par AUTHORPAIEMENT=Payé par REFUSEUR=Refusé par -CANCEL_USER=Annulé par +CANCEL_USER=Supprimé par MOTIF_REFUS=Motif MOTIF_CANCEL=Motif @@ -74,7 +73,7 @@ DATE_PAIEMENT=Date de paiement TO_PAID=Payer BROUILLONNER=Réouvrir -SendToValid=Envoyer a l'approbation +SendToValid=Sent on approval ModifyInfoGen=Editer ValidateAndSubmit=Valider et envoyer pour approbation @@ -93,7 +92,7 @@ ConfirmPaidTrip=Êtes-vous sûr de vouloir changer le statut de cette note de fr CancelTrip=Annuler note de frais ConfirmCancelTrip=Êtes-vous sûr de vouloir annuler cette note de frais ? -BrouillonnerTrip=Move back expense report to status "Draft"n +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Êtes-vous sûr de vouloir changer le statut de cette note de frais en "Brouillon" ? SaveTrip=Valider note de frais diff --git a/htdocs/langs/fr_FR/users.lang b/htdocs/langs/fr_FR/users.lang index 6215622af74..bd9db5271f9 100644 --- a/htdocs/langs/fr_FR/users.lang +++ b/htdocs/langs/fr_FR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Supprimer du groupe PasswordChangedAndSentTo=Mot de passe changé et envoyé à %s. PasswordChangeRequestSent=Demande de changement de mot de passe pour %s envoyée à %s. MenuUsersAndGroups=Utilisateurs & Groupes +MenuMyUserCard=Ma fiche utilisateur LastGroupsCreated=Les %s derniers groupes créés LastUsersCreated=Les %s derniers utilisateurs créés ShowGroup=Afficher groupe diff --git a/htdocs/langs/fr_FR/withdrawals.lang b/htdocs/langs/fr_FR/withdrawals.lang index dcdc98fe1ee..71dbbdedcc9 100644 --- a/htdocs/langs/fr_FR/withdrawals.lang +++ b/htdocs/langs/fr_FR/withdrawals.lang @@ -84,6 +84,8 @@ WithdrawalFile=Fichier de prélèvement SetToStatusSent=Mettre au statut "Fichier envoyé" ThisWillAlsoAddPaymentOnInvoice=Ceci créera également les paiements sur les factures et les classera payées StatisticsByLineStatus=Statistiques par statut des lignes +WithdrawRequestAmount=Montant de la demande de prélèvement : +WithdrawRequestErrorNilAmount=Impossible de créer une demande de prélèvement avec un montant nul. ### Notifications InfoCreditSubject=Crédit prélèvement %s à la banque diff --git a/htdocs/langs/fr_FR/workflow.lang b/htdocs/langs/fr_FR/workflow.lang index e718b3e708e..ea5e6a4fdf5 100644 --- a/htdocs/langs/fr_FR/workflow.lang +++ b/htdocs/langs/fr_FR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuration du module workflow -WorkflowDesc=Ce module vous permet de modifier le comportement d'enchaînement automatisé. Par défaut, le workflow est ouvert (vous faites mes choses dans l'ordre que vous voulez). Vous pouvez activer les enchainements automatisées qui vous intéressent. -ThereIsNoWorkflowToModify=Il n'y a pas de flux workflow modifiable pour les modules que vous avez activé. +WorkflowDesc=Ce module est conçu pour modifier le comportement des actions automatiques dans l'application. Par défaut, le workflow est ouvert (vous pouvez faire les choses dans l'ordre que vous voulez). Vous pouvez toutefois activer des actions automatiques qui vous intéressent. +ThereIsNoWorkflowToModify=Il n'y a aucune modification de workflow disponible avec les modules actifs descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Créer une commande client automatiquement à la signature d'une proposition commerciale -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Créer une facture client automatiquement à la signature d'une proposition commerciale -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Créer une facture client automatiquement à la validation d'un contrat -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Créer une facture client automatiquement à la clôture d'une commande client +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classer facturée la proposition commerciale source quand la commande client dérivée est classée payée descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classer facturée la ou les commandes clients source quand la facture client dérivée est classée payée descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classer facturée la ou les commandes clients source lorsque la facture client dérivée est validée diff --git a/htdocs/langs/he_IL/accountancy.lang b/htdocs/langs/he_IL/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/he_IL/accountancy.lang +++ b/htdocs/langs/he_IL/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index e88ecd1a9d6..c4e610b62f2 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=תפריט עבור משתמשים LangFile=הקובץ. Lang System=מערכת SystemInfo=מערכת מידע -SystemTools=מערכת כלים SystemToolsArea=כלי המערכת באזור SystemToolsAreaDesc=אזור זה מספק תכונות ניהול. השתמשו בתפריט כדי לבחור את התכונה שאתה מחפש. Purge=Purge @@ -232,8 +231,8 @@ Security=בטחון Passwords=סיסמאות DoNotStoreClearPassword=האם כל חנות סיסמאות ברורות במסד הנתונים אלא רק בחנות ערך מוצפן (הופעל מומלץ) MainDbPasswordFileConfEncrypted=מאגר המידע הסיסמה מוצפן ב conf.php (הופעל מומלץ) -InstrucToEncodePass=כדי שהסיסמה מקודד לקובץ conf.php, להחליף את הקו
$ Dolibarr_main_db_pass = "..."
על ידי
$ Dolibarr_main_db_pass = "crypted: %s" -InstrucToClearPass=כדי שהסיסמה מפוענח (ברור) לקובץ conf.php, להחליף את הקו
$ Dolibarr_main_db_pass = "crypted: ..."
על ידי
$ Dolibarr_main_db_pass = "%s" +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=הגנה על קבצי PDF שנוצרו הופעל (לא מומלץ, שובר את הדור המונית pdf) ProtectAndEncryptPdfFilesDesc=הגנה על מסמך PDF שומר אותו לזמין לקרוא ולהדפיס עם כל דפדפן PDF. עם זאת, עריכת והעתקה אינו אפשרי עוד. שים לב כי השימוש בתכונה זו את בניית PDF המצטבר העולמי לא עובד (כמו חשבוניות שלא שולמו). Feature=תכונה @@ -300,13 +299,13 @@ ThisIsProcessToFollow=זהו תהליך ההתקנה: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=שלב %s FindPackageFromWebSite=מצא חבילה המספקת התכונה הרצויה (לדוגמה על %s באתר הרשמי של רשת). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=התקן הוא סיים Dolibarr מוכן לשימוש עם מרכיב חדש זה. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr הגרסה הנוכחית CallUpdatePage=עבור לעמוד שהעדכונים מבנה מסד הנתונים datas: %s. LastStableVersion=הגרסה היציבה האחרונה @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=לוח השנה Module410Desc=שילוב לוח השנה -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=סדר היום Module2400Desc=אירועים / משימות וניהול סדר היום Module2500Name=תוכן אלקטרוני ניהול Module2500Desc=לשמור ולשתף מסמכים -Module2600Name=WebServices -Module2600Desc=אפשר האינטרנט Dolibarr שירותי שרת +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=הגדרת הציל BackToModuleList=חזרה לרשימת מודולים BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=רוכסן CompanyTown=עיר CompanyCountry=מדינה CompanyCurrency=ראשי המטבע +CompanyObject=Object of the company Logo=Logo DoNotShow=אל תציג DoNotSuggestPaymentMode=לא מציע NoActiveBankAccountDefined=אין לך חשבון בנק פעיל מוגדר OwnerOfBankAccount=הבעלים של %s חשבון הבנק BankModuleNotActive=חשבונות בנק המודול לא מופעל -ShowBugTrackLink=הצג את "לדווח על בעיה" קישור +ShowBugTrackLink=Show link "%s" ShowWorkBoard=הצג את "שולחן העבודה" בעמוד הבית Alerts=התראות Delays=עיכובים @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=מקס שברים עשרוניים עבור מחירי י MAIN_MAX_DECIMALS_TOT=מקס שברים עשרוניים במחירים הכל MAIN_MAX_DECIMALS_SHOWN=שברים עשרוניים מקס במחירים המוצג על המסך (הוסף ... לאחר מספר זה אם אתה רוצה לראות ... כאשר מספר מקוצר כאשר מוצג על המסך) MAIN_DISABLE_PDF_COMPRESSION=השתמש דחיסה של קבצי PDF PDF שנוצר. -MAIN_ROUNDING_RULE_TOT= גודל טווח עיגול (עבור מדינות הנדירים שבהם עיגול נעשה על משהו אחר מאשר בסיס 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=יחידת מחיר נטו של המוצר TotalPriceAfterRounding=המחיר הכולל (נטו / מע"מ / מס כולל) לאחר עיגול ParameterActiveForNextInputOnly=פרמטר יעיל הקלט הבא רק @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=תמיכה Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=ברקוד מסוג ברירת מחדל עבור מוצרים SetDefaultBarcodeTypeThirdParties=ברקוד מסוג ברירת מחדל עבור צדדים שלישיים +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=ברקוד מסוג UPC BarcodeDescISBN=ברקוד מסוג ISBN BarcodeDescC39=ברקוד מסוג C39 BarcodeDescC128=ברקוד מסוג 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices ההתקנה מודול WebServicesDesc=על ידי הפעלת מודול זה, Dolibarr להיות שרת שירות אינטרנט לספק שירותי אינטרנט שונים. WSDLCanBeDownloadedHere=WSDL קבצים מתאר של השירותים הניתנים ניתן להוריד כאן EndPointIs=לקוחות סבון חייב לשלוח את בקשותיהם עד נקודת הסיום Dolibarr זמין בכתובת האתר +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=בנק ההתקנה מודול FreeLegalTextOnChequeReceipts=טקסט חופשי על קבלות הסימון @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/he_IL/banks.lang b/htdocs/langs/he_IL/banks.lang index ea9145b421e..ae04f77fe5a 100644 --- a/htdocs/langs/he_IL/banks.lang +++ b/htdocs/langs/he_IL/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index a5796dd0544..9a947603b9c 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/he_IL/boxes.lang b/htdocs/langs/he_IL/boxes.lang index d61bc5502a3..db7733489d8 100644 --- a/htdocs/langs/he_IL/boxes.lang +++ b/htdocs/langs/he_IL/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/he_IL/categories.lang b/htdocs/langs/he_IL/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/he_IL/categories.lang +++ b/htdocs/langs/he_IL/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/he_IL/companies.lang b/htdocs/langs/he_IL/companies.lang index 95e682bcb67..3a3f068d0ef 100644 --- a/htdocs/langs/he_IL/companies.lang +++ b/htdocs/langs/he_IL/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/he_IL/cron.lang b/htdocs/langs/he_IL/cron.lang index 63223b9e15e..0aa4bcc5ea1 100644 --- a/htdocs/langs/he_IL/cron.lang +++ b/htdocs/langs/he_IL/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/he_IL/incoterm.lang b/htdocs/langs/he_IL/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/he_IL/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index c72668ff058..a4f7a64fcb2 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/he_IL/languages.lang b/htdocs/langs/he_IL/languages.lang index dcf7a8bea0d..d3a567ba903 100644 --- a/htdocs/langs/he_IL/languages.lang +++ b/htdocs/langs/he_IL/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=ערבית Language_ar_SA=ערבית +Language_bn_BD=Bengali Language_bg_BG=בולגרי Language_bs_BA=בוסני Language_ca_ES=קטלוני @@ -21,9 +22,10 @@ Language_en_SA=אנגלית (ערב הסעודית) Language_en_US=אנגלית (ארצות הברית) Language_en_ZA=אנגלית (דרום אפריקה) Language_es_ES=ספרדית -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=ספרדית (ארגנטינה) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=ספרדית (הונדורס) Language_es_MX=ספרדית (מקסיקו) Language_es_PY=ספרדית (פרגוואי) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=איסלנדי Language_it_IT=איטלקי Language_ja_JP=יפני +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=קוריאני +Language_lo_LA=Lao Language_lt_LT=ליטאי Language_lv_LV=לטבי Language_mk_MK=מקדונית @@ -64,6 +69,7 @@ Language_sv_SV=שוודי Language_sv_SE=שוודי Language_sq_AL=Albanian Language_sk_SK=סלובקי +Language_sw_SW=Kiswahili Language_th_TH=תאילנדי Language_uk_UA=אוקראיני Language_uz_UZ=אוזבקי diff --git a/htdocs/langs/he_IL/loan.lang b/htdocs/langs/he_IL/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/he_IL/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/he_IL/mails.lang b/htdocs/langs/he_IL/mails.lang index 42eeab81dd4..65d774ce3c3 100644 --- a/htdocs/langs/he_IL/mails.lang +++ b/htdocs/langs/he_IL/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index a9fd4612265..4bbb60de97d 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=לא ידוע @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/he_IL/orders.lang b/htdocs/langs/he_IL/orders.lang index 5b7a8ec16c2..a5503493cf4 100644 --- a/htdocs/langs/he_IL/orders.lang +++ b/htdocs/langs/he_IL/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/he_IL/other.lang b/htdocs/langs/he_IL/other.lang index 47ed25edcec..ee0dc8f5203 100644 --- a/htdocs/langs/he_IL/other.lang +++ b/htdocs/langs/he_IL/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/he_IL/printing.lang b/htdocs/langs/he_IL/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/he_IL/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/he_IL/productbatch.lang b/htdocs/langs/he_IL/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/he_IL/productbatch.lang +++ b/htdocs/langs/he_IL/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 179740315d1..014d0ff96d7 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=מניות @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=ספקים SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index 314da1e3650..e78ad60f02b 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/he_IL/propal.lang b/htdocs/langs/he_IL/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/he_IL/propal.lang +++ b/htdocs/langs/he_IL/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/he_IL/salaries.lang b/htdocs/langs/he_IL/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/he_IL/salaries.lang +++ b/htdocs/langs/he_IL/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/he_IL/sendings.lang b/htdocs/langs/he_IL/sendings.lang index c8d5d582b68..91fdb33254a 100644 --- a/htdocs/langs/he_IL/sendings.lang +++ b/htdocs/langs/he_IL/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index 5bc3d4952ae..e4b0fb5f963 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/he_IL/suppliers.lang b/htdocs/langs/he_IL/suppliers.lang index 1056674425a..d26d4a5cb00 100644 --- a/htdocs/langs/he_IL/suppliers.lang +++ b/htdocs/langs/he_IL/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/he_IL/trips.lang b/htdocs/langs/he_IL/trips.lang index 0b3e72d78d4..76c6508a406 100644 --- a/htdocs/langs/he_IL/trips.lang +++ b/htdocs/langs/he_IL/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/he_IL/users.lang b/htdocs/langs/he_IL/users.lang index b6011056fc8..5f5517b5920 100644 --- a/htdocs/langs/he_IL/users.lang +++ b/htdocs/langs/he_IL/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/he_IL/workflow.lang b/htdocs/langs/he_IL/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/he_IL/workflow.lang +++ b/htdocs/langs/he_IL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/hr_HR/accountancy.lang b/htdocs/langs/hr_HR/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/hr_HR/accountancy.lang +++ b/htdocs/langs/hr_HR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index ef57225d51c..5a96bec1757 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=Sistem SystemInfo=System information -SystemTools=Alati sistema SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/hr_HR/banks.lang b/htdocs/langs/hr_HR/banks.lang index 4fe645a8949..55e09ab1d86 100644 --- a/htdocs/langs/hr_HR/banks.lang +++ b/htdocs/langs/hr_HR/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Otvoren +StatusAccountOpened=Open StatusAccountClosed=Zatvoren AccountIdShort=Broj EditBankRecord=Uredi zapis diff --git a/htdocs/langs/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index 640257f7a11..59059e04cae 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Odmah @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/hr_HR/boxes.lang b/htdocs/langs/hr_HR/boxes.lang index 6e0d4a38875..c10c8628263 100644 --- a/htdocs/langs/hr_HR/boxes.lang +++ b/htdocs/langs/hr_HR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Najnoviji ugovori BoxLastContacts=Najnoviji kontakti / Adrese BoxLastMembers=Najnoviji članovi BoxFicheInter=Najnovije intervencije -BoxCurrentAccounts=Stanje otvorenih računa +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Promet BoxTotalUnpaidCustomerBills=Ukupni neplaćeni računi kupaca BoxTotalUnpaidSuppliersBills=Ukupni neplaćeni računi dobavljača @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Prošlogodišnji% s modificirani intervencija BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Stanja otvorila korisničkog računa +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Promet BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/hr_HR/categories.lang b/htdocs/langs/hr_HR/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/hr_HR/categories.lang +++ b/htdocs/langs/hr_HR/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/hr_HR/companies.lang b/htdocs/langs/hr_HR/companies.lang index 48d8b78f547..80bc673c157 100644 --- a/htdocs/langs/hr_HR/companies.lang +++ b/htdocs/langs/hr_HR/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Dobavljač CompanyList=Lista kompanija -AddContact=Dodaj kontakt -AddContactAddress=Dodaj kontakt/adresa +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Uredi kontakt EditContactAddress=Uredi kontakt/adresu Contact=Kontakt @@ -268,8 +268,8 @@ ContactsAddresses=Kontakt/adrese NoContactDefinedForThirdParty=Nema kontakta za ovo stranku NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Dodaj firmu -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Izbriši firmu PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=IZbriši adresu dostave ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Dodaj adresu -AddAddress=Dodaj adresu +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Kategorija dobavljača JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Dosegnut je maksimalni iznos za otvorene stavke MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=Ova šifra je besplatne. Ova šifra se može modificirati u bilo koje vrijeme. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/hr_HR/cron.lang b/htdocs/langs/hr_HR/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/hr_HR/cron.lang +++ b/htdocs/langs/hr_HR/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/hr_HR/incoterm.lang b/htdocs/langs/hr_HR/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/hr_HR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/hr_HR/languages.lang b/htdocs/langs/hr_HR/languages.lang index 2fee45a8ffb..74fae07930c 100644 --- a/htdocs/langs/hr_HR/languages.lang +++ b/htdocs/langs/hr_HR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arapski Language_ar_SA=Arapski +Language_bn_BD=Bengali Language_bg_BG=Bugarski Language_bs_BA=Bosanski Language_ca_ES=Katalonski @@ -21,9 +22,10 @@ Language_en_SA=Engleski (Saudijska Arabija) Language_en_US=Engleski (United States) Language_en_ZA=Engleski (Južna Afrika) Language_es_ES=Španjolski -Language_es_DO=Španjolski (Dominikanska Republika) Language_es_AR=Španjolski (Argentina) Language_es_CL=Španjolski (Čile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Španjolski (Dominikanska Republika) Language_es_HN=Španjolski (Honduras) Language_es_MX=Španjolski (Meksiko) Language_es_PY=Španjolski (Paragvaj) @@ -45,7 +47,10 @@ Language_id_ID=Indonezijski Language_is_IS=Islandski Language_it_IT=Talijanski Language_ja_JP=Japanski +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korejski +Language_lo_LA=Lao Language_lt_LT=Litvanski Language_lv_LV=Letonski Language_mk_MK=Makedonski @@ -64,6 +69,7 @@ Language_sv_SV=Švedski Language_sv_SE=Švedski Language_sq_AL=Albanski Language_sk_SK=Slovački +Language_sw_SW=Kiswahili Language_th_TH=Tajlandski Language_uk_UA=Ukrajinski Language_uz_UZ=Uzbek diff --git a/htdocs/langs/hr_HR/loan.lang b/htdocs/langs/hr_HR/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/hr_HR/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/hr_HR/mails.lang b/htdocs/langs/hr_HR/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/hr_HR/mails.lang +++ b/htdocs/langs/hr_HR/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 1bbb505b5b2..699a8f2b15b 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index c482335b687..66c22912504 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Narudžba dobavljaču SuppliersOrders=Narudžbe dobavljaču SuppliersOrdersRunning=Trenutne narudžbe dobavljaču CustomerOrder=Narudžbe kupaca -CustomersOrders=Customers orders -CustomersOrdersRunning=Trenutne narudžba kupaca -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Skica StatusOrderValidatedShort=Ovjereno @@ -75,8 +75,9 @@ AddToMyOrders=Dodaj u moje narudžbe AddToOtherOrders=Dodaj u ostale narudžbe AddToDraftOrders=Add to draft order ShowOrder=Prikaži narudžbu -NoOpenedOrders=Nema otvorenih narudžbi -NoOtherOpenedOrders=Nema ostalih otvorenih narudžbi +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/hr_HR/other.lang b/htdocs/langs/hr_HR/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/hr_HR/other.lang +++ b/htdocs/langs/hr_HR/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/hr_HR/printing.lang b/htdocs/langs/hr_HR/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/hr_HR/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/hr_HR/productbatch.lang b/htdocs/langs/hr_HR/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/hr_HR/productbatch.lang +++ b/htdocs/langs/hr_HR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index e94e24244a7..1c0bb8c1103 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -23,14 +23,14 @@ ProductOrService=Proizvod ili usluga ProductsAndServices=Proizvodi ili usluge ProductsOrServices=Proizvodi ili usluge ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statistika proizvoda i usluga ProductsStatistics=Statistika proizvoda -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Zadnji zabilježeni proizvodi/usluge na prodaji @@ -44,7 +44,7 @@ CardProduct1=Kartica usluga CardContract=Kartica ugovora Warehouse=Skladište Warehouses=Skladišta -WarehouseOpened=Otvoreno skladište +WarehouseOpened=Warehouse open WarehouseClosed=Zatvoreno skladište Stock=Zaliha Stocks=Zalihe @@ -71,21 +71,21 @@ SellingPriceTTC=Prodajna cijena (sa PDV-om) PublicPrice=Public price CurrentPrice=Trenutna cijena NewPrice=Nova cijena -MinPrice=Namanja prodajna cijena -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Prodajna cijena za ovaj proizvod (%s bez PDV-a) ne može biti manja od najmanje dozvoljene. Ova poruka može se pojaviti i kada ste upisali bitan popust. ContractStatus=Stanje ugovora ContractStatusClosed=Zatvoreno -ContractStatusRunning=U tijeku +ContractStatusRunning=Ongoing ContractStatusExpired=isteklo -ContractStatusOnHold=Nije u tijeku -ContractStatusToRun=To get running -ContractNotRunning=Ovaj ugovor nije u tijeku +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Proizvod s oznakom %s već postoji 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Dobavljači SupplierRef=Supplier's product ref. ShowProduct=Prikaži proizvod @@ -117,12 +117,12 @@ ServiceLimitedDuration=Ako je proizvod usluga ograničenog trajanja: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Broj cijena MultiPriceLevelsName=Grupe cijena -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Pridruži Translation=Prijevod KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Pronađi proizvod za dodavanje AddDel=Dodaj/izbriši Quantity=Količina NoMatchFound=Ništa slično nije pronađeno -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index 3af0f7966eb..41b7158d748 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Lista projekata ShowProject=Prikaži projekt SetProject=Postavi projekt NoProject=Nema definiranih ili vlastih projekata -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Vrijeme utrošeno TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/hr_HR/propal.lang b/htdocs/langs/hr_HR/propal.lang index 802f4040feb..c0f6328616b 100644 --- a/htdocs/langs/hr_HR/propal.lang +++ b/htdocs/langs/hr_HR/propal.lang @@ -4,7 +4,7 @@ Proposal=Trgovačka ponuda ProposalShort=Ponuda ProposalsDraft=Skice trgovačkih ponuda ProposalDraft=Skica trgovačke ponude -ProposalsOpened=Otvorene trgovačke ponude +ProposalsOpened=Open commercial proposals Prop=Trgovačke ponude CommercialProposal=Trgovačka ponuda CommercialProposals=Trgovačke ponude @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Iznos po mjesecu (netto bez PDV-a) NbOfProposals=Broj trgovačkih ponuda ShowPropal=Prikaži ponudu PropalsDraft=Skice -PropalsOpened=Otvorena +PropalsOpened=Open PropalsNotBilled=Zatvorena, nije naplaćena PropalStatusDraft=Skica (potrebno ovjeriti) PropalStatusValidated=Ovjerena (otvorena ponuda) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nije potpisana (zatvorena) PropalStatusBilled=Naplaćena PropalStatusDraftShort=Skica PropalStatusValidatedShort=Ovjerena -PropalStatusOpenedShort=Otvorena +PropalStatusOpenedShort=Open PropalStatusClosedShort=Zatvorena PropalStatusSignedShort=Potpisana PropalStatusNotSignedShort=Nije potpisana @@ -51,8 +51,8 @@ PropalsToClose=Trgovačke ponude za zatvaranje PropalsToBill=Potpisane trgovačke ponude za naplatu ListOfProposals=Popis trgovačkih ponuda ActionsOnPropal=Događaji vezani uz ponudu -NoOpenedPropals=Nema otvorenih trgovačkih ponuda -NoOtherOpenedPropals=nema drugih otvorenih trgovačkih ponuda +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Broj trgovačke ponude SendPropalByMail=Pošalji trgovačku ponudu e-poštom AssociatedDocuments=Dokumenti povezani s ovom ponudom: @@ -98,3 +98,4 @@ DocModelJauneDescription="Žuti" model ponude DefaultModelPropalCreate=Izrada osnovnog modela DefaultModelPropalToBill=Osnovni predložak prilikom zatvaranja poslovne ponude (za naplatu) DefaultModelPropalClosed=Osnovni predložak prilikom zatvaranja poslovne ponude (nenaplaćeno) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/hr_HR/salaries.lang b/htdocs/langs/hr_HR/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/hr_HR/salaries.lang +++ b/htdocs/langs/hr_HR/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/hr_HR/sendings.lang b/htdocs/langs/hr_HR/sendings.lang index e20a1b00985..3f368223ab7 100644 --- a/htdocs/langs/hr_HR/sendings.lang +++ b/htdocs/langs/hr_HR/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Jednostavan model dokumenta DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Datum primitka pošiljke SendShippingByEMail=Pošalji pošiljku Emailom SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/hr_HR/suppliers.lang b/htdocs/langs/hr_HR/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/hr_HR/suppliers.lang +++ b/htdocs/langs/hr_HR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/hr_HR/trips.lang b/htdocs/langs/hr_HR/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/hr_HR/trips.lang +++ b/htdocs/langs/hr_HR/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/hr_HR/users.lang b/htdocs/langs/hr_HR/users.lang index 922a3e316df..b5b907515d7 100644 --- a/htdocs/langs/hr_HR/users.lang +++ b/htdocs/langs/hr_HR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Ukloni iz grupe PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Korisnici & Grupe +MenuMyUserCard=My user card LastGroupsCreated=Zadnje %s kreirane grupe LastUsersCreated=Zadnji %s kreirani korisnici ShowGroup=Prikaži grupu diff --git a/htdocs/langs/hr_HR/workflow.lang b/htdocs/langs/hr_HR/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/hr_HR/workflow.lang +++ b/htdocs/langs/hr_HR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/hu_HU/accountancy.lang b/htdocs/langs/hu_HU/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/hu_HU/accountancy.lang +++ b/htdocs/langs/hu_HU/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index 0c6b123ea84..39520fe3c98 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menü a felhasználók LangFile=File. Lang System=Rendszer SystemInfo=Rendszerinformációk -SystemTools=Rendszereszközök SystemToolsArea=Rendszereszközök területe SystemToolsAreaDesc=Ez a terület ad adminisztrációs funkciókat. Használja a menüt a funkciót, amit keresel. Purge=Purge @@ -232,8 +231,8 @@ Security=Biztonság Passwords=Jelszavak DoNotStoreClearPassword=Do No Store egyértelmű jelszavakat adatbázisban tárolja, de csak a titkosított érték (aktivált ajánlott) MainDbPasswordFileConfEncrypted=Adatbázis jelszó titkosítva conf.php (aktivált ajánlott) -InstrucToEncodePass=Ahhoz, hogy a jelszót kódolva a fájlba conf.php, cserélje ki a sort
Dolibarr_main_db_pass $ = "..."
által
Dolibarr_main_db_pass $ = "titkosított: %s" -InstrucToClearPass=Ahhoz, hogy a jelszó dekódolt (átlátszó) a conf.php fájlt, cserélje ki a sort
Dolibarr_main_db_pass $ = "kódolják: ..."
által
Dolibarr_main_db_pass $ = "%s" +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=Védelme generált pdf fájlok (aktivált nem ajánlott, megtöri tömeges pdf generálás) ProtectAndEncryptPdfFilesDesc=Védelem a PDF dokumentum tartja elérhetővé olvasni és nyomtatni bármilyen PDF böngészőben. Azonban a szerkesztés és másolás nem lehetséges többé. Megjegyzendő, hogy ezt a szolgáltatást használja, hogy az épület globális összesített pdf nem működik (például kifizetetlen számlák). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Ez a beállítási folyamat: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Keressen olyan csomag, amely biztosítja a kívánt funkciót (például a hivatalos honlapján %s). -DownloadPackageFromWebSite=A %s csomag letöltése -UnpackPackageInDolibarrRoot=Bontsa ki a csomagfájlt a külső modulok számára fenntartott könyvtárba: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Telepítése befejeződött, és Dolibarr kész, hogy ehhez az új alkatrész. NotExistsDirect=Nincs megadva az alternatív gyökérkönyvtár.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Válassza ki a modult: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr jelenlegi verzió CallUpdatePage=Lépjen arra az oldalra, amely frissíti az adatbázis szerkezetét és adatok: %s. LastStableVersion=Utolsó stabil verzió @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Hivatkozás frissítése @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=WebCalendar Module410Desc=WebCalendar integráció -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Napirend Module2400Desc=Események / feladatok és napirend menedzsment Module2500Name=Elektronikus Content Management Module2500Desc=Mentés és dokumentumok megosztása -Module2600Name=WebServices -Module2600Desc=Engedélyezze a Dolibarr web szerver szolgáltatás +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=E-mail sablonok +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Beállítás mentett BackToModuleList=Visszalép a modulok listáját BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Város CompanyCountry=Ország CompanyCurrency=Fő valuta +CompanyObject=Object of the company Logo=Logo DoNotShow=Ne jelenjen meg DoNotSuggestPaymentMode=Ne azt NoActiveBankAccountDefined=Nincs aktív bankszámla definiált OwnerOfBankAccount=Tulajdonosa bankszámla %s BankModuleNotActive=Bankszámlák modul nincs engedélyezve -ShowBugTrackLink=Mutasd link "Hiba jelentése" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "munkapad" a honlapon Alerts=Figyelmeztetések Delays=Késések @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max a tizedes egységár MAIN_MAX_DECIMALS_TOT=Max tizedes teljes áron MAIN_MAX_DECIMALS_SHOWN=Max tizedes az árak a képernyőn látható (Új ... miután ezt a számot, ha meg akarja nézni ... amikor számot csonkolni a képernyőn látható) MAIN_DISABLE_PDF_COMPRESSION=Használja a PDF tömörítés generált PDF fájlokat. -MAIN_ROUNDING_RULE_TOT= Mérete kerekítés tartomány (A ritka országok, ahol a kerekítés történik valami más, mint 10-es alapú) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Nettó egységár egy termék TotalPriceAfterRounding=Teljes ár (nettó / ÁFA / incl adó) után a kerekítés ParameterActiveForNextInputOnly=Paraméter hatékony következő bemeneti csak @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Támogatás Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Alapértelmezett típusú vonalkód használatát termékek SetDefaultBarcodeTypeThirdParties=Alapértelmezett típusú vonalkód használatát harmadik felek számára +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Vonalkód típusú UPC BarcodeDescISBN=Vonalkód típusú ISBN BarcodeDescC39=Vonalkód típusú C39 BarcodeDescC128=Vonalkód típusú 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modul beállítása WebServicesDesc=Azáltal, hogy ez a modul, Dolibarr vált a web szerver szolgáltatást nyújtani különböző webes szolgáltatásokat. WSDLCanBeDownloadedHere=WSDL leíró fájlok a nyújtott szolgáltatások is letölthető itt EndPointIs=SOAP kliens kell küldeni a kérelmeket az Dolibarr végpont elérhető Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank modul beállítása FreeLegalTextOnChequeReceipts=Szabad szöveg ellenőrzés bevételek @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Megnyitva +Opened=Open Closed=Closed AlwaysEditable=Mindig szerkeszthető MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/hu_HU/banks.lang b/htdocs/langs/hu_HU/banks.lang index 5398c92d8da..b8f43439f3a 100644 --- a/htdocs/langs/hu_HU/banks.lang +++ b/htdocs/langs/hu_HU/banks.lang @@ -94,12 +94,12 @@ Conciliate=Összeegyeztetni Conciliation=Egyeztetés ConciliationForAccount=Összeegyeztetni ezt a számlát IncludeClosedAccount=Közé zárt fiókok -OnlyOpenedAccount=Csak számlát nyitott +OnlyOpenedAccount=Only open accounts AccountToCredit=Számla a hitelhez AccountToDebit=Számla terhére DisableConciliation=Letiltása összehangolási funkció erre a számlára ConciliationDisabled=Megbékélés funkció tiltva -StatusAccountOpened=Megnyitotta +StatusAccountOpened=Open StatusAccountClosed=Zárva AccountIdShort=Szám EditBankRecord=A rekord szerkesztése diff --git a/htdocs/langs/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index f33958ab6f6..15cde28574d 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Azonnali @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/hu_HU/boxes.lang b/htdocs/langs/hu_HU/boxes.lang index f91459aba54..8ab3bb01264 100644 --- a/htdocs/langs/hu_HU/boxes.lang +++ b/htdocs/langs/hu_HU/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Utolsó szerződések BoxLastContacts=Utolsó kapcsolatok / címek BoxLastMembers=Utolsó tagok BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Értékesítési forgalom BoxTotalUnpaidCustomerBills=Összes ki nem fizetett ügyfél számla BoxTotalUnpaidSuppliersBills=Összes ki nem fizetett beszállító számla @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Értékesítési forgalom BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/hu_HU/categories.lang b/htdocs/langs/hu_HU/categories.lang index 340e05776ac..4e3931ff2a9 100644 --- a/htdocs/langs/hu_HU/categories.lang +++ b/htdocs/langs/hu_HU/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s sikeresen hozzá lett adva. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Nincs NotCategorized=Without tag/category CategoryExistsAtSameLevel=Ez a kategória ezzel a ref# -el már létezik @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Tartalom nem látható mindenki számára CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Vásárló/Kilátás kategóriák @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/hu_HU/companies.lang b/htdocs/langs/hu_HU/companies.lang index 0e5a758e750..38c27b81fed 100644 --- a/htdocs/langs/hu_HU/companies.lang +++ b/htdocs/langs/hu_HU/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Abszolút kedvezmények DiscountNone=Egyik sem Supplier=Szállító CompanyList=Vállalat lista -AddContact=Új név / cím -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Szerk / cím EditContactAddress=Edit contact/address Contact=Kapcsolat @@ -268,8 +268,8 @@ ContactsAddresses=Kapcsolat / címek NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=Nincs kapcsolat az erre a harmadik fél DefaultContact=Alapértelmezett kapcsolat -AddCompany=Add cég -AddThirdParty=Add harmadik fél +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Törlése cég PersonalInformations=Személyes adatok AccountancyCode=Számviteli kód @@ -379,8 +379,8 @@ DeliveryAddressLabel=Szállítási cím címke DeleteDeliveryAddress=Szállítási cím törlése ConfirmDeleteDeliveryAddress=Biztosan törölni akarja ezt a szállítási címet? NewDeliveryAddress=Új szállítási cím -AddDeliveryAddress=Cím hozzáadása -AddAddress=Cím hozzáadása +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=Nincs olyan alternatív szállítási cím határozza meg SupplierCategory=Beszállítói kategória JuridicalStatus200=Független @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Vissza a numero formátumban %syymm-nnnn kódot, és az ügyfelek %syymm-nnnn kódot, ahol a szállító yy év, hónap és mm nnnn sorozata szünet nélkül, és nincs visszaút 0-ra. LeopardNumRefModelDesc=Vevő / szállító kód ingyenes. Ez a kód lehet bármikor módosítható. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/hu_HU/cron.lang b/htdocs/langs/hu_HU/cron.lang index 078f1829621..0ccb33d5ea3 100644 --- a/htdocs/langs/hu_HU/cron.lang +++ b/htdocs/langs/hu_HU/cron.lang @@ -4,10 +4,10 @@ About = Róla CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Kezdési dátum CronDtEnd=Befejezési dátum CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Módszer CronModule=Modul CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Paraméterek CronSaveSucess=Save succesfully CronNote=Megjegyzés @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index f40cf8a3615..dbf83f5d433 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/hu_HU/incoterm.lang b/htdocs/langs/hu_HU/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/hu_HU/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index 78d675524cd..77a4d258087 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Adatbázis szerver - Superuser hozzáférés CheckToCreateDatabase=Pipálja ki a dobozt ha szeretné, hogy a rendszer létrehozza az adatbázist.
Ebbben az esetben a SuperUser bejelentkezési adatai ki kell tölteni az oldal alján. CheckToCreateUser=Pipálja ki a dobozt ha szeretné, hogy a rendszer létrehozza az adatbázis tulajdonos.
Ebbben az esetben a SuperUser bejelentkezési adatai ki kell tölteni az oldal alján. A a doboz nincs kipipálva akkor az adatbázisnak és a tulajdonosának léteznie kell. Experimental=(kísérleti) +Deprecated=(deprecated) DatabaseRootLoginDescription=A felhasználó jogosúlt új adatbázisok vagy új felhasználók létrehozására, felesleges ha a szolgáltatás hostolt formában veszik igénybe. KeepEmptyIfNoPassword=Hagyja üresen ha a felhasználónak nincs jelszava (az ilyet jobb elkerülni) SaveConfigurationFile=Értékek mentése diff --git a/htdocs/langs/hu_HU/languages.lang b/htdocs/langs/hu_HU/languages.lang index 9788e58c4ee..62220b026d4 100644 --- a/htdocs/langs/hu_HU/languages.lang +++ b/htdocs/langs/hu_HU/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arab Language_ar_SA=Arab +Language_bn_BD=Bengali Language_bg_BG=Bolgár Language_bs_BA=Bosnyák Language_ca_ES=Katalán @@ -21,9 +22,10 @@ Language_en_SA=English (Szaúd-Arábia) Language_en_US=Angol (Egyesült Államok) Language_en_ZA=English (Dél-Afrika) Language_es_ES=Spanyo -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanyo (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanyol (Honduras) Language_es_MX=Spanyol (Mexikó) Language_es_PY=Spanyol (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Grönlandi Language_it_IT=Olasz Language_ja_JP=Japán +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Koreai +Language_lo_LA=Lao Language_lt_LT=Litván Language_lv_LV=Lett Language_mk_MK=Macedóniai @@ -64,6 +69,7 @@ Language_sv_SV=Svéd Language_sv_SE=Svéd Language_sq_AL=Albanian Language_sk_SK=Szlovák +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrán Language_uz_UZ=Üzbég diff --git a/htdocs/langs/hu_HU/loan.lang b/htdocs/langs/hu_HU/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/hu_HU/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/hu_HU/mails.lang b/htdocs/langs/hu_HU/mails.lang index 8fd814d95e0..f91e3f5caba 100644 --- a/htdocs/langs/hu_HU/mails.lang +++ b/htdocs/langs/hu_HU/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index ba2b0277b6c..9b6eee3f8e2 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Egység ár (nettó) UnitPriceTTC=Egység ár PriceU=E.Á. PriceUHT=E.Á. (nettó) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=E.Á. Amount=Mennyiség AmountInvoice=Számla mennyiség @@ -413,6 +413,8 @@ Qty=Menny. ChangedBy=Módosította ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Siker ResultKo=Sikerleteln @@ -421,7 +423,7 @@ Reportings=Jelentés Draft=Piszkozat Drafts=Piszkozatok Validated=Hitelesítve -Opened=Megnyitva +Opened=Open New=Új Discount=Kedvezmény Unknown=Ismeretlen @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Hétfő Tuesday=Kedd @@ -732,3 +738,4 @@ ShortThursday=Cs ShortFriday=P ShortSaturday=Szo ShortSunday=V +SelectMailModel=Select email template diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index 4246bddb08f..402c074b75a 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Szállító érdekében SuppliersOrders=Szállítói megrendelések SuppliersOrdersRunning=Jelenlegi szállító megrendelések CustomerOrder=Az ügyfelek érdekében -CustomersOrders=Customers orders -CustomersOrdersRunning=Jelenlegi ügyfél megrendelések -CustomersOrdersAndOrdersLines=Vevői megrendelések és megrendelés vonalak -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Szállító megrendelések feldolgozása +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Törölve StatusOrderDraftShort=Tervezet StatusOrderValidatedShort=Hitelesítette @@ -75,8 +75,9 @@ AddToMyOrders=Hozzáadás a megrendelések AddToOtherOrders=Add az egyéb megrendelések AddToDraftOrders=Add to draft order ShowOrder=Megjelenítése érdekében -NoOpenedOrders=Nem nyitott megrendelések -NoOtherOpenedOrders=Nincs más nyitott megrendelések +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Egyéb megrendelések LastOrders=Last %s customer orders diff --git a/htdocs/langs/hu_HU/other.lang b/htdocs/langs/hu_HU/other.lang index f28a5a2b778..3a2c3fb5d38 100644 --- a/htdocs/langs/hu_HU/other.lang +++ b/htdocs/langs/hu_HU/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Beavatkozás validált Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Ügyfél számla hitelesített Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Szállító érdekében elfogadott Notify_ORDER_SUPPLIER_REFUSE=Szállító érdekében hajlandó Notify_ORDER_VALIDATE=Ügyfél érdekében érvényesített @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add bejegyzés a naptárban %s diff --git a/htdocs/langs/hu_HU/printing.lang b/htdocs/langs/hu_HU/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/hu_HU/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/hu_HU/productbatch.lang b/htdocs/langs/hu_HU/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/hu_HU/productbatch.lang +++ b/htdocs/langs/hu_HU/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index 73774ec73c9..d2056bd656c 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -23,14 +23,14 @@ ProductOrService=Termék vagy Szolgáltatás ProductsAndServices=Termékek és Szolgáltatások ProductsOrServices=Termékek vagy Szolgáltatások ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Termékek és Szolgáltatások statisztika ProductsStatistics=Termék statisztika -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Belső referencia LastRecorded=Utolsó termékek/szolgáltatások on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Szolgáltatás kártya CardContract=Szerződés kártya Warehouse=Raktár Warehouses=Raktárak -WarehouseOpened=Raktár nyitva +WarehouseOpened=Warehouse open WarehouseClosed=Raktár zárva Stock=Részvény Stocks=Részvények @@ -71,21 +71,21 @@ SellingPriceTTC=Eladási ár (bruttó) PublicPrice=Nyilvános ár CurrentPrice=Jelenlegi ár NewPrice=Új ár -MinPrice=Minimum eladási ár -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Az eladási ár nem lehet kisebb a minimum árnál (nettó %s) ContractStatus=Szerzőséd állapot ContractStatusClosed=Lezárva -ContractStatusRunning=Folyamatban +ContractStatusRunning=Ongoing ContractStatusExpired=lejárt -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=Ez a szerződés nincs folyamatban +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Egy terméke ezzel a referenciával %s már létezik. ErrorProductBadRefOrLabel=Rossz érték a referenciának vagy feliratnak. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Beszállítók SupplierRef=Beszállítók ref#. ShowProduct=Termék megmutatása @@ -117,12 +117,12 @@ ServiceLimitedDuration=Ha a termék vagy szolgáltatás időkorlátos: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Árak száma MultiPriceLevelsName=Ár kategóriák -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Kapcsolás Translation=Fordítás KeywordFilter=Kulcsszó szűrés @@ -131,7 +131,7 @@ ProductToAddSearch=Termék keresése hozzáadáshoz AddDel=Hozzáadás/Törlés Quantity=Mennyiség NoMatchFound=Nincs találat -ProductAssociationList=Vonatkozó szolgáltatások/termékek listája: Termék/szolgáltatás neve (mennyiség érintett) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Az egyik kiválaszott termék szülője az aktuális terméknek DeleteProduct=Termék/szolgáltatás törlése @@ -179,16 +179,41 @@ CloneProduct=Termék vagy szolgáltatás klónozása ConfirmCloneProduct=Biztos, hogy klónozni akarja ezt a szolgáltatást: %s ? CloneContentProduct=A termék/szolgáltatás minden fő információjának a klónozása ClonePricesProduct=Fő információk és árak klónozása -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Ez a termék használatban van NewRefForClone=Új termék/szolgáltatás ref#. -CustomerPrices=Fogyasztói árának -SuppliersPrices=Beszállítók árak -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Vámkódex CountryOrigin=Származási ország HiddenIntoCombo=Rejtett a select lista Nature=Természet +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 52e733b2e47..ea77296edf0 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Ez a nézet minden az ön által megtekinthető projektre van ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ez a nézet minden projektet tartalmaz. MyTasksDesc=Ez a nézet azokra a projektekre van korlátozva amivel valamilyen összefüggésben áll. -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Ez a nézet minden az ön által megtekinthető projektre van korlátozva. TasksDesc=Ez a nézet minden projektet tartalmaz. AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Projektek listája ShowProject=Projektek mutatása SetProject=Projekt beállítása NoProject=Nincs létrehozott vagy tulajdonolt projekt -NbOpenTasks=Nyitott feladatok száma +NbOpenTasks=Nb of open tasks NbOfProjects=Projektek száma TimeSpent=Eltöltött idő TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Új eltöltött idő MyTimeSpent=Az én eltöltött időm @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=A projekthez tartozó intervenciók listája ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=A projekthez tartozó cselekvések listája +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Heti projekt aktivitás ActivityOnProjectThisMonth=Havi projekt aktivitás ActivityOnProjectThisYear=Évi projekt aktivitás @@ -95,7 +96,7 @@ DeleteATimeSpent=Eltöltött idő törlése ConfirmDeleteATimeSpent=Biztos törölni akarja az eltöltött időt? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Erőforrások +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Harmadik félhnek dedikált projektek NoTasks=Nincs a projekthez tartozó feladat LinkedToAnotherCompany=Harmadik félhez kapcsolva @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/hu_HU/propal.lang b/htdocs/langs/hu_HU/propal.lang index ca7102e2bda..64ee9347c05 100644 --- a/htdocs/langs/hu_HU/propal.lang +++ b/htdocs/langs/hu_HU/propal.lang @@ -4,7 +4,7 @@ Proposal=Üzleti ajánlat ProposalShort=Javaslat ProposalsDraft=Készítsen üzleti ajánlatot ProposalDraft=Tervezet kereskedelmi javaslat -ProposalsOpened=Megnyitotta a kereskedelmi javaslatok +ProposalsOpened=Open commercial proposals Prop=Üzleti ajánlatok CommercialProposal=Üzleti ajánlat CommercialProposals=Üzleti ajánlatok @@ -16,7 +16,7 @@ Prospect=Kilátás ProspectList=Prospect lista DeleteProp=Üzleti ajánlat törlése ValidateProp=Érvényesítése kereskedelmi javaslat -AddProp=Add javaslat +AddProp=Create proposal ConfirmDeleteProp=Biztosan törölni kívánja ezt a kereskedelmi javaslat? ConfirmValidateProp=Biztosan meg akarja érvényesíteni a kereskedelmi javaslat? LastPropals=Utolsó %s javaslatok @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Összeg havonta (adózott) NbOfProposals=Száma a kereskedelmi javaslatok ShowPropal=Mutasd javaslat PropalsDraft=Piszkozatok -PropalsOpened=Megnyitotta +PropalsOpened=Open PropalsNotBilled=Zárt nem számlázzák PropalStatusDraft=Tervezet (kell érvényesíteni) PropalStatusValidated=Jóváhagyott (javaslat nyitott) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nem írta alá (zárt) PropalStatusBilled=Kiszámlázott PropalStatusDraftShort=Tervezet PropalStatusValidatedShort=Hitelesítette -PropalStatusOpenedShort=Megnyitotta +PropalStatusOpenedShort=Open PropalStatusClosedShort=Zárva PropalStatusSignedShort=Aláírt PropalStatusNotSignedShort=Nem írták alá @@ -51,12 +51,10 @@ PropalsToClose=Kereskedelmi javaslatokat, hogy lezárja PropalsToBill=Aláírták a kereskedelmi javaslatok törvényjavaslatot ListOfProposals=Üzleti ajánlatok listája ActionsOnPropal=Események javaslatára -NoOpenedPropals=Nem nyitott a kereskedelmi javaslatok -NoOtherOpenedPropals=Nincs más nyitott üzleti ajánlatot +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Üzleti ajánlat ref SendPropalByMail=Küldés e-mailben kereskedelmi javaslat -FileNotUploaded=A feltöltött fájl nem -FileUploaded=A fájl sikeresen feltöltött AssociatedDocuments=Dokumentumok kapcsolódó javaslatot: ErrorCantOpenDir=Nem lehet megnyitni a könyvtárat DatePropal=Születési javaslat @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s nem található Estimate=Becslés: EstimateShort=Becsüljük OtherPropals=Egyéb javaslatok -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Hozzon létre a kereskedelmi javaslat másolásával meglévő javaslat CreateEmptyPropal=Hozzon létre üres üzleti ajánlatot vierge vagy listából termékek / szolgáltatások DefaultProposalDurationValidity=Alapértelmezett érvényesség időtartamát kereskedelmi javaslat (napokban) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=Ügyfélkapcsolati nyomon követése javasl # Document models DocModelAzurDescription=A javaslat teljes modell (logo. ..) DocModelJauneDescription=Jaune javaslat modell -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/hu_HU/salaries.lang b/htdocs/langs/hu_HU/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/hu_HU/salaries.lang +++ b/htdocs/langs/hu_HU/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/hu_HU/sendings.lang b/htdocs/langs/hu_HU/sendings.lang index 65d32d6f400..54be9f7005e 100644 --- a/htdocs/langs/hu_HU/sendings.lang +++ b/htdocs/langs/hu_HU/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Egyszerű dokumentum modell DocumentModelMerou=Merou A5 modell WarningNoQtyLeftToSend=Figyelem, nincs szállításra váró termék. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Tervezett szállítási dátum +DateDeliveryPlanned=Planned date of delivery DateReceived=Átvétel dátuma SendShippingByEMail=Küldés e-mailben szállítás SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index e3aefb8cb1c..b0d13bb6b75 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Raktárak NewWarehouse=Új raktár WarehouseEdit=Raktár módosítása MenuNewWarehouse=Új raktár -WarehouseOpened=Raktár nyitva +WarehouseOpened=Warehouse open WarehouseClosed=Raktár zárva WarehouseSource=Forrás raktár WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Válassza ki a raktár használni állomány cs SelectWarehouseForStockIncrease=Válassza ki a raktár használni állomány növekedése NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/hu_HU/suppliers.lang b/htdocs/langs/hu_HU/suppliers.lang index 2d5eebdf4eb..296c32467d4 100644 --- a/htdocs/langs/hu_HU/suppliers.lang +++ b/htdocs/langs/hu_HU/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/hu_HU/trips.lang b/htdocs/langs/hu_HU/trips.lang index 3932da4b2a2..8b4204d071b 100644 --- a/htdocs/langs/hu_HU/trips.lang +++ b/htdocs/langs/hu_HU/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Költségek listája NewTrip=New expense report CompanyVisited=Látogatott Cég/alapítvány @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/hu_HU/users.lang b/htdocs/langs/hu_HU/users.lang index 0a315b86711..310b43b0646 100644 --- a/htdocs/langs/hu_HU/users.lang +++ b/htdocs/langs/hu_HU/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Eltávolítás a csoportból PasswordChangedAndSentTo=A jelszó megváltoztatva és elküldve: %s. PasswordChangeRequestSent=%s által kért jelszóváltoztatás el lett küldve ide: %s. MenuUsersAndGroups=Felhasználók és csoportok +MenuMyUserCard=My user card LastGroupsCreated=Utolsó %s létrehozott csoport LastUsersCreated=Utolsó %s létrehozott felhasználó ShowGroup=Csoport mutatása diff --git a/htdocs/langs/hu_HU/workflow.lang b/htdocs/langs/hu_HU/workflow.lang index 23c05f85171..7d2de176f27 100644 --- a/htdocs/langs/hu_HU/workflow.lang +++ b/htdocs/langs/hu_HU/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modul beállítása -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Nincs munkafolyamat akkor lehet módosítani a modul aktiválása. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Létrehozása után automatikusan az ügyfelek érdekében a kereskedelmi javaslat aláírt -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát után automatikusan egy kereskedelmi javaslat aláírt -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát után automatikusan érvényesíti a szerződés -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Hozzon létre egy vásárlói számlát követően automatikusan az ügyfelek érdekében van zárva +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/id_ID/accountancy.lang b/htdocs/langs/id_ID/accountancy.lang index 349fd3e2469..f3ad8d5fc79 100644 --- a/htdocs/langs/id_ID/accountancy.lang +++ b/htdocs/langs/id_ID/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Akuntansi Globalparameters=Parameter Global @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Panjang akun pihak ketiga ACCOUNTING_SELL_JOURNAL=Jurnal Penjualan ACCOUNTING_PURCHASE_JOURNAL=Jurnal Pembelian -ACCOUNTING_BANK_JOURNAL=Jurnal Bank -ACCOUNTING_CASH_JOURNAL=Jurnal Kas ACCOUNTING_MISCELLANEOUS_JOURNAL=Jurnal lain-lain +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Jurnal Sosial ACCOUNTING_ACCOUNT_TRANSFER_CASH=Akun transfer diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 32d55507066..5a42d4d3cd2 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu Pengguna LangFile=berkas .lang System=Sistem SystemInfo=Sistem Informasi -SystemTools=Alat-alat Sistem SystemToolsArea=Daerah Alat-Alat Sistem SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Perbersihan @@ -232,8 +231,8 @@ Security=Keamanan Passwords=Kata Sandi DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Keistimewaan @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Pilih Modul +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Versi Dolibarr saat ini CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Versi stabil terakhir @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Kembali Ke Daftar Modul BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Kode Pos CompanyTown=Kota CompanyCountry=Negara CompanyCurrency=Mata Uang +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Penundaan @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/id_ID/banks.lang b/htdocs/langs/id_ID/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/id_ID/banks.lang +++ b/htdocs/langs/id_ID/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index dc23045e239..1c8a7acb1de 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/id_ID/boxes.lang b/htdocs/langs/id_ID/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/id_ID/boxes.lang +++ b/htdocs/langs/id_ID/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/id_ID/categories.lang b/htdocs/langs/id_ID/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/id_ID/categories.lang +++ b/htdocs/langs/id_ID/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/id_ID/companies.lang b/htdocs/langs/id_ID/companies.lang index 15a3668333c..3dedafb526f 100644 --- a/htdocs/langs/id_ID/companies.lang +++ b/htdocs/langs/id_ID/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/id_ID/cron.lang b/htdocs/langs/id_ID/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/id_ID/cron.lang +++ b/htdocs/langs/id_ID/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/id_ID/incoterm.lang b/htdocs/langs/id_ID/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/id_ID/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index 278965595b2..2b0a30c6bbc 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/id_ID/languages.lang b/htdocs/langs/id_ID/languages.lang index 87ed5359bfa..e87b2028d84 100644 --- a/htdocs/langs/id_ID/languages.lang +++ b/htdocs/langs/id_ID/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arab Language_ar_SA=Arab +Language_bn_BD=Bengali Language_bg_BG=Bulgaria Language_bs_BA=Bosnia Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=Bahasa Inggris (Amerika Serikat) Language_en_ZA=Inggris (Afrika Selatan) Language_es_ES=Spanyol -Language_es_DO=Spanyol (Republik Dominika) Language_es_AR=Spanyol (Argentina) Language_es_CL=Spanyol (Cili) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanyol (Republik Dominika) Language_es_HN=Spanyol (Honduras) Language_es_MX=Spanyol (Mexico) Language_es_PY=Spanyol (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesia Language_is_IS=Icelandic Language_it_IT=Italia Language_ja_JP=Jepang +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korea +Language_lo_LA=Lao Language_lt_LT=Lithuania Language_lv_LV=Latvia Language_mk_MK=Macedonia @@ -64,6 +69,7 @@ Language_sv_SV=Swedia Language_sv_SE=Swedia Language_sq_AL=Albania Language_sk_SK=Slovakia +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukraina Language_uz_UZ=Uzbek diff --git a/htdocs/langs/id_ID/loan.lang b/htdocs/langs/id_ID/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/id_ID/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/id_ID/mails.lang b/htdocs/langs/id_ID/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/id_ID/mails.lang +++ b/htdocs/langs/id_ID/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index c7c79e7f816..d6ea85849e3 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/id_ID/orders.lang b/htdocs/langs/id_ID/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/id_ID/orders.lang +++ b/htdocs/langs/id_ID/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/id_ID/other.lang b/htdocs/langs/id_ID/other.lang index 53d17128e9b..7a38b9f6aba 100644 --- a/htdocs/langs/id_ID/other.lang +++ b/htdocs/langs/id_ID/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/id_ID/printing.lang b/htdocs/langs/id_ID/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/id_ID/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/id_ID/productbatch.lang b/htdocs/langs/id_ID/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/id_ID/productbatch.lang +++ b/htdocs/langs/id_ID/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/id_ID/propal.lang b/htdocs/langs/id_ID/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/id_ID/propal.lang +++ b/htdocs/langs/id_ID/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/id_ID/salaries.lang b/htdocs/langs/id_ID/salaries.lang index 17b07d2a8b7..2d3f19f267d 100644 --- a/htdocs/langs/id_ID/salaries.lang +++ b/htdocs/langs/id_ID/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Menampilkan Pembayaran Gaji THM=rata - rata per jam TJM=rata - rata per hari CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/id_ID/sendings.lang b/htdocs/langs/id_ID/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/id_ID/sendings.lang +++ b/htdocs/langs/id_ID/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/id_ID/suppliers.lang b/htdocs/langs/id_ID/suppliers.lang index 7fbe40785a5..19c08add7d4 100644 --- a/htdocs/langs/id_ID/suppliers.lang +++ b/htdocs/langs/id_ID/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Terkirim ke suplier ListOfSupplierOrders=Daftar pesanan suplier MenuOrdersSupplierToBill=Pesanan suplier menjadi invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/id_ID/trips.lang b/htdocs/langs/id_ID/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/id_ID/trips.lang +++ b/htdocs/langs/id_ID/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/id_ID/users.lang b/htdocs/langs/id_ID/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/id_ID/users.lang +++ b/htdocs/langs/id_ID/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/id_ID/workflow.lang b/htdocs/langs/id_ID/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/id_ID/workflow.lang +++ b/htdocs/langs/id_ID/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/is_IS/accountancy.lang b/htdocs/langs/is_IS/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/is_IS/accountancy.lang +++ b/htdocs/langs/is_IS/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index 3d326fa5fb0..e0615aa6de0 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Matseðill fyrir notendur LangFile=Skrá. Lang System=Kerfi SystemInfo=System Information -SystemTools=System tækjum SystemToolsArea=Kerfi verkfæri area SystemToolsAreaDesc=Þetta svæði býður upp á gjöf lögun. Notaðu valmyndina til að velja aðgerðina sem þú ert að leita að. Purge=Purge @@ -232,8 +231,8 @@ Security=Öryggi Passwords=Lykilorð DoNotStoreClearPassword=Gera ekki geyma skýrar lykilorð í gagnagrunninum en geyma aðeins dulkóðuð gildi (Virkja mælt með) MainDbPasswordFileConfEncrypted=Gagnasafn lykilorð dulkóðuð í conf.php (Virkja mælt með) -InstrucToEncodePass=Til að fá lykilorðið kóðuð í conf.php skrá, skipta um línu
$ Dolibarr_main_db_pass ="..."
eftir
$ Dolibarr_main_db_pass = "crypted: %s " -InstrucToClearPass=Til að fá lykilorð lesa úr leyniletri (ljóst) í conf.php skrá, skipta um línu
$ Dolibarr_main_db_pass = "crypted :..."
eftir
$ Dolibarr_main_db_pass = " %s " +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=Verndun mynda pdf skrá (Virkja EKKI mælt, brýtur massi pdf-kynslóð) ProtectAndEncryptPdfFilesDesc=Verndun á PDF skjal heldur laus við að lesa og prenta með einhverju PDF vafra. Hins vegar útgáfa og afritun er ekki hægt lengur. Athugaðu að nota þennan eiginleika að byggja upp alþjóðlegt cumulated Pdf ekki að vinna (eins og ógreiddra reikninga). Feature=Lögun @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Þetta er skipulag unnið: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Skref %s FindPackageFromWebSite=Finna pakki sem veitir lögun þú vilt (td á heimasíðu %s ). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Setja er lokið og Dolibarr er tilbúinn til notkunar með þessu nýja hluti. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr núverandi útgáfa CallUpdatePage=Fara á næstu síðu sem að endurnýja gagnagrunn uppbyggingu og gögn: %s . LastStableVersion=Síðasta stöðuga útgáfa @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar sameining -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Dagskrá Module2400Desc=Aðgerðir / verkefni og dagskrá stjórnun Module2500Name=Rafræn Innihald Stjórnun Module2500Desc=Vista og samnýta skjöl -Module2600Name=WebServices -Module2600Desc=Virkja Dolibarr vefþjónusta miðlara +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Skipulag vistuð BackToModuleList=Til baka í mát lista BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Land CompanyCurrency=Main gjaldmiðil +CompanyObject=Object of the company Logo=Logo DoNotShow=Ekki sýna ekki DoNotSuggestPaymentMode=Ekki benda ekki til NoActiveBankAccountDefined=Engin virk bankareikning skilgreind OwnerOfBankAccount=Eigandi bankareikning %s BankModuleNotActive=Bankareikninga mát ekki virkt -ShowBugTrackLink=Sýna tengilinn "Report galla" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Sýning "vinnubekkur" á heimasíðu Alerts=Alerts Delays=Tafir @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max brotum um verð eining MAIN_MAX_DECIMALS_TOT=Max brotum fyrir heildar verð MAIN_MAX_DECIMALS_SHOWN=Max brotum um verð birtist á skjánum (Bæta við ... eftir þetta númer ef þú vilt sjá ... þegar tala er minnkaður þegar sýnt á skjá) MAIN_DISABLE_PDF_COMPRESSION=Nota PDF þjöppun fyrir mynda PDF skrár. -MAIN_ROUNDING_RULE_TOT= Stærð lokið máli mínu svið (til Sjaldgæf löndum þar sem lokið máli mínu er lokið á eitthvað annað en stöð 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Hrein einingaverð vöru TotalPriceAfterRounding=Samtals verð (net / VSK / incl skatt) eftir lokið máli mínu ParameterActiveForNextInputOnly=Breytu gildi fyrir næsta inntak aðeins @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Stuðningur Eco-Taxe (raf-og rafeindabúnaðarúrgang) SetDefaultBarcodeTypeProducts=Default barcode tegund til nota fyrir vörur SetDefaultBarcodeTypeThirdParties=Default barcode tegund til notkunar fyrir þriðju aðila +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Strikamerki af gerðinni UPC BarcodeDescISBN=Strikamerki af gerðinni ISBN BarcodeDescC39=Strikamerki á C39 tegund BarcodeDescC128=Strikamerki af gerðinni 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 @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices mát skipulag WebServicesDesc=Með því að gera þessa græju Dolibarr verða þjónustu vefþjóni til að veita ýmiss konar þjónustu á vefnum. WSDLCanBeDownloadedHere=WSDL lýsing skrá sem kveðið er serviceses má sækja hér EndPointIs=SOAP viðskiptavini verður að senda beiðni sinni til Dolibarr endapunkt til eru um Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank einingu skipulag FreeLegalTextOnChequeReceipts=Frjáls texti á kvittunum athuga @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/is_IS/banks.lang b/htdocs/langs/is_IS/banks.lang index fdddb8321d9..6810c60c503 100644 --- a/htdocs/langs/is_IS/banks.lang +++ b/htdocs/langs/is_IS/banks.lang @@ -94,12 +94,12 @@ Conciliate=Samræmdu Conciliation=Sættir ConciliationForAccount=Samræmdu þennan reikning IncludeClosedAccount=Hafa loka reikningum -OnlyOpenedAccount=Aðeins opnað reikninga +OnlyOpenedAccount=Only open accounts AccountToCredit=Reikningur til að lána AccountToDebit=Reikning til skuldfærslu DisableConciliation=Slökkva á sáttum lögun fyrir þennan reikning ConciliationDisabled=Sættir lögun fatlaðra -StatusAccountOpened=Opnaður +StatusAccountOpened=Open StatusAccountClosed=Loka AccountIdShort=Fjöldi EditBankRecord=Breyta færslu diff --git a/htdocs/langs/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index 1fa4a21c586..12385cac807 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Skjótur @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/is_IS/boxes.lang b/htdocs/langs/is_IS/boxes.lang index b6200d0a78e..73d04f2b36f 100644 --- a/htdocs/langs/is_IS/boxes.lang +++ b/htdocs/langs/is_IS/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Síðasta samninga BoxLastContacts=Síðustu tengiliðir / Vistfang BoxLastMembers=Síðustu meðlimir BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Velta Velta BoxTotalUnpaidCustomerBills=reikningum Samtals launalaust viðskiptavinar BoxTotalUnpaidSuppliersBills=reikningum Samtals launalaust birgis @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Velta Velta BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/is_IS/categories.lang b/htdocs/langs/is_IS/categories.lang index 6a6769cfc33..7022f0e816c 100644 --- a/htdocs/langs/is_IS/categories.lang +++ b/htdocs/langs/is_IS/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully= %s var bætt við. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=Þessi flokkur er þegar til með þessu tilv @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Efnisyfirlit ekki sýnileg um alla CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / Prosp. Flokkur @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/is_IS/companies.lang b/htdocs/langs/is_IS/companies.lang index f46c9383cc2..1f0feac7c1f 100644 --- a/htdocs/langs/is_IS/companies.lang +++ b/htdocs/langs/is_IS/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Alger afslættir í boði DiscountNone=None Supplier=Birgir CompanyList=Companie's listi -AddContact=Bæta við tengilið / heimilisfang -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Breyta tengilið / netfang EditContactAddress=Edit contact/address Contact=Hafðu samband @@ -268,8 +268,8 @@ ContactsAddresses=Tengiliðir / Vistfang NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=Engar skilgreind fyrir þessa þriðja aðila DefaultContact=Default samband -AddCompany=Bæta við fyrirtæki -AddThirdParty=Bæta við þriðja aðila +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Eyða fyrirtæki PersonalInformations=Persónuupplýsingar AccountancyCode=Bókhalds kóða @@ -379,8 +379,8 @@ DeliveryAddressLabel=Skila inn miðanum DeleteDeliveryAddress=Eyða skila inn ConfirmDeleteDeliveryAddress=Ertu viss um að þú viljir eyða þessum að skila inn? NewDeliveryAddress=Ný sending heimilisfang -AddDeliveryAddress=Bæta við heimilisfangi -AddAddress=Bæta við heimilisfangi +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=Engar val á að skila inn skilgreint SupplierCategory=Birgir flokkur JuridicalStatus200=Independent @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Fara aftur numero með snið %s yymm-NNNN fyrir kóða viðskiptavina og %s yymm-NNNN fyrir númer birgja þar sem YY er ári, mm er mánuður og NNNN er röð án brot og ekki aftur snúið til 0. LeopardNumRefModelDesc=Viðskiptavinur / birgir númerið er ókeypis. Þessi kóði getur breytt hvenær sem er. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/is_IS/cron.lang b/htdocs/langs/is_IS/cron.lang index af03d82d7bb..cde8942167f 100644 --- a/htdocs/langs/is_IS/cron.lang +++ b/htdocs/langs/is_IS/cron.lang @@ -4,10 +4,10 @@ About = Um CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Upphafsdagur CronDtEnd=Lokadagur CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Aðferð CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Breytur CronSaveSucess=Save succesfully CronNote=Athugasemd @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index ca349e46924..9b5fa2bce80 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/is_IS/incoterm.lang b/htdocs/langs/is_IS/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/is_IS/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 7aa233a456a..32c6fc62912 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Gagnasafn framreiðslumaður - Ofurpaur aðgang CheckToCreateDatabase=Hakaðu í reitinn ef gagnagrunnur er ekki til og því þarf að skapa.
Í þessum tilfellum verður þú að fylla tenging / lykilorð til Ofurpaur reikning neðst á þessari síðu. CheckToCreateUser=Hakaðu í reitinn ef gagnasafn eigandi er ekki til og því þarf að skapa.
Í þessum tilfellum verður þú að velja notandanafn og lykilorð og einnig fylla tenging / lykilorð til að Ofurpaur reikning neðst á þessari síðu. Ef þessi kassi er valið, eigandi gagnagrunn og lykilorð hans verður að vera til. Experimental=(Á tilraunastigi) +Deprecated=(deprecated) DatabaseRootLoginDescription=Innskráning á notanda leyft að búa til nýja gagnagrunna eða nýr notandi, gagnslaus ef gagnasafninu og gagnasafn innskráningu þegar til (eins og þegar þú ert haldin af vefþjónusta fyrir hendi). KeepEmptyIfNoPassword=Leyfi tómur ef notandi hefur ekki aðgangsorð (forðast þetta) SaveConfigurationFile=Vista gildi diff --git a/htdocs/langs/is_IS/languages.lang b/htdocs/langs/is_IS/languages.lang index ee9ed586a3d..0f066c6db55 100644 --- a/htdocs/langs/is_IS/languages.lang +++ b/htdocs/langs/is_IS/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabíska +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosníska Language_ca_ES=Katalónska @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=Enska (United States) Language_en_ZA=English (Suður Afríka) Language_es_ES=Spænska -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spænska (Austria) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spænska (Hondúras) Language_es_MX=Spænska (Mexíkó) Language_es_PY=Spænska (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Íslenska Language_it_IT=Italien Language_ja_JP=Japanska +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Lettneska Language_mk_MK=Makedónska @@ -64,6 +69,7 @@ Language_sv_SV=Sænska Language_sv_SE=Sænska Language_sq_AL=Albanian Language_sk_SK=Slóvakísku +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Úsbekska diff --git a/htdocs/langs/is_IS/loan.lang b/htdocs/langs/is_IS/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/is_IS/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/is_IS/mails.lang b/htdocs/langs/is_IS/mails.lang index b99aa9b8fd8..b399083fb49 100644 --- a/htdocs/langs/is_IS/mails.lang +++ b/htdocs/langs/is_IS/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index 7260b333a2c..844717bd4a2 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit verð (nettó) UnitPriceTTC=Eining verðs PriceU=UPP PriceUHT=UP (nettó) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UPP Amount=Upphæð AmountInvoice=Invoice upphæð @@ -413,6 +413,8 @@ Qty=Magn ChangedBy=Breytt af ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Velgengni ResultKo=Bilun @@ -421,7 +423,7 @@ Reportings=Skýrslur Draft=Víxill Drafts=Drög Validated=Staðfestar -Opened=Opnaður +Opened=Open New=New Discount=Afsláttur Unknown=Óþekkt @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Mánudagur Tuesday=Þriðjudagur @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/is_IS/orders.lang b/htdocs/langs/is_IS/orders.lang index eefcdf2edba..60533ae8ebd 100644 --- a/htdocs/langs/is_IS/orders.lang +++ b/htdocs/langs/is_IS/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Birgir röð SuppliersOrders=pantanir birgis SuppliersOrdersRunning=pantanir Current birgis CustomerOrder=Viðskiptavinur röð -CustomersOrders=Customers orders -CustomersOrdersRunning=pantanir Núverandi viðskiptavinur ' -CustomersOrdersAndOrdersLines=Viðskiptavinur pantanir og línur til þess -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Pantanir birgðasala til að ganga +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Hætt við StatusOrderDraftShort=Víxill StatusOrderValidatedShort=Staðfestar @@ -75,8 +75,9 @@ AddToMyOrders=Bæta við pöntunum minn AddToOtherOrders=Bæta við aðrar skipanir AddToDraftOrders=Add to draft order ShowOrder=Sýna röð -NoOpenedOrders=Nei opnaði pantanir -NoOtherOpenedOrders=Engin önnur opnaði pantanir +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Aðrar skipanir LastOrders=Last %s customer orders diff --git a/htdocs/langs/is_IS/other.lang b/htdocs/langs/is_IS/other.lang index c777197bdfe..485ffc7841f 100644 --- a/htdocs/langs/is_IS/other.lang +++ b/htdocs/langs/is_IS/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention staðfestar Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Viðskiptavinur Reikningar staðfestar Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Birgir röð samþykkt Notify_ORDER_SUPPLIER_REFUSE=Birgir þess neitaði Notify_ORDER_VALIDATE=Viðskiptavinur til setja í gildi @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Bæta við færslu í dagbók %s diff --git a/htdocs/langs/is_IS/printing.lang b/htdocs/langs/is_IS/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/is_IS/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/is_IS/productbatch.lang b/htdocs/langs/is_IS/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/is_IS/productbatch.lang +++ b/htdocs/langs/is_IS/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index 278ac3161f0..69e907f738a 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -23,14 +23,14 @@ ProductOrService=Vara eða þjónusta ProductsAndServices=Vörur og þjónusta ProductsOrServices=Vara eða þjónusta ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Vörur og þjónusta tölfræði ProductsStatistics=Vörur tölfræði -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Innri tilvísun LastRecorded=Síðasta vörur / þjónustu á selja á skrá @@ -44,7 +44,7 @@ CardProduct1=Þjónusta kort CardContract=Samningur kort Warehouse=Lager Warehouses=Vöruhús -WarehouseOpened=Warehouse opna +WarehouseOpened=Warehouse open WarehouseClosed=Lager lokaður Stock=Stock Stocks=Verðbréf @@ -71,21 +71,21 @@ SellingPriceTTC=Söluverð (Inc skatt) PublicPrice=Almenn verð CurrentPrice=Núverandi verð NewPrice=Ný verð -MinPrice=Minim. Söluverð -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Söluverð er ekki vera lægra en lágmarks leyfð fyrir þessa vöru ( %s án skatta) ContractStatus=Samningur stöðu ContractStatusClosed=Loka -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=útrunnið -ContractStatusOnHold=Ekki í keyrslu -ContractStatusToRun=To get running -ContractNotRunning=Þessi samningur er ekki í gangi +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Vara með% tilvísun s er þegar til. ErrorProductBadRefOrLabel=Wrong gildi fyrir tilvísun eða merki. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Birgjar SupplierRef=Birgir dómari. ShowProduct=Sýna vörur @@ -117,12 +117,12 @@ ServiceLimitedDuration=Ef varan er þjónusta við takmarkaðan tíma: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Fjöldi verð MultiPriceLevelsName=Verð flokkar -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Félagi Translation=Þýðing KeywordFilter=Leitarorð sía @@ -131,7 +131,7 @@ ProductToAddSearch=Leita vara til að bæta AddDel=Bæta við / Eyða Quantity=Magn NoMatchFound=Engin samsvörun fannst -ProductAssociationList=Listi yfir tengdum vörum / þjónustu: nafn á vöru / þjónustu (magn áhrifum) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Einn af völdum vöru er foreldri með núverandi vöru DeleteProduct=Eyða vöru / þjónustu @@ -179,16 +179,41 @@ CloneProduct=Klóna vöru eða þjónustu ConfirmCloneProduct=Ertu viss um að þú viljir klón vöru eða þjónustu %s ? CloneContentProduct=Klóna allar helstu upplýsingar um vöru / þjónustu ClonePricesProduct=Klóna helstu upplýsingar og verð -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Þessi vara er notuð NewRefForClone=Tilv. nýrra vara / þjónusta -CustomerPrices=Viðskiptavinir verð -SuppliersPrices=Birgjar verð -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Tollareglna CountryOrigin=Uppruni land HiddenIntoCombo=Falinn í að velja lista Nature=Náttúra +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index 5a923bd6b68..c50b79420ab 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Þetta sýnir öll verkefni sem þú ert að fá að lesa. ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Þetta sýnir öll verkefni (notandi heimildir veita þér leyfi til að skoða allt). MyTasksDesc=Þessi skoðun er takmörkuð við verkefni eða verkefni sem þú ert að hafa samband við (hvað sem er gerð). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Þetta sýnir öll verkefni og verkefni sem þú ert að fá að lesa. TasksDesc=Þetta sýnir öll verkefni og verkefni (notandi heimildir veita þér leyfi til að skoða allt). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Listi yfir verkefni ShowProject=Sýna verkefni SetProject=Setja verkefni NoProject=Engin verkefni skilgreind eða í eigu -NbOpenTasks=ATH að opna verkefni +NbOpenTasks=Nb of open tasks NbOfProjects=ATH verkefna TimeSpent=Tíma sem fer TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Nýr tími MyTimeSpent=Minn tími var @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Listi yfir inngrip í tengslum við verkefnið ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Listi yfir aðgerðir í tengslum við verkefnið +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Afþreying á verkefni í þessari viku ActivityOnProjectThisMonth=Afþreying á verkefni í þessum mánuði ActivityOnProjectThisYear=Afþreying á verkefni á þessu ári @@ -95,7 +96,7 @@ DeleteATimeSpent=Eyða tíma ConfirmDeleteATimeSpent=Ertu viss um að þú viljir eyða þessum tíma varið? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Verkefni hollur til þessa þriðja aðila NoTasks=Engin verkefni fyrir þetta verkefni LinkedToAnotherCompany=Tengjast öðrum þriðja aðila @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/is_IS/propal.lang b/htdocs/langs/is_IS/propal.lang index d6dea93eb07..4a4f1016a81 100644 --- a/htdocs/langs/is_IS/propal.lang +++ b/htdocs/langs/is_IS/propal.lang @@ -4,7 +4,7 @@ Proposal=Auglýsing tillögu ProposalShort=Tillaga ProposalsDraft=Drög að auglýsing tillögur ProposalDraft=Drög að auglýsing tillögu -ProposalsOpened=Opnaður auglýsing tillögur +ProposalsOpened=Open commercial proposals Prop=Auglýsing tillögur CommercialProposal=Auglýsing tillögu CommercialProposals=Auglýsing tillögur @@ -16,7 +16,7 @@ Prospect=Prospect ProspectList=Prospect lista DeleteProp=Eyða auglýsing tillögu ValidateProp=Staðfesta auglýsing tillögu -AddProp=Bæta við tillögu +AddProp=Create proposal ConfirmDeleteProp=Ertu viss um að þú viljir eyða þessum viðskiptum tillögur? ConfirmValidateProp=Ertu viss um að þú viljir að sannprófa þetta auglýsing tillögur? LastPropals=Last %s tillögur @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Upphæð eftir mánuði (að frádregnum skatti) NbOfProposals=Fjöldi viðskipta tillögur ShowPropal=Sýna tillögu PropalsDraft=Drög -PropalsOpened=Opnaður +PropalsOpened=Open PropalsNotBilled=Lokað billed ekki PropalStatusDraft=Víxill (þarf að vera staðfest) PropalStatusValidated=Staðfestar (Tillagan er opið) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Ekki skráð (lokað) PropalStatusBilled=Billed PropalStatusDraftShort=Víxill PropalStatusValidatedShort=Staðfestar -PropalStatusOpenedShort=Opnaður +PropalStatusOpenedShort=Open PropalStatusClosedShort=Loka PropalStatusSignedShort=Innsigli PropalStatusNotSignedShort=Ekki skráð @@ -51,12 +51,10 @@ PropalsToClose=Auglýsing um tillögur um að loka PropalsToBill=Undirritað auglýsing tillögur að frumvarpi ListOfProposals=Listi yfir auglýsing tillögur ActionsOnPropal=Aðgerðir á tillögu -NoOpenedPropals=Nei opnaði auglýsing tillögur -NoOtherOpenedPropals=Engin önnur opnaði auglýsing tillögur +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Auglýsing tillögu dómari SendPropalByMail=Senda auglýsing tillögu með tölvupósti -FileNotUploaded=Skráin var ekki birt -FileUploaded=Skráin tókst að hlaða inn AssociatedDocuments=Skjöl sem tengd er við tillögu: ErrorCantOpenDir=Get ekki opnað skrá DatePropal=Dagsetning tillögu @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s fannst ekki Estimate=Áætlun: EstimateShort=Áætlun OtherPropals=Aðrar tillögur -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Búa auglýsing tillögu með því að afrita það sem tillaga CreateEmptyPropal=Búa til tóm auglýsing tillögur vierge eða lista yfir vörur / þjónustu DefaultProposalDurationValidity=Default auglýsing tillögu Gildistími Lengd (í dögum) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=Viðskiptavinur samband eftirfarandi upp ti # Document models DocModelAzurDescription=A heill tillögu líkan (logo. ..) DocModelJauneDescription=Jaune tillögu líkan -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/is_IS/salaries.lang b/htdocs/langs/is_IS/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/is_IS/salaries.lang +++ b/htdocs/langs/is_IS/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/is_IS/sendings.lang b/htdocs/langs/is_IS/sendings.lang index 40d0f918aa2..b37f32cab64 100644 --- a/htdocs/langs/is_IS/sendings.lang +++ b/htdocs/langs/is_IS/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Einföld skjal líkan DocumentModelMerou=Merou A5 líkan WarningNoQtyLeftToSend=Aðvörun, að engar vörur sem bíður sendar. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Flugvél fæðingardag +DateDeliveryPlanned=Planned date of delivery DateReceived=Date sending berast SendShippingByEMail=Senda sendingu með tölvupósti SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index d47c1328207..385190f10bc 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Vöruhús NewWarehouse=Nýr lager / lager area WarehouseEdit=Breyta vörugeymsla MenuNewWarehouse=Nýr lager -WarehouseOpened=Warehouse opna +WarehouseOpened=Warehouse open WarehouseClosed=Lager lokaður WarehouseSource=Heimild vörugeymsla WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Veldu vöruhús að nota til lækkunar hlutabré SelectWarehouseForStockIncrease=Veldu vöruhús að nota fyrir hækkun hlutabréfa NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/is_IS/suppliers.lang b/htdocs/langs/is_IS/suppliers.lang index 6abb9995b6e..df46af9b482 100644 --- a/htdocs/langs/is_IS/suppliers.lang +++ b/htdocs/langs/is_IS/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/is_IS/trips.lang b/htdocs/langs/is_IS/trips.lang index 9561390dfb5..1243c0ca105 100644 --- a/htdocs/langs/is_IS/trips.lang +++ b/htdocs/langs/is_IS/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Listi yfir gjöld NewTrip=New expense report CompanyVisited=Fyrirtæki / stofnun heimsótt @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/is_IS/users.lang b/htdocs/langs/is_IS/users.lang index a21dab91a6c..97d0a755520 100644 --- a/htdocs/langs/is_IS/users.lang +++ b/htdocs/langs/is_IS/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Fjarlægja úr hópi PasswordChangedAndSentTo=Lykilorð breyst og sendur til %s . PasswordChangeRequestSent=Beiðni um að breyta lykilorðinu fyrir %s sent til %s . MenuUsersAndGroups=Notendur & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s búinn til hópa LastUsersCreated=Last %s notendur skapa ShowGroup=Sýna hópur diff --git a/htdocs/langs/is_IS/workflow.lang b/htdocs/langs/is_IS/workflow.lang index 918043c65aa..318c4eeedb3 100644 --- a/htdocs/langs/is_IS/workflow.lang +++ b/htdocs/langs/is_IS/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Vinnuflæði mát skipulag -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Það er ekki workflow hægt að breyta fyrir einingu sem þú hefur valið. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Búa til viðskiptavina röð sjálfkrafa eftir verslunar Tillagan er undirrituð -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir verslunar Tillagan er undirrituð -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir að samningur er staðfest -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Búa til viðskiptavina reikning sjálfkrafa eftir að viðskiptavinur þess er lokað +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index a62039e19da..3210a2e91fe 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -11,7 +11,7 @@ VersionRecommanded=Raccomandata FileCheck=Integrità dei file FilesMissing=File mancanti FilesUpdated=File aggiornati -FileCheckDolibarr=Check Dolibarr Files Integrity +FileCheckDolibarr=Controlla l'integrità dei file di Dolibarr XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID di sessione SessionSaveHandler=Handler per il salvataggio dell sessioni @@ -149,7 +149,6 @@ MenuForUsers=Menu per gli utenti LangFile=file .lang System=Sistema SystemInfo=Informazioni di sistema -SystemTools=Strumenti di gestione SystemToolsArea=Sezione strumenti di gestione del sistema SystemToolsAreaDesc=Questa sezione offre funzioni di gestione. Utilizzare il menu per scegliere la funzione che stai cercando. Purge=Pulizia @@ -232,8 +231,8 @@ Security=Sicurezza Passwords=Password DoNotStoreClearPassword=Non memorizzare le password in chiaro nel database (raccomandato) MainDbPasswordFileConfEncrypted=Password del database crittata in conf.php (raccomandato) -InstrucToEncodePass=Per conservare le password codificate (criptate) nel file conf.php, sostituire la riga
dolibarr_main_db_pass $ ="..."
con
>$dolibarr_main_db_pass="crypted:..." -InstrucToClearPass=Per conservare le password decodificate (in chiaro) nel file conf.php, sostituire la riga
$dolibarr_main_db_pass="crypted:..."
con
$dolibarr_main_db_pass="%s" +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=Protezione e crittografia dei PDF generati ProtectAndEncryptPdfFilesDesc=La protezione di un documento PDF rende possibile solo la lettura e la stampa con qualsiasi browser. La modifica e la copia non sono più possibili. Feature=Caratteristica @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Il procedimento da seguire è: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Passo %s FindPackageFromWebSite=Trova un pacchetto che fornisca la funzionalità desiderata (per esempio su %s). -DownloadPackageFromWebSite=Scaricare il pacchetto %s. -UnpackPackageInDolibarrRoot=Scompatta il pacchetto nella directory dei moduli esterni: %s +DownloadPackageFromWebSite=Scarica il pacchetto (per esempio dal sito ufficiale %s). +UnpackPackageInDolibarrRoot=Scompatta il pacchetto sul server nella directory dedicata ai moduli esterni: %s SetupIsReadyForUse=Installazione completata. Dolibarr è pronto ad utilizzare questo nuovo componente. NotExistsDirect=La directory root alternativa non è stata definita.
InfDirAlt=A partire dalla versione 3 è possibile definire una directory root alternativa. Ciò permette di archiviare plugin e template personalizzati nello stesso posto.
Basta creare una directory nella root di Dolibarr ( per esempio custom).
InfDirExample=
Poi dichiaralo nel file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Queste righe sono commentate con il "#", per levare il commento basta rimuovere il cancelletto. -YouCanSubmitFile=Seleziona modulo: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Versione attuale di Dolibarr CallUpdatePage=Vai alla pagina che aggiorna la struttura del database e dati su %s. LastStableVersion=Ultima versione stabile @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=La lista dei parametri viene da una tabella
Sint ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Libreria utilizzata per generare PDF WarningUsingFPDF=Avviso: Il tuo conf.php contiene la direttiva dolibarr_pdf_force_fpdf = 1. Questo significa che si utilizza la libreria FPDF per generare file PDF. Questa libreria è obsoleta e non supporta un molte funzioni (Unicode, trasparenza dell'immagine, lingue cirillico, arabo e asiatico, ...), quindi potrebbero verificarsi errori durante la generazione di file PDF.
Per risolvere questo problema ed avere un supporto completo di generazione di file PDF, scarica biblioteca TCPDF , quindi commentare o rimuovere la riga $ dolibarr_pdf_force_fpdf = 1, e aggiungere invece $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Per testare l'indirizzo ClickToDial dell'utente %s, inserisci un numero di telefono RefreshPhoneLink=Link Aggiorna @@ -492,12 +491,12 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Calendario web Module410Desc=Integrazione calendario web -Module500Name=Spese speciali (tasse, contributi sociali, dividendi) +Module500Name=Spese speciali Module500Desc=Amministrazione delle spese speciali quali tasse, contributi sociali, dividendi e salari. Module510Name=Stipendi Module510Desc=Management of employees salaries and payments Module520Name=Prestito -Module520Desc=Management of loans +Module520Desc=Gestione dei prestiti Module600Name=Notifiche Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donazioni @@ -510,22 +509,24 @@ Module1200Name=Mantis Module1200Desc=Integrazione Mantis Module1400Name=Contabilità avanzata Module1400Desc=Gestione contabilità per esperti (partita doppia) -Module1520Name=Document Generation +Module1520Name=Generazione dei documenti Module1520Desc=Mass mail document generation Module1780Name=Tag/categorie Module1780Desc=Crea tag / categorie (prodotti, clienti, fornitori, contatti o membri) Module2000Name=FCKeditor Module2000Desc=Permette di usare un editor avanzato per alcune aree di testo -Module2200Name=Dynamic Prices -Module2200Desc=Enable the usage of math expressions for prices +Module2200Name=Prezzi dinamici +Module2200Desc=Abilita l'utilizzo di espressioni matematiche per i prezzi Module2300Name=Cron Module2300Desc=Gestione delle operazioni pianificate Module2400Name=Ordine del giorno Module2400Desc=Gestione eventi/compiti e ordine del giorno Module2500Name=Gestione dei contenuti digitali Module2500Desc=Salvare e condividere documenti -Module2600Name=WebServices -Module2600Desc=Attivare i webservices di Dolibarr +Module2600Name=API (Web services SOAP) +Module2600Desc=Attiva il server SOAP che fornisce i servizi di API +Module2610Name=API (Web services REST) +Module2610Desc=Attiva il server REST che fornisce i servizi di API Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -541,7 +542,7 @@ Module6000Name=Flusso di lavoro Module6000Desc=Gestione flussi di lavoro Module20000Name=Gestione delle richieste di permesso Module20000Desc=Declare and follow employees leaves requests -Module39000Name=Product lot +Module39000Name=Lotto di produzione Module39000Desc=Lot or serial number, eat-by and sell-by date management on products Module50000Name=PayBox Module50000Desc=Modulo per offrire il pagamento online con PayBox @@ -713,14 +714,14 @@ Permission402=Creare/modificare sconti Permission403=Convalidare sconti Permission404=Eliminare sconti Permission510=Read Salaries -Permission512=Create/modify salaries +Permission512=Crea/modifica stipendi Permission514=Delete salaries -Permission517=Export salaries +Permission517=Esporta stipendi Permission520=Read Loans -Permission522=Create/modify loans -Permission524=Delete loans +Permission522=Crea/modifica prestiti +Permission524=Elimina prestiti Permission525=Access loan calculator -Permission527=Export loans +Permission527=Esporta prestiti Permission531=Vedere servizi Permission532=Creare/modificare servizi Permission534=Eliminare servizi @@ -800,7 +801,7 @@ DictionaryCountry=Paesi DictionaryCurrency=Valute DictionaryCivility=Titoli civili DictionaryActions=Tipi di azioni/eventi -DictionarySocialContributions=Social contributions types +DictionarySocialContributions=Tipi di contributi DictionaryVAT=Aliquote IVA o Tasse di vendita DictionaryRevenueStamp=Ammontare dei valori bollati DictionaryPaymentConditions=Termini di pagamento @@ -812,11 +813,13 @@ DictionaryFees=Tipi di tasse DictionarySendingMethods=Metodi di spedizione DictionaryStaff=Personale DictionaryAvailability=Ritardo di consegna -DictionaryOrderMethods=Ordering methods -DictionarySource=Origin of proposals/orders +DictionaryOrderMethods=Metodi di ordinazione +DictionarySource=Origine delle proposte/ordini DictionaryAccountancyplan=Piano dei conti DictionaryAccountancysystem=Modelli per piano dei conti DictionaryEMailTemplates=Emails templates +DictionaryUnits=Unità +DictionaryProspectStatus=Prospection status SetupSaved=Impostazioni salvate BackToModuleList=Torna alla lista moduli BackToDictionaryList=Torna alla lista dei dizionari @@ -936,13 +939,14 @@ CompanyZip=CAP CompanyTown=Città CompanyCountry=Paese CompanyCurrency=Principali valute +CompanyObject=Object of the company Logo=Logo DoNotShow=Non mostrare DoNotSuggestPaymentMode=Non suggerire NoActiveBankAccountDefined=Nessun conto bancario attivo definito OwnerOfBankAccount=Titolare del conto bancario %s BankModuleNotActive=Modulo conti bancari non attivato -ShowBugTrackLink=Visualizza link "Segnala un bug" +ShowBugTrackLink=Mostra link "%s" ShowWorkBoard=Mostra "tavolo da lavoro" sulla home page Alerts=Avvisi e segnalazioni Delays=Ritardi @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Limite massimo di decimali per i prezzi unitari. MAIN_MAX_DECIMALS_TOT=Limite massimo di decimali per il totale dei prezzi. MAIN_MAX_DECIMALS_SHOWN=Limite massimo dei decimali per i prezzi visualizzati a schermo (Aggiungi ... dopo tale numero se vuoi visualizzare tre puntini per indicare il troncamento del numero). MAIN_DISABLE_PDF_COMPRESSION=Usa la compressione per i file PDF generati. -MAIN_ROUNDING_RULE_TOT= Regola per l'arrotondamento (per i pochi paesi in cui l'arrotondamento non è calcolato in base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Prezzo unitario netto di un prodotto TotalPriceAfterRounding=Prezzo totale (al netto dell'IVA/IVA inclusa) dopo l'arrotondamento ParameterActiveForNextInputOnly=Parametro valido esclusivamente per il prossimo inserimento @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Numero totale di moduli attivati: %s YouMustEnableOneModule=Devi abilitare almeno un modulo ClassNotFoundIntoPathWarning=La classe %s non è stata trovata al percorso PHP indicato YesInSummer=Si in estate -OnlyFollowingModulesAreOpenedToExternalUsers=Nota, solo i seguenti moduli sono aperti agli utenti esterni (qualunque siano i permessi per questi utenti) +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sessioni salvate con criptazione tramite Suhosin ConditionIsCurrently=La condizione corrente è %s YouUseBestDriver=Usi già il miglior driver attualmente disponibile: %s @@ -1094,7 +1098,7 @@ FieldEdition=Edition of field %s FixTZ=Correzione del fuso orario FillThisOnlyIfRequired=Per esempio: +2 (compilare solo se ci sono problemi di scostamento del fuso orario) GetBarCode=Ottieni codice a barre -EmptyNumRefModelDesc=The code is free. This code can be modified at any time. +EmptyNumRefModelDesc=Il codice è libero. Questo codice può essere modificato in qualsiasi momento. ##### Module password generation PasswordGenerationStandard=Genera una password in base all'algoritmo interno di Dolibarr: 8 caratteri comprensivi di numeri e lettere minuscole. PasswordGenerationNone=Non suggerire eventuali password generate. La password deve essere di tipo manuale. @@ -1364,7 +1368,7 @@ NotInstalled=Non installato, il tuo server non è rallentato per questo. ApplicativeCache=Cache applicativa 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. +MemcachedAvailableAndSetup=Il modulo memcached, dedicato all'utilizzo del server memcached, è stato attivato. OPCodeCache=OPCode cache NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). HTTPCacheStaticResources=Cache HTTP per le risorse statiche (css, img, javascript) @@ -1375,7 +1379,7 @@ FilesOfTypeNotCompressed=I file di tipo %s non vengono compressi dal server HTTP CacheByServer=Cache per server CacheByClient=Cache per browser CompressionOfResources=Compressione delle risposte HTTP -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +TestNotPossibleWithCurrentBrowsers=Con i browser attuali l'individuazione automatica non è possibile ##### Products ##### ProductSetup=Impostazioni modulo prodotti ServiceSetup=Impostazioni modulo servizi @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Numero massimo di prodotti per le liste nelle combo ConfirmDeleteProductLineAbility=Attiva la richiesta di conferma nel form in caso di rimozione di una linea di prodotto ModifyProductDescAbility=Personalizzazione delle descrizioni dei prodotti nei form ViewProductDescInFormAbility=Visualizzare la descrizione dei prodotti nei form (altrimenti appariranno come tooltip popup) +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=Visualizzazione delle descrizioni dei prodotti nella lingua di terzi UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Utilizza il form di ricerca per scegliere un prodotto (invece della lista a tendina) UseEcoTaxeAbility=Usare l'eco-Tax (RAEE) SetDefaultBarcodeTypeProducts=Tipo di codici a barre predefinito da utilizzare per i prodotti SetDefaultBarcodeTypeThirdParties=Tipo di codici a barre predefinito da utilizzare per terze parti +UseUnits=Support units ProductCodeChecker= Modulo per la generazione e verifica dei codici prodotto (prodotto o servizio) ProductOtherConf= Configurazione Prodotto/servizio ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Codice a barre di tipo UPC BarcodeDescISBN=Codice a barre di tipo ISBN BarcodeDescC39=Codice a barre di tipo C39 BarcodeDescC128=Codice a barre di tipo C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Bar code generation è uno strumento di linea di comando (utilizzato dal motore interno per alcuni tipi di codici a barre). Deve essere compatibile con "genbarcode".
Per esempio: /usr/local/bin/genbarcode BarcodeInternalEngine=Motore interno BarCodeNumberManager=Manager per auto-definizione dei numeri barcode @@ -1438,7 +1446,7 @@ MailingDelay=Seconds to wait after sending next message ##### Notification ##### NotificationSetup=EMail notification module setup NotificationEMailFrom=Mittente email (Da) per le email di notifica inviate -ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +ListOfAvailableNotifications=Elenco degli eventi per cui è possibile impostare la notifica, per ogni soggetto terzo (si può impostare dalla scheda del soggetto terzo) o a un indirizzo email fisso (La lista dipende dai moduli attivati) FixedEmailTarget=Fixed email target ##### Sendings ##### SendingsSetup=Impostazione del modulo di consegna @@ -1446,7 +1454,7 @@ SendingsReceiptModel=Modello di ricevuta consegna (D.D.T.) SendingsNumberingModules=Moduli per la numerazione delle spedizioni SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Nella maggior parte dei casi, i moduli possono essere utilizzati sia come documenti di trasporto (elenco dei prodotti per l'invio) che come ricevute. Le ricevute di consegna risultano quindi una funzione duplicata che raramente viene attivata. -FreeLegalTextOnShippings=Free text on shipments +FreeLegalTextOnShippings=Testo libero per le spedizioni ##### Deliveries ##### DeliveryOrderNumberingModules=Numerazione dei moduli di consegna prodotti DeliveryOrderModel=Modello ricevuta di consegna prodotti @@ -1504,8 +1512,8 @@ ConfirmDeleteLine=Vuoi davvero eliminare definitivamente questa riga? ##### Tax ##### TaxSetup=Modulo impostazioni Tasse, contributi e dividendi OptionVatMode=Esigibilità dell'IVA -OptionVATDefault=Cash basis -OptionVATDebitOption=Accrual basis +OptionVATDefault=Contabilità per cassa +OptionVATDebitOption=Contabilità per competenza OptionVatDefaultDesc=L'IVA è dovuta:
- sulla consegna/pagamento per i beni
- sui pagamenti per i servizi OptionVatDebitOptionDesc=L'IVA è dovuta:
- alla consegna/pagamento per i beni
- alla fatturazione (a debito) per i servizi SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: @@ -1552,6 +1560,13 @@ WebServicesSetup=Impostazioni modulo webservices WebServicesDesc=Attivando questo modulo, Dolibarr attiva un web server in grado di fornire vari servizi web. WSDLCanBeDownloadedHere=È possibile scaricare i file di definizione dei servizi (WSDL) da questo URL EndPointIs=I client possono indirizzare le loro richieste SOAP all'endpoint disponibile a questo URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=È possibile accedere alle API all'indirizzo +ApiExporerIs=È possibile esplorare le API all'indirizzo +OnlyActiveElementsAreExposed=Vengono esposti solo elementi correlati ai moduli abilitati ##### Bank ##### BankSetupModule=Impostazioni modulo banca/cassa FreeLegalTextOnChequeReceipts=Testo libero sulle ricevute assegni @@ -1583,7 +1598,7 @@ TasksNumberingModules=Tasks numbering module TaskModelModule=Tasks reports document model ##### ECM (GED) ##### ECMSetup = Impostazioni GED -ECMAutoTree = Automatic tree folder and document +ECMAutoTree = Albero automatico delle cartelle e dei documenti ##### Fiscal Year ##### FiscalYears=Anni fiscali FiscalYear=Anno fiscale @@ -1594,16 +1609,16 @@ OpenFiscalYear=Apri anno fiscale CloseFiscalYear=Chiudi anno fiscale DeleteFiscalYear=Elimina anno fiscale ConfirmDeleteFiscalYear=Vuoi davvero cancellare questo anno fiscale? -Opened=Aperto +Opened=Open Closed=Chiuso -AlwaysEditable=Can always be edited +AlwaysEditable=Può essere modificato in qualsiasi momento 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 +NbMajMin=Numero minimo di caratteri maiuscoli +NbNumMin=Numero minimo di caratteri numerici +NbSpeMin=Numero minimo di caratteri speciali +NbIteConsecutive=Numero massimo di caratteri identici ripetuti +NoAmbiCaracAutoGeneration=Non utilizzare caratteri ambigui ("1", "l", "i", "|", "0", "O") per la generazione automatica +SalariesSetup=Impostazioni del modulo stipendi SortOrder=Ordina Format=Formato TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type @@ -1616,9 +1631,12 @@ YouMayFindNotificationsFeaturesIntoModuleNotification=You may find options for E ListOfNotificationsPerContact=List of notifications per contact* ListOfFixedNotifications=List of fixed notifications GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses -Threshold=Threshold -BackupDumpWizard=Wizard to build database backup dump file +Threshold=Soglia +BackupDumpWizard=Procedura guidata per creare file di backup del database (dump) 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 only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index 9940d5106e0..fcf0c840bdc 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -99,7 +99,7 @@ AccountToCredit=Conto di accredito AccountToDebit=Conto di addebito DisableConciliation=Disattiva funzione di conciliazione per questo conto ConciliationDisabled=Funzione di conciliazione disabilitata -StatusAccountOpened=Aperto +StatusAccountOpened=Open StatusAccountClosed=Chiuso AccountIdShort=Numero di conto EditBankRecord=Modifica record diff --git a/htdocs/langs/it_IT/boxes.lang b/htdocs/langs/it_IT/boxes.lang index 953dfc497c2..f01fbf7d05a 100644 --- a/htdocs/langs/it_IT/boxes.lang +++ b/htdocs/langs/it_IT/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Ultimi contratti BoxLastContacts=Ultimi contatti/indirizzi BoxLastMembers=Ultimi membri BoxFicheInter=Ultimi interventi -BoxCurrentAccounts=Bilancio conti aperti +BoxCurrentAccounts=Saldo conti aperti BoxSalesTurnover=Fatturato BoxTotalUnpaidCustomerBills=Totale fatture attive non pagate BoxTotalUnpaidSuppliersBills=Totale fatture passive non pagate @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Ultimi %s membri BoxTitleLastFicheInter=Ultimi %s interventi modificati BoxTitleOldestUnpaidCustomerBills=Ultime %s fatture clienti non pagate BoxTitleOldestUnpaidSupplierBills=Ultime %s fatture fornitori non pagate -BoxTitleCurrentAccounts=Bilancio dei conti aperti +BoxTitleCurrentAccounts=Saldi dei conti aperti BoxTitleSalesTurnover=Fatturato BoxTitleTotalUnpaidCustomerBills=Fatture clienti non pagate BoxTitleTotalUnpaidSuppliersBills=Fatture fornitori non pagate diff --git a/htdocs/langs/it_IT/companies.lang b/htdocs/langs/it_IT/companies.lang index aef6f6cc559..11bb799f7c1 100644 --- a/htdocs/langs/it_IT/companies.lang +++ b/htdocs/langs/it_IT/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Sconti globali disponibili DiscountNone=Nessuno Supplier=Fornitore CompanyList=Elenco Società -AddContact=Aggiungi contatto -AddContactAddress=Aggiungi contatto/indirizzo +AddContact=Crea contatto +AddContactAddress=Crea contatto/indirizzo EditContact=Modifica contatto/indirizzo EditContactAddress=Modifica contatto/indirizzo Contact=Contatto @@ -268,8 +268,8 @@ ContactsAddresses=Contatti/Indirizzi NoContactDefinedForThirdParty=Nessun contatto per questo soggetto terzo NoContactDefined=Nessun contatto definito DefaultContact=Contatto predefinito -AddCompany=Aggiungi società -AddThirdParty=Aggiungi terza parte +AddCompany=Crea azienda +AddThirdParty=Crea soggetto terzo DeleteACompany=Elimina una società PersonalInformations=Dati personali AccountancyCode=Codice contabile @@ -379,8 +379,8 @@ DeliveryAddressLabel=Etichetta indirizzo di consegna DeleteDeliveryAddress=Elimina un indirizzo di consegna ConfirmDeleteDeliveryAddress=Vuoi davvero eliminare questo indirizzo di consegna? NewDeliveryAddress=Nuovo indirizzo di consegna -AddDeliveryAddress=Aggiungi indirizzo di consegna -AddAddress=Aggiungi indirizzo +AddDeliveryAddress=Crea indirizzo +AddAddress=Crea indirizzo NoOtherDeliveryAddress=Non è stato definito un indirizzo di consegna alternativo SupplierCategory=Categoria fornitore JuridicalStatus200=Indipendente @@ -397,7 +397,7 @@ YouMustCreateContactFirst=È necessario inserire un contatto email del soggetto ListSuppliersShort=Elenco fornitori ListProspectsShort=Elenco clienti potenziali ListCustomersShort=Elenco clienti -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Area soggetti terzi e contatti LastModifiedThirdParties=Ultime %s terze parti modificate UniqueThirdParties=Totale soggetti terzi InActivity=In attività @@ -410,5 +410,10 @@ OutstandingBillReached=Raggiunto il massimo numero di fatture scadute MonkeyNumRefModelDesc=Restituisce un numero con formato %syymm-nnnn per codice cliente e %syymm-nnnn per il fornitore, in cui yy è l'anno, mm è il mese e nnnn è una sequenza progressiva che non ritorna a 0. LeopardNumRefModelDesc=Codice cliente/fornitore libero. Questo codice può essere modificato in qualsiasi momento. ManagingDirectors=Nome Manager(s) (CEO, direttore, presidente...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +SearchThirdparty=Search third party +SearchContact=Cerca contatto +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index 49e9aba0dae..1acffd5b3e1 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -4,10 +4,10 @@ About = Info CronAbout = Info su Cron CronAboutPage = Pagina informativa su Cron # Right -Permission23101 = Leggi compito programmato -Permission23102 = Crea/aggiorna compito programmato -Permission23103 = Cancella compito programmato -Permission23104 = Esegui compito programmato +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Impostazione delle azioni pianificate URLToLaunchCronJobs=URL che lancia i job di cron @@ -26,11 +26,11 @@ CronLastOutput=Output dell'ultimo avvio CronLastResult=Codice del risultato dell'ultima esecuzione CronListOfCronJobs=Lista dei job programmati CronCommand=Comando -CronList=Job programmati +CronList=Scheduled jobs CronDelete=Cancella i job programmati -CronConfirmDelete=Vuoi davvero cancellare i job? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Lanca i job programmati -CronConfirmExecute=Sei sicuro di voler eseguire ora questi job programmati? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Il modulo per i job programmati permette di eseguire operazioni definite in anticipoi CronWaitingJobs=Job in attesa CronTask=Azione @@ -39,8 +39,8 @@ CronDtStart=Data di inizio CronDtEnd=Data di fine CronDtNextLaunch=Prossima esecuzione CronDtLastLaunch=Ultima esecuzione -CronFrequency=Frequenza -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metodo CronModule=Modulo CronAction=Azione @@ -55,9 +55,9 @@ CronEach=Ogni JobFinished=Azione eseguita e completata #Page card CronAdd= Aggiungi job -CronHourStart= Ora e data di inizio del compito -CronEvery= Ed esegui il compito ogni -CronObject= Istanza/Oggetto da creare +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Istanza/Oggetto da creare CronArgs=Parametri CronSaveSucess=Salvato con successo CronNote=Commento @@ -79,10 +79,10 @@ CronCreateJob=Crea nuovo job programmato # Info CronInfoPage=Informazioni # Common -CronType=Tipo di compito +CronType=Job type CronType_method=Metodo di chiamata di una classe Dolibarr CronType_command=Comando da shell CronMenu=Cron CronCannotLoadClass=Non posso caricare la classe %s o l'oggetto %s UseMenuModuleToolsToAddCronJobs=Andare nel menu "Home - Modules tools - Job list" per vedere e modificare le azioni pianificate. -TaskDisabled=Job disattivato +TaskDisabled=Job disabled diff --git a/htdocs/langs/it_IT/incoterm.lang b/htdocs/langs/it_IT/incoterm.lang new file mode 100644 index 00000000000..2362fff0fc5 --- /dev/null +++ b/htdocs/langs/it_IT/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Aggiunge funzioni per la gestione Incoterm +IncotermLabel=Import-Export +IncotermSetupTitle1=Caratteristica +IncotermSetupTitle2=Stato +IncotermSetup=Impostazioni del modulo Import-Export +IncotermFunctionDesc=Attiva la modalità Incoterm (Soggetto terzo, proposta, ordine cliente, fattura attiva, spedizione, ordine fornitore) diff --git a/htdocs/langs/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index dfd16c717fb..ea452993437 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Accesso superutente al database CheckToCreateDatabase=Seleziona questa opzione se il database non esiste e deve essere creato.
Sarà necessario indicare login e password dell'account di root in fondo a questa pagina. CheckToCreateUser=Seleziona questa opzione se l'utente non esiste e deve essere creato.
In questo caso, è necessario indicare login e password dell'account di root in fondo a questa pagina. Experimental=(Sperimentale) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login utente con permesso di creare nuovi database o nuovi utenti. Non è necessario se il database esiste già. KeepEmptyIfNoPassword=Lasciare vuoto se l'utente non ha alcuna password (da evitare per motivi di sicurezza) SaveConfigurationFile=Salva file diff --git a/htdocs/langs/it_IT/languages.lang b/htdocs/langs/it_IT/languages.lang index 66b279df52f..e0ee06035a1 100644 --- a/htdocs/langs/it_IT/languages.lang +++ b/htdocs/langs/it_IT/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabo Language_ar_SA=Arabo +Language_bn_BD=Bengali Language_bg_BG=Bulgaro Language_bs_BA=Bosniaco Language_ca_ES=Catalano @@ -21,9 +22,10 @@ Language_en_SA=Inglese (Arabia Saudita) Language_en_US=Inglese (Stati Uniti) Language_en_ZA=Inglese (Sud Africa) Language_es_ES=Spagnolo -Language_es_DO=Spagnolo ( Repubblica Dominicana) Language_es_AR=Spagnolo (Argentina) Language_es_CL=Spagnolo (Cile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spagnolo ( Repubblica Dominicana) Language_es_HN=Spagnolo (Honduras) Language_es_MX=Spagnolo (Messico) Language_es_PY=Spagnolo (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesiano Language_is_IS=Islandese Language_it_IT=Italiano Language_ja_JP=Giapponese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Coreano +Language_lo_LA=Lao Language_lt_LT=Lituano Language_lv_LV=Lettone Language_mk_MK=Macedone @@ -64,6 +69,7 @@ Language_sv_SV=Svedese Language_sv_SE=Svedese Language_sq_AL=Albanese Language_sk_SK=Slovacco +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ucraino Language_uz_UZ=Uzbeko diff --git a/htdocs/langs/it_IT/loan.lang b/htdocs/langs/it_IT/loan.lang new file mode 100644 index 00000000000..4e7c2a856d7 --- /dev/null +++ b/htdocs/langs/it_IT/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Prestito +Loans=Prestiti +NewLoan=Nuovo prestito +ShowLoan=Mostra prestito +PaymentLoan=Pagamento prestito +ShowLoanPayment=Mostra pagamento prestito +Capital=Capitale +Insurance=Assicurazione +Interest=Interesse +Nbterms=Numero di rate +LoanAccountancyCapitalCode=Codice contabilità per il capitale +LoanAccountancyInsuranceCode=Codice contabilità per l'assicurazione +LoanAccountancyInterestCode=Codice contabilità per gli interessi +LoanPayment=Pagamento del prestito +ConfirmDeleteLoan=Conferma l'eliminazione di questo prestito +LoanDeleted=Prestito eliminato correttamente +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Prestito ripagato +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Durata del mutuo +AnnualInterestRate=Tasso di interesse annuo +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Informazioni sul pagamento del mutuo ipotecario +DownPayment=Anticipo +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Ammontare finanziato +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totali annui +MonthlyPayment=Rata mensile +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configurazione del modulo prestiti +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/it_IT/mails.lang b/htdocs/langs/it_IT/mails.lang index c380f52467b..572de0f80a3 100644 --- a/htdocs/langs/it_IT/mails.lang +++ b/htdocs/langs/it_IT/mails.lang @@ -77,7 +77,7 @@ CheckRead=Conferma di lettura YourMailUnsubcribeOK=La mail %s è stata cancellata correttamente dalla lista di invio MailtoEMail=Collegamento ipertestuale alla email ActivateCheckRead=Permetti l'utilizzo del link "Cancella sottoscrizione" -ActivateCheckReadKey=Chiave utilizzata per criptare l'URL usato per le funzioni "Leggere Ricevuta" e "Annulla Iscrizione" +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=Email inviata a %s destinatari XTargetsAdded=%s destinatari aggiunti alla lista di invio EachInvoiceWillBeAttachedToEmail=Un documento che usa il template di fattura di default sarà creato ed allegato ad ogni email. diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index e24c70f9c48..8ca81970a23 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Prezzo unitario (netto) UnitPriceTTC=Prezzo unitario (lordo) PriceU=P.U. PriceUHT=P.U.(netto) -AskPriceSupplierUHT=P.U. HT Richiesto +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=P.U.(lordo) Amount=Importo AmountInvoice=Importo della fattura @@ -413,6 +413,8 @@ Qty=Qtà ChangedBy=Cambiato da ApprovedBy=Approvato da ApprovedBy2=Approvato da (seconda approvazione) +Approved=Approved +Refused=Refused ReCalculate=Ricalcola ResultOk=Successo ResultKo=Fallimento @@ -421,7 +423,7 @@ Reportings=Reportistiche Draft=Bozza Drafts=Bozze Validated=Convalidato -Opened=Aperto +Opened=Open New=Nuovo Discount=Sconto Unknown=Sconosciuto @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Con collegamento ad un utente specifico DeleteAFile=Cancella un file ConfirmDeleteAFile=Sei sicuro di voler cancellare questo file NoResults=Nessun risultato +SystemTools=System tools ModulesSystemTools=Strumenti moduli Test=Test Element=Elemento @@ -703,6 +706,9 @@ ShowTransaction=Mostra la transazione GoIntoSetupToChangeLogo=Vai in Home -> Impostazioni -> Società per cambiare il logo o in Home - Setup -> display per nasconderlo. Deny=Rifiuta Denied=Rifiutata +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Lunedì Tuesday=Martedì @@ -732,3 +738,4 @@ ShortThursday=Gio ShortFriday=Ven ShortSaturday=Sab ShortSunday=Dom +SelectMailModel=Select email template diff --git a/htdocs/langs/it_IT/printing.lang b/htdocs/langs/it_IT/printing.lang new file mode 100644 index 00000000000..14911ddb0e5 --- /dev/null +++ b/htdocs/langs/it_IT/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Impostazioni del sistema di stampa diretta +PrintingDesc=Questo modulo aggiunge un pulsante per la stampa diretta dei documenti (senza aprire il pdf) usando vari moduli. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Credenziali per i driver di stampa +ListDrivers=Lista dei driver +PrintTestDesc=Lista delle stampanti +FileWasSentToPrinter=Il file %s è stato inviato alla stampante +NoActivePrintingModuleFound=Non ci sono moduli per la stampa attivi +PleaseSelectaDriverfromList=Seleziona un driver +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Impostazioni per utente +PRINTGCP=Google Cloud Print +PrintGCPDesc=Questo driver permette la stampa diretta del documento usando Google Cloud Print. +PrintingDriverDescprintgcp=Credenziali per la stampa con Google Cloud Print. +PrintTestDescprintgcp=Lista delle stampanti Google Cloud Print. +PRINTGCP_LOGIN=Nome utente Google +PRINTGCP_PASSWORD=Password Google +STATE_ONLINE=Online +STATE_UNKNOWN=Sconosciuto +STATE_OFFLINE=Offline +STATE_DORMANT=Offline da un po' +TYPE_GOOGLE=Google +TYPE_HP=Stampante HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nome +GCP_displayName=Display Name +GCP_Id=ID stampante +GCP_OwnerName=Nome del proprietario +GCP_State=Stato della stampante +GCP_connectionStatus=Online State +GCP_Type=Tipo di stampante +PRINTIPP=Driver PrintIPP +PrintIPPSetup=Impostazioni modulo Direct Print +PrintIPPDesc=Questo modulo aggiunge un pulsante per la stampa diretta dei documenti. Funziona solo su Linux con sistema di stampa CUPS. +PrintingDriverDescprintipp=Credenziali per i driver di stampa +PrintTestDescprintipp=Lista delle stampanti per il driver PrintIPP +PRINTIPP_ENABLED=Mostra icona "Stampa diretta" nella lista dei documenti +PRINTIPP_HOST=Server di stampa +PRINTIPP_PORT=Porta +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=Nessuna stampante trovata (controlla la tua installazione di CUPS) +NoDefaultPrinterDefined=Non è presente una stampante predefinita +DefaultPrinter=Stampante predefinita +Printer=Stampante +CupsServer=CUPS Server +IPP_Uri=Indirizzo della stampante +IPP_Name=Nome della stampante +IPP_State=Stato della stampante +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BN +IPP_Color=A colori +IPP_Device=Periferica +IPP_Media=Supporto +IPP_Supported=Tipo di supporto +STATE_IPP_idle=In attesa +STATE_IPP_stopped=Bloccata +STATE_IPP_paused=In pausa +STATE_IPP_toner-low-report=Toner in esaurimento +STATE_IPP_none=Nulla +MEDIA_IPP_stationery=Tipografica +MEDIA_IPP_thermal=Termica +IPP_COLOR_print-black=Stampante BN diff --git a/htdocs/langs/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang index 183d0d58803..111479831d0 100644 --- a/htdocs/langs/it_IT/productbatch.lang +++ b/htdocs/langs/it_IT/productbatch.lang @@ -19,4 +19,4 @@ printQty=Quantità: %d AddDispatchBatchLine=Aggiungi una riga per la durata a scaffale BatchDefaultNumber=Non definito WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=Questo prodotto non usa lotto/numero di serie +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 29c7e292205..56c53b4d8a5 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -23,14 +23,14 @@ ProductOrService=Prodotto o servizio ProductsAndServices=Prodotti e Servizi ProductsOrServices=Prodotti o servizi ProductsAndServicesOnSell=Prodotti e servizi in vendita -ProductsAndServicesNotOnSell=Prodotti e Servizi esauriti +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statistiche Prodotti e Servizi ProductsStatistics=Statistiche Prodotti -ProductsOnSell=Prodotto in vendit -ProductsNotOnSell=Prodotto esaurito +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Prodotti in vendit ServicesOnSell=Servizi in vendit -ServicesNotOnSell=Servizi esauriti +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Servizi in vendita InternalRef=Riferimento interno LastRecorded=Ultimi prodotti/servizi in vendita registrati @@ -44,7 +44,7 @@ CardProduct1=Scheda servizio CardContract=Scheda contratto Warehouse=Magazzino Warehouses=Magazzini -WarehouseOpened=Magazzino aperto +WarehouseOpened=Warehouse open WarehouseClosed=Magazzino chiuso Stock=Scorte Stocks=Scorte @@ -71,21 +71,21 @@ SellingPriceTTC=Prezzo di vendita (inclusa IVA) PublicPrice=Prezzo al pubblico CurrentPrice=Prezzo attuale NewPrice=Nuovo prezzo -MinPrice=Prezzo minimo di vendita -MinPriceHT=Prezzo minimo di vendita (al netto delle tasse) -MinPriceTTC=Prezzo minimo di vendita (tasse incluse) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Il prezzo di vendita non può essere inferiore al minimo consentito per questo prodotto ( %s IVA esclusa) ContractStatus=Stato del Contratto ContractStatusClosed=Chiuso -ContractStatusRunning=In corso +ContractStatusRunning=Ongoing ContractStatusExpired=Scaduto -ContractStatusOnHold=In attesa -ContractStatusToRun=Da avviare -ContractNotRunning=Il presente contratto non è attivo +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Un prodotto con riferimento %s esiste già. ErrorProductBadRefOrLabel=Il valore di riferimento o l'etichetta è sbagliato. ErrorProductClone=Si è verificato un problema cercando di cuplicare il prodotto o servizio -ErrorPriceCantBeLowerThanMinPrice=Errore. Il prezzo non può essere inferiore del Prezzo minimo +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Fornitori SupplierRef=Rif. fornitore ShowProduct=Visualizza prodotto @@ -117,12 +117,12 @@ ServiceLimitedDuration=Se il prodotto è un servizio di durata limitata: MultiPricesAbility=Livello diverso di prezzi per prodotto/servizio MultiPricesNumPrices=Numero di prezzi per il multi-prezzi MultiPriceLevelsName=Categorie di prezzo -AssociatedProductsAbility=Attiva i prodotti associati +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Prodotto associato -AssociatedProductsNumber=Numero di sottoprodotti che compongono questo prodotto associato +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Numero di prodotti associati che includono questo sottoprodotto -IfZeroItIsNotAVirtualProduct=Se vale 0, questo non è un prodotto associato -IfZeroItIsNotUsedByVirtualProduct=Se vale 0, questo prodotto non è utilizzato da nessun prodotto associato come sottoprodotto +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Modifica associazione Translation=Traduzione KeywordFilter=Filtro per parola chiave @@ -131,7 +131,7 @@ ProductToAddSearch=Cerca prodotto da aggiungere AddDel=Aggiungi/Elimina Quantity=Quantità NoMatchFound=Nessun risultato trovato -ProductAssociationList=Elenco dei prodotti/servizi associati: nome del prodotto/servizio (quantità interessata) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Elenco dei prodotti/servizi associati che includono questo sottoprodotto ErrorAssociationIsFatherOfThis=Uno dei prodotti selezionati è padre dell'attuale prodotto DeleteProduct=Elimina un prodotto/servizio @@ -179,16 +179,41 @@ CloneProduct=Clona prodotto/servizio ConfirmCloneProduct=Vuoi davvero clonare il prodotto/servizio %s? CloneContentProduct=Clona tutte le principali informazioni del prodotto/servizio ClonePricesProduct=Clona principali informazioni e prezzi -CloneCompositionProduct=Clona prodotto/servizio associato +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Questo prodotto è in uso NewRefForClone=Rif. del nuovo prodotto/servizio -CustomerPrices=Prezzi al cliente -SuppliersPrices=Prezzi fornitori -SuppliersPricesOfProductsOrServices=Prezzo fornitore (di prodotti e servizi) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Codice dogana CountryOrigin=Paese di origine HiddenIntoCombo=Nascosti nelle tendine di selezione Nature=Natura +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Template di rif. prodotto ServiceCodeModel=Template di rif. servizio AddThisProductCard=Crea scheda prodotto @@ -214,7 +239,7 @@ CostPmpHT=Totale netto VWAP ProductUsedForBuild=Autoconsumato dalla produzione ProductBuilded=Produzione completata ProductsMultiPrice=Prodotto con più prezzi -ProductsOrServiceMultiPrice=Prezzo clienti (di prodotti o servizi, multi-prezzo) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Turnover dei prodotti trimestrale VWAP ServiceSellByQuarterHT=Turnover trimestrale dei servizi VWAP Quarter1=Primo trimestre @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Definisci il valore del codice a barre per tutti quell PriceByCustomer=Prezzi diversi in base al cliente PriceCatalogue=Prezzo unico per prodotto/servizio PricingRule=Regole dei prezzi al cliente -AddCustomerPrice=Aggiungi un prezzo per cliente +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Imposta lo stesso prezzo per i clienti sussidiari PriceByCustomerLog=Prezzo per log cliente -MinimumPriceLimit=Il prezzo minimo non può essere inferiore di %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Il prezzo minimo raccomandato è: %s PriceExpressionEditor=Editor della formula del prezzo PriceExpressionSelected=Formula del prezzo selezionata @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=il formato è: {"URL": "http://example.com/urlo UpdateInterval=Frequenza di aggiornamento (in minuti) LastUpdated=Ultimo aggiornamento CorrectlyUpdated=Aggiornato correttamente +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index 5491e5950a6..f6917209f5b 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Questa visualizzazione mostra tutti i progetti che sei autori ProjectsPublicTaskDesc=Questa prospettiva presenta tutti i progetti e le attività a cui è permesso accedere. ProjectsDesc=Questa visualizzazione mostra tutti i progetti (hai i privilegi per vedere tutto). MyTasksDesc=Questa visualizzazione mostra solo i progetti o i compiti in cui sei indicati come contatto (di qualsiasi tipo). -OnlyOpenedProject=Sono visibili solamente i progetti aperti, i progetti con stato di bozza o chiusi non sono visibili. +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Questa visualizzazione mostra tutti i progetti e i compiti che hai il permesso di vedere. TasksDesc=Questa visualizzazione mostra tutti i progetti e i compiti (hai i privilegi per vedere tutto). AllTaskVisibleButEditIfYouAreAssigned=Tutti i compiti per questo progetto sono visibili ma è possibile inserire del tempo impiegato solo per compiti a cui sei assegnato. @@ -29,7 +29,7 @@ ProjectsList=Elenco dei progetti ShowProject=Visualizza progetto SetProject=Imposta progetto NoProject=Nessun progetto definito o assegnato -NbOpenTasks=Num. di compiti aperti +NbOpenTasks=Nb of open tasks NbOfProjects=Num. di progetti TimeSpent=Tempo lavorato TimeSpentByYou=Tempo impiegato da te @@ -41,7 +41,7 @@ TaskTimeSpent=Tempo speso sulle attività TaskTimeUser=Utente TaskTimeNote=Nota TaskTimeDate=Data -TasksOnOpenedProject=Compiti relativi a progetti aperti +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Carico di lavoro non definito NewTimeSpent=Aggiungi tempo lavorato MyTimeSpent=Il mio tempo lavorato @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Elenco degli interventi associati al progetto ListExpenseReportsAssociatedProject=Lista delle note spese associate con il progetto ListDonationsAssociatedProject=Lista delle donazioni associate al progetto ListActionsAssociatedProject=Elenco delle azioni associate al progetto +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Operatività sul progetto questa settimana ActivityOnProjectThisMonth=Operatività sul progetto questo mese ActivityOnProjectThisYear=Operatività sul progetto nell'anno in corso @@ -95,7 +96,7 @@ DeleteATimeSpent=Cancella il tempo lavorato ConfirmDeleteATimeSpent=Vuoi davvero cancellare il tempo lavorato? DoNotShowMyTasksOnly=Mostra anche le attività non assegnate a me ShowMyTasksOnly=Mostra soltanto le attività assegnate a me -TaskRessourceLinks=Risorse +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Progetti dedicati a questo soggetto terzo NoTasks=Nessun compito per questo progetto LinkedToAnotherCompany=Collegato ad un altro soggetto terzo @@ -139,8 +140,12 @@ ProjectReferers=Elementi correlati SearchAProject=Cerca un progetto ProjectMustBeValidatedFirst=I progetti devono prima essere validati ProjectDraft=Progetti bozza -FirstAddRessourceToAllocateTime=Associa una risorsa per allocare il tempo +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per giorno InputPerWeek=Input per settimana InputPerAction=Input per azione TimeAlreadyRecorded=Tempo impiegato e già registrato per questo compito/giorno e questo utente %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/it_IT/propal.lang b/htdocs/langs/it_IT/propal.lang index b4f153a7a36..3f95de1af22 100644 --- a/htdocs/langs/it_IT/propal.lang +++ b/htdocs/langs/it_IT/propal.lang @@ -16,9 +16,9 @@ Prospect=Potenziale cliente ProspectList=Lista Potenziali clienti DeleteProp=Elimina proposta commerciale ValidateProp=Convalida proposta commerciale -AddProp=Aggiungi proposta -ConfirmDeleteProp=Sei sicuro di voler cancellare questa proposta commerciale? -ConfirmValidateProp=Sei sicuro di voler convalidare questa proposta commerciale? +AddProp=Crea proposta +ConfirmDeleteProp=Vuoi davvero cancellare questa proposta commerciale? +ConfirmValidateProp=Vuoi davvero convalidare questa proposta commerciale come %s? LastPropals=Ultimo %s proposte LastClosedProposals=Ultimo %s proposte chiuse LastModifiedProposals=Ultimo %s proposte modificate @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Importo per mese (al netto delle imposte) NbOfProposals=Numero di proposte commerciali ShowPropal=Visualizza proposta PropalsDraft=Bozze -PropalsOpened=Aperte +PropalsOpened=Open PropalsNotBilled=Chiuse non fatturate PropalStatusDraft=Bozza (deve essere convalidata) PropalStatusValidated=Convalidato (proposta è aperta) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Non firmata (chiuso) PropalStatusBilled=Fatturata PropalStatusDraftShort=Bozza PropalStatusValidatedShort=Convalidato -PropalStatusOpenedShort=Aperta +PropalStatusOpenedShort=Open PropalStatusClosedShort=Chiusa PropalStatusSignedShort=Firmata PropalStatusNotSignedShort=Non firmata @@ -52,11 +52,9 @@ PropalsToBill=Proposte commerciali firmate da fatturare ListOfProposals=Elenco delle proposte commerciali ActionsOnPropal=Azioni su proposta NoOpenedPropals=Nessuna proposta commerciale aperta -NoOtherOpenedPropals=Nessun altro ha aperto proposte commerciali +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Rif. Proposta commerciale SendPropalByMail=Invia proposta commerciale via e-mail -FileNotUploaded=Il file non è stato caricato -FileUploaded=Il file è stato caricato con successo AssociatedDocuments=Documenti associati con la proposta: ErrorCantOpenDir=Impossibile aprire la directory DatePropal=Data della proposta @@ -77,8 +75,8 @@ CreateEmptyPropal=Crea proposta commerciale vuota o dalla lista dei prodotti / s DefaultProposalDurationValidity=Durata di validità predefinita per proposta commerciale (in giorni) UseCustomerContactAsPropalRecipientIfExist=Utilizzare l'indirizzo del contatto cliente se definito al posto dell'indirizzo del destinatario ClonePropal=Clona proposta commerciale -ConfirmClonePropal=Sei sicuro di voler clonare la presente proposta commerciale %s? -ConfirmReOpenProp=Sei sicuro di voler aprire di nuovo le %s proposta commerciale? +ConfirmClonePropal=Vuoi davvero clonare la proposta %s? +ConfirmReOpenProp=Vuoi davvero riaprire la proposta %s? ProposalsAndProposalsLines=Proposta commerciale e le linee ProposalLine=Linea della proposta AvailabilityPeriod=Disponibilità ritardo @@ -100,3 +98,4 @@ DocModelJauneDescription=Modello di proposta Jaune DefaultModelPropalCreate=Creazione del modello predefinito DefaultModelPropalToBill=Template predefinito quando si chiude una proposta commerciale (*preventivo) (che deve essere fatturata) DefaultModelPropalClosed=Template predefinito quando si chiude una proposta commerciale (*preventivo) (che non deve essere fatturata) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/it_IT/salaries.lang b/htdocs/langs/it_IT/salaries.lang index fcd094e4682..1812b1c19f8 100644 --- a/htdocs/langs/it_IT/salaries.lang +++ b/htdocs/langs/it_IT/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Mostra i pagamenti stipendio THM=Prezzo medio orario TJM=Prezzo medio giornaliero CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/it_IT/sendings.lang b/htdocs/langs/it_IT/sendings.lang index 319b526628e..165e80fb0e4 100644 --- a/htdocs/langs/it_IT/sendings.lang +++ b/htdocs/langs/it_IT/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Modello semplice di documento DocumentModelMerou=Merou modello A5 WarningNoQtyLeftToSend=Attenzione, non sono rimasti prodotti per la spedizione. StatsOnShipmentsOnlyValidated=Statistiche calcolate solo sulle spedizioni convalidate. La data è quella di conferma spedizione (la data di consegna prevista non è sempre conosciuta). -DateDeliveryPlanned=Data di consegna prevista +DateDeliveryPlanned=Planned date of delivery DateReceived=Data di consegna ricevuto SendShippingByEMail=Invia spedizione via EMail SendShippingRef=Invio della spedizione %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 83573b12c60..ba25edaed7c 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Magazzini NewWarehouse=Nuovo magazzino/deposito WarehouseEdit=Modifica magazzino MenuNewWarehouse=Nuovo Magazzino -WarehouseOpened=Magazzino aperto +WarehouseOpened=Warehouse open WarehouseClosed=Magazzino chiuso WarehouseSource=Magazzino di origine WarehouseSourceNotDefined=Non è stato definito alcun magazzino. @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Scegli magazzino da utilizzare per la riduzione SelectWarehouseForStockIncrease=Scegli magazzino da utilizzare per l'aumento delle scorte NoStockAction=Nessuna azione su queste scorte LastWaitingSupplierOrders=Ordini in attesa di ricezione -DesiredStock=Scorte desiderate +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Da ordinare Replenishment=Rifornimento ReplenishmentOrders=Ordini di rifornimento -VirtualDiffersFromPhysical=In accordo con le opzioni di giacenza incrementa/decrementa, le scorte fisiche e quelle virtuali (fisiche + ordini in corso) possono variare +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Utilizza scorte virtuali come default, invece delle scorte fisiche, per la funzione di rifornimento UseVirtualStock=Usa scorte virtuale UsePhysicalStock=Usa giacenza fisica -CurentSelectionMode=Modalità di selezione corrente +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Giacenza virtuale CurentlyUsingPhysicalStock=Giacenza fisica RuleForStockReplenishment=Regola per il rifornimento delle scorte @@ -112,8 +113,8 @@ AlertOnly= Solo avvisi WarehouseForStockDecrease=Il magazzino %s sarà usato per la diminuzione delle scorte WarehouseForStockIncrease=Il magazzino %s sarà usato per l'aumento delle scorte ForThisWarehouse=Per questo magazzino -ReplenishmentStatusDesc=Questa è una lista di tutti i prodotti con una giacenza inferiore a quella desiderata (o inferiore a quella del valore di allarme se la casella "solo allarmi" è spuntata) -ReplenishmentOrdersDesc=Questa è una lista di tutti gli ordini fornitore aperti che includono prodotti predefiniti. Qui sono visibili solo gli ordini aperti che contengano prodotti predefiniti. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Rifornimento NbOfProductBeforePeriod=Quantità del prodotto %s in magazzino prima del periodo selezionato (< %s) NbOfProductAfterPeriod=Quantità del prodotto %s in magazzino dopo il periodo selezionato (< %s) @@ -124,16 +125,16 @@ RecordMovement=Registra trasferimento ReceivingForSameOrder=Ricevuta per questo ordine StockMovementRecorded=Movimentazione di scorte registrata RuleForStockAvailability=Regole sulla fornitura delle scorte -StockMustBeEnoughForInvoice=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla fattura -StockMustBeEnoughForOrder=Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio all'ordine -StockMustBeEnoughForShipment= Il livello delle scorte deve essere sufficiente per aggiungere un prodotto/servizio alla spedizione +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Etichetta per lo spostamento di magazzino InventoryCode=Codice di inventario o di spostamento IsInPackage=Contenuto nel pacchetto ShowWarehouse=Mostra magazzino -MovementCorrectStock=Correzione delle scorte del prodotto %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Trasferisci scorte del prodotto %s in un altro magazzino -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Deve essere definito un "magazzino sorgente" quando il modulo "lotti" è attivo. \nSarà utilizzato per elencare quale lotto o seriale è disponibile per il prodotto che necessita un lotto/numero seriale per lo spostamento. Se si desidera inviare i prodotti da diversi magazzini, basta effettuare la spedizione in più fasi. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Codice di inventario o di spostamento -NoPendingReceptionOnSupplierOrder=Non ci sono ricezioni incomplete a causa di ordini fornitori non chiusi +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=Questo lotto/numero seriale (%s) esiste già con una differente data di scadenza o di validità (trovata %s, inserita %s ) diff --git a/htdocs/langs/it_IT/suppliers.lang b/htdocs/langs/it_IT/suppliers.lang index 263603b3182..490ce83a4d3 100644 --- a/htdocs/langs/it_IT/suppliers.lang +++ b/htdocs/langs/it_IT/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Inviato ai fornitori ListOfSupplierOrders=Elenco ordini fornitori MenuOrdersSupplierToBill=Ordini fornitori in fatture NbDaysToDelivery=Giorni di ritardo per la consegna -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/it_IT/trips.lang b/htdocs/langs/it_IT/trips.lang index d96ee874190..d6bb40c60fd 100644 --- a/htdocs/langs/it_IT/trips.lang +++ b/htdocs/langs/it_IT/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Note spese TripsAndExpensesStatistics=Statistiche note spese TripCard=Scheda nota spese AddTrip=Crea nota spese -ListOfTrips=Lista delle note spese +ListOfTrips=List of expense reports ListOfFees=Elenco delle tariffe NewTrip=Nuova nota spese CompanyVisited=Società/Fondazione visitata @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Persona da informare per la convalida TripSociete=Informazioni azienda TripSalarie=Informazioni utente TripNDF=Informazioni nota spese -DeleteLine=Cancella una riga della nota spese +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Vuoi davvero eliminare questa riga? PDFStandardExpenseReports=Template standard per la generazione dei PDF delle not spese ExpenseReportLine=Riga di nota spese @@ -44,7 +44,6 @@ TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=Hai già inviata una nota spese per il periodo selezionato -ListTripsAndExpenses=Lista delle note spese AucuneNDF=Nessuna nota spese trovata AucuneLigne=Non ci sono ancora note spese AddLine=Aggiungi una riga @@ -56,12 +55,12 @@ ModePaiement=Modalità di pagamento Note=Nota Project=Progetto -VALIDATOR=Utente responsabile dell'approvazione +VALIDATOR=User responsible for approval VALIDOR=Approvata da AUTHOR=Registrata da -AUTHORPAIEMENT=Liquidata da +AUTHORPAIEMENT=Paid by REFUSEUR=Rifiutata da -CANCEL_USER=Eliminata da +CANCEL_USER=Deleted by MOTIF_REFUS=Motivo MOTIF_CANCEL=Motivo @@ -74,7 +73,7 @@ DATE_PAIEMENT=Liquidata in data TO_PAID=Liquida BROUILLONNER=Riapri -SendToValid=Invia per l'approvazione +SendToValid=Sent on approval ModifyInfoGen=Modifica ValidateAndSubmit=Convalida e proponi per l'approvazione @@ -93,7 +92,7 @@ ConfirmPaidTrip=Vuoi davvero modificare lo stato di questa nota spese in "liquid CancelTrip=Elimina una nota spese ConfirmCancelTrip=Vuoi davvero eliminare questa nota spese? -BrouillonnerTrip=Riporta la nota spese allo stato "bozza" +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Vuoi davvero riportare questa nota spese allo stato "bozza"? SaveTrip=Convalida la nota spese diff --git a/htdocs/langs/it_IT/users.lang b/htdocs/langs/it_IT/users.lang index 38049071f76..e06a4a4246b 100644 --- a/htdocs/langs/it_IT/users.lang +++ b/htdocs/langs/it_IT/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Rimuovi dal gruppo PasswordChangedAndSentTo=Password cambiata ed inviata a %s PasswordChangeRequestSent=Richiesta di cambio password per %s da inviare a %s. MenuUsersAndGroups=Utenti e gruppi +MenuMyUserCard=My user card LastGroupsCreated=Ultimi %s gruppi creati LastUsersCreated=Ultimi %s utenti creati ShowGroup=Visualizza gruppo diff --git a/htdocs/langs/it_IT/workflow.lang b/htdocs/langs/it_IT/workflow.lang index ab36ea1277f..1b675835eb2 100644 --- a/htdocs/langs/it_IT/workflow.lang +++ b/htdocs/langs/it_IT/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Impostazioni flusso di lavoro -WorkflowDesc=Questo modulo è progettatto per modificare il comportamento delle azioni automatizzate del programma. Il flusso di lavoro è aperto per impostazione predefinita (puoi compiere le azioni nell'ordine che preferisci). Puoi scegliere di attivare solo le azioni automatizzate che ti interessano. -ThereIsNoWorkflowToModify=Non vi è alcun flusso di lavoro modificabile per il modulo. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Creare automaticamente un ordine cliente alla firma di una proposta commerciale -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla firma di una proposta commerciale -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla convalida del contratto -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Creare automaticamente una fattura attiva alla chiusura dell'ordine cliente +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classifica la proposta commerciale collegata come fatturare quando l'ordine cliente è impostato come pagato descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifica gli ordini dei clienti da fatturare quando la fattura viene impostata come pagata descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifica gli ordini dei clienti da fatturare quando la fattura è validata diff --git a/htdocs/langs/ja_JP/accountancy.lang b/htdocs/langs/ja_JP/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/ja_JP/accountancy.lang +++ b/htdocs/langs/ja_JP/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index b0eb764934a..739431987ab 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=ユーザーのためのメニュー LangFile=ファイルです。LANG System=システム SystemInfo=システム情報 -SystemTools=システムツール SystemToolsArea=システムツールエリア SystemToolsAreaDesc=この領域は、管理機能を提供します。あなたが探している機能を選択するメニューを使用します。 Purge=Purge @@ -232,8 +231,8 @@ Security=セキュリティー Passwords=パスワード DoNotStoreClearPassword=行うにはデータベースに格納しない明確なパスワードがストアのみ暗号化された値(活性化推奨) MainDbPasswordFileConfEncrypted=conf.phpで暗号化されたデータベース·パスワード(活性化推奨) -InstrucToEncodePass=conf.phpファイルにエンコードされたパスワードを持っているために、次の行を置き換える
$ dolibarr_main_db_pass = "..."
によって
$ dolibarr_main_db_pass = "暗号化:%s" -InstrucToClearPass=conf.phpファイルにパスワードデコードされた(クリア)するには、行を置き換えます。
dolibarr_main_db_pass $は= "暗号化され..."
によって
$ dolibarr_main_db_pass = "%s" +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=生成されたPDFファイル(推奨しない活性化、大量のPDF生成を壊す)の保護 ProtectAndEncryptPdfFilesDesc=PDF文書の保護は、任意のPDFブラウザで読んで、印刷することが可能な保持されます。しかし、編集、およびコピーすることはもはや可能ではありません。この機能を使用すると、(未払いの請求書のように)動作していないグローバル累積PDFの建物を作ることに注意してください。 Feature=機能 @@ -300,13 +299,13 @@ ThisIsProcessToFollow=これは、プロセスのセットアップです。 ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=ステップ%s FindPackageFromWebSite=(公式ウェブサイト%sの例の場合)必要な機能を提供するパッケージを検索します。 -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=インストールが終了しDolibarrは、この新しいコンポーネントで使用できる状態になっています。 NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr現在のバージョン CallUpdatePage=%s:データベース構造と件のデータを更新するページに移動します。 LastStableVersion=最後の安定版 @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=のwebcalendar Module410Desc=のwebcalendar統合 -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=議題 Module2400Desc=イベント/タスクと議題の管理 Module2500Name=電子コンテンツ管理 Module2500Desc=ドキュメントを保存および共有 -Module2600Name=Webサービス -Module2600Desc=Dolibarr Webサービスのサーバをイネーブルにします。 +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=グラバター @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=セットアップは、保存された BackToModuleList=モジュールリストに戻る BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=ZIP CompanyTown=町 CompanyCountry=国 CompanyCurrency=主な通貨 +CompanyObject=Object of the company Logo=Logo DoNotShow=表示されません DoNotSuggestPaymentMode=示唆していない NoActiveBankAccountDefined=定義された有効な銀行口座なし OwnerOfBankAccount=銀行口座の%sの所有者 BankModuleNotActive=銀行が有効になっていないモジュールを占めて -ShowBugTrackLink="バグを報告する"リンクを表示 +ShowBugTrackLink=Show link "%s" ShowWorkBoard=ホームページ上の "ワークベンチ"を表示 Alerts=アラート Delays=遅延 @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=ユニット価格の最大小数点以下 MAIN_MAX_DECIMALS_TOT=合計価格の最大小数点以下 MAIN_MAX_DECIMALS_SHOWN=画面に表示されている価格の最大10進数(追加...この番号の後にあなたが見たい場合は...数値が切り捨てられたときに画面に表示されている場合) MAIN_DISABLE_PDF_COMPRESSION=生成されるPDFファイルのPDF圧縮を使用します。 -MAIN_ROUNDING_RULE_TOT= 丸め範囲のサイズ(丸めは10進以外の何かで行われ珍しい国のために) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=製品の売上単価 TotalPriceAfterRounding=丸め後の総価格(純/ VAT /税込) ParameterActiveForNextInputOnly=次の入力のための効果的なパラメータのみ @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=エコTaxe(WEEE)をサポート SetDefaultBarcodeTypeProducts=製品に使用するデフォルトのバーコードの種類 SetDefaultBarcodeTypeThirdParties=第三者のために使用するデフォルトのバーコードの種類 +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=タイプUPCのバーコード BarcodeDescISBN=型商品のバーコード BarcodeDescC39=タイプC39のバーコード BarcodeDescC128=タイプ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 @@ -1552,6 +1560,13 @@ WebServicesSetup=ウェブサービスモジュールのセットアップ WebServicesDesc=このモジュールを有効にすることによって、Dolibarrでは、その他のウェブサービスを提供するWebサービスのサーバーになります。 WSDLCanBeDownloadedHere=提供されるサービスのWSDL記述子ファイルはここからダウンロードできます。 EndPointIs=SOAPクライアントは、URLで入手できますDolibarrエンドポイントに要求を送信する必要があります +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=銀行のモジュールのセットアップ FreeLegalTextOnChequeReceipts=チェック領収書上のフリーテキスト @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ja_JP/banks.lang b/htdocs/langs/ja_JP/banks.lang index c7ed52bc8c8..e900a9c981a 100644 --- a/htdocs/langs/ja_JP/banks.lang +++ b/htdocs/langs/ja_JP/banks.lang @@ -94,12 +94,12 @@ Conciliate=調整する Conciliation=和解 ConciliationForAccount=このアカウントを調整する IncludeClosedAccount=閉じたアカウントを含める -OnlyOpenedAccount=唯一開かれたアカウント +OnlyOpenedAccount=Only open accounts AccountToCredit=クレジットのアカウント AccountToDebit=振替にアカウント DisableConciliation=このアカウントのための調整機能を無効にする ConciliationDisabled=和解の機能が無効になって -StatusAccountOpened=オープン +StatusAccountOpened=Open StatusAccountClosed=閉じ AccountIdShort=数 EditBankRecord=レコードを編集する diff --git a/htdocs/langs/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index 7a6c45ea12d..49cac07b646 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=即時の @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ja_JP/boxes.lang b/htdocs/langs/ja_JP/boxes.lang index 79aac820e73..01815f53c82 100644 --- a/htdocs/langs/ja_JP/boxes.lang +++ b/htdocs/langs/ja_JP/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=最後の契約 BoxLastContacts=最後の連絡先/アドレス BoxLastMembers=最後のメンバー BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=販売額 BoxTotalUnpaidCustomerBills=合計未払いの顧客の請求書 BoxTotalUnpaidSuppliersBills=合計未払いの仕入先の請求書 @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=販売額 BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/ja_JP/categories.lang b/htdocs/langs/ja_JP/categories.lang index 6027c5137f4..61485fb8e6a 100644 --- a/htdocs/langs/ja_JP/categories.lang +++ b/htdocs/langs/ja_JP/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%sが正常追加されました。 ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=なし NotCategorized=Without tag/category CategoryExistsAtSameLevel=このカテゴリには、このrefで既に存在している @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=すべてでは表示されない内容 CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=クスト/ Prosp。カテゴリ @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/ja_JP/companies.lang b/htdocs/langs/ja_JP/companies.lang index 3fd8c12c29a..507b59efa28 100644 --- a/htdocs/langs/ja_JP/companies.lang +++ b/htdocs/langs/ja_JP/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=利用可能な絶対的な割引 DiscountNone=なし Supplier=サプライヤー CompanyList=企業のリスト -AddContact=コンタクト/アドレスを追加します。 -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=コンタクト/アドレスを編集 EditContactAddress=Edit contact/address Contact=連絡 @@ -268,8 +268,8 @@ ContactsAddresses=コンタクト/アドレス NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=この第三者のために定義された接触禁止 DefaultContact=デフォルトの連絡先 -AddCompany=会社を追加する -AddThirdParty=サードパーティを追加します。 +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=会社を削除します。 PersonalInformations=個人データ AccountancyCode=会計コード @@ -379,8 +379,8 @@ DeliveryAddressLabel=配送先住所のラベル DeleteDeliveryAddress=配信アドレスを削除します。 ConfirmDeleteDeliveryAddress=この配信アドレスを削除してもよろしいですか? NewDeliveryAddress=新しい配信アドレス -AddDeliveryAddress=アドレスを追加します。 -AddAddress=アドレスを追加します。 +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=定義されている代替の配信アドレスがありません SupplierCategory=サプライヤーのカテゴリ JuridicalStatus200=独立した @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=yyは年である顧客コードと仕入先コードの%syymm-nnnnの形式%syymm-NNNNとニュメロを返し、mmは月とnnnnはありません休憩0〜ノーリターンでシーケンスです。 LeopardNumRefModelDesc=顧客/サプライヤーコードは無料です。このコードは、いつでも変更することができます。 ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ja_JP/cron.lang b/htdocs/langs/ja_JP/cron.lang index 103bd29a409..06f05c2791c 100644 --- a/htdocs/langs/ja_JP/cron.lang +++ b/htdocs/langs/ja_JP/cron.lang @@ -4,10 +4,10 @@ About = 約 CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=開始日 CronDtEnd=終了日 CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=方法 CronModule=モジュール CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=パラメータ CronSaveSucess=Save succesfully CronNote=コメント @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index 0f69477c23c..f4fa4b112ae 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ja_JP/incoterm.lang b/htdocs/langs/ja_JP/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/ja_JP/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 8a75022f2a5..f9fbe7d4075 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=データベースサーバ - スーパーユーザー CheckToCreateDatabase=データベースが存在しない場合はチェックボックスをオンにして作成する必要があります。
このケースでは、このページの下部にスーパーユーザアカウントのログイン/パスワードを入力する必要があります。 CheckToCreateUser=データベースの所有者が存在しない場合はチェックボックスをオンにして作成する必要があります。
このケースでは、そのログイン名とパスワードを選択しても、ログイン/このページの下部にスーパーユーザーアカウント用のパスワードを入力する必要があります。このボックスがチェックされていない場合、所有者のデータベースとそのパスワードが存在する必要があります。 Experimental=(実験的) +Deprecated=(deprecated) DatabaseRootLoginDescription=あなたのデータベースおよびデータベースのログインが既に存在する場合(あなたがウェブホスティングプロバイダによってホストされているときのように)役に立たない、新しいデータベースまたは新しいユーザを作成することを禁止するユーザのログイン。 KeepEmptyIfNoPassword=ユーザーがパスワードを持っていない場合(これを避けるため)を空のままに SaveConfigurationFile=値を保存 diff --git a/htdocs/langs/ja_JP/languages.lang b/htdocs/langs/ja_JP/languages.lang index 0dca98435c4..3b5fad5e271 100644 --- a/htdocs/langs/ja_JP/languages.lang +++ b/htdocs/langs/ja_JP/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=アラビア語 Language_ar_SA=アラビア語 +Language_bn_BD=Bengali Language_bg_BG=ブルガリア語 Language_bs_BA=ボスニア Language_ca_ES=カタルにゃ語 @@ -21,9 +22,10 @@ Language_en_SA=英語(サウジアラビア) Language_en_US=英語 (アメリカ) Language_en_ZA=英語(南アフリカ) Language_es_ES=スペイン語 -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=スペイン語 (アルゼンチン) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=スペイン語(ホンジュラス) Language_es_MX=スペイン語(メキシコ) Language_es_PY=スペイン語(パラグアイ) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=アイスランド語 Language_it_IT=イタリア語 Language_ja_JP=日本語 +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=韓国語 +Language_lo_LA=Lao Language_lt_LT=リトアニア語 Language_lv_LV=ラトビアの Language_mk_MK=マケドニア語 @@ -64,6 +69,7 @@ Language_sv_SV=スウエーデん語 Language_sv_SE=スウェーデン語 Language_sq_AL=Albanian Language_sk_SK=スロバキア +Language_sw_SW=Kiswahili Language_th_TH=タイの Language_uk_UA=ウクライナ語 Language_uz_UZ=ウズベク語 diff --git a/htdocs/langs/ja_JP/loan.lang b/htdocs/langs/ja_JP/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/ja_JP/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ja_JP/mails.lang b/htdocs/langs/ja_JP/mails.lang index 42b6f7a5e5f..eb34b9e6a55 100644 --- a/htdocs/langs/ja_JP/mails.lang +++ b/htdocs/langs/ja_JP/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index 62a5a2589a4..ac5257f603e 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=単価(純額) UnitPriceTTC=単価 PriceU=UP PriceUHT=UP(純額) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=量 AmountInvoice=請求額 @@ -413,6 +413,8 @@ Qty=個数 ChangedBy=によって変更され ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=成功 ResultKo=失敗 @@ -421,7 +423,7 @@ Reportings=報告 Draft=ドラフト Drafts=ドラフト Validated=検証 -Opened=開かれた +Opened=Open New=新しい Discount=割引 Unknown=未知の @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=月曜日 Tuesday=火曜日 @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/ja_JP/orders.lang b/htdocs/langs/ja_JP/orders.lang index 113c59964a9..da65b1f66a4 100644 --- a/htdocs/langs/ja_JP/orders.lang +++ b/htdocs/langs/ja_JP/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=サプライヤーのため SuppliersOrders=サプライヤーの注文 SuppliersOrdersRunning=現在のサプライヤーの注文 CustomerOrder=顧客注文 -CustomersOrders=Customers orders -CustomersOrdersRunning=現在の顧客の注文 -CustomersOrdersAndOrdersLines=顧客の注文や注文の行 -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=処理するために、サプライヤの受注 +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=キャンセル StatusOrderDraftShort=ドラフト StatusOrderValidatedShort=検証 @@ -75,8 +75,9 @@ AddToMyOrders=私の注文に追加 AddToOtherOrders=他の注文に追加 AddToDraftOrders=Add to draft order ShowOrder=順序を示す -NoOpenedOrders=いいえ開かれたオーダーがない -NoOtherOpenedOrders=他の注文を開かれていません +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=他の注文 LastOrders=Last %s customer orders diff --git a/htdocs/langs/ja_JP/other.lang b/htdocs/langs/ja_JP/other.lang index 6cee92e2d0a..4baf53dc6ad 100644 --- a/htdocs/langs/ja_JP/other.lang +++ b/htdocs/langs/ja_JP/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=介入は、検証 Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=顧客への請求書が検証さ Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=サプライヤーの順序は、承認さ Notify_ORDER_SUPPLIER_REFUSE=サプライヤーのオーダーが拒否されました Notify_ORDER_VALIDATE=検証済みの顧客の注文 @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=カレンダー%sにエントリを追加します。 diff --git a/htdocs/langs/ja_JP/printing.lang b/htdocs/langs/ja_JP/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/ja_JP/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/ja_JP/productbatch.lang b/htdocs/langs/ja_JP/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/ja_JP/productbatch.lang +++ b/htdocs/langs/ja_JP/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index bb0d1ca3050..f6f409b9559 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -23,14 +23,14 @@ ProductOrService=製品やサービス ProductsAndServices=製品とサービス ProductsOrServices=製品またはサービス ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=製品とサービスの統計情報 ProductsStatistics=製品統計 -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=内部基準 LastRecorded=販売上の最後の製品/サービスは、記録 @@ -44,7 +44,7 @@ CardProduct1=サービスカード CardContract=契約カード Warehouse=倉庫 Warehouses=倉庫 -WarehouseOpened=倉庫をオープン +WarehouseOpened=Warehouse open WarehouseClosed=倉庫は閉じた Stock=株式 Stocks=ストック @@ -71,21 +71,21 @@ SellingPriceTTC=販売価格(税込) PublicPrice=公共の価格 CurrentPrice=現行価格 NewPrice=新価格 -MinPrice=ミニム。販売価格 -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=販売価格は、本製品(税抜き%s)に許可される最小値より小さくなることはありません。あなたはあまりにも重要な割引を入力した場合にも、このメッセージが表示されますことができます。 ContractStatus=契約状況 ContractStatusClosed=閉じた -ContractStatusRunning=ランニング +ContractStatusRunning=Ongoing ContractStatusExpired=期限切れの -ContractStatusOnHold=実行していない -ContractStatusToRun=To get running -ContractNotRunning=この契約は実行されていません +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=参照%sした製品はすでに存在しています。 ErrorProductBadRefOrLabel=参照またはラベルの間違った値。 ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=サプライヤー SupplierRef=サプライヤーの製品REF。 ShowProduct=製品を表示 @@ -117,12 +117,12 @@ ServiceLimitedDuration=製品は、限られた期間を持つサービスの場 MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=価格数 MultiPriceLevelsName=価格カテゴリ -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=関連付ける Translation=翻訳 KeywordFilter=キーワードフィルタ @@ -131,7 +131,7 @@ ProductToAddSearch=追加するには、製品検索 AddDel=追加/削除 Quantity=量 NoMatchFound=マッチするものが見つからない -ProductAssociationList=関連製品/サービスのリスト:製品/サービスの名前(量の影響) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=選択した製品の一つは、現在の製品を持つ親です。 DeleteProduct=製品/サービスを削除します。 @@ -179,16 +179,41 @@ CloneProduct=クローン製品やサービス ConfirmCloneProduct=あなたが製品やサービス%sのクローンを作成してもよろしいですか? CloneContentProduct=製品/サービスのすべての主要な情報のクローンを作成する ClonePricesProduct=主な情報と価格のクローンを作成する -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=本製品が使用されます NewRefForClone=REF。新製品/サービスの -CustomerPrices=お客様の価格 -SuppliersPrices=仕入価格 -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=税関コード CountryOrigin=原産国 HiddenIntoCombo=selectリストの中に隠れて Nature=自然 +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 5526c92b708..223ae1ab1ce 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=このビューには、読み取りを許可されている ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=このビューはすべてのプロジェクトを(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 MyTasksDesc=このビューは、連絡先の(種類は何でも)がプロジェクトやタスクに制限されています。 -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=このビューには、読み取りを許可されているすべてのプロジェクトやタスクを示します。 TasksDesc=このビューは、すべてのプロジェクトとタスク(あなたのユーザー権限はあなたに全てを表示する権限を付与)を提示します。 AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=プロジェクトのリスト ShowProject=プロジェクトを表示する SetProject=プロジェクトを設定します。 NoProject=はプロジェクトが定義されていませんまたは所有している -NbOpenTasks=開かれたタスクのNb +NbOpenTasks=Nb of open tasks NbOfProjects=プロジェクトのNb TimeSpent=に費や​​された時間は TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=新たに費やされた時間は MyTimeSpent=私の時間を費やし @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=プロジェクトに関連付けられている ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=プロジェクトに関連付けられているイベントのリスト +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=プロジェクト今週のアクティビティ ActivityOnProjectThisMonth=プロジェクトの活動今月 ActivityOnProjectThisYear=プロジェクトの活動は今年 @@ -95,7 +96,7 @@ DeleteATimeSpent=費やした時間を削除します。 ConfirmDeleteATimeSpent=この時間を過ごし削除してもよろしいですか? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=この第三者に専用のプロジェクト NoTasks=このプロジェクトのための作業をしない LinkedToAnotherCompany=他の第三者へのリンク @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ja_JP/propal.lang b/htdocs/langs/ja_JP/propal.lang index acdd015cb2e..415ad52e103 100644 --- a/htdocs/langs/ja_JP/propal.lang +++ b/htdocs/langs/ja_JP/propal.lang @@ -4,7 +4,7 @@ Proposal=商業的提案 ProposalShort=提案 ProposalsDraft=ドラフト商業の提案 ProposalDraft=ドラフト商業提案 -ProposalsOpened=オープンした商業提案 +ProposalsOpened=Open commercial proposals Prop=商用の提案 CommercialProposal=商業的提案 CommercialProposals=商用の提案 @@ -16,7 +16,7 @@ Prospect=見通し ProspectList=見込み客リスト DeleteProp=商業的提案を削除します。 ValidateProp=商業的提案を検証する -AddProp=提案を追加します。 +AddProp=Create proposal ConfirmDeleteProp=このコマーシャル提案を削除してもよろしいですか? ConfirmValidateProp=あなたがこのコマーシャル案を検証してもよろしいですか? LastPropals=最後%s提案 @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=月別額(税引後) NbOfProposals=商業的提案の数 ShowPropal=提案を示す PropalsDraft=ドラフト -PropalsOpened=開かれた +PropalsOpened=Open PropalsNotBilled=閉じて請求しない PropalStatusDraft=ドラフト(検証する必要があります) PropalStatusValidated=(提案が開いている)を検証 @@ -42,7 +42,7 @@ PropalStatusNotSigned=(クローズ)署名されていません PropalStatusBilled=請求 PropalStatusDraftShort=ドラフト PropalStatusValidatedShort=検証 -PropalStatusOpenedShort=開かれた +PropalStatusOpenedShort=Open PropalStatusClosedShort=閉じた PropalStatusSignedShort=署名された PropalStatusNotSignedShort=署名されていない @@ -51,12 +51,10 @@ PropalsToClose=閉じるには、商用の提案 PropalsToBill=法案に署名した商業の提案 ListOfProposals=商業的提案のリスト ActionsOnPropal=提案のイベント -NoOpenedPropals=商業的な提案を開けません -NoOtherOpenedPropals=他には、市販の提案を開いていない +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=商業的な提案のref SendPropalByMail=メールでの商用の提案を送る -FileNotUploaded=ファイルがアップロードされませんでした -FileUploaded=ファイルが正常にアップロードされました AssociatedDocuments=提案に関連するドキュメント: ErrorCantOpenDir=ディレクトリを開くことができません。 DatePropal=提案書の日付 @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propalの%sが見つかりません Estimate=概算: EstimateShort=見積もる OtherPropals=他の提案 -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=既存のプロポーザルをコピーして、商用の提案を作成します。 CreateEmptyPropal=空の商業的提案のビエルヘを作成するか、または製品/サービスのリストから DefaultProposalDurationValidity=デフォルトの商業提案の有効期間(日数) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=顧客の連絡先フォローアップ提 # Document models DocModelAzurDescription=完全な提案モデル(logo. ..) DocModelJauneDescription=Jauneの提案モデル -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/ja_JP/salaries.lang b/htdocs/langs/ja_JP/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/ja_JP/salaries.lang +++ b/htdocs/langs/ja_JP/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ja_JP/sendings.lang b/htdocs/langs/ja_JP/sendings.lang index d7fc750da77..cfed0dce619 100644 --- a/htdocs/langs/ja_JP/sendings.lang +++ b/htdocs/langs/ja_JP/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=簡単な文書モデル DocumentModelMerou=メロウA5モデル WarningNoQtyLeftToSend=警告は、出荷されるのを待っていない製品。 StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=配達のかんな日付 +DateDeliveryPlanned=Planned date of delivery DateReceived=日付の配信は、受信した SendShippingByEMail=電子メールで貨物を送る SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index c395689231c..3e2b04997ae 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -5,7 +5,7 @@ Warehouses=倉庫 NewWarehouse=新倉庫/ストックエリア WarehouseEdit=倉庫を変更する MenuNewWarehouse=新倉庫 -WarehouseOpened=倉庫をオープン +WarehouseOpened=Warehouse open WarehouseClosed=倉庫は閉じた WarehouseSource=ソースの倉庫 WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=株式の減少のために使用するために SelectWarehouseForStockIncrease=在庫の増加に使用する倉庫を選択します。 NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ja_JP/suppliers.lang b/htdocs/langs/ja_JP/suppliers.lang index 5e99086f0ed..33a8b58ada4 100644 --- a/htdocs/langs/ja_JP/suppliers.lang +++ b/htdocs/langs/ja_JP/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ja_JP/trips.lang b/htdocs/langs/ja_JP/trips.lang index 6a53035c5c6..9d73b61bfef 100644 --- a/htdocs/langs/ja_JP/trips.lang +++ b/htdocs/langs/ja_JP/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=手数料のリスト NewTrip=New expense report CompanyVisited=会社概要/基礎を訪問 @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/ja_JP/users.lang b/htdocs/langs/ja_JP/users.lang index 879183074fc..646dfde0b1b 100644 --- a/htdocs/langs/ja_JP/users.lang +++ b/htdocs/langs/ja_JP/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=グループから削除 PasswordChangedAndSentTo=パスワードが変更され、%sに送信されます。 PasswordChangeRequestSent=%s %sに送信するためのパスワードを変更するには、要求します。 MenuUsersAndGroups=ユーザーとグループ +MenuMyUserCard=My user card LastGroupsCreated=最後%sグループを作成 LastUsersCreated=最後に作成した%sユーザー ShowGroup=グループを表示 diff --git a/htdocs/langs/ja_JP/workflow.lang b/htdocs/langs/ja_JP/workflow.lang index d8885af3da4..6e73334f0b3 100644 --- a/htdocs/langs/ja_JP/workflow.lang +++ b/htdocs/langs/ja_JP/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=ワークフローモジュールのセットアップ -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=あなたがアクティブ化したモジュールに変更することができないワークフローはありません。 -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商業的提案が署名された後、自動的に顧客の注文を作成します。 -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商業的提案が署名された後、自動的に顧客の請求書を作成します。 -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=契約が検証された後、自動的に顧客に請求書を作成します。 -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=顧客注文が閉じられた後、自動的に顧客の請求書を作成します。 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/ka_GE/accountancy.lang b/htdocs/langs/ka_GE/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/ka_GE/accountancy.lang +++ b/htdocs/langs/ka_GE/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ka_GE/banks.lang b/htdocs/langs/ka_GE/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/ka_GE/banks.lang +++ b/htdocs/langs/ka_GE/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/ka_GE/bills.lang +++ b/htdocs/langs/ka_GE/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ka_GE/boxes.lang b/htdocs/langs/ka_GE/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/ka_GE/boxes.lang +++ b/htdocs/langs/ka_GE/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/ka_GE/categories.lang b/htdocs/langs/ka_GE/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/ka_GE/categories.lang +++ b/htdocs/langs/ka_GE/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/ka_GE/companies.lang b/htdocs/langs/ka_GE/companies.lang index 8abf1fd1c5a..ad9980cb055 100644 --- a/htdocs/langs/ka_GE/companies.lang +++ b/htdocs/langs/ka_GE/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ka_GE/cron.lang b/htdocs/langs/ka_GE/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/ka_GE/cron.lang +++ b/htdocs/langs/ka_GE/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ka_GE/incoterm.lang b/htdocs/langs/ka_GE/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/ka_GE/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/ka_GE/languages.lang b/htdocs/langs/ka_GE/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/ka_GE/languages.lang +++ b/htdocs/langs/ka_GE/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/ka_GE/loan.lang b/htdocs/langs/ka_GE/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/ka_GE/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ka_GE/mails.lang b/htdocs/langs/ka_GE/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/ka_GE/mails.lang +++ b/htdocs/langs/ka_GE/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang index 9a32ee6f1ea..b8eb245ac6f 100644 --- a/htdocs/langs/ka_GE/main.lang +++ b/htdocs/langs/ka_GE/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/ka_GE/orders.lang b/htdocs/langs/ka_GE/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/ka_GE/orders.lang +++ b/htdocs/langs/ka_GE/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/ka_GE/other.lang b/htdocs/langs/ka_GE/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/ka_GE/other.lang +++ b/htdocs/langs/ka_GE/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/ka_GE/printing.lang b/htdocs/langs/ka_GE/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/ka_GE/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/ka_GE/productbatch.lang b/htdocs/langs/ka_GE/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/ka_GE/productbatch.lang +++ b/htdocs/langs/ka_GE/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/ka_GE/products.lang +++ b/htdocs/langs/ka_GE/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/ka_GE/projects.lang +++ b/htdocs/langs/ka_GE/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ka_GE/propal.lang b/htdocs/langs/ka_GE/propal.lang index 2b6d12870a1..d10dbb15122 100644 --- a/htdocs/langs/ka_GE/propal.lang +++ b/htdocs/langs/ka_GE/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,8 +51,8 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail AssociatedDocuments=Documents associated with the proposal: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/ka_GE/salaries.lang b/htdocs/langs/ka_GE/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/ka_GE/salaries.lang +++ b/htdocs/langs/ka_GE/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ka_GE/sendings.lang b/htdocs/langs/ka_GE/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/ka_GE/sendings.lang +++ b/htdocs/langs/ka_GE/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/ka_GE/stocks.lang b/htdocs/langs/ka_GE/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/ka_GE/stocks.lang +++ b/htdocs/langs/ka_GE/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ka_GE/suppliers.lang b/htdocs/langs/ka_GE/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/ka_GE/suppliers.lang +++ b/htdocs/langs/ka_GE/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ka_GE/trips.lang b/htdocs/langs/ka_GE/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/ka_GE/trips.lang +++ b/htdocs/langs/ka_GE/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/ka_GE/users.lang b/htdocs/langs/ka_GE/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/ka_GE/users.lang +++ b/htdocs/langs/ka_GE/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/ka_GE/workflow.lang b/htdocs/langs/ka_GE/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/ka_GE/workflow.lang +++ b/htdocs/langs/ka_GE/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/kn_IN/accountancy.lang b/htdocs/langs/kn_IN/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/kn_IN/accountancy.lang +++ b/htdocs/langs/kn_IN/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/kn_IN/admin.lang +++ b/htdocs/langs/kn_IN/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/kn_IN/banks.lang b/htdocs/langs/kn_IN/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/kn_IN/banks.lang +++ b/htdocs/langs/kn_IN/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/kn_IN/bills.lang b/htdocs/langs/kn_IN/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/kn_IN/bills.lang +++ b/htdocs/langs/kn_IN/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/kn_IN/boxes.lang b/htdocs/langs/kn_IN/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/kn_IN/boxes.lang +++ b/htdocs/langs/kn_IN/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/kn_IN/categories.lang b/htdocs/langs/kn_IN/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/kn_IN/categories.lang +++ b/htdocs/langs/kn_IN/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/kn_IN/companies.lang b/htdocs/langs/kn_IN/companies.lang index 0195d7566b0..3a51ff1c513 100644 --- a/htdocs/langs/kn_IN/companies.lang +++ b/htdocs/langs/kn_IN/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=ಗರಿಷ್ಟ ಬಾಕಿ ಉಳಿಯಬಹುದ MonkeyNumRefModelDesc=ಫಾರ್ಮ್ಯಾಟ್% syymm-NNNN ಗ್ರಾಹಕ ಕೋಡ್ ಮತ್ತು% syymm-NNNN ವವ ವರ್ಷ ಅಲ್ಲಿ ಪೂರೈಕೆದಾರ ಕೋಡ್ ಫಾರ್ ಜೊತೆ ನ್ಯೂಮರೋ ಹಿಂತಿರುಗಿ, ಮಿಮೀ ತಿಂಗಳು ಮತ್ತು NNNN ಯಾವುದೇ ಬ್ರೇಕ್ ಮತ್ತು 0 ಯಾವುದೇ ಲಾಭ ಒಂದು ಅನುಕ್ರಮದ. LeopardNumRefModelDesc=ಕೋಡ್ ಉಚಿತ. ಈ ಕೋಡ್ ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ಮಾರ್ಪಡಿಸಬಹುದಾಗಿದೆ. ManagingDirectors=ಮ್ಯಾನೇಜರ್ (ಗಳು) ಹೆಸರು (ಸಿಇಒ, ನಿರ್ದೇಶಕ, ಅಧ್ಯಕ್ಷ ...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/kn_IN/cron.lang b/htdocs/langs/kn_IN/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/kn_IN/cron.lang +++ b/htdocs/langs/kn_IN/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/kn_IN/errors.lang +++ b/htdocs/langs/kn_IN/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/kn_IN/incoterm.lang b/htdocs/langs/kn_IN/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/kn_IN/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/kn_IN/install.lang +++ b/htdocs/langs/kn_IN/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/kn_IN/languages.lang b/htdocs/langs/kn_IN/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/kn_IN/languages.lang +++ b/htdocs/langs/kn_IN/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/kn_IN/loan.lang b/htdocs/langs/kn_IN/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/kn_IN/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/kn_IN/mails.lang b/htdocs/langs/kn_IN/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/kn_IN/mails.lang +++ b/htdocs/langs/kn_IN/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/kn_IN/main.lang b/htdocs/langs/kn_IN/main.lang index 9a32ee6f1ea..b8eb245ac6f 100644 --- a/htdocs/langs/kn_IN/main.lang +++ b/htdocs/langs/kn_IN/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/kn_IN/orders.lang b/htdocs/langs/kn_IN/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/kn_IN/orders.lang +++ b/htdocs/langs/kn_IN/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/kn_IN/other.lang b/htdocs/langs/kn_IN/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/kn_IN/other.lang +++ b/htdocs/langs/kn_IN/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/kn_IN/printing.lang b/htdocs/langs/kn_IN/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/kn_IN/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/kn_IN/productbatch.lang b/htdocs/langs/kn_IN/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/kn_IN/productbatch.lang +++ b/htdocs/langs/kn_IN/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/kn_IN/products.lang b/htdocs/langs/kn_IN/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/kn_IN/products.lang +++ b/htdocs/langs/kn_IN/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/kn_IN/projects.lang b/htdocs/langs/kn_IN/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/kn_IN/projects.lang +++ b/htdocs/langs/kn_IN/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/kn_IN/propal.lang b/htdocs/langs/kn_IN/propal.lang index 2b6d12870a1..d10dbb15122 100644 --- a/htdocs/langs/kn_IN/propal.lang +++ b/htdocs/langs/kn_IN/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,8 +51,8 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail AssociatedDocuments=Documents associated with the proposal: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/kn_IN/salaries.lang b/htdocs/langs/kn_IN/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/kn_IN/salaries.lang +++ b/htdocs/langs/kn_IN/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/kn_IN/sendings.lang b/htdocs/langs/kn_IN/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/kn_IN/sendings.lang +++ b/htdocs/langs/kn_IN/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/kn_IN/stocks.lang b/htdocs/langs/kn_IN/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/kn_IN/stocks.lang +++ b/htdocs/langs/kn_IN/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/kn_IN/suppliers.lang b/htdocs/langs/kn_IN/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/kn_IN/suppliers.lang +++ b/htdocs/langs/kn_IN/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/kn_IN/trips.lang b/htdocs/langs/kn_IN/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/kn_IN/trips.lang +++ b/htdocs/langs/kn_IN/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/kn_IN/users.lang b/htdocs/langs/kn_IN/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/kn_IN/users.lang +++ b/htdocs/langs/kn_IN/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/kn_IN/workflow.lang b/htdocs/langs/kn_IN/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/kn_IN/workflow.lang +++ b/htdocs/langs/kn_IN/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/ko_KR/accountancy.lang b/htdocs/langs/ko_KR/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/ko_KR/accountancy.lang +++ b/htdocs/langs/ko_KR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index 5cae3e54282..ed7684213c4 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ko_KR/banks.lang b/htdocs/langs/ko_KR/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/ko_KR/banks.lang +++ b/htdocs/langs/ko_KR/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/ko_KR/boxes.lang b/htdocs/langs/ko_KR/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/ko_KR/boxes.lang +++ b/htdocs/langs/ko_KR/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/ko_KR/categories.lang b/htdocs/langs/ko_KR/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/ko_KR/categories.lang +++ b/htdocs/langs/ko_KR/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/ko_KR/companies.lang b/htdocs/langs/ko_KR/companies.lang index 5580d87b517..ad9980cb055 100644 --- a/htdocs/langs/ko_KR/companies.lang +++ b/htdocs/langs/ko_KR/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ko_KR/cron.lang b/htdocs/langs/ko_KR/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/ko_KR/cron.lang +++ b/htdocs/langs/ko_KR/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index 8faefb13837..4cb6551a370 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/ko_KR/incoterm.lang b/htdocs/langs/ko_KR/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/ko_KR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index fc4daabf0e6..1f100105778 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/ko_KR/languages.lang b/htdocs/langs/ko_KR/languages.lang index 1a5490f6007..a1e8d0d67b7 100644 --- a/htdocs/langs/ko_KR/languages.lang +++ b/htdocs/langs/ko_KR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=아랍 Language_ar_SA=아라비아 말 +Language_bn_BD=Bengali Language_bg_BG=불가리아 사람 Language_bs_BA=Bosniešu Language_ca_ES=카탈로니아의 @@ -21,9 +22,10 @@ Language_en_SA=영어 (사우디 아라비아) Language_en_US=영어 (미국) Language_en_ZA=영어 (남아프리카 공화국) Language_es_ES=스페인어 -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=스페인어 (아르헨티나) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=스페인어 (온두라스) Language_es_MX=스페인어 (멕시코) Language_es_PY=스페인어 (파라과이) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=아이슬란드의 Language_it_IT=이탈리아의 Language_ja_JP=일본의 +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=한국의 +Language_lo_LA=Lao Language_lt_LT=Lietuviešu Language_lv_LV=라트비아의 Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=스웨덴어 Language_sv_SE=스웨덴어 Language_sq_AL=Albanian Language_sk_SK=Slovākijas +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbeku diff --git a/htdocs/langs/ko_KR/loan.lang b/htdocs/langs/ko_KR/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/ko_KR/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ko_KR/mails.lang b/htdocs/langs/ko_KR/mails.lang index 3b2fcaf0f52..74ab445aaa9 100644 --- a/htdocs/langs/ko_KR/mails.lang +++ b/htdocs/langs/ko_KR/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index b3f54f1d1c4..1da1a062198 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=할인 Unknown=알 수 없음 @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=월요일 Tuesday=화요일 @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/ko_KR/orders.lang b/htdocs/langs/ko_KR/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/ko_KR/orders.lang +++ b/htdocs/langs/ko_KR/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/ko_KR/other.lang b/htdocs/langs/ko_KR/other.lang index 5a0094277c9..32ab3851e39 100644 --- a/htdocs/langs/ko_KR/other.lang +++ b/htdocs/langs/ko_KR/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/ko_KR/printing.lang b/htdocs/langs/ko_KR/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/ko_KR/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/ko_KR/productbatch.lang b/htdocs/langs/ko_KR/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/ko_KR/productbatch.lang +++ b/htdocs/langs/ko_KR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ko_KR/propal.lang b/htdocs/langs/ko_KR/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/ko_KR/propal.lang +++ b/htdocs/langs/ko_KR/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/ko_KR/salaries.lang b/htdocs/langs/ko_KR/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/ko_KR/salaries.lang +++ b/htdocs/langs/ko_KR/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ko_KR/sendings.lang b/htdocs/langs/ko_KR/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/ko_KR/sendings.lang +++ b/htdocs/langs/ko_KR/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index 6a54af62d5c..535b18e83f0 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ko_KR/suppliers.lang b/htdocs/langs/ko_KR/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/ko_KR/suppliers.lang +++ b/htdocs/langs/ko_KR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ko_KR/trips.lang b/htdocs/langs/ko_KR/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/ko_KR/trips.lang +++ b/htdocs/langs/ko_KR/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/ko_KR/users.lang b/htdocs/langs/ko_KR/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/ko_KR/users.lang +++ b/htdocs/langs/ko_KR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/ko_KR/workflow.lang b/htdocs/langs/ko_KR/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/ko_KR/workflow.lang +++ b/htdocs/langs/ko_KR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/lo_LA/accountancy.lang b/htdocs/langs/lo_LA/accountancy.lang index 879f9fc27c8..7ae27cc7751 100644 --- a/htdocs/langs/lo_LA/accountancy.lang +++ b/htdocs/langs/lo_LA/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=ບັນ​ຊີ Globalparameters=​ໂຕ​ຕັ້ງ​ຄ່າ​ທັງ​ໝົດ @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/lo_LA/admin.lang +++ b/htdocs/langs/lo_LA/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/lo_LA/banks.lang b/htdocs/langs/lo_LA/banks.lang index fb5ec74abfd..6437dedf004 100644 --- a/htdocs/langs/lo_LA/banks.lang +++ b/htdocs/langs/lo_LA/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/lo_LA/bills.lang b/htdocs/langs/lo_LA/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/lo_LA/bills.lang +++ b/htdocs/langs/lo_LA/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/lo_LA/boxes.lang b/htdocs/langs/lo_LA/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/lo_LA/boxes.lang +++ b/htdocs/langs/lo_LA/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/lo_LA/categories.lang b/htdocs/langs/lo_LA/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/lo_LA/categories.lang +++ b/htdocs/langs/lo_LA/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/lo_LA/companies.lang b/htdocs/langs/lo_LA/companies.lang index 8abf1fd1c5a..ad9980cb055 100644 --- a/htdocs/langs/lo_LA/companies.lang +++ b/htdocs/langs/lo_LA/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/lo_LA/cron.lang b/htdocs/langs/lo_LA/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/lo_LA/cron.lang +++ b/htdocs/langs/lo_LA/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/lo_LA/errors.lang +++ b/htdocs/langs/lo_LA/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/lo_LA/incoterm.lang b/htdocs/langs/lo_LA/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/lo_LA/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/lo_LA/install.lang +++ b/htdocs/langs/lo_LA/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/lo_LA/languages.lang b/htdocs/langs/lo_LA/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/lo_LA/languages.lang +++ b/htdocs/langs/lo_LA/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/lo_LA/loan.lang b/htdocs/langs/lo_LA/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/lo_LA/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/lo_LA/mails.lang b/htdocs/langs/lo_LA/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/lo_LA/mails.lang +++ b/htdocs/langs/lo_LA/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/lo_LA/main.lang b/htdocs/langs/lo_LA/main.lang index 9a32ee6f1ea..b8eb245ac6f 100644 --- a/htdocs/langs/lo_LA/main.lang +++ b/htdocs/langs/lo_LA/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/lo_LA/orders.lang b/htdocs/langs/lo_LA/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/lo_LA/orders.lang +++ b/htdocs/langs/lo_LA/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/lo_LA/other.lang b/htdocs/langs/lo_LA/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/lo_LA/other.lang +++ b/htdocs/langs/lo_LA/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/lo_LA/printing.lang b/htdocs/langs/lo_LA/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/lo_LA/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/lo_LA/productbatch.lang b/htdocs/langs/lo_LA/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/lo_LA/productbatch.lang +++ b/htdocs/langs/lo_LA/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/lo_LA/products.lang b/htdocs/langs/lo_LA/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/lo_LA/products.lang +++ b/htdocs/langs/lo_LA/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/lo_LA/projects.lang b/htdocs/langs/lo_LA/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/lo_LA/projects.lang +++ b/htdocs/langs/lo_LA/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/lo_LA/propal.lang b/htdocs/langs/lo_LA/propal.lang index 2b6d12870a1..d10dbb15122 100644 --- a/htdocs/langs/lo_LA/propal.lang +++ b/htdocs/langs/lo_LA/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,8 +51,8 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail AssociatedDocuments=Documents associated with the proposal: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/lo_LA/salaries.lang b/htdocs/langs/lo_LA/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/lo_LA/salaries.lang +++ b/htdocs/langs/lo_LA/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/lo_LA/sendings.lang b/htdocs/langs/lo_LA/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/lo_LA/sendings.lang +++ b/htdocs/langs/lo_LA/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/lo_LA/stocks.lang b/htdocs/langs/lo_LA/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/lo_LA/stocks.lang +++ b/htdocs/langs/lo_LA/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/lo_LA/suppliers.lang b/htdocs/langs/lo_LA/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/lo_LA/suppliers.lang +++ b/htdocs/langs/lo_LA/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/lo_LA/trips.lang b/htdocs/langs/lo_LA/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/lo_LA/trips.lang +++ b/htdocs/langs/lo_LA/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/lo_LA/users.lang b/htdocs/langs/lo_LA/users.lang index 52c2f25d8b0..a34461f0460 100644 --- a/htdocs/langs/lo_LA/users.lang +++ b/htdocs/langs/lo_LA/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=ລຶບຈາກກຸ່ມ PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=ສະແດງກຸ່ມ diff --git a/htdocs/langs/lo_LA/workflow.lang b/htdocs/langs/lo_LA/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/lo_LA/workflow.lang +++ b/htdocs/langs/lo_LA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/lt_LT/accountancy.lang b/htdocs/langs/lt_LT/accountancy.lang index b13d1aba600..4d686cce900 100644 --- a/htdocs/langs/lt_LT/accountancy.lang +++ b/htdocs/langs/lt_LT/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Apskaita Globalparameters=Bendrieji parametrai @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Trečiųjų šalių sąskaitų ilgis ACCOUNTING_SELL_JOURNAL=Pardavimų žurnalas ACCOUNTING_PURCHASE_JOURNAL=Pirkimų žurnalas -ACCOUNTING_BANK_JOURNAL=Banko žurnalas -ACCOUNTING_CASH_JOURNAL=Pinigų žurnalas ACCOUNTING_MISCELLANEOUS_JOURNAL=Įvairiarūšis žurnalas +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Socialinis žurnalas ACCOUNTING_ACCOUNT_TRANSFER_CASH=Operacijų sąskaita diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 2fb9ee1a3bd..6cfc7a01346 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Vartotojų meniu LangFile=.lang failas System=Sistema SystemInfo=Sistemos informacija -SystemTools=Sistemos įrankiai SystemToolsArea=Sistemos įrankių sritis SystemToolsAreaDesc=Ši sritis suteikia administravimo funkcijas. Naudokite meniu pasirinkti funkciją jūs ieškote. Purge=Išvalyti @@ -232,8 +231,8 @@ Security=Saugumas Passwords=Slaptažodžiai DoNotStoreClearPassword=Nesaugokite aiškių slaptažodžių duomenų bazėje, laikykite tik užšifruotus (Activated recomended) MainDbPasswordFileConfEncrypted=Duomenų bazės slaptažodis užšifruotas conf.php (Activated recomended) -InstrucToEncodePass=Norint užkoduoti slaptažodį į conf.php failą, pakeiskite eilutę
$ Dolibarr_main_db_pass = "..."
į
$ Dolibarr_main_db_pass = "crypted:% s" -InstrucToClearPass=Norint iššifruoti slaptažodį į conf.php failą, pakeisti eilutę
$ Dolibarr_main_db_pass = "crypted: ..."
į
$ Dolibarr_main_db_pass = "% s" +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=Generuojamų PDF failų apsauga (Activated NOT recomended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=PDF dokumento apsauga sudaro galimybę jį skaityti ir spausdinti bet kurioje PDF skaityklėje. Tačiau redagavimas ir kopijavimas yra nebegalimas. Dėmesio, naudojant šią funkciją, masinis sukauptų pdf failų apjungimas neveikia (kaip neapmokėtų sąskaitų). Feature=Savybė @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Tai yra nustatymo eiga: ThisIsAlternativeProcessToFollow=Tai nustatymų procesui alternatyva: StepNb=Žingsnis %s FindPackageFromWebSite=Ieškoti paketo, kuris suteikia norimą funkciją (pavyzdžiui oficialioje interneto svetainėje %s). -DownloadPackageFromWebSite=Užkrauti paketą %s. -UnpackPackageInDolibarrRoot=Išpakuoti failą į katalogą, skirtą išoriniams moduliams: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Diegimas baigtas ir Dolibarr yra paruoštas naudoti su šiuo nauju komponentu. NotExistsDirect=Alternatyvus pagrindinis katalogas nėra apibrėžtas.
InfDirAlt=Nuo 3 versijos galimanustatyti alternatyvų pagrindinį katalogą.Tai leis saugoti vienoje vietoje papildinius (plug-ins) ir vartotojo šablonus.
Tiesiog sukurkite katalogą Dolibarr pagrindiniame kataloge (pvz.: custom).
InfDirExample=
Tada deklaruoti faile conf.php
$dolibarr_main_url_root_alt = 'http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Šios eilutės yra pažymėtos "#", atžymėjimui reikia pašalinti šį simbolį. -YouCanSubmitFile=Pasirinkite modulį: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr dabartinė versija CallUpdatePage=Eiti į puslapį, kuriame atnaujinamos duomenų bazės struktūra ir duomenys:%s. LastStableVersion=Paskutinė stabili versija @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parametrų sąrašas ateina iš lentelės
Sintaks ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Biblioteka naudojama sukurti PDF WarningUsingFPDF=Įspėjimas: Jūsų conf.php yra ribojanti direktyva dolibarr_pdf_force_fpdf=1. Tai reiškia, kad jūs naudojate FPDF biblioteką PDF failų generavimui. Ši biblioteka yra sena ir nepalaiko daug funkcijų (Unicode, vaizdo skaidrumo, kirilicos, arabų ir Azijos kalbų, ...), todėl galite patirti klaidų generuojant PDF.
Norėdami išspręsti šią problemą ir turėti visapusišką palaikymą generuojant PDF, atsisiųskite TCPDF library , tada pažymėkite (comment) arba pašalinkite eilutę $dolibarr_pdf_force_fpdf=1 ir įdėkite vietoje jos $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Įveskite telefono numerį, kuriuo skambinsite norėdami parodyti vartotojui nuorodą ClickToDial URL testavimui %s RefreshPhoneLink=Atnaujinti nuorodą @@ -492,8 +491,8 @@ Module400Name=Projektai / Galimybės / Iniciatyvos Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Web kalendorius Module410Desc=Web kalendoriaus integracija -Module500Name=Specialiosios išlaidos (mokesčiai, socialinės įmokos, dividendai) -Module500Desc=Spec. išlaidų valdymas, pavyzdžiui: mokesčių, socialinių įmokų, dividendų ir atlyginimų +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Atlyginimai Module510Desc=Darbuotojų darbo užmokesčio ir išmokų valdymas Module520Name=Paskola @@ -524,8 +523,10 @@ Module2400Name=Darbotvarkė Module2400Desc=Renginių/užduočių ir darbotvarkės valdymas Module2500Name=Elektroninis Turinio Valdymas Module2500Desc=Išsaugoti dokumentus ir dalintis jais -Module2600Name=WebServices -Module2600Desc=Įjungti Dolibarr interneto paslaugas serveryje +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (kliento) Module2650Desc=Nustatyti Dolibarr interneto paslaugų klientą (Gali būti naudojamas perkelti Duomenis / Prašymus į išorės serverius. Tiekėjo užsakymai palaikomi tik šiuo metu) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Pasiūlymų/užsakymų kilmė DictionaryAccountancyplan=Sąskaitų planas DictionaryAccountancysystem=Sąskaitų plano modeliai DictionaryEMailTemplates=El.pašto pranešimų šablonai +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Nustatymai išsaugoti BackToModuleList=Atgal į modulių sąrašą BackToDictionaryList=Atgal į žodynų sąrašą @@ -936,13 +939,14 @@ CompanyZip=Pašto kodas CompanyTown=Miestas CompanyCountry=Šalis CompanyCurrency=Pagrindinė valiuta +CompanyObject=Object of the company Logo=Logotipas DoNotShow=Nerodyti DoNotSuggestPaymentMode=Nesiūlyti NoActiveBankAccountDefined=Nenustatyta aktyvi banko sąskaita OwnerOfBankAccount=Banko sąskaitos %s savininkas BankModuleNotActive=Banko sąskaitos modulis neįjungtas -ShowBugTrackLink=Rodyti nuorodą "Pranešti apie klaidą" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Rodyti "darbastalį" pagrindiniame puslapyje Alerts=Įspėjimai Delays=Vėlavimai @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Vieneto kainos maksimalus ženklų po kablelio skaičius MAIN_MAX_DECIMALS_TOT=Visos kainos maksimalus ženklų po kablelio skaičius MAIN_MAX_DECIMALS_SHOWN=Ekrane rodomų kainų maksimalus ženklų po kablelioskaičius (Pridėti ... po šio numerio, jei norite pamatyti ... kada ekrane rodomas skaičius yra sutrumpinamas) MAIN_DISABLE_PDF_COMPRESSION=Generuojant PDF failus naudoti suspaudimą. -MAIN_ROUNDING_RULE_TOT= Apvalinimo intervalo dydis (kai kuriose šalyse apvalinimo bazė yra ne 10, kaip įprastai) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Produkto grynoji vieneto kaina TotalPriceAfterRounding=Bendra kaina (grynoji kaina/PVM/su PVM) po apvalinimo ParameterActiveForNextInputOnly=Parametras veiksmingas tik kitam duomenų įvedimui @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Iš viso aktyvių funkcijų modulių %s YouMustEnableOneModule=Jūs turite įjungti bent 1 modulį ClassNotFoundIntoPathWarning=Klasė %s nerasta į PHP kelią YesInSummer=Taip vasarą -OnlyFollowingModulesAreOpenedToExternalUsers=Atkreipkite dėmesį, kad tik šie moduliai yra atviri išorės vartotojams (kokie bebūtų šių vartotojų leidimai): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sesijų saugykla užšifruota Suhosin ConditionIsCurrently=Dabartinė būklė yra %s YouUseBestDriver=Jūs naudojate tvarkyklę %s, kuri yra geriausia tvarkyklė prieinama šiuo metu. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Maksimalus produktų skaičius grupiniuose pasirinki ConfirmDeleteProductLineAbility=Patvirtinimas, norint ištrinti produkto liniją formose ModifyProductDescAbility=Produkto aprašymų formose personalizavimas ViewProductDescInFormAbility=Produktų aprašymų vizualizavimas formose (kitu būdu per "iššokantį" langą) +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=Produktų aprašymų vizualizavimas trečios šalies kalba UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Naudokite paieškos formą norint pasirinkti produktą (o ne iškrentantį sąrašą). UseEcoTaxeAbility=Palaikyti Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Brūkšninio kodo tipas produktams pagal nutylėjimą SetDefaultBarcodeTypeThirdParties=Brūkšninio kodo tipas trečiosioms šalims pagal nutylėjimą +UseUnits=Support units ProductCodeChecker= Produkto kodo generavimo ir tikrinimo modulis (produktui arba paslaugai) ProductOtherConf= Produkto/paslaugos konfigūracija ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Brūkšninio kodo tipas UPC BarcodeDescISBN=Brūkšninio kodo tipas ISBN BarcodeDescC39=Brūkšninio kodo tipas C39 BarcodeDescC128=Brūkšninio kodo tipas 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=Vidinis variklis BarCodeNumberManager=Automatinio brūkšninių kodų numerių nustatymo valdiklis @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modulio nustatymas WebServicesDesc=Įjungus šį modulį, Dolibarr tampa interneto serveriu ir teikia įvairias interneto paslaugas. WSDLCanBeDownloadedHere=Teikiamų paslaugų WSDL deskriptoriaus failus galima atsisiųsti iš čia EndPointIs=SOAP klientai turi siųsti savo prašymus į Dolibarr galinį įrenginį, prieinamą URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Banko modulio nustatymas FreeLegalTextOnChequeReceipts=Laisvas tekstas čekių kvituose @@ -1594,7 +1609,7 @@ OpenFiscalYear=Atidaryti fiskalinius metus CloseFiscalYear=Uždaryti fiskalinius metus DeleteFiscalYear=Panaikinti fiskalinius metus ConfirmDeleteFiscalYear=Ar tikrai panaikinti šiuos fiskalinius metus ? -Opened=Atidaryta +Opened=Open Closed=Uždaryta AlwaysEditable=Visada gali būti redaguojama MAIN_APPLICATION_TITLE=Taikyti matomą aplikacijos vardą (įspėjimas: Jūsų nuosavo vardo nustatymas gali nutraukti automatinio prisijungimo funkciją naudojant DoliDroid mobiliąją aplikaciją) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/lt_LT/banks.lang b/htdocs/langs/lt_LT/banks.lang index beeeaa90f1d..ef26df2b3f2 100644 --- a/htdocs/langs/lt_LT/banks.lang +++ b/htdocs/langs/lt_LT/banks.lang @@ -94,12 +94,12 @@ Conciliate=Suderinti Conciliation=Suderinimas ConciliationForAccount=Suderinti šią sąskaitą IncludeClosedAccount=Įtraukti uždarytas sąskaitas -OnlyOpenedAccount=Tik atidarytas sąskaitas +OnlyOpenedAccount=Only open accounts AccountToCredit=Kredituoti sąskaitą AccountToDebit=Debetuoti sąskaitą DisableConciliation=Išjungti suderinimo funkciją šiai sąskaitai ConciliationDisabled=Suderinimo funkcija išjungta -StatusAccountOpened=Atidaryta +StatusAccountOpened=Open StatusAccountClosed=Uždaryta AccountIdShort=Skaičius EditBankRecord=Redaguoti įrašą diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index 7f5f7daea2d..57060f21f19 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Nedelsiamas @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/lt_LT/boxes.lang b/htdocs/langs/lt_LT/boxes.lang index d8e71dae52c..a3193b9a4ae 100644 --- a/htdocs/langs/lt_LT/boxes.lang +++ b/htdocs/langs/lt_LT/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Paskutinės sutartys BoxLastContacts=Paskutiniai kontaktai/adresai BoxLastMembers=Paskutiniai nariai BoxFicheInter=Paskutinės intervencijos -BoxCurrentAccounts=Atidarytų sąskaitų balansas +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Pardavimų apyvarta BoxTotalUnpaidCustomerBills=Visos nesumokėtos kliento sąskaitos-faktūros BoxTotalUnpaidSuppliersBills=Visos nesumokėtos tiekėjo sąskaitos-faktūros @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Paskutiniai %s nariai BoxTitleLastFicheInter=Paskutinės %s pakeistos intervencijos BoxTitleOldestUnpaidCustomerBills=Seniausios %s neapmokėtos kliento sąskaitos BoxTitleOldestUnpaidSupplierBills=Seniausios %s neapmokėtos tiekėjo sąskaitos -BoxTitleCurrentAccounts=Atidarytų sąskaitų balansas +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Pardavimų apyvarta BoxTitleTotalUnpaidCustomerBills=Neapmokėtos kliento sąskaitos BoxTitleTotalUnpaidSuppliersBills=Neapmokėtos tiekėjo sąskaitos diff --git a/htdocs/langs/lt_LT/categories.lang b/htdocs/langs/lt_LT/categories.lang index e601cd2fe33..7ad4a2744d0 100644 --- a/htdocs/langs/lt_LT/categories.lang +++ b/htdocs/langs/lt_LT/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s buvo sėkmingai įrašytas. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Nė vienas NotCategorized=Without tag/category CategoryExistsAtSameLevel=Ši kategorija jau egzistuoja su šia nuoroda @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Turinys nėra matomos visiems CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Klientų/Planų kategorijos @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/lt_LT/companies.lang b/htdocs/langs/lt_LT/companies.lang index 52d13af1833..f4e9500ab65 100644 --- a/htdocs/langs/lt_LT/companies.lang +++ b/htdocs/langs/lt_LT/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Pasiekė neapmokėtų sąskaitų-faktūrų maksimumą MonkeyNumRefModelDesc=Gražinimo numeris formatu %syymm-nnnn kliento kodui ir %syymm-nnnn tiekėjo kodui, kur yy yra metai, mm yra mėnuo ir nnnn yra seka be pertrūkių ir be grąžinimo į 0. LeopardNumRefModelDesc=Kodas yra nemokamas. Šis kodas gali būti modifikuotas bet kada. ManagingDirectors=Vadovo (-ų) pareigos (Vykdantysis direktorius (CEO), direktorius, prezidentas ...) -SearchThirdparty=Ieškoti trečios šalies +SearchThirdparty=Search third party SearchContact=Ieškoti kontakto +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/lt_LT/cron.lang b/htdocs/langs/lt_LT/cron.lang index 480c3ab3d63..961a6005743 100644 --- a/htdocs/langs/lt_LT/cron.lang +++ b/htdocs/langs/lt_LT/cron.lang @@ -4,10 +4,10 @@ About = Apie CronAbout = Apie Cron CronAboutPage = Cron apie puslapį # Right -Permission23101 = Skaityti Numatytas užduotis -Permission23102 = Sukurti/atnaujinti Numatytas užduotis -Permission23103 = Ištrinti Numatytas užduotis -Permission23104 = Vykdyti Numatytas užduotis +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Numatytos užduoties valdymo nustatymas URLToLaunchCronJobs=URL patikrinti ir pradėti cron darbą, jei reikės @@ -26,11 +26,11 @@ CronLastOutput=Paskutinė paleista išvestis CronLastResult=Paskutinio rezultato kodas CronListOfCronJobs=Numatytų darbų sąrašas CronCommand=Komanda -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Darbas @@ -39,8 +39,8 @@ CronDtStart=Pradžios data CronDtEnd=Pabaigos data CronDtNextLaunch=Kitas vykdymas CronDtLastLaunch=Paskutinis vykdymas -CronFrequency=Dažnis -CronClass=Klasė +CronFrequency=Frequency +CronClass=Class CronMethod=Metodas CronModule=Modulis CronAction=Veiksmas @@ -55,9 +55,9 @@ CronEach=Kiekvienas JobFinished=Darbas pradėtas ir baigtas #Page card CronAdd= Pridėti darbus -CronHourStart= Užduoties pradžios data ir valanda -CronEvery= Ir vykdyti kiekvieną užduotį -CronObject= Sukurti Instanciją.Objektą +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Sukurti Instanciją.Objektą CronArgs=Parametrai CronSaveSucess=Išsaugota sėkmingai CronNote=Komentaras @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informacija # Common -CronType=Užduoties tipas +CronType=Job type CronType_method=Dolibarr klasės kvietimo metodas CronType_command=Apvalkalo komanda CronMenu=Cron CronCannotLoadClass=Nepavyko įkelti klasės %s arba objekto %s UseMenuModuleToolsToAddCronJobs=Eikite į meniu "Pagrindinis - Modulių įrankiai - Darbo sąrašas" norėdami peržiūrėti ir redaguoti numatytus darbus. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index ed8e2deae47..15a13405f25 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Privalomi nustatymų parametrai dar nėra apibrėžti diff --git a/htdocs/langs/lt_LT/incoterm.lang b/htdocs/langs/lt_LT/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/lt_LT/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index a8551d4f356..1c1b7ff930b 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Duomenų bazės serveris - Superuser prieiga CheckToCreateDatabase=Žymėti langelį, jei duomenų bazės nėra ir ji turi būti sukurta.
Tokiu atveju, turite užpildyti prisijungimo/slaptažodį superuser sąskaitai šio puslapio apačioje. CheckToCreateUser=Žymėti langelį, jei duomenų bazės savininko nėra ir jis turi būti sukurtas.
Šiuo atveju, jūs turite pasirinkti jo prisijungimo vardą ir slaptažodį ir užpildyti prisijungimo/slaptažodžio superuser sąskaitai šio puslapio apačioje. Jei šis langelis nepažymėtas, savininko duomenų bazė ir jos slaptažodis jau egzistuoja. Experimental=(eksperimentinis) +Deprecated=(deprecated) DatabaseRootLoginDescription=Prisijungimas vartotojui leidžia kurti naujas duomenų bazes arba naujus vartotojus. Tai privaloma, jei Jūsų duomenų bazė ar jos savininkas dar neegzistuoja. KeepEmptyIfNoPassword=Palikite tuščią, jei vartotojas neturi slaptažodžio (praleisti) SaveConfigurationFile=Išsaugoti reikšmes diff --git a/htdocs/langs/lt_LT/languages.lang b/htdocs/langs/lt_LT/languages.lang index ebb7d44bc39..b82ec9b3131 100644 --- a/htdocs/langs/lt_LT/languages.lang +++ b/htdocs/langs/lt_LT/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabų Language_ar_SA=Arabų +Language_bn_BD=Bengali Language_bg_BG=Bulgarų Language_bs_BA=Bosnijos Language_ca_ES=Katalonų @@ -21,9 +22,10 @@ Language_en_SA=Anglų (Saudo Arabija) Language_en_US=Anglų (JAV) Language_en_ZA=Anglų (Pietų Afrika) Language_es_ES=Ispanų -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Ispanų (Argentina) Language_es_CL=Ispanų (Čilė) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Ispanų (Hondūras) Language_es_MX=Ispanų (Meksika) Language_es_PY=Ispanų (Paragvajus) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Islandų Language_it_IT=Italijos Language_ja_JP=Japonijos +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korėjiečių +Language_lo_LA=Lao Language_lt_LT=Lietuvos Language_lv_LV=Latvijos Language_mk_MK=Makedonijos @@ -64,6 +69,7 @@ Language_sv_SV=Švedų Language_sv_SE=Švedų Language_sq_AL=Albanų Language_sk_SK=Slovakijos +Language_sw_SW=Kiswahili Language_th_TH=Tailando Language_uk_UA=Ukrainiečių Language_uz_UZ=Uzbekų diff --git a/htdocs/langs/lt_LT/loan.lang b/htdocs/langs/lt_LT/loan.lang new file mode 100644 index 00000000000..4b8f90ad9f0 --- /dev/null +++ b/htdocs/langs/lt_LT/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Paskola +Loans=Paskolos +NewLoan=Nauja paskola +ShowLoan=Rodyti paskolą +PaymentLoan=Paskolos apmokėjimas +ShowLoanPayment=Rodyti paskolos apmokėjimą +Capital=Kapitalas +Insurance=Draudimas +Interest=Palūkanos +Nbterms=Sąlygos numeris +LoanAccountancyCapitalCode=Kapitalo sąskaitos Nr. +LoanAccountancyInsuranceCode=Draudimo sąskaitos Nr. +LoanAccountancyInterestCode=Palūkanų sąskaitos Nr. +LoanPayment=Paskolos apmokėjimas +ConfirmDeleteLoan=Patvirtinti šios paskolos panaikinimą +LoanDeleted=Skola sėkmingai panaikinta +ConfirmPayLoan=Patvirtinti paskolos priskyrimą prie apmokėtų +LoanPaid=Paskola grąžinta +ErrorLoanCapital=Paskolos suma turi būti skaičius didesnis už 0. +ErrorLoanLength=Paskolos terminas turi būti skaičius didesnis už 0. +ErrorLoanInterest=Metinės palūkanos turi būti skaičius didesnis už 0. +# Calc +LoanCalc=Banko paskolų skaičiuoklė +PurchaseFinanceInfo=Pirkimo ir finansavimo informacija +SalePriceOfAsset=Turto pardavimo kaina +PercentageDown=Procentų sumažėjimas +LengthOfMortgage=Įkeitimo (hipotekos) trukmė +AnnualInterestRate=Metinė palūkanų norma +ExplainCalculations=Paaiškinti skaičiavimus +ShowMeCalculationsAndAmortization=Parodyti skaičiavimus ir amortizaciją +MortgagePaymentInformation=Įkeisto turto apmokėjimo informacija +DownPayment=Pradinis mokėjimas +DownPaymentDesc=Pradinė įmoka = Būsto kaina x procentų sumažėjimo / 100 ( 5% sumažėjimui yra 5/100 or 0.05) +InterestRateDesc=Palūkanų rodiklis = Metinė palūkanų norma % / 100 +MonthlyFactorDesc=Mėnesio faktorius = Sekančios formulės rezultatas +MonthlyInterestRateDesc=Mėnesio palūkanų norma = Metinė palūkanų norma / 12 +MonthTermDesc=Mėnesių skaičius = Paskolos metų skaičius x 12 +MonthlyPaymentDesc=Mėnesinė įmoka nustatoma pagal sekančią formulę +AmortizationPaymentDesc=amortizacija parodo kokia mėnesinės įmokos dalis skiriama banko plaūkanoms ir kokia dalis - paskolos dengimui. +AmountFinanced=Finansuota suma +AmortizationMonthlyPaymentOverYears=Mėnesinės įmokos amortizacija: %s per %s metų +Totalsforyear=Iš viso per metus +MonthlyPayment=Mėnesinė įmoka +LoanCalcDesc=Ši įkeisto turto skaičiuoklė gali būti naudojama būsto paskolos mėnesinių įmokų skaičiavimui, atsižvelgiant į namo pardavimo kainą, paskolos trukmę, pirkėjo pradinės įmokos procentą ir paskolos palūkanų normą.
Ši skaičiuoklė atsižvelgia į PĮBD (Privataus įkeisto Būsto Draudimas) paskoloms, kur pradinė įmoka yra mažiau kaip 20%. Taip pat atsižvelgiama į nekilnojamo turto mokesčius ir jų įtaką mėnesinėms paskolos grą-inimo įmokoms.
+GoToInterest=%s skiriama PALŪKANOMS +GoToPrincipal=%s skiriama PASKOLOS GRĄŽINIMUI +YouWillSpend=Jūs išleisite %s Jūsų namui per metus %s +# Admin +ConfigLoan=Paskolos modulio konfigūracija +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Kapitalo sąskaitos Nr. pagal nutylėjimą +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Palūkanų sąskaitos Nr. pagal nutylėjimą +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Draudimo sąskaitos Nr. pagal nutylėjimą diff --git a/htdocs/langs/lt_LT/mails.lang b/htdocs/langs/lt_LT/mails.lang index 609ecce2f42..38e6b37ae2f 100644 --- a/htdocs/langs/lt_LT/mails.lang +++ b/htdocs/langs/lt_LT/mails.lang @@ -77,7 +77,7 @@ CheckRead=Skaityti kvitą YourMailUnsubcribeOK=E-paštas %s yra teisingai pašalintas iš adresatų sąrašo MailtoEMail=Hiper sąsaja e-paštui ActivateCheckRead=Leisti naudotis "Unsubcribe" sąsaja -ActivateCheckReadKey=Naudoti raktą URL naudojimo užšifravimui "Skaityti siuntą" ir "Pašalinti" funkcijai +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-laiškas išsiųstas %s gavėjams. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=Dokumentas, naudojantis sąskaitos-faktūros šabloną pagal nutylėjimą, bus sukurtas ir pridedamas prie kiekvieno e-laiško. diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index 75b35baf4f7..a9c0dfa2371 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Vieneto kaina (grynoji) UnitPriceTTC=Vieneto kaina PriceU=U.P. PriceUHT=U.P. (grynasis) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Suma AmountInvoice=Sąskaitos-faktūros suma @@ -398,8 +398,8 @@ Available=Prieinamas NotYetAvailable=Dar nėra prieinamas NotAvailable=Nėra prieinamas Popularity=Populiarumas -Categories=Tags/categories -Category=Tag/category +Categories=Žymės / kategorijos +Category=Žymė / Kategorija By=Pagal From=Nuo to=į @@ -413,6 +413,8 @@ Qty=Kiekis ChangedBy=Pakeitė ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Perskaičiuoti ResultOk=Sėkmė ResultKo=Nesėkmė @@ -421,7 +423,7 @@ Reportings=Ataskaitos Draft=Projektas Drafts=Projektai Validated=Pripažinti galiojančiais -Opened=Atidaryta +Opened=Atidarytas New=Naujas Discount=Nuolaida Unknown=Nežinomas @@ -525,7 +527,7 @@ NbOfCustomers=Klientų skaičius NbOfLines=Eilučių skaičius NbOfObjects=Objektų skaičius NbOfReferers=Perdavėjų skaičius -Referers=Refering objects +Referers=Susiję objektai TotalQuantity=Visas kiekis DateFromTo=Nuo %s į %s DateFrom=Nuo %s @@ -625,7 +627,7 @@ Notes=Pastabos AddNewLine=Pridėti naują eilutę AddFile=Pridėti failą ListOfFiles=Galimų failų sąrašas -FreeZone=Free entry +FreeZone=Laisvas įvedimas FreeLineOfType=Free entry of type CloneMainAttributes=Klonuoti objektą su savo pagrindiniais atributais PDFMerge=PDF sujungimas @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Susieta su tam tikro vartotojo adresatu DeleteAFile=Ištrinti failą ConfirmDeleteAFile=Ar tikrai norite ištrinti failą ? NoResults=Nėra rezultatų +SystemTools=System tools ModulesSystemTools=Modulių įrankiai Test=Bandymas Element=Elementas @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Pirmadienis Tuesday=Antradienis @@ -732,3 +738,4 @@ ShortThursday=Ke ShortFriday=Pe ShortSaturday=Še ShortSunday=Se +SelectMailModel=Select email template diff --git a/htdocs/langs/lt_LT/orders.lang b/htdocs/langs/lt_LT/orders.lang index ccbf633869e..37b04c179f6 100644 --- a/htdocs/langs/lt_LT/orders.lang +++ b/htdocs/langs/lt_LT/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Tiekėjo užsakymas SuppliersOrders=Tiekėjų užsakymai SuppliersOrdersRunning=Dabartiniai tiekėjų užsakymai CustomerOrder=Kliento užsakymas -CustomersOrders=Klientų užsakymai -CustomersOrdersRunning=Dabartiniai klientų užsakymai -CustomersOrdersAndOrdersLines=Klientų užsakymai ir užsakymų eilės -OrdersToValid=Klientų užsakymai patvirtinimui -OrdersToBill=Klientų užsakymai pristatyti -OrdersInProcess=Klientų užsakymai vykdomi šiuo metu -OrdersToProcess=Klientų užsakymai vykdymui -SuppliersOrdersToProcess=Tiekėjų užsakymai vykdymui +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Atšauktas StatusOrderDraftShort=Projektas StatusOrderValidatedShort=Patvirtintas @@ -75,8 +75,9 @@ AddToMyOrders=Įtraukti į mano užsakymus AddToOtherOrders=Įtraukti į kitų užsakymus AddToDraftOrders=Pridėti į užsakymo projektą ShowOrder=Rodyti užsakymą -NoOpenedOrders=Nėra atidarytų užsakymų -NoOtherOpenedOrders=Nėra kitų atidarytų užsakymų +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Nėra užsakymų projektų OtherOrders=Kiti užsakymai LastOrders=Paskutinio %s kliento užsakymai diff --git a/htdocs/langs/lt_LT/other.lang b/htdocs/langs/lt_LT/other.lang index 084e67f7575..a2da33ecb0e 100644 --- a/htdocs/langs/lt_LT/other.lang +++ b/htdocs/langs/lt_LT/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervencija patvirtinta Notify_FICHINTER_SENTBYMAIL=Intervencija nusiųsta paštu Notify_BILL_VALIDATE=Kliento sąskaita-faktūra patvirtinta Notify_BILL_UNVALIDATE=Kliento sąskaita-faktūra nepatvirtinta +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Tiekėjo užsakymas patvirtintas Notify_ORDER_SUPPLIER_REFUSE=Tiekėjo užsakymas atmestas Notify_ORDER_VALIDATE=Kliento užsakymas patvirtintas @@ -203,6 +204,7 @@ ClickHereToGoTo=Spauskite čia norėdami pereiti į %s YouMustClickToChange=Pirmiausia turite paspausti ant šios nuorodos ir patvirtinti šį slaptažodžio pakeitimą ForgetIfNothing=Jei neprašėte šio pakeitimo, tiesiog pamirškite šį pranešimą. Jūsų mandatai yra saugūs. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Pridėti įrašą kalendoriuje %s diff --git a/htdocs/langs/lt_LT/printing.lang b/htdocs/langs/lt_LT/printing.lang new file mode 100644 index 00000000000..6f2cabc2146 --- /dev/null +++ b/htdocs/langs/lt_LT/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=Draiverių sąrašas +PrintTestDesc=Printerių sąrašas +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Draiverio nustatymai +TestDriver=Testas +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud spausdinimas +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login'as +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Tiesioginis +STATE_UNKNOWN=Nežinomas +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/lt_LT/productbatch.lang b/htdocs/langs/lt_LT/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/lt_LT/productbatch.lang +++ b/htdocs/langs/lt_LT/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 6148b31c11a..9e833756889 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produktas ar Paslauga ProductsAndServices=Produktai ir Paslaugos ProductsOrServices=Produktai ar Paslaugos ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Produktų ir paslaugų statistika ProductsStatistics=Produktų statistika -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Vidinė nuoroda LastRecorded=Naujausi produktai / paslaugos įregistruoti pardavimuose @@ -44,7 +44,7 @@ CardProduct1=Paslaugos kortelė CardContract=Sutarties kortelė Warehouse=Sandėlis Warehouses=Sandėliai -WarehouseOpened=Sandėlis atidarytas +WarehouseOpened=Warehouse open WarehouseClosed=Sandėlis uždarytas Stock=Atsarga Stocks=Atsargos @@ -71,21 +71,21 @@ SellingPriceTTC=Pardavimo kaina (įskaitant mokesčius) PublicPrice=Vieša kaina CurrentPrice=Dabartinė kaina NewPrice=Nauja kaina -MinPrice=Minimali pardavimo kaina -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Pardavimo kaina negali būti mažesnė už minimalią leidžiamą šiam produktui (%s be mokesčių). Šis pranešimas taip pat gali pasirodyti, jei įvedate per labai didelę nuolaidą. ContractStatus=Sutarties būklė ContractStatusClosed=Uždarytas -ContractStatusRunning=Veikia +ContractStatusRunning=Ongoing ContractStatusExpired=Pasibaigęs -ContractStatusOnHold=Neveikia -ContractStatusToRun=To get running -ContractNotRunning=Ši sutartis nevykdoma +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Produktas su nuoroda %s jau egzistuoja. ErrorProductBadRefOrLabel=Neteisinga nuorodos ar etiketės reikšmė ErrorProductClone=Iškilo problema bandant klonuoti produktą ar paslaugą. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Tiekėjai SupplierRef=Tiekėjo produkto nuoroda ShowProduct=Rodyti produktą @@ -117,12 +117,12 @@ ServiceLimitedDuration=Jei produktas yra paslauga su ribota trukme: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Kainų skaičius MultiPriceLevelsName=Kainų kategorijos -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Prisijungti Translation=Vertimas KeywordFilter=Raktažodižio filtras @@ -131,7 +131,7 @@ ProductToAddSearch=Ieškoti produkto pridėjimui AddDel=Pridėti/Ištrinti Quantity=Kiekis NoMatchFound=Atitikimų nerasta -ProductAssociationList=Susijusių produktų/paslaugų sąrašas: produkto/paslaugos pavadinimas (paveiktas kiekis) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Vienas iš pasirinkto produkto yra patronuojantis einamam produktui DeleteProduct=Ištrinti produktą/paslaugą @@ -179,16 +179,41 @@ CloneProduct=Klonuoti produktą ar paslaugą ConfirmCloneProduct=Ar tikrai norite klonuoti produktą ar paslaugą %s ? CloneContentProduct=Klonuoti visą pagrindinę produkto/paslaugos informaciją ClonePricesProduct=Klonuoti pagrindinę informaciją ir kainas -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Šis produktas naudojamas NewRefForClone=Naujo produkto/paslaugos nuoroda -CustomerPrices=Klientų kainos -SuppliersPrices=Tiekėjų kainos -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Muitinės kodas CountryOrigin=Kilmės šalis HiddenIntoCombo=Nematoma pasirinktuose sąrašuose Nature=Prigimtis +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Produkto šablono nuoroda ServiceCodeModel=Paslaugos šablono nuoroda AddThisProductCard=Sukurti produkto kortelę @@ -214,7 +239,7 @@ CostPmpHT=Grynasis visų VWAP ProductUsedForBuild=Auto suvartotojimas pagal gamybą ProductBuilded=Gamyba baigta ProductsMultiPrice=Produkto multi-kaina -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Produktų apyvarta per ketvirtį VWAP ServiceSellByQuarterHT=Paslaugų apyvarta per ketvirtį VWAP Quarter1=I ketvirtis @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Nustatykite brūkšninio kodo reikšmę visiems įraš PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Pridėti kainą pagal klientus +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Nustatykite tą pačią kainą ir kliento dukterinėms įmonėms PriceByCustomerLog=Kaina pagal kliento žurnalą -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index 98c53e1f452..56f87a68be6 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -3,21 +3,21 @@ RefProject=Projekto nuoroda ProjectId=Projekto ID Project=Projektas Projects=Projektai -ProjectStatus=Project status +ProjectStatus=Projekto statusas SharedProject=Visi PrivateProject=Kontaktai projekte MyProjectsDesc=Šis vaizdas yra ribotas projektams, kuriems esate kontaktinis asmuo (koks bebūtų tipas). ProjectsPublicDesc=Šis vaizdas rodo visus projektus, kuriuos yra Jums leidžiama skaityti. -ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. +ProjectsPublicTaskDesc=Čia rodomi visi projektai ir užduotys, kuriuos Jums leidžiama skaityti. ProjectsDesc=Šis vaizdas rodo visus projektus (Jūsų vartotojo teisės leidžia matyti viską). MyTasksDesc=Šis vaizdas yra ribotas projektams ar užduotims, kuriems Jūs esate kontaktinis asmuo (koks bebūtų tipas). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Matomi tik atidaryti projektai (projektai juodraščiai ar uždaryti projektai nematomi). TasksPublicDesc=Šis vaizdas rodo visus projektus ir užduotis, kuriuos Jums leidžiama skaityti. TasksDesc=Šis vaizdas rodo visus projektus ir užduotis (Jūsų vartotojo teisės leidžia matyti viską). -AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. +AllTaskVisibleButEditIfYouAreAssigned=Visos šio projekto užduotys yra matomos, bet Jūs galite įvesti laiką tik užduotims, kurios priskirtos Jums. ProjectsArea=Projektų sritis NewProject=Naujas projektas -AddProject=Create project +AddProject=Sukurti projektą DeleteAProject=Ištrinti projektą DeleteATask=Ištrinti užduotį ConfirmDeleteAProject=Ar tikrai norite ištrinti šį projektą? @@ -32,8 +32,8 @@ NoProject=Nėra apibrėžto ar turimo projekto NbOpenTasks=Atidarytų užduočių skaičius NbOfProjects=Projektų skaičius TimeSpent=Praleistas laikas -TimeSpentByYou=Time spent by you -TimeSpentByUser=Time spent by user +TimeSpentByYou=Jūsų sugaištas laikas +TimeSpentByUser=Vartotojo sugaištas laikas TimesSpent=Praleistas laikas RefTask=Užduoties nuoroda LabelTask=Etiketės užduotis @@ -41,8 +41,8 @@ TaskTimeSpent=Laikas, praleistas vykdant užduotis TaskTimeUser=Vartotojas TaskTimeNote=Pastaba TaskTimeDate=Data -TasksOnOpenedProject=Tasks on opened projects -WorkloadNotDefined=Workload not defined +TasksOnOpenedProject=Užduotys atidarytuose projektuose +WorkloadNotDefined=Darbo krūvis nėra apibrėžtas NewTimeSpent=Naujas praleistas laikas MyTimeSpent=Mano praleistas laikas MyTasks=Mano užduotys @@ -52,7 +52,7 @@ TaskDateStart=Užduoties pradžios data TaskDateEnd=Užduoties pabaigos data TaskDescription=Užduoties aprašymas NewTask=Nauja užduotis -AddTask=Create task +AddTask=Sukurti užduotį AddDuration=Pridėti trukmę Activity=Veikla Activities=Užduotys/veikla @@ -72,9 +72,10 @@ ListSupplierOrdersAssociatedProject=Tiekėjo užsakymų, susijusių su projektu, ListSupplierInvoicesAssociatedProject=Tiekėjo sąskaitų-faktūrų, susijusių su projektu, sąrašas ListContractAssociatedProject=Sudarytų sutarčių, susijusių su projektu, sąrašas ListFichinterAssociatedProject=Intervencijų, susijusių su projektu, sąrašas -ListExpenseReportsAssociatedProject=List of expense reports associated with the project -ListDonationsAssociatedProject=List of donations associated with the project +ListExpenseReportsAssociatedProject=Išlaidų, susijusių su projektu, ataskaitų sąrašas. +ListDonationsAssociatedProject=Paaukotų lėšų, susijusių su projektu, sąrašas. ListActionsAssociatedProject=Įvykių, susijusių su projektu, sąrašas +ListTaskTimeUserProject=Projekto užduotims sunaudoto laiko sąrašas. ActivityOnProjectThisWeek=Projekto aktyvumas šią savaitę ActivityOnProjectThisMonth=Projekto aktyvumas šį mėnesį ActivityOnProjectThisYear=Projekto aktyvumas šiais metais @@ -93,13 +94,13 @@ ActionsOnProject=Projekto įvykiai YouAreNotContactOfProject=Jūs nesate šios privataus projekto kontaktinis adresatas DeleteATimeSpent=Ištrinti praleistą laiką ConfirmDeleteATimeSpent=Ar tikrai norite ištrinti šį praleistą laiką ? -DoNotShowMyTasksOnly=See also tasks not assigned to me -ShowMyTasksOnly=View only tasks assigned to me +DoNotShowMyTasksOnly=Taip pat žiūrėti užduotis pavestas ne man +ShowMyTasksOnly=Rodyti tik man pavestas užduotis TaskRessourceLinks=Ištekliai ProjectsDedicatedToThisThirdParty=Projektai, skirti šiai trečiąjai šaliai NoTasks=Nėra uždavinių šiam projektui LinkedToAnotherCompany=Susijęs su kita trečiąja šalimi -TaskIsNotAffectedToYou=Task not assigned to you +TaskIsNotAffectedToYou=Užduotis nėra priskirta jums ErrorTimeSpentIsEmpty=Praleistas laikas yra tuščias ThisWillAlsoRemoveTasks=Šis veiksmas taip pat ištrins visas projekto užduotis (%s užduotis šiuo metu) ir visus praleisto laiko įvestus duomenis. IfNeedToUseOhterObjectKeepEmpty=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). @@ -109,7 +110,7 @@ CloneContacts=Klonuoti kontaktus CloneNotes=Klonuoti pastabas CloneProjectFiles=Klonuoti projekto jungiamus failus CloneTaskFiles=Klonuoti užduoties (-ių) jungiamus failus (jei užduotis (-ys) klonuotos) -CloneMoveDate=Update project/tasks dates from now ? +CloneMoveDate=Atnaujinti projekto / užduočių datas nuo dabar ? ConfirmCloneProject=Ar tikrai norite klonuoti šį projektą ? ProjectReportDate=Pakeisti užduoties datą priklausomai nuo projekto pradžios datos ErrorShiftTaskDate=Neįmanoma perkelti užduoties datą į naujo projekto pradžios datą @@ -129,18 +130,22 @@ TypeContact_project_task_internal_TASKCONTRIBUTOR=Aukotojas TypeContact_project_task_external_TASKCONTRIBUTOR=Straipsnio autorius SelectElement=Pasirinkti elementą AddElement=Susieti su elementu -UnlinkElement=Unlink element +UnlinkElement=Atsieti elementą # Documents models DocumentModelBaleine=Pilnas projekto ataskaitos modelis (logo. ..) PlannedWorkload=Planuojamas darbo krūvis -PlannedWorkloadShort=Workload -WorkloadOccupation=Workload assignation +PlannedWorkloadShort=Darbo krūvis +WorkloadOccupation=Darbo krūvio priskyrimas ProjectReferers=Nurodomi objektai -SearchAProject=Search a project -ProjectMustBeValidatedFirst=Project must be validated first -ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time -InputPerDay=Input per day -InputPerWeek=Input per week -InputPerAction=Input per action -TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s +SearchAProject=Projekto paieška +ProjectMustBeValidatedFirst=Projektas turi būti pirmiausia patvirtintas +ProjectDraft=Projektų juodraščiai +FirstAddRessourceToAllocateTime=Susieti išteklius laiko paskirstymui +InputPerDay=Įvesčių per dieną +InputPerWeek=Įvesčių per savaitę +InputPerAction=Įvesčių vienam veiksmui +TimeAlreadyRecorded=sugaištas laikas, jau įrašytas šiai užduočiai / dienai ir vartotojas %s +ProjectsWithThisUserAsContact=Projektai su šiuo vartotoju kaip kontaktu. +TasksWithThisUserAsContact=Užduotys, priskirtos šiam vartotojui +ResourceNotAssignedToProject=Nepriskirtas projektui +ResourceNotAssignedToTask=Nepriskirtas užduočiai diff --git a/htdocs/langs/lt_LT/propal.lang b/htdocs/langs/lt_LT/propal.lang index 606961e68f3..bdf1361ffd4 100644 --- a/htdocs/langs/lt_LT/propal.lang +++ b/htdocs/langs/lt_LT/propal.lang @@ -4,7 +4,7 @@ Proposal=Komercinis pasiūlymas ProposalShort=Pasiūlymas ProposalsDraft=Komercinių pasiūlymų projektai ProposalDraft=Komercinio pasiūlymo projektas -ProposalsOpened=Atidaryti komerciniai pasiūlymai +ProposalsOpened=Open commercial proposals Prop=Komerciniai pasiūlymai CommercialProposal=Komercinis pasiūlymas CommercialProposals=Komerciniai pasiūlymai @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Suma pagal mėnesį (atskaičius mokesčius) NbOfProposals=Komercinių pasiūlymų skaičius ShowPropal=Rodyti pasiūlymą PropalsDraft=Projektai -PropalsOpened=Atidaryta +PropalsOpened=Open PropalsNotBilled=Uždaryta be pateiktų sąskaitų-faktūrų PropalStatusDraft=Projektas (turi būti patvirtintas) PropalStatusValidated=Patvirtintas (pasiūlymas yra atidarytas) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nepasirašyta (uždarytas) PropalStatusBilled=Sąskaita-faktūra pateikta PropalStatusDraftShort=Projektas PropalStatusValidatedShort=Patvirtinta -PropalStatusOpenedShort=Atidaryta +PropalStatusOpenedShort=Open PropalStatusClosedShort=Uždarytas PropalStatusSignedShort=Pasirašyta PropalStatusNotSignedShort=Nepasirašyta @@ -51,8 +51,8 @@ PropalsToClose=Komerciniai pasiūlymai uždarymui PropalsToBill=Pasirašyti komerciniai pasiūlymai sąskaitoms-faktūroms ListOfProposals=Komercinių pasiūlymų sąrašas ActionsOnPropal=Pasiūlymų įvykiai -NoOpenedPropals=Neatidaryti komerciniai pasiūlymai -NoOtherOpenedPropals=Nėra kitų atidarytų komercinių pasiūlymų +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Komercinio pasiūlymo nuoroda SendPropalByMail=Siųsti komercinį pasiūlymą paštu AssociatedDocuments=Dokumentai, susiję su pasiūlymu: @@ -98,3 +98,4 @@ DocModelJauneDescription="Žalias" pasiūlymo modelis DefaultModelPropalCreate=Modelio sukūrimas pagal nutylėjimą DefaultModelPropalToBill=Šablonas pagal nutylėjimą, kai uždaromas verslo pasiūlymas (turi būti išrašyta sąskaita-faktūra) DefaultModelPropalClosed=Šablonas pagal nutylėjimą, kai uždaromas verslo pasiūlymas (sąskaita-faktūra neišrašoma) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/lt_LT/salaries.lang b/htdocs/langs/lt_LT/salaries.lang index a36e72679b2..e0345836347 100644 --- a/htdocs/langs/lt_LT/salaries.lang +++ b/htdocs/langs/lt_LT/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Rodyti atlyginimo mokėjimą THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/lt_LT/sendings.lang b/htdocs/langs/lt_LT/sendings.lang index 3003c65d6b7..7d864bdf4a3 100644 --- a/htdocs/langs/lt_LT/sendings.lang +++ b/htdocs/langs/lt_LT/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Paprastas dokumento modelis DocumentModelMerou=Merou A5 modelis WarningNoQtyLeftToSend=Įspėjimas, nėra produktų, laukiančių išsiuntimo StatsOnShipmentsOnlyValidated=Tik patvirtintas siuntas parodanti statistika. Naudojama data yra siuntos patvirtinimo data (suplanuota pristatymo data yra ne visada žinoma). -DateDeliveryPlanned=Suplanuota pristatymo data +DateDeliveryPlanned=Planned date of delivery DateReceived=Pristatymo gavimo data SendShippingByEMail=Siųsti siuntą e-paštu SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index 8f51f32a959..d7ee7a6f2b4 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Sandėliai NewWarehouse=Naujas sandėlys / Atsargų sritis WarehouseEdit=Keisti sandėlį MenuNewWarehouse=Naujas sandėlys -WarehouseOpened=Sandėlis atidarytas +WarehouseOpened=Warehouse open WarehouseClosed=Sandėlis uždarytas WarehouseSource=Pradinis sandėlis WarehouseSourceNotDefined=Nėra apibrėžto sandėlio @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Pasirinkite sandėlį atsargų sumažėjimui SelectWarehouseForStockIncrease=Pasirinkite sandėlį atsargų padidėjimui NoStockAction=Nėra veiksmų su atsargomis LastWaitingSupplierOrders=Užsakymai, laukiantys priėmimo -DesiredStock=Pageidaujamos atsargos +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Užsakyti Replenishment=Papildymas ReplenishmentOrders=Papildymo užsakymai -VirtualDiffersFromPhysical=Priklausomai nuo atsargų opcijos padidinti/sumažinti, fizinės atsargos ir virtualios atsargos (fiziniai + einamieji užsakymai) gali skirtis +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Papildymo funkcijas naudokite virtualias atsargas pagal nutylėjimą, o ne fizines turimas atsargas UseVirtualStock=Naudokite virtualias atsargas UsePhysicalStock=Naudoti fizines atsargas -CurentSelectionMode=Dabarinis pasirinkimo režimas +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtualios atsargos CurentlyUsingPhysicalStock=Fizinės atsargos RuleForStockReplenishment=Atsargų papildymo taisyklė @@ -112,8 +113,8 @@ AlertOnly= Tik įspėjimai WarehouseForStockDecrease=Sandėlis %s bus naudojamos atsargų sumažėjimui WarehouseForStockIncrease=Sandėlis %s bus naudojamos atsargų padidėjimui ForThisWarehouse=Šiam sandėliui -ReplenishmentStatusDesc=Tai sąrašas visų produktų, kurių atsargos mažesnės už pageidaujamą kiekį (arba mažesnės nei įspėjama kritinė riba, jei langelis "Tik įspėjimai" yra pažymėtas), ir siūlymas sukurti tiekėjo užsakymus skirtumo užpildymui. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Papildymai NbOfProductBeforePeriod=Produkto %s kiekis atsargose iki pasirinkto periodo (< %s) NbOfProductAfterPeriod=Produkto %s kiekis sandėlyje po pasirinkto periodo (> %s) @@ -124,16 +125,16 @@ RecordMovement=Įrašyti perdavimą ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Įrašyti atsargų judėjimai RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/lt_LT/suppliers.lang b/htdocs/langs/lt_LT/suppliers.lang index 808c1872a49..f6fbc9ad260 100644 --- a/htdocs/langs/lt_LT/suppliers.lang +++ b/htdocs/langs/lt_LT/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Nusiųsta tiekėjams ListOfSupplierOrders=Tiekėjo užsakymų sąrašas MenuOrdersSupplierToBill=Tiekėjo užsakymai sąskaitoms NbDaysToDelivery=Pristatymo vėlavimas dienomis -DescNbDaysToDelivery=Didžiausias vėlavimas rodomas +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Naudoti dvigubą patvirtinimą (antras patvirtinimas gali būti atliktas bet kurio vartotojo su priskirtais tam leidimais) diff --git a/htdocs/langs/lt_LT/trips.lang b/htdocs/langs/lt_LT/trips.lang index 9f477edc8be..445d79e5f88 100644 --- a/htdocs/langs/lt_LT/trips.lang +++ b/htdocs/langs/lt_LT/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Išlaidų ataskaitos TripsAndExpensesStatistics=Išlaidų ataskaitų statistika TripCard=Išlaidų ataskaitos kortelė AddTrip=Sukurti išlaidų ataskaitą -ListOfTrips=Išlaidų ataskaitų sąrašas +ListOfTrips=List of expense reports ListOfFees=Įmokų sąrašas NewTrip=Nauja išlaidų ataskaita CompanyVisited=Aplankyta įmonė/organizacija @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Asmuo informuojamas patvirtinimui. TripSociete=Informacijos įmonė TripSalarie=Informacijos vartotojas TripNDF=Informacijos išlaidų ataskaiata -DeleteLine=Ištrinti išlaidų taskaitos eilutę +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Ar tikrai norite ištrinti šią eilutę ? PDFStandardExpenseReports=Standartinis šablonas PDF dokumento išlaidų ataskaitoje generavimui ExpenseReportLine=Išlaidų ataskaitos eilutė @@ -40,11 +40,10 @@ TF_BUS=Autobusas TF_CAR=Automobilis TF_PEAGE=Mokamas TF_ESSENCE=Kuras -TF_HOTEL=Hostelis +TF_HOTEL=Hotel TF_TAXI=Taksi ErrorDoubleDeclaration=Jūs deklaravote kitą išlaidų ataskaitą panašiame laiko periode. -ListTripsAndExpenses=Išlaidų ataskaitų sąrašas AucuneNDF=Pagal šį kriterijų nerasta išlaidų ataskaitos AucuneLigne=Dar nėra deklaruotos išlaidų ataskaitos AddLine=Pridėti eilutę @@ -56,12 +55,12 @@ ModePaiement=Mokėjimo būdas Note=Pranešimas Project=Projektas -VALIDATOR=Vartotojas patvirtinimo informavimui +VALIDATOR=User responsible for approval VALIDOR=Patvirtinta AUTHOR=Įrašyta -AUTHORPAIEMENT=Apmokėta +AUTHORPAIEMENT=Paid by REFUSEUR=Atmesta -CANCEL_USER=Nutraukta +CANCEL_USER=Deleted by MOTIF_REFUS=Priežastis MOTIF_CANCEL=Priežastis @@ -74,7 +73,7 @@ DATE_PAIEMENT=Mokėjimo data TO_PAID=Mokėti BROUILLONNER=Atidaryti iš naujo -SendToValid=Siųsti patvirtinimui +SendToValid=Sent on approval ModifyInfoGen=Redaguoti ValidateAndSubmit=Įvertinti ir pateikti tvirtinimui @@ -93,7 +92,7 @@ ConfirmPaidTrip=Ar tikrai norite pakeisti šios išlaidų ataskaitos būklę į CancelTrip=Nutraukti išlaidų ataskaitą ConfirmCancelTrip=Ar tikrai norite nutraukti šią išlaidų ataskaitą ? -BrouillonnerTrip=Išlaidų ataskaitos būklę grąžinti į "Projektas" +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Ar tikrai norite grąžinti šios išlaidų ataskaitos būklę į "Projektas" ? SaveTrip=Patvirtinti išlaidų ataskaitą diff --git a/htdocs/langs/lt_LT/users.lang b/htdocs/langs/lt_LT/users.lang index 7dedd9cf1e7..bf159a2515f 100644 --- a/htdocs/langs/lt_LT/users.lang +++ b/htdocs/langs/lt_LT/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Pašalinti iš grupės PasswordChangedAndSentTo=Slaptažodis pakeistas ir išsiųstas į %s. PasswordChangeRequestSent=Prašymas pakeisti slaptažodį %s išsiųstą į %s MenuUsersAndGroups=Vartotojai ir grupės +MenuMyUserCard=My user card LastGroupsCreated=Paskutinės %s sukurtos grupės LastUsersCreated=Paskutiniai %s sukurti vartotojai ShowGroup=Rodyti grupę diff --git a/htdocs/langs/lt_LT/workflow.lang b/htdocs/langs/lt_LT/workflow.lang index 4d79b753c4e..3012aa615ae 100644 --- a/htdocs/langs/lt_LT/workflow.lang +++ b/htdocs/langs/lt_LT/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modulio nustatymas -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Čia nėra darbo eigos Jūsų įjungtam moduliui, kurią galėtumėte modifikuoti -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Sukurti kliento užsakymą automatiškai po komercinio pasiūlymo pasirašymo -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Sukurti kliento sąskaitą-faktūrą automatiškai po komercinio pasiūlymo pasirašymo -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Sukurti kliento sąskaitą-faktūrą automatiškai po sutarties patvirtinimo -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Sukurti kliento sąskaitą-faktūrą automatiškai po kliento užsakymo uždarymo +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Priskirti susijusį šaltinio pasiūlymą prie apmokestintų, kai kliento užsakymas nustatomas kaip apmokėtas descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Priskirti susijusį šaltinio kliento užsakymą (-us) prie apmokestinamų, kai kliento sąskaita-faktūra yra nustatoma kaip jau apmokėta descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Priskirti susijusį šaltinio kliento užsakymą (-us) prie apmokestinamų, kai kliento sąskaita-faktūra yra patvirtinama diff --git a/htdocs/langs/lv_LV/accountancy.lang b/htdocs/langs/lv_LV/accountancy.lang index 3f5828327f7..482f3a7b193 100644 --- a/htdocs/langs/lv_LV/accountancy.lang +++ b/htdocs/langs/lv_LV/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Globālie iestatījumi @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 14bed951fe2..1eeb7cdf2d9 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Lietotāju izvēlne LangFile=. lang fails System=Sistēma SystemInfo=Sistēmas informācija -SystemTools=Sistēmas rīki SystemToolsArea=Sistēmas rīku iestatīšana SystemToolsAreaDesc=Šī joma piedāvā administrēšanas funkcijas. Lietojiet izvēlni, lai izvēlētos funkciju, jūs meklējat. Purge=Tīrīt @@ -232,8 +231,8 @@ Security=Drošība Passwords=Paroles DoNotStoreClearPassword=Neglabāt nešifrētas paroles datubāzē bet izmantot šifrētas (aktivizācija ieteicama) MainDbPasswordFileConfEncrypted=Datubāzes paroli šifrēti conf.php (aktivēt ieteicams) -InstrucToEncodePass=Lai iegūtu paroli, iekodētas conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "..."
līdz
$ Dolibarr_main_db_pass = "crypted: %s" -InstrucToClearPass=Lai iegūtu paroli, dekodēt (skaidri) uz conf.php failu, nomainiet līnija
$ Dolibarr_main_db_pass = "crypted: ..."
līdz
$ Dolibarr_main_db_pass = "%s" +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=Ģenerēto PDF failu aizsardzība (aktivizēta NAV ieteicama, masveida pdf veidošanai) ProtectAndEncryptPdfFilesDesc=Aizsardzība PDF dokumentu saglabā to pieejamu lasīt un izdrukāt ar jebkuru PDF pārlūkprogrammu. Tomēr, rediģēšanu un kopēšanu nav iespējams vairs. Ņemiet vērā, ka, izmantojot šo funkciju veikt ēku no pasaules uzkrātā pdf nedarbojas (piemēram, neapmaksātiem rēķiniem). Feature=Iespēja @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Tas ir setup, lai process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Solis %s FindPackageFromWebSite=Atrast paketi, kas nodrošina iespēju, jūs vēlaties (piemēram, par oficiālo tīmekļa vietnes %s). -DownloadPackageFromWebSite=Lejupielādēt paku %s -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Instalēšana ir pabeigta, un Dolibarr ir gatavs lietošanai ar šo jauno komponentu. NotExistsDirect=Alternatīva saknes direktorijs nav definēta.
InfDirAlt=Kopš 3 versijas, ir iespējams noteikt alternatīvu sakne directory.Tas ļauj jums saglabāt, tajā pašā vietā, papildinājumus un pielāgotas veidnes.
Jums tikai jāizveido direktoriju Dolibarr saknē (piemēram: custom).
InfDirExample=
Tad paziņo to failu conf.php
$ Dolibarr_main_url_root_alt = 'http://myserver/custom'
$ Dolibarr_main_document_root_alt = '/ ceļš / uz / dolibarr / htdocs / custom'
* Šīs līnijas ir komentēja ar "#", lai uncomment tikai noņemt raksturs. -YouCanSubmitFile=Izvēlieties moduli: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr pašreizējā versija CallUpdatePage=Iet uz lapu, kas aktualizē datu bāzes struktūru un datus: %s. LastStableVersion=Pēdējā stabilā versija @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotēka, lai izveidotu PDF WarningUsingFPDF=Uzmanību: Jūsu conf.php satur direktīvu dolibarr_pdf_force_fpdf = 1. Tas nozīmē, ka jūs izmantojat FPDF bibliotēku, lai radītu PDF failus. Šī bibliotēka ir vecs un neatbalsta daudz funkcijām (Unicode, attēlu pārredzamība, kirilicas, arābu un Āzijas valodās, ...), tāpēc var rasties kļūdas laikā PDF paaudzes.
Lai atrisinātu šo problēmu, un ir pilnībā atbalsta PDF paaudzes, lūdzu, lejupielādējiet TCPDF bibliotēka , tad komentēt vai noņemt līnijas $ dolibarr_pdf_force_fpdf = 1, un pievienojiet vietā $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Ievadiet tālruņa numuru, uz kuru zvanīt, lai parādītu saiti, lai pārbaudītu Nospied lai zvanītu url lietotājam %s RefreshPhoneLink=Atsvaidzināt @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Vebkalendārs Module410Desc=Web kalendāra integrācija -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Atalgojums Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Darba kārtība Module2400Desc=Notikumi / uzdevumi un darba kārtības vadība Module2500Name=Elektroniskā satura pārvaldība Module2500Desc=Saglabāt un nošārēt dokumentus -Module2600Name=WEB pakalpojumi -Module2600Desc=Ļautu Dolibarr tīmekļa pakalpojumu serveri +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Kontu līknes DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=E-pastu paraugi +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Iestatījumi saglabāti BackToModuleList=Atpakaļ uz moduļu sarakstu BackToDictionaryList=Atpakaļ uz vārdnīcu sarakstu @@ -936,13 +939,14 @@ CompanyZip=Pasta indekss CompanyTown=Pilsēta CompanyCountry=Valsts CompanyCurrency=Galvenā valūta +CompanyObject=Object of the company Logo=Logotips DoNotShow=Nerādīt DoNotSuggestPaymentMode=Neieteikt NoActiveBankAccountDefined=Nav definēts aktīvs bankas konts OwnerOfBankAccount=Bankas konta īpašnieks %s BankModuleNotActive=Bankas kontu modulis nav ieslēgts -ShowBugTrackLink=Rādīt saiti "Ziņot par kļūdu" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Rādīt "darbagaldu" uz mājas lapā Alerts=Brīdinājumi Delays=Kavēšanās @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Maksimālais ciparu skaits aiz komata cenām MAIN_MAX_DECIMALS_TOT=Maksimālās decimāldaļas kopējai cenai MAIN_MAX_DECIMALS_SHOWN=Max aiz komata par cenām parādīta ekrānā (Add ... pēc šo numuru, ja jūs vēlaties redzēt ... kad numurs tiek apcirsti, kad redzams uz ekrāna) MAIN_DISABLE_PDF_COMPRESSION=Izmantot PDF saspiešanu izveidotajiem PDF failiem. -MAIN_ROUNDING_RULE_TOT= Izmērs noapaļošanas diapazons (par retajām valstīm, kur noapaļošana tiek darīts uz kaut ko citu par 10 bāzes) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Neto vienības produkta cena TotalPriceAfterRounding=Kopējā cena (neto/pvn/ar nodokli) pēc noapaļošanas ParameterActiveForNextInputOnly=Parametrs stājas spēkā no nākamās ievades @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Aktivēto moduļu kopskaits: %s YouMustEnableOneModule=Jums ir jābūt ieslēgtam vismaz 1 modulim ClassNotFoundIntoPathWarning=Klase %s nav atrasta PHP norādītajā ceļā YesInSummer=Jā vasarā -OnlyFollowingModulesAreOpenedToExternalUsers=Ņemiet vērā, ka tikai šādi moduļi ir pieejami ārējiem lietotājiem (Lai ar kādas ir atļaujas šiem lietotājiem): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sesija uzglabāšana šifrēta ar Suhosin ConditionIsCurrently=Stāvoklis šobrīd ir %s YouUseBestDriver=Jūs varat izmantot vadītāja %s, kas ir labākais draiveris, kas pieejams šobrīd. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Maksimālais skaits produktu kombinācijas izvēlēt ConfirmDeleteProductLineAbility=Apstiprinājums noņemot produktu līnijas formu ModifyProductDescAbility=Personalizācija produktu aprakstiem formās ViewProductDescInFormAbility=Vizualizācija produktu aprakstiem formām (citādi kā popup Tooltip) +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=Vizualizācija produktu aprakstiem thirdparty valodā UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Atbalsts Eco-taxe (EEIA) SetDefaultBarcodeTypeProducts=Noklusējuma svītrkoda veids izmantojams produktiem SetDefaultBarcodeTypeThirdParties=Svītrkodu veids pēc noklusējuma trešām personām +UseUnits=Support units ProductCodeChecker= Modulis produkta koda paaudzes un pārbaudes (produkts vai pakalpojums) ProductOtherConf= Produktu / pakalpojumu konfigurācija ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Svītrkoda veids UPC BarcodeDescISBN=Svītrkoda veids ISBN BarcodeDescC39=Svītrkoda veids C39 BarcodeDescC128=Svītrkoda veids 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=Iekšējais dzinējs BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ WebServicesSetup=Veikalu modulis uzstādīšana WebServicesDesc=Ļaujot šo moduli, Dolibarr kļūt interneta pakalpojumu serveri, lai sniegtu dažādus interneta pakalpojumus. WSDLCanBeDownloadedHere=WSDL deskriptors failus pakalpojumiem var lejuplādēt šeit EndPointIs=SOAP klientiem jānosūta savus lūgumus Dolibarr beigu pieejama Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bankas moduļa uzstādīšana FreeLegalTextOnChequeReceipts=Brīvais teksts uz čeku ieņēmumiem @@ -1594,7 +1609,7 @@ OpenFiscalYear=Atvērt fiskālo gadu CloseFiscalYear=Aizvērt fiskālo gadu DeleteFiscalYear=Dzēst fiskālo gadu ConfirmDeleteFiscalYear=Vai tiešām vēlaties dzēst fiskālo gadu? -Opened=Atvērts +Opened=Open Closed=Slēgts 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) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/lv_LV/banks.lang b/htdocs/langs/lv_LV/banks.lang index 01851c44132..649eb139432 100644 --- a/htdocs/langs/lv_LV/banks.lang +++ b/htdocs/langs/lv_LV/banks.lang @@ -94,12 +94,12 @@ Conciliate=Samierināt Conciliation=Samierināšanās ConciliationForAccount=Saskaņot šo kontu IncludeClosedAccount=Iekļaut slēgti konti -OnlyOpenedAccount=Tikai atvērtiem kontiem +OnlyOpenedAccount=Only open accounts AccountToCredit=Konts, lai kredītu AccountToDebit=Konta norakstīt DisableConciliation=Atslēgt izlīguma funkciju šim kontam ConciliationDisabled=Izlīgums līdzeklis invalīdiem -StatusAccountOpened=Atvērts +StatusAccountOpened=Open StatusAccountClosed=Slēgts AccountIdShort=Numurs EditBankRecord=Labot ierakstu diff --git a/htdocs/langs/lv_LV/categories.lang b/htdocs/langs/lv_LV/categories.lang index b1c8e62adf0..450b1f70ba6 100644 --- a/htdocs/langs/lv_LV/categories.lang +++ b/htdocs/langs/lv_LV/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s tika veiksmīgi pievienots. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Nav NotCategorized=Without tag/category CategoryExistsAtSameLevel=Šī sadaļa jau pastāv ar šo ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Saturu visi neredz CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo / prosp. sadaļas @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/lv_LV/companies.lang b/htdocs/langs/lv_LV/companies.lang index efb066851ea..5f8b772af29 100644 --- a/htdocs/langs/lv_LV/companies.lang +++ b/htdocs/langs/lv_LV/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolūtās pieejamās atlaides DiscountNone=Nav Supplier=Piegādātājs CompanyList=Kompāniju saraksts -AddContact=Pievienot kontaktu -AddContactAddress=Pievienot kontakta / adresi +AddContact=Izveidot kontaktu +AddContactAddress=Izveidot kontaktu/adresi EditContact=Labot kontaktu EditContactAddress=Labot kontakta / adresi Contact=Kontakts @@ -268,8 +268,8 @@ ContactsAddresses=Kontaktu / adreses NoContactDefinedForThirdParty=Nav definēta kontakta ar šo trešo personu NoContactDefined=Nav definēts kontakts DefaultContact=Noklsētais kontakts / adrese -AddCompany=Pievienot uzņēmumu -AddThirdParty=Pievienot trešo pusi +AddCompany=Izveidot kompāniju +AddThirdParty=Izveidot trešo personu DeleteACompany=Dzēst uzņēmumu PersonalInformations=Personas dati AccountancyCode=Grāmatvedība kods @@ -379,8 +379,8 @@ DeliveryAddressLabel=Piegādes adreses etiķete DeleteDeliveryAddress=Dzēst piegādes adresi ConfirmDeleteDeliveryAddress=Vai tiešām vēlaties dzēst šo piegādes adresi? NewDeliveryAddress=Jauna piegādes adrese -AddDeliveryAddress=Pievienot adresi -AddAddress=Pievienot adresi +AddDeliveryAddress=Izveidot adresi +AddAddress=Izveidot adresi NoOtherDeliveryAddress=Nav definēta alternatīva piegādes adrese SupplierCategory=Piegādātāja sadaļa JuridicalStatus200=Neatkarīgs @@ -397,7 +397,7 @@ YouMustCreateContactFirst=Jums ir izveidot e-pastus kontaktus trešās puses vis ListSuppliersShort=Piegādātāju saraksts ListProspectsShort=Saraksts perspektīvas ListCustomersShort=Klientu saraksts -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Trešās personas u kontaktu sadaļa LastModifiedThirdParties=Pēdējās %s labotās trešās personas UniqueThirdParties=Kopējās unikālās trešās personas InActivity=Atvērts @@ -410,5 +410,10 @@ OutstandingBillReached=Sasniedza maks. par izcilu rēķinu MonkeyNumRefModelDesc=Atgriešanās Numero ar formātu %syymm-NNNN par klientu kodu un %syymm-NNNN forsupplier kodu, kur gg ir gads, MM ir mēnesis, un nnnn ir secība bez pārtraukuma un bez atgriezties 0. LeopardNumRefModelDesc=Kods ir bez maksas. Šo kodu var mainīt jebkurā laikā. ManagingDirectors=Menedžera(u) vārds (CEO, direktors, prezidents...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +SearchThirdparty=Search third party +SearchContact=Meklēt kontaktu +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index c879b80c2d6..0d23ffc44ec 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -4,10 +4,10 @@ About = Par CronAbout = Par Cron CronAboutPage = Cron par lapu # Right -Permission23101 = Lasīt plānoto uzdevumu -Permission23102 = Izveidot/atjaunināt plānoto uzdevumu -Permission23103 = Dzēst plānoto uzdevumu -Permission23104 = Izpildīt plānoto uzdevumu +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Plānotais darbu vadības iestatīšana URLToLaunchCronJobs=URL to check and launch cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Pēdējo reizi palaist izejas CronLastResult=Pēdējais rezultātu kods CronListOfCronJobs=Saraksts ar plānotajiem darbiem CronCommand=Komanda -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Darbs @@ -39,8 +39,8 @@ CronDtStart=Sākuma datums CronDtEnd=Beigu datums CronDtNextLaunch=Nākošā izpilde CronDtLastLaunch=Pēdējā izpilde -CronFrequency=Biežums -CronClass=Klase +CronFrequency=Frequency +CronClass=Class CronMethod=Metode CronModule=Modulis CronAction=Darbība @@ -55,9 +55,9 @@ CronEach=Katru JobFinished=Darbs uzsākts un pabeigts #Page card CronAdd= Pievienot darbu -CronHourStart= Starta laiks un uzdevuma datums -CronEvery= Un izpildīt uzdevumu katrā -CronObject= Instances / Object, lai radītu +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instances / Object, lai radītu CronArgs=Parametri CronSaveSucess=Veiksmīgi saglabāts CronNote=Komentārs @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informācija # Common -CronType=Darba veids +CronType=Job type CronType_method=Zvanu metode ir Dolibarr klases CronType_command=Shell komandu CronMenu=Cron CronCannotLoadClass=Nevar ielādēt klases %s vai objektu %s UseMenuModuleToolsToAddCronJobs=Iet uz izvēlni "Home - moduļi instrumenti - Darbs sarakstu", lai redzētu un rediģēt plānoto darbu. -TaskDisabled=Uzdevums bloķēts +TaskDisabled=Job disabled diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index 4d6591c2569..32dd9ef19e6 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Obligātie uzstādīšanas parametri vēl nav definētas diff --git a/htdocs/langs/lv_LV/incoterm.lang b/htdocs/langs/lv_LV/incoterm.lang new file mode 100644 index 00000000000..46294f6a2dd --- /dev/null +++ b/htdocs/langs/lv_LV/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Inkoterms +IncotermSetupTitle1=Iespēja +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index 3936294e463..5d157654316 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Datu bāzes serveris - superlietotājs piekļuve CheckToCreateDatabase=Rūtiņu, ja datu bāze neeksistē, un ir izveidots.
Tādā gadījumā, jums ir jāaizpilda pieteikšanās / paroli SuperUser kontā pie šīs lapas apakšā. CheckToCreateUser=Rūtiņu, ja datu bāzes īpašnieks neeksistē, un ir izveidots.
Tādā gadījumā, jums ir jāizvēlas savu lietotājvārdu un paroli, kā arī aizpildīt pieteikšanās / paroli superlietotājs kontā pie šīs lapas apakšā. Ja šī rūtiņa ir nekontrolēti, īpašnieks, datu bāzes un tās paroles ir pastāv. Experimental=(Eksperimentāls) +Deprecated=(deprecated) DatabaseRootLoginDescription=Reģistrācija no lietotāja ļāva izveidot jaunas datu bāzes vai jaunus lietotājus, obligātos ja jūsu datu bāzes vai tās īpašnieks nav jau eksistē. KeepEmptyIfNoPassword=Atstājiet tukšu, ja lietotājs nav parole (izvairītos) SaveConfigurationFile=Saglabāt vērtības diff --git a/htdocs/langs/lv_LV/languages.lang b/htdocs/langs/lv_LV/languages.lang index 74d6363e994..20738cefd91 100644 --- a/htdocs/langs/lv_LV/languages.lang +++ b/htdocs/langs/lv_LV/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arābu Language_ar_SA=Arābu +Language_bn_BD=Bengali Language_bg_BG=Bulgāru Language_bs_BA=Bosniešu Language_ca_ES=Katalāņu @@ -21,9 +22,10 @@ Language_en_SA=Angļu (Saūda Arābija) Language_en_US=Angļu (ASV) Language_en_ZA=English (Dienvidāfrika) Language_es_ES=Spāņu -Language_es_DO=Spāņu (Dominikānas Republika) Language_es_AR=Spāņu (Argentīna) Language_es_CL=Spāņu (Ķīle) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spāņu (Dominikānas Republika) Language_es_HN=Spāņu (Hondurasa) Language_es_MX=Spāņu (Meksika) Language_es_PY=Spāņu (Paragvaja) @@ -45,7 +47,10 @@ Language_id_ID=Indonēziešu Language_is_IS=Islandiešu Language_it_IT=Itāļu Language_ja_JP=Japāņu +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korejiešu +Language_lo_LA=Lao Language_lt_LT=Lietuviešu Language_lv_LV=Latviešu Language_mk_MK=Maķedoniešu @@ -64,6 +69,7 @@ Language_sv_SV=Zviedru Language_sv_SE=Zviedru Language_sq_AL=Albāņu Language_sk_SK=Slovāku +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukraiņu Language_uz_UZ=Uzbeku diff --git a/htdocs/langs/lv_LV/loan.lang b/htdocs/langs/lv_LV/loan.lang new file mode 100644 index 00000000000..615b94be95a --- /dev/null +++ b/htdocs/langs/lv_LV/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Apdrošināšana +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/lv_LV/mails.lang b/htdocs/langs/lv_LV/mails.lang index 8276f5a23aa..7edda3d5cda 100644 --- a/htdocs/langs/lv_LV/mails.lang +++ b/htdocs/langs/lv_LV/mails.lang @@ -77,7 +77,7 @@ CheckRead=Lasīt kvīti YourMailUnsubcribeOK=E-pasts %s ir veiksmīgi izņemts no adresātu saraksta MailtoEMail=Saite uz e-pastu ActivateCheckRead=Atļaut izmantot "Atrakstīšanās" saiti -ActivateCheckReadKey=Galvenais izmantot, lai šifrētu URL izmantošanu, lai "izlasītu saņemšanai" un "Unsubcribe" funkciju +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-pastu nosūtīja %s saņēmējiem. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index 6dd995c2a18..f8c8ef2142d 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Vienības cena (neto) UnitPriceTTC=Vienības cena PriceU=UP PriceUHT=UP (neto) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=Summa AmountInvoice=Rēķina summa @@ -413,6 +413,8 @@ Qty=Daudz ChangedBy=Labojis ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Pārrēķināt ResultOk=Veiksmīgi ResultKo=Neveiksme @@ -421,7 +423,7 @@ Reportings=Pārskati Draft=Melnraksts Drafts=Melnraksti Validated=Apstiprināts -Opened=Atvērts +Opened=Open New=Jauns Discount=Atlaide Unknown=Nezināms @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Saistītas ar noteiktu lietotāja kontaktu DeleteAFile=Izdzēst failu ConfirmDeleteAFile=Vai jūs tiešām vēlaties izdzēst failu NoResults=Nav rezultātu +SystemTools=System tools ModulesSystemTools=Moduļi instrumenti Test=Pārbaude Element=Elements @@ -703,6 +706,9 @@ ShowTransaction=Rādīt transakcijas GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Pirmdiena Tuesday=Otrdiena @@ -732,3 +738,4 @@ ShortThursday=Ce ShortFriday=P ShortSaturday=Se ShortSunday=Sv +SelectMailModel=Select email template diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index 5fa4c7b43f5..b58bc0ae88c 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Piegādātājs rīkojums SuppliersOrders=Piegādātāji pasūtījumi SuppliersOrdersRunning=Pašreizējie piegādātāju pasūtījumi CustomerOrder=Klienta rīkojums -CustomersOrders=Klientu pasūtījumi -CustomersOrdersRunning=Pašreizējie klienta/u pasūtījumi -CustomersOrdersAndOrdersLines=Klientu pasūtījumus un ordeņa līnijas -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Piegādātāja rīkojumi apstrādāt +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Atcelts StatusOrderDraftShort=Projekts StatusOrderValidatedShort=Apstiprināts @@ -75,8 +75,9 @@ AddToMyOrders=Pievienot maniem pasūtījumiem AddToOtherOrders=Pievienot citiem pasūtījumiem AddToDraftOrders=Pievienot rīkojuma projektu ShowOrder=Rādīt pasūtījumu -NoOpenedOrders=Nav atvērti pasūtījumi -NoOtherOpenedOrders=Nav neviens cits atvērts pasūtījumus +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Nav projektu pasūtījumi OtherOrders=Citi rīkojumi LastOrders=Last %s customer orders diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index 93c60274205..b6581946e08 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -204,6 +204,7 @@ 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 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=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Pievienot ierakstu kalendārā %s diff --git a/htdocs/langs/lv_LV/printing.lang b/htdocs/langs/lv_LV/printing.lang new file mode 100644 index 00000000000..474dc8229ea --- /dev/null +++ b/htdocs/langs/lv_LV/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printeris +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nosaukums +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Īpašnieka nosaukums +GCP_State=Printera statuss +GCP_connectionStatus=Online State +GCP_Type=Printera tips +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Ports +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Parole +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Noklusējuma printeris +Printer=Printeris +CupsServer=CUPS Serveris +IPP_Uri=Printer Uri +IPP_Name=Printera nosaukums +IPP_State=Printera statuss +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=Melnbalts +IPP_Color=Krāsainais +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/lv_LV/productbatch.lang b/htdocs/langs/lv_LV/productbatch.lang index 58956983556..6f39754f311 100644 --- a/htdocs/langs/lv_LV/productbatch.lang +++ b/htdocs/langs/lv_LV/productbatch.lang @@ -19,4 +19,4 @@ printQty=Daudz.: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index 0bed0f2a3b4..5960d834337 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produkts vai pakalpojums ProductsAndServices=Produkti un pakalpojumi ProductsOrServices=Produkti vai pakalpojumi ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Produktu un pakalpojumu statistika ProductsStatistics=Produktu statistika -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Iekšējā atsauce LastRecorded=Jaunākie produkti / pakalpojumi par pārdot reģistrē @@ -44,7 +44,7 @@ CardProduct1=Paikalpojuma kartiņa CardContract=Līguma kartiņa Warehouse=Noliktava Warehouses=Noliktavas -WarehouseOpened=Noliktava atvērta +WarehouseOpened=Warehouse open WarehouseClosed=Noliktava slēgta Stock=Krājums Stocks=Krājumi @@ -71,21 +71,21 @@ SellingPriceTTC=Pārdošanas cena (ar PVN) PublicPrice=Publiskā cena CurrentPrice=Pašreizējā cena NewPrice=Jaunā cena -MinPrice=Min. pārdošanas cena -MinPriceHT=Minimālā pārdošanas cena (bez PVN) -MinPriceTTC=Minimālā pārdošanas cena (ar PVN) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) 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. ContractStatus=Līguma statuss ContractStatusClosed=Slēgts -ContractStatusRunning=Ekspluatācijas +ContractStatusRunning=Ongoing ContractStatusExpired=beidzies -ContractStatusOnHold=Nedarbojas -ContractStatusToRun=To get running -ContractNotRunning=Šis līgums nedarbojas +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Prece ar atsauci %s jau pastāv. ErrorProductBadRefOrLabel=Nepareiza vērtība atsauces vai etiķeti. ErrorProductClone=Radās problēma, mēģinot klons produktu vai pakalpojumu. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Piegādātāji SupplierRef=Piegādātāja produkta ref. ShowProduct=Rādīt preci @@ -117,12 +117,12 @@ ServiceLimitedDuration=Ja produkts ir pakalpojums ir ierobežots darbības laiks MultiPricesAbility=Vairāku pakāpju cenas precēm / pakalpojumiem MultiPricesNumPrices=Cenu skaits MultiPriceLevelsName=Cenu sadaļa -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Asociēt Translation=Tulkojums KeywordFilter=Atslēgvārda filtru @@ -131,7 +131,7 @@ ProductToAddSearch=Meklēt produktu, lai pievienotu AddDel=Pievienot / Dzēst Quantity=Daudzums NoMatchFound=Nekas netika atrasts -ProductAssociationList=Saraksts saistītu produktu / pakalpojumu: nosaukums, produkta / pakalpojuma (daudzums ietekmē) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Viens no izvēlētā produkta mātes ar pašreizējo produktu DeleteProduct=Dzēst produktu / pakalpojumu @@ -179,16 +179,41 @@ CloneProduct=Klonēt produktu vai pakalpojumu ConfirmCloneProduct=Vai jūs tiešām vēlaties klonēt šo produktu vai pakalpojumu %s? CloneContentProduct=Klons visus galvenos informations par produktu / pakalpojumu ClonePricesProduct=Klons galvenos informations un cenas -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Šis produkts tiek izmantots NewRefForClone=Ref. jaunu produktu / pakalpojumu -CustomerPrices=Klientu cenas -SuppliersPrices=Piegādātāju cenas -SuppliersPricesOfProductsOrServices=Piegādātāju cenas (preču vai pakalpojumu) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Muitas kods CountryOrigin=Izcelsmes valsts HiddenIntoCombo=Slēpta vērā izvēlieties sarakstos Nature=Daba +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Produkta art. paraugs ServiceCodeModel=Pakalpojuma art. paraugs AddThisProductCard=Izveidot produkta karti @@ -214,7 +239,7 @@ CostPmpHT=Neto kopā VWAP ProductUsedForBuild=Auto patērē uzrādot ProductBuilded=Ražošanas pabeigta ProductsMultiPrice=Produkts multi-cena -ProductsOrServiceMultiPrice=Klientu cenas (precēm pakalpojumiem, mult enas) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Produkti apgrozījums ceturksnī VWAP ServiceSellByQuarterHT=Pakalpojumi apgrozījums ceturksnī VWAP Quarter1=1. Ceturksnis @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unikāla cena poduktam/pakalpojumam PricingRule=Rules for customer prices -AddCustomerPrice=Pievienot cenu klientiem +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimālā cena nevar būt zemāka par %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimālā rekomendējamā cena : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Atjaunošanās intervāls (minūtes) LastUpdated=Pēdējo reizi atjaunots CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index a1b50e232d9..7be413492e5 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Šo viedokli iepazīstina visus projektus jums ir atļauts la 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). MyTasksDesc=Šis skats ir tikai uz projektiem vai uzdevumus, jums ir kontakts (kāds ir tipa). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). 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=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Projektu saraksts ShowProject=Rādīt projektu SetProject=Izvēlēties projektu NoProject=Neviens projekts nosaka, vai īpašumā -NbOpenTasks=Nb atvērto uzdevumu +NbOpenTasks=Nb of open tasks NbOfProjects=Nb projektu TimeSpent=Laiks, kas pavadīts TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Pavadītais laiks veicot uzdevumus TaskTimeUser=Lietotājs TaskTimeNote=Piezīme TaskTimeDate=Datums -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Jauns pavadītais laiks MyTimeSpent=Mans pavadīts laiks @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Saraksts iejaukšanās saistīts ar projektu ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Saraksts ar notikumiem, kas saistīti ar projektu +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivitāte projektu šonedēļ ActivityOnProjectThisMonth=Aktivitāte projektu šomēnes ActivityOnProjectThisYear=Aktivitāte projektā šogad @@ -95,7 +96,7 @@ DeleteATimeSpent=Dzēst pavadīts laiks ConfirmDeleteATimeSpent=Vai tiešām vēlaties dzēst pavadīto laiku? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Resursi +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekti, kas veltīta šai trešajai personai NoTasks=Neviens uzdevumi šajā projektā LinkedToAnotherCompany=Saistīts ar citām trešajām personām @@ -139,8 +140,12 @@ ProjectReferers=Atsaucoties objekti SearchAProject=Meklēt projektu ProjectMustBeValidatedFirst=Projektu vispirms jāpārbauda ProjectDraft=Melnraksta projekts -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/lv_LV/propal.lang b/htdocs/langs/lv_LV/propal.lang index 7a7603d4e8f..c19145d065a 100644 --- a/htdocs/langs/lv_LV/propal.lang +++ b/htdocs/langs/lv_LV/propal.lang @@ -4,7 +4,7 @@ Proposal=Komerciālais priekšlikums ProposalShort=Priekšlikums ProposalsDraft=Sagatave komerciālajiem priekšlikumiem ProposalDraft=Sagatave komerciālajam priekšlikumam -ProposalsOpened=Atvērtie komerciālie priekšlikumi +ProposalsOpened=Open commercial proposals Prop=Komerciālie priekšlikumi CommercialProposal=Komerciālais priekšlikums CommercialProposals=Komerciālie priekšlikumi @@ -16,7 +16,7 @@ Prospect=Perspektīva ProspectList=Prospect sarakstu DeleteProp=Dzēst komerciālo priekšlikumu ValidateProp=Apstiprināt komerciālo priekšlikumu -AddProp=Pievienot priekšlikumu +AddProp=Izveidot piedāvājumu ConfirmDeleteProp=Vai tiešām vēlaties dzēst šo komerciālo priekšlikumu? ConfirmValidateProp=Vai jūs tiešām vēlaties apstiprinātu šo komerciālo priekšlikumu saskaņā ar nosaukumu %s ? LastPropals=Pēdējie %s priekšlikumi @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Summa pa mēnešiem (neto pēc nodokļiem) NbOfProposals=Skaits tirdzniecības priekšlikumiem ShowPropal=Rādīt priekšlikumu PropalsDraft=Sagatave -PropalsOpened=Atvērts +PropalsOpened=Open PropalsNotBilled=Slēgts nav apmaksāts PropalStatusDraft=Projekts (ir jāapstiprina) PropalStatusValidated=Apstiprināts (priekšlikums ir atvērts) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nav parakstīts (slēgta) PropalStatusBilled=Jāmaksā PropalStatusDraftShort=Melnraksts PropalStatusValidatedShort=Apstiprināts -PropalStatusOpenedShort=Atvērts +PropalStatusOpenedShort=Open PropalStatusClosedShort=Slēgts PropalStatusSignedShort=Parakstīts PropalStatusNotSignedShort=Nav parakstīts @@ -51,12 +51,10 @@ PropalsToClose=Komerciālie priekšlikumus, lai aizvērtu PropalsToBill=Parakstīts tirdzniecības priekšlikumus likumprojekta ListOfProposals=Saraksts tirdzniecības priekšlikumiem ActionsOnPropal=Pasākumi attiecībā uz priekšlikumu -NoOpenedPropals=Nav atvēra tirdzniecības priekšlikumi -NoOtherOpenedPropals=Neviena cita atvērta komerciāliem priekšlikumus +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial priekšlikums ref SendPropalByMail=Nosūtīt komerciālo priekšlikumu pa pastu -FileNotUploaded=Fails netika augšupielādēts -FileUploaded=Fails veiksmīgi augšupielādēts AssociatedDocuments=Dokumenti, kas saistīti ar priekšlikumu: ErrorCantOpenDir=Nevar atvērt direktoriju DatePropal=Datums, kad priekšlikumu @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune priekšlikums modelis DefaultModelPropalCreate=Default modeļa izveide DefaultModelPropalToBill=Noklusējuma veidne aizverot uzņēmējdarbības priekšlikumu (tiks izrakstīts rēķins) DefaultModelPropalClosed=Noklusējuma veidne aizverot uzņēmējdarbības priekšlikumu (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/lv_LV/salaries.lang b/htdocs/langs/lv_LV/salaries.lang index a08e7eca9b2..3a3a6ce2993 100644 --- a/htdocs/langs/lv_LV/salaries.lang +++ b/htdocs/langs/lv_LV/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Rādīt algu maksājumus THM=Vidējā stundas cena TJM=Vidējā dienas cena CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/lv_LV/sendings.lang b/htdocs/langs/lv_LV/sendings.lang index 03d28db44fe..3e5f28e7e06 100644 --- a/htdocs/langs/lv_LV/sendings.lang +++ b/htdocs/langs/lv_LV/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Vienkāršs dokumenta paraugs DocumentModelMerou=Merou A5 modelis WarningNoQtyLeftToSend=Uzmanību, nav produktu kuri gaida nosūtīšanu. StatsOnShipmentsOnlyValidated=Statistika veikti uz sūtījumiem tikai apstiprinātiem. Lietots datums ir datums apstiprināšanu sūtījuma (ēvelēti piegādes datums ir ne vienmēr ir zināms). -DateDeliveryPlanned=Plānotais piegādes datums +DateDeliveryPlanned=Planned date of delivery DateReceived=Datums piegāde saņemti SendShippingByEMail=Nosūtīt sūtījumu pa e-pastu SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index dbd7a6ae240..8a9ce83000a 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Noliktavas NewWarehouse=Jauns noliktavu / Noliktavas platība WarehouseEdit=Modificēt noliktavas MenuNewWarehouse=Jauna noliktava -WarehouseOpened=Noliktava atvērts +WarehouseOpened=Warehouse open WarehouseClosed=Noliktava slēgts WarehouseSource=Sākotnējā noliktava WarehouseSourceNotDefined=Nē noliktava noteikts, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Izvēlieties noliktavu krājumu samazināšanai SelectWarehouseForStockIncrease=Izvēlieties noliktavu krājumu palielināšanai NoStockAction=Nav akciju darbība LastWaitingSupplierOrders=Pasūtījumi gaida pieņemšanām -DesiredStock=Vēlamais akciju +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Lai pasūtītu Replenishment=Papildinājums ReplenishmentOrders=Papildināšanas pasūtījumus -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Izmantot virtuālu noliktavu UsePhysicalStock=Izmantot reālu noliktavu -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtuāla noliktava CurentlyUsingPhysicalStock=Reāla noliktava RuleForStockReplenishment=Noteikums par krājumu papildināšanu @@ -112,8 +113,8 @@ AlertOnly= Brīdinājumi tikai WarehouseForStockDecrease=Noliktava %s tiks izmantota krājumu samazināšanai WarehouseForStockIncrease=Noliktava %s tiks izmantota krājumu palielināšanai ForThisWarehouse=Šai noliktavai -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Papildinājumus NbOfProductBeforePeriod=Produktu daudzums %s noliktavā pirms izvēlētā perioda (< %s) NbOfProductAfterPeriod=Daudzums produktu %s krājumā pēc izvēlētā perioda (> %s) @@ -124,16 +125,16 @@ RecordMovement=Ierakstīt transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Krājumu pārvietošana saglabāta RuleForStockAvailability=Noteikumi krājumu nepieciešamībai -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Krājumiem jābūt pietiekošiem, lai preci/pakalpojum varētu pievienot pasūtījumam -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Rādīt noliktavu -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/lv_LV/suppliers.lang b/htdocs/langs/lv_LV/suppliers.lang index 4bd84c29eb2..bc8dd12d9c6 100644 --- a/htdocs/langs/lv_LV/suppliers.lang +++ b/htdocs/langs/lv_LV/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Nosūtīti uz piegādātājiem ListOfSupplierOrders=Saraksts ar piegādātāju pasūtījumiem MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Piegādes kavēšanās dienās -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/lv_LV/trips.lang b/htdocs/langs/lv_LV/trips.lang index 9987251d363..ef1d1ec283b 100644 --- a/htdocs/langs/lv_LV/trips.lang +++ b/htdocs/langs/lv_LV/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Saraksts maksu NewTrip=New expense report CompanyVisited=Kompānija / organizācija apmeklēta @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Autobuss TF_CAR=Automašīna TF_PEAGE=Toll TF_ESSENCE=Degviela -TF_HOTEL=Hostelis +TF_HOTEL=Hotel TF_TAXI=Taksis ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Maksājuma veids Note=Piezīme Project=Projekts -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Apstiprinājis AUTHOR=Recorded by -AUTHORPAIEMENT=Samaksājis +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Atcelts +CANCEL_USER=Deleted by MOTIF_REFUS=Iemesls MOTIF_CANCEL=Iemesls @@ -74,7 +73,7 @@ DATE_PAIEMENT=Maksājuma datums TO_PAID=Samaksāt BROUILLONNER=Atvērt pa jaunu -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Labot ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/lv_LV/users.lang b/htdocs/langs/lv_LV/users.lang index cbd3417f334..18561404540 100644 --- a/htdocs/langs/lv_LV/users.lang +++ b/htdocs/langs/lv_LV/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Dzēst no grupas PasswordChangedAndSentTo=Parole nomainīta un nosūtīta %s. PasswordChangeRequestSent=Pieprasīt, lai nomaina paroli, %s nosūtīt %s. MenuUsersAndGroups=Lietotāji un grupas +MenuMyUserCard=My user card LastGroupsCreated=Pēdējās %s izveidotās grupas LastUsersCreated=Pēdējie %s izveidotie lietotāji ShowGroup=Rādīt grupa diff --git a/htdocs/langs/lv_LV/workflow.lang b/htdocs/langs/lv_LV/workflow.lang index 1515d6d972e..e359ac6f345 100644 --- a/htdocs/langs/lv_LV/workflow.lang +++ b/htdocs/langs/lv_LV/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Darbplūsmu moduļa iestatīšana -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Nav darbplūsma kuru Jūs varat mainīt sim modulim. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Izveidot klienta pasūtījumu automātiski pēc komerciālā priekšlikuma parakstīšanas -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Izveidot klienta rēķinu automātiski pēc komerciāla priekšlikuma parakstīšanas -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Izveidot klientu rēķinu automātiski pēc tam, kad līgums ir apstiprināts -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Izveidot klientu rēķinu automātiski pēc klienta pasūtījuma slēgšanas +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Klasificēt saistīta avota priekšlikumu Jāmaksā, ja klientu rīkojumu ir iestatīts uz apmaksātu descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klasificēt saistīts avots klienta pasūtījumu (s) Jāmaksā, ja klients rēķins ir iestatīts uz apmaksātu descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klasificēt saistīta avota klienta pasūtījumu (s) Jāmaksā, ja klients rēķins ir apstiprināts diff --git a/htdocs/langs/mk_MK/accountancy.lang b/htdocs/langs/mk_MK/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/mk_MK/accountancy.lang +++ b/htdocs/langs/mk_MK/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/mk_MK/banks.lang b/htdocs/langs/mk_MK/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/mk_MK/banks.lang +++ b/htdocs/langs/mk_MK/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/mk_MK/boxes.lang b/htdocs/langs/mk_MK/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/mk_MK/boxes.lang +++ b/htdocs/langs/mk_MK/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/mk_MK/categories.lang b/htdocs/langs/mk_MK/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/mk_MK/categories.lang +++ b/htdocs/langs/mk_MK/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/mk_MK/companies.lang b/htdocs/langs/mk_MK/companies.lang index 5580d87b517..ad9980cb055 100644 --- a/htdocs/langs/mk_MK/companies.lang +++ b/htdocs/langs/mk_MK/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/mk_MK/cron.lang b/htdocs/langs/mk_MK/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/mk_MK/cron.lang +++ b/htdocs/langs/mk_MK/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/mk_MK/incoterm.lang b/htdocs/langs/mk_MK/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/mk_MK/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/mk_MK/languages.lang b/htdocs/langs/mk_MK/languages.lang index 8242615b359..0f81f42e3c5 100644 --- a/htdocs/langs/mk_MK/languages.lang +++ b/htdocs/langs/mk_MK/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Арапски Language_ar_SA=Арапски +Language_bn_BD=Bengali Language_bg_BG=Бугарската Language_bs_BA=Босанската Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=Англиски (Саудиска Арабија) Language_en_US=Англиски јазик (САД) Language_en_ZA=Англиски (Јужна Африка) Language_es_ES=Шпански -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Шпански (Аргентина) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Шпански (Хондурас) Language_es_MX=Шпански (Мексико) Language_es_PY=Шпански (Парагвај) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Исландски Language_it_IT=Италијански Language_ja_JP=Јапонски +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Кореја +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Летонски Language_mk_MK=Македонски @@ -64,6 +69,7 @@ Language_sv_SV=Шведската Language_sv_SE=Шведската Language_sq_AL=Albanian Language_sk_SK=Словачки +Language_sw_SW=Kiswahili Language_th_TH=Тајландски Language_uk_UA=Украинскиот Language_uz_UZ=Узбекистански diff --git a/htdocs/langs/mk_MK/loan.lang b/htdocs/langs/mk_MK/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/mk_MK/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/mk_MK/mails.lang b/htdocs/langs/mk_MK/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/mk_MK/mails.lang +++ b/htdocs/langs/mk_MK/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index c7c79e7f816..d6ea85849e3 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/mk_MK/orders.lang b/htdocs/langs/mk_MK/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/mk_MK/orders.lang +++ b/htdocs/langs/mk_MK/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/mk_MK/other.lang b/htdocs/langs/mk_MK/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/mk_MK/other.lang +++ b/htdocs/langs/mk_MK/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/mk_MK/printing.lang b/htdocs/langs/mk_MK/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/mk_MK/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/mk_MK/productbatch.lang b/htdocs/langs/mk_MK/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/mk_MK/productbatch.lang +++ b/htdocs/langs/mk_MK/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/mk_MK/propal.lang b/htdocs/langs/mk_MK/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/mk_MK/propal.lang +++ b/htdocs/langs/mk_MK/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/mk_MK/salaries.lang b/htdocs/langs/mk_MK/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/mk_MK/salaries.lang +++ b/htdocs/langs/mk_MK/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/mk_MK/sendings.lang b/htdocs/langs/mk_MK/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/mk_MK/sendings.lang +++ b/htdocs/langs/mk_MK/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/mk_MK/suppliers.lang b/htdocs/langs/mk_MK/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/mk_MK/suppliers.lang +++ b/htdocs/langs/mk_MK/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/mk_MK/trips.lang b/htdocs/langs/mk_MK/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/mk_MK/trips.lang +++ b/htdocs/langs/mk_MK/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/mk_MK/users.lang b/htdocs/langs/mk_MK/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/mk_MK/users.lang +++ b/htdocs/langs/mk_MK/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/mk_MK/workflow.lang b/htdocs/langs/mk_MK/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/mk_MK/workflow.lang +++ b/htdocs/langs/mk_MK/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/nb_NO/accountancy.lang b/htdocs/langs/nb_NO/accountancy.lang index 0152bd1b728..ae2c610ba07 100644 --- a/htdocs/langs/nb_NO/accountancy.lang +++ b/htdocs/langs/nb_NO/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Regnskap Globalparameters=Globale parametre @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 2e0b25f81f6..a196975d35a 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -8,24 +8,24 @@ VersionExperimental=Eksperimentell VersionDevelopment=Utviklingsversjon VersionUnknown=Ukjent VersionRecommanded=Anbefalt -FileCheck=Files Integrity -FilesMissing=Missing Files -FilesUpdated=Updated Files -FileCheckDolibarr=Check Dolibarr Files Integrity +FileCheck=Filintegritet +FilesMissing=Manglende filer +FilesUpdated=Oppdaterte filer +FileCheckDolibarr=Integritetssjekk av Dolibarrfiler XmlNotFound=Xml File of Dolibarr Integrity Not Found -SessionId=Økt ID -SessionSaveHandler=Handler for å lagre sessions -SessionSavePath=Lagring økt lokalisering +SessionId=Økt-ID +SessionSaveHandler=Håndterer for å lagre sesjoner +SessionSavePath=Sted for lagring av økt PurgeSessions=Utrenskning av øktene ConfirmPurgeSessions=Ønsker du virkelig å rense alle økter? Dette vil koble fra alle brukere (bortsett fra deg selv). -NoSessionListWithThisHandler=Lagre session behandleren konfigurert i PHP ikke tillater å vise alle kjører økter. +NoSessionListWithThisHandler=Øktlagrings-behandleren i PHP tillater ikke å vise alle kjørende økter. LockNewSessions=Lås nye tilkoblinger -ConfirmLockNewSessions=Er du sikker på at du vil begrense eventuelle nye Dolibarr tilkobling til deg selv. Bare brukeren %s vil kunne koble til etter det. -UnlockNewSessions=Fjern forbindelse lås -YourSession=Økten -Sessions=Brukere session -WebUserGroup=Web server bruker / gruppe -NoSessionFound=Din PHP synes å ikke tillate å liste aktive økter. Directory brukes til å lagre sessions (%s) kan være beskyttet (for eksempel etter OS tillatelser eller PHP direktivet open_basedir). +ConfirmLockNewSessions=Er du sikker på at du vil begrense eventuelle nye Dolibarr tilkoblinger til deg selv?. Bare brukeren %s vil kunne koble til etter det. +UnlockNewSessions=Fjern forbindelseslås +YourSession=Din økt +Sessions=Brukerøkter +WebUserGroup=Webserver bruker/gruppe +NoSessionFound=Din PHP synes å ikke tillate å liste aktive økter. Mappen brukt til å lagre økter (%s) kan være beskyttet (for eksempel etter OS tillatelser eller PHP direktiv open_basedir). HTMLCharset=Tegnsett for genererte HTML sider DBStoringCharset=Databasetegnsett for lagring av data DBSortingCharset=Databasetegnsett for sortering av data @@ -41,39 +41,39 @@ GlobalSetup=Globalt oppsett GUISetup=Display SetupArea=Oppsett FormToTestFileUploadForm=Skjema for å teste opplasting (i henhold til oppsett) -IfModuleEnabled=Merk: er ja effektiv bare hvis modulen %s er aktivert -RemoveLock=Fjern fil %s hvis den eksisterer for å tillate oppdatere verktøyet. -RestoreLock=Erstatte en fil %s med leserettigheter bare på filen for å deaktivere bruk av oppdatere verktøyet. -SecuritySetup=Sikkerhetsinstillinger +IfModuleEnabled=Merk: Ja er bare effektiv hvis modulen %s er aktivert +RemoveLock=Fjern filen %s , hvis den finnes, for å tillate bruk av oppdateringsverktøyet. +RestoreLock=Gjenopprett filen %s med kun leserettigheter, for å deaktivere bruk av oppdateringsverktøyet. +SecuritySetup=Sikkerhetsinnstillinger ErrorModuleRequirePHPVersion=Feil: Denne modulen krever PHP versjon %s eller høyere ErrorModuleRequireDolibarrVersion=Feil: Denne modulen krever Dolibarr versjon %s eller høyere ErrorDecimalLargerThanAreForbidden=Feil: Presisjon over %s støttes ikke. -DictionarySetup=Dictionary setup -Dictionary=Dictionaries -Chartofaccounts=Chart of accounts +DictionarySetup=Oppsett av ordliste +Dictionary=Ordlister +Chartofaccounts=Graf over kontoer Fiscalyear=Regnskapsår -ErrorReservedTypeSystemSystemAuto=Value 'system' og 'systemauto' for type er reservert. Du kan bruke 'user' som verdi å legge til din egen oppføring +ErrorReservedTypeSystemSystemAuto=Verdiene 'system' og 'systemauto' for type er reservert. Du kan bruke 'user' som verdi for å legge til din egen oppføring ErrorCodeCantContainZero=Koden kan ikke inneholde verdien 0 -DisableJavascript=Deaktiver JavaScript og Ajax funksjoner (Anbefalt for blinde og tekstbaserte nettlesere) +DisableJavascript=Deaktiver JavaScript og Ajax funksjoner (Anbefalt for tekstbaserte nettlesere og blinde) ConfirmAjax=Bruk bekreftelsesvinduer basert på Ajax UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectCompany=Bruk autofullfør-felt for å velge tredjepart, i stedet for å bruke listeboks. -ActivityStateToSelectCompany= Legg til en filter alternativ for å vise / skjule thirdparties som i dag er i aktivitet eller har opphørt det +ActivityStateToSelectCompany= Legg til et filteralternativ for å vise/skjule tredjeparter som er aktivite eller ikke UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectContact=Bruk autofullfør-felt for å velge kontakt (i stedet for å bruke listeboks). DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) -SearchFilter=Søkefiltrene alternativer -NumberOfKeyToSearch=NBR tegn til å utløse søk: %s +SearchFilter=Alternativer for søkefiltre +NumberOfKeyToSearch=Antall tegn for å starte søk: %s ViewFullDateActions=Vis fulle datoer i tredje ark NotAvailableWhenAjaxDisabled=Ikke tilgjengelig når Ajax er slått av -JavascriptDisabled=JavaScript er slått av +JavascriptDisabled=JavaScript er deaktivert UsePopupCalendar=Bruk sprettoppmeny for datoangivelser UsePreviewTabs=Bruk faner for forhåndsvisning -ShowPreview=Vis forhåndsvisning +ShowPreview=Forhåndsvisning PreviewNotAvailable=Forhåndsvisning ikke tilgjengelig ThemeCurrentlyActive=Gjeldende tema -CurrentTimeZone=Gjeldende tidssone +CurrentTimeZone=Tidssone for PHP (server) MySQLTimeZone=Tidssone MySql (database) TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). Space=Mellomrom @@ -84,29 +84,29 @@ Mask=Maske NextValue=Neste verdi NextValueForInvoices=Neste verdi (fakturaer) NextValueForCreditNotes=Neste verdi (kreditnotaer) -NextValueForDeposit=Next value (deposit) +NextValueForDeposit=Neste beløp (innskudd) NextValueForReplacements=Neste verdi (erstatninger) -MustBeLowerThanPHPLimit=OBS: PHP begrenser hver filopplastning til %s %s, uansett hva som er angitt her -NoMaxSizeByPHPLimit=OBS: Det er ikke satt noen øvre grense i PHP på denne serveren +MustBeLowerThanPHPLimit=Merk: PHP begrenser hver filopplastning til %s %s, uansett hva som er angitt her +NoMaxSizeByPHPLimit=Merk: Det er ikke satt noen begrensninger i din PHP-konfigurasjon på denne serveren MaxSizeForUploadedFiles=Maksimal filstørrelse for opplasting av filer (0 for å ikke tillate opplasting) UseCaptchaCode=Bruk Capthca på innloggingsside UseAvToScanUploadedFiles=Kjør anti-virus på opplastede filer AntiVirusCommand= Full sti til antivirus kommandoen -AntiVirusCommandExample= Eksempel på ClamWin: c: \\ Program Files (x86) \\ Klappe \\ bin \\ clamscan.exe
Eksempel på ClamAV: / usr / bin / clamscan +AntiVirusCommandExample= Eksempel på ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Eksempel på ClamAV: /usr/bin/clamscan AntiVirusParam= Flere parametre på kommandolinjen -AntiVirusParamExample= Eksempel på ClamWin: - database = "C: \\ Program Files (x86) \\ Klappe \\ lib" +AntiVirusParamExample= Eksempel på ClamWin: - database = "C:\\Program Files (x86)\\ClamWin\\ lib" ComptaSetup=Oppsett av regnskapsmodul UserSetup=Oppsett av brukere MenuSetup=Oppsett av menyer MenuLimits=Grenser og presisjon MenuIdParent=ID foreldremeny -DetailMenuIdParent=ID foreldremeny (0 for toppmeny) +DetailMenuIdParent=ID foreldremeny (tom for toppmeny) DetailPosition=Sorteringsnummer i meny PersonalizedMenusNotSupported=Egendefinerte menyer støttes ikke AllMenus=Alle NotConfigured=Ikke konfigurert Setup=Innstillinger -Activation=Akivering +Activation=Aktivering Active=Aktiv SetupShort=Innstillinger OtherOptions=Andre innstillinger @@ -117,7 +117,7 @@ Destination=Mål IdModule=Modul ID IdPermissions=Rettigheter ID Modules=Moduler -ModulesCommon=Vanligste moduler +ModulesCommon=Hovedmoduler ModulesOther=Andre moduler ModulesInterfaces=Grensenittmoduler ModulesSpecial=Spesialmoduler @@ -129,45 +129,44 @@ ClientTZ=Tidssone (bruker) ClientHour=Klienttid (bruker) OSTZ=Server OS Tidssone PHPTZ=Tidssone PHP -PHPServerOffsetWithGreenwich=Forskyvning for PHP-server mot Greenwich (sekunder) -ClientOffsetWithGreenwich=Klient / Browser offset bredde Greenwich (sekunder) -DaylingSavingTime=Sommertid (bruker) -CurrentHour=Gjeldende tid -CompanyTZ=Time Zone selskap (firmaets) +PHPServerOffsetWithGreenwich=Forskyvning for PHP-server mot GMT (sekunder) +ClientOffsetWithGreenwich=Klient/Nettleser offset i forhold til GMT (sekunder) +DaylingSavingTime=Sommertid +CurrentHour=PHP tid (server) +CompanyTZ=Tidssone for firmaet (hovedkontoret) CompanyHour=Time selskap (firmaets) CurrentSessionTimeOut=Gjeldende økt-timeout YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" OSEnv=OS-miljø Box=Boks Boxes=Bokser -MaxNbOfLinesForBoxes=Maks. antall linher for bokser +MaxNbOfLinesForBoxes=Maks. antall linjer for bokser PositionByDefault=Gjeldende rekkefølge Position=Posisjon -MenusDesc=Menybehandleren avgjør innholdet i de to menyene (horisontal og vertikal menybjelke). -MenusEditorDesc=I menybehandleren kan du stille inn egne menyvalg. Bruk denne med forsiktighet for å unngå at Dolibarr blir ustabil eller at noen menyvalg blit permanent borte.
Noen moduler legger til oppføringer i menyene (i meny Alle i de fleste tilfeller). Hvis du har fjernet noen av disse ved en feiltagelse kan du få dem tilbake ved å slå av og slå på modulen igjen. +MenusDesc=Menybehandleren avgjør innholdet i de to menyene (horisontal og vertikal meny). +MenusEditorDesc=I menybehandleren kan du stille inn egne menyvalg. Bruk denne med forsiktighet for å unngå at Dolibarr blir ustabil eller at noen menyvalg blir permanent utilgjengelige.
Noen moduler legger til oppføringer i menyene (i meny Alle i de fleste tilfeller). Hvis du har fjernet noen av disse ved en feiltagelse kan du få dem tilbake ved å slå av og slå på modulen igjen. MenuForUsers=Brukermeny -LangFile=Fil .lang +LangFile=.lang-fil System=System SystemInfo=Systeminformasjon -SystemTools=Systemverktøy SystemToolsArea=Område for systemverktøy -SystemToolsAreaDesc=Dette området gir tilgang til administrasjonsfunksjonene. Bruk menyen til å velge funksjonen du leter etter. +SystemToolsAreaDesc=Dette området gir tilgang til administrasjonsfunksjonene. Bruk menyen for å velge funksjonen du ønsker. Purge=Utrenskning PurgeAreaDesc=Denne siden lar deg slette alle filer opprettet eller lagret av Dolibarr (midlertidige filer eller alle filer i mappen %s). Normalt er det ikke nødvendig å bruke denne funksjonen. Den er laget for brukere som har Dolibarr installert på en delt server, og hvor man ikke har tilgang til å slette filer opprettet av webserveren. -PurgeDeleteLogFile=Slett loggfil %s definert for Syslog modul (ingen risiko for å miste data) +PurgeDeleteLogFile=Slett loggfil %s definert for Syslog-modul (ingen risiko for å miste data) PurgeDeleteTemporaryFiles=Slett alle midlertidige filer (medfører ingen risiko for å miste data) -PurgeDeleteAllFilesInDocumentsDir=Slett alle filer i mappen %s. Dette vil slette midlertidige filer, men også filer som er lastet opp som vedlegg til elementer (tredjeparter, fakturaer osv. ). Alle filer lastet opp i ECM-modulen vil bli slettet!!! -PurgeRunNow=Purge now -PurgeNothingToDelete=no directory to delete. -PurgeNDirectoriesDeleted=%s files or directories deleted. -PurgeAuditEvents=Fjern alle handlinger -ConfirmPurgeAuditEvents=Er du sikker på at du vil fjerne alle sikkrehetshendelser? Alle sikkerhetslogger vil bli slettet, ingen andre data vil bli slettet. +PurgeDeleteAllFilesInDocumentsDir=Slett alle filer i mappen %s. Dette vil slette midlertidige filer, database sikkerhetskopier og filer som er lastet opp som vedlegg til elementer (tredjeparter, fakturaer osv. ). Alle filer lastet opp i ECM-modulen vil bli slettet. +PurgeRunNow=Start utrenskning +PurgeNothingToDelete=Ingen mapper eller filer å slette. +PurgeNDirectoriesDeleted=%s filer eller mapper slettet. +PurgeAuditEvents=Fjern alle sikkerhetshendelser +ConfirmPurgeAuditEvents=Er du sikker på at du vil fjerne alle sikkerhetshendelser? Alle sikkerhetslogger vil bli slettet, ingen andre data vil bli slettet. NewBackup=Ny backup GenerateBackup=Opprett sikkerhetskopi Backup=Ta sikkerhetskopi Restore=Gjenopprett fra sikkerhetskopi -RunCommandSummary=Sikkerhetskopiering vil bli utført gjennom følgende kommando -RunCommandSummaryToLaunch=Backup kan bli lansert med følgende kommando +RunCommandSummary=Sikkerhetskopiering er startet med følgende kommando +RunCommandSummaryToLaunch=Backup startes med følgende kommando WebServerMustHavePermissionForCommand=Webserveren må ha rettigheter til å kjøre slike kommandoer BackupResult=Resultat av sikkerhetsopiering BackupFileSuccessfullyCreated=Sikkerhetskopi opprettet @@ -175,19 +174,19 @@ YouCanDownloadBackupFile=Sikkerhetskopien kan nå lastes ned NoBackupFileAvailable=Ingen sikkerhetskopier er tilgjengelig. ExportMethod=Eksporteringsmetode ImportMethod=Importeringsmetode -ToBuildBackupFileClickHere=Klikk here for å lage en backupfil. -ImportMySqlDesc=For å legge tilbake sikkerhetskopi må du kjøre følgende mysql-kommando fra kommandolinja: -ImportPostgreSqlDesc=Slik importerer du en backup-fil, må du bruke pg_restore kommando fra kommandolinjen: +ToBuildBackupFileClickHere=Klikk her for å lage en backupfil. +ImportMySqlDesc=For å gjenopprette fra en sikkerhetskopi må du kjøre følgende MySQL-kommando fra kommandolinjen: +ImportPostgreSqlDesc=For å importere en backup-fil, må du bruke kommandoen pg_restore fra kommandolinjen: ImportMySqlCommand=%s %s < myinbackupfil.sql ImportPostgreSqlCommand=%s %s mybackupfile.sql FileNameToGenerate=Filnavn å opprette -Compression=Kompresjon -CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import +Compression=Komprimering +CommandsToDisableForeignKeysForImport=Kommando for å deaktivere ukjente nøkler ved import CommandsToDisableForeignKeysForImportWarning=Obligatorisk hvis du ønsker å gjenopprette sql dump senere ExportCompatibility=Kompatibilitet for eksportert fil MySqlExportParameters=MySQL eksportparametere -PostgreSqlExportParameters= PostgreSQL eksportparametere -UseTransactionnalMode=Bruk transactional modus +PostgreSqlExportParameters= PostgreSQL eksportparametre +UseTransactionnalMode=Bruk transaksjonsmodus FullPathToMysqldumpCommand=Full filsti til kommandoen mysqldump FullPathToPostgreSQLdumpCommand=Full sti til pg_dump kommandoen ExportOptions=Eksportinnstillinger @@ -196,46 +195,46 @@ AddDropTable=Legg til kommandoen DROP TABLE ExportStructure=Struktur Datas=Data NameColumn=Kolonnenavn -ExtendedInsert=Extended INSERT -NoLockBeforeInsert=Ingen lås kommandoer rundt INSERT -DelayedInsert=Delayed insert -EncodeBinariesInHexa=Encode binary data in hexadecimal -IgnoreDuplicateRecords=Ignorer feil av like poster (INS ignorere) +ExtendedInsert=Utvidet INSERT +NoLockBeforeInsert=Ingen låsekommandoer rundt INSERT +DelayedInsert=Forsinket INSERT +EncodeBinariesInHexa=Binære data kodes hexadecimalt +IgnoreDuplicateRecords=Ignorer duplikat-feil (INSERT IGNORE) Yes=Ja No=Nei AutoDetectLang=Automatisk (nettleserspråk) FeatureDisabledInDemo=Funksjonen er slått av i demo Rights=Tillatelser -BoxesDesc=Bokser er områder på skjermen som viser informasjon på ønskede sider. Du kan velge om boksen skal vises eller ikke ved å velge målside og klikke på 'Aktiver', eller ved å klikke på papirkurven for å slå den av. +BoxesDesc=Bokser er områder på skjermen som viser informasjon på enkelte sider. Du kan velge om boksen skal vises eller ikke ved å velge målside og klikke på 'Aktiver', eller ved å klikke på papirkurven for å slå den av. OnlyActiveElementsAreShown=Bare elementer fra aktiverte moduler vises. ModulesDesc=Dolibarrmodulene styrer hvilken funksjonalitet som er aktivert i programmet. Noen moduler krever at du tildeler brukerne tilgangsrettigheter etter at du har slått på modulen. ModulesInterfaceDesc=Modulgrensesnittet i Dolibarr lar deg legge til funksjoner som bruker eksterne programmer, systemer eller tjenester. -ModulesSpecialDesc=Spesialmoduler er svært spesifikke moduler, eller moduler som sjelden blir sjelden brukt. +ModulesSpecialDesc=Spesialmoduler er svært spesifikke moduler, eller moduler som sjelden blir brukt. ModulesJobDesc=Forretningsmoduler gir et enkelt forhåndsinnstilt oppsett av Dolibarr for spesielle typer bedrifter. -ModulesMarketPlaceDesc=Du kan finne flere moduler for å laste ned på eksterne nettsider på Internett ... +ModulesMarketPlaceDesc=Du kan finne flere moduler for nedlasting på eksterne websider. ModulesMarketPlaces=Flere moduler ... -DoliStoreDesc=DoliStore, den offisielle markedsplassen for Dolibarr ERP / CRM eksterne moduler +DoliStoreDesc=DoliStore, den offisielle markedsplassen for eksterne moduler til Dolibarr ERP/CRM DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) -WebSiteDesc=Webområde leverandører du kan søke å finne flere moduler ... -URL=Link +WebSiteDesc=Web-leverandører du kan søke hos for å finne flere moduler. +URL=Lenke BoxesAvailable=Tilgjengelige bokser BoxesActivated=Aktiverte bokser -ActivateOn=Aktiver den +ActivateOn=Aktivert den ActiveOn=Aktivert den SourceFile=Kildefil AutomaticIfJavascriptDisabled=Automatisk hvis Javascript er slått av -AvailableOnlyIfJavascriptNotDisabled=Tilgjengelig bare når JavaScript ikke er slått av -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Tilgjengelig bare hvis Javascript og Ajax ikke er slått av +AvailableOnlyIfJavascriptNotDisabled=Tilgjengelig bare hvis JavaScript er aktivert +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Tilgjengelig bare hvis Javascript og Ajax er aktivert Required=Påkrevet UsedOnlyWithTypeOption=Used by some agenda option only Security=Sikkerhet Passwords=Passord -DoNotStoreClearPassword=Har ingen butikk klar passord i databasen men butikken bare kryptert verdi (Aktiverte anbefales) -MainDbPasswordFileConfEncrypted=Databasepassord kryptert i conf.php -InstrucToEncodePass=Å ha passord kodet inn i conf.php filen, erstatte linjen
$ Dolibarr_main_db_pass ="..."
av
$ Dolibarr_main_db_pass = "kryptert: %s" -InstrucToClearPass=Å ha passord dekodet (klar) inn i conf.php filen, erstatte linjen
$ Dolibarr_main_db_pass = "kryptert :..."
av
$ Dolibarr_main_db_pass = "%s" -ProtectAndEncryptPdfFiles=Beskytt genererte pdf-filer (anbefales ikke, brekker mulighet for massegenerering av PDF'er) -ProtectAndEncryptPdfFilesDesc=Beskyttede PDF-filer kan fortsatt leses og skrives ut med alle PDF-lesere. De kan derimot ikke redigeres eller kopieres fra. Når du bruker denne funksjonen vil det ikke være mulig å lage globale akkumulerte PDF-filer ( som for eksempel ubetalte fakturaer ). +DoNotStoreClearPassword=Lagrer passord i krypert form og ikke i klartekst (Aktivering anbefales) +MainDbPasswordFileConfEncrypted=Databasepassord kryptert i conf.php (Aktivering anbefales) +InstrucToEncodePass=For å kryptere passordet i conf.php , bytt ut linjen
$dolibarr_main_db_pass="...";
med
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=For passord i klartekst(helst ikke) i conf.php , bytt ut linjen
$dolibarr_main_db_pass="crypted:...";
med
$dolibarr_main_db_pass="%s"; +ProtectAndEncryptPdfFiles=Beskytt genererte pdf-filer (anbefales ikke, fjerner mulighet for massegenerering av PDF'er) +ProtectAndEncryptPdfFilesDesc=Beskyttede PDF-filer kan fortsatt leses og skrives ut med alle PDF-lesere. De kan derimot ikke redigeres eller kopieres fra. Når du bruker denne funksjonen vil det ikke være mulig å lage globale akkumulerte PDF-filer (som for eksempel ubetalte fakturaer). Feature=Funksjon DolibarrLicense=Lisens DolibarrProjectLeader=Prosjektleder @@ -245,34 +244,34 @@ OfficialWebSite=Internasjonalt offisielt nettsted OfficialWebSiteFr=Fransk offisielt nettsted OfficialWiki=Dolibarr Wiki OfficialDemo=Dolibarr online demonstrasjon -OfficialMarketPlace=Offisiell markedsplass for eksterne moduler / addons -OfficialWebHostingService=Referenced web hosting services (Cloud hosting) +OfficialMarketPlace=Offisiell markedsplass for eksterne moduler/tillegg +OfficialWebHostingService=Referert webhosting service (Cloud hosting) ReferencedPreferredPartners=Foretrukne Partnere OtherResources=Andre ressurser -ForDocumentationSeeWiki=For brukeren eller utviklerens dokumentasjon (Doc, FAQs ...),
ta en titt på Dolibarr Wiki:
%s -ForAnswersSeeForum=For andre spørsmål / hjelp, kan du bruke Dolibarr forumet:
%s -HelpCenterDesc1=Dette området kan hjelpe deg å få en Help support tjeneste på Dolibarr. +ForDocumentationSeeWiki=For bruker- eller utviklerdokumentasjon (Doc, FAQs ...),
ta en titt på Dolibarr Wiki:
%s +ForAnswersSeeForum=For andre spørsmål/hjelp, kan du bruke Dolibarr forumet:
%s +HelpCenterDesc1=Dette området kan hjelpe deg å få support-tjeneste med Dolibarr. HelpCenterDesc2=Enkelte deler av denne tjenesten er kun tilgjengelig på engelsk. -CurrentTopMenuHandler=Gjeldene menybehandler toppmeny -CurrentLeftMenuHandler=Gjeldende memenybehandler venstre meny -CurrentMenuHandler=Gjeldende menyen behandleren -CurrentSmartphoneMenuHandler=Gjeldende smarttelefon menyen behandleren +CurrentTopMenuHandler=Gjeldene menybehandler for toppmeny +CurrentLeftMenuHandler=Gjeldende memenybehandler for venstre meny +CurrentMenuHandler=Gjeldende menyen behandler +CurrentSmartphoneMenuHandler=Gjeldende menybehandleren for smarttelefon MeasuringUnit=Måleenhet Emails=E-poster EMailsSetup=E-postinnstillinger EMailsDesc=Denne siden lar deg overstyre PHP-innstillingene for å sende e-post. I de fleste tilfeller på Unix/Linuxservere er PHP-innstillingene korrekte, slik at disse innstillingene er unødvendige. -MAIN_MAIL_SMTP_PORT=SMTP-port (I php.ini: %s) -MAIN_MAIL_SMTP_SERVER=SMTP-server (I php.ini: %s) +MAIN_MAIL_SMTP_PORT=SMTP-port (Standard i php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP-server (Standard i php.ini: %s) MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP-port (Settes ikke i PHP på Unix/Linux) MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP-server (Settes ikke i PHP på Unix/Linux) -MAIN_MAIL_EMAIL_FROM=Avsenders e-postadresse for automatiske e-poster (I php.ini: %s) -MAIN_MAIL_ERRORS_TO=Avsender e-post brukes for feil avkastning e-poster sendt +MAIN_MAIL_EMAIL_FROM=Avsenders e-postadresse for automatiske e-poster (Standard i php.ini: %s) +MAIN_MAIL_ERRORS_TO=Avsenders e-postadresse brukt for returnerte e-poster MAIN_MAIL_AUTOCOPY_TO= Send systematisk en skjult karbon-kopi av alle sendte e-post til -MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to -MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to -MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send skjult kopi av utsendte tilbud til +MAIN_MAIL_AUTOCOPY_ORDER_TO= Send skjult kopi av utsendte ordre til +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send skjult kopi av utsendte fakturaer til MAIN_DISABLE_ALL_MAILS=Slå av alle e-postutsendelser (for testformål eller demonstrasjoner) -MAIN_MAIL_SENDMODE=Metoden å bruke for å sende e-post +MAIN_MAIL_SENDMODE=Metode for å sende e-post MAIN_MAIL_SMTPS_ID=SMTP-ID hvis godkjenning kreves MAIN_MAIL_SMTPS_PW=SMTP-passord hvis godkjenning kreves MAIN_MAIL_EMAIL_TLS= Bruk TLS (SSL) krypterer @@ -280,15 +279,15 @@ MAIN_DISABLE_ALL_SMS=Deaktiver alle SMS sendings (for testformål eller demoer) MAIN_SMS_SENDMODE=Metode for å sende SMS MAIN_MAIL_SMS_FROM=Standard avsender telefonnummer for sending av SMS FeatureNotAvailableOnLinux=Funksjonen er ikke tilgjengelig på Unix/Linux. Test sendmail lokalt. -SubmitTranslation=Dersom oversettelse for dette språket er ikke komplett, eller du finner feil, kan du korrigere dette ved å redigere filer i katalogen Langs / %s og send endret filer på www.dolibarr.org forumet. -ModuleSetup=Modulinstillinger +SubmitTranslation=Dersom oversettelse for dette språket ikke er komplett, eller du finner feil, kan du korrigere dette ved å redigere filer i mappen langs/%s og send endrede filer til www.dolibarr.org forumet. +ModuleSetup=Modulinnstillinger ModulesSetup=Modulinnstillinger ModuleFamilyBase=System ModuleFamilyCrm=Kunderelasjonshåndtering (CRM) ModuleFamilyProducts=Produkthåndtering ModuleFamilyHr=Personalhåndtering ModuleFamilyProjects=Prosjekter/Samarbeid -ModuleFamilyOther=Andre +ModuleFamilyOther=Annet ModuleFamilyTechnic=Multimodulverktøy ModuleFamilyExperimental=Eksperimentelle moduler ModuleFamilyFinancial=Finansielle moduler (Regnskap/Likviditet) @@ -296,23 +295,23 @@ ModuleFamilyECM=ECM MenuHandlers=Menyhåndtering MenuAdmin=Menyredigering DoNotUseInProduction=Ikke bruk i produksjon -ThisIsProcessToFollow=Dette er instillinger for: +ThisIsProcessToFollow=Dette er innstillinger for: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Trinn %s FindPackageFromWebSite=Finn en pakke som inneholder funksjonen du vil bruke (for eksempel på nettsider %s). -DownloadPackageFromWebSite=Last ned pakke %s -UnpackPackageInDolibarrRoot=Pakk ut filen i katalogen for eksterne moduler: %s +DownloadPackageFromWebSite=Last ned pakke (for eksempel fra den offisielle websiden %s). +UnpackPackageInDolibarrRoot=Pakk ut filen i Dolibarrs servermappe for eksterne moduler:%s SetupIsReadyForUse=Installasjonen er ferdig og Dolibarr er klar til bruk med den nye modulen. NotExistsDirect=Alternativ rotkatalog er ikke definert.
InfDirAlt=Etter versjon 3 er det mulig å definere en alternativ rotkatalog. Dette lar deg lagre plug-ins og egendefinerte maler på samme sted.
Bare lag en katalog i roten av Dolibarr (f.eks: egendefinert).
-InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Velg modul: -CurrentVersion=Dolibarr gjeldende versjon +InfDirExample=
Aktiver det i conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*disse linjene er deaktivert med "#", for å aktivere fjernes # +YouCanSubmitFile=I dette trinnet kan du sende pakken med dette verktøyet: Velg modulfil +CurrentVersion=Gjeldende versjon av Dolibarr CallUpdatePage=Gå til siden som oppdaterer databasestruktur og data %s. LastStableVersion=Siste stabile versjon -UpdateServerOffline=Update server offline +UpdateServerOffline=Oppdater serveren offline GenericMaskCodes=Her kan du legge inn nummereringsmal. I malen kan du bruke følgende tagger:
{000000} tilsvarer et tall som økes ved hver %s. Angi så mange nuller som du ønsker at lengden på telleren skal være. Telleren vil ha ledende nuller i henhold til malens lengde.
{000000+000} samme som forrige, men med en forskyvning til høyre for + tegnet, starter fra første %s.
{000000@x} samme som forrige, men telleren starter fra null når måned x nås (x mellom 1 og 12). Hvis dette valget brukes og x er 2 eller mer kreves også sekvensen {yy}{mm} eller {yyyy}{mm} kreves også.
{dd} dag (01 til 31).
{mm} måned (01 til 12).
{yy}, {yyyy} eller {y} årstall over 2, 4 eller 1 siffer.
{cccc000} klientkoden på n tegn etterfulgt av en klientreferanse uten forskyvning og nullet med den globale telleren.

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

Eksempel på den 99de %s av tredjeparten blir 31/01/2007:
ABC{yy}{mm}-{000000} vil gi ABC0701-000099
{0000+100}-ZZZ/{dd}/XXX vil gi 0199-ZZZ/31/XXX
-GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
+GenericMaskCodes2={cccc} Klientkoden på n karakterer
{cccc000} klientkoden på n karakterer etterfulgt av en teller dedikert for kunden. Telleren blir tilbakestilt samtidig med den globale telleren.
{tttt} Koden for tredjepart på n karakterer (se i ordboken: Typer tredjepart).
GenericMaskCodes3=Alle andre tegn i masken vil være intakt.
Mellomrom er ikke tillatt.
GenericMaskCodes4a=Eksempel på 99nde %s av tredje part TheCompany gjort 2007-01-31:
GenericMaskCodes4b=Eksempel på tredjeparts opprettet på 2007-03-01:
@@ -327,7 +326,7 @@ DoTestSendHTML=Testsending HTML ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Feil: Kan ikke bruke valget @ hvis ikke sekvensen {yy}{mm} eller {yyyy}{mm} er i malen. UMask=UMaskparameter for nye filer på Unix/Linux/BSD filsystemer. -UMaskExplanation=Denne instillingen lar deg angi filtillatelser som settes på filer opprettet på Dolibarrseveren (for eksempel ved opplastning).
Dette må være en oktal verdi (for eksempel 0666 betyr lese og skrive for alle).
Denne innstillingen bruke ikke på Windowsbaserte servere. +UMaskExplanation=Denne instillingen lar deg angi filtillatelser som settes på filer opprettet på Dolibarrseveren (for eksempel ved opplastning).
Dette må være en oktal verdi (for eksempel 0666 betyr lese og skrive for alle).
Denne innstillingen brukes ikke på Windowsbaserte servere. SeeWikiForAllTeam=Ta en titt på wiki siden for fullstendig liste over alle aktører og deres organisering UseACacheDelay= Forsinkelse for skjulested eksport respons i sekunder (0 eller tom for ingen buffer) DisableLinkToHelpCenter=Skjul linken "Trenger du hjelp eller støtte" på innloggingssiden @@ -337,21 +336,21 @@ ModuleDisabled=Modul deaktivert ModuleDisabledSoNoEvent=Modul deaktivert slik hendelse aldri opprettet ConfirmPurge=Er du sikker på at du vil utføre denne purge?
Dette vil slette absolutt alle datafilene med ingen måte å gjenopprette dem (ECM filer, vedlagte filer ...). MinLength=Minimum lengde -LanguageFilesCachedIntoShmopSharedMemory=Filer. Lang lastes inn i delt minne -ExamplesWithCurrentSetup=Eksempler med gjeldende kjøre installasjonsprogrammet +LanguageFilesCachedIntoShmopSharedMemory=Filer .lang lastet i delt minne +ExamplesWithCurrentSetup=Eksempler med gjeldende oppsett ListOfDirectories=Liste over OpenDocument maler kataloger ListOfDirectoriesForModelGenODT=Liste over kataloger som inneholder maler filer med OpenDocument format.

Sett her i sin helhet sti av kataloger.
Legg til et linjeskift mellom eah katalogen.
For å legge til en katalog av GED modul, legger til her DOL_DATA_ROOT / ECM / yourdirectoryname.

Filer i disse katalogene må slutte med. Odt. NumberOfModelFilesFound=Antall ODT / ODS maler filer som finnes i disse mappene ExampleOfDirectoriesForModelGen=Eksempler på syntaks:
c: \\ mydir
/ Home / mydir
DOL_DATA_ROOT / ECM / ecmdir FollowingSubstitutionKeysCanBeUsed=
Å vite hvordan du oppretter din odt dokumentmaler, før lagre dem i disse katalogene, lese wiki dokumentasjon: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template -FirstnameNamePosition=Plassering av Fornavn / navn -DescWeather=Følgende bilder vises på dashbordet når antall sene handlinger nå følgende verdier: +FirstnameNamePosition=Plassering av fornavn/etternavn +DescWeather=Følgende bilder vises på dashbordet når antall for sene handlinger når følgende verdier: KeyForWebServicesAccess=Nøkkel til bruk Web Services (parameter "dolibarrkey" i webservices) -TestSubmitForm=Inngang test skjema +TestSubmitForm=Utfylling testskjema ThisForceAlsoTheme=Ved hjelp av denne menyen manager vil også bruke sitt eget tema det er brukervalg. Også denne menyen leder spesialisert for smartphones ikke virker ikke på alle smarttelefon. Bruk en annen meny leder hvis du opplever problemer på deg. ThemeDir=Skins katalogen -ConnectionTimeout=Connexion timeout +ConnectionTimeout=Tidsavbrudd for tilkobling ResponseTimeout=Response timeout SmsTestMessage=Test melding fra __ PHONEFROM__ til __ PHONETO__ ModuleMustBeEnabledFirst=Modul %s må være aktivert før du bruker denne funksjonen. @@ -389,16 +388,16 @@ ExtrafieldSelectList = Velg fra tabell ExtrafieldSeparator=Separator ExtrafieldCheckBox=Avmerkingsboks ExtrafieldRadio=Radio-knapp -ExtrafieldCheckBoxFromList= Checkbox from table -ExtrafieldLink=Link to an object -ExtrafieldParamHelpselect=Parameters list have to be like key,value

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter +ExtrafieldCheckBoxFromList= Avkrysningsboks fra tabell +ExtrafieldLink=Lenke til et objekt +ExtrafieldParamHelpselect=Parameterlisten må settes opp med nøkkel,verdi

for eksempel:
1,verdi1
2,verdi2
3,verdi3
...

For å gjøre listen avhengig av en annen liste:
1,value1|parent_list_code:parent_key
2,value2|parent_list_code:parent_key +ExtrafieldParamHelpcheckbox=Parameterlisten må settes opp med nøkkel,verdi

for eksempel:
1,verdi1
2,verdi2
3,verdi3
... +ExtrafieldParamHelpradio=Parameterlisten må settes opp med nøkkel,verdi

for eksempel:
1,verdi1
2,verdi2
3,verdi3
... +ExtrafieldParamHelpsellist=Parameterlisten kommer fra en tabell
Syntaks: table_name:label_field:id_field::filter
Eksempel : c_typent:libelle:id::filter

filteret kan være en enkel test (f.eks aktiv=1) for å kun vise de aktive verdiene
Hvis du vil bruke filter på ekstrafelt, bruk syntaksen extra.fieldcode=... (Der fieldcode er koden til ekstrafeltet)

For at denne listen skal være avhengig av en annen:
c_typent:libelle:id:parent_list_code|parent_column:filter ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotek som brukes til å bygge PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Noen land gjelde to eller tre skatter på hver fakturalinje. Dersom dette er tilfelle, å velge type for andre og tredje skatt og dens hastighet. Mulig type:
1: lokal skatt søke på produkter og tjenester uten mva (localtax er beregnet beløp uten mva)
2: lokal skatt søke på produkter og tjenester, inkludert merverdiavgift (localtax beregnes på beløpet + hoved skatt )
3: lokal skatt søke på produkter uten mva (localtax er beregnet beløp uten mva)
4: lokal skatt søke på produkter inkludert mva (localtax beregnes på beløpet + hoved moms)
5: local skatt søke om tjenester uten moms (localtax er beregnet beløp uten mva)
6: lokal skatt søke på tjenester inkludert mva (localtax beregnes på beløpet + mva) SMS=SMS LinkToTestClickToDial=Angi et telefonnummer å ringe for å vise en link for å teste ClickToDial url for bruker%s RefreshPhoneLink=Oppdater kobling @@ -410,12 +409,12 @@ ExternalModule=Ekstern modul - Installert i katalog %s BarcodeInitForThirdparties=Mass barcode init for thirdparties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Currently, you have %s records on %s %s without barcode defined. -InitEmptyBarCode=Init value for next %s empty records -EraseAllCurrentBarCode=Erase all current barcode values -ConfirmEraseAllCurrentBarCode=Are you sure you want to erase all current barcode values ? -AllBarcodeReset=All barcode values have been removed +InitEmptyBarCode=Startverdi for neste %s tomme post +EraseAllCurrentBarCode=Slett alle gjeldende strekkode-verdier +ConfirmEraseAllCurrentBarCode=Er di sikker på at du vil slette alle gjeldende strekkode-verdier? +AllBarcodeReset=Alle strekkode-verdier er blitt slettet NoBarcodeNumberingTemplateDefined=No numbering barcode template enabled into barcode module setup. -NoRecordWithoutBarcodeDefined=No record with no barcode value defined. +NoRecordWithoutBarcodeDefined=Ingen poster uten strekkode. # Modules Module0Name=Bruker & grupper @@ -431,11 +430,11 @@ Module20Desc=Behandling av tilbud Module22Name=E-postutsendelser Module22Desc=Behandling av e-postutsendelser Module23Name= Energi -Module23Desc= Overvåking av forbruk av energi +Module23Desc= Overvåking av energiforbruk Module25Name=Kundeordre Module25Desc=Behandling av kundeordre Module30Name=Fakturaer -Module30Desc=Behandling av fakturaer of kreditnotaer for kunder. Fakturabehandling for leverandører +Module30Desc=Behandling av fakturaer og kreditnotaer for kunder. Fakturabehandling for leverandører Module40Name=Leverandører Module40Desc=Behandling av innkjøp og leverandører (ordre og fakturaer) Module42Name=Syslog @@ -450,14 +449,14 @@ Module52Name=Beholdning Module52Desc=Behandling av lagerbeholdning Module53Name=Tjenester Module53Desc=Behandling av tjenester -Module54Name=Contracts/Subscriptions -Module54Desc=Management of contracts (services or reccuring subscriptions) +Module54Name=Kontrakter/abonnement +Module54Desc=Administrasjon av kontrakter (tjenester og abonnementer) Module55Name=Strekkoder Module55Desc=Behandling av strekkoder Module56Name=Telefoni Module56Desc=Telefoniintegrasjon Module57Name=Standing orders -Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module57Desc=Faste ordre og behandling av tilbaketrekking. Inkluderer også generering av SEPA-fil for europeiske land. Module58Name=ClickToDial Module58Desc=ClickToDial integrasjon Module59Name=Bookmark4u @@ -492,41 +491,43 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webkalender Module410Desc=Intergrasjon med webkalender -Module500Name=Spesielle utgifter (skatt, sosiale bidrag, utbytte) -Module500Desc=Forvaltning av spesielle utgifter som skatt, sosiale bidrag, utbytte og lønn -Module510Name=Salaries +Module500Name=Spesielle utgifter +Module500Desc=Administrasjon av spesielle utgifter (skatt, sosiale bidrag, utbytte) +Module510Name=Lønn Module510Desc=Management of employees salaries and payments -Module520Name=Loan -Module520Desc=Management of loans +Module520Name=Lån +Module520Desc=Administrering av lån Module600Name=Varselmeldinger Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donasjoner Module700Desc=Behandling av donasjoner -Module770Name=Expense Report +Module770Name=Utgiftsrapport Module770Desc=Management and claim expense reports (transportation, meal, ...) -Module1120Name=Supplier commercial proposal +Module1120Name=Leverandørtilbud Module1120Desc=Request supplier commercial proposal and prices Module1200Name=Mantis Module1200Desc=Mantisintegrasjon -Module1400Name=Regnskapsekspert +Module1400Name=Regnskap Module1400Desc=Behandling av regnskapssopplysninger for eksperter (double parties) -Module1520Name=Document Generation +Module1520Name=Dokumentgenerering Module1520Desc=Mass mail document generation -Module1780Name=Tags/Categories -Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) -Module2000Name=Fckeditor -Module2000Desc=WYSIWYG Editor -Module2200Name=Dynamic Prices -Module2200Desc=Enable the usage of math expressions for prices +Module1780Name=Merker/kategorier +Module1780Desc=Opprett merker/categorier (produkter, kunder, leverandører, kontakter eller medlemmer) +Module2000Name=WYSIWYG Editor +Module2000Desc=Tillater å endre tekstområder med en avansert editor +Module2200Name=Dynamiske priser +Module2200Desc=Aktiver mulighet for matematiske utrykk for å beregne priser Module2300Name=Cron -Module2300Desc=Scheduled job management +Module2300Desc=Behandling av planlagte oppgaver Module2400Name=Agenda Module2400Desc=Handlinger/oppgaver og agendabehandling Module2500Name=Electronic Content Management Module2500Desc=Lagre og dele dokumenter -Module2600Name=SOAP baserte WebServices -Module2600Desc=Aktiver Dolibarr webtjenester server -Module2650Name=WebServices (client) +Module2600Name=API servicer (Web service SOAP) +Module2600Desc=Aktiver Dolibarrs SOAP-server for å kunne bruke API-tjenester +Module2610Name=API tjenester (Web tjenester REST) +Module2610Desc=Aktiver Dolibarrs REST-server for å kunne bruke API-tjenester +Module2650Name=Webservice (klient) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar Module2700Desc=Bruke elektronisk Gravatar tjeneste (www.gravatar.com) for å vise bilde av brukere / medlemmer (funnet med e-post). Trenger du en Internett-tilgang @@ -534,16 +535,16 @@ Module2800Desc=FTP-klient Module2900Name=GeoIPMaxmind Module2900Desc=GeoIP Maxmind konverteringer evner Module3100Name=Skype -Module3100Desc=Add a Skype button into card of adherents / third parties / contacts +Module3100Desc=Legg til en Skype-knapp i medlem/tredjepart/kontakt-kortet Module5000Name=Multi-selskap Module5000Desc=Lar deg administrere flere selskaper Module6000Name=Arbeidsflyt -Module6000Desc=Workflow management -Module20000Name=Leave Requests management -Module20000Desc=Declare and follow employees leaves requests -Module39000Name=Product lot -Module39000Desc=Lot or serial number, eat-by and sell-by date management on products -Module50000Name=PAYBOX +Module6000Desc=Behandling av arbeidsflyt +Module20000Name=Administrasjon av ferieforespørsler +Module20000Desc=Oppfølging av ansattes ferieforespørsler +Module39000Name=Produkt LOT +Module39000Desc=Oppsett av lot eller serienummer, best før og siste forbruksdag på produkter +Module50000Name=PayBox Module50000Desc=Modul å tilby en online betaling side med kredittkort med PAYBOX Module50100Name=Kassaapparat Module50100Desc=Kassaapparatmodul @@ -552,73 +553,73 @@ Module50200Desc=Modul å tilby en online betaling side med kredittkort med Paypa Module50400Name=Regnskap (avansert) Module50400Desc=Accounting management (double parties) Module54000Name=PrintIPP -Module54000Desc=Direct print (without opening the documents) using Cups IPP interface (Printer must be visible from server, and CUPS must be installe on server). -Module55000Name=Open Poll -Module55000Desc=Module to make online polls (like Doodle, Studs, Rdvz, ...) +Module54000Desc=Direkteutskrift (uten å åpne dokumentet)ved hjelp av CUPS IPP inteface (Skriveren må være synlig for serveren, og CUPS må være installert på serveren) +Module55000Name=Åpne meningsmåling +Module55000Desc=Modul for å lage online meningsmålinger (som Doodle,Studs, Rdvz, m.m) Module59000Name=Marginer Module59000Desc=Modul for å administrere marginer Module60000Name=Provisjoner Module60000Desc=Modul for å administrere provisjoner -Permission11=Vise fakturaer -Permission12=Lage/Endre fakturaer -Permission13=Unvalidate fakturaer -Permission14=Godkjenne fakturaer -Permission15=Sende fakturaer pr e-post -Permission16=Lage betalinger for fakturaer -Permission19=Slette fakturaer -Permission21=Vise tilbud -Permission22=Lage/endre tilbud -Permission24=Godkjenne tilbud -Permission25=Sende tilbud -Permission26=Lukke tilbud -Permission27=Slette tilbud -Permission28=Eksporter kommersielle forslag -Permission31=Vise produkter -Permission32=Lage/endre produkter -Permission34=Slette produkter -Permission36=Se / administrere skjulte produkter -Permission38=Eksportere produkter -Permission41=Vise prosjekter -Permission42=Lage/endre prosjekter +Permission11=Vis kundefakturaer +Permission12=Opprett/endre kundefakturaer +Permission13=Ikke validerte kundefakturaer +Permission14=Godkjenn kundefakturaer +Permission15=Send fakturaer pr e-post +Permission16=Opprett betalinger for fakturaer +Permission19=Slett fakturaer +Permission21=Vis tilbud +Permission22=Opprett/endre tilbud +Permission24=Godkjenn tilbud +Permission25=Send tilbud +Permission26=Lukk tilbud +Permission27=Slett tilbud +Permission28=Eksporter tilbud +Permission31=Les produkter +Permission32=Opprett/endre produkter +Permission34=Slett produkter +Permission36=Se/administrer skjulte produkter +Permission38=Eksporter produkter +Permission41=Vis prosjekter(delte og de jeg er kontakt for) +Permission42=Opprett/endre prosjekter(delte og de jeg er kontakt for) Permission44=Slette prosjekter -Permission61=Vise intervensjoner -Permission62=Lage/endre intervensjoner -Permission64=Slette intervensjoner +Permission61=Vis intervensjoner +Permission62=Opprett/endre intervensjoner +Permission64=Slett intervensjoner Permission67=Eksporter intervensjoner -Permission71=Vise medlemmer -Permission72=Lage/endre medlemmer -Permission74=Slette medlemmer -Permission75=Setup types of membership -Permission76=Eksportere data +Permission71=Vis medlemmer +Permission72=Opprett/endre medlemmer +Permission74=Slett medlemmer +Permission75=Oppsett av medlemskapstyper +Permission76=Eksporter data Permission78=Vise abonnementer -Permission79=Lage/endre abonnementer -Permission81=Vise kundeordre -Permission82=Lage/endre kundeordre -Permission84=Godkjenne kundeordre -Permission86=Sende kundeordre -Permission87=Lukke kundeordre -Permission88=Avbryte kundeordre -Permission89=Slette kundeordre -Permission91=Vise avgifter og MVA -Permission92=Lage/endre avgifter og MVA -Permission93=Slette avgifter og MVA +Permission79=Opprett/endre abonnementer +Permission81=Les kundeordre +Permission82=Opprett/endre kundeordre +Permission84=Godkjenn kundeordre +Permission86=Send kundeordre +Permission87=Lukk kundeordre +Permission88=Avbryt kundeordre +Permission89=Slett kundeordre +Permission91=Les avgifter og MVA +Permission92=Opprett/endre avgifter og MVA +Permission93=Slett avgifter og MVA Permission94=Eksporter sosiale bidrag -Permission95=Vise rapporter -Permission101=Vise forsendelser -Permission102=Lage/endre forsendelser -Permission104=Godjenne forsendelser -Permission106=Eksport forsendelser +Permission95=Les rapporter +Permission101=Vis forsendelser +Permission102=Opprett/endre forsendelser +Permission104=Godjenn forsendelser +Permission106=Eksporter forsendelser Permission109=Slette forsendelser Permission111=Vise kontoutdrag Permission112=Lage/endre/slette og sammenligne transaksjoner Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconciliate transactions +Permission114=Avstemming av transaksjoner Permission115=Eksportere transaksjoner og kontoutdrag Permission116=Overføringer mellom konti Permission117=Håndtere sjekkutsteding -Permission121=Vise tredjeparter lenket til brukeren -Permission122=Vise/endre tredjeparter lenket til brukeren -Permission125=Slette tredjeparter lenket til brukeren +Permission121=Les tredjeparter lenket til bruker +Permission122=Opprett/endre tredjeparter lenket til bruker +Permission125=Slett tredjeparter lenket til bruker Permission126=Eksportere tredjeparter Permission141=Les oppgaver Permission142=Opprett / endre oppgaver @@ -628,30 +629,30 @@ Permission147=Les statistikk Permission151=Vise åpne ordre Permission152=Sette opp åpne ordre Permission153=Vise kvitteringer for stående ordre -Permission154=Kreditt / nekte stående ordre kvitteringer -Permission161=Read contracts/subscriptions -Permission162=Create/modify contracts/subscriptions +Permission154=Kreditt/avslå kvitteringer fra faste ordre +Permission161=Les kontrakter/abonnementer +Permission162=Opprett/endre kontrakter/abonnementer Permission163=Activate a service/subscription of a contract -Permission164=Disable a service/subscription of a contract +Permission164=Deaktiver en tjeneste/abonnement i en kontrakt Permission165=Slett kontrakter/abonnementer -Permission171=Read trips and expenses (own and his subordinates) +Permission171=Les reiser og utgifter (egne og underordnede) Permission172=Opprett/endre reiser og utgifter Permission173=Slett reiser og utgifter -Permission174=Read all trips and expenses +Permission174=Les alle reiser og utgifter Permission178=Eksporter reiser og utgifter Permission180=Vise leverandører Permission181=Vise leverandøreorde Permission182=Lage/endre leverandørordre Permission183=Godkjenne leverandørordre Permission184=Bekrefte leverandørerordre -Permission185=Order or cancel supplier orders +Permission185=Bestill eller kanseller leverandørordre Permission186=Motta leverandørordre Permission187=Lukke leverandørordre -Permission188=Avbryte leverandørordre +Permission188=Avbryt leverandørordre Permission192=Lag linjer Permission193=Avbryt linjer -Permission194=Les båndbredde linjene -Permission202=Lag ADSL tilkoblinger +Permission194=Les båndbreddelinjene +Permission202=Oppret ADSL-tilkoblinger Permission203=Bestill tilkoblinger bestillinger Permission204=Bestill tilkoblinger Permission205=Administrer tilkoblinger @@ -661,7 +662,7 @@ Permission212=Bestill linjer Permission213=Aktiver linje Permission214=Oppsett Telefoni Permission215=Oppsett tilbydere -Permission221=Vise e-postutsendelser +Permission221=Les e-postutsendelser Permission222=Lage/endre e-postutsendelser (emne, mottagere...) Permission223=Godkjenne e-postutsendelser (tillate sending) Permission229=Slette e-postutsendelser @@ -679,7 +680,7 @@ Permission253=Endre andre brukeres passord PermissionAdvanced253=Lag / endre interne / eksterne brukere og tillatelser Permission254=Slette eller deaktivere andre brukere Permission255=Lage/endre egen brukerinformasjon -Permission256=Endre sitt eget passord +Permission256=Slett eller deaktiver andre brukere Permission262=Utvid tilgangen til alle tredjeparter (ikke bare de som er lenket til brukeren). Påvirker ikke eksterne brukere (som alltid er begrenset til seg selv). Permission271=Les CA Permission272=Les fakturaer @@ -687,18 +688,18 @@ Permission273=Utstede fakturaer Permission281=Vise kontaktpersoner Permission282=Lage/endre kontaktpersoner Permission283=Slette kontaktpersoner -Permission286=Eksportere kontaktpersoner +Permission286=Eksportere kontakter Permission291=Les tariffer Permission292=Angi tillatelser på tariffer Permission293=Endre kunder tariffer -Permission300=Vise strekkoder -Permission301=Vise/endre strekkoder -Permission302=Slette strekkoder +Permission300=Les strekkoder +Permission301=Opprett/endre strekkoder +Permission302=Slett strekkoder Permission311=Les tjenester -Permission312=Assign service/subscription to contract -Permission331=Vise bokmerker +Permission312=Knytt tjeneste/abonnement til kontrakt +Permission331=Les bokmerker Permission332=Lage/endre bokmerker -Permission333=Slette bokmerker +Permission333=Slett bokmerker Permission341=Les egne tillatelser Permission342=Lag / endre sin egen brukerinformasjon Permission343=Endre hans eget passord @@ -716,11 +717,11 @@ Permission510=Les Lønn Permission512=Opprett/endre lønn Permission514=Slett lønn Permission517=Eksporter lønn -Permission520=Read Loans -Permission522=Create/modify loans -Permission524=Delete loans -Permission525=Access loan calculator -Permission527=Export loans +Permission520=Les lån +Permission522=Opprett/endre lån +Permission524=Slett lån +Permission525=Gå til lånekalkulator +Permission527=Eksporter lån Permission531=Les tjenester Permission532=Opprett / endre tjenester Permission534=Slett tjenester @@ -729,16 +730,16 @@ Permission538=Eksporter tjenester Permission701=Vise donasjoner Permission702=Lage/endre donasjoner Permission703=Slette donasjoner -Permission771=Read expense reports (own and his subordinates) -Permission772=Create/modify expense reports -Permission773=Delete expense reports -Permission774=Read all expense reports (even for user not subordinates) -Permission775=Approve expense reports -Permission776=Pay expense reports -Permission779=Export expense reports +Permission771=Les utgiftsrapporter (egne og underordnedes) +Permission772=Oprett/endre utgiftsrapport +Permission773=Slett utgiftsrapport +Permission774=Les alle utgiftsrapporter (alle brukere) +Permission775=Godkjenn utgiftsrapport +Permission776=Betal utgift +Permission779=Eksporter utgiftsrapporter Permission1001=Vise beholdning -Permission1002=Create/modify warehouses -Permission1003=Delete warehouses +Permission1002=Opprett/endre varehus +Permission1003=Slett varehus Permission1004=Vise lagerbevegelser Permission1005=Lage/endre lagerbevegelser Permission1101=Vise pakksedler @@ -753,7 +754,7 @@ Permission1185=Godkjenne leverandørordre Permission1186=Bestille leverandørordre Permission1187=Bekrefte mottak av leverandørordre Permission1188=Lukke leverandørordre -Permission1190=Approve (second approval) supplier orders +Permission1190=Godkjenn (2. godkjenning) leverandørordre Permission1201=Get result of an export Permission1202=Create/Modify an export Permission1231=Read supplier invoices @@ -766,60 +767,62 @@ Permission1237=Eksporter leverandør-bestillinger og detaljer Permission1251=Kjør massen import av eksterne data til database (data last) Permission1321=Eksportere kundefakturaer, attributter og betalinger Permission1421=Eksport kundeordre og attributter -Permission23001=Read Scheduled job -Permission23002=Create/update Scheduled job -Permission23003=Delete Scheduled job -Permission23004=Execute Scheduled job +Permission23001=Les planlagt oppgave +Permission23002=Opprett/endre planlagt oppgave +Permission23003=Slett planlagt oppgave +Permission23004=Utfør planlagt oppgave Permission2401=Vise handlinger (hendelser og oppgaver) lenket til egen brukerkonto -Permission2402=Lage/endre/slette handlinger (hendelser og oppgaver) lenket til egen brukerkonto -Permission2403=Vise andre personers handlinger (hendelser og oppgaver) -Permission2411=Les handlinger (hendelser eller oppgaver) for andre -Permission2412=Opprett / endre handlinger (hendelser eller oppgaver) for andre +Permission2402=Opprett/endre handlinger (hendelser og oppgaver) lenket til egen brukerkonto +Permission2403=Slett hendelser (hendelser og oppgaver) relatert til egen brukerkonto +Permission2411=Les handlinger (hendelser eller oppgaver) av andre +Permission2412=Opprett/endre handlinger (hendelser eller oppgaver) for andre Permission2413=Slett handlinger (hendelser eller oppgaver) for andre -Permission2501=Vise dokumenter -Permission2502=Laste opp og slette dokumenter -Permission2503=Send eller slette dokumenter -Permission2515=Behandle og endre dokumentmappene +Permission2501=Vise/last ned dokumenter +Permission2502=Last ned dokumenter +Permission2503=Send eller slett dokumenter +Permission2515=Oppsett av dokumentmapper Permission2801=Bruk FTP-klient i lesemodus (bla gjennom og laste ned) Permission2802=Bruk FTP-klient i skrivemodus (slette eller laste opp filer) Permission50101=Bruk Point of salg Permission50201=Les transaksjoner Permission50202=Importer transaksjoner Permission54001=Skriv ut -Permission55001=Read polls -Permission55002=Create/modify polls -Permission59001=Read commercial margins -Permission59002=Define commercial margins -Permission59003=Read every user margin -DictionaryCompanyType=Thirdparties type -DictionaryCompanyJuridicalType=Juridical kinds of thirdparties -DictionaryProspectLevel=Prospect potential level -DictionaryCanton=State/Cantons -DictionaryRegion=Regions -DictionaryCountry=Countries -DictionaryCurrency=Currencies -DictionaryCivility=Civility title -DictionaryActions=Type of agenda events -DictionarySocialContributions=Social contributions types -DictionaryVAT=VAT Rates or Sales Tax Rates -DictionaryRevenueStamp=Amount of revenue stamps -DictionaryPaymentConditions=Payment terms -DictionaryPaymentModes=Payment modes -DictionaryTypeContact=Contact/Address types -DictionaryEcotaxe=Ecotax (WEEE) -DictionaryPaperFormat=Paper formats -DictionaryFees=Type of fees -DictionarySendingMethods=Shipping methods -DictionaryStaff=Staff -DictionaryAvailability=Delivery delay +Permission55001=Les meningsmålinger +Permission55002=Opprett/endre meningsmålinger +Permission59001=Les kommersielle marginer +Permission59002=Definer kommersielle marginer +Permission59003=Les alle brukermarginer +DictionaryCompanyType=Tredjepartstyper +DictionaryCompanyJuridicalType=Juridisk status for tredjeparter +DictionaryProspectLevel=Prospektpotensiale +DictionaryCanton=Fylke +DictionaryRegion=Region +DictionaryCountry=Land +DictionaryCurrency=Valutaer +DictionaryCivility=Sivilstatus +DictionaryActions=Typer agendahendelser +DictionarySocialContributions=Typer sosiale bidrag +DictionaryVAT=MVA satser +DictionaryRevenueStamp=Amount of revenue stamps - ikke i Norge +DictionaryPaymentConditions=Betalingsbetingelser +DictionaryPaymentModes=Betalingsmåter +DictionaryTypeContact=Kontakt/adressetyper +DictionaryEcotaxe=Miljøgebyr (WEEE) +DictionaryPaperFormat=Papirformater +DictionaryFees=Gebyrtyper +DictionarySendingMethods=Leveringsmetoder +DictionaryStaff=Stab +DictionaryAvailability=Leveringsforsinkelse DictionaryOrderMethods=Ordremetoder -DictionarySource=Origin of proposals/orders -DictionaryAccountancyplan=Chart of accounts -DictionaryAccountancysystem=Models for chart of accounts -DictionaryEMailTemplates=Emails templates +DictionarySource=Tilbud/ordre-opprinnelse +DictionaryAccountancyplan=Graf over kontoer +DictionaryAccountancysystem=Diagram-modeller for kontoer +DictionaryEMailTemplates=E-postmaler +DictionaryUnits=Enheter +DictionaryProspectStatus=Prospection status SetupSaved=Innstillinger lagret BackToModuleList=Tilbake til moduloversikt -BackToDictionaryList=Back to dictionaries list +BackToDictionaryList=Tilbake til ordliste VATReceivedOnly=Special rate not charged VATManagement=MVA-håndtering VATIsUsedDesc=Den MVA-sats som standard når du oppretter prospekter, fakturaer, ordre etc følger den aktive standard regel:
Dersom selgeren ikke utsettes for MVA, MVA = 0.
Hvis ()selger og kjøper i samme land, MVA = MVA på produktet i salgslandet.
Dersom selger og kjøper i EU og varene er transportprodukter (bil, båt, fly), MVA = 0 (MVA skal betales av kjøper ved Tollkontoret av sitt land og ikke på selger).
Dersom selger og kjøper i EU og kjøperen ikke er et selskap, MVA = moms av produktet som selges.
Dersom selger og kjøper i EU og kjøper er et selskap, MVA = 0. Slutt på regelen.
Ellers er den foreslåtte standard MVA = 0. @@ -847,17 +850,17 @@ LocalTax1IsUsedDescES= RE rate som standard når du oppretter utsikter, fakturae LocalTax1IsNotUsedDescES= Som standard den foreslåtte RE er 0. Slutt på regelen. LocalTax1IsUsedExampleES= I Spania er de profesjonelle underlagt noen spesifikke deler av den spanske IAE. LocalTax1IsNotUsedExampleES= I Spania er de profesjonelle og samfunn, og på visse deler av den spanske IAE. -LocalTax2ManagementES= IRPF Management +LocalTax2ManagementES= IRPF oppsett LocalTax2IsUsedDescES= RE rate som standard når du oppretter utsikter, fakturaer, ordre etc følger den aktive standarden regelen:
Dersom selgeren ikke utsettes for IRPF, så IRPF som standard = 0. Slutt på regelen.
Hvis selgeren er utsatt for IRPF så IRPF som standard. Slutt på regelen.
LocalTax2IsNotUsedDescES= Som standard den foreslåtte IRPF er 0. Slutt på regelen. LocalTax2IsUsedExampleES= I Spania, frilansere og selvstendige fagfolk som leverer tjenester og bedrifter som har valgt skattesystemet til moduler. LocalTax2IsNotUsedExampleES= I Spania er de bussines ikke skattepliktig system av moduler. -CalcLocaltax=Reports on local taxes -CalcLocaltax1=Sales - Purchases +CalcLocaltax=Rapport over lokale avgifter +CalcLocaltax1=Salg - Innkjøp CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases -CalcLocaltax2=Purchases +CalcLocaltax2=Innkjøp CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases -CalcLocaltax3=Sales +CalcLocaltax3=Salg CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales LabelUsedByDefault=Etiketten som brukes som standard hvis ingen oversettelse kan bli funnet for kode LabelOnDocuments=Etiketten på dokumenter @@ -874,7 +877,7 @@ DocumentRootServer=Webserverens rotkatalog DataRootServer=Katalog for datafiler IP=IP Port=Port -VirtualServerName=Virtual server name +VirtualServerName=Virtuelt servernavn AllParameters=Alle parametere OS=OS PhpEnv=Env @@ -886,20 +889,20 @@ PearPackages=Pear Packages Browser=Nettleser Server=Server Database=Database -DatabaseServer=Database host -DatabaseName=Database name +DatabaseServer=Database vert +DatabaseName=Database navn DatabasePort=Database port DatabaseUser=Database bruker DatabasePassword=Database passord -DatabaseConfiguration=Database setup -Tables=Tables -TableName=Table name -TableLineFormat=Line format -NbOfRecord=Nb of records -Constraints=Constraints -ConstraintsType=Constraint's type +DatabaseConfiguration=Database oppsett +Tables=Tabeller +TableName=Tabellnavn +TableLineFormat=Linjeformat +NbOfRecord=Antall poster +Constraints=Begrensninger +ConstraintsType=Begrensningstype ConstraintsToShowOrNotEntry=Constraint to show or not the menu entry -AllMustBeOk=Alle disse må være i orden +AllMustBeOk=Alle disse må sjekkes Host=Server DriverType=Driver type SummarySystem=Systeminformasjon - oppsummering @@ -910,12 +913,12 @@ MenuCompanySetup=Firma/organisasjon MenuNewUser=Ny bruker MenuTopManager=Menybehandler: Toppmeny MenuLeftManager=Menybehandler: Venstre meny -MenuManager=Meny manager -MenuSmartphoneManager=Smartphone-menyen leder +MenuManager=Menybehandler +MenuSmartphoneManager=Menybehandler for smarttelefon DefaultMenuTopManager=Menybehandler: Toppmeny DefaultMenuLeftManager=Menybehandler: Venstre meny -DefaultMenuManager= Standard meny leder -DefaultMenuSmartphoneManager=Smartphone-menyen leder +DefaultMenuManager= Standard menybehandler +DefaultMenuSmartphoneManager=Menybehandler for smarttelefon Skin=Tema DefaultSkin=Standard tema MaxSizeList=Makslengde på lister @@ -925,8 +928,8 @@ MessageLogin=Meldingstekst på innloggingsbildet PermanentLeftSearchForm=Permanent søkeskjema i venstre meny DefaultLanguage=Ønsket standardspråk (språkkode) EnableMultilangInterface=Aktiver flerspråklig grensesnitt -EnableShowLogo=Vis logo på venstre meny -EnableHtml5=Enable Html5 (Developement - Only available on Eldy template) +EnableShowLogo=Vis logo i venstre meny +EnableHtml5=Aktiver html5 (Utvikling - kun tilgjengelig i Eldy-mal) SystemSuccessfulyUpdated=Systemet ditt er oppdatert! CompanyInfo=Firma/organisasjonsinformasjon CompanyIds=Firma/organisasjons IDer @@ -935,24 +938,25 @@ CompanyAddress=Adresse CompanyZip=Postnummer CompanyTown=Poststed CompanyCountry=Land -CompanyCurrency=Bovedvaluta +CompanyCurrency=Hovedvaluta +CompanyObject=Selskapets formål Logo=Logo DoNotShow=Ikke vis DoNotSuggestPaymentMode=Ikke foreslå -NoActiveBankAccountDefined=Ingen aktive bankkonti aktivert +NoActiveBankAccountDefined=Ingen aktive bankkonti definert OwnerOfBankAccount=Eier av bankkonto %s BankModuleNotActive=Bankkontomodul ikke slått på -ShowBugTrackLink=Vis lenken "Rapporter en feil" +ShowBugTrackLink=Vis lenken "%s" ShowWorkBoard=Vis "arbeidsbordet" på hjemmesiden Alerts=Varsler Delays=Forsinkelser DelayBeforeWarning=Forsinkelse før varsling DelaysBeforeWarning=Forsinkelser før varsling -DelaysOfToleranceBeforeWarning=Toleranseforsikelse før varsling +DelaysOfToleranceBeforeWarning=Forsinkelsestoleranse før varsling DelaysOfToleranceDesc=Denne siden lar deg angi antall 'toleransedager' du ønsker før en forsinkelse skal varsles på skjermen med ikonet %s for hvert forsinkede element. -Delays_MAIN_DELAY_ACTIONS_TODO=Forinkelstoleranse (i dager) før varsel om planlage handlinger som ikke er utført +Delays_MAIN_DELAY_ACTIONS_TODO=Forinkelsestoleranse (i dager) før varsel om planlage handlinger som ikke er utført Delays_MAIN_DELAY_ORDERS_TO_PROCESS=Forsinkelsestoleranse (i dager) før varsel om ordrer ikke levert -Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Forsinkelse toleranse (i dager) før varsel på leverandørers ordre ennå ikke behandlet +Delays_MAIN_DELAY_SUPPLIER_ORDERS_TO_PROCESS=Forsinkelsestoleranse (i dager) før varsel på leverandørers ordre ennå ikke behandlet Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Forsinkelsestoleranse (i dager) før varsel om tilbud som ikke er lukket Delays_MAIN_DELAY_PROPALS_TO_BILL=Forsinkelsestoleranse (i dager) før varsel om tilbud som ikke er fakturert Delays_MAIN_DELAY_NOT_ACTIVATED_SERVICES=Forsinkelsestoleranse (i dager) før varsel om tjenester som ikke er aktivert @@ -976,7 +980,7 @@ InfoOS=Info om OS InfoWebServer=Infos webserver InfoDatabase=Infos database InfoPHP=Infos PHP -InfoPerf=Infos performances +InfoPerf=Ytelsesinfo BrowserName=Navn på nettleser BrowserOS=Nettleserens operativsystem ListEvents=Hendelsesrevisjon @@ -987,7 +991,7 @@ AreaForAdminOnly=Disse funksjonene kan bare brukes av administratorer. Ad SystemInfoDesc=Systeminformasjon er diverse teknisk informasjon som kun vises i skrivebeskyttet modus, og som kun er synlig for administratorer. SystemAreaForAdminOnly=Dette området er bare tilgjengelig for administratorer. Ingen av tillatelsene i Dolibarr kan senke denne grensen. CompanyFundationDesc=Her oppgir du all tilgjengelig informasjon om bedriften eller organisasjonen som skal bruke Dolibarr -DisplayDesc=Her kan du velge instillinger som styrer Dolibarrs utseende og virkemåte +DisplayDesc=Her kan du velge innstillinger som styrer Dolibarrs utseende og virkemåte AvailableModules=Tilgjengelige moduler ToActivateModule=Gå til innstillinger for å aktivere moduler. SessionTimeOut=Tidsgrense for økter @@ -1009,20 +1013,20 @@ MAIN_MAX_DECIMALS_UNIT=Desimaler i enhetspriser MAIN_MAX_DECIMALS_TOT=Desimaler i totalpriser MAIN_MAX_DECIMALS_SHOWN=Desimaler for priser når de vises på skjerm (Legg til ... etter dette tallet dersom du ønsker å se ... når et tall er forkortet i skjermvisning) MAIN_DISABLE_PDF_COMPRESSION=Bruk PDF-komprimering for genererte PDF-filer. -MAIN_ROUNDING_RULE_TOT= Størrelse på avrunding rekkevidde (for sjeldne land der runde gjøres på noe annet enn base 10) +MAIN_ROUNDING_RULE_TOT=Avrundingstrinn (for land der avrunding er gjort annerledes enn basis 10. For eksempel sett 0,05 hvis avrunding gjøres i trinn på 0,05) UnitPriceOfProduct=Netto enhet prisen på et produkt TotalPriceAfterRounding=Total pris (netto / moms / inkl. moms) etter avrunding ParameterActiveForNextInputOnly=Innstillingene gjelder først fra neste inntasting NoEventOrNoAuditSetup=Ingen sikkerhetsinnstillinger er registrert ennå. Dette kan være normalt hvis revisjon ikke er slått på ("innstillinger - sikkerhet - revisjon"). NoEventFoundWithCriteria=Ingen søketreff i sikkerhetshendelser. SeeLocalSendMailSetup=Se lokalt sendmail-oppsett -BackupDesc=Å lage en komplett sikkerhetskopi av Dolibarr, må du: +BackupDesc=For å lage en komplett sikkerhetskopi av Dolibarr, må du: BackupDesc2=Save content of documents directory (%s) that contains all uploaded and generated files (you can make a zip for example). BackupDesc3=Save content of your database (%s) into a dump file. For this, you can use following assistant. BackupDescX=Arkiverte katalogen skal oppbevares på et trygt sted. BackupDescY=Den genererte dumpfil bør oppbevares på et trygt sted. BackupPHPWarning=Backup kan ikke garanteres med denne metoden. Foretrekker forrige -RestoreDesc=Hvis du vil gjenopprette en sikkerhetskopi Dolibarr, må du: +RestoreDesc=Hvis du vil gjenopprette en Dolibarr sikkerhetskopi , må du: RestoreDesc2=Restore archive file (zip file for example) of documents directory to extract tree of files in documents directory of a new Dolibarr installation or into this current documents directoy (%s). RestoreDesc3=Restore the data, from a backup dump file, into the database of the new Dolibarr installation or into the database of this current installation (%s). Warning, once restore is finished, you must use a login/password, that existed when backup was made, to connect again. To restore a backup database into this current installation, you can follow this assistant. RestoreMySQL=MySQL import @@ -1040,21 +1044,21 @@ TranslationUncomplete=Delvis oversettelse SomeTranslationAreUncomplete=Some languages may be partially translated or may contains errors. If you detect some, you can fix language files registering to http://transifex.com/projects/p/dolibarr/. MenuUseLayout=Gjør vertikale menyen hidable (opsjon Javascript må ikke være deaktivert) MAIN_DISABLE_METEO=Deaktiver Meteo visning -TestLoginToAPI=Test logge API +TestLoginToAPI=Test-innlogging til API ProxyDesc=Enkelte funksjoner i Dolibarr må ha en Internett-tilgang for å fungere. Definer her parametere for dette. Hvis Dolibarr serveren er bak en proxy-server, forteller disse parametrene Dolibarr hvordan du få tilgang til Internett gjennom det. ExternalAccess=Ekstern tilgang MAIN_PROXY_USE=Bruk en proxy-server (ellers direkte tilgang til internett) -MAIN_PROXY_HOST=Navn / adresse proxy-server -MAIN_PROXY_PORT=Port of proxy server -MAIN_PROXY_USER=Logg inn for å bruke proxy-server +MAIN_PROXY_HOST=Navn/adresse til proxy-server +MAIN_PROXY_PORT=Proxy server port +MAIN_PROXY_USER=Logg-inn for å bruke proxy-server MAIN_PROXY_PASS=Passord for å bruke proxy-server -DefineHereComplementaryAttributes=Definer her alle atributes, ikke allerede er tilgjengelig som standard, og at du ønsker å bli støttet for %s. +DefineHereComplementaryAttributes=Her defineres alle attributter som ikke allerede er tilgjengelig som standard, og at du ønsker å få støtte for %s. ExtraFields=Komplementære attributter -ExtraFieldsLines=Complementary attributes (lines) -ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) -ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) -ExtraFieldsThirdParties=Komplementære attributter (thirdparty) -ExtraFieldsContacts=Komplementære attributter (kontakt / adresse) +ExtraFieldsLines=Utfyllende attributter (linjer) +ExtraFieldsSupplierOrdersLines=Komplementære attributter (ordrelinjer) +ExtraFieldsSupplierInvoicesLines=Komplementære attributter (fakturalinjer) +ExtraFieldsThirdParties=Komplementære attributter (tredjepart) +ExtraFieldsContacts=Komplementære attributter (kontakt/adresse) ExtraFieldsMember=Komplementære attributter (medlem) ExtraFieldsMemberType=Komplementære attributter (medlem type) ExtraFieldsCustomerOrders=Tilleggsattributter (ordre) @@ -1063,37 +1067,37 @@ ExtraFieldsSupplierOrders=Komplementære attributter (ordre) ExtraFieldsSupplierInvoices=Komplementære attributter (fakturaer) ExtraFieldsProject=Komplementære attributter (prosjekter) ExtraFieldsProjectTask=Komplementære attributter (oppgaver) -ExtraFieldHasWrongValue=Attribute %s has a wrong value. +ExtraFieldHasWrongValue=Attributten %s har en feil verdi AlphaNumOnlyCharsAndNoSpace=bare alfanumeriske tegn tegn uten mellomrom -AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space +AlphaNumOnlyLowerCharsAndNoSpace=kun alfanumeriske tegn og små bokstaver uten mellomrom SendingMailSetup=Oppsett av sendings e-post SendmailOptionNotComplete=Advarsel, på enkelte Linux-systemer, for å sende e-post fra e-posten din, sendmail henrettelsen oppsett må conatins alternativ-BA (parameter mail.force_extra_parameters inn din php.ini fil). Hvis noen mottakere aldri motta e-post, kan du prøve å redigere denne PHP parameteren med mail.force_extra_parameters =-BA). PathToDocuments=Sti til dokumenter PathDirectory=Mappe -SendmailOptionMayHurtBuggedMTA=Feature to send mails using method "PHP mail direct" will generate a mail message that might be not correctly parsed by some receiving mail servers. Result is that some mails can't be read by people hosted by those bugged platforms. It's case for some Internet providers (Ex: Orange in France). This is not a problem into Dolibarr nor into PHP but onto receiving mail server. You can however add option MAIN_FIX_FOR_BUGGED_MTA to 1 into setup - other to modify Dolibarr to avoid this. However, you may experience problem with other servers that respect strictly the SMTP standard. The other solution (recommended) is to use the method "SMTP socket library" that has no disadvantages. +SendmailOptionMayHurtBuggedMTA=Funksjonen for å sende e-post ved hjelp av metoden "PHP mail direct" vil generere en melding som kanskje ikke oversatt riktig av enkelte e-postservere. Resultatet er at enkelte e-poster ikke kan leses av personer som mottar e-post gjennom disse serverene (f.eks Orange i Frankrike). Dette er ikke et Dolibarr-problem i, heller ikke PHP, men på mottakende e-postserver. Du kan imidlertid legge til alternativet MAIN_FIX_FOR_BUGGED_MTA til 1 i oppsettet, heller enn å endre Dolibarr for å unngå dette. Du kan oppleve problemer med andre servere som følger SMTP-standarden nøyaktig. Den andre løsningen (anbefales) er å bruke metoden "SMTP socket library" som ikke har noen ulemper. TranslationSetup=Konfigurasjon de la traduction TranslationDesc=Valg av språk som er synlig på skjermen kan endres:
* Globalt fra menyen Hjem - Setup - Display
* For brukeren bare fra kategorien Bruker visning av brukerkort (klikk på innlogging på toppen av skjermen). TotalNumberOfActivatedModules=Totalt antall aktiverte funksjoner moduler:%s YouMustEnableOneModule=Du må minst aktivere en modul ClassNotFoundIntoPathWarning=Klasse %s ikke funnet i PHP banen YesInSummer=Ja i sommer -OnlyFollowingModulesAreOpenedToExternalUsers=Obs, bare følgende moduler er åpnet for eksterne brukere (uansett tillatelse for slike brukere): +OnlyFollowingModulesAreOpenedToExternalUsers=Merk: Kun følgende moduler er åpne for eksterne brukere (hva enn tillatelse til slike brukere er): SuhosinSessionEncrypt=Session lagring kryptert av Suhosin ConditionIsCurrently=Tilstand er for øyeblikket %s -YouUseBestDriver=You use driver %s that is best driver available currently. -YouDoNotUseBestDriver=You use drive %s but driver %s is recommended. -NbOfProductIsLowerThanNoPb=You have only %s products/services into database. This does not required any particular optimization. +YouUseBestDriver=Du bruker driveren %s, som er den beste tilgjengelige for øyeblikket. +YouDoNotUseBestDriver=Du bruker driveren %s. Driver %s anbefales. +NbOfProductIsLowerThanNoPb=Du har bare %s produkter/tjenester i database. Ingen optimalisering er påkrevet SearchOptim=Forbedre søket YouHaveXProductUseSearchOptim=You have %s product into database. You should add the constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 into Home-Setup-Other, you limit the search to the beginning of strings making possible for database to use index and you should get an immediate response. -BrowserIsOK=You are using the web browser %s. This browser is ok for security and performance. +BrowserIsOK=Du bruker nettleseren %s. Denne nettleseren er ok for sikkerhet og ytelse. BrowserIsKO=You are using the web browser %s. This browser is known to be a bad choice for security, performance and reliability. We recommand you to use Firefox, Chrome, Opera or Safari. XDebugInstalled=XDebug er lastet XCacheInstalled=XCache er lastet AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". -FieldEdition=Edition of field %s -FixTZ=TimeZone fix -FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) -GetBarCode=Get barcode +FieldEdition=Endre felt %s +FixTZ=Tidssone offset +FillThisOnlyIfRequired=Eksempel: +2 (brukes kun hvis du opplever problemer med tidssone offset) +GetBarCode=Hent strekkode EmptyNumRefModelDesc=The code is free. This code can be modified at any time. ##### Module password generation PasswordGenerationStandard=Gir et automatisk laget passord med 8 tegn (bokstaver og tall) i små bokstaver. @@ -1122,8 +1126,8 @@ WatermarkOnDraft=Vannmerke på utkast JSOnPaimentBill=Activate feature to autofill payment lines on payment form CompanyIdProfChecker=Profesjonell Id unik MustBeUnique=Må være unik? -MustBeMandatory=Mandatory to create third parties ? -MustBeInvoiceMandatory=Mandatory to validate invoices ? +MustBeMandatory=Obligatorisk for å opprette tredjeparter? +MustBeInvoiceMandatory=Obligatorisk for å validere fakturaer? Miscellaneous=Diverse ##### Webcal setup ##### WebCalSetup=Webcalendar kobling @@ -1137,7 +1141,7 @@ WebCalServer=Server som driver kalendedatabase WebCalDatabaseName=Databasenavn WebCalUser=Databasebruker WebCalSetupSaved=Webcalendar-instillinger er lagret. -WebCalTestOk=Connection to server '%s' on database '%s' with user '%s' successful. +WebCalTestOk=Tilkobling til serveren '%s' sin database '%s' med bruker '%s' var vellykket. WebCalTestKo1=Tilkobling til serveren '%s' vellykket, men databasen '%s' kunne ikke nåes. WebCalTestKo2=Tilkobling til serveren '%s' med brukeren '%s' feilet. WebCalErrorConnectOkButWrongDatabase=Tilkobling vellykket, men databasen ser ikke ut til å være en Webcalendar-database. @@ -1165,7 +1169,7 @@ EnableEditDeleteValidInvoice=Slå på muligheten til å endre/slette en godkjent SuggestPaymentByRIBOnAccount=Foreslå betaling mot konto SuggestPaymentByChequeToAddress=Foreslå betaling med sjekk til FreeLegalTextOnInvoices=Fritekst på fakturaer -WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +WatermarkOnDraftInvoices=Vannmerke på fakturakladder (ingen hvis tom) ##### Proposals ##### PropalSetup=Innstillinger for tilbud CreateForm=Opprett skjemaer @@ -1178,7 +1182,7 @@ AddShippingDateAbility=Legg til felt for forsendelsesdato AddDeliveryAddressAbility=Legg til felt for leveringsdato UseOptionLineIfNoQuantity=En produkt/tjeneste med med null i kvantum blir betraktet som en valgmulighet FreeLegalTextOnProposal=Fritekst på tilbud -WatermarkOnDraftProposal=Watermark on draft commercial proposals (none if empty) +WatermarkOnDraftProposal=Vannmerke på tilbudskladder (ingen hvis tom) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Ask for bank account destination of proposal ##### AskPriceSupplier ##### AskPriceSupplierSetup=Price requests suppliers module setup @@ -1191,11 +1195,11 @@ BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination o OrdersSetup=Innstillinger for ordre OrdersNumberingModules=Nummereringsmodul for ordre OrdersModelModule=Ordremaler -HideTreadedOrders=Hide the treated or cancelled orders in the list +HideTreadedOrders=Skjul behandlede eller kansellerte ordre i listen ValidOrderAfterPropalClosed=Ordre krever godkjenning etter at tilbudet er lukket FreeLegalTextOnOrders=Fritekst på ordre -WatermarkOnDraftOrders=Watermark on draft orders (none if empty) -ShippableOrderIconInList=Add an icon in Orders list which indicate if order is shippable +WatermarkOnDraftOrders=Vannmerke på ordrekladder (ingen hvis tom) +ShippableOrderIconInList=Legg til et ikon i ordrelisten for å vise om ordren kan sendes BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order ##### Clicktodial ##### ClickToDialSetup='Click To Dial' modul @@ -1207,13 +1211,13 @@ InterventionsSetup=Instillinger for intervensjoner FreeLegalTextOnInterventions=Fri tekst om inngrep dokumenter FicheinterNumberingModules=Nummereringsmodul for intervensjoner TemplatePDFInterventions=Intervensjonsmaler -WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) +WatermarkOnDraftInterventionCards=Vannmerke på intervensjonskort-dokumenter (ingen hvis tom) ##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup +ContractsSetup=Oppsett av kontrakter/abonnement-modulen ContractsNumberingModules=Kontrakter nummerering moduler -TemplatePDFContracts=Contracts documents models +TemplatePDFContracts=Dokumentmaler for kontrakter FreeLegalTextOnContracts=Fritekst på kontrakter -WatermarkOnDraftContractCards=Watermark on draft contracts (none if empty) +WatermarkOnDraftContractCards=Vannmerke på kontraktkladder (ingen hvis tom) ##### Members ##### MembersSetup=Innstillnger for medlemsmodul MemberMainOptions=Hovedinstillinger @@ -1282,15 +1286,15 @@ LDAPTestSynchroContact=Test contact's synchronization LDAPTestSynchroUser=Test user's synchronization LDAPTestSynchroGroup=Test group's synchronization LDAPTestSynchroMember=Test member's synchronization -LDAPTestSearch= Test a LDAP search +LDAPTestSearch= Test et LDAP søk LDAPSynchroOK=Synchronization test successful LDAPSynchroKO=Failed synchronization test LDAPSynchroKOMayBePermissions=Failed synchronization test. Check that connexion to server is correctly configured and allows LDAP udpates LDAPTCPConnectOK=TCP connect to LDAP server successful (Server=%s, Port=%s) LDAPTCPConnectKO=TCP connect to LDAP server failed (Server=%s, Port=%s) -LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) +LDAPBindOK=Tilkobling/Autentisering til LDAP server var vellykket (Server=%s, Port=%s, Admin=%s, Passord=%s) LDAPBindKO=Connect/Authentificate to LDAP server failed (Server=%s, Port=%s, Admin=%s, Password=%s) -LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindSuccessfull=Vellykket frakobling LDAPUnbindFailed=Disconnect failed LDAPConnectToDNSuccessfull=Connection au DN (%s) rᅵussie LDAPConnectToDNFailed=Connection au DN (%s) ᅵchouᅵe @@ -1336,8 +1340,8 @@ LDAPFieldCountry=Country LDAPFieldCountryExample=Example : c LDAPFieldDescription=Description LDAPFieldDescriptionExample=Example : description -LDAPFieldNotePublic=Public Note -LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldNotePublic=Offentlig notat +LDAPFieldNotePublicExample=Eksempel:offentlig notat LDAPFieldGroupMembers= Gruppemedlemmer LDAPFieldGroupMembersExample= Eksempel: uniqueMember LDAPFieldBirthdate=Birthdate @@ -1348,8 +1352,8 @@ LDAPFieldSid=SID LDAPFieldSidExample=Example : objectsid LDAPFieldEndLastSubscription=Date of subscription end LDAPFieldTitle=Stilling -LDAPFieldTitleExample=Example: title -LDAPParametersAreStillHardCoded=LDAP parameters are still hardcoded (in contact class) +LDAPFieldTitleExample=Eksempel: tittel +LDAPParametersAreStillHardCoded=LDAP parametrene er fortsatt hardkodet(i klassen contact) 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. @@ -1358,24 +1362,24 @@ LDAPDescGroups=This page allows you to define LDAP attributes name in LDAP tree LDAPDescMembers=This page allows you to define LDAP attributes name in LDAP tree for each data found on Dolibarr members module. LDAPDescValues=Example values are designed for OpenLDAP with following loaded schemas: core.schema, cosine.schema, inetorgperson.schema). If you use thoose values and OpenLDAP, modify your LDAP config file slapd.conf to have all thoose schemas loaded. ForANonAnonymousAccess=For an authenticated acces (for a write access for example) -PerfDolibarr=Performance setup/optimizing report -YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. -NotInstalled=Not installed, so your server is not slow down by this. -ApplicativeCache=Applicative cache +PerfDolibarr=Ytelse oppsett/optimaliseringsrapport +YouMayFindPerfAdviceHere=På denne siden vil du finne noen sjekkpunkt og råd relatert til ytelse +NotInstalled=Ikke installert, så serveren taper ikke ytelse pga. denne. +ApplicativeCache=Applikasjons-cache MemcachedNotAvailable=No applicative cache found. You can enhance performance by installing a cache server Memcached and a module able to use this cache server.
More information here http://wiki.dolibarr.org/index.php/Module_MemCached_EN.
Note that a lot of web hosting provider does not provide such cache server. MemcachedModuleAvailableButNotSetup=Module memcached for applicative cache found but setup of module is not complete. MemcachedAvailableAndSetup=Module memcached dedicated to use memcached server is enabled. OPCodeCache=OPCode cache NoOPCodeCacheFound=No OPCode cache found. May be you use another OPCode cache than XCache or eAccelerator (good), may be you don't have OPCode cache (very bad). -HTTPCacheStaticResources=HTTP cache for static resources (css, img, javascript) -FilesOfTypeCached=Files of type %s are cached by HTTP server -FilesOfTypeNotCached=Files of type %s are not cached by HTTP server -FilesOfTypeCompressed=Files of type %s are compressed by HTTP server -FilesOfTypeNotCompressed=Files of type %s are not compressed by HTTP server -CacheByServer=Cache by server -CacheByClient=Cache by browser -CompressionOfResources=Compression of HTTP responses -TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers +HTTPCacheStaticResources=HTTP cache for statiske ressurser (css, img, javascript) +FilesOfTypeCached=Filtypene %s er cachet av HTTP-server +FilesOfTypeNotCached=Filtypene %s er ikke cachet av HTTP-server +FilesOfTypeCompressed=Filtypene %s er undertrykket av HTTP-server +FilesOfTypeNotCompressed=Filtypene %s er ikke undertrykket av HTTP-server +CacheByServer=Server-cache +CacheByClient=Nettleser-cache +CompressionOfResources=Undertrykkelse av HTTP-respons +TestNotPossibleWithCurrentBrowsers=En slik automatisk deteksjon er ikke mulig med nåværende nettlesere ##### Products ##### ProductSetup=Innstillinger for produktmodul ServiceSetup=Tjenester modul oppsett @@ -1384,14 +1388,16 @@ NumberOfProductShowInSelect=Maksantall produkter i utvalgslister (0=ingen grense ConfirmDeleteProductLineAbility=Bekreftelse kreves for fjerning av en produktlinje ModifyProductDescAbility=Personalization of descriptions produced in the forms ViewProductDescInFormAbility=Visualization of product descriptions in the forms (otherwise as popup tooltip) +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=Visualisering av produkter beskrivelser i thirdparty språk UseSearchToSelectProductTooltip=Hvis du har mange produkter (>100 000), kan du øke hastigeten ved å sette konstanten PRODUCT_DONOTSEARCH_ANYWHERE til 1 i Oppsett->Annet. Søket vil da begrenses til starten av søkestrengen -UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). +UseSearchToSelectProduct=Bruk et søkeskjema for å velge produkt (i stedet for en nedtrekksliste) UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties -ProductCodeChecker= Module for product code generation and checking (product or service) -ProductOtherConf= Product / Service configuration +UseUnits=Støtter enheter +ProductCodeChecker= Modul for produktkode-generering og kontroll (produkt eller tjeneste) +ProductOtherConf= Oppsett av Produkter/Tjenester ##### Syslog ##### SyslogSetup=Syslog module setup SyslogOutput=Log output @@ -1402,7 +1408,7 @@ SyslogSimpleFile=File SyslogFilename=File name and path YouCanUseDOL_DATA_ROOT=Du kan bruke DOL_DATA_ROOT / dolibarr.log for en loggfil i Dolibarr "dokumenter"-katalogen. Du kan angi en annen vei til å lagre denne filen. ErrorUnknownSyslogConstant=Constant %s is not a known syslog constant -OnlyWindowsLOG_USER=Windows only supports LOG_USER +OnlyWindowsLOG_USER=Windows støtter bare LOG_USER ##### Donations ##### DonationsSetup=Donation module setup DonationsReceiptModel=Mal for donasjonen kvittering @@ -1420,25 +1426,27 @@ BarcodeDescUPC=Barcode of type UPC BarcodeDescISBN=Barcode of type ISBN BarcodeDescC39=Barcode of type C39 BarcodeDescC128=Barcode of type C128 -GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types). Must be compatible with "genbarcode".
For example: /usr/local/bin/genbarcode -BarcodeInternalEngine=Internal engine -BarCodeNumberManager=Manager to auto define barcode numbers +BarcodeDescDATAMATRIX=Strekkodetype Datamatrix +BarcodeDescQRCODE=Strekkodetype QR-kode +GenbarcodeLocation=Kommandolinje-verktøy for strekkodegenerering (brukt av programmet for noen typer strekkode). Må være kompatibel med "genbarcode".
For eksempel: /usr/local/bin/genbarcode +BarcodeInternalEngine=Intern motor +BarCodeNumberManager=Verktøy for å auto-definere strekkodenumre ##### Prelevements ##### WithdrawalsSetup=Withdrawal module setup ##### ExternalRSS ##### ExternalRSSSetup=External RSS imports setup NewRSS=New RSS Feed RSSUrl=RSS URL -RSSUrlExample=An interesting RSS feed +RSSUrlExample=En interessant RSS-feed ##### Mailing ##### MailingSetup=EMailing module setup MailingEMailFrom=Sender EMail (From) for emails sent by emailing module MailingEMailError=Tilbake e-post (Feil-til) for e-post med feil MailingDelay=Seconds to wait after sending next message ##### Notification ##### -NotificationSetup=EMail notification module setup +NotificationSetup=Oppset av e-postvarsling-modulen NotificationEMailFrom=Sender EMail (From) for emails sent for notifications -ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +ListOfAvailableNotifications=Liste over hendelser du kan sette varsling på, for hver tredjepart (gå inn på tredjeparts-kortet for å sette opp), eller ved å sette en fast e-post (Liste avhenger av aktiverte moduler) FixedEmailTarget=Fixed email target ##### Sendings ##### SendingsSetup=Sending module setup @@ -1446,7 +1454,7 @@ SendingsReceiptModel=Sending receipt model SendingsNumberingModules=Sendings nummerering moduler SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=In most cases, sendings receipts are used both as sheets for customer deliveries (list of products to send) and sheets that is recevied and signed by customer. So product deliveries receipts is a duplicated feature and is rarely activated. -FreeLegalTextOnShippings=Free text on shipments +FreeLegalTextOnShippings=Fritekst på leveringer ##### Deliveries ##### DeliveryOrderNumberingModules=Products deliveries receipt numbering module DeliveryOrderModel=Products deliveries receipt model @@ -1459,16 +1467,16 @@ FCKeditorForCompany=WYSIWIG creation/edition of companies' description and note FCKeditorForProduct=WYSIWIG creation/edition of products/services' description and note FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. FCKeditorForMailing= WYSIWIG creation/edition of mailings -FCKeditorForUserSignature=WYSIWIG creation/edition of user signature -FCKeditorForMail=WYSIWIG creation/edition for all mail (except Outils->eMailing) +FCKeditorForUserSignature=WYSIWIG-opprettelse av signatur +FCKeditorForMail=Bruk WYSIWIG ved opprettelse/endring av all e-post (med unntak av Outils->eMailing) ##### OSCommerce 1 ##### OSCommerceErrorConnectOkButWrongDatabase=Connection succeeded but database doesn't look to be an OSCommerce database (Key %s not found in table %s). OSCommerceTestOk=Connection to server '%s' on database '%s' with user '%s' successfull. OSCommerceTestKo1=Connection to server '%s' succeed but database '%s' could not be reached. OSCommerceTestKo2=Connection to server '%s' with user '%s' failed. ##### Stock ##### -StockSetup=Warehouse module setup -UserWarehouse=Use user personal warehouses +StockSetup=Oppsett av varehus-modulen +UserWarehouse=Benytt bruker-valgte varehus IfYouUsePointOfSaleCheckModule=If you use a Point of Sale module (POS module provided by default or another external module), this setup may be ignored by your Point Of Sale module. Most point of sales modules are designed to create immediatly an invoice and decrease stock by default whatever are options here. So, if you need or not to have a stock decrease when registering a sell from your Point Of Sale, check also your POS module set up. ##### Menu ##### MenuDeleted=Menyen er slettet @@ -1504,11 +1512,11 @@ ConfirmDeleteLine=Are you sure you want to delete this line ? ##### Tax ##### TaxSetup=Instillinger for avgifter og dividender OptionVatMode=Alternativ på grunn av MVA -OptionVATDefault=Cash basis -OptionVATDebitOption=Accrual basis +OptionVATDefault=Kontant-base +OptionVATDebitOption=Periodisering OptionVatDefaultDesc=Mva skal beregnes:
- ved levering av produkter
- ved levering av tjenester OptionVatDebitOptionDesc=MVA skal beregnes: :
- ved levering av produkter
- ved fakturering av tjenester -SummaryOfVatExigibilityUsedByDefault=Time of VAT exigibility by default according to chosen option: +SummaryOfVatExigibilityUsedByDefault=Tidspunkt for MVA-innbetaling som standard i henhold til valgt alternativ: OnDelivery=Ved levering OnPayment=På betaling OnInvoice=På faktura @@ -1519,8 +1527,8 @@ Sell=Selg InvoiceDateUsed=Fakturadatoen brukes YourCompanyDoesNotUseVAT=Firmaet ditt har blitt definert for å ikke bruke moms (Home - Setup - Firma / Foundation), så det er ingen moms alternativer for oppsett. AccountancyCode=Regnskap Kode -AccountancyCodeSell=Sale account. code -AccountancyCodeBuy=Purchase account. code +AccountancyCodeSell=Kontokode for salg +AccountancyCodeBuy=Kontokode for innkjøp ##### Agenda ##### AgendaSetup=Instillinger for modulen hendelser og agenda PasswordTogetVCalExport=Nøkkel for å autorisere eksportlenke @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modul oppsett WebServicesDesc=Ved å aktivere denne modulen, Dolibarr bli en webtjeneste serveren kan tilby diverse web-tjenester. WSDLCanBeDownloadedHere=WSDL beskrivelse fil forutsatt serviceses kan laste ned her EndPointIs=SOAP klienter må sende sine forespørsler til Dolibarr endepunktet tilgjengelig på URL +##### API #### +ApiSetup=Oppsett av API-modul +ApiDesc=Ved å aktivere denne modulen, blir Dolibarr en REST-server for diverse web-tjenester +KeyForApiAccess=Nøkkel for å bruke API (parameter "api_key") +ApiEndPointIs=Url for adgang til API +ApiExporerIs=Url for å utforske API +OnlyActiveElementsAreExposed=Bare elementer fra aktiverte moduler er vist ##### Bank ##### BankSetupModule=Bank modul oppsett FreeLegalTextOnChequeReceipts=Fritekst på å finne kvitteringer @@ -1566,7 +1581,7 @@ MultiCompanySetup=Multi-selskap modulen setup SuppliersSetup=Leverandør modulen oppsett SuppliersCommandModel=Komplett mal av leverandør rekkefølge (logo. ..) SuppliersInvoiceModel=Komplett mal av leverandør faktura (logo. ..) -SuppliersInvoiceNumberingModel=Supplier invoices numbering models +SuppliersInvoiceNumberingModel=Nummereringsmodel for leverandørfakturaer IfSetToYesDontForgetPermission=If set to yes, don't forget to provide permissions to groups or users allowed for the second approval ##### GeoIPMaxmind ##### GeoIPMaxmindSetup=GeoIP Maxmind modul-oppsett @@ -1580,10 +1595,10 @@ ProjectsNumberingModules=Prosjekter nummerering modulen ProjectsSetup=Prosjekt modul oppsett ProjectsModelModule=Prosjektets rapport dokument modellen TasksNumberingModules=Modul for oppgavenummerering -TaskModelModule=Tasks reports document model +TaskModelModule=Dokumentmal for oppgaverapporter ##### ECM (GED) ##### -ECMSetup = GED Setup -ECMAutoTree = Automatic tree folder and document +ECMSetup = GED oppsett +ECMAutoTree = Automatisk mappetre og dokument ##### Fiscal Year ##### FiscalYears=Regnskapsår FiscalYear=Regnskapsår @@ -1594,31 +1609,34 @@ OpenFiscalYear=Åpne regnskapsår CloseFiscalYear=Lukk regnskapsår DeleteFiscalYear=Slett regnskapsår ConfirmDeleteFiscalYear=Er du sikker på at du vil slette dette regnskapsåret? -Opened=Åpnet +Opened=Åpne Closed=Lukket -AlwaysEditable=Can always be edited +AlwaysEditable=Kan alltid endres 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 +NbMajMin=Minste antall store bokstaver +NbNumMin=Minste antall numeriske tegn +NbSpeMin=Minste antall spesial-tegn +NbIteConsecutive=Maksimalt antall repeterte tegn NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order +SalariesSetup=Oppsett av lønnsmodulen +SortOrder=Sorteringsrekkefølge Format=Format -TypePaymentDesc=0:Customer payment type, 1:Supplier payment type, 2:Both customers and suppliers payment type +TypePaymentDesc=0:Kundebetaling, 1:Leverandørbetaling, 2:Både kunde- og leverandørbetaling IncludePath=Include path (defined into variable %s) -ExpenseReportsSetup=Setup of module Expense Reports +ExpenseReportsSetup=Oppsett av utgiftsrapport-modulen TemplatePDFExpenseReports=Document templates to generate expense report document NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. 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". -ListOfNotificationsPerContact=List of notifications per contact* -ListOfFixedNotifications=List of fixed notifications +YouMayFindNotificationsFeaturesIntoModuleNotification=Du kan finne alternativer for e-postmeldinger ved å aktivere og konfigurere modulen "Varslingen". +ListOfNotificationsPerContact=Liste over varslinger per kontakt * +ListOfFixedNotifications=Liste over faste varslinger GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses -Threshold=Threshold +Threshold=Terskel BackupDumpWizard=Wizard to build database backup dump file 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 only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Fremhev tabellinjer når musen flyttes over +PressF5AfterChangingThis=Trykk F5 etter å ha endret denne verdien for at endringene skal tre i kraft +NotSupportedByAllThemes=Vil virke med Eldy-temaet men er ikke støttet av av alle temaer diff --git a/htdocs/langs/nb_NO/banks.lang b/htdocs/langs/nb_NO/banks.lang index ff4fb1bc722..3610d249b27 100644 --- a/htdocs/langs/nb_NO/banks.lang +++ b/htdocs/langs/nb_NO/banks.lang @@ -33,11 +33,11 @@ AllTime=Fra start Reconciliation=Bankavstemming RIB=Bankkontonummer IBAN=IBAN-nummer -IbanValid=IBAN is Valid -IbanNotValid=IBAN is Not Valid +IbanValid=IBAN er gyldig +IbanNotValid=IBAN er ikke gyldig BIC=BIC/SWIFT-nummer -SwiftValid=BIC/SWIFT is Valid -SwiftNotValid=BIC/SWIFT is Not Valid +SwiftValid=BIC/SWIFT er gyldig +SwiftNotValid=BIC/SWIFT er ikke gyldig StandingOrders=Åpne ordre StandingOrder=Åpne ordre Withdrawals=Uttak @@ -49,7 +49,7 @@ LastAccountStatements=Kontoutdrag Rapprochement=Avstemming IOMonthlyReporting=Månedlig rapportering BankAccountDomiciliation=Kontoadresse -BankAccountCountry=Konto landet +BankAccountCountry=Konto land BankAccountOwner=Kontoeier BankAccountOwnerAddress=Kontoeiers adresse RIBControlError=Integritetssjekk feilet. Dette betyr at informasjon om denne kontoen er ufullstendig eller feil (sjekk land, nummer og IBAN). @@ -80,28 +80,28 @@ ByCategories=Etter kategorier ByRubriques=Etter kategorier BankTransactionByCategories=Transaksjoner etter kategorier BankTransactionForCategory=Transaksjoner i kategorien %s -RemoveFromRubrique=Fjern lenke med kategorier +RemoveFromRubrique=Fjern lenke med kategori RemoveFromRubriqueConfirm=Er du sikker på at du vil fjerne lenken mellom transaksjonen og kategorien? ListBankTransactions=Oversikt over transaksjoner IdTransaction=Transaksjons-ID BankTransactions=Banktransaksjoner SearchTransaction=Søk i transaksjoner -ListTransactions=Liste transaksjoner -ListTransactionsByCategory=Liste transaksjon / kategori +ListTransactions=List over transaksjoner +ListTransactionsByCategory=Liste over transaksjoner/kategorier TransactionsToConciliate=Transaksjon du vil stemme av -Conciliable=Avstemmingsbar -Conciliate=Avstemm +Conciliable=Kan avstemmes +Conciliate=Avstem Conciliation=Avstemming -ConciliationForAccount=Avstemm denne kontoen +ConciliationForAccount=Avstem denne kontoen IncludeClosedAccount=Ta med lukkede konti -OnlyOpenedAccount=Bare åpne konti +OnlyOpenedAccount=Kun åpne konti AccountToCredit=Konto å kreditere AccountToDebit=Konto å debitere DisableConciliation=Slå av avstemmingsfunksjon for denne kontoen ConciliationDisabled=Avstemmingsfunksjon slått av -StatusAccountOpened=Åpnet -StatusAccountClosed=Luket -AccountIdShort=Numer +StatusAccountOpened=Åpne +StatusAccountClosed=Lukket +AccountIdShort=Nummer EditBankRecord=Rediger post LineRecord=Transaksjon AddBankRecord=Legg til transaksjon @@ -110,10 +110,10 @@ ConciliatedBy=Avstemt av DateConciliating=Avstemt den BankLineConciliated=Transaksjonen er avstemt CustomerInvoicePayment=Kundeinnbetaling -CustomerInvoicePaymentBack=Customer payment back -SupplierInvoicePayment=Leverandøutbetaling -WithdrawalPayment=Tilbaketrekking betaling -SocialContributionPayment=Social contribution betaling (ikke i Norge) +CustomerInvoicePaymentBack=Innbetaling fra kunde +SupplierInvoicePayment=Leverandøbetaling +WithdrawalPayment=Uttaksbetaling +SocialContributionPayment=Social contribution payment (ikke i Norge) FinancialAccountJournal=Utskrift hovedbok BankTransfer=Bankoverføring BankTransfers=Bankoverføringer @@ -128,8 +128,8 @@ DeleteCheckReceipt=Slett denne sjekkbetalingen? ConfirmDeleteCheckReceipt=Er du sikker på at du vil slette denne sjekkbetalingen? BankChecks=Banksjekker BankChecksToReceipt=Sjekker som venter på å bli satt inn -ShowCheckReceipt=Vis sjekk innskudd kvittering -NumberOfCheques=Ant. sjekker +ShowCheckReceipt=Vis sjekkinnskuddskvittering +NumberOfCheques=Antall sjekker DeleteTransaction=Slett transaksjon ConfirmDeleteTransaction=Er du sikker på at du vil slette transaksjonen? ThisWillAlsoDeleteBankRecord=Dette vil også slette genererte banktransaksjoner @@ -138,7 +138,7 @@ CashBudget=Likviditetsbudsjett PlannedTransactions=Planlagte transaksjoner Graph=Grafikk ExportDataset_banque_1=Banktransaksjoner og kontoutdrag -ExportDataset_banque_2=Deposit slip +ExportDataset_banque_2=Kvittering TransactionOnTheOtherAccount=Transaksjonen på den andre kontoen TransactionWithOtherAccount=Overført beløp PaymentNumberUpdateSucceeded=Betalingsnummer er oppdatert @@ -147,15 +147,15 @@ PaymentDateUpdateSucceeded=Betalingsdato oppdatert PaymentDateUpdateFailed=Klarte ikke å oppdatere betalingsdatoen Transactions=Transaksjoner BankTransactionLine=Bankoverføring -AllAccounts=Alle bank / cash kontoer +AllAccounts=Alle bank/kontant-kontoer BackToAccount=Tilbake til kontoen ShowAllAccounts=Vis for alle kontoer -FutureTransaction=Transaksjon i Futur. Ingen måte å forsone. -SelectChequeTransactionAndGenerate=Velg / filter sjekker for å inkludere inn sjekken innskudd kvitteringen og klikk på "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 conciliate? -ThenCheckLinesAndConciliate=Then, check the lines present in the bank statement and click +FutureTransaction=Fremtidig transaksjon. Ingen måte å avstemme. +SelectChequeTransactionAndGenerate=Velg/filter sjekker for å inkludere sjekkinnskuddskvitteringen og klikk på "Create". +InputReceiptNumber=Velg kontoutskriften som hører til avstemmingen. Bruke en sorterbar numerisk verdi: YYYYMM eller YYYYMMDD +EventualyAddCategory=Til slutt, velg en kategori for å klassifisere postene +ToConciliate=Avstem? +ThenCheckLinesAndConciliate=Sjekk linjene i kontoutskriften og klikk BankDashboard=Bankkonti sammendrag DefaultRIB=Standard BAN AllRIB=Alle BAN @@ -163,5 +163,5 @@ LabelRIB=BAN Etikett NoBANRecord=Ingen BAN kort DeleteARib=BAN-kort slettet ConfirmDeleteRib=Er du sikker på at du vil slette dette BAN-kortet? -StartDate=Start date -EndDate=End date +StartDate=Startdato +EndDate=Sluttdato diff --git a/htdocs/langs/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index 75101db467e..10750677442 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -1,34 +1,34 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturaer -BillsCustomers=Kundens fakturaer +BillsCustomers=Kundefakturaer BillsCustomer=Kundens faktura BillsSuppliers=Leverandørens fakturaer BillsCustomersUnpaid=Ubetalte kundefakturaer BillsCustomersUnpaidForCompany=Ubetalte kundefakturaer for %s BillsSuppliersUnpaid=Ubetalte leverandørfakturaer -BillsSuppliersUnpaidForCompany=Ubetalt leverandørens fakturaer for %s +BillsSuppliersUnpaidForCompany=Ubetalte leverandørfakturaer for %s BillsLate=Sene betalinger -BillsStatistics=Kundens fakturastatistikk -BillsStatisticsSuppliers=Leverandørens fakturastatistikk -DisabledBecauseNotErasable=Deaktivert fordi kan ikke slettes +BillsStatistics=Kunde fakturastatistikker +BillsStatisticsSuppliers=Leverandør fakturastatistikker +DisabledBecauseNotErasable=Deaktivert fordi den ikke kan slettes InvoiceStandard=Standardfaktura InvoiceStandardAsk=Standardfaktura InvoiceStandardDesc=Denne fakturatypen er den vanligste fakturaen. -InvoiceDeposit=Faktura -InvoiceDepositAsk=Innskudd faktura -InvoiceDepositDesc=Denne typen faktura gjøres når et innskudd har blitt mottatt. +InvoiceDeposit=Innskuddsfaktura +InvoiceDepositAsk=Innskuddsfaktura +InvoiceDepositDesc=Denne typen faktura lages når et innskudd har blitt mottatt. InvoiceProForma=Proforma faktura InvoiceProFormaAsk=Proforma faktura -InvoiceProFormaDesc=Proforma faktura er et bilde av en ekte faktura, men har ingen regnskapsføring verdi. +InvoiceProFormaDesc=Proforma faktura er et bilde av en ekte faktura, men har ingen verdi i regnskapsføring. InvoiceReplacement=Erstatningsfaktura. Må erstatte faktura med referanse InvoiceReplacementAsk=Erstatningsfaktura for faktura -InvoiceReplacementDesc=Erstatningsfaktura brukes til å avbryte og erstatte en faktura uten at betaling allerede er mottatt.

Merk: Bare faktura uten innbetaling kan erstattes. Hvis ikke faktura er stengt, vil den bli automatisk satt til 'forlatt'. +InvoiceReplacementDesc=Erstatningsfaktura brukes til å avbryte og erstatte en faktura uten at betaling allerede er mottatt.

Merk: Bare faktura uten innbetaling kan erstattes. Hvis ikke faktura er lukket, vil den bli automatisk satt til 'forlatt'. InvoiceAvoir=Kreditnota -InvoiceAvoirAsk=Kreditnota for å korriger fektura +InvoiceAvoirAsk=Kreditnota for å korrigere faktura InvoiceAvoirDesc=En kreditnota er en negativ faktura som brukes for å løse situasjoner hvor en faktura har et annet beløp enn det som virkelig er betalt (fordi kunden har betalt for lite ved en feil, eller for eksempel ikke ønsker å betale alt fordi han har returnert noen varer.).

Obs!: Originalfakturaen må allerede være lukket ('betalt' eller 'delbetalt') for at du skal kunne opprette en kreditnota mot den. invoiceAvoirWithLines=Opprett kreditnota med opprinnelige fakturalinjer -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice +invoiceAvoirWithPaymentRestAmount=Lag kreditnota pålydende restbeløp fra faktura invoiceAvoirLineWithPaymentRestAmount=Kreditnota for restbeløp ReplaceInvoice=Erstatt faktura %s ReplacementInvoice=Erstatningsfaktura @@ -55,14 +55,14 @@ SuppliersInvoices=Leverandørfakturaer SupplierBill=Leverandørfaktura SupplierBills=Leverandørfakturaer Payment=Betaling -PaymentBack=Betaling tilbake +PaymentBack=Tilbakebetaling Payments=Betalinger -PaymentsBack=Betalinger tilbake +PaymentsBack=Tilbakebetaling PaidBack=Tilbakebetalt DatePayment=Betalingsdato DeletePayment=Slett betaling ConfirmDeletePayment=Er du sikker på at du vil slette denne betalingen? -ConfirmConvertToReduc=Ønsker du å konvertere denne kreditnotaen til absolutt rabatt?
Beløpet på denne kreditnotaen vil da bli lagret bland alle rabatter, og kan brukes som rabatt for en eksisterende eller framtidig faktura til denne kunden. +ConfirmConvertToReduc=Ønsker du å konvertere denne kreditnotaen til absolutt rabatt?
Beløpet på denne kreditnotaen vil da bli lagret blant alle rabatter, og kan brukes som rabatt for en eksisterende eller framtidig faktura til denne kunden. SupplierPayments=Leverandørbetalinger ReceivedPayments=Mottatte betalinger ReceivedCustomersPayments=Betalinger mottatt fra kunder @@ -80,16 +80,16 @@ PaymentConditionsShort=Betalingsbetingelser PaymentAmount=Beløp til betaling ValidatePayment=Godkjenn betaling PaymentHigherThanReminderToPay=Betalingen er høyere enn restbeløp -HelpPaymentHigherThanReminderToPay=Oppmerksomhet, er betalingen mengden av en eller flere regninger høyere enn resten til å betale.
Endre din oppføring, ellers bekrefte og tenke på å lage en kreditnota av det overskytende mottatt for hver overbetalte fakturaer. -HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. +HelpPaymentHigherThanReminderToPay=NB! Innbetalingen av en eller flere fakturaer er høyere enn restbeløpet.
Endre oppføringen eller bekreft for å lage kreditnota av det overskytende for overbetalte fakturaer. +HelpPaymentHigherThanReminderToPaySupplier=NB! Innbetalingsbeløpet fra en eller flere fakturaer er høyere enn restbeløpet.
Korriger innbetaling, eller aksepter den ClassifyPaid=Merk 'Betalt' ClassifyPaidPartially=Merk 'Delbetalt' ClassifyCanceled=Merk 'Tapsført' ClassifyClosed=Merk 'Lukket' -ClassifyUnBilled=Classify 'Unbilled' +ClassifyUnBilled=Klassifiser 'ufakturert' CreateBill=Lag faktura AddBill=Legg til faktura eller kreditnota -AddToDraftInvoices=Add to draft invoice +AddToDraftInvoices=Legg til i fakturamal DeleteBill=Slett faktura SearchACustomerInvoice=Finn kundefaktura SearchASupplierInvoice=Finn leverandørfaktura @@ -125,15 +125,15 @@ BillShortStatusNotPaid=Utbetalt BillShortStatusClosedUnpaid=Lukket BillShortStatusClosedPaidPartially=Delbetalt PaymentStatusToValidShort=Til godkjenning -ErrorVATIntraNotConfigured=Intracommunautary VAT-nummer er ikke definert +ErrorVATIntraNotConfigured=Internt MVA-nummer er ikke definert ErrorNoPaiementModeConfigured=Det er ingen forhåndsinnstilt betalingsmåte. Gå til Fakturamodul for å rette dette. -ErrorCreateBankAccount=Opprett en bankkonto, deretter går du til Oppsett i Fakturamodil for å angi betalingsmetoder +ErrorCreateBankAccount=Opprett en bankkonto, deretter går du til Oppsett i Fakturamodul for å angi betalingsmetoder ErrorBillNotFound=Faktura %s eksisterer ikke -ErrorInvoiceAlreadyReplaced=Feil: Du prøver å godkjenne en faktura som erstatter faktura %s. Men denne er allerde blitt erstattet av faktura %s. +ErrorInvoiceAlreadyReplaced=Feil: Du prøver å godkjenne en faktura som erstatter faktura %s. Denne er allerede blitt erstattet av faktura %s. ErrorDiscountAlreadyUsed=Feil: Rabatten er allerde blitt benyttet ErrorInvoiceAvoirMustBeNegative=Feil: Korrigeringsfaktura må ha negativt beløp ErrorInvoiceOfThisTypeMustBePositive=Feil: Denne fakturatypen må ha postitivt beløp -ErrorCantCancelIfReplacementInvoiceNotValidated=Feil: Kan ikke kansellere en faktura som er erstattet av en annen faktura som fortsatt er i klademodus +ErrorCantCancelIfReplacementInvoiceNotValidated=Feil: Kan ikke kansellere en faktura som er erstattet av en annen faktura som fortsatt er i kladdemodus BillFrom=Fra BillTo=Fakturamottaker ActionsOnBill=Handlinger på faktura @@ -144,8 +144,8 @@ LastSuppliersBills=Siste %s kundefakturaer AllBills=Alle fakturaer OtherBills=Andre fakturaer DraftBills=Fakturakladder -CustomersDraftInvoices=Kundens fakturakladder -SuppliersDraftInvoices=Leverandørene fakturakladder +CustomersDraftInvoices=Kunde fakturakladder +SuppliersDraftInvoices=Leverandør fakturakladder Unpaid=Ubetalt ConfirmDeleteBill=Er du sikker på at du vil slette denne fakturaen? ConfirmValidateBill=Er du sikker på at du vil godkjenne denne fakturaen med referansen %s ? @@ -170,35 +170,35 @@ ConfirmClassifyPaidPartiallyReasonOtherDesc=Bruk dette valget hvis ingen av de a ConfirmClassifyAbandonReasonOther=Annen ConfirmClassifyAbandonReasonOtherDesc=Dette valger brukes i alle andre tilfeller. For eksempel fordi du vil lage en erstatningsfaktura. ConfirmCustomerPayment=Vil du bekrefte at denne betalingen gjelder %s %s ? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? +ConfirmSupplierPayment=Aksepterer du denne innbetalingen for %s %s ? ConfirmValidatePayment=Er du sikker på at du vil godkjenne betalingen? Du kan ikke endre dette senere. ValidateBill=Godkjenn fakturaer -UnvalidateBill=Unvalidate faktura +UnvalidateBill=Fjern validering på faktura NumberOfBills=Ant. fakturaer -NumberOfBillsByMonth=Nb av fakturaer etter måned +NumberOfBillsByMonth=Antall fakturaer pr. måned AmountOfBills=Totalbeløp fakturaer -AmountOfBillsByMonthHT=Mengde fakturaer per måned (netto etter skatt) -ShowSocialContribution=Vis social contribution +AmountOfBillsByMonthHT=Sum fakturaer pr. mnd (eks. MVA) +ShowSocialContribution=Vis sosiale bidrag ShowBill=Vis faktura ShowInvoice=Vis faktura ShowInvoiceReplace=Vis erstatningsfaktura ShowInvoiceAvoir=Vis kreditnota -ShowInvoiceDeposit=Vis depositum faktura +ShowInvoiceDeposit=Vis innskuddsfaktura ShowPayment=Vis betaling File=Fil AlreadyPaid=Allerede betalt AlreadyPaidBack=Allerede tilbakebetalt -AlreadyPaidNoCreditNotesNoDeposits=Allerede betalt (uten kreditt notater og innskudd) +AlreadyPaidNoCreditNotesNoDeposits=Allerede betalt (uten kreditnotater og innskudd) Abandoned=Tapsført RemainderToPay=Restbeløp RemainderToTake=Restbeløp -RemainderToPayBack=Resterende beløp å betale: -Rest=Ventende +RemainderToPayBack=Restbeløp +Rest=Venter AmountExpected=Beløp purret ExcessReceived=Overskytende EscompteOffered=Rabatt innrømmet (betalt før forfall) SendBillRef=Innsendelse av faktura %s -SendReminderBillRef=Submission of invoice %s (reminder) +SendReminderBillRef=Innsendelse av faktura %s (påminnelse) StandingOrders=Utestående ordre StandingOrder=Utestående ordre NoDraftBills=Ingen fakturakladder @@ -218,8 +218,8 @@ NoInvoice=Ingen faktura ClassifyBill=Klassifiser faktura SupplierBillsToPay=Leverandørfakturaer til betaling CustomerBillsUnpaid=Ubetalte kundefakturaer -DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters -NonPercuRecuperable=Non-recoverable +DispenseMontantLettres=Maskinleste fakturaer er sortert i alfabetisk rekkefølge +NonPercuRecuperable=Kan ikke dekkes inn SetConditions=Angi betalingsbetingelser SetMode=Angi betalingsmodus Billed=Fakturert @@ -234,7 +234,7 @@ CustomersInvoicesAndInvoiceLines=Kundefakturaer og fakturalinjer CustomersInvoicesAndPayments=Kundefakturaer og betalinger ExportDataset_invoice_1=Oversikt over kundefakturaer og fakturalinjer ExportDataset_invoice_2=Kundefakturaer og betalinger -ProformaBill=Pro forma faktura +ProformaBill=Proforma faktura Reduction=Reduksjon ReductionShort=Red. Reductions=Reduksjoner @@ -246,8 +246,8 @@ AddRelativeDiscount=Lag relativ rabatt EditRelativeDiscount=Endre relativ rabatt AddGlobalDiscount=Legg til rabatt EditGlobalDiscounts=Rediger absolutte rabatter -AddCreditNote=Lag kreditt notat -ShowDiscount=Vis rebatt +AddCreditNote=Lag kreditnota +ShowDiscount=Vis rabatt ShowReduc=Vis fradraget RelativeDiscount=Relativ rabatt GlobalDiscount=Global rabatt @@ -256,9 +256,9 @@ CreditNotes=Kreditnotaer Deposit=Innskudd Deposits=Innskudd DiscountFromCreditNote=Rabatt fra kreditnota %s -DiscountFromDeposit=Betalinger fra forekomst faktura %s -AbsoluteDiscountUse=Denne typen kreditt kan brukes på faktura før godkjenningen sin -CreditNoteDepositUse=Faktura må godkjennes for å bruke denne kongen av studiepoeng +DiscountFromDeposit=Betalinger fra innskuddsfaktura %s +AbsoluteDiscountUse=Denne typen kreditt kan brukes på faktura før den godkjennes +CreditNoteDepositUse=Faktura må godkjennes for å bruke denne typen kreditt NewGlobalDiscount=Ny rabatt NewRelativeDiscount=Nye relative rabatt NoteReason=Notat/Årsak @@ -267,12 +267,12 @@ DiscountOfferedBy=Innrømmet av DiscountStillRemaining=Gjenstående rabatt DiscountAlreadyCounted=Rabatt allerede avregnet BillAddress=Fakturaadresse -HelpEscompte=Denne rabatten er innrømmet fordi kunden har betalt før forfall. -HelpAbandonBadCustomer=Dette beløpet er tapsført (dårlig kunde) og betraktes som eksepsjonelt tap. +HelpEscompte=Denne rabatten er gitt fordi kunden betalte før forfall. +HelpAbandonBadCustomer=Dette beløpet er tapsført (dårlig kunde) og betraktes som tap. HelpAbandonOther=Dette beløpet er tapsført på grunn av feil. (For eksempel feil kunde eller faktura er erstattet av en annen) -IdSocialContribution=Sosiale bidrag id -PaymentId=Betaling id -InvoiceId=FakturaID +IdSocialContribution=Sosiale bidrag -ID +PaymentId=Betalings-ID +InvoiceId=Faktura-ID InvoiceRef=Fakturareferanse InvoiceDateCreation=Fakturadato InvoiceStatus=Fakturastatus @@ -280,25 +280,25 @@ InvoiceNote=Falturanotat InvoicePaid=Faktura betalt PaymentNumber=Betalingsnummer RemoveDiscount=Fjern rabatt -WatermarkOnDraftBill=Vannmerke på kladdefakturaer (ingenting hvis tomt) +WatermarkOnDraftBill=Vannmerke på fakturakladder (ingenting hvis tomt) InvoiceNotChecked=Ingen faktura er valgt CloneInvoice=Klon faktura ConfirmCloneInvoice=Er du sikker på at du vil klone denne fakturaen? DisabledBecauseReplacedInvoice=Handling slått av fordi fakturaen er blitt erstattet -DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here. -NbOfPayments=Nb av betalinger -SplitDiscount=Split rabatt i to +DescTaxAndDividendsArea=Dette området viser summen av alle betalinger til spesielle utgifter. Kun poster fra dette regnskapsåret er tatt med her. +NbOfPayments=Antall betalinger +SplitDiscount=Del rabatt i to ConfirmSplitDiscount=Er du sikker på at du vil dele denne rabatten av %s %s i to lavere rabatter? -TypeAmountOfEachNewDiscount=Inngang beløp for hver av to deler: -TotalOfTwoDiscountMustEqualsOriginal=Totalt to nye rabatt må være lik originale rabattbeløpet. +TypeAmountOfEachNewDiscount=Sett inn beløp for hver av de to delene: +TotalOfTwoDiscountMustEqualsOriginal=Totalen for de to nye rabattene må være lik det originale rabattbeløpet. ConfirmRemoveDiscount=Er du sikker på at du vil fjerne denne rabatten? RelatedBill=Relaterte faktura RelatedBills=Relaterte fakturaer -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related supplier invoices +RelatedCustomerInvoices=Relaterte kundefakturaer +RelatedSupplierInvoices=Relaterte leverandørfakturaer LatestRelatedBill=Siste tilknyttede faktura -WarningBillExist=Warning, one or more invoice already exist -MergingPDFTool=Merging PDF tool +WarningBillExist=Advarsel: en eller flere fakturaer finnes allerede +MergingPDFTool=Verktøy for fletting av PDF # PaymentConditions PaymentConditionShortRECEP=Kontant @@ -334,8 +334,8 @@ PaymentTypeTIP=TIP PaymentTypeShortTIP=TIP PaymentTypeVAD=Nettbank PaymentTypeShortVAD=Nettbank -PaymentTypeTRA=Utbetaling -PaymentTypeShortTRA=Utbetalt +PaymentTypeTRA=Fakturabetaling +PaymentTypeShortTRA=Fakturer BankDetails=Bankopplysninger BankCode=Bank code (ikke i Norge) DeskCode=Desk code (ikke i Norge) @@ -352,12 +352,12 @@ ChequeNumber=Sjekk nummer ChequeOrTransferNumber=Sjekk/overføringsnummer ChequeMaker=Sjekkutsteder ChequeBank=Sjekkutsteders bank -CheckBank=Check +CheckBank=Sjekk NetToBePaid=Netto til betaling PhoneNumber=Tlf FullPhoneNumber=Telefon TeleFax=Fax -PrettyLittleSentence=Vennligst utsted eventuelle sjekker krysset, i vårt firmanavn. +PrettyLittleSentence=Aksepter forfalte beløp godkjent av regnskapsfører. IntracommunityVATNumber=Intracommunity number of VAT (ikke i Norge) PaymentByChequeOrderedTo=Sjekkbetaling til %s send til PaymentByChequeOrderedToShort=Sjekkbetaling til @@ -365,70 +365,70 @@ SendTo=sendt til PaymentByTransferOnThisBankAccount=Vennligst betal til følgende bankkonto VATIsNotUsedForInvoice=* Avgiftsfritt LawApplicationPart1=Alle varer forblir vår eiendom -LawApplicationPart2=intil de er fullt ut betalt. -LawApplicationPart3=Fakturautsteder forbeholder seg salgspant -LawApplicationPart4=i leverte varer inntil de er betalt i sin helhet. +LawApplicationPart2=til de er fullt ut betalt. +LawApplicationPart3=Fakturautsteder har salgspant +LawApplicationPart4=i leverte varer til de er betalt i sin helhet. LimitedLiabilityCompanyCapital=AS med organisajonsnummer UseLine=Legg til UseDiscount=Bruk rabatt -UseCredit=Bruk kredittkort -UseCreditNoteInInvoicePayment=Rediset betaling med denne kreditnotaen +UseCredit=Bruk kreditt +UseCreditNoteInInvoicePayment=Reduser betaling med denne kreditnotaen MenuChequeDeposits=Sjekkinnskudd MenuCheques=Sjekker MenuChequesReceipts=Sjekkvitteringer NewChequeDeposit=Nytt innskudd ChequesReceipts=Sjekkvitteringer -ChequesArea=Sjekkinnskuddsområde -ChequeDeposits=Sjekkinskudd +ChequesArea=Område for sjekkinnskudd +ChequeDeposits=Sjekkinnskudd Cheques=Sjekker CreditNoteConvertedIntoDiscount=Denne kreditnotaen er konvertert til %s UsBillingContactAsIncoiveRecipientIfExist=Bruk kontaktpersonens adresse i stedet for tredjepartens adresse ShowUnpaidAll=Vis alle ubetalte fakturaer -ShowUnpaidLateOnly=Vis sent ubetalte faktura bare +ShowUnpaidLateOnly=Vis kun forfalte fakturaer PaymentInvoiceRef=Betaling faktura %s ValidateInvoice=Valider faktura -Cash=Kontanter +Cash=Kontant Reported=Forsinket DisabledBecausePayments=Ikke mulig siden det er noen betalinger -CantRemovePaymentWithOneInvoicePaid=Kan ikke fjerne betalingen siden det er i alle fall på faktura klassifisert utbetales -ExpectedToPay=Forventet utbetaling -PayedByThisPayment=Betales av denne betalingen +CantRemovePaymentWithOneInvoicePaid=Kan ikke fjerne betalingen siden det er minst en faktura som er klassifisert som betalt +ExpectedToPay=Forventet innbetaling +PayedByThisPayment=Betales av denne innbetalingen ClosePaidInvoicesAutomatically=Klassifiser alle fakturaer (alle typer) som betalt -ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. -AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uten gjenstår å betale vil bli automatisk stengt for status "betales". +ClosePaidCreditNotesAutomatically=Klassifiser alle fakturaer som betalt +AllCompletelyPayedInvoiceWillBeClosed=Alle faktura uten restbeløp vil bli automatisk satt til "betalt". ToMakePayment=Betal ToMakePaymentBack=Tilbakebetal ListOfYourUnpaidInvoices=Liste over ubetalte fakturaer NoteListOfYourUnpaidInvoices=Denne listen inneholder kun fakturaer for tredjeparter du er koblet til som salgsrepresentant. -RevenueStamp=Revenue stamp -YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty +RevenueStamp=Stempelmerke +YouMustCreateInvoiceFromThird=Kun mulig når du lager faktura fra "kunde" i tredjeparter PDFCrabeDescription=Fakturamal Crabe. En komplett mal (Støtter MVA, rabatter, betalingsbetingelser, logo, osv...) -TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 -MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +TerreNumRefModelDesc1=Returnerer nummer med format %syymm-nnnn for standardfaktura og %syymm-nnnn for kreditnota, der yy er året, mm måned og nnnn er et løpenummer som starter på 0+1. +MarsNumRefModelDesc1=Returnerer nummer med format %syymm-nnnn for standardfaktura og %syymm-nnnn for erstatningsfaktura, %syymm-nnnn for kreditnotaer der yy er år, mm er måned og nnnn er et løpenummer som starter på 0+1 %s . TerreNumRefModelError=En faktura som starter med $sååmm finnes allerede og er ikke kompatibel med denne nummereringsmodulen. Du må slette den eller gi den ett nytt navn for å aktivere denne modulen. ##### Types de contacts ##### -TypeContact_facture_internal_SALESREPFOLL=Representant oppfølging kunde faktura -TypeContact_facture_external_BILLING=Kunden faktura kontakt -TypeContact_facture_external_SHIPPING=Kunden shipping kontakt -TypeContact_facture_external_SERVICE=Kundeservice Kontakt -TypeContact_invoice_supplier_internal_SALESREPFOLL=Representant oppfølging leverandørfaktura -TypeContact_invoice_supplier_external_BILLING=Leverandørfaktura kontakt -TypeContact_invoice_supplier_external_SHIPPING=Leverandør shipping kontakt -TypeContact_invoice_supplier_external_SERVICE=Leverandør service kontakt +TypeContact_facture_internal_SALESREPFOLL=Representant for oppfølging av kundefaktura +TypeContact_facture_external_BILLING=Kundens fakturakontakt +TypeContact_facture_external_SHIPPING=Kundens leveringskontakt +TypeContact_facture_external_SERVICE=Kundens servicekontakt +TypeContact_invoice_supplier_internal_SALESREPFOLL=Representant for oppfølging av leverandørfaktura +TypeContact_invoice_supplier_external_BILLING=Leverandørens fakturakontakt +TypeContact_invoice_supplier_external_SHIPPING=Leverandøren leveransekontakt +TypeContact_invoice_supplier_external_SERVICE=Leverandørens servicekontakt # Situation invoices -InvoiceFirstSituationAsk=First situation invoice -InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. -InvoiceSituation=Situation invoice -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction -Progress=Progress -ModifyAllLines=Modify all lines -CreateNextSituationInvoice=Create next situation -NotLastInCycle=This invoice in not the last in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. -DisabledBecauseFinal=This situation is final. -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations -InvoiceSituationLast=Final and general invoice +InvoiceFirstSituationAsk=Første delfaktura +InvoiceFirstSituationDesc=Delfakturaer er bundet til en situasjon og følger dennes progresjon, for eksempel byggingen av en konstruksjo. Hver delfaktura er bundet til en faktura. +InvoiceSituation=Delfaktura +InvoiceSituationAsk=Faktura som følger situasjonen +InvoiceSituationDesc=Oppret ny situasjon som følger en eksisterende +SituationAmount=Delfaktura-beløp (eks. MVA) +SituationDeduction=Situasjonsfradrag +Progress=Progresjon +ModifyAllLines=Endre alle linjer +CreateNextSituationInvoice=Opprett neste situasjon +NotLastInCycle=Denne fakturaen er ikke den siste i rekken og må ikke modifiseres +DisabledBecauseNotLastInCycle=Neste delfaktura er allerede opprettet +DisabledBecauseFinal=Dette er siste delfaktura +CantBeLessThanMinPercent=Progresjonen kan ikke ha lavere verdi enn forrige delfaktura +NoSituations=Ingen åpne situasjoner +InvoiceSituationLast=Siste delfaktura diff --git a/htdocs/langs/nb_NO/categories.lang b/htdocs/langs/nb_NO/categories.lang index 662c28bdc3b..63ed25b4296 100644 --- a/htdocs/langs/nb_NO/categories.lang +++ b/htdocs/langs/nb_NO/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s ble lagt til. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Ingen NotCategorized=Without tag/category CategoryExistsAtSameLevel=Denne kategorien finnes allerede med denne referansen @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Innhold ikke synlig for alle CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Kunde-/prospektkategorier @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/nb_NO/companies.lang b/htdocs/langs/nb_NO/companies.lang index a111e8f1b6a..228fe132b2f 100644 --- a/htdocs/langs/nb_NO/companies.lang +++ b/htdocs/langs/nb_NO/companies.lang @@ -412,3 +412,8 @@ LeopardNumRefModelDesc=Fri kode. Denne koden kan endres når som helst. ManagingDirectors=(E) navn (CEO, direktør, president ...) SearchThirdparty=Søk etter tredjepart SearchContact=Søk etter kontakt +MergeOriginThirdparty=Dupliser tredjepart (tredjepart du vil slette) +MergeThirdparties=Flett tredjeparter +ConfirmMergeThirdparties=Er du sikker på at du vil flette denne tredjeparten inn i nåværende? Alle relaterte objekter (fakturaer, ordre, mm) vil bli flyttet til nåværende, slik at du kan slette den dupliserte. +ThirdpartiesMergeSuccess=Tredjepartene er blitt flettet +ErrorThirdpartiesMerge=Det oppsto en feil under sletting av tredjeparter. Sjekk i loggen. Endringene ble reversert diff --git a/htdocs/langs/nb_NO/contracts.lang b/htdocs/langs/nb_NO/contracts.lang index e854391d7f1..e20ae6fc578 100644 --- a/htdocs/langs/nb_NO/contracts.lang +++ b/htdocs/langs/nb_NO/contracts.lang @@ -12,12 +12,12 @@ ContractStatusValidated=Godkjent ContractStatusClosed=Lukket ServiceStatusInitial=Ikke i drift ServiceStatusRunning=I drift -ServiceStatusNotLate=Running, ikke er utløpt -ServiceStatusNotLateShort=Ikke er utløpt +ServiceStatusNotLate=I drift, ikke utløpt +ServiceStatusNotLateShort=Ikke utløpt ServiceStatusLate=I drift, utløpt ServiceStatusLateShort=Utløpt ServiceStatusClosed=Lukket -ServicesLegend=Tjeneste legend +ServicesLegend=Tjenestehistorikk Contracts=Kontrakter ContractsAndLine=Kontrakter og kontraktlinjer Contract=Kontrakt @@ -32,27 +32,27 @@ AddContract=Opprett kontrakt SearchAContract=Finn kontrakt DeleteAContract=Slett kontrakt CloseAContract=Lukk kontrakt -ConfirmDeleteAContract=Er du sikker på at du vil slette denne kontrakten med alle tilhørende thenester? +ConfirmDeleteAContract=Er du sikker på at du vil slette denne kontrakten med alle tilhørende tjenester? ConfirmValidateContract=Er du sikker på at du vil godkjenne denne kontrakten? ConfirmCloseContract=Dette vil lukke alle tjenester (aktive eller ikke). Er du sikker på at du vil lukke kontrakten? ConfirmCloseService=Er du sikker på at du vil lukke denne tjenesten med datoen %s ? -ValidateAContract=Goskjenn en kontrakt +ValidateAContract=Godkjenn en kontrakt ActivateService=Aktiver tjeneste ConfirmActivateService=Er du sikker på at du vil aktivere denne tjensten med datoen %s ? RefContract=Kontraktsreferanse DateContract=Kontraktsdato DateServiceActivate=Dato for aktivering av tjenste DateServiceUnactivate=Dato for deaktivering av tjeneste -DateServiceStart=Startdato for tjenstene +DateServiceStart=Startdato for tjensten DateServiceEnd=Sluttdato for tjenesten ShowContract=Vis kontrakt ListOfServices=Oversikt over tjenester ListOfInactiveServices=Liste over ikke aktive tjenester -ListOfExpiredServices=Liste over utløpt aktive tjenester +ListOfExpiredServices=Liste over utløpte, aktive tjenester ListOfClosedServices=Liste over lukkede tjenester ListOfRunningContractsLines=Oversikt over løpende kontraktslinjer ListOfRunningServices=Overikt over løpende tjenster -NotActivatedServices=Ikke aktiverte tjenester (blant godkjente kontrakter) +NotActivatedServices=Ikke aktive tjenester (blant godkjente kontrakter) BoardNotActivatedServices=Tjenester til aktivering blant godkjente kontrakter LastContracts=Siste %s kontrakter LastActivatedServices=Siste %s aktiverte tjenester @@ -72,22 +72,22 @@ NbOfServices=Ant. tjenester CloseService=Lukk tjeneste ServicesNomberShort=%s tjeneste(r) RunningServices=Løpende tjenester -BoardRunningServices=Utløpte løpende tjenester +BoardRunningServices=Utgåtte, løpende tjenester ServiceStatus=Tjenestestatus DraftContracts=Kontraktskladder CloseRefusedBecauseOneServiceActive=Kontrakten kan ikke lukkes ettersom det er minst en åpen tjenste på den CloseAllContracts=Lukk alle kontrakter -DeleteContractLine=Slette en kontrakt linje -ConfirmDeleteContractLine=Er du sikker på at du vil slette denne kontrakten linje? +DeleteContractLine=Slett en kontraktlinje +ConfirmDeleteContractLine=Er du sikker på at du vil slette denne kontraktlinjen? MoveToAnotherContract=Flytt tjeneste til annen kontrakt ConfirmMoveToAnotherContract=Jeg bekrefter at jeg hat valgt ny målkontrakt og at jeg ønsker å flytte denne tjenesten inn i den nye kontrakten. ConfirmMoveToAnotherContractQuestion=Velg hvilken eksisterende kontrakt (eid av samme tredjepart) du vil flytte tjenesten til -PaymentRenewContractId=Forny kontrakt linje (antall %s) +PaymentRenewContractId=Forny kontraktlinje (antall %s) ExpiredSince=Utløpsdato RelatedContracts=Relaterte kontrakter -NoExpiredServices=Ingen utgåtte aktive tjenester +NoExpiredServices=Ingen utgåtte, aktive tjenester ListOfServicesToExpireWithDuration=Liste over tjenester som utløper innen %s dager -ListOfServicesToExpireWithDurationNeg=Liste over tjenester utløpt fra mer enn %s dager +ListOfServicesToExpireWithDurationNeg=Liste over tjenester utløpt i mer enn %s dager ListOfServicesToExpire=Liste over utløpende tjenester NoteListOfYourExpiredServices=Denne listen inneholder kun tjenester av kontrakter for tredjeparter du er koblet til som salgsrepresentant. StandardContractsTemplate=Standard kontraktskjema diff --git a/htdocs/langs/nb_NO/cron.lang b/htdocs/langs/nb_NO/cron.lang index 4cf688b277e..3335c9a3ecb 100644 --- a/htdocs/langs/nb_NO/cron.lang +++ b/htdocs/langs/nb_NO/cron.lang @@ -4,18 +4,18 @@ About = Om CronAbout = Om Cron CronAboutPage = Side om Cron # Right -Permission23101 = Les planlagt oppgave -Permission23102 = Opprett/endre planlagt oppgave -Permission23103 = Slett planlagt oppgave -Permission23104 = Utfør planlagt oppgave +Permission23101 = Les planlagt jobb +Permission23102 = Opprett/endre planlagt jobb +Permission23103 = Slett planlagt jobb +Permission23104 = Utfør planlagt jobb # Admin CronSetup= Administrasjon av planlagte oppgaver -URLToLaunchCronJobs=URL to check and launch cron jobs if required -OrToLaunchASpecificJob=Or to check and launch a specific job +URLToLaunchCronJobs=URL til å sjekke og kjøre Cron jobber hvis nødvendig +OrToLaunchASpecificJob=eller for å sjekke og kjøre en spesifikk jobb KeyForCronAccess=Sikkerhetsnøkkel for URL for å starte cronjobber FileToLaunchCronJobs=Kommandolinje for å starte cronjobber -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes +CronExplainHowToRunUnix=I Unix-miljøer bør du bruke følgende crontab-oppføring for å kjøre kommandolinje hvert 5. minutt +CronExplainHowToRunWin=I Microsoft(tm) Windows-miljø kan du bruke planlagte oppgaver-verktøyet for å kjøre kommandolinje hvert 5. minutt # Menu CronJobs=Planlagte jobber CronListActive=Liste over aktive/planlagte jobber @@ -26,12 +26,12 @@ CronLastOutput=Resultat av forrige kjøring CronLastResult=Siste kjøring - kode CronListOfCronJobs=Liste over planlagte oppgaver CronCommand=Kommando -CronList=Planlagt jobb +CronList=Planlagte jobber CronDelete=Slett planlagte jobber -CronConfirmDelete=Er du sikker på at du vil slette denne planlagte jobben +CronConfirmDelete=Er du sikker på at du vil slette disse planlagte jobbene? CronExecute=Start planlagte jobber -CronConfirmExecute=Er du sikker på at du vil kjøre denne oppgaven nå? -CronInfo=Scheduled job module allow to execute job that have been planned +CronConfirmExecute=Er du sikker på at du vil kjøre disse planlagte jobbene nå? +CronInfo=Planlagte jobber-modulen gir deg mulighet til å utføre jobber til ønsket tid CronWaitingJobs=Ventende jobber CronTask=Jobb CronNone=Ingen @@ -46,43 +46,43 @@ CronModule=Modul CronAction=Handling CronStatus=Status CronStatusActive=Slått på -CronStatusInactive=Slått av -CronNoJobs=Ingen registrerte jobb +CronStatusInactive=Deaktivert +CronNoJobs=Ingen registrerte jobber CronPriority=Prioritet CronLabel=Beskrivelse -CronNbRun=NB! Start +CronNbRun=Antall starter CronEach=Alle JobFinished=Jobb startet og fullført #Page card CronAdd= Legg til jobber -CronHourStart= Time og dato for oppgavestart -CronEvery= Og utfør oppgave hver -CronObject= Objekt å opprette -CronArgs=Parametere +CronHourStart= Start time og dato for jobben +CronEvery=Kjør jobb hver +CronObject=Objekt å opprette +CronArgs=Parametre CronSaveSucess=Lagret CronNote=Kommentar CronFieldMandatory=Feltene %s er obligatoriske CronErrEndDateStartDt=Sluttdato kan ikke være før startdato CronStatusActiveBtn=Aktiver -CronStatusInactiveBtn=Slå av +CronStatusInactiveBtn=Deaktiver CronTaskInactive=Denne jobben er deaktivert CronDtLastResult=Dato for siste resultat CronId=ID CronClassFile=Klasser (filnavn.klasse.php) -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product -CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php -CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product -CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth -CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef +CronModuleHelp=Navn på Dolibarr-modul katalogen (også arbeid med ekstern Dolibarr-modul).
For eksempel hente-metode for Dolibarr Product objekt /htdocs/product/class/product.class.php, er verdien av modulen produkt +CronClassFileHelp=Filnavn å laste.
For eksempel hente metode for Dolibarr Produkt object/htdocs/produkt/klasse/product.class.php, er verdien av klassen filnavnet product.class.php +CronObjectHelp=Objektnavn som skal lastes.
For eksempel metode for å hente Dolibarr Product object /htdocs/product/class/product.class.php, er verdien av klasse-filnavn Product +CronMethodHelp=Objekt-metode for å starte.
For eksempel hente Dolibarr Produkt objekt /htdocs/product/class/product.class.php, er verdien av metoden fecth +CronArgsHelp=Metode argumenter.
For eksempel hent Dolibarr Product object /htdocs/product/class/product.class.php, kan parameterverdien være 0, ProductRef CronCommandHelp=System kommandolinje som skal kjøres CronCreateJob=Opprett ny planlagt jobb # Info CronInfoPage=Informasjon # Common -CronType=Oppgavetype -CronType_method=Call method of a Dolibarr Class +CronType=Jobbtype +CronType_method=Oppkallsmetode av en Dolibarr-klasse CronType_command=Shell kommando CronMenu=Cron CronCannotLoadClass=Kan ikke laste klasse %s eller objekt %s UseMenuModuleToolsToAddCronJobs=Gå til meny "Hjem - Modulverktøy - Jobbliste" for å se på og endre planlagte jobber. -TaskDisabled=Oppgave deaktivert +TaskDisabled=Jobb deaktivert diff --git a/htdocs/langs/nb_NO/deliveries.lang b/htdocs/langs/nb_NO/deliveries.lang index a0963eca837..35b61e36439 100644 --- a/htdocs/langs/nb_NO/deliveries.lang +++ b/htdocs/langs/nb_NO/deliveries.lang @@ -7,11 +7,11 @@ DeliveryOrders=Leveringsordre DeliveryDate=Leveringsdato DeliveryDateShort=Lev. dato CreateDeliveryOrder=Opprett leveringsordre -QtyDelivered=Ant levert +QtyDelivered=Ant. levert SetDeliveryDate=Angi leveringsdato ValidateDeliveryReceipt=Godkjenn leveringskvittering ValidateDeliveryReceiptConfirm=Er du sikker på at du vil godkjenne denne leveringskvitteringen? -DeleteDeliveryReceipt=Slett levering kvittering +DeleteDeliveryReceipt=Slett leveringskvittering DeleteDeliveryReceiptConfirm=Er du sikker på at du vil slette leveringskvitteringen %s? DeliveryMethod=Leveringsmåte TrackingNumber=Trackingnummer diff --git a/htdocs/langs/nb_NO/dict.lang b/htdocs/langs/nb_NO/dict.lang index 440a84e600e..639922cbb77 100644 --- a/htdocs/langs/nb_NO/dict.lang +++ b/htdocs/langs/nb_NO/dict.lang @@ -6,14 +6,14 @@ CountryES=Spania CountryDE=Tyskland CountryCH=Sveits CountryGB=Storbritannia -# CountryUK=United Kingdom +CountryUK=Storbritannia CountryIE=Irland CountryCN=Kina CountryTN=Tunisia CountryUS=USA CountryMA=Marokko CountryDZ=Algerie -CountryCA=Kanada +CountryCA=Canada CountryTG=Togo CountryGA=Gabon CountryNL=Nederland @@ -30,18 +30,18 @@ CountryMC=Monaco CountryAU=Australia CountrySG=Singapore CountryAF=Afghanistan -CountryAX=Ålandøyene +CountryAX=Åland CountryAL=Albania CountryAS=Amerikansk Samoa CountryAD=Andorra CountryAO=Angola CountryAI=Anguilla CountryAQ=Antarktis -CountryAG=Antigua and Barbuda +CountryAG=Antigua og Barbuda CountryAM=Armenia CountryAW=Aruba -CountryAT=Austria -CountryAZ=Azerbaijan +CountryAT=Østerrike +CountryAZ=Aserbajdsjan CountryBS=Bahamas CountryBH=Bahrain CountryBD=Bangladesh @@ -52,57 +52,57 @@ CountryBJ=Benin CountryBM=Bermuda CountryBT=Bhutan CountryBO=Bolivia -CountryBA=Bosnia and Herzegovina +CountryBA=Bosnia og Herzegovina CountryBW=Botswana -CountryBV=Bouvet Island -CountryBR=Brazil -CountryIO=British Indian Ocean Territory +CountryBV=Bouvet-øyene +CountryBR=Brasil +CountryIO=Det britiske territoriet i Indiahavet CountryBN=Brunei Darussalam CountryBG=Bulgaria CountryBF=Burkina Faso CountryBI=Burundi -CountryKH=Cambodia -CountryCV=Cape Verde -CountryKY=Cayman Islands -CountryCF=Central African Republic +CountryKH=Kambodsja +CountryCV=Kapp Verde +CountryKY=Cayman-øyene +CountryCF=Sentralafrikanske republikk CountryTD=Chad CountryCL=Chile -CountryCX=Christmas Island -CountryCC=Cocos (Keeling) Islands +CountryCX=Christmasøyen +CountryCC=Kokosøyene(Keeling) CountryCO=Colombia -CountryKM=Comoros -CountryCG=Congo -CountryCD=Congo, The Democratic Republic of the -CountryCK=Cook Islands +CountryKM=Komorene +CountryCG=Kongo +CountryCD=Kongo +CountryCK=Cook-øyene CountryCR=Costa Rica -CountryHR=Croatia +CountryHR=Kroatia CountryCU=Cuba -CountryCY=Cyprus -CountryCZ=Czech Republic +CountryCY=Kypros +CountryCZ=Tsjekkia CountryDK=Danmark CountryDJ=Djibouti CountryDM=Dominica -CountryDO=Dominican Republic +CountryDO=Dominikanske Republikk CountryEC=Ecuador CountryEG=Egypt CountrySV=El Salvador -CountryGQ=Equatorial Guinea +CountryGQ=Ekvatorial Guinea CountryER=Eritrea -CountryEE=Estonia -CountryET=Ethiopia -CountryFK=Falkland Islands +CountryEE=Estland +CountryET=Etiopia +CountryFK=Falklandsøyene CountryFO=Færøyene -CountryFJ=Fiji Islands +CountryFJ=Fiji-øyene CountryFI=Finland -CountryGF=French Guiana -CountryPF=French Polynesia -CountryTF=French Southern Territories +CountryGF=Fransk Guinea +CountryPF=Fransk Polynesia +CountryTF=De franske sørterritorier CountryGM=Gambia CountryGE=Georgia CountryGH=Ghana CountryGI=Gibraltar -CountryGR=Greece -CountryGL=Greenland +CountryGR=Hellas +CountryGL=Grønland CountryGD=Grenada CountryGP=Guadeloupe CountryGU=Guam @@ -111,155 +111,154 @@ CountryGN=Guinea CountryGW=Guinea-Bissau CountryGY=Guyana CountryHT=Haïti -CountryHM=Heard Island and McDonald -CountryVA=Holy See (Vatican City State) +CountryHM=Heard- og McDonaldøyene +CountryVA=Holy See (Vatikanet) CountryHN=Honduras CountryHK=Hong Kong -CountryIS=Icelande +CountryIS=Island CountryIN=India CountryID=Indonesia CountryIR=Iran -CountryIQ=Iraq +CountryIQ=Irak CountryIL=Israel CountryJM=Jamaica CountryJP=Japan CountryJO=Jordan -CountryKZ=Kazakhstan +CountryKZ=Kasakstan CountryKE=Kenya CountryKI=Kiribati -CountryKP=North Korea -CountryKR=South Korea +CountryKP=Nord-Korea +CountryKR=Sør-Korea CountryKW=Kuwait -CountryKG=Kyrghyztan -CountryLA=Lao +CountryKG=Kirgisistan +CountryLA=Laos CountryLV=Latvia -CountryLB=Lebanon +CountryLB=Libanon CountryLS=Lesotho CountryLR=Liberia -CountryLY=Libyan +CountryLY=Libya CountryLI=Liechtenstein -CountryLT=Lituania +CountryLT=Litauen CountryLU=Luxembourg CountryMO=Macao -CountryMK=Macedonia, the former Yugoslav of -CountryMG=Madagascar +CountryMK=Makedonia +CountryMG=Madagaskar CountryMW=Malawi CountryMY=Malaysia -CountryMV=Maldives +CountryMV=Maldivene CountryML=Mali CountryMT=Malta -CountryMH=Marshall Islands +CountryMH=Marshall-øyene CountryMQ=Martinique CountryMR=Mauritania CountryMU=Mauritius CountryYT=Mayotte CountryMX=Mexico -CountryFM=Micronesia +CountryFM=Mikronesia CountryMD=Moldova CountryMN=Mongolia CountryMS=Monserrat -CountryMZ=Mozambique -CountryMM=Birmania (Myanmar) +CountryMZ=Mosambik +CountryMM=Myanmar CountryNA=Namibia CountryNR=Nauru CountryNP=Nepal -CountryAN=Netherlands Antilles -CountryNC=New Caledonia +CountryAN=Nederlandske Antiller +CountryNC=Ny Caledonia CountryNZ=New Zealand CountryNI=Nicaragua CountryNE=Niger CountryNG=Nigeria CountryNU=Niue -CountryNF=Norfolk Island -CountryMP=Northern Mariana Islands +CountryNF=Norfolkøya +CountryMP=Nord-Marianene CountryNO=Norge CountryOM=Oman CountryPK=Pakistan CountryPW=Palau -CountryPS=Palestinian Territory, Occupied +CountryPS=Palestina CountryPA=Panama CountryPG=Papua New Guinea CountryPY=Paraguay CountryPE=Peru -CountryPH=Philippines -CountryPN=Pitcairn Islands -CountryPL=Poland +CountryPH=Filippinene +CountryPN=Pitcairn-øyene +CountryPL=Polen CountryPR=Puerto Rico CountryQA=Qatar CountryRE=Reunion CountryRO=Romania CountryRW=Rwanda -CountrySH=Saint Helena -CountryKN=Saint Kitts and Nevis +CountrySH=Sankt Helena +CountryKN=Saint Kitts og Nevis CountryLC=Saint Lucia -CountryPM=Saint Pierre and Miquelon -CountryVC=Saint Vincent and Grenadines +CountryPM=Saint-Pierre og Miquelon +CountryVC=Saint Vincent og Grenadinene CountryWS=Samoa CountrySM=San Marino -CountryST=Sao Tome and Principe +CountryST=São Tomé og Príncipe CountryRS=Serbia -CountrySC=Seychelles +CountrySC=Seychellene CountrySL=Sierra Leone CountrySK=Slovakia CountrySI=Slovenia -CountrySB=Solomon Islands +CountrySB=Solomon-øyene CountrySO=Somalia -CountryZA=South Africa -CountryGS=South Georgia and the South Sandwich Islands +CountryZA=Sør-Afrika +CountryGS=Sør-Georgia og Sør-Sandwichøyene CountryLK=Sri Lanka CountrySD=Sudan -CountrySR=Suriname -CountrySJ=Svalbard and Jan Mayen +CountrySR=Surinam +CountrySJ=Svalbard og Jan Mayen CountrySZ=Swaziland -CountrySY=Syrian +CountrySY=Syria CountryTW=Taiwan -CountryTJ=Tajikistan +CountryTJ=Tadsjikistan CountryTZ=Tanzania CountryTH=Thailand -CountryTL=Timor-Leste +CountryTL=Øst-Timor CountryTK=Tokelau CountryTO=Tonga -CountryTT=Trinidad and Tobago -CountryTR=Turkey +CountryTT=Trinidad og Tobago +CountryTR=Tyrkia CountryTM=Turkmenistan -CountryTC=Turks and Cailos Islands +CountryTC=Turks- og Caicosøyene CountryTV=Tuvalu CountryUG=Uganda -CountryUA=Ukraine -CountryAE=United Arab Emirates -CountryUM=United States Minor Outlying Islands +CountryUA=Ukraina +CountryAE=Forente Arabiske Emirater +CountryUM=USAs ytre småøyer 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 +CountryVN=Vietnam +CountryVG=Jomfruøyene, U.K +CountryVI=Jomfruøyene, U.S +CountryWF=Wallis- og Futunaøyene +CountryEH=Vest-Sahara +CountryYE=Jemen CountryZM=Zambia CountryZW=Zimbabwe CountryGG=Guernsey CountryIM=Isle of Man CountryJE=Jersey CountryME=Montenegro -CountryBL=Saint Barthelemy +CountryBL=Saint-Barthélemy CountryMF=Saint Martin ##### Civilities ##### CivilityMME=Fru CivilityMR=Herr CivilityMLE=Frk. -CivilityMTRE=- -# CivilityDR=Doctor - +CivilityMTRE=Master +CivilityDR=Doktor ##### Currencies ##### Currencyeuros=Euro CurrencyAUD=Australske dollar -CurrencySingAUD=AU Dollar -CurrencyCAD=Kanadiske dollar -CurrencySingCAD=CAN dollar +CurrencySingAUD=Australske dollar +CurrencyCAD=Canadiske dollar +CurrencySingCAD=Canadiske dollar CurrencyCHF=Sveitsiske franc CurrencySingCHF=Sveitsisk franc CurrencyEUR=Euro @@ -267,63 +266,62 @@ CurrencySingEUR=Euro CurrencyFRF=Franske franc CurrencySingFRF=Franske franc CurrencyGBP=Britiske pund -CurrencySingGBP=GB Pound -CurrencyINR=Indian rupees -CurrencySingINR=Indisk rupee +CurrencySingGBP=Britiske pund +CurrencyINR=Indiske rupi +CurrencySingINR=Indisk rupi CurrencyMAD=Dirham CurrencySingMAD=Dirham CurrencyMGA=Ariary CurrencySingMGA=Ariary -CurrencyMUR=Mauritius rupees -CurrencySingMUR=Mauritius rupee -CurrencyNOK=NOK +CurrencyMUR=Mauritius rupi +CurrencySingMUR=Mauritius rupi +CurrencyNOK=Norske kroner CurrencySingNOK=Norske kroner -CurrencyTND=TND +CurrencyTND=Tunisiske dinarer CurrencySingTND=Tunisisk dinar CurrencyUSD=Amerikanske dollar -CurrencySingUSD=US Dollar -CurrencyUAH=Hryvnia -CurrencySingUAH=Hryvnia -CurrencyXAF=CFA Francs BEAC +CurrencySingUSD=Amerikanske dollar +CurrencyUAH=Hryvnja +CurrencySingUAH=Hryvnja +CurrencyXAF=CFA franc BEAC CurrencySingXAF=CFA franc BEAC -CurrencyXOF=CFA Francs BCEAO +CurrencyXOF=CFA franc BCEAO CurrencySingXOF=CFA franc BCEAO CurrencyXPF=CFP franc -CurrencySingXPF=CFP Franc - -# CurrencyCentSingEUR=cent -# CurrencyThousandthSingTND=thousandth - +CurrencySingXPF=CFP franc +CurrencyCentSingEUR=cent +CurrencyCentINR=paisa +CurrencyCentSingINR=paise +CurrencyThousandthSingTND=tusendel #### Input reasons ##### DemandReasonTypeSRC_INTE=Internett -DemandReasonTypeSRC_CAMP_MAIL=Mailing kampanje +DemandReasonTypeSRC_CAMP_MAIL=Postkampanje DemandReasonTypeSRC_CAMP_EMAIL=E-post-kampanje -DemandReasonTypeSRC_CAMP_PHO=Telefon kampanje -DemandReasonTypeSRC_CAMP_FAX=Fax kampanje -DemandReasonTypeSRC_COMM=Kommersielle kontakt +DemandReasonTypeSRC_CAMP_PHO=Telefonkampanje +DemandReasonTypeSRC_CAMP_FAX=Fax-kampanje +DemandReasonTypeSRC_COMM=Kommersiell kontakt DemandReasonTypeSRC_SHOP=Butikk Kontakt -# DemandReasonTypeSRC_WOM=Word of mouth -# DemandReasonTypeSRC_PARTNER=Partner -# DemandReasonTypeSRC_EMPLOYEE=Employee -# DemandReasonTypeSRC_SPONSORING=Sponsorship - +DemandReasonTypeSRC_WOM=Jungeltelegrafen +DemandReasonTypeSRC_PARTNER=Partner +DemandReasonTypeSRC_EMPLOYEE=Ansatt +DemandReasonTypeSRC_SPONSORING=Sponsing #### 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 +PaperFormatEU4A0=Format 4A0 +PaperFormatEU2A0=Format 2A0 +PaperFormatEUA0=Format A0 +PaperFormatEUA1=Format A1 +PaperFormatEUA2=Format A2 +PaperFormatEUA3=Format A3 +PaperFormatEUA4=Format A4 +PaperFormatEUA5=Format A5 +PaperFormatEUA6=Format A6 +PaperFormatUSLETTER=Format Letter US +PaperFormatUSLEGAL=Format Legal US +PaperFormatUSEXECUTIVE=Format Executive US +PaperFormatUSLEDGER=Format Ledger/Tabloid +PaperFormatCAP1=Format P1 Canada +PaperFormatCAP2=Format P2 Canada +PaperFormatCAP3=Format P3 Canada +PaperFormatCAP4=Format P4 Canada +PaperFormatCAP5=Format P5 Canada +PaperFormatCAP6=Format P6 Canada diff --git a/htdocs/langs/nb_NO/donations.lang b/htdocs/langs/nb_NO/donations.lang index ce2c7feea42..e3a6f8f1657 100644 --- a/htdocs/langs/nb_NO/donations.lang +++ b/htdocs/langs/nb_NO/donations.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - donations Donation=Donasjon Donations=Donasjoner -DonationRef=Donation ref. +DonationRef=Donasjon ref. Donor=Giver Donors=Givere -AddDonation=Create a donation +AddDonation=Opprett donasjon NewDonation=Ny donasjon -DeleteADonation=Delete a donation -ConfirmDeleteADonation=Are you sure you want to delete this donation ? -ShowDonation=Show donation +DeleteADonation=Slett en donasjon +ConfirmDeleteADonation=Er du sikker på at du vil slette denne donasjonen? +ShowDonation=Vis Donasjon DonationPromise=Lovet donasjon PromisesNotValid=Ikke godkjente løfter PromisesValid=Godkjente løfter @@ -17,27 +17,27 @@ DonationsReceived=Mottatte donasjoner PublicDonation=Offentlig donasjon DonationsNumber=Donasjonsnummer DonationsArea=Donasjonsområde -DonationStatusPromiseNotValidated=Løftekladd +DonationStatusPromiseNotValidated=Donasjons-kladd DonationStatusPromiseValidated=Godkjent løfte DonationStatusPaid=Mottatt donasjon DonationStatusPromiseNotValidatedShort=Kladd DonationStatusPromiseValidatedShort=Godkjent DonationStatusPaidShort=Mottatt -DonationTitle=Donation receipt -DonationDatePayment=Payment date -ValidPromess=Valider lover -DonationReceipt=Donation receipt +DonationTitle=Donasjonskvittering +DonationDatePayment=Dato for betaling +ValidPromess=Valider løfte +DonationReceipt=Donasjonskvittering BuildDonationReceipt=Opprett kvittering DonationsModels=Dokumentmal for donasjonskvitteringer -LastModifiedDonations=Siste %s endret donasjoner +LastModifiedDonations=Siste %s endrede donasjoner SearchADonation=Søk etter donasjon -DonationRecipient=Donation recipient -ThankYou=Thank You -IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount +DonationRecipient=Donasjonsmottaker +ThankYou=Tusen takk +IConfirmDonationReception=Kvittering for mottak av donasjon av følgende beløp MinimumAmount=Minstebeløp er %s -FreeTextOnDonations=Free text to show in footer -FrenchOptions=Options for France -DONATION_ART200=Show article 200 from CGI if you are concerned -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 +FreeTextOnDonations=Bunntekst +FrenchOptions=Valg for Frankrike +DONATION_ART200=Vis artikkel 200 fra CGI hvis du er bekymret +DONATION_ART238=Vis artikkel 238 fra CGI hvis du er bekymret +DONATION_ART885=Vis artikkel 885 fra CGI hvis du er bekymret +DonationPayment=Donasjonsbetaling diff --git a/htdocs/langs/nb_NO/ecm.lang b/htdocs/langs/nb_NO/ecm.lang index 34f72b3833f..5a56f6183f7 100644 --- a/htdocs/langs/nb_NO/ecm.lang +++ b/htdocs/langs/nb_NO/ecm.lang @@ -6,27 +6,27 @@ DocsElements=Dokumenter elementer DocsThirdParties=Dokumenter tredjeparter DocsContracts=Dokumenter kontrakter DocsProposals=Dokumenter tilbud -DocsOrders=Dokomenter ordre +DocsOrders=Dokumenter ordre DocsInvoices=Dokumenter fakturaer ECMNbOfDocs=Ant. dokumenter i mappen ECMNbOfDocsSmall=Ant. dok. ECMSection=Mappe ECMSectionManual=Manuell mappe ECMSectionAuto=Automatisk mappe -ECMSectionsManual=Manuelle mapper -ECMSectionsAuto=Automatiske mapper +ECMSectionsManual=Manuell mappestruktur +ECMSectionsAuto=Automatisk mappestruktur ECMSections=Mapper ECMRoot=Rot ECMNewSection=Ny mappe -ECMAddSection=Legg til manuell mappe +ECMAddSection=Legg til mappe ECMNewDocument=Nytt dokument ECMCreationDate=Opprettet den ECMNbOfFilesInDir=Antall filer i mappen ECMNbOfSubDir=Antall undermapper -ECMNbOfFilesInSubDir=Number of files in sub-directories +ECMNbOfFilesInSubDir=Antall filer i undermapper ECMCreationUser=Opprettet av -ECMArea=EDM area -ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. +ECMArea=EDM-område +ECMAreaDesc=EDM (Electronic Document Management)-området gjør at du raskt kan lagre, dele og søke alle typer dokumenter i Dolibarr ECMAreaDesc2=* Automatiske mapper fylles automatisk når du legger til dokumenter fra et elementkort.
* Manuelle mapper kan du bruke til å lagre dokumenter som ikke er lenket til et spesielt element. ECMSectionWasRemoved=Mappen %s er slettet. ECMDocumentsSection=Dokument i mappen @@ -35,16 +35,16 @@ ECMSearchByEntity=Søk på objekt ECMSectionOfDocuments=Mapper med dokumenter ECMTypeManual=Manuell ECMTypeAuto=Automatisk -ECMDocsBySocialContributions=Documents linked to social contributions +ECMDocsBySocialContributions=Dokumenter relatert til sosiale bidrag ECMDocsByThirdParties=Dokumenter knyttet til tredjeparter ECMDocsByProposals=Dokumenter knyttet til tilbud ECMDocsByOrders=Dokumenter knyttet til kundeordre ECMDocsByContracts=Dokumenter knyttet til kontrakter ECMDocsByInvoices=Dokumenter knyttet til kundefakturaer ECMDocsByProducts=Dokumenter knyttet til produkter -ECMDocsByProjects=Documents linked to projects -ECMDocsByUsers=Documents linked to users -ECMDocsByInterventions=Documents linked to interventions +ECMDocsByProjects=Dokumenter relatert til prosjekter +ECMDocsByUsers=Dokumenter relatert til brukere +ECMDocsByInterventions=Dokumenter relatert til intervensjoner ECMNoDirectoryYet=Ingen mapper opprettet ShowECMSection=Vis mappe DeleteSection=Fjern mappe @@ -53,5 +53,5 @@ ECMDirectoryForFiles=Relativ mappe for filer CannotRemoveDirectoryContainsFiles=Kunne ikke fjerne mappen, da den inneholder filer ECMFileManager=Filbehandler ECMSelectASection=Velg en mappe fra treet til venstre... -DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +DirNotSynchronizedSyncFirst=Denne mappen synes å være opprettet eller endret utenfor ECM-modulen. Du må først klikke på "oppfrisk"-knappen for å synkronisere disken mot databasen for å kunne se innholdet i denne mappen. diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 8df21d9b060..c4f7d16eb23 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - errors # No errors -NoErrorCommitIsDone=Ingen feil funnet +NoErrorCommitIsDone=Ingen feil # Errors Error=Feil Errors=Feil @@ -10,38 +10,38 @@ ErrorBadEMail=E-post %s er feil ErrorBadUrl=Url %s er feil ErrorLoginAlreadyExists=brukernavnet %s eksisterer allerede. ErrorGroupAlreadyExists=Gruppen %s eksisterer allerede. -ErrorRecordNotFound=Record ikke funnet. -ErrorFailToCopyFile=Klarte ikke å kopiere filen «%s 'inn' %s '. -ErrorFailToRenameFile=Kunne ikke omdøpe filen '%s' inn '%s'. +ErrorRecordNotFound=Posten ble ikke funnet. +ErrorFailToCopyFile=Klarte ikke å kopiere filen '«%s' til '%s'. +ErrorFailToRenameFile=Kunne ikke omdøpe filen '%s' til '%s' ErrorFailToDeleteFile=Kunne ikke fjerne filen '%s'. ErrorFailToCreateFile=Kunne ikke opprette filen '%s'. -ErrorFailToRenameDir=Kunne ikke endre navne på mappen '%s' til '%s'. +ErrorFailToRenameDir=Kunne ikke endre navnet på mappen '%s' til '%s'. ErrorFailToCreateDir=Kunne ikke opprette mappen '%s'. ErrorFailToDeleteDir=Klarte ikke å slette katalogen «%s '. -ErrorFailedToDeleteJoinedFiles=Kan ikke slette foretaket fordi det er noe blitt filer. Fjern delta filer først. -ErrorThisContactIsAlreadyDefinedAsThisType=Denne kontaktperson er allerede definert som kontaktperson for denne typen. +ErrorFailedToDeleteJoinedFiles=Kan ikke slettes fordi det finnes relaterte filer. Fjern relasjoner først. +ErrorThisContactIsAlreadyDefinedAsThisType=Denne kontaktperson er allerede definert for denne typen. ErrorCashAccountAcceptsOnlyCashMoney=Dette er en kassekonto, så det er kun mulig med kontantinnskudd på den. -ErrorFromToAccountsMustDiffers=Kilde og målkonto må være forskjellig. +ErrorFromToAccountsMustDiffers=Kilde- og målkonto må være forskjellig. ErrorBadThirdPartyName=Ugyldig verdi for tredjepartens navn -ErrorProdIdIsMandatory=The %s is mandatory +ErrorProdIdIsMandatory=%s er obligatorisk ErrorBadCustomerCodeSyntax=Ugyldig syntaks for kundekode ErrorBadBarCodeSyntax=Bad syntax for bar code. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. ErrorCustomerCodeRequired=Kundekode påkrevet ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kundekoden er allerede benyttet ErrorBarCodeAlreadyUsed=Bar code already used -ErrorPrefixRequired=Prefix påkrevet -ErrorUrlNotValid=Nettstedet adressen er feil -ErrorBadSupplierCodeSyntax=Ugyldig syntax for leverandørkode +ErrorPrefixRequired=Prefiks påkrevet +ErrorUrlNotValid=Nettstedsadressen er feil +ErrorBadSupplierCodeSyntax=Ugyldig syntaks for leverandørkode ErrorSupplierCodeRequired=Leverandørkode påkrevet ErrorSupplierCodeAlreadyUsed=Leverandørkode allerede brukt ErrorBadParameters=Ugyldige parametere -ErrorBadValueForParameter=Feil verdi "%s 'for parameter feil' Choice %s 'Choice -ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) -ErrorBadDateFormat=Verdien '%s' har feil dato format +ErrorBadValueForParameter=Feil verdi '%s' for parameter. Feil '%s' +ErrorBadImageFormat=Bildeformatet støttes ikke (Din PHP støtter ikke konvertering av dette formatet) +ErrorBadDateFormat=Verdien '%s' har feil datoformat ErrorWrongDate=Date is not correct! -ErrorFailedToWriteInDir=Kan ike skrive til mappen %s -ErrorFoundBadEmailInFile=Feil e-postsyntax for %s linjer i filen (for eksempel linje %s med e-post=%s) +ErrorFailedToWriteInDir=Kan ikke skrive til mappen %s +ErrorFoundBadEmailInFile=Feil e-postsyntaks for %s linjer i filen (for eksempel linje %s med e-post=%s) ErrorUserCannotBeDelete=Brukeren kan ikke slettes. Det kan være at den er knyttet til elementer i Dolibarr. ErrorFieldsRequired=Noen påkrevde felt er ikke fylt ut. ErrorFailedToCreateDir=Kunne ikke påårette mappen. Kontroller at webserverbrukeren har skriverettigheter i dokumentmappen i Dolibarr. Hvis safe_mode er akivert i PHP, sjekk at webserveren eier eller er med i gruppen for Dolibarr php-filer. @@ -50,24 +50,24 @@ ErrorFeatureNeedJavascript=Denne funksjonen krever javascript for å virke. Endr ErrorTopMenuMustHaveAParentWithId0=En meny av typen 'Topp' kan ikke ha noen foreldremeny. Skriv 0 i foreldremeny eller velg menytypen 'Venstre'. ErrorLeftMenuMustHaveAParentId=En meny av typen 'Venstre' må ha foreldre-ID. ErrorFileNotFound=Fant ikke filen (Feil sti, feil tillatelser eller access denied av openbasedir-parameter) -ErrorDirNotFound=Directory %s ikke funnet (Bad bane, feil rettigheter eller ingen tilgang på PHP openbasedir eller safe_mode parameter) +ErrorDirNotFound=Directory %s ble ikke funnet (feil bane, feil rettigheter eller ingen tilgang til PHP openbasedir eller safe_mode parameter) ErrorFunctionNotAvailableInPHP=Funksjonen %s kreves for denne funksjonen, men den er ikke tilgjengelig i denne versjonen/oppsettet av PHP. ErrorDirAlreadyExists=En mappe med dette navnet eksisterer allerede. ErrorFileAlreadyExists=En fil med dette navnet finnes allerede. -ErrorPartialFile=Fil ikke mottatt fullstendig av server. -ErrorNoTmpDir=Midlertidig directy %s ikke eksisterer. +ErrorPartialFile=Filen ble ikke fullstendig mottatt av server. +ErrorNoTmpDir=Midlertidig mappe %s finnes ikke. ErrorUploadBlockedByAddon=Last opp blokkert av en PHP / Apache plugin. ErrorFileSizeTooLarge=Filstørrelsen er for stor. -ErrorSizeTooLongForIntType=Størrelse for lang for int type (%s sifre maksimum) -ErrorSizeTooLongForVarcharType=Størrelse for lang for streng type (%s tegn maksimum) -ErrorNoValueForSelectType=Please fill value for select list -ErrorNoValueForCheckBoxType=Please fill value for checkbox list -ErrorNoValueForRadioType=Please fill value for radio list +ErrorSizeTooLongForIntType=Størrelse for lang for int-type (%s sifre maksimum) +ErrorSizeTooLongForVarcharType=Størrelse for lang for streng-type (%s tegn maksimum) +ErrorNoValueForSelectType=Sett inn verdi for å velge liste +ErrorNoValueForCheckBoxType=Sett inn verdi for å velge avkrysningsboks-liste +ErrorNoValueForRadioType=Sett i verdi for radioknapp-liste ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores ErrorFieldCanNotContainSpecialCharacters=Feltet %s kan ikke inneholde spesialtegn. ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. ErrorNoAccountancyModuleLoaded=Ingen regnskapsmodul aktivert -ErrorExportDuplicateProfil=This profile name already exists for this export set. +ErrorExportDuplicateProfil=Profilnavnet til dette eksport-oppsettet finnes allerede ErrorLDAPSetupNotComplete=Dolibarr-LDAP oppsett er ikke komplett. ErrorLDAPMakeManualTest=En .ldif fil er opprettet i mappen %s. Prøv å lese den manuelt for å se mer informasjon om feil. ErrorCantSaveADoneUserWithZeroPercentage=Kan ikke lagre en handling med "ikke statut startet" hvis feltet "gjort av" er også fylt. @@ -90,7 +90,7 @@ ErrorQtyTooLowForThisSupplier=Kvantum er for lavt for denne leverandøren eller ErrorModuleSetupNotComplete=Oppsett av modul ser ut til å være uncomplete. Gå på Setup - Modules å fullføre. ErrorBadMask=Feil på maske ErrorBadMaskFailedToLocatePosOfSequence=Feil, maske uten sekvensnummer -ErrorBadMaskBadRazMonth=Feil, dårlig reset verdi +ErrorBadMaskBadRazMonth=Feil, ikke korrekt tilbakestillingsverdi ErrorMaxNumberReachForThisMask=Max number reach for this mask ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits ErrorSelectAtLeastOne=Feil. Velg minst én oppføring. @@ -102,13 +102,13 @@ ErrorFailedToLoadRSSFile=Unnlater å få RSS feed. Prøv å legge konstant MAIN_ ErrorPasswordDiffers=Passordene er forskjellige, prøv igjen ErrorForbidden=Tilgang forbudt.
Du prøver å nå en side, et område eller en funksjon uten at du er riktig logget inn. Det kan også være at du ikke har tilstrekkelige rettigheter. ErrorForbidden2=Tillatelse for denne innloggingen kan settes av Dolibarr-administratoren fra menyen %s->%s. -ErrorForbidden3=Det ser ut til at Dolibarr ikke brukes gjennom en autensitert sesjon. Du kan lese mer i dokumentasjonen om hvordan du håndterer autensitering (htaccess, mod_auth eller andre...). -ErrorNoImagickReadimage=Funksjonen imagick_readimage finnes ikke på denne PHP-installaajonen. Forhåndsvisning er da ikke mulig. Administrator kan slå av denne fanen i oppsett - visning. +ErrorForbidden3=Det ser ut til at Dolibarr ikke brukes gjennom en autentisert sesjon. Du kan lese mer i dokumentasjonen om hvordan du håndterer autentisering (htaccess, mod_auth eller andre...). +ErrorNoImagickReadimage=Funksjonen imagick_readimage finnes ikke på denne PHP-installasjonen. Forhåndsvisning er da ikke mulig. Administrator kan slå av denne fanen i Oppsett - Visning. ErrorRecordAlreadyExists=Posten eksistererer fra før. ErrorCantReadFile=Kunne ikke lese filen '%s' ErrorCantReadDir=Kunne ikke lese mappen '%s' -ErrorFailedToFindEntity=Kunne ikke lese enheten '%s' -ErrorBadLoginPassword=Bad verdi for brukernavn eller passord +ErrorFailedToFindEntity=Kunne ikke lese miljø '%s' +ErrorBadLoginPassword=Feil verdi for brukernavn eller passord ErrorLoginDisabled=Kontoen din har blitt deaktivert ErrorFailedToRunExternalCommand=Kunne kjøre ekstern kommando. Sjekk 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 katalog som er definert av parameter safe_mode_exec_dir. ErrorFailedToChangePassword=Kunne ikke endre passord @@ -119,20 +119,20 @@ ErrorBothFieldCantBeNegative=Fields %s og %s kan ikke være både negativt ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative ErrorWebServerUserHasNotPermission=Brukerkonto %s brukes til å utføre web-server har ikke tillatelse til at ErrorNoActivatedBarcode=Ingen strekkodetype aktivert -ErrUnzipFails=Failed to unzip %s with ZipArchive -ErrNoZipEngine=No engine to unzip %s file in this PHP -ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package -ErrorFileRequired=It takes a package Dolibarr file -ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal -ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base -ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base -ErrorNewValueCantMatchOldValue=New value can't be equal to old one +ErrUnzipFails=Klarte ikke å pakke ut %s med ZipArchive +ErrNoZipEngine=Ingen applikasjon som kan pakke ut %s i denne PHP +ErrorFileMustBeADolibarrPackage=Filen %s må være en Dolibarr zip-pakke +ErrorFileRequired=Må være en Dolibarr zip-pakke +ErrorPhpCurlNotInstalled=PHP CURL er ikke installert. Denne må være installert for å kommunisere med Paypal +ErrorFailedToAddToMailmanList=Klarte ikke å legge post %s til Mailman-liste %s eller SPIP-base +ErrorFailedToRemoveToMailmanList=Klarte ikke å fjerne post %s fra Mailman-liste %s eller SPIP-base +ErrorNewValueCantMatchOldValue=Ny verdi kan ikke være lik den gamle ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process. ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start'). -ErrorFailedToAddContact=Failed to add contact -ErrorDateMustBeBeforeToday=The date can not be greater than today +ErrorFailedToAddContact=Klarte ikke å legge til kontakt +ErrorDateMustBeBeforeToday=Datoen kan ikke settes til senere enn i dag 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. +ErrorPHPNeedModule=Feil! Din PHP må ha modulen %s installert for å kunne bruke denne funksjonen. 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! @@ -170,23 +170,24 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings -WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined +WarningMandatorySetupNotComplete=Obligatoriske parametre er enda ikke satt opp WarningSafeModeOnCheckExecDir=Advarsel, PHP alternativet safe_mode er på så kommandere må lagres i en katalog erklært av php parameter safe_mode_exec_dir. WarningAllowUrlFopenMustBeOn=Parameteret allow_url_fopen må slås på on i filen php.ini for at denne modulen skal virke ordentlig. Du må endre denne filen manuelt. WarningBuildScriptNotRunned=Skriptet %s for å lage grafikk er ikke kjørt, eller det er ikngen data å vise. WarningBookmarkAlreadyExists=Et bokmerke med denne tittelen eller denne URL'en eksisterer fra før. WarningPassIsEmpty=Advarsel: databasepassordet er tomt. Dette er en sikkerhetsrisiko. Du bør passordbeskytte databasen og endre filen conf.php WarningConfFileMustBeReadOnly=Advarsel, config (htdocs / conf / conf.php) kan du bli overkjørt av webserveren. Dette er et alvorlig sikkerhetshull. Endre tillatelser på filen for å være i skrivebeskyttet modus for operativsystem bruker brukes av web-server. Hvis du bruker Windows og FAT format for disken din, må du vite at dette filsystemet ikke tillater å legge til tillatelser på filen, så kan ikke være helt sikker. -WarningsOnXLines=Advarsler på %s kilde linjer +WarningsOnXLines=Advarsler på %s kildelinje(r) WarningNoDocumentModelActivated=Ingen modell, for dokument generasjon, har blitt aktivert. En modell vil bli choosed av retten til du sjekke modulen oppsett. -WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable install/migrate tools by adding a file install.lock into directory %s. Missing this file is a security hole. +WarningLockFileDoesNotExists=ADVARSEL! Når setup er ferdig, må du deaktivere installasjon/migrasjons-verktøy ved å legge til filen install.lock i mappen %s. Uten denne filen er sikkerheten kraftig redusert WarningUntilDirRemoved=Denne advarselen vil være aktivert så lenge denne mappen eksisterer (Den vises kun til administratorer). WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. -WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. -WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). -WarningNotRelevant=Irrelevant operation for this dataset +WarningUsingThisBoxSlowDown=Advarsel! Ved å bruke denne boksen vil du gjøre alle sider som bruker den, tregere. +WarningClickToDialUserSetupNotComplete=Oppsett av KlikkForÅRinge informasjon for din bruker er ikke komplett (Se fanen KlikkForÅRinge på ditt bruker-kort) +WarningNotRelevant=Irrelevant operasjon for dette datasettet WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. WarningPaymentDateLowerThanInvoiceDate=Betalingsdato (%s) er tidligere enn fakturadato (%s) for faktura %s. WarningTooManyDataPleaseUseMoreFilters=For mange data. Bruk flere filtre diff --git a/htdocs/langs/nb_NO/exports.lang b/htdocs/langs/nb_NO/exports.lang index 2477c01aff7..1f717a508b6 100644 --- a/htdocs/langs/nb_NO/exports.lang +++ b/htdocs/langs/nb_NO/exports.lang @@ -5,10 +5,10 @@ NewExport=Ny eksport NewImport=Ny import ExportableDatas=Eksporterbart datasett ImportableDatas=Importerbart datasett -SelectExportDataSet=Velg det datasett du vil eksportere... -SelectImportDataSet=Velg dataset du vil importere ... +SelectExportDataSet=Velg datasettet du vil eksportere... +SelectImportDataSet=Velg datasettet du vil importere ... SelectExportFields=Velg felter for eksport, eller velg en forhåndsdefinert eksportprofil -SelectImportFields=Choose source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: +SelectImportFields=Velg feltene du vil importere fra kildefilen og deres mål-felt i databasen, ved å flytte dem opp og ned med %s, eller velg en forhåndsdefinert import-profil: NotImportedFields=Felt av kildefilen ikke importert SaveExportModel=Lagre denne eksportprofilen hvis du har tenkt å bruke den senere ... SaveImportModel=Lagre denne importen profilen hvis du har tenkt å bruke den senere ... @@ -18,75 +18,75 @@ ExportableFields=Eksporterbare felt ExportedFields=Eksporterte felt ImportModelName=Import profilnavn ImportModelSaved=Importer profilen lagret under navnet %s. -ImportableFields=Importable felt +ImportableFields=Importerbare felt ImportedFields=Importerte felt DatasetToExport=Datasett til eksport -DatasetToImport=Import-filen til datasettet +DatasetToImport=Importer filen til datasettet NoDiscardedFields=Ingen felt i kildefilen forkastes Dataset=Datasett ChooseFieldsOrdersAndTitle=Velg feltrekkefølge... FieldsOrder=Feltrekkefølge FieldsTitle=Felttittel -FieldOrder=Field bestilling +FieldOrder=Feltrekkefølge FieldTitle=Felt tittel ChooseExportFormat=Velg ekportformat NowClickToGenerateToBuildExportFile=Trykk på "Opprett" for å lage eksportfilen... AvailableFormats=Tilgjengelige formater LibraryShort=Bibliotek -LibraryUsed=Bibliotek +LibraryUsed=Brukt bibliotek LibraryVersion=Versjon Step=Trinn FormatedImport=Importassistent FormatedImportDesc1=I dette området kan du uten teknisk kunnskap importere egne data ved hjelp av en assistent. FormatedImportDesc2=Første trinn er å velge type data du vil importere, deretter hvilken fil du vil importere og til slutt hvilke felt du vil importere. -FormatedExport=Export assistant -FormatedExportDesc1=I denne området kan du uten teknisk kunnskap eksportere egne data ved hjelp av en assistent. +FormatedExport=Eksportassistent +FormatedExportDesc1=I dette området kan du uten teknisk kunnskap eksportere egne data ved hjelp av en assistent. FormatedExportDesc2=Første trinn er å velge et forhåndsdefinert datasett, deretter hvilke felt du ønsker å eksportere og i hvilken rekkefølge du vil ha dem. FormatedExportDesc3=Når du har valgt hva du vil eksportere velger du hvilket filformat du vil eksportere til. Sheet=Ark NoImportableData=Ingen importerbare data (ingen modul tillater dataimport) FileSuccessfullyBuilt=Eksportfil er opprettet -SQLUsedForExport=SQL Be brukes til å bygge eksportfilen -LineId=ID av linje -LineDescription=Beskrivelse av line +SQLUsedForExport=SQL forespørsel brukt til å bygge eksportfilen +LineId=Linje-ID +LineDescription=Beskrivelse av linje LineUnitPrice=Enhetspris på linje LineVATRate=MVA-sats på linje LineQty=Kvantum for linje -LineTotalHT=Mengde etter skatt for linje +LineTotalHT=Netto etter skatt for linje LineTotalTTC=Beløp med skatt for linje -LineTotalVAT=Mengde av merverdiavgift for linje -TypeOfLineServiceOrProduct=Type line (0 = produkt, en tjeneste =) +LineTotalVAT=MVA-beløp for linje +TypeOfLineServiceOrProduct=Linjetype (0=produkt, 1=tjeneste) FileWithDataToImport=Fil med data som skal importeres -FileToImport=Kilde filen du vil importere +FileToImport=Kildefilen du vil importere FileMustHaveOneOfFollowingFormat=Filen som skal importeres må ha ett av følgende format -DownloadEmptyExample=Last ned eksempel på tom kildefilen +DownloadEmptyExample=Last ned eksempel på tom kildefil ChooseFormatOfFileToImport=Velg filformatet du vil bruke som importere filformatet ved å klikke på picto %s å velge den ... ChooseFileToImport=Last opp fil klikk picto %s å velge filen som kilde importfil ... -SourceFileFormat=Kilde filformat +SourceFileFormat=Kildefil-format FieldsInSourceFile=Felt i kildefilen -FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) -Field=Field +FieldsInTargetDatabase=Målfelt i Dolibarr-databasen (uthevet=obligatorisk) +Field=Felt NoFields=Ingen felt -MoveField=Flytt feltet kolonnenummer %s -ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Lagre denne importen profilen -ErrorImportDuplicateProfil=Kunne ikke lagre denne importen profil med dette navnet. En eksisterende profil finnes allerede med dette navnet. -ImportSummary=Import oppsett sammendrag -TablesTarget=Målrettet tabeller -FieldsTarget=Målrettet felt -TableTarget=Målrettet tabellen -FieldTarget=Målrettet feltet -FieldSource=Kilde-feltet +MoveField=Flytt feltet med kolonnenummer %s +ExampleOfImportFile=Importfil_eksempel +SaveImportProfile=Lagre denne import-profilen +ErrorImportDuplicateProfil=Kunne ikke lagre import-profilen. En eksisterende profil finnes allerede med dette navnet. +ImportSummary=Sammendragav Import-oppsett +TablesTarget=Måltabeller +FieldsTarget=Målfelt +TableTarget=Måltabell +FieldTarget=Målfelt +FieldSource=Kildefelt DoNotImportFirstLine=Ikke importer første linje av kildefilen NbOfSourceLines=Antall linjer i kildefilen NowClickToTestTheImport=Sjekk import parametre du har definert. Hvis de er riktige, klikker du på knappen "%s" til å lansere en simulering av importen (ingen data vil bli endret i databasen, det er bare en simulering for øyeblikket) ... -RunSimulateImportFile=Start import simuleringen -FieldNeedSource=This field requires data from the source file -SomeMandatoryFieldHaveNoSource=Noen obligatoriske felt er ikke noen kilder fra datafilen +RunSimulateImportFile=Start import-simuleringen +FieldNeedSource=Dette feltet krever data fra kildefilen +SomeMandatoryFieldHaveNoSource=Noen obligatoriske felt har ikke noen kilder fra datafilen InformationOnSourceFile=Informasjon om kildefilen -InformationOnTargetTables=Informasjon om målet felt -SelectAtLeastOneField=Bytt minst en kilde feltet i kolonnen av felt til eksport -SelectFormat=Velg denne importen filformatet +InformationOnTargetTables=Informasjon om målfeltene +SelectAtLeastOneField=Bytt minst ett kildefelt i kolonnen av felt som skal eksporteres +SelectFormat=Velg dette filformatet for import RunImportFile=Innlede importfil NowClickToRunTheImport=Sjekk resultatet av import simulering. Hvis alt er ok, starter definitiv import. DataLoadedWithId=Alle data vil bli lastet med følgende import id: %s @@ -102,33 +102,33 @@ NbOfLinesImported=Antall linjer importert: %s. DataComeFromNoWhere=Verdi for å sette inn kommer fra ingensteds i kildefilen. DataComeFromFileFieldNb=Verdi for å sette inn kommer fra felt nummer %s i kildefilen. DataComeFromIdFoundFromRef=Verdi som kommer fra feltet antall %s av kildefilen vil bli brukt til å finne id av overordnede objektet som skal brukes (Så Objet %s som har dommeren. Fra kildefilen må finnes i Dolibarr). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. +DataComeFromIdFoundFromCodeId=Koden som kommer fra feltnummer %s i kildefilen vil bli brukt til å finne id til overordnet objekt som skal brukes (koden fra kildefilen må finnes i ordlisten %s). Merk at hvis du kjenner id'en, kan du også bruke den i kildefilen i stedet for koden. Import skal fungere i begge tilfeller. DataIsInsertedInto=Data kommer fra kildefil blir satt inn på følgende felt: DataIDSourceIsInsertedInto=IDen til overordnede objektet ble funnet ved hjelp av dataene i kildefilen, vil bli satt inn på følgende felt: DataCodeIDSourceIsInsertedInto=Id av foreldrene linje funnet fra kode, vil bli satt inn i følgende felt: SourceRequired=Dataverdi er obligatorisk -SourceExample=Eksempel på mulige dataverdi +SourceExample=Eksempel på mulig dataverdi ExampleAnyRefFoundIntoElement=Enhver ref funnet for element %s -ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s +ExampleAnyCodeOrIdFoundIntoDictionary=Kode (eller ID) funnet i ordlisten %s CSVFormatDesc=Kommadelte Verdi filformatet (. CSV).
Dette er en tekstfil format der feltene er atskilt med skilletegn [%s]. Hvis separatoren blir funnet inne i et felt innhold, er felt omgitt av runde tegn [%s]. Escape karakter å unnslippe runde tegn er [%s]. -Excel95FormatDesc=Excel file format (.xls)
This is native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
This is native Excel 2007 format (SpreadsheetML). -TsvFormatDesc=Tab Separated Value file format (.tsv)
This is a text file format where fields are separated by a tabulator [tab]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate records (with this field added, all lines will own their own id and will differ). -CsvOptions=Csv Options +Excel95FormatDesc=Excel filformat (.xls)
Excel 95 format (BIFF5). +Excel2007FormatDesc=Excel filformat (.xlsx)
Excel 2007 format (SpreadsheetML). +TsvFormatDesc=Tabulator-separert verdi filformat (.tsv)
Dette er et tekstfilformat der teksten er separert med tabulator [tab]. +ExportFieldAutomaticallyAdded=Feltet %s ble lagt til automatisk. Det vil forhindre at like linjer blir behandlet som duplikater (med dette feltet vil alle linjer få sin egen ID og dermed være ulike). +CsvOptions=CSV innstillinger Separator=Separator -Enclosure=Enclosure -SuppliersProducts=Suppliers Products +Enclosure=Innbygging +SuppliersProducts=Leverandørs produkter BankCode=Bank code (ikke i Norge) DeskCode=Desk code (ikke i Norge) BankAccountNumber=Kontonummer BankAccountNumberKey=Nøkkel -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 +SpecialCode=Spesialkode +ExportStringFilter=%% tillater at at en eller flere karakterer i teksten kan erstattes +ExportDateFilter=ÅÅÅÅ, ÅÅÅÅMM, ÅÅÅÅMMDD : filtrert etter år/måned/dag
ÅÅÅÅ+ÅÅÅÅ, ÅÅÅÅMM+ÅÅÅÅMM, ÅÅÅÅMMDD+ÅÅÅÅMMDD: filtrerer en tidsperiode
> ÅÅÅÅ, > ÅÅÅÅMM, > ÅÅÅÅMMDD: filteret velger alle påfølgende år
< ÅÅÅÅ, < ÅÅÅÅMM, < ÅÅÅÅMMDD: filteret velger alle foregående år +ExportNumericFilter='NNNNN' filtrer etter en verdi
'NNNNN+NNNNN' filtrerer etter verdirekke
'>NNNNN' filtrerer etter synkende verdier
'>NNNNN' filtrerer etter stigende verdier ## filters -SelectFilterFields=If you want to filter on some values, just input values here. -FilterableFields=Champs Filtrables -FilteredFields=Filtered fields -FilteredFieldsValues=Value for filter +SelectFilterFields=Hvis du vil filtrere etter noen verdier, kan du endre dem her +FilterableFields=Filtrerbar +FilteredFields=Filtrerte felt +FilteredFieldsValues=Filterverdi diff --git a/htdocs/langs/nb_NO/externalsite.lang b/htdocs/langs/nb_NO/externalsite.lang index a9bb5c5b6b8..7a530d73f28 100644 --- a/htdocs/langs/nb_NO/externalsite.lang +++ b/htdocs/langs/nb_NO/externalsite.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - externalsite -ExternalSiteSetup=Oppsett lenke til ekstern nettside +ExternalSiteSetup=Oppsett av lenke til ekstern nettside ExternalSiteURL=Ekstern nettstedadresse -ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. -ExampleMyMenuEntry=My menu entry +ExternalSiteModuleNotComplete=Modulen Ekstern Side ble ikke riktig konfigurert. +ExampleMyMenuEntry=Meny overskrift diff --git a/htdocs/langs/nb_NO/ftp.lang b/htdocs/langs/nb_NO/ftp.lang index d0601a56610..e6489900da0 100644 --- a/htdocs/langs/nb_NO/ftp.lang +++ b/htdocs/langs/nb_NO/ftp.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - ftp -FTPClientSetup=FTP klient modul oppsett -NewFTPClient=Ny FTP tilkoblingsoppsettet -FTPArea=FTP området +FTPClientSetup=Oppset av FTP-klient modulen +NewFTPClient=Nytt oppsett av FTP- tilkobling +FTPArea=FTP område FTPAreaDesc=Denne skjermen viser innholdet på en FTP server visning -SetupOfFTPClientModuleNotComplete=Oppsett av FTP-klient modul synes å være ikke fullstendig +SetupOfFTPClientModuleNotComplete=Oppsett av FTP-klient modul synes å være ufullstendig FTPFeatureNotSupportedByYourPHP=Din PHP støtter ikke FTP-funksjoner FailedToConnectToFTPServer=Kunne ikke koble til FTP-server (server %s, port %s) -FailedToConnectToFTPServerWithCredentials=Klarte å logge inn på FTP-server med definert brukernavn og passord -FTPFailedToRemoveFile=Klarte å fjerne filen %s. +FailedToConnectToFTPServerWithCredentials=Klarte ikke å logge inn på FTP-server med angitt brukernavn og passord +FTPFailedToRemoveFile=Klarte ikke å fjerne filen %s. FTPFailedToRemoveDir=Kunne ikke fjerne katalogen %s (Sjekk tillatelser, og at katalogen er tom). -# FTPPassiveMode=Passive mode +FTPPassiveMode=Passiv modus diff --git a/htdocs/langs/nb_NO/help.lang b/htdocs/langs/nb_NO/help.lang index 64d05df250b..db542e78f54 100644 --- a/htdocs/langs/nb_NO/help.lang +++ b/htdocs/langs/nb_NO/help.lang @@ -1,28 +1,28 @@ # Dolibarr language file - Source file is en_US - help -CommunitySupport=Forum / Wiki-støtte -EMailSupport=Emails støtte -RemoteControlSupport=Online sanntid / ekstern støtte -OtherSupport=Annen støtte -ToSeeListOfAvailableRessources=For å kontakte / se tilgjengelige ressurser: +CommunitySupport=Forum/Wiki-support +EMailSupport=Epostsupport +RemoteControlSupport=Online support +OtherSupport=Annen support +ToSeeListOfAvailableRessources=For å se tilgjengelige ressurser: ClickHere=Klikk her HelpCenter=Brukerstøtte -DolibarrHelpCenter=Dolibarr Hjelp og støtte +DolibarrHelpCenter=Dolibarr hjelp og support ToGoBackToDolibarr=Ellers, klikk her for å bruke Dolibarr -TypeOfSupport=Kilde til støtte -TypeSupportCommunauty=Community (gratis) +TypeOfSupport=Kilde til support +TypeSupportCommunauty=Brukergruppe (gratis) TypeSupportCommercial=Kommersiell TypeOfHelp=Type -NeedHelpCenter=Trenger du hjelp eller støtte? +NeedHelpCenter=Trenger du support? Efficiency=Effektivitet -TypeHelpOnly=Hjelp bare +TypeHelpOnly=Kun hjelp TypeHelpDev=Hjelp + Utvikling TypeHelpDevForm=Hjelp + utvikling + Dannelse -ToGetHelpGoOnSparkAngels1=Noen selskaper kan gi en rask (umiddelbar gang) og mer effektiv online-støtte ved å ta kontroll over datamaskinen. Slike hjelpere kan bli funnet på %s nettsted: -ToGetHelpGoOnSparkAngels3=Du kan også gå til listen over alle tilgjengelige trenere for Dolibarr, for dette klikk på knappen -ToGetHelpGoOnSparkAngels2=Noen ganger er det ingen selskap tilgjengelig i det øyeblikket du gjøre søk, så tenk å endre filter for å se etter "alt tilgjengelighet". Du vil kunne sende flere forespørsler. -BackToHelpCenter=Ellers, her klikker du gå tilbake til hjemmesiden for brukerstøtten . -LinkToGoldMember=Du kan ringe en av coach forhåndsvalgt ved Dolibarr for ditt språk (%s) ved å klikke sine Widget (status og høyeste pris er automatisk oppdatert): +ToGetHelpGoOnSparkAngels1=Noen selskaper kan gi en rask (av og til umiddelbar) og mer effektiv online-support ved å ta kontroll over datamaskinen. Slik hjelp kan bli funnet på %s nettsted: +ToGetHelpGoOnSparkAngels3=Du kan også gå til listen over alle tilgjengelig support for Dolibarr. For dette, klikk på knappen +ToGetHelpGoOnSparkAngels2=Noen ganger er det ingen selskap tilgjengelig når du søker. Endre filteret for å se etter "alle tilgjengelige". Du vil da kunne sende flere forespørsler. +BackToHelpCenter=Ellers, klikk her for å gå tilbake til hjemmesiden for brukerstøtte . +LinkToGoldMember=Du kan ringe forhåndsvalgt support fra Dolibarr for ditt språk (%s) ved å klikke dennes Widget (status og maksimumspris blir automatisk oppdatert): PossibleLanguages=Støttede språk -MakeADonation=Hjelp Dolibarr prosjektet, gjøre en donasjon -# SubscribeToFoundation=Help Dolibarr project, subscribe to the foundation -# SeeOfficalSupport=For official Dolibarr support in your language:
%s +MakeADonation=Hjelp Dolibarr prosjektet, gjør en donasjon +SubscribeToFoundation=Hjelp Dolibarr prosjektet, gi en donasjon +SeeOfficalSupport=For offisiell Dolibarr support på ditt språk:
%s diff --git a/htdocs/langs/nb_NO/incoterm.lang b/htdocs/langs/nb_NO/incoterm.lang new file mode 100644 index 00000000000..7c6c1dccec0 --- /dev/null +++ b/htdocs/langs/nb_NO/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Legg til egenskaper for å administrere Incoterm +IncotermLabel=Incotermer +IncotermSetupTitle1=Egenskap +IncotermSetupTitle2=Status +IncotermSetup=Oppsett av Incoterm-modulen +IncotermFunctionDesc=Aktiver Incoterm (Tredjepart, Tilbud, Kundeordre, Kundefaktura, Forsendelse, Leverandørordre) diff --git a/htdocs/langs/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index 68733baa63f..b5f4e9a57d0 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -8,9 +8,9 @@ ConfFileDoesNotExistsAndCouldNotBeCreated=Konfigurasjonsfil %s eksisterer ConfFileCouldBeCreated=Konfigurasjonsfil %s kunne bli skapt. ConfFileIsNotWritable=Konfigurasjonsfil %s er ikke skrivbar. Sjekk tillatelser. For første installere, må webserveren få innvilget å kunne skrive inn i denne filen under konfigureringen ("chmod 666" for eksempel på en Unix som OS). ConfFileIsWritable=Konfigurasjonsfil %s er skrivbar. -ConfFileReload=Reload all informasjon fra konfigurasjonsfilen. +ConfFileReload=Last inn all informasjon fra konfigurasjonsfilen igjen. PHPSupportSessions=Dette PHP støtter sesjoner. -PHPSupportPOSTGETOk=Dette PHP støtter variabler POST og GET. +PHPSupportPOSTGETOk=Dette PHP støtter variablene POST og GET. PHPSupportPOSTGETKo=Det er mulig at din PHP-oppsettet støtter ikke variabler POST og / eller GET. Sjekk din parameter variables_order i php.ini. PHPSupportGD=Denne PHP-støtte GD grafiske funksjoner. PHPSupportUTF8=Denne PHP-støtte UTF8 funksjoner. @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Databaseserveren - Superbruker tilgang CheckToCreateDatabase=Boksen hvis databasen finnes ikke og må lages.
I dette tilfellet må du fylle login / passord for superuser kontoen nederst på denne siden. CheckToCreateUser=Boksen hvis databasen eieren ikke eksisterer og må opprettes.
I dette tilfellet må du velge sin login og passord, og også fylle brukernavn / passord for superuser kontoen nederst på denne siden. Hvis denne boksen ikke er avkrysset, eier database og passord må finnes. Experimental=(Eksperimentell) +Deprecated=(utdatert) DatabaseRootLoginDescription=Logg inn av brukeren lov til å opprette nye databaser eller nye brukere, ubrukelig hvis databasen og databasen din logikk allerede eksisterer (som når du er vert for en web hosting leverandør). KeepEmptyIfNoPassword=La det være tomt hvis bruker har ingen passord (unngå denne) SaveConfigurationFile=Lagre verdier @@ -90,12 +91,12 @@ YouNeedToPersonalizeSetup=Du må konfigurere Dolibarr som passer dine behov (uts AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' opprettet heldig. GoToDolibarr=Gå til Dolibarr GoToSetupArea=Gå til Dolibarr (setup-området) -MigrationNotFinished=Versjon av dtabase din ikke er helt oppdatert, så du må kjøre upgrade prosessen igjen. -GoToUpgradePage=Gå til side oppgradere igjen +MigrationNotFinished=Databaseversjonen din ikke er helt oppdatert, så du må kjøre oppgraderingen på nytt. +GoToUpgradePage=Gå til oppgraderingssiden igjen Examples=Eksempler WithNoSlashAtTheEnd=Uten skråstrek "/" på slutten -DirectoryRecommendation=Det er recommanded å bruke en ut av ditt katalogen av websidene dine. -LoginAlreadyExists=Det finnes allerede +DirectoryRecommendation=Det er anbefalt å bruke en annen katalog enn den for websidene dine. +LoginAlreadyExists=Finnes allerede DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administratorkonto '%s' finnes allerede. WarningRemoveInstallDir=Advarsel, av sikkerhetshensyn, når installere eller oppgraderingen er fullført, bør du fjerne installerer katalogen eller endre navnet til install.lock for å unngå den skadelige bruk. diff --git a/htdocs/langs/nb_NO/interventions.lang b/htdocs/langs/nb_NO/interventions.lang index cd64f8484af..b1e70f7a3fb 100644 --- a/htdocs/langs/nb_NO/interventions.lang +++ b/htdocs/langs/nb_NO/interventions.lang @@ -3,51 +3,51 @@ Intervention=Intervensjon Interventions=Intervensjoner InterventionCard=Intervensjonskort NewIntervention=Ny intervensjon -AddIntervention=Create intervention +AddIntervention=Opprett intervensjon ListOfInterventions=Oversikt over intervensjoner EditIntervention=Rediger intervensjon -ActionsOnFicheInter=Handlinger om inngrep +ActionsOnFicheInter=Handlinger ved intervensjon LastInterventions=Siste %s intervensjoner AllInterventions=Alle intervensjoner CreateDraftIntervention=Lag kladd -CustomerDoesNotHavePrefix=Kunder har ikke noe prefix +CustomerDoesNotHavePrefix=Kunder har ikke noen prefix InterventionContact=Intervensjonskontakt DeleteIntervention=Slett intervensjon -ValidateIntervention=Godkjenn intervensjon +ValidateIntervention=Valider intervensjon ModifyIntervention=Endre intervensjon DeleteInterventionLine=Slett intervensjonslinje ConfirmDeleteIntervention=Er du sikker på at du vil slette denne intervensjonen? -ConfirmValidateIntervention=Er du sikker på at du vil godkjenne denne intervensjonen? +ConfirmValidateIntervention=Er du sikker på at du vil validere denne intervensjonen under navnet %s? ConfirmModifyIntervention=Er du sikker på at du vil endre denne intervensjonen? ConfirmDeleteInterventionLine=Er du sikker på at du vil slette denne intervensjonslinjen? -NameAndSignatureOfInternalContact=Navn og signatur tekniker : -NameAndSignatureOfExternalContact=Navn og signatutr kunde : +NameAndSignatureOfInternalContact=Kundebehandlers navn og signatur : +NameAndSignatureOfExternalContact=Kundes navn og signatur : DocumentModelStandard=Standard dokumentet modell for intervensjoner -InterventionCardsAndInterventionLines=Interventions and lines of interventions -InterventionClassifyBilled=Merk "Belastet" -InterventionClassifyUnBilled=Merk "Ikke belastet" +InterventionCardsAndInterventionLines=Intervensjoner og intervensjonslinjer +InterventionClassifyBilled=Merk "Fakturert" +InterventionClassifyUnBilled=Merk "Ikke fakturert" StatusInterInvoiced=Fakturert RelatedInterventions=Relaterte intervensjoner ShowIntervention=Vis intervensjon -SendInterventionRef=Submission of intervention %s -SendInterventionByMail=Send intervention by Email -InterventionCreatedInDolibarr=Intervention %s created -InterventionValidatedInDolibarr=Intervention %s validated -InterventionModifiedInDolibarr=Intervention %s modified -InterventionClassifiedBilledInDolibarr=Intervention %s set as billed -InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled -InterventionSentByEMail=Intervention %s sent by EMail -InterventionDeletedInDolibarr=Intervention %s deleted -SearchAnIntervention=Search an intervention +SendInterventionRef=Send intervensjon %s +SendInterventionByMail=Send intervensjon med e-post +InterventionCreatedInDolibarr=Intervensjon %s opprettet +InterventionValidatedInDolibarr=Intervensjon %s validert +InterventionModifiedInDolibarr=Intervensjon %s endret +InterventionClassifiedBilledInDolibarr=Intervensjon %s satt til fakturert +InterventionClassifiedUnbilledInDolibarr=Intervensjon %s satt til ufakturert +InterventionSentByEMail=Intervensjon %s sendt med e-post +InterventionDeletedInDolibarr=Intervensjon %s ble slettet +SearchAnIntervention=Søk etter intervensjon ##### Types de contacts ##### TypeContact_fichinter_internal_INTERREPFOLL=Ansvarlig for å følge opp intervensjonen -TypeContact_fichinter_internal_INTERVENING=Tekniker +TypeContact_fichinter_internal_INTERVENING=Behandler TypeContact_fichinter_external_BILLING=Kundens fakturakontakt -TypeContact_fichinter_external_CUSTOMER=Ansvarlig hos kunden for oppfølging +TypeContact_fichinter_external_CUSTOMER=Ansvarlig for kundeoppfølging # Modele numérotation ArcticNumRefModelDesc1=Generisk nummereringsmodell ArcticNumRefModelError=Feil ved aktivering -PacificNumRefModelDesc1=Gir et nummer med formatet %sååmm-nnnn hvor åå er året, mm er måneden og nnnn er et løpenummer som ikke settes tilbake til null +PacificNumRefModelDesc1=Gir et nummer med formatet %sååmm-nnnn hvor åå er året, mm er måneden og nnnn er et løpenummer som ikke kan settes tilbake til 0 PacificNumRefModelError=Det finnes allerede et intervensjonskort som starter med $sååmm, og dette er ikke kompatibelt med denne nummereringsmodellen. Du må fjerne denne for å aktivere denne modellen. -PrintProductsOnFichinter=Print products on intervention card -PrintProductsOnFichinterDetails=interventions generated from orders +PrintProductsOnFichinter=Skriv ut produkter på intervensjonskortet +PrintProductsOnFichinterDetails=intervensjoner generert fra ordre diff --git a/htdocs/langs/nb_NO/languages.lang b/htdocs/langs/nb_NO/languages.lang index 08258b18b0b..43282c5b149 100644 --- a/htdocs/langs/nb_NO/languages.lang +++ b/htdocs/langs/nb_NO/languages.lang @@ -2,50 +2,55 @@ Language_ar_AR=Arabisk Language_ar_SA=Arabisk +Language_bn_BD=Bengalsk Language_bg_BG=Bulgarsk Language_bs_BA=Bosnisk Language_ca_ES=Katalansk -Language_cs_CZ=Czech +Language_cs_CZ=Tsjekkisk Language_da_DA=Dansk Language_da_DK=Dansk Language_de_DE=Tysk Language_de_AT=Tysk (Østerrike) Language_de_CH=Tysk (Sveits) Language_el_GR=Gresk -Language_en_AU=English (Australia) +Language_en_AU=Engelsk (Australia) Language_en_CA=Engelsk (Canada) -Language_en_GB=English (United Kingdom) -Language_en_IN=English (India) +Language_en_GB=Engelsk (U.K.) +Language_en_IN=Engelsk (India) Language_en_NZ=Engelsk (New Zealand) -Language_en_SA=Norsk (Saudi-Arabia) -Language_en_US=English (United States) -Language_en_ZA=Norsk (Sør-Afrika) +Language_en_SA=Engelsk (Saudi-Arabia) +Language_en_US=Engelsk (USA) +Language_en_ZA=Engelsk (Sør-Afrika) Language_es_ES=Spansk -Language_es_DO=Spansk (Den Dominikanske republikk) Language_es_AR=Spansk (Argentina) Language_es_CL=Spansk (Chile) +Language_es_CO=Spansk (Colombia) +Language_es_DO=Spansk (Den Dominikanske republikk) Language_es_HN=Spansk (Honduras) Language_es_MX=Spansk (Mexico) Language_es_PY=Spansk (Paraguay) Language_es_PE=Spansk (Peru) Language_es_PR=Spansk (Puerto Rico) -Language_et_EE=Estonian -Language_eu_ES=Basque -Language_fa_IR=Persian -Language_fi_FI=Svømmeføtter +Language_et_EE=Estonsk +Language_eu_ES=Baskisk +Language_fa_IR=Persisk +Language_fi_FI=Finsk Language_fr_BE=Fransk (Belgia) Language_fr_CA=Fransk (Canada) Language_fr_CH=Fransk (Sveits) Language_fr_FR=Fransk Language_fr_NC=Fransk (Ny Caledonia) -Language_he_IL=Hebrew -Language_hr_HR=Croatian +Language_he_IL=Hebraisk +Language_hr_HR=Kroatisk Language_hu_HU=Ungarsk Language_id_ID=Indonesisk Language_is_IS=Islandsk Language_it_IT=Italiensk Language_ja_JP=Japansk -Language_ko_KR=Korean +Language_ka_GE=Georgisk +Language_kn_IN=Kanadisk +Language_ko_KR=Koreansk +Language_lo_LA=Laotisk Language_lt_LT=Litauisk Language_lv_LV=Latvisk Language_mk_MK=Makedonsk @@ -64,6 +69,7 @@ Language_sv_SV=Svensk Language_sv_SE=Svensk Language_sq_AL=Albansk Language_sk_SK=Slovakisk +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainsk Language_uz_UZ=Usbekisk diff --git a/htdocs/langs/nb_NO/link.lang b/htdocs/langs/nb_NO/link.lang index 8b1efb75ef3..951f0a60b50 100644 --- a/htdocs/langs/nb_NO/link.lang +++ b/htdocs/langs/nb_NO/link.lang @@ -1,8 +1,8 @@ -LinkANewFile=Link a new file/document -LinkedFiles=Linked files and documents -NoLinkFound=No registered links -LinkComplete=The file has been linked successfully -ErrorFileNotLinked=The file could not be linked -LinkRemoved=The link %s has been removed -ErrorFailedToDeleteLink= Failed to remove link '%s' -ErrorFailedToUpdateLink= Failed to update link '%s' +LinkANewFile=Koble en ny fil/dokument +LinkedFiles=Koblede filer og dokumenter +NoLinkFound=Ingen registrerte koblinger +LinkComplete=Filkoblingen ble opprettet +ErrorFileNotLinked=Filen kunne ikke kobles +LinkRemoved=Koblingen til %s ble fjernet +ErrorFailedToDeleteLink= Klarte ikke å fjerne kobling'%s' +ErrorFailedToUpdateLink= Klarte ikke å oppdatere koblingen til '%s' diff --git a/htdocs/langs/nb_NO/loan.lang b/htdocs/langs/nb_NO/loan.lang new file mode 100644 index 00000000000..05f1a12a6c0 --- /dev/null +++ b/htdocs/langs/nb_NO/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Lån +Loans=Lån +NewLoan=Nytt lån +ShowLoan=Vis lån +PaymentLoan=Nedbetaling på lån +ShowLoanPayment=Vis nedbetaling på lån +Capital=Kapital +Insurance=Forsikring +Interest=Rente +Nbterms=Antall terminer +LoanAccountancyCapitalCode=Regnskapskode for kapital +LoanAccountancyInsuranceCode=Regnskapskode for forsikring +LoanAccountancyInterestCode=Regnskapskode for rente +LoanPayment=Nedbetaling på lån +ConfirmDeleteLoan=Bekreft sletting av dette lånet +LoanDeleted=Lånet ble slettet +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Lån nedbetalt +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Avdrag +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totalt for året +MonthlyPayment=Månedlig avdrag +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Oppset av lån-modulen +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/nb_NO/mailmanspip.lang b/htdocs/langs/nb_NO/mailmanspip.lang index 7f877890be9..ebfa0937190 100644 --- a/htdocs/langs/nb_NO/mailmanspip.lang +++ b/htdocs/langs/nb_NO/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 succesfully -MailmanDeletionSuccess=Unsubscription test was executed succesfully -SynchroMailManEnabled=A Mailman update will be performed -SynchroSpipEnabled=A Spip update will be performed -DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password -DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions -DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions -DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) -SPIPTitle=SPIP Content Management System +MailmanSpipSetup=Oppsett av Mailman- og SPIP-modulen +MailmanTitle=Mailman system for e-postlister +TestSubscribe=For å teste abonnement til Mailman-lister +TestUnSubscribe=For å teste fjerning av abonnement fra Mailman-lister +MailmanCreationSuccess=Test av nytt abonnement var vellykket +MailmanDeletionSuccess=Test av fjerning av abonnement var vellykket +SynchroMailManEnabled=En Mailman-oppdatering vil bli utført +SynchroSpipEnabled=En SPIP-oppdatering vil bli utført +DescADHERENT_MAILMAN_ADMINPW=Mailman administrator-passord +DescADHERENT_MAILMAN_URL=URL for Mailman abonnementer +DescADHERENT_MAILMAN_UNSUB_URL=URL for fjerning av Mailman abonnementer +DescADHERENT_MAILMAN_LISTS=Liste(r) for automatisk innmelding av nye medlemmer (separert med komma) +SPIPTitle=Administrasjon av SPIP-innhold DescADHERENT_SPIP_SERVEUR=SPIP server DescADHERENT_SPIP_DB=SPIP databasenavn DescADHERENT_SPIP_USER=SPIP database innlogging DescADHERENT_SPIP_PASS=SPIP database passord AddIntoSpip=Legg til i SPIP -AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? -AddIntoSpipError=Failed to add the user in SPIP -DeleteIntoSpip=Remove from SPIP -DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? -DeleteIntoSpipError=Failed to suppress the user from SPIP -SPIPConnectionFailed=Failed to connect to SPIP -SuccessToAddToMailmanList=Add of %s to mailman list %s or SPIP database done -SuccessToRemoveToMailmanList=Removal of %s from mailman list %s or SPIP database done +AddIntoSpipConfirmation=Er du sikker på at du vil legge dette medlemmet til i SPIP? +AddIntoSpipError=Klarte ikke å legge til bruker i SPIP +DeleteIntoSpip=Fjern fra SPIP +DeleteIntoSpipConfirmation=Er du sikker på at du vil fjerne dette medlemmet fra SPIP? +DeleteIntoSpipError=Klarte ikke å fjerne brukeren fra SPIP +SPIPConnectionFailed=Klarte ikke å koble til SPIP +SuccessToAddToMailmanList=Innmelding av %s til Mailman-liste %s eller SPIP-database utført +SuccessToRemoveToMailmanList=Utmelding av %s til Mailman-liste %s eller SPIP-database utført diff --git a/htdocs/langs/nb_NO/mails.lang b/htdocs/langs/nb_NO/mails.lang index f886b9c1129..6485342e0b9 100644 --- a/htdocs/langs/nb_NO/mails.lang +++ b/htdocs/langs/nb_NO/mails.lang @@ -3,12 +3,12 @@ Mailing=E-postutsendelser EMailing=E-postutsendelser Mailings=E-postutsendelser EMailings=E-postutsendelser -AllEMailings=Alle eMailings +AllEMailings=Alle utsendelser MailCard=E-postkort MailTargets=Målgruppe MailRecipients=Mottagere MailRecipient=Mottager -MailTitle=Kampanjetittel +MailTitle=Beskrivelse MailFrom=Avsender MailErrorsTo=Feilmeldinger til MailReply=Svar til @@ -23,61 +23,61 @@ ShowEMailing=Vis utsendelse ListOfEMailings=Oversikt over utsendelser NewMailing=Ny utsendelse EditMailing=Rediger utsendelse -ResetMailing=Send e-post +ResetMailing=Start utsendelse på nytt DeleteMailing=Slett utsendelse DeleteAMailing=Slett en utsendelse PreviewMailing=Forhåndsvis utsendelse PrepareMailing=Klargjør utsendelse CreateMailing=Opprett utsendelse -MailingDesc=Her kan du sende e-postutesendelser til grupper av mottagere. +MailingDesc=Her kan du sende e-poster til grupper av mottagere. MailingResult=Sendingsresultat -TestMailing=Test utsendelse -ValidMailing=Godkjenn utsendelse -ApproveMailing=Aksepter utsendelse +TestMailing=Test e-post +ValidMailing=Valider utsendelse +ApproveMailing=Godkjenn utsendelse MailingStatusDraft=Kladd -MailingStatusValidated=Godkjent -MailingStatusApproved=Akseptert +MailingStatusValidated=Validert +MailingStatusApproved=Godkjent MailingStatusSent=Sendt MailingStatusSentPartialy=Delvis sendt -MailingStatusSentCompletely=Sendt fullt ut +MailingStatusSentCompletely=Utsendelse komplett MailingStatusError=Feil MailingStatusNotSent=Ikke sendt MailSuccessfulySent=E-post ble sendt (fra %s til %s) -MailingSuccessfullyValidated=Emailing validert +MailingSuccessfullyValidated=Utsendelse validert MailUnsubcribe=Avmelding Unsuscribe=Avmelding -MailingStatusNotContact=Avslutt kontakt +MailingStatusNotContact=Skal ikke kontaktes flere ganger ErrorMailRecipientIsEmpty=E-postmottager er ikke oppgitt WarningNoEMailsAdded=Ingen ny e-post å legge til mottagerlisten. -ConfirmValidMailing=Er du sikker på at du vil godkjenne utsendelsen? -ConfirmResetMailing=Advarsel ved reinitializing emailing %s, kan du gjøre en masse sending av denne e-en annen gang. Er du sikker på at du dette er hva du vil gjøre? +ConfirmValidMailing=Er du sikker på at du vil validere utsendelsen? +ConfirmResetMailing=Advarsel ved reinitialisering av utsendelse %s, kan du gjøre en masseutsendelse av denne e-posten en annen gang. Er du sikker på at det er dette du vil gjøre? ConfirmDeleteMailing=Er du sikker på at du vil slette utsendelsen? NbOfRecipients=Antall mottagere NbOfUniqueEMails=Ant. unike e-poster NbOfEMails=Ant. e-poster -TotalNbOfDistinctRecipients=Antall bestemte mottagere +TotalNbOfDistinctRecipients=Antall unike mottagere NoTargetYet=Ingen mottagere angitt (Gå til fanen 'Mottakere') AddRecipients=Legg til mottakere RemoveRecipient=Fjern mottaker -CommonSubstitutions=Vanlige flettefelt +CommonSubstitutions=Vanlige erstatninger YouCanAddYourOwnPredefindedListHere=Les mer om hvordan du lager din egen utvalgsliste her: htdocs/core/modules/mailings/README. EMailTestSubstitutionReplacedByGenericValues=Når du er i testmodus blir flettefelt erstattet med generiske verdier MailingAddFile=Legg ved denne filen NoAttachedFiles=Ingen vedlagte filer -BadEMail=Ugyldig verdi for Email -CloneEMailing=Clone Emailing -ConfirmCloneEMailing=Er du sikker på at du vil klone denne e-post? -CloneContent=Clone melding -CloneReceivers=Cloner mottakere +BadEMail=Ugyldig verdi for e-post +CloneEMailing=Klon utsendelse +ConfirmCloneEMailing=Er du sikker på at du vil klone denne utsendelsen? +CloneContent=Klon melding +CloneReceivers=Klon mottakere DateLastSend=Dato for siste sending DateSending=Dato sending SentTo=Sendt til %s MailingStatusRead=Les CheckRead=Les Kvittering -YourMailUnsubcribeOK=Eposten %s er korrekt meldt av mailinglisten +YourMailUnsubcribeOK=E-postadressen %s er korrekt avmeldt fra mailinglisten MailtoEMail=Link til e-post ActivateCheckRead=Tillate å bruke "Avmelding" linken -ActivateCheckReadKey=Key bruk for å kryptere URL bruk for "Les kvittering" og "melder"-funksjonen +ActivateCheckReadKey=Nøkkel for å kryptere URL'en brukt til "Les kvittering" og "Avslutt abonnement" egenskapen EMailSentToNRecipients=E-post sendt til %s mottakere. XTargetsAdded=%s mottakere lagt til i målliste EachInvoiceWillBeAttachedToEmail=Et dokument med standard faktura dokumentmal vil bli opprettet og sendt med hver e-post. @@ -90,10 +90,10 @@ ResultOfMassSending=Resultatet av masse e-post påminnelser sending # Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Alle tredjeparters kontaktpersoner (kunder, prospekter, leverandører, ...) -MailingModuleDescDolibarrUsers=Alle Dolibarr-brukere med egen e-post +MailingModuleDescDolibarrUsers=Dolibarr-brukere MailingModuleDescFundationMembers=Medlemmer med e-postadresser -MailingModuleDescEmailsFromFile=E-poster lest inn fra teksttil (e-post;fornavn;etternavn) -MailingModuleDescEmailsFromUser=E-post fra brukerundersøkelser (epost, etternavn, fornavn, andre) +MailingModuleDescEmailsFromFile=E-poster lest inn fra tekstfil (e-post;fornavn;etternavn) +MailingModuleDescEmailsFromUser=E-poster fra brukere (epost, etternavn, fornavn, andre) MailingModuleDescContactsCategories=Alle tredjeparters kontakter (etter kategori) MailingModuleDescDolibarrContractsLinesExpired=Tredjeparter med utløpte kontraktens linjer MailingModuleDescContactsByCompanyCategory=Kontakter til tredjeparter (av tredjeparter kategori) @@ -115,7 +115,7 @@ SentBy=Sendt av MailingNeedCommand=For sikkerhets skyld sende en e-post er bedre når utføres fra kommandolinjen. Hvis du har en, spør din server administrator å lansere følgende kommando for å sende e-post til alle mottakere: MailingNeedCommand2=Du kan imidlertid sende dem online ver å sette parameteret MAILING_LIMIT_SENDBYWEB til en verdi tilsvarende den maksimale antalle e-poster du ønsker å sende i en økt. ConfirmSendingEmailing=Hvis du ikke kan eller foretrekker å sende dem med din nettleser, må du bekrefte at du er sikker på at du vil sende e-post nå fra nettleseren din? -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. +LimitSendingEmailing=Merk: E-postutsendelser fra web-grensenitt er delt opp i flere omganger av sikkerhets-/timeout-hensyn.%s mottakere for hver utsendelse. TargetsReset=Tøm liste ToClearAllRecipientsClickHere=Trykk på knappen for å tømme mottagerlisten ToAddRecipientsChooseHere=Velg i listene for å legge til mottagere @@ -133,11 +133,11 @@ Notifications=Varsler NoNotificationsWillBeSent=Ingen e-postvarsler er planlagt for denne hendelsen/firmaet ANotificationsWillBeSent=1 e-postvarsel vil bli sendt med e-post SomeNotificationsWillBeSent=%s e-postvarsler vil bli sendt med e-post -AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +AddNewNotification=Aktiver ny målgruppe for epost +ListOfActiveNotifications=Liste over alle mål for e-postvarsling ListOfNotificationsDone=List alle e-postmeldinger sendt -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 +MailSendSetupIs=E-postutsendelser er blitt satt opp til '%s'. Denne modusen kan ikke brukes ved masseutsendelser +MailSendSetupIs2=Logg på som administrator, gå til menyen %sHjem - Oppsett - E-post%s for å endre parameter '%s' for å bruke '%s' modus. I denne modusen for du tilgang til oppsett av SMTP-server og muligheten til å bruke masseutsendelser. +MailSendSetupIs3=Ved spørsmål om hvordan du skal sette opp SMTP-serveren din, kontakt %s +YouCanAlsoUseSupervisorKeyword=Du kan også bruke nøkkelordet __SUPERVISOREMAIL__ for å sende e-post til brukerens supervisor (supervisoren måha e-postadresse) +NbOfTargetedContacts=Nåværende antall kontakter på mailinglisten diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index f85c16137a9..2fa4ab05869 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - main -DIRECTION=l +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 @@ -25,29 +25,29 @@ FormatDateHourTextShort=%d. %b %Y %H:%M FormatDateHourText=%d. %B %Y %H:%M DatabaseConnection=Databasetilkobling NoTranslation=Ingen oversettelse -NoRecordFound=Ingen rekord funnet +NoRecordFound=Ingen post funnet NoError=Ingen feil Error=Feil ErrorFieldRequired=Feltet '%s' er påkrevet ErrorFieldFormat=Feltet '%s' har ugyldig verdi ErrorFileDoesNotExists=Filen %s finnes ikke ErrorFailedToOpenFile=Kunne ikke åpne filen %s -ErrorCanNotCreateDir=Kunne ikke påårette mappen %s -ErrorCanNotReadDir=Man ikke lese mappen %s +ErrorCanNotCreateDir=Kunne ikke opprette mappen %s +ErrorCanNotReadDir=Kan ikke lese mappen %s ErrorConstantNotDefined=Parameter %s er ikke definert ErrorUnknown=Ukjent feil ErrorSQL=SQL-feil ErrorLogoFileNotFound=Fant ikke logofilen '%s' -ErrorGoToGlobalSetup=Gå til 'Firma/Organisasjon' instillinger for å rette dette +ErrorGoToGlobalSetup=Gå til 'Firma/Organisasjon' innstillinger for å rette dette ErrorGoToModuleSetup=Gå til Modul oppsett for å rette dette -ErrorFailedToSendMail=Klare ikke å sende epost (avsender=%s, mottager=%s) +ErrorFailedToSendMail=Klarte ikke å sende epost (avsender=%s, mottager=%s) ErrorAttachedFilesDisabled=Vedlegg av filer er slått av på denne serveren -ErrorFileNotUploaded=Filen ble ikke lastet oppp. Sjekk at den ikke er større en maksimumsgrense, at det er plass igjen på disken og at det ikke ligger en fil med samme navn i katalogen. +ErrorFileNotUploaded=Filen ble ikke lastet oppp. Sjekk at den ikke er større en maksimumsgrensen, at det er plass igjen på disken og at det ikke ligger en fil med samme navn i katalogen. ErrorInternalErrorDetected=Det er opdaget en intern feil ErrorNoRequestRan=Ingen forspørsel er utført ErrorWrongHostParameter=Feil serverparameter -ErrorYourCountryIsNotDefined=Landet ditt er ikke definert. Gå til Hjem-Instillinger-Rediger og fyll ut skjemaet igjen. -ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least on child records. +ErrorYourCountryIsNotDefined=Landet ditt er ikke definert. Gå til Hjem-Innstillinger-Rediger og fyll ut skjemaet igjen. +ErrorRecordIsUsedByChild=Kan ikke slette posten. Posten refereres til av minst en annen post. ErrorWrongValue=Feil verdi ErrorWrongValueForParameterX=Feil verdi for parameter %s ErrorNoRequestInError=Ingen forepørsel i feilen @@ -55,9 +55,9 @@ ErrorServiceUnavailableTryLater=Tjenesten er utilgjengelig for øyeblikket. Prø ErrorDuplicateField=Duplikate verdier i unik felttype ErrorSomeErrorWereFoundRollbackIsDone=Det ble oppdaget feil. Endringer rulles tilbake. ErrorConfigParameterNotDefined=Parameter %s er ikke definert i konfigurasjonsfil conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Fant ikke bruker %s i databasen. +ErrorCantLoadUserFromDolibarrDatabase=Fant ikke brukeren %s i databasen. ErrorNoVATRateDefinedForSellerCountry=Feil: Det er ikke definert noen MVA-satser for landet '%s'. -ErrorNoSocialContributionForSellerCountry=Feil, ingen sosiale bidrag type definert for landets %s '. +ErrorNoSocialContributionForSellerCountry=Feil, ingen sosiale bidrag type definert for landet %s '. ErrorFailedToSaveFile=Feil: Klarte ikke å lagre filen. SetDate=Still dato SelectDate=Velg en dato @@ -66,46 +66,46 @@ SeeHere=Se her BackgroundColorByDefault=Standard bakgrunnsfarge FileNotUploaded=Filen ble ikke lastet opp FileUploaded=Opplastningen var vellykket -FileWasNotUploaded=En fil er valgt for feste, men var ennå ikke lastet opp. Klikk på "Legg ved fil" for dette. -NbOfEntries=Nb oppføringer +FileWasNotUploaded=En fil er valgt som vedlegg, men er ennå ikke lastet opp. Klikk på "Legg ved fil" for dette. +NbOfEntries=Antall oppføringer GoToWikiHelpPage=Les elektronisk hjelp (trenger Internett-tilgang) GoToHelpPage=Les hjelp RecordSaved=Posten er lagret RecordDeleted=Oppføring slettet LevelOfFeature=Funksjonsnivå NotDefined=Ikke angitt -DefinedAndHasThisValue=Definert til verdienb +DefinedAndHasThisValue=Definert til verdien IsNotDefined=udefinert -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarrs autensitering er satt til %s i konfigurasjonsfilen conf.php.
Dette betyr at Dolibarr bruker en ekstern passordatabase, så endringer i dette feltet har muligens ingen effekt. +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarrs autensiteringmåte er satt til %s i konfigurasjonsfilen conf.php.
Dette betyr at Dolibarr bruker en ekstern passordatabase, så endringer i dette feltet har muligens ingen effekt. Administrator=Administrator Undefined=Udefinert PasswordForgotten=Glemt passordet? SeeAbove=Se ovenfor HomeArea=Hjemmeområde LastConnexion=Siste tilkobling -PreviousConnexion=Forrige innlogging -ConnectedOnMultiCompany=Tilkoblet enhet +PreviousConnexion=Forrige tilkobling +ConnectedOnMultiCompany=Tilkoblet miljø ConnectedSince=Innlogget siden -AuthenticationMode=Autensiteringsmåte -RequestedUrl=Påkrevet URL -DatabaseTypeManager=Database type manager -RequestLastAccess=Request for last database access -RequestLastAccessInError=Request for last database access in error -ReturnCodeLastAccessInError=Return code for last database access in error -InformationLastAccessInError=Information for last database access in error +AuthenticationMode=Autensiteringsmodus +RequestedUrl=Forespurt URL +DatabaseTypeManager=Databasetype manager +RequestLastAccess=Forespørsel etter siste databasetilgang +RequestLastAccessInError=Forespørsel etter siste databasetilgang med feil +ReturnCodeLastAccessInError=Returkode etter siste databasetilgang med feil +InformationLastAccessInError=Informasjon om siste databasetilgang med feil DolibarrHasDetectedError=Dolibarr oppdaget en teknisk feil -InformationToHelpDiagnose=Denn informasjonen kan hjelpe til ved feilsøking +InformationToHelpDiagnose=Denne informasjonen kan hjelpe til ved feilsøking MoreInformation=Mer informasjon TechnicalInformation=Teknisk informasjon NotePublic=Notat (offentlig) -NotePrivate=Note (privat) +NotePrivate=Notat (privat) PrecisionUnitIsLimitedToXDecimals=Dolibarr er satt opp til å bruke priser med %s desimaler. DoTest=Test ToFilter=Filter WarningYouHaveAtLeastOneTaskLate=OBS! Du har minst ett forsinket element i listen ovenfor. yes=ja Yes=Ja -no=no +no=nei No=Nei All=Alle Home=Hjem @@ -151,7 +151,7 @@ ConfirmClone=Velg hvilke data du vil klone : NoCloneOptionsSpecified=Det er ikke valgt noen data å klone. Of=av Go=Gå -Run=Run +Run=Kjør CopyOf=Kopi av Show=Vis ShowCardHere=Vis kort @@ -162,7 +162,7 @@ Approve=Godkjenn Disapprove=Underkjenn ReOpen=Gjenåpne Upload=Send fil -ToLink=Link +ToLink=Lenke Select=Velg Choose=Velg ChooseLangage=Velg språk @@ -176,11 +176,11 @@ Groups=Grupper NoUserGroupDefined=Ingen brukergrupper er definert Password=Passord PasswordRetype=Gjenta passord -NoteSomeFeaturesAreDisabled=Merk at en masse funksjoner / moduler er deaktivert i denne demonstrasjonen. +NoteSomeFeaturesAreDisabled=Merk at mange funksjoner/moduler er deaktivert i denne demonstrasjonen. Name=Navn Person=Person Parameter=Parameter -Parameters=Parametere +Parameters=Parametre Value=Verdi GlobalValue=Global verdi PersonalValue=Personlig verdi @@ -193,7 +193,7 @@ MultiLanguage=Flerspråklig Note=Notat CurrentNote=Gjeldende notat Title=Tittel -Label=Navn +Label=Etikett RefOrLabel=Ref. eller etikett Info=Logg Family=Familie @@ -211,8 +211,8 @@ Limit=Grense Limits=Grenser DevelopmentTeam=Utviklergrupper Logout=Logg ut -NoLogoutProcessWithAuthMode=Ingen anvendbar frakoblingsfunksjon med godkjenning modus %s -Connection=Innlogging +NoLogoutProcessWithAuthMode=Ingen anvendbar frakoblingsfunksjon med godkjenningsmodus %s +Connection=Tilkobling Setup=Innstillinger Alert=Varsel Previous=Forrige @@ -227,21 +227,21 @@ DateStart=Startdato DateEnd=Sluttdato DateCreation=Opprettet den DateModification=Endret den -DateModificationShort=Modif. dato +DateModificationShort=Mod. dato DateLastModification=Sist endret den DateValidation=Godkjent den DateClosing=Lukket den DateDue=Forfallsdato DateValue=Verdi dato DateValueShort=Verdi dato -DateOperation=Operation date -DateOperationShort=Ope. Date -DateLimit=Limit date -DateRequest=Request date -DateProcess=Process date +DateOperation=Operasjonsdato +DateOperationShort=Oper. dato +DateLimit=Grense dato +DateRequest=Forespørselsdato +DateProcess=Prosessdato DatePlanShort=Planlagt dato DateRealShort=Virkelig dato -DateBuild=Rapport bygge dato +DateBuild=Rapport byggedato DatePayment=Dato for betaling DateApprove=Godkjennelsesdato DateApprove2=Godkjennelsesdato (2. godkjennelse) @@ -273,12 +273,12 @@ Yesterday=I går Tomorrow=I morgen Morning=Morgen Afternoon=Ettermiddag -Quadri=Quadri -MonthOfDay=Month of the day +Quadri=Kvartal +MonthOfDay=Dag i måneden HourShort=T MinuteShort=mn -Rate=Timesats -UseLocalTax=Inkluderer skatt +Rate=Sats +UseLocalTax=Inkl. MVA Bytes=Bytes KiloBytes=Kilobyte MegaBytes=Megabyte @@ -292,8 +292,8 @@ Tb=Tb Cut=Klipp ut Copy=Kopier Paste=Lim inn -Default=Gjeldende -DefaultValue=Gjeldende verdi +Default=Standard +DefaultValue=Standardverdi DefaultGlobalValue=Global verdi Price=Pris UnitPrice=Enhetspris @@ -301,22 +301,22 @@ UnitPriceHT=Enhetspris (netto) UnitPriceTTC=Enhetspris PriceU=Pris PriceUHT=Pris (netto) -AskPriceSupplierUHT=Forespørsel om P.U. HT +AskPriceSupplierUHT=Forespørsel om nettopris PriceUTTC=Pris Amount=Beløp AmountInvoice=Fakturabeløp AmountPayment=Betalingsbeløp AmountHTShort=Beløp (netto) -AmountTTCShort=Beløp (inkl. skatt) +AmountTTCShort=Beløp (inkl. MVA) AmountHT=Beløp (eksl. MVA) AmountTTC=Beløp (inkl. MVA) AmountVAT=MVA beløp -AmountLT1=Beløp skatt 2 -AmountLT2=Beløp skatt 3 +AmountLT1=Beløp MVA 2 +AmountLT2=Beløp MVA 3 AmountLT1ES=Beløp RE AmountLT2ES=Beløp IRPF AmountTotal=Totaltbeløp -AmountAverage=Gjenomsnitt beløp +AmountAverage=Gjenomsnittsbeløp PriceQtyHT=Pris for denne mengden (eksl. MVA) PriceQtyMinHT=Pris for minstekvantum (eksl. MVA) PriceQtyTTC=Pris for denne mengden (inkl. MVA) @@ -325,16 +325,16 @@ Percentage=Prosent Total=Totalt SubTotal=Subtotal TotalHTShort=Totalt (netto) -TotalTTCShort=Totalt (inkl. skatt) +TotalTTCShort=Totalt (inkl. MVA) TotalHT=Totalt (eksl. MVA) -TotalHTforthispage=Totalt (netto etter skatt) for denne siden +TotalHTforthispage=Totalt (eks. MVA) for denne siden TotalTTC=Totalt (inkl. MVA) TotalTTCToYourCredit=Totalt (inkl. MVA) godskrevet deg TotalVAT=Total MVA -TotalLT1=Sum skatt 2 -TotalLT2=Sum skatt 3 -TotalLT1ES=Totalt RE -TotalLT2ES=Totalt IRPF +TotalLT1=Total MVA 2 +TotalLT2=Total MVA 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF IncludedVAT=Inkludert MVA HT=Eksl. MVA TTC=Inkl. MVA @@ -373,7 +373,7 @@ ActionDoneShort=Fullført ActionUncomplete=Ikke komplett CompanyFoundation=Firma/Organisasjon ContactsForCompany=Kontakter for denne tredjeparten -ContactsAddressesForCompany=Kontakter / adresser for denne tredjepart +ContactsAddressesForCompany=Kontakter/adresser for denne tredjepart AddressesForCompany=Adresser for tredjepart ActionsOnCompany=Handlinger ifm. denne tredjeparten ActionsOnMember=Hendelser om dette medlemmet @@ -387,7 +387,7 @@ ChartNotGenerated=Graf er ikke opprettet GeneratedOn=Generert den %s Generate=Generer Duration=Varighet -TotalDuration=Total varighetd +TotalDuration=Total varighet Summary=Oppsummering MyBookmarks=Mine bokmerker OtherInformationsBoxes=Andre informasjonsbokser @@ -413,25 +413,27 @@ Qty=Ant ChangedBy=Endret av ApprovedBy=Godkjent av ApprovedBy2=Godkjent av (2. godkjennelse) +Approved=Godkjent +Refused=Avvist ReCalculate=Rekalkuler -ResultOk=Success +ResultOk=Suksess ResultKo=Feil Reporting=Rapportering Reportings=Rapportering Draft=Kladd Drafts=Kladder Validated=Godkjent -Opened=Åpnet +Opened=Åpne New=Ny Discount=Rabatt Unknown=Ukjent -General=Generell +General=Generelt Size=Størrelse Received=Mottatt Paid=Betalt Topic=Emne -ByCompanies=Av firmaer -ByUsers=Ab brukere +ByCompanies=Etter tredjeparter +ByUsers=Etter brukere Links=Lenker Link=Lenke Receipts=Kvitteringer @@ -461,17 +463,17 @@ October=Oktober November=November December=Desember JanuaryMin=Jan -FebruaryMin=Februar +FebruaryMin=Feb MarchMin=Mar -AprilMin=April +AprilMin=Apr MayMin=Mai -JuneMin=Juni -JulyMin=Juli -AugustMin=August -SeptemberMin=September -OctoberMin=Oktober -NovemberMin=November -DecemberMin=Desember +JuneMin=Jun +JulyMin=Jul +AugustMin=Aug +SeptemberMin=Sep +OctoberMin=Okt +NovemberMin=Nov +DecemberMin=Des Month01=januar Month02=februar Month03=mars @@ -484,18 +486,18 @@ Month09=september Month10=oktober Month11=november Month12=desember -MonthShort01=januar -MonthShort02=februar +MonthShort01=jan +MonthShort02=feb MonthShort03=mar -MonthShort04=april -MonthShort05=kan -MonthShort06=juni -MonthShort07=juli -MonthShort08=august -MonthShort09=september -MonthShort10=oktober -MonthShort11=november -MonthShort12=desember +MonthShort04=apr +MonthShort05=mai +MonthShort06=jun +MonthShort07=jul +MonthShort08=aug +MonthShort09=sep +MonthShort10=okt +MonthShort11=nov +MonthShort12=des AttachedFiles=Vedlagte filer og dokumenter FileTransferComplete=Filen ble lastet opp! DateFormatYYYYMM=ÅÅÅÅ-MM @@ -504,9 +506,9 @@ DateFormatYYYYMMDDHHMM=ÅÅÅÅ-MM-DD TT:SS ReportName=Rapportnavn ReportPeriod=Rapport for perioden ReportDescription=Beskrivelse -Report=Rappoer +Report=Rapport Keyword=Nøkkelord -Legend=Legend +Legend=Historikk FillTownFromZip=Hent poststed fra postnummer Fill=Fyll Reset=Tilbakestill @@ -537,16 +539,16 @@ External=Ekstern Internals=Intern Externals=Ekstern Warning=Varsel -Warnings=Versler +Warnings=Varsler BuildPDF=Lag PDF RebuildPDF=Lag PDF på nytt BuildDoc=Lag Doc RebuildDoc=Lag Doc på nytt -Entity=Enhet +Entity=Miljø Entities=Enheter EventLogs=Logger CustomerPreview=Forhåndsvisning kunder -SupplierPreview=Forhåndsvisning kunder +SupplierPreview=Forhåndsvisning av leverandør AccountancyPreview=Forhåndsvis regnskap ShowCustomerPreview=Vis kundeforhåndsvisning ShowSupplierPreview=Vis leverandørforhåndsvisning @@ -572,7 +574,7 @@ SendAcknowledgementByMail=Send bekreftelse med e-post NoEMail=Ingen e-post NoMobilePhone=Ingen mobiltelefon Owner=Eier -DetectedVersion=Oppdager versjon +DetectedVersion=Oppdaget versjon FollowingConstantsWillBeSubstituted=Følgende konstanter vil bli erstattet med korresponderende verdi. Refresh=Oppdater BackToList=Tilbake til liste @@ -592,7 +594,7 @@ Method=Metode Receive=Motta PartialWoman=Delvis PartialMan=Delvis -TotalWoman=Totalr +TotalWoman=Total TotalMan=Totalt NeverReceived=Aldri mottatt Canceled=Kansellert @@ -607,7 +609,7 @@ MenuECM=Dokumenter MenuAWStats=AWStats MenuMembers=Medlemmer MenuAgendaGoogle=Google agenda -ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb +ThisLimitIsDefinedInSetup=Dolibarr grense (Menu home-setup-security): %s Kb, PHP grense: %s Kb NoFileFound=Ingen dokumenter er lagret i denne mappen CurrentUserLanguage=Gjeldende språk CurrentTheme=Gjeldende tema @@ -618,8 +620,8 @@ ForCustomer=For kunde Signature=Signatur HidePassword=Vis kommando med skjult passord UnHidePassword=Vis virkelig kommando med synlig passord -Root=Root -Informations=Informasjoner +Root=Rot +Informations=Informasjon Page=Side Notes=Merknader AddNewLine=Legg til ny linje @@ -627,26 +629,26 @@ AddFile=Legg til fil ListOfFiles=Liste over tilgjengelige filer FreeZone=Fritekst FreeLineOfType=Type fritekst -CloneMainAttributes=Klone objektet med sine viktigste attributter +CloneMainAttributes=Klon objektet med de viktigste attributtene PDFMerge=PDF Flett Merge=Flett -PrintContentArea=Vis nettstedet for å skrive ut hovedinnhold området +PrintContentArea=Vis nettstedet for å skrive ut innholdet på hovedområdet MenuManager=Menymanager NoMenu=Ingen undermeny -WarningYouAreInMaintenanceMode=Advarsel, du er i et vedlikeholds-modus, så bare logikk %s er lov til å bruke programmet for øyeblikket. -CoreErrorTitle=System error +WarningYouAreInMaintenanceMode=Advarsel, du er i vedlikeholds-modus, så bare %s har lov til å bruke programmet for øyeblikket. +CoreErrorTitle=Systemfeil CoreErrorMessage=Beklager, det oppstod en feil. Sjekk loggene eller kontakt systemansvarlig. CreditCard=Kredittkort FieldsWithAreMandatory=Felt med %s er obligatoriske -FieldsWithIsForPublic=Felt med %s er vist på offentlig liste over medlemmer. Hvis du ikke ønsker dette, sjekk "offentlig". +FieldsWithIsForPublic=Felt med %s er vist på den offentlige listen over medlemmene. Hvis du ikke ønsker dette, fjern merket "offentlig". AccordingToGeoIPDatabase=(Ifølge GeoIP konvertering) -Line=Line +Line=Linje NotSupported=Støttes ikke RequiredField=Obligatorisk felt Result=Resultater ToTest=Test ValidateBefore=Kortet må valideres før du bruker denne funksjonen -Visibility=Sikt +Visibility=Synlighet Private=Privat Hidden=Skjult Resources=Ressurser @@ -654,31 +656,32 @@ Source=Kilde Prefix=Prefiks Before=Før After=Etter -IPAddress=IP-adressen +IPAddress=IP-adresse Frequency=Frekvens IM=Instant messaging NewAttribute=Ny attributt AttributeCode=Attributt-kode -OptionalFieldsSetup=Ekstra attributter oppsett -URLPhoto=Url av foto / logo +OptionalFieldsSetup=Oppsett av ekstra attributter +URLPhoto=Url til bilde/logo SetLinkToThirdParty=Lenke til en annen tredjepart CreateDraft=Lag utkast SetToDraft=Tilbake til kladd ClickToEdit=Klikk for å redigere -ObjectDeleted=Objekt %s slettet +ObjectDeleted=Objektet %s er slettet ByCountry=Etter land -ByTown=Ved byen +ByTown=Etter by ByDate=Etter dato -ByMonthYear=Etter måned / år -ByYear=Av år +ByMonthYear=Etter måned/år +ByYear=Etter år ByMonth=etter måned -ByDay=Av dag -BySalesRepresentative=Av salgsrepresentant +ByDay=Etter dag +BySalesRepresentative=Etter salgsrepresentant LinkedToSpecificUsers=Knyttet til en bestemt brukerkontakt DeleteAFile=Slett en fil ConfirmDeleteAFile=Er du sikker på at du vil slette filen NoResults=Ingen resultater -ModulesSystemTools=Verktøy +SystemTools=Systemverktøy +ModulesSystemTools=Modulverktøy Test=Test Element=Element NoPhotoYet=Ingen bilder tilgjengelig ennå @@ -689,7 +692,7 @@ toward=mot Access=Tilgang HelpCopyToClipboard=Bruk Ctrl + C for å kopiere til utklippstavle SaveUploadedFileWithMask=Lagre filen på serveren med navnet "%s" (ellers "%s") -OriginFileName=Original filnavn +OriginFileName=Originalt filnavn SetDemandReason=Sett kilde SetBankAccount=Definer Bankkonto AccountCurrency=Konto Valuta @@ -698,26 +701,29 @@ XMoreLines=%s linje(r) skjult PublicUrl=Offentlig URL AddBox=Legg til boks SelectElementAndClickRefresh=Velg et element og klikk Oppfrisk -PrintFile=Print fil %s +PrintFile=Skriv fil %s ShowTransaction=Vis transaksjon GoIntoSetupToChangeLogo=Gå til Hjem - Oppsett - Firma for å skifte logo eller Hjem - Oppsett - Display for å skjule. Deny=Avvis Denied=Avvist +ListOfTemplates=Liste over maler +Genderman=Mann +Genderwoman=Kvinne # Week day Monday=Mandag Tuesday=Tirsdag Wednesday=Onsdag -Thursday=Torsdaf +Thursday=Torsdag Friday=Fredag Saturday=Lørdag Sunday=Søndag -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=Vi -ThursdayMin=Th -FridayMin=Fr -SaturdayMin=Sa -SundayMin=Su +MondayMin=M +TuesdayMin=Ti +WednesdayMin=O +ThursdayMin=To +FridayMin=F +SaturdayMin=L +SundayMin=S Day1=Mandag Day2=Tirsdag Day3=Onsdag @@ -726,9 +732,10 @@ Day5=Fredag Day6=Lørdag Day0=Søndag ShortMonday=M -ShortTuesday=T +ShortTuesday=Ti ShortWednesday=O -ShortThursday=T +ShortThursday=To ShortFriday=F ShortSaturday=L ShortSunday=S +SelectMailModel=Velg e-postmal diff --git a/htdocs/langs/nb_NO/margins.lang b/htdocs/langs/nb_NO/margins.lang index c0594ab96cc..43214d5277c 100644 --- a/htdocs/langs/nb_NO/margins.lang +++ b/htdocs/langs/nb_NO/margins.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - marges Margin=Margin -Margins=Margins -TotalMargin=Total Margin -MarginOnProducts=Margin / Products -MarginOnServices=Margin / Services +Margins=Marginer +TotalMargin=Totalmargin +MarginOnProducts=Margin - Produkter +MarginOnServices=Margin - Tjenester MarginRate=Margin rate MarkRate=Mark rate DisplayMarginRates=Display margin rates @@ -12,34 +12,34 @@ 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 +MarginDetails=Margindetaljer +ProductMargins=Produktmarginer +CustomerMargins=Kundemarginer SalesRepresentativeMargins=Sales representative margins -UserMargins=User margins +UserMargins=Brukermarginer ProductService=Vare eller tjeneste -AllProducts=All products and services -ChooseProduct/Service=Choose product or service +AllProducts=Alle produkter og tjenester +ChooseProduct/Service=Velg produkt eller tjenester StartDate=Startdato EndDate=Sluttdato Launch=Start -ForceBuyingPriceIfNull=Force buying price if null -ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0) -MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts -UseDiscountAsProduct=As a product -UseDiscountAsService=As a service -UseDiscountOnTotal=On subtotal -MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. +ForceBuyingPriceIfNull=Tving innkjøpspris hvis 0 +ForceBuyingPriceIfNullDetails=hvis "PÅ", vil marginen være null på linjen (innkjøpspris=utsalgspris), ellers ("AV"). Margin vil bli lik utsalgspris (innkjøpspris = 0) +MARGIN_METHODE_FOR_DISCOUNT=Margin-metode for globale rabatter +UseDiscountAsProduct=Som produkt +UseDiscountAsService=Som tjeneste +UseDiscountOnTotal=Subtota +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defineres om en global rabatt skal gjelde for et produkt, en tjeneste, eller bare som en subtotal for margin-kalkulasjon MARGIN_TYPE=Margin type -MargeBrute=Raw margin -MargeNette=Net margin -MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price
Net margin : Selling price - Cost price -CostPrice=Cost price -BuyingCost=Cost price -UnitCharges=Unit charges -Charges=Charges +MargeBrute=Bruttomargin +MargeNette=Nettomargin +MARGIN_TYPE_DETAILS=Brutto margin = Utsalgspris - Innkjøpspris
Nettomargin = Utsalgspris - Kostpris +CostPrice=Kostpris +BuyingCost=Kostpris +UnitCharges=Enhets-avgifter +Charges=Avgifter AgentContactType=Commercial agent contact type AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per sale representative rateMustBeNumeric=Rate must be a numeric value markRateShouldBeLesserThan100=Mark rate should be lower than 100 -ShowMarginInfos=Show margin infos +ShowMarginInfos=Vis info om marginer diff --git a/htdocs/langs/nb_NO/opensurvey.lang b/htdocs/langs/nb_NO/opensurvey.lang index d254a7accb1..cc32b7c3d4a 100644 --- a/htdocs/langs/nb_NO/opensurvey.lang +++ b/htdocs/langs/nb_NO/opensurvey.lang @@ -9,20 +9,20 @@ AddACommentForPoll=Legg til kommentar i undersøkelsen AddComment=Legg til kommentar CreatePoll=Opprett undersøkelse PollTitle=Undersøkelse tittel -ToReceiveEMailForEachVote=Receive an email for each vote -TypeDate=Type date -TypeClassic=Type standard -OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it -RemoveAllDays=Remove all days -CopyHoursOfFirstDay=Copy hours of first day -RemoveAllHours=Remove all hours +ToReceiveEMailForEachVote=Motta en e-post for hver stemmeavgivning +TypeDate=Skriv dato +TypeClassic=Skriv standard +OpenSurveyStep2=Velg blant de ledige datoene (grå). Valgte dager er grønne. Du kan fjerne valgte dager ved å klikke på dem igjen +RemoveAllDays=Fjern alle valgte dager +CopyHoursOfFirstDay=Kopier timene fra første dag +RemoveAllHours=Fjern alle valgte timer SelectedDays=Valgte dager -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) +TheBestChoice=Det beste valget er for øyeblikket +TheBestChoices=De beste valgene er for øyeblikket +with=med +OpenSurveyHowTo=Hvis du samtykker i avgi stemme i denne undersøkelsen, må du legge inn navnet ditt, velge de dataene som passer best for deg og validere med + knappen på enden av linjen +CommentsOfVoters=Kommentarer fra stemmeavgivere +ConfirmRemovalOfPoll=Er du sikker på at du vil fjerne denne undersøkelsen (og alle svar)? 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: @@ -34,7 +34,7 @@ PourContreList=List (empty/for/against) AddNewColumn=Add new column TitleChoice=Choice label ExportSpreadsheet=Export result spreadsheet -ExpireDate=Limit date +ExpireDate=Datobegrensning NbOfSurveys=Number of polls NbOfVoters=Nb of voters SurveyResults=Results diff --git a/htdocs/langs/nb_NO/orders.lang b/htdocs/langs/nb_NO/orders.lang index ec0b971bcce..42a80b4258f 100644 --- a/htdocs/langs/nb_NO/orders.lang +++ b/htdocs/langs/nb_NO/orders.lang @@ -14,20 +14,20 @@ ToOrder=Lag ordre MakeOrder=Lag ordre SupplierOrder=Leverandørordre SuppliersOrders=Leverandørordre -SuppliersOrdersRunning=Aktuelle leverandørs ordrer +SuppliersOrdersRunning=Aktuelle leverandørordre CustomerOrder=Kundeordre CustomersOrders=Kundeordre -CustomersOrdersRunning=Aktuelle kundes ordrer -CustomersOrdersAndOrdersLines=Kundeordrer og ordrelinjer +CustomersOrdersRunning=Gjeldende kundeordre +CustomersOrdersAndOrdersLines=Kundeordre og ordrelinjer OrdersToValid=Kundeordre til godkjenning -OrdersToBill=Leverte kundeordre -OrdersInProcess=Pågående kundeordre -OrdersToProcess=Kundeordre til fullføring -SuppliersOrdersToProcess=Leverandørens ordre til behandling +OrdersToBill=Kundeordre levert +OrdersInProcess=Kundeordre til behandling +OrdersToProcess=Kundeordre å behandle +SuppliersOrdersToProcess=Leverandørordre å behandle StatusOrderCanceledShort=Kansellert StatusOrderDraftShort=Kladd StatusOrderValidatedShort=Godkjent -StatusOrderSentShort=I prosessen +StatusOrderSentShort=Under behandling StatusOrderSent=Under transport StatusOrderOnProcessShort=Bestilt StatusOrderProcessedShort=Behandlet @@ -36,8 +36,8 @@ StatusOrderToBill2Short=Til fakturering StatusOrderApprovedShort=Godkjent StatusOrderRefusedShort=Avvist StatusOrderToProcessShort=Til behandling -StatusOrderReceivedPartiallyShort=Dellevert -StatusOrderReceivedAllShort=Fullt levert +StatusOrderReceivedPartiallyShort=Delvis mottatt +StatusOrderReceivedAllShort=Alt er mottatt StatusOrderCanceled=Kansellert StatusOrderDraft=Kladd (trenger godkjenning) StatusOrderValidated=Godkjent @@ -48,19 +48,19 @@ StatusOrderToBill=Levert StatusOrderToBill2=Til fakturering StatusOrderApproved=Godkjent StatusOrderRefused=Avvist -StatusOrderReceivedPartially=Dellevert -StatusOrderReceivedAll=Fullt levert +StatusOrderReceivedPartially=Delvis mottatt +StatusOrderReceivedAll=Alt er mottatt ShippingExist=En forsendelse eksisterer ProductQtyInDraft=Produktmengde i ordrekladder ProductQtyInDraftOrWaitingApproved=Produktmengde i kladdede/godkjente ordrer som ikke er bestilt enda -DraftOrWaitingApproved=Utkast eller godkjent ennå ikke bestilt -DraftOrWaitingShipped=Utkast eller validert ennå ikke levert +DraftOrWaitingApproved=Utkast eller godkjent, men ikke bestilt +DraftOrWaitingShipped=Utkast eller validert, men ikke sendt MenuOrdersToBill=Ordre levert MenuOrdersToBill2=Fakturerbare ordre SearchOrder=Søk i ordre SearchACustomerOrder=Søk etter kundeordre SearchASupplierOrder=Søk etter leverandørordre -ShipProduct=Lever produkt +ShipProduct=Send produkt Discount=Rabatt CreateOrder=Lag ordre RefuseOrder=Avvis ordre @@ -72,9 +72,10 @@ DeleteOrder=Slett ordre CancelOrder=Avbryt ordre AddOrder=Opprett ordre AddToMyOrders=Legg til mine ordre -AddToOtherOrders=Lagg til andre ordre +AddToOtherOrders=Legg til andre ordre AddToDraftOrders=Legg til ordreutkast ShowOrder=Vis ordre +OrdersOpened=Ordre å behandle NoOpenedOrders=Ingen åpne ordre NoOtherOpenedOrders=Ingen andre åpne ordre NoDraftOrders=Ingen ordreutkast @@ -85,21 +86,21 @@ LastSupplierOrders=Siste %s leverandørordrer LastModifiedOrders=Siste %s endrede ordre LastClosedOrders=Siste %s lukkede ordre AllOrders=Alle ordre -NbOfOrders=Antal ordre +NbOfOrders=Antall ordre OrdersStatistics=Ordrestatistikk OrdersStatisticsSuppliers=Statistikk leverandørordre NumberOfOrdersByMonth=Antall ordre pr måned -AmountOfOrdersByMonthHT=Sum bestillinger etter måned (etter skatt) -ListOfOrders=Ordreoverikt +AmountOfOrdersByMonthHT=Sum bestillinger etter måned (eks. MVA) +ListOfOrders=Ordreliste CloseOrder=Lukk ordre -ConfirmCloseOrder=Er du sikker på at du vil lukke denne ordren? Når en ordre er lukket kan den kun faktureres. +ConfirmCloseOrder=Er du sikker på at du vil lukke denne ordren? Når en ordre er lukket kan den faktureres. ConfirmCloseOrderIfSending=Er du sikker på at du vil lukke denne ordren? Du må bare lukke ordren når alle leveringer er utført. ConfirmDeleteOrder=Er du sikker på at du vil slette denne ordren? ConfirmValidateOrder=Er du sikker på at du vil godkjenne denne ordren under navnet %s ? -ConfirmUnvalidateOrder=Er du sikker på at du vil gjenopprette orden %s til utkastet status? +ConfirmUnvalidateOrder=Er du sikker på at du vil gjenopprette orden %s til utkaststatus? ConfirmCancelOrder=Er du sikker på at du vil avbryte denne ordren? ConfirmMakeOrder=Vil du bekrefte at du lagde denne ordren den %s ? -GenerateBill=Oppret faktura +GenerateBill=Opprett faktura ClassifyShipped=Klassifiser levert ClassifyBilled=Klassifiser "Fakturert" ComptaCard=Regnskapskort @@ -110,41 +111,41 @@ RelatedSupplierOrders=Relaterte leverandørordrer OnProcessOrders=Ordre i behandling RefOrder=Ref. ordre RefCustomerOrder=Ref. kundeordre -RefCustomerOrderShort=Ref. ordre -SendOrderByMail=Send ordre i post +RefCustomerOrderShort=Ref. kundeordre +SendOrderByMail=Send ordre med post ActionsOnOrder=Handlinger ifm. ordre -NoArticleOfTypeProduct=Der er ingen varer av typen 'product' på ordren så det er ingen varer å sende -OrderMode=Ordremodus -AuthorRequest=Request author +NoArticleOfTypeProduct=Der er ingen varer av typen 'produkt' på ordren, så det er ingen varer å sende +OrderMode=Ordremetode +AuthorRequest=Finn forfatter UseCustomerContactAsOrderRecipientIfExist=Bruk kontaktpersons adresse i stedet for tredjepartens adresse RunningOrders=Ordre i behandling UserWithApproveOrderGrant=Brukere med rettigheter til å "godkjenne ordre". PaymentOrderRef=Betaling av ordre %s -CloneOrder=Clone bestilling +CloneOrder=Klon bestilling ConfirmCloneOrder=Er du sikker på at du vil klone denne bestillingen %s? -DispatchSupplierOrder=Motta leverandør bestill %s +DispatchSupplierOrder=Motta leverandørordre %s FirstApprovalAlreadyDone=Første godkjenning allerede utført ##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representant oppfølging kundeordre -TypeContact_commande_internal_SHIPPING=Representant oppfølging shipping -TypeContact_commande_external_BILLING=Kunden faktura kontakt -TypeContact_commande_external_SHIPPING=Kunden shipping kontakt -TypeContact_commande_external_CUSTOMER=Kundekontakt oppfølging rekkefølge -TypeContact_order_supplier_internal_SALESREPFOLL=Representant oppfølging leverandør bestilling -TypeContact_order_supplier_internal_SHIPPING=Representant oppfølging shipping -TypeContact_order_supplier_external_BILLING=Leverandørfaktura kontakt -TypeContact_order_supplier_external_SHIPPING=Leverandør shipping kontakt -TypeContact_order_supplier_external_CUSTOMER=Leverandør kontakt oppfølging rekkefølge +TypeContact_commande_internal_SALESREPFOLL=Representant for oppfølging av kundeordre +TypeContact_commande_internal_SHIPPING=Representant for oppfølging av levering +TypeContact_commande_external_BILLING=Kundens fakturakontakt +TypeContact_commande_external_SHIPPING=Kundens leveransekontakt +TypeContact_commande_external_CUSTOMER=Kundens ordreoppfølger +TypeContact_order_supplier_internal_SALESREPFOLL=Representant for oppfølging av leverandørordre +TypeContact_order_supplier_internal_SHIPPING=Representant for oppfølging av levering +TypeContact_order_supplier_external_BILLING=Leverandørens fakturakontakt +TypeContact_order_supplier_external_SHIPPING=Leverandørens leveransekontakt +TypeContact_order_supplier_external_CUSTOMER=Leverandørens ordreoppfølger Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Konstant COMMANDE_SUPPLIER_ADDON er ikke definert Error_COMMANDE_ADDON_NotDefined=Konstant COMMANDE_ADDON er ikke definert Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Kunne ikke laste modulfilen '%s' Error_FailedToLoad_COMMANDE_ADDON_File=Kunne ikke laste modulfilen '%s' -Error_OrderNotChecked=Ingen ordre å fakturere valgt +Error_OrderNotChecked=Ingen ordre til fakturering er valgt # Sources OrderSource0=Tilbud OrderSource1=Internet -OrderSource2=DM +OrderSource2=Epostkampanje OrderSource3=Telefonkampanje OrderSource4=Faxkampanje OrderSource5=Egenbestilling @@ -168,5 +169,5 @@ OrderCreation=Opprett ordre Ordered=Bestilt OrderCreated=Din ordre har blitt opprettet OrderFail=En feil skjedde under opprettelse av din ordre -CreateOrders=Lag ordrer +CreateOrders=Lag ordre ToBillSeveralOrderSelectCustomer=For å opprette en faktura for flere ordrer, klikk først på kunden, velg deretter "%s". diff --git a/htdocs/langs/nb_NO/other.lang b/htdocs/langs/nb_NO/other.lang index 41434a93b84..f5216fa2311 100644 --- a/htdocs/langs/nb_NO/other.lang +++ b/htdocs/langs/nb_NO/other.lang @@ -2,95 +2,96 @@ SecurityCode=Sikkerhetskode Calendar=Kalender Tools=Verktøy -ToolsDesc=Dette området er dedikert til gruppen diverse verktøy ikke er tilgjengelig i andre menyen oppføringer.

Disse verktøyene kan nås fra menyen på siden. +ToolsDesc=Dette området er dedikert til gruppen diverse verktøy og er ikke er tilgjengelig i andre menyoppføringer.

Disse verktøyene kan nås fra menyen på siden. Birthday=Fødselsdag BirthdayDate=Fødselsdag DateToBirth=Fødselsdag -BirthdayAlertOn= bursdag varsling aktive -BirthdayAlertOff= bursdag varsling inaktive -Notify_FICHINTER_VALIDATE=Godkjenn intervention -Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail -Notify_BILL_VALIDATE=Godkjenn faktura -Notify_BILL_UNVALIDATE=Customer invoice unvalidated -Notify_ORDER_SUPPLIER_APPROVE=Leverandør bestill godkjent -Notify_ORDER_SUPPLIER_REFUSE=Leverandør bestill nektet +BirthdayAlertOn= fødselsdagsvarsling aktiv +BirthdayAlertOff= fødselsdagsvarsling inaktiv +Notify_FICHINTER_VALIDATE=Intervensjon validert +Notify_FICHINTER_SENTBYMAIL=Intervensjon sendt med post +Notify_BILL_VALIDATE=Kundefaktura validert +Notify_BILL_UNVALIDATE=Validering fjernet på kundefaktura +Notify_ORDER_SUPPLIER_VALIDATE=Leverandørordre opptatt +Notify_ORDER_SUPPLIER_APPROVE=Leverandørordre godkjent +Notify_ORDER_SUPPLIER_REFUSE=Leverandørordre avvist Notify_ORDER_VALIDATE=Kundeordre validert -Notify_PROPAL_VALIDATE=Kunden forslaget validert -Notify_PROPAL_CLOSE_SIGNED=Customer propal closed signed -Notify_PROPAL_CLOSE_REFUSED=Customer propal closed refused -Notify_WITHDRAW_TRANSMIT=Transmission tilbaketrekning -Notify_WITHDRAW_CREDIT=Credit tilbaketrekning -Notify_WITHDRAW_EMIT=Isue tilbaketrekning +Notify_PROPAL_VALIDATE=Kundentilbud validert +Notify_PROPAL_CLOSE_SIGNED=Lukket tilbud signert +Notify_PROPAL_CLOSE_REFUSED=Lukket tilbud avvist +Notify_WITHDRAW_TRANSMIT=Overføring avbrudt +Notify_WITHDRAW_CREDIT=Kreditt tilbaketrekning +Notify_WITHDRAW_EMIT=Utfør tilbaketrekning Notify_ORDER_SENTBYMAIL=Kundeordre sendt i posten -Notify_COMPANY_CREATE=Tredjeparts opprettet -Notify_COMPANY_SENTBYMAIL=Mails sent from third party card -Notify_PROPAL_SENTBYMAIL=Kommersiell forslaget sendes med post -Notify_BILL_PAYED=Kunden faktura betales -Notify_BILL_CANCEL=Kunden faktura kansellert -Notify_BILL_SENTBYMAIL=Kunden faktura sendt i posten -Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded -Notify_ORDER_SUPPLIER_SENTBYMAIL=Leverandør ordre sendes med post -Notify_BILL_SUPPLIER_VALIDATE=Leverandør faktura validert -Notify_BILL_SUPPLIER_PAYED=Leverandør faktura betales -Notify_BILL_SUPPLIER_SENTBYMAIL=Leverandør faktura sendt i posten -Notify_BILL_SUPPLIER_CANCELED=Supplier invoice cancelled +Notify_COMPANY_CREATE=Tredjepart opprettet +Notify_COMPANY_SENTBYMAIL=E-poster sendt fra tredjeparts-kort +Notify_PROPAL_SENTBYMAIL=Tilbud sendt med post +Notify_BILL_PAYED=Kundefaktura betalt +Notify_BILL_CANCEL=Kundefaktura kansellert +Notify_BILL_SENTBYMAIL=Kundefaktura sendt i posten +Notify_ORDER_SUPPLIER_VALIDATE=Leverandørordre opptatt +Notify_ORDER_SUPPLIER_SENTBYMAIL=Leverandørordre sendt med post +Notify_BILL_SUPPLIER_VALIDATE=Leverandørfaktura validert +Notify_BILL_SUPPLIER_PAYED=Leverandørfaktura betalt +Notify_BILL_SUPPLIER_SENTBYMAIL=Leverandørfaktura sendt i posten +Notify_BILL_SUPPLIER_CANCELED=Leverandørfaktura kansellert Notify_CONTRACT_VALIDATE=Kontrakt validert -Notify_FICHEINTER_VALIDATE=Intervention validert -Notify_SHIPPING_VALIDATE=Shipping validert -Notify_SHIPPING_SENTBYMAIL=Shipping sendt i posten +Notify_FICHEINTER_VALIDATE=Intervensjon validert +Notify_SHIPPING_VALIDATE=Leveranse validert +Notify_SHIPPING_SENTBYMAIL=Leveranse sendt i posten Notify_MEMBER_VALIDATE=Medlem validert -Notify_MEMBER_MODIFY=Member modified +Notify_MEMBER_MODIFY=Medlem endret Notify_MEMBER_SUBSCRIPTION=Medlem abonnerer -Notify_MEMBER_RESILIATE=Medlem resiliated +Notify_MEMBER_RESILIATE=Medlem avsluttet abonnement Notify_MEMBER_DELETE=Medlem slettet -Notify_PROJECT_CREATE=Project creation -Notify_TASK_CREATE=Task created -Notify_TASK_MODIFY=Task modified -Notify_TASK_DELETE=Task deleted -SeeModuleSetup=See setup of module %s +Notify_PROJECT_CREATE=Opprettelse av prosjekt +Notify_TASK_CREATE=Oppgave opprettet +Notify_TASK_MODIFY=Oppgave endret +Notify_TASK_DELETE=Oppgave slettet +SeeModuleSetup=Se oppsett av modul %s NbOfAttachedFiles=Antall vedlagte filer/dokumenter TotalSizeOfAttachedFiles=Total størrelse på vedlagte filer/dokumenter MaxSize=Maksimal størrelse AttachANewFile=Legg ved ny fil/dokument LinkedObject=Lenkede objekter Miscellaneous=Diverse -NbOfActiveNotifications=Number of notifications (nb of recipient emails) -PredefinedMailTest=Dette er en test post. \\ NDe to linjer er atskilt med en vognretur. -PredefinedMailTestHtml=Dette er en test mail (ordet testen må være i fet skrift).
De to linjene er skilt med en vognretur. -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ +NbOfActiveNotifications=Antall notifikasjoner (antall e-postmottakere) +PredefinedMailTest=Dette er en test e-post.\nDe to linjene er adskilt med et linjeskift.\n\n__SIGNATURE__ +PredefinedMailTestHtml=Dette er en test e-post (ordet test må være i fet skrift).
De to linjene er skilt med en vognretur.

__SIGNATURE__ +PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nVedlagt faktura __FACREF__\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nVi kan ikke se å ha mottatt betaling for faktura __FACREF__ . Som påminnelse sender vi fakturaen på nytt\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nVedlagt følger tilbud__PROPREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nVedlagt følger prisforespørsel __ASKREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nVedlagt følger ordrenummer __ORDERREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nVedlagt følger ordrenummer __ORDERREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nVedlagt faktura __FACREF__\n\n__PERSONALIZED__Med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nVedlagt følger leveranse __SHIPPINGREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ +PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nVedlagt følger intervensjon __FICHINTERREF__\n\n__PERSONALIZED__med vennlig hilsen\n\n__SIGNATURE__ PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ -DemoDesc=Dolibarr er ikke en komplett ERP, men er bygget opp av flere forskjellige moduler. Vi har derfor laget flere forskjellige demoprofiler +DemoDesc=Dolibarr er en kompakt ERP, bygget opp av flere forskjellige moduler. Vi har laget flere forskjellige demoprofiler ChooseYourDemoProfil=Velg demoprofilen som passer til ditt område... DemoFundation=Håndtere medlemmer i en organisasjon DemoFundation2=Håndtere medlemmer og bankkonti i en organisasjon -DemoCompanyServiceOnly=Lede en freelancevirksomhet som kun selger tjenester -DemoCompanyShopWithCashDesk=Lede en butikk med kontantomsetning/kasse -DemoCompanyProductAndStocks=Lede en liten eller mellomstor bedrift som selger produkter -DemoCompanyAll=Lede en liten eller mellomstor bedrift med mange aktiviteter (alle hovedmoduler) +DemoCompanyServiceOnly=Administrer en freelancevirksomhet som kun selger tjenester +DemoCompanyShopWithCashDesk=Administrer en butikk med kontantomsetning/kasse +DemoCompanyProductAndStocks=Administrer en liten eller mellomstor bedrift som selger produkter +DemoCompanyAll=Administrer en liten eller mellomstor bedrift med mange aktiviteter (alle hovedmoduler) GoToDemo=Gå til demo CreatedBy=Laget av %s ModifiedBy=Endret av %s ValidatedBy=Godkjent av %s CanceledBy=Kansellert av %s -ClosedBy=Luket av %s -CreatedById=User id who created -ModifiedById=User id who made last change -ValidatedById=User id who validated -CanceledById=User id who canceled -ClosedById=User id who closed -CreatedByLogin=User login who created -ModifiedByLogin=User login who made last change -ValidatedByLogin=User login who validated -CanceledByLogin=User login who canceled -ClosedByLogin=User login who closed +ClosedBy=Lukket av %s +CreatedById=Bruker-ID som opprettet +ModifiedById=Bruker-ID som utførte siste endring +ValidatedById=Bruker-ID som validerte +CanceledById=Bruker-ID som kansellerte +ClosedById=Bruker-ID som lukket +CreatedByLogin=Bruker-login som opprettet +ModifiedByLogin=Bruker-login som utførte siste endring +ValidatedByLogin=Bruker-login som validerte +CanceledByLogin=Bruker-login som kansellerte +ClosedByLogin=Bruker-login som lukket FileWasRemoved=Filen ble slettet DirWasRemoved=Mappen ble slettet FeatureNotYetAvailableShort=Tilgjengelig i en neste versjon @@ -100,9 +101,9 @@ FeatureDevelopment=Funksjon under utvikling. Ikke stabil i denne versjonen FeaturesSupported=Støttede funksjoner Width=Bredde Height=Høyde -Depth=dybde +Depth=Dybde Top=Topp -Bottom=Bottom +Bottom=Bunn Left=Venstre Right=Høyre CalculatedWeight=Beregnet vekt @@ -121,19 +122,19 @@ LengthUnitcm=cm LengthUnitmm=mm Surface=Område SurfaceUnitm2=m2 -SurfaceUnitdm2=DM2 +SurfaceUnitdm2=dm2 SurfaceUnitcm2=cm2 SurfaceUnitmm2=mm2 -SurfaceUnitfoot2=ft2 -SurfaceUnitinch2=in2 +SurfaceUnitfoot2=fot2 +SurfaceUnitinch2=tommer2 Volume=Volum -TotalVolume=Totalr volum +TotalVolume=Totalvolum VolumeUnitm3=m3 VolumeUnitdm3=dm3 VolumeUnitcm3=cm3 VolumeUnitmm3=mm3 -VolumeUnitfoot3=ft3 -VolumeUnitinch3=in3 +VolumeUnitfoot3=fot3 +VolumeUnitinch3=tommer3 VolumeUnitounce=unse VolumeUnitlitre=liter VolumeUnitgallon=gallon @@ -142,90 +143,91 @@ SizeUnitm=m SizeUnitdm=dm SizeUnitcm=cm SizeUnitmm=mm -SizeUnitinch=tommers -SizeUnitfoot=foten -SizeUnitpoint=point -BugTracker=Bug tracker +SizeUnitinch=tommer +SizeUnitfoot=fot +SizeUnitpoint=punkt +BugTracker=Feilsporing (bugtracker) SendNewPasswordDesc=Her kan du be om et nytt passord. Det nye passordet vil bli sendt til din e-postadresse.
Endringen vil først tre i kraft etter at du har trykket på bekreftelseslenken i den mottatte e-posten.
Sjekk e-postmeldingene dine. BackToLoginPage=Tilbake til innloggingssiden AuthenticationDoesNotAllowSendNewPassword=Autensitering er satt til %s.
Det betyr at Dolibarr ikke kan vite eller endre passordet ditt.
Kontakt systemadministrator hvis du vil endre passordet ditt. -EnableGDLibraryDesc=Installer eller slå på GD library i PHP for å bruke denne funksjonen. -EnablePhpAVModuleDesc=Du må installeren en modul som er kompatibel med anti-virusprogrammet. (Clamav : php4-clamavlib eller php5-clamavlib) +EnableGDLibraryDesc=Installer eller slå på GD bibliotek i PHP for å bruke denne funksjonen. +EnablePhpAVModuleDesc=Du må installeren en modul som er kompatibel med anti-virusprogrammet ditt. (Clamav : php4-clamavlib eller php5-clamavlib) ProfIdShortDesc=Prof Id %s er avhengig av tredjepartens land.
For eksempel er det for %s, koden %s. DolibarrDemo=Dolibarr ERP/CRM demo StatsByNumberOfUnits=Statistikk i antall produkter / tjenester enheter StatsByNumberOfEntities=Statistikk i antall henvisende enheter -NumberOfProposals=Antall forslag på 12 siste måned -NumberOfCustomerOrders=Antall kundeordre på siste 12 mnd -NumberOfCustomerInvoices=Antall kundefakturaer på siste 12 mnd -NumberOfSupplierOrders=Number of supplier orders on last 12 month -NumberOfSupplierInvoices=Antall leverandørfakturaer på siste 12 mnd -NumberOfUnitsProposals=Antall enheter på forslag på siste 12 mnd -NumberOfUnitsCustomerOrders=Antall enheter på kundeordrer på siste 12 mnd -NumberOfUnitsCustomerInvoices=Antall enheter på kundenes fakturaer på siste 12 mnd -NumberOfUnitsSupplierOrders=Number of units on supplier orders on last 12 month -NumberOfUnitsSupplierInvoices=Antall enheter på leverandørfakturaer på siste 12 mnd +NumberOfProposals=Antall forslag 12 siste måned +NumberOfCustomerOrders=Antall kundeordre siste 12 mnd +NumberOfCustomerInvoices=Antall kundefakturaer siste 12 mnd +NumberOfSupplierOrders=Antall leverandørordre siste 12 måneder +NumberOfSupplierInvoices=Antall leverandørfakturaer siste 12 mnd +NumberOfUnitsProposals=Antall enheter i tilbud siste 12 mnd +NumberOfUnitsCustomerOrders=Antall enheter i kundeordrer siste 12 mnd +NumberOfUnitsCustomerInvoices=Antall enheter i kundenes fakturaer siste 12 mnd +NumberOfUnitsSupplierOrders=Antall enheter i leveradørordre siste 12 måneder +NumberOfUnitsSupplierInvoices=Antall enheter i leverandørfakturaer siste 12 mnd EMailTextInterventionValidated=Intervensjonen %s har blitt validert. EMailTextInvoiceValidated=Fakturaen %s har blitt validert. -EMailTextProposalValidated=Forslaget %s har blitt validert. +EMailTextProposalValidated=Tilbudet %s har blitt validert. EMailTextOrderValidated=Ordren %s har blitt validert. EMailTextOrderApproved=Ordren %s er godkjent. -EMailTextOrderValidatedBy=The order %s has been recorded by %s. +EMailTextOrderValidatedBy=Ordren %s er blitt registrert av %s EMailTextOrderApprovedBy=Ordren %s er godkjent av %s. -EMailTextOrderRefused=Ordren %s har blitt nektet. -EMailTextOrderRefusedBy=Ordren %s har blitt nektet av %s. -EMailTextExpeditionValidated=The shipping %s has been validated. -ImportedWithSet=Innførsel datasett +EMailTextOrderRefused=Ordren %s har blitt avvist. +EMailTextOrderRefusedBy=Ordren %s har blitt avvist av %s. +EMailTextExpeditionValidated=Leveransen %s er blitt validert +ImportedWithSet=Datasett for import DolibarrNotification=Automatisk varsling -ResizeDesc=Skriv inn ny bredde eller ny høyde. Forhold vil bli holdt under resizing ... +ResizeDesc=Skriv inn ny bredde eller ny høyde. BxH forhold vil bli beholdt . 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) +DefineNewAreaToPick=Definer nytt område på bildet for å hente (venstreklikk på bildet og dra til du kommer til motsatt hjørne) CurrentInformationOnImage=Informasjon om gjeldende bilde -ImageEditor=Image Editor +ImageEditor=Billedbehandler 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: -ThisIsListOfModules=Dette er en liste over moduler forhåndsvalgt av denne demoen profilen (bare de vanligste modulene er synlige i denne demoen). Rediger denne å ha en mer personlig demo og klikk på "Start". +ThisIsListOfModules=Dette er en liste over moduler forhåndsvalgt av denne demoprofilen (bare de vanligste modulene er synlige i denne demoen). Rediger denne for å få en mer personlig demo og klikk på "Start". ClickHere=Klikk her -UseAdvancedPerms=Bruk den avanserte tillatelser av noen moduler +UseAdvancedPerms=Bruk avanserte tillatelser av noen moduler FileFormat=Filformat SelectAColor=Velg en farge AddFiles=Legg til filer -StartUpload=Starte opplasting +StartUpload=Start opplasting CancelUpload=Avbryt opplasting -FileIsTooBig=Filer er for stor -PleaseBePatient=Vær tålmodig ... -RequestToResetPasswordReceived=A request to change your Dolibarr password has been received -NewKeyIs=This is your new keys to login -NewKeyWillBe=Your new key to login to software will be +FileIsTooBig=Filene er for store +PleaseBePatient=Vent et øyeblikk eller to... +RequestToResetPasswordReceived=Forespørsel om å endre Dolibarr-passordet ditt er blitt mottatt +NewKeyIs=Dette er din nye innloggingsnøkkel +NewKeyWillBe=Ny nøkkel for innlogging er ClickHereToGoTo=Klikk her for å gå til %s -YouMustClickToChange=You must however first click on the following link to validate this password change -ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. -IfAmountHigherThan=If amount higher than %s +YouMustClickToChange=Du må først klikke på følgende lenke for å validere passord-endringen +ForgetIfNothing=Hvis det ikke er du som har bedt om endringen, kan du glemme denne e-posten. Dine opplysninger er trygge +IfAmountHigherThan=Hvis beløpet er høyere enn%s +SourcesRepository=Oppbevaring av kilder ##### Calendar common ##### AddCalendarEntry=Legg oppføring til kalender %s -NewCompanyToDolibarr=Company %s added -ContractValidatedInDolibarr=Contract %s validated -ContractCanceledInDolibarr=Contract %s canceled -ContractClosedInDolibarr=Contract %s closed -PropalClosedSignedInDolibarr=Proposal %s signed -PropalClosedRefusedInDolibarr=Proposal %s refused -PropalValidatedInDolibarr=Proposal %s validated -PropalClassifiedBilledInDolibarr=Proposal %s classified billed -InvoiceValidatedInDolibarr=Invoice %s validated -InvoicePaidInDolibarr=Invoice %s changed to paid -InvoiceCanceledInDolibarr=Invoice %s canceled -PaymentDoneInDolibarr=Payment %s done -CustomerPaymentDoneInDolibarr=Customer payment %s done -SupplierPaymentDoneInDolibarr=Supplier payment %s done -MemberValidatedInDolibarr=Member %s validated -MemberResiliatedInDolibarr=Member %s resiliated -MemberDeletedInDolibarr=Member %s deleted -MemberSubscriptionAddedInDolibarr=Subscription for member %s added -ShipmentValidatedInDolibarr=Shipment %s validated -ShipmentDeletedInDolibarr=Shipment %s deleted +NewCompanyToDolibarr=Tredjepart %s lagt til +ContractValidatedInDolibarr=Kontrakt %s validert +ContractCanceledInDolibarr=Kontrakt %s kansellert +ContractClosedInDolibarr=Kontrakt %s lukket +PropalClosedSignedInDolibarr=Tilbud %s signert +PropalClosedRefusedInDolibarr=Tilbud %s avvist +PropalValidatedInDolibarr=Tilbud %s validert +PropalClassifiedBilledInDolibarr=Tilbud %s klassifisert betalt +InvoiceValidatedInDolibarr=Faktura %s validert +InvoicePaidInDolibarr=Faktura %s endret til betalt +InvoiceCanceledInDolibarr=Faktura %s kansellert +PaymentDoneInDolibarr=Betaling %s utført +CustomerPaymentDoneInDolibarr=Kundebetaling %s utført +SupplierPaymentDoneInDolibarr=Leverandørbetaling %s utført +MemberValidatedInDolibarr=Medlem %s validert +MemberResiliatedInDolibarr=Medlem %s avsluttet abonnementet +MemberDeletedInDolibarr=Medlem %s slettet +MemberSubscriptionAddedInDolibarr=Abonnement for medlem %s lagt til +ShipmentValidatedInDolibarr=Leveranse %s validert +ShipmentDeletedInDolibarr=Leveranse %s slettet ##### Export ##### Export=Eksport ExportsArea=Eksportområde diff --git a/htdocs/langs/nb_NO/paybox.lang b/htdocs/langs/nb_NO/paybox.lang index 0509a95252c..d86d66cba0f 100644 --- a/htdocs/langs/nb_NO/paybox.lang +++ b/htdocs/langs/nb_NO/paybox.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - paybox -PayBoxSetup=PayBox modul oppsett -PayBoxDesc=Denne modulen tilbudet sider å tillate betaling på Paybox av kunder. Dette kan brukes for en gratis betaling eller for en betaling på en bestemt Dolibarr objekt (faktura, ordre, ...) +PayBoxSetup=Oppsett av PayBox-modul +PayBoxDesc=Denne modulen setter oppmulighet for betaling på Paybox av kunder. Dette kan brukes for gratis betaling eller for betaling på et bestemt Dolibarr objekt (faktura, ordre, ...) FollowingUrlAreAvailableToMakePayments=Følgende nettadresser er klare med en side til en kunde til å foreta en betaling på Dolibarr objekter PaymentForm=Betaling form WelcomeOnPaymentPage=Velkommen på våre elektroniske betalingstjenester @@ -32,9 +32,9 @@ VendorName=Navn på leverandøren CSSUrlForPaymentForm=CSS-stilark url for betalingsformen MessageOK=Melding på godkjent betaling retur siden MessageKO=Melding om avbrutt betaling retur siden -NewPayboxPaymentReceived=New Paybox payment received -NewPayboxPaymentFailed=New Paybox payment tried but failed -PAYBOX_PAYONLINE_SENDEMAIL=EMail to warn after a payment (success or failed) -PAYBOX_PBX_SITE=Value for PBX SITE -PAYBOX_PBX_RANG=Value for PBX Rang -PAYBOX_PBX_IDENTIFIANT=Value for PBX ID +NewPayboxPaymentReceived=Ny Paybox-betaling mottatt +NewPayboxPaymentFailed=Ny Paybox-betaling forsøkt, men feilet +PAYBOX_PAYONLINE_SENDEMAIL=Epost for varling etter betaling (vellykket eller feilet) +PAYBOX_PBX_SITE=Verdi for PBX SITE +PAYBOX_PBX_RANG=Verdi for PBX Rang +PAYBOX_PBX_IDENTIFIANT=Verdi for PBX ID diff --git a/htdocs/langs/nb_NO/paypal.lang b/htdocs/langs/nb_NO/paypal.lang index d90f0cbc7c9..7129e975f2d 100644 --- a/htdocs/langs/nb_NO/paypal.lang +++ b/htdocs/langs/nb_NO/paypal.lang @@ -1,25 +1,25 @@ # Dolibarr language file - Source file is en_US - paypal -PaypalSetup=PayPal modul oppsett -PaypalDesc=Denne modulen tilbyr sider for å tillate betaling på PayPal av kunder. Dette kan brukes til en gratis betaling eller for en betaling på en bestemt Dolibarr objekt (faktura, ordre, ...) +PaypalSetup=PayPal moduloppsett +PaypalDesc=Denne modulen tilbyr sider for å tillate betaling på PayPal av kunder. Dette kan brukes til en gratis betaling eller for et bestemt Dolibarr objekt (faktura, ordre, ...) PaypalOrCBDoPayment=Betal med kredittkort eller Paypal PaypalDoPayment=Betal med Paypal PaypalCBDoPayment=Betal med kredittkort -PAYPAL_API_SANDBOX=Mode test / sandkasse +PAYPAL_API_SANDBOX=Test-/sandkasse-modus PAYPAL_API_USER=API brukernavn PAYPAL_API_PASSWORD=API passord PAYPAL_API_SIGNATURE=API signatur -PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Offer betaling "integrert" (Kredittkort + Paypal) eller "Paypal" bare -PaypalModeIntegral=Integral +PAYPAL_API_INTEGRAL_OR_PAYPALONLY=Tilby "integrert" betaling; (Kredittkort + Paypal) eller bare "Paypal" +PaypalModeIntegral=Integrert PaypalModeOnlyPaypal=Kun PayPal -PAYPAL_CSS_URL=Optionnal Url av CSS-stilark på betaling side -ThisIsTransactionId=Dette er id av transaksjonen: %s -PAYPAL_ADD_PAYMENT_URL=Legg til url av Paypal betaling når du sender et dokument i posten +PAYPAL_CSS_URL=Vis url av CSS-stilark på betalingsside +ThisIsTransactionId=Transaksjons-ID: %s +PAYPAL_ADD_PAYMENT_URL=Legg til url av Paypal-betaling når du sender et dokument i posten PAYPAL_IPN_MAIL_ADDRESS=E-post adressen for øyeblikkelig varsling av betaling (IPN) PredefinedMailContentLink=Du kan klikke på den sikre linken nedenfor for å betale (PayPal) hvis det ikke allerede er gjort. \n\n\n%s\n\n YouAreCurrentlyInSandboxMode=Du er for øyeblikket i "sandbox"-modus NewPaypalPaymentReceived=Ny Paypal betaling mottatt NewPaypalPaymentFailed=Ny Paypal betaling mislyktes -PAYPAL_PAYONLINE_SENDEMAIL=E-post-varsel etter en betaling (suksess eller ikke) -ReturnURLAfterPayment=Retur URL etter betaling +PAYPAL_PAYONLINE_SENDEMAIL=E-post-varsel etter en betaling (vellykket eller ikke) +ReturnURLAfterPayment=Retur-URL etter betaling ValidationOfPaypalPaymentFailed=Validering av Paypal betaling mislyktes -PaypalConfirmPaymentPageWasCalledButFailed=Betalingsbekreftelsen for Paypal ble hentet av Paypal, men bekreftelse mislyktes +PaypalConfirmPaymentPageWasCalledButFailed=Betalingsbekreftelse ble forsøkt hentet av Paypal, men mislyktes diff --git a/htdocs/langs/nb_NO/printing.lang b/htdocs/langs/nb_NO/printing.lang new file mode 100644 index 00000000000..4a4bffc44a3 --- /dev/null +++ b/htdocs/langs/nb_NO/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direkteutskrift +Module64000Desc=Aktiver direkteutskrift +PrintingSetup=Oppsett av direkteutskrift-system +PrintingDesc=Denne modulen legger til en Skriv-knapp for å sende dokumenter direkte til en skriver (uten å åpne dokumentet i et program) i forskjellige moduler +ModuleDriverSetup=Oppsett av drivere +PrintingDriverDesc=Oppsett av skrivervariabler +ListDrivers=Liste over drivere +PrintTestDesc=Liste over skrivere +FileWasSentToPrinter=Filen %s ble sendt til skriveren +NoActivePrintingModuleFound=Ingen aktiv modul for utskrift +PleaseSelectaDriverfromList=Velg en skriver fra listen +SetupDriver=Oppsett av driver +TestDriver=Test +TargetedPrinter=Aktiv skriver +UserConf=Oppsett pr. bruker +PRINTGCP=Google Cloud Print +PrintGCPDesc=Denne driveren gjør at du kan sende dokumenter direkte til skrivere tilknyttet Google Cloud Print. +PrintingDriverDescprintgcp=Variabler for skriverdriver tilknyttet Google Cloud Print +PrintTestDescprintgcp=Skrivere tilknyttet Google Cloud Print +PRINTGCP_LOGIN=Google brukernavn +PRINTGCP_PASSWORD=Google passord +STATE_ONLINE=Online +STATE_UNKNOWN=Ukjent +STATE_OFFLINE=Offline +STATE_DORMANT=Offline ganske lenge +TYPE_GOOGLE=Google +TYPE_HP=HP skriver +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Disk +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Navn +GCP_displayName=Visningsnavn +GCP_Id=Skriver ID +GCP_OwnerName=Eiernavn +GCP_State=Skriverstatus +GCP_connectionStatus=Online status +GCP_Type=Skrivertype +PRINTIPP=PrintIPP driver +PrintIPPSetup=Oppsett av direkteutskrift-modul +PrintIPPDesc=Denne driveren gjør det mulig å sende dokumenter direkte til en skriver. Den krever et Linux-system med CUPS installert +PrintingDriverDescprintipp=Oppsettsvariabler for skriverdriver PrintIPP +PrintTestDescprintipp=Liste over skrivere til PrintIPP-driveren +PRINTIPP_ENABLED=Vi "Direkteutskrift" ikon i dokumentlister +PRINTIPP_HOST=Skriver-server +PRINTIPP_PORT=Port +PRINTIPP_USER=Logg inn +PRINTIPP_PASSWORD=Passord +NoPrinterFound=Ingen skrivere funnet (sjekk CUPS-oppsettet) +NoDefaultPrinterDefined=Ingen standardskriver definert +DefaultPrinter=Standardskriver +Printer=Skriver +CupsServer=CUPS server +IPP_Uri=Skriver url +IPP_Name=Skrivernavn +IPP_State=Skriverstatus +IPP_State_reason=Status årsak +IPP_State_reason1=Status årsak1 +IPP_BW=BW +IPP_Color=Farge +IPP_Device=Enhet +IPP_Media=Skriver media +IPP_Supported=Mediatype +STATE_IPP_idle=Venter +STATE_IPP_stopped=Stoppet +STATE_IPP_paused=Pauset +STATE_IPP_toner-low-report=Lavt toner-nivå +STATE_IPP_none=Ingen +MEDIA_IPP_stationery=Stasjonær +MEDIA_IPP_thermal=Termisk +IPP_COLOR_print-black=BW skriver diff --git a/htdocs/langs/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang index 6914b40308b..691eb568e95 100644 --- a/htdocs/langs/nb_NO/productbatch.lang +++ b/htdocs/langs/nb_NO/productbatch.lang @@ -5,18 +5,18 @@ ProductStatusNotOnBatch=Nei (lot/serienummer ikke i bruk) ProductStatusOnBatchShort=Ja ProductStatusNotOnBatchShort=Nei Batch=Lot/serienummer -atleast1batchfield=Eat-by date or Sell-by date or Lot/Serial number +atleast1batchfield=Siste forbruksdato, siste salgsdato eller lot/serienummer batch_number=Lot/serienummer -BatchNumberShort=Lot/Serial -l_eatby=Eat-by date -l_sellby=Sell-by date -DetailBatchNumber=Lot/serienummer detaljer -DetailBatchFormat=Lot/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) -printBatch=Lot/Serial: %s -printEatby=Eat-by: %s -printSellby=Sell-by: %s -printQty=Qty: %d -AddDispatchBatchLine=Add a line for Shelf Life dispatching -BatchDefaultNumber=Undefined -WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +BatchNumberShort=Lot/serienummer +l_eatby=Siste forbruksdato +l_sellby=Siste salgsdato +DetailBatchNumber=Lot/serienummer-detaljer +DetailBatchFormat=Lot/Serienummer: %s - Siste forbruksdato: %s - Siste salgsdato: %s (Ant: %d) +printBatch=Lot/Serienummer: %s +printEatby=Siste forbruksdato: %s +printSellby=Siste salgsdato: %s +printQty=Ant: %d +AddDispatchBatchLine=Legg til en linje for holdbarhetsdato +BatchDefaultNumber=Udefinert +WhenProductBatchModuleOnOptionAreForced=Når Lot/serienummer-modulen er aktivert, vil øk/minsk lager være tvunget til siste valg, og kan ikke modifiseres. Alle andre opsjoner kan endres +ProductDoesNotUseBatchSerial=Dette produktet har ikke lot/serienummer diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index 690d5e8bcfa..670ee6aa8aa 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - products -ProductRef=Produkt Ref. -ProductLabel=Etiketten +ProductRef=Produkt ref. +ProductLabel=Produktetikett ProductServiceCard=Kort for Varer/Tjenester -Products=Varer -Services=Tjenster -Product=Varer +Products=Produkter +Services=Tjenester +Product=Produkt Service=Tjenester ProductId=Vare/tjeneste-ID Create=Opprett @@ -23,14 +23,14 @@ ProductOrService=Vare eller tjeneste ProductsAndServices=Varer og tjenester ProductsOrServices=Varer eller tjenester ProductsAndServicesOnSell=Produkter og tjenester for salg eller innkjøp -ProductsAndServicesNotOnSell=Produkter og tjenester ute av salg +ProductsAndServicesNotOnSell=Produkter og tjenester ikke i salg ProductsAndServicesStatistics=Statistikk over varer og tjenester ProductsStatistics=Varestatistikk -ProductsOnSell=Produkt for salg eller innkjøp -ProductsNotOnSell=Produkt ute av salg og innkjøp +ProductsOnSell=Produkt for salg og innkjøp +ProductsNotOnSell=Produkt ikke for salg og ikke for innkjøp ProductsOnSellAndOnBuy=Products for sale and for purchase -ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesOnSell=Tjenester for salg eller innkjøp +ServicesNotOnSell=Tjenester ikke for salg ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Inter referanse LastRecorded=Siste registrerte varer/tjenester i salg @@ -44,7 +44,7 @@ CardProduct1=Tjenestekort CardContract=Kontraktkort Warehouse=Lager Warehouses=Lagere -WarehouseOpened=Lager åpnet +WarehouseOpened=Varehus åpent WarehouseClosed=Lager lukket Stock=Beholdning Stocks=Beholdninger @@ -71,21 +71,21 @@ SellingPriceTTC=Salgspris (inkl. skatt) PublicPrice=Veiledende pris CurrentPrice=Gjeldende pris NewPrice=Ny pris -MinPrice=Minim. salgspris -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Minste utsalgspris +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Salgsprisen kan ikke være lavere enn minste tillatte for dette produktet (%s uten skatt) ContractStatus=Kontraktstatus ContractStatusClosed=Lukket -ContractStatusRunning=Løpende +ContractStatusRunning=Pågående ContractStatusExpired=utløpt -ContractStatusOnHold=Ikke i gang -ContractStatusToRun=To get running -ContractNotRunning=Denne kontrakten er ikke i gang +ContractStatusOnHold=Venter +ContractStatusToRun=Sett pågående +ContractNotRunning=Denne kontrakten er ikke pågående ErrorProductAlreadyExists=En vare med varenummere %s eksisterer allerede. ErrorProductBadRefOrLabel=Ugyldig varenummer eller navn. ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Leverandører SupplierRef=Leverandør ref. ShowProduct=Vis vare @@ -114,15 +114,15 @@ BarcodeValue=Strekkodeverdi NoteNotVisibleOnBill=Notat (vises ikke på fakturaer, tilbud...) CreateCopy=Lag kopi ServiceLimitedDuration=Hvis varen er en tjeneste med begrenset varighet: -MultiPricesAbility=Several level of prices per product/service +MultiPricesAbility=Flere prisnivåer pr. produkt/tjeneste MultiPricesNumPrices=Prisnummer MultiPriceLevelsName=Priskategorier -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Tilknytninger Translation=Oversettelse KeywordFilter=Nøkkelordfilter @@ -131,7 +131,7 @@ ProductToAddSearch=Finn vare å legge til AddDel=Ny/slett Quantity=Mengde NoMatchFound=Ingen treff -ProductAssociationList=Overikt over tilknyttede varer/tjenester: navn på vare/tjeneste (mengdepåvirket) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=En av de valgte varene er foreldre til gjeldende vare DeleteProduct=Slett vare/tjeneste @@ -154,7 +154,7 @@ ProductSpecial=Spesial QtyMin=Minimum Qty PriceQty=Pris for dette kvantum PriceQtyMin=Price for this min. qty (w/o discount) -VATRateForSupplierProduct=VAT Rate (for this supplier/product) +VATRateForSupplierProduct=MVA-sats (for denne/dette leverandøren/produktet) DiscountQtyMin=Standard NoPriceDefinedForThisSupplier=Ingen pris/mengde definert for denne leverandør/varekombinasjonen NoSupplierPriceDefinedForThisProduct=Ingen leverandørpris/mengde definert for varen @@ -179,26 +179,51 @@ CloneProduct=Klon produkt eller tjeneste ConfirmCloneProduct=Er du sikker på at du vil klone produktet eller tjenesten %s? CloneContentProduct=Klon alle de viktigste informasjoner av produkt / tjeneste ClonePricesProduct=Klone viktigste informasjon og priser -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Dette produktet brukes NewRefForClone=Ref. av nye produkt / tjeneste -CustomerPrices=Kunder priser -SuppliersPrices=Leverandører priser -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Kundepriser +SuppliersPrices=Leverandørpriser +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Tollkodeks CountryOrigin=Opprinnelseslandet HiddenIntoCombo=Gjemt i enkelte lister Nature=Natur -ProductCodeModel=Product ref template -ServiceCodeModel=Service ref template +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L +ProductCodeModel=Produkt ref.mal +ServiceCodeModel=Tjeneste ref.mal AddThisProductCard=Opprett produktkort HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. AddThisServiceCard=Opprett tjenestekort HelpAddThisServiceCard=This option allows you to create or clone a service if it does not exist. -CurrentProductPrice=Current price -AlwaysUseNewPrice=Always use current price of product/service -AlwaysUseFixedPrice=Use the fixed price -PriceByQuantity=Different prices by quantity +CurrentProductPrice=Gjeldende pris +AlwaysUseNewPrice=Bruk alltid gjeldende pris på produkt/tjeneste +AlwaysUseFixedPrice=Bruk den faste prisen +PriceByQuantity=Prisen varierer med mengde PriceByQuantityRange=Quantity range ProductsDashboard=Products/Services summary UpdateOriginalProductLabel=Modify original label @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index ec9d88be647..a449ea2e278 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -1,68 +1,68 @@ # Dolibarr language file - Source file is en_US - projects -RefProject=Ref. project -ProjectId=Project Id +RefProject=Ref. prosjekt +ProjectId=Prosjekt-ID Project=Prosjekt Projects=Prosjekter -ProjectStatus=Project status +ProjectStatus=Prosjektstatus SharedProject=Alle PrivateProject=Kontaktpersoner for prosjektet -MyProjectsDesc=Denne visningen er begrenset til prosjekter du er en kontakt for (hva er den type). +MyProjectsDesc=Denne visningen er begrenset til prosjekter du er en kontakt for (uansett type). ProjectsPublicDesc=Denne visningen presenterer alle prosjektene du har lov til å lese. -ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. -ProjectsDesc=Denne visningen presenterer alle prosjekter (dine brukertillatelser gi deg tillatelse til å vise alt). -MyTasksDesc=Denne visningen er begrenset til prosjekter eller oppgaver du er en kontakt for (hva er den type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +ProjectsPublicTaskDesc=Denne visningen presenterer alle prosjekter og oppgaver du har lov til å lese. +ProjectsDesc=Denne visningen presenterer alle prosjekter (dine brukertillatelser gir deg tillatelse til å vise alt). +MyTasksDesc=Denne visningen er begrenset til prosjekter eller oppgaver du er en kontakt for (uansett type). +OnlyOpenedProject=Kun åpne prosjekter er synlige (prosjektkladder og lukkede prosjekter er ikke synlige). TasksPublicDesc=Denne visningen presenterer alle prosjekter og oppgaver du har lov til å lese. -TasksDesc=Denne visningen presenterer alle prosjekter og oppgaver (dine brukertillatelser gi deg tillatelse til å vise alt). -AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. +TasksDesc=Denne visningen presenterer alle prosjekter og oppgaver (dine brukertillatelser gir deg tillatelse til å vise alt). +AllTaskVisibleButEditIfYouAreAssigned=Alle oppgaver for et slikt prosjekt er synlige, men du kan bare legge til tid for prosjekter du er tildelt til. ProjectsArea=Prosjektområde NewProject=Nytt prosjekt -AddProject=Create project +AddProject=Opprett prosjekt DeleteAProject=Slett et prosjekt -DeleteATask=Slette en oppgave +DeleteATask=Slett en oppgave ConfirmDeleteAProject=Er du sikker på at du vil slette dette prosjektet? ConfirmDeleteATask=Er du sikker på at du vil slette denne oppgaven? -OfficerProject=Officer prosjekt +OfficerProject=Bas/formann for prosjektet LastProjects=Siste %s prosjekter AllProjects=Alle prosjekter ProjectsList=Oversikt over prosjekter ShowProject=Vis prosjekt SetProject=Sett prosjekt NoProject=Ingen prosjekter definert -NbOpenTasks=Ant. åpne oppgaver +NbOpenTasks=Antall åpne oppgaver NbOfProjects=Ant. prosjekter TimeSpent=Tid brukt -TimeSpentByYou=Time spent by you -TimeSpentByUser=Time spent by user +TimeSpentByYou=Tid bruk av deg +TimeSpentByUser=Tid brukt av bruker TimesSpent=Tid brukt RefTask=Ref. oppgave -LabelTask=Oppgave -TaskTimeSpent=Time spent on tasks -TaskTimeUser=User -TaskTimeNote=Note -TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects -WorkloadNotDefined=Workload not defined +LabelTask=Oppgaveetikett +TaskTimeSpent=Tid brukt på oppgaver +TaskTimeUser=Bruker +TaskTimeNote=Notat +TaskTimeDate=Dato +TasksOnOpenedProject=Oppgaver i åpne prosjekter +WorkloadNotDefined=Arbeidsmengde ikke definert NewTimeSpent=Ny tid brukt MyTimeSpent=Mitt tidsforbruk MyTasks=Mine oppgaver Tasks=Oppgaver Task=Oppgave -TaskDateStart=Task start date -TaskDateEnd=Task end date -TaskDescription=Task description +TaskDateStart=Oppgave startdato +TaskDateEnd=Oppgave sluttdato +TaskDescription=Oppgave beskrivelse NewTask=Ny oppgave -AddTask=Create task +AddTask=Opprett oppgave AddDuration=Legg til varighet Activity=Aktivitet -Activities=Oppgaver / aktiviteter +Activities=Oppgaver/aktiviteter MyActivity=Min aktivitet -MyActivities=Mine oppgaver / aktiviteter +MyActivities=Mine oppgaver/aktiviteter MyProjects=Mine prosjekter DurationEffective=Effektiv varighet -Progress=Progress -ProgressDeclared=Declared progress -ProgressCalculated=Calculated progress +Progress=Progresjon +ProgressDeclared=Erklært progresjon +ProgressCalculated=Kalkulert progresjon Time=Tid ListProposalsAssociatedProject=Oversikt over tilbud relatert til dette prosjektet ListOrdersAssociatedProject=Oversikt over ordre relatert til dette prosjektet @@ -71,76 +71,81 @@ ListPredefinedInvoicesAssociatedProject=Liste over kundens forhåndsdefinerte fa ListSupplierOrdersAssociatedProject=Liste over leverandørens ordre knyttet til prosjektet ListSupplierInvoicesAssociatedProject=Liste over leverandørens fakturaer knyttet til prosjektet ListContractAssociatedProject=Liste over kontrakter knyttet til prosjektet -ListFichinterAssociatedProject=Liste over tiltak knyttet til prosjektet -ListExpenseReportsAssociatedProject=List of expense reports associated with the project -ListDonationsAssociatedProject=List of donations associated with the project -ListActionsAssociatedProject=Liste over tiltak knyttet til prosjektet +ListFichinterAssociatedProject=Liste over intervensjoner knyttet til prosjektet +ListExpenseReportsAssociatedProject=Liste over utgiftsrapporter tilknyttet prosjektet +ListDonationsAssociatedProject=Liste over donasjoner tilknyttet prosjektet +ListActionsAssociatedProject=Liste over hendelser knyttet til prosjektet +ListTaskTimeUserProject=Liste over tidsbruk på oppgaver i prosjektet ActivityOnProjectThisWeek=Aktiviteter i prosjektet denne uke ActivityOnProjectThisMonth=Aktiviteter i prosjektet denne måned -ActivityOnProjectThisYear=Aktiviteter i prosjektet dette år -ChildOfTask=barn av oppgaven -NotOwnerOfProject=Ikke eier av denne private prosjektet -AffectedTo=Berørte til -CantRemoveProject=Dette prosjektet kan ikke fjernes da det er referert av noen andre objekter (faktura, bestillinger eller annet). Se referanser kategorien. -ValidateProject=Valider projet -ConfirmValidateProject=Er du sikker på at du vil godkjenne dette prosjektet? +ActivityOnProjectThisYear=Aktivitet i prosjektet dette år +ChildOfTask=Tilhører prosjekt/oppgave +NotOwnerOfProject=Ikke eier av dette private prosjektet +AffectedTo=Tildelt +CantRemoveProject=Dette prosjektet kan ikke fjernes da det er referert til av andre objekter (faktura, bestillinger eller annet). Se referanse-kategorien. +ValidateProject=Valider prosjekt +ConfirmValidateProject=Er du sikker på at du vil validere dette prosjektet? CloseAProject=Lukk prosjektet ConfirmCloseAProject=Er du sikker på at du vil lukke dette prosjektet? ReOpenAProject=Åpne prosjektet -ConfirmReOpenAProject=Er du sikker på at du ønsker å åpne dette prosjektet? +ConfirmReOpenAProject=Er du sikker på at du ønsker å gjenåpne dette prosjektet? ProjectContact=Prosjekt kontakter -ActionsOnProject=Handlinger på prosjektet -YouAreNotContactOfProject=Du er ikke en kontakt på denne private prosjektet +ActionsOnProject=Handlinger i prosjektet +YouAreNotContactOfProject=Du er ikke en kontakt tilhørende dette private prosjektet DeleteATimeSpent=Slett tidsbruk -ConfirmDeleteATimeSpent=Er du sikker på at du vil slette denne gangen brukt? -DoNotShowMyTasksOnly=See also tasks not assigned to me -ShowMyTasksOnly=View only tasks assigned to me +ConfirmDeleteATimeSpent=Er du sikker på at du vil slette tidsforbruket? +DoNotShowMyTasksOnly=Se oppgaver som tilhører andre, også +ShowMyTasksOnly=Vis kun oppgaver som tilhører meg TaskRessourceLinks=Ressurser -ProjectsDedicatedToThisThirdParty=Prosjekter dedikert til denne tredje part +ProjectsDedicatedToThisThirdParty=Prosjekter dedikert til denne tredjepart NoTasks=Ingen oppgaver for dette prosjektet -LinkedToAnotherCompany=Knyttet opp til andre tredjepart -TaskIsNotAffectedToYou=Task not assigned to you -ErrorTimeSpentIsEmpty=Tid brukt er tom -ThisWillAlsoRemoveTasks=Denne handlingen vil også slette alle oppgaver av prosjektet (%s oppgaver for øyeblikket) og alle innganger av medgått tid. -IfNeedToUseOhterObjectKeepEmpty=Dersom noen objekter (faktura, orden, ...), som tilhører en annen tredjepart, må knyttes til prosjektet for å lage, beholde denne tomme for å få prosjektet blir flere tredjeparter. -CloneProject=Clone project -CloneTasks=Clone tasks -CloneContacts=Clone contacts -CloneNotes=Clone notes -CloneProjectFiles=Clone project joined files -CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) -CloneMoveDate=Update project/tasks dates from now ? -ConfirmCloneProject=Are you sure to clone this project ? -ProjectReportDate=Change task date according project start date -ErrorShiftTaskDate=Impossible to shift task date according to new project start date -ProjectsAndTasksLines=Projects and tasks -ProjectCreatedInDolibarr=Project %s created -TaskCreatedInDolibarr=Task %s created -TaskModifiedInDolibarr=Task %s modified -TaskDeletedInDolibarr=Task %s deleted +LinkedToAnotherCompany=Knyttet opp til annen tredjepart +TaskIsNotAffectedToYou=Oppgave tilhører ikke deg +ErrorTimeSpentIsEmpty=Tidsbruk er tom +ThisWillAlsoRemoveTasks=Denne handlingen vil også slette alle oppgaver i prosjektet (%s oppgaver for øyeblikket), og all tidsregistrering slettes +IfNeedToUseOhterObjectKeepEmpty=Dersom noen objekter (faktura, ordre, ...), tilhørende en annen tredjepart, må tilknyttes prosjektet, behold denne tom. Prosjektet kan da knyttes til flere tredjeparter. +CloneProject=Klon prosjekt +CloneTasks=Klon oppgaver +CloneContacts=Klon kontakter +CloneNotes=Klon notater +CloneProjectFiles=Klon prosjekt-tilknyttede filer +CloneTaskFiles=Klon oppgave-tilknyttede fil(er) (hvis oppgave(r) er klonet) +CloneMoveDate=Oppdater prosjekter/oppgaver fra nå? +ConfirmCloneProject=Er du sikker på at du vil klone dette prosjektet? +ProjectReportDate=Endre oppgave-dato til prosjekt-startdato +ErrorShiftTaskDate=Kan ikke skifte oppgave-dato etter nytt prosjekt-startdato +ProjectsAndTasksLines=Prosjekter og oppgaver +ProjectCreatedInDolibarr=Prosjekt %s opprettet +TaskCreatedInDolibarr=Oppgave %s opprettet +TaskModifiedInDolibarr=Oppgave %s endret +TaskDeletedInDolibarr=Oppgave %s slettet ##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Prosjektleder TypeContact_project_external_PROJECTLEADER=Prosjektleder -TypeContact_project_internal_PROJECTCONTRIBUTOR=Contributor -TypeContact_project_external_PROJECTCONTRIBUTOR=Contributor -TypeContact_project_task_internal_TASKEXECUTIVE=Oppgave Executive -TypeContact_project_task_external_TASKEXECUTIVE=Oppgave Executive -TypeContact_project_task_internal_TASKCONTRIBUTOR=Contributor -TypeContact_project_task_external_TASKCONTRIBUTOR=Contributor -SelectElement=Select element -AddElement=Link to element +TypeContact_project_internal_PROJECTCONTRIBUTOR=Bidragsyter +TypeContact_project_external_PROJECTCONTRIBUTOR=Bidragsyter +TypeContact_project_task_internal_TASKEXECUTIVE=Oppgavel-leder +TypeContact_project_task_external_TASKEXECUTIVE=Oppgavel-leder +TypeContact_project_task_internal_TASKCONTRIBUTOR=Bidragsyter +TypeContact_project_task_external_TASKCONTRIBUTOR=Bidragsyter +SelectElement=Velg element +AddElement=Lenke til element UnlinkElement=Koble fra element # Documents models -DocumentModelBaleine=En komplett prosjektets rapport modell (logo. ..) -PlannedWorkload=Planned workload -PlannedWorkloadShort=Workload -WorkloadOccupation=Workload assignation -ProjectReferers=Refering objects -SearchAProject=Search a project -ProjectMustBeValidatedFirst=Project must be validated first -ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time -InputPerDay=Input per day -InputPerWeek=Input per week -InputPerAction=Input per action -TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s +DocumentModelBaleine=En komplett prosjekts-rapportmodell (logo. ..) +PlannedWorkload=Planlagt arbeidsmengde +PlannedWorkloadShort=Arbeidsmengde +WorkloadOccupation=Tildeling av arbeidsmengde +ProjectReferers=Refererende objekter +SearchAProject=Søk etter prosjekt +ProjectMustBeValidatedFirst=Prosjektet må valideres først +ProjectDraft=Prosjektkladder +FirstAddRessourceToAllocateTime=Tilknytt ressurs til å sette av tid +InputPerDay=Tidsbruk pr. dag +InputPerWeek=Tidsbruk pr. uke +InputPerAction=Tidsbruk pr. aktivitet +TimeAlreadyRecorded=Allerede registrert tidsforbruk for denne oppgaven/dagen og bruker %s +ProjectsWithThisUserAsContact=Prosjekter med denne brukeren som kontakt +TasksWithThisUserAsContact=Oppgaver tildelt denne brukeren +ResourceNotAssignedToProject=Ikke tildelt til prosjekt +ResourceNotAssignedToTask=Ikke tildelt til oppgave diff --git a/htdocs/langs/nb_NO/propal.lang b/htdocs/langs/nb_NO/propal.lang index aa0d6278d4e..5a233ad5fe5 100644 --- a/htdocs/langs/nb_NO/propal.lang +++ b/htdocs/langs/nb_NO/propal.lang @@ -1,14 +1,14 @@ # Dolibarr language file - Source file is en_US - propal Proposals=Tilbud Proposal=Tilbud -ProposalShort=Forslag +ProposalShort=Tilbud ProposalsDraft=Tilbudskladder ProposalDraft=Tilbudskladd -ProposalsOpened=Åpnede tilbud +ProposalsOpened=Åpne tilbud Prop=Tilbud CommercialProposal=Tilbud CommercialProposals=Tilbud -ProposalCard=Forslag kort +ProposalCard=Tilbudskort NewProp=Nytt tilbud NewProposal=Nytt tilbud NewPropal=Nytt tilbud @@ -16,7 +16,7 @@ Prospect=Prospekt ProspectList=Prospektliste DeleteProp=Slett tilbud ValidateProp=Godkjenn tilbud -AddProp=Lag tilbud +AddProp=Skriv tilbud ConfirmDeleteProp=Er du sikker på at du vil slette dette tilbudet? ConfirmValidateProp=Er du sikker på at du vil godkjenne dette tilbudet? LastPropals=Siste %s tilbud @@ -31,24 +31,24 @@ AmountOfProposalsByMonthHT=Tilbudsbeløp pr måned (eksl. MVA) NbOfProposals=Antall tilbud ShowPropal=Vis tilbud PropalsDraft=Kladder -PropalsOpened=Åpnede +PropalsOpened=Åpne PropalsNotBilled=Lukkede men ikke fakturerte PropalStatusDraft=Kladd (trenger godkjenning) -PropalStatusValidated=Godkjent (tilbudet er åpnet) -PropalStatusOpened=Godkjent (tilbudet er åpnet) +PropalStatusValidated=Godkjent (tilbudet er åpent) +PropalStatusOpened=Godkjent (tilbudet er åpent) PropalStatusClosed=Lukket -PropalStatusSigned=Lukket (akseptert) -PropalStatusNotSigned=Lukket (avslått) +PropalStatusSigned=Akseptert(kan faktureres) +PropalStatusNotSigned=Ikke akseptert(lukket) PropalStatusBilled=Fakturert PropalStatusDraftShort=Kladd PropalStatusValidatedShort=Godkjent -PropalStatusOpenedShort=Åpnet +PropalStatusOpenedShort=Åpne PropalStatusClosedShort=Lukket PropalStatusSignedShort=Akseptert PropalStatusNotSignedShort=Avslått PropalStatusBilledShort=Fakturert -PropalsToClose=Åpne tilbud -PropalsToBill=Aksepterte tilbud +PropalsToClose=Tilbud som skal lukkes +PropalsToBill=Aksepterte tilbud til fakturering ListOfProposals=Oversikt over tilbud ActionsOnPropal=Handlinger i forbindelse med tilbud NoOpenedPropals=Ingen åpne tilbud @@ -57,28 +57,28 @@ RefProposal=Tilbudsreferanser SendPropalByMail=Send tilbud med e-post AssociatedDocuments=Dokumenter relatert til tilbudet: ErrorCantOpenDir=Kan ikke åpne mappen -DatePropal=Dato for forslaget +DatePropal=Tilbudsdato DateEndPropal=Gyldig til DateEndPropalShort=Utløpsdato -ValidityDuration=Gyldighet +ValidityDuration=Gyldighetstid CloseAs=Lukk med status ClassifyBilled=Sett som fakturert BuildBill=Lag faktura -ErrorPropalNotFound=Tilbud %s ble ikke funnet +ErrorPropalNotFound=Tilbudet %s ble ikke funnet Estimate=Estimat: -EstimateShort=Estimate +EstimateShort=Estimat OtherPropals=Andre tilbud AddToDraftProposals=Legg til tilbudsutkast NoDraftProposals=Ingen tilbudsutkast -CopyPropalFrom=Opprett tilbud ved å kopiere et eksisterende tilbud +CopyPropalFrom=Opprett nytt tilbud ved å kopiere et eksisterende CreateEmptyPropal=Opprett tomt tilbud eller fra fra en liste over produkter/tjenester DefaultProposalDurationValidity=Standard gyldighetstid for tilbud (dager) UseCustomerContactAsPropalRecipientIfExist=Bruk kontaktpersonens adresse (hvis den er definert) i stedet for tredjepartens adresse -ClonePropal=Clone kommersielle forslag -ConfirmClonePropal=Er du sikker på at du vil klone denne kommersielle forslaget %s? -ConfirmReOpenProp=Er du sikker på at du vil åpne igjen de kommersielle forslag %s? -ProposalsAndProposalsLines=Kommersielle forslaget og linjer -ProposalLine=Forslag linje +ClonePropal=Klon tilbud +ConfirmClonePropal=Er du sikker på at du vil klone dette tilbudet %s? +ConfirmReOpenProp=Er du sikker på at du vil gjenåpne tilbudet %s? +ProposalsAndProposalsLines=Tilbud og linjer +ProposalLine=Tilbudslinje AvailabilityPeriod=Tilgjengelighet forsinkelse SetAvailability=Sett tilgjengelighet forsinkelse AfterOrder=etter bestilling @@ -89,12 +89,13 @@ AvailabilityTypeAV_2W=2 uker AvailabilityTypeAV_3W=3 uker AvailabilityTypeAV_1M=En måned ##### Types de contacts ##### -TypeContact_propal_internal_SALESREPFOLL=Representant oppfølging forslag -TypeContact_propal_external_BILLING=Kunden faktura kontakt -TypeContact_propal_external_CUSTOMER=Kundekontakt oppfølging forslag +TypeContact_propal_internal_SALESREPFOLL=Representant for oppfølging av tilbud +TypeContact_propal_external_BILLING=Kundens fakturakontakt +TypeContact_propal_external_CUSTOMER=Kundens tilbudsoppfølger # Document models DocModelAzurDescription=En fullstendig tilbudsmodell (logo...) DocModelJauneDescription=Jaune tilbudsmodell DefaultModelPropalCreate=Standard modellbygging -DefaultModelPropalToBill=Standard mal når du lukker et tilbud (som skal faktureres) -DefaultModelPropalClosed=Standard mal når du lukker et tilbud (ufakturert) +DefaultModelPropalToBill=Standardmal når du lukker et tilbud (som skal faktureres) +DefaultModelPropalClosed=Standardmal når du lukker et tilbud (ufakturert) +ProposalCustomerSignature=Skriftlig aksept, firmastempel, dato og signatur diff --git a/htdocs/langs/nb_NO/salaries.lang b/htdocs/langs/nb_NO/salaries.lang index acec7945e2a..3f72469fac0 100644 --- a/htdocs/langs/nb_NO/salaries.lang +++ b/htdocs/langs/nb_NO/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Vis lønnsutbetaling THM=Gjennomsnittlig timepris TJM=Gjennomsnittlig dagskost 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 diff --git a/htdocs/langs/nb_NO/sendings.lang b/htdocs/langs/nb_NO/sendings.lang index 954684d1e15..65ec3c98292 100644 --- a/htdocs/langs/nb_NO/sendings.lang +++ b/htdocs/langs/nb_NO/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=ENkel dokumentmodell DocumentModelMerou=Merou A5 modell WarningNoQtyLeftToSend=Advarsel, ingen produkter venter sendes. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planlagt levering innen +DateDeliveryPlanned=Planned date of delivery DateReceived=Dato levering mottatt SendShippingByEMail=Send forsendelse via e-post SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index bdaedd32a99..f066c126495 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Lagere NewWarehouse=Nytt lager WarehouseEdit=Endre lager MenuNewWarehouse=Nytt lager -WarehouseOpened=Lager åpnet +WarehouseOpened=Warehouse open WarehouseClosed=Lager lukket WarehouseSource=Kildelager WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Velg lageret til bruk for lager nedgang SelectWarehouseForStockIncrease=Velg lageret til bruk for lager økning NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/nb_NO/suppliers.lang b/htdocs/langs/nb_NO/suppliers.lang index 8196c6d43a3..9729115af8e 100644 --- a/htdocs/langs/nb_NO/suppliers.lang +++ b/htdocs/langs/nb_NO/suppliers.lang @@ -9,38 +9,38 @@ ListOfSuppliers=Leverandøroversikt ShowSupplier=Vis leverandør OrderDate=Bestillingsdato BuyingPrice=Innkjøpspris -BuyingPriceMin=Minste kjøpskurs -BuyingPriceMinShort=Min kjøpskurs +BuyingPriceMin=Laveste innkjøpspris +BuyingPriceMinShort=Laveste innkjøpspris TotalBuyingPriceMin=Totalt underprodukters innkjøpspriser SomeSubProductHaveNoPrices=Noen underprodukter har ingen pris definert AddSupplierPrice=Legg til leverandørpris ChangeSupplierPrice=Endre leverandørpris -ErrorQtyTooLowForThisSupplier=Mengden er for lav for denne leverandørem, eller det er ikke definert noen pris for dette produktet for denne leverandøren +ErrorQtyTooLowForThisSupplier=Mengden er for lav for denne leverandøren, eller det er ikke definert noen pris for dette produktet for denne leverandøren ErrorSupplierCountryIsNotDefined=Det er ikke angitt noe land for denne leverandøren. Du må gjøre dette først. ProductHasAlreadyReferenceInThisSupplier=Dette produktet har allerede en referanse hos denne leverandøren -ReferenceSupplierIsAlreadyAssociatedWithAProduct=Denne referansen leverandøren er allerede tilknyttet en referanse: %s +ReferenceSupplierIsAlreadyAssociatedWithAProduct=Denne leverandørreferansen er allerede tilknyttet en referanse: %s NoRecordedSuppliers=Ingen leverandører registrert SupplierPayment=Leverandørbetaling SuppliersArea=Leverandørområde RefSupplierShort=Ref. leverandør Availability=Tilgjengelighet -ExportDataset_fournisseur_1=Oversikt over leverandørfakturaer ig varelinjer +ExportDataset_fournisseur_1=Oversikt over leverandørfakturaer og varelinjer ExportDataset_fournisseur_2=Leverandørfakturaer og betalinger ExportDataset_fournisseur_3=Leverandør ordrer og ordrelinjer ApproveThisOrder=Godkjenn denne innkjøpsordren -ConfirmApproveThisOrder=Er du sikker på at du vil godkjenne denne innkjøpsordren? +ConfirmApproveThisOrder=Er du sikker på at du vil godkjenne innkjøpsordre %s ? DenyingThisOrder=Avvis denne ordren ConfirmDenyingThisOrder=Er du sikker på at du vil avvise denne innkjøpsordren? -ConfirmCancelThisOrder=Er du sikker på at du vil avbryte denne innkjøpsordren? +ConfirmCancelThisOrder=Er du sikker på at du vil kansellere denne innkjøpsordren? AddCustomerOrder=Opprett kundeordre AddCustomerInvoice=Opprett kundefaktura AddSupplierOrder=Opprett innkjøpsordre -AddSupplierInvoice=Opprett innkjøpsfaktura +AddSupplierInvoice=Opprett leverandørfaktura ListOfSupplierProductForSupplier=Oversikt over produkter og priser for leverandøren %s -NoneOrBatchFileNeverRan=Ingen eller batch %s ikke løp nylig +NoneOrBatchFileNeverRan=Ingen eller batch %s er ikke kjørt i det siste SentToSuppliers=Sendt til leverandører ListOfSupplierOrders=Liste over leverandørordre MenuOrdersSupplierToBill=Leverandørordre til faktura NbDaysToDelivery=Leveringsforsinkelse i dager -DescNbDaysToDelivery=Lengste forsinkelse er vist i ordre-produktliste -UseDoubleApproval=Bruk dobbel godkjenning ( den andre godkjennelsen kan gjøres av alle brukere med riktig adgang) +DescNbDaysToDelivery=Største leveringsforsinkelse av produkter fra denne ordren +UseDoubleApproval=Bruk dobbel godkjenning (den andre godkjennelsen kan gjøres av alle brukere med riktig adgang) diff --git a/htdocs/langs/nb_NO/trips.lang b/htdocs/langs/nb_NO/trips.lang index 488a49692a9..81a72651253 100644 --- a/htdocs/langs/nb_NO/trips.lang +++ b/htdocs/langs/nb_NO/trips.lang @@ -40,11 +40,10 @@ TF_BUS=Buss TF_CAR=Bil TF_PEAGE=Toll TF_ESSENCE=Drivstoff -TF_HOTEL=Overnatting +TF_HOTEL=Hotell TF_TAXI=Taxi ErrorDoubleDeclaration=Du har opprettet en annen reiseregning i overlappende tidsperiode -ListTripsAndExpenses=Liste over reiseregninger AucuneNDF=Ingen reiseregning funnet etter disse kriteriene AucuneLigne=Ingen reiseregning er opprettet enda AddLine=Legg til linje @@ -56,12 +55,12 @@ ModePaiement=Betalingsmåte Note=Notat Project=Prosjekt -VALIDATOR=Bruker som skal informeres for godkjenning +VALIDATOR=Bruker som er ansvarlig for godkjenning VALIDOR=Godkjent av AUTHOR=Registrert av AUTHORPAIEMENT=Betalt av REFUSEUR=Avvist av -CANCEL_USER=Kansellert av +CANCEL_USER=Slettet av MOTIF_REFUS=Grunn MOTIF_CANCEL=Grunn @@ -74,7 +73,7 @@ DATE_PAIEMENT=Betalt dato TO_PAID=Betal BROUILLONNER=Gjenåpne -SendToValid=Sendt for godkjenning +SendToValid=Sendt til godkjenning ModifyInfoGen=Endre ValidateAndSubmit=Valider og send til godkjenning @@ -93,7 +92,7 @@ ConfirmPaidTrip=Er du sikker på at du vil endre status til "betalt" for denne r CancelTrip=Kanseller en reiseregning ConfirmCancelTrip=Er du sikker på at du vil kansellere denne reiseregningen? -BrouillonnerTrip=Endre status på reiseregning til "Kladd" +BrouillonnerTrip=Endre reiseregning til "kladd" ConfirmBrouillonnerTrip=Er du sikker på at du vil endre status til "Kladd" for denne reiseregningen? SaveTrip=Godkjenn reiseregning diff --git a/htdocs/langs/nb_NO/users.lang b/htdocs/langs/nb_NO/users.lang index 2ba7de19731..47bed320c64 100644 --- a/htdocs/langs/nb_NO/users.lang +++ b/htdocs/langs/nb_NO/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Fjern fra gruppe PasswordChangedAndSentTo=Passordet er endret og sendt til %s. PasswordChangeRequestSent=Anmodning om å endre passordet for %s er sendt til %s. MenuUsersAndGroups=Brukere og grupper +MenuMyUserCard=Mitt brukerkort LastGroupsCreated=Siste %s opprettede grupper LastUsersCreated=Siste %s opprettede brukere ShowGroup=Vis gruppe diff --git a/htdocs/langs/nb_NO/withdrawals.lang b/htdocs/langs/nb_NO/withdrawals.lang index 2775c7f68b7..659fcb911c6 100644 --- a/htdocs/langs/nb_NO/withdrawals.lang +++ b/htdocs/langs/nb_NO/withdrawals.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - withdrawals -StandingOrdersArea=Område for utestående ordre -CustomersStandingOrdersArea=Område for utestående kundeordre -StandingOrders=Utestående ordre -StandingOrder=Utestående ordre -NewStandingOrder=Ny utestående ordre -StandingOrderToProcess=Å behandle +StandingOrdersArea=Område for faste ordre +CustomersStandingOrdersArea=Område for faste ordre +StandingOrders=Fast ordre +StandingOrder=Fast ordre +NewStandingOrder=Ny fast ordre +StandingOrderToProcess=Til behandling StandingOrderProcessed=Behandlet Withdrawals=Innbetalinger Withdrawal=Innbetaling @@ -17,8 +17,8 @@ WithdrawalsLines=Betalte linjer RequestStandingOrderToTreat=Request for standing orders to process RequestStandingOrderTreated=Request for standing orders processed NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. -CustomersStandingOrders=Utestående kundeordre -CustomerStandingOrder=Utestående kundeordre +CustomersStandingOrders=Fast kundeordre +CustomerStandingOrder=Fast kundeordre NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request NbOfInvoiceToWithdrawWithInfo=Nb. of invoice with withdraw request for customers having defined bank account information InvoiceWaitingWithdraw=Vaktura venter på betaling diff --git a/htdocs/langs/nb_NO/workflow.lang b/htdocs/langs/nb_NO/workflow.lang index bb6ee561f38..b42edc3e911 100644 --- a/htdocs/langs/nb_NO/workflow.lang +++ b/htdocs/langs/nb_NO/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -WorkflowSetup=Arbeidsflyt modulen oppsett -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Det er ingen arbeidsflyt kan du endre for modul du har aktivert. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Lag en kundeordre automatisk etter en kommersiell forslag er signert -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kommersiell forslag er signert -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kontrakt er validert -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Lag en kunde faktura automatisk etter en kundeordre er stengt -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Oppsett av Arbeidsflyt-modulen +WorkflowDesc=Denne modulen er laget for å sette opp automatiske hendelser i programmet. Som standard er arbeidsflyt-modulen åpen (du kan gjøre ting i de rekkefølgen du ønsker). Du kan aktivere de automatiske hendelsene du vil. +ThereIsNoWorkflowToModify=Det er ingen arbeisflyt å endre for den aktiverte modulen +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatisk opprettelse av kundeordre etter at et tilbud er signert +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically Opprett faktura etter at et tilbud er signert +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically Opprett faktura etter at en kontrakt er validert +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically Opprett faktura etter at en ordre er lukket +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Klassifiser tilbud som fakturert når kundeordre er satt til betalt +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klassifiser kundeordre(r) som fakturert når faktura er satt til betalt +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klassifiser kundeordre(r) som fakturert når faktura er satt til validert diff --git a/htdocs/langs/nl_NL/accountancy.lang b/htdocs/langs/nl_NL/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/nl_NL/accountancy.lang +++ b/htdocs/langs/nl_NL/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index f9146e16840..c1045f08f89 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Gebruikersmenu LangFile=.lang bestand System=Systeem SystemInfo=Systeeminformatie -SystemTools=Systeemwerkset SystemToolsArea=Systeemwerksetoverzicht SystemToolsAreaDesc=Dit gedeelte biedt administratieve functionaliteit. Gebruik het menu om de functionaliteit in te stellen die u nodig heeft. Purge=Leegmaken @@ -232,8 +231,8 @@ Security=Beveiliging Passwords=Wachtwoorden DoNotStoreClearPassword=Geen onversleutelde wachtwoorden opslaan in de database, maar alleen versleutelde (Activering aanbevolen) MainDbPasswordFileConfEncrypted=Databasewachtwoord versleuteld opslaan in conf.php (Activering aanbevolen) -InstrucToEncodePass=Vervang om het wachtwoord versleuteld op te slaan in conf.php, de regel
$dolibarr_main_db_pass="..."
door
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Vervang om het wachtwoord onversleuteld (leesbaar) op te slaan in conf.php, de regel
$dolibarr_main_db_pass="crypted:..."
door
$dolibarr_main_db_pass="%s" +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=Bescherming van gecreëerde PDF files. (Activering NIET aanbevolen, omdat dit de aanmaak van meerdere bestanden onmogelijk maakt) ProtectAndEncryptPdfFilesDesc=Bescherming van PDF files, deze kunnen gelezen en afgedrukt worden met behulp van een PDF-lezer. Echter, het bewerken en kopiëren is niet meer mogelijk. Let op dat door het gebruik van deze functionaliteit, de bouw van een globale gecumuleerde pdf niet werkt (zoals bij onbetaalde facturen). Feature=Functionaliteit @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Dit is ingesteld op de verwerking van: ThisIsAlternativeProcessToFollow=Dit is een alternatieve instelling te verwerken: StepNb=Stap %s FindPackageFromWebSite=Vind een pakket die u de functionaliteit geeft die u wilt (bijvoorbeeld op de officiële website van %s). -DownloadPackageFromWebSite=Download pakket %s. -UnpackPackageInDolibarrRoot=Pak het pakketbestand uit in Dolibarr's map bestemd voor externe modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Installatie is voltooid en Dolibarr is gereed voor het gebruik van de nieuwe functionaliteit. NotExistsDirect=De alternatieve root directory is niet bepaald.
InfDirAlt=Vanaf versie 3 is het mogelijk om een alternatieve root directory te definiëren. Dit laat je toe om op dezelfde plaats zowel plug-ins als eigen templates te bewaren.
Maak gewoon een directory op het niveau van de root van Dolibarr (bv met de naam: aanpassing).
InfDirExample=
Kondig die dan aan in het bestand conf.php
$dolibarr_main_url_root_alt='http://myserver/aanpassing'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/aanpassing'
*Deze lijnen zijn inactief gemaakt met een "#" teken, verwijder dat teken om ze te aktiveren. -YouCanSubmitFile=Kies module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Huidige versie van Dolibarr CallUpdatePage=Ga naar de pagina die de databasestructuur en gegevens bijwerkt: %s. LastStableVersion=Laatste stabiele versie @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Een parameterlijst afkomstig van een tabel
Syntax ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Bibliotheek om PDF's te maken WarningUsingFPDF=Opgelet: je
conf.php
bevat de instelling dolibarr_pdf_force_fpdf=1. Dat betekent dat je de FPDF bibliotheek gebruikt om PDF bestanden te maken. Deze bibliotheek is oud, en ondersteunt een aantal mogelijkheden niet (Unicode, transparantie in beelden, cyrillische, arabische en aziatische talen, ...), dus er kunnen fouten optreden bij het maken van PDF's.
Om dat op te lossen, en om volledige ondersteuning van PDF-maken te hebben, download aub TCPDF library, en dan verwijder of maak commentaar van de lijn $dolibarr_pdf_force_fpdf=1, en voeg in plaats daarvan $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' toe. -LocalTaxDesc=Sommige landen gebruiken 2 of 3 belastingen op iedere factuurregel. Als dit het geval is, kies type voor tweede en derde belasting en het tarief. Mogelijke typen zijn:
1 : Locale belasting van toepassing op producten en diensten zonder btw (btw wordt niet toegepast op locale belasting)
2 : Locale belasting van toepassing op producten en diensten voor btw (btw wordt berekend op bedrag + locale belasting )
3 : Locale belasting van toepassing op producten zonder btw (btw wordt niet toegepast op locale belasting)
4 : Locale belasting van toepassing op producten voor btw (btw wordt berekend op bedrag + locale belasting)
5 : Locale belasting van toepassing op diensten zonder btw (btw wordt niet toegepast op locale belasting)
6 : Locale belasting van toepassing op diensten voor btw (btw wordt berekend op bedrag + locale belasting ) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Geef een telefoonnummer om de ClickToDial link te testen voor gebruiker %s RefreshPhoneLink=Herladen link @@ -492,8 +491,8 @@ Module400Name=Projecten/Kansen/Leads Module400Desc=Beheer van projecten, kansen of leads. U kunt elk willekeurig element (factuur, order, offerte, interventie, ...) toewijzen aan een project en een transversale weergave krijgen van de projectweergave. Module410Name=Webkalender Module410Desc=Integratie van een webkalender -Module500Name=Bijzondere uitgaven (BTW, sociale lasten, dividenden) -Module500Desc=Beheer van diverse uitgaven, zoals belastingen, sociale bijdragen, dividenden en salarissen +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salarissen Module510Desc=Beheer van de werknemers salarissen en betalingen Module520Name=Lening @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Acties-, taken- en agendabeheer Module2500Name=Electronic Content Management Module2500Desc=Opslaan en delen van documenten -Module2600Name=Webdiensten -Module2600Desc=Activeer de Dolibarr webdienstenserver +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=Webdiensten Module2650Desc=Schakel de Dolibarr webservices client aan (Kan worden gebruikt om gegevens en / of aanvragen duwen naar externe servers. Leverancier bestellingen alleen ondersteund voor het moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Oorsprong van offertes / bestellingen DictionaryAccountancyplan=Rekeningschema DictionaryAccountancysystem=Modellen voor rekeningschema DictionaryEMailTemplates=Email documentensjablonen +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Instellingen opgeslagen BackToModuleList=Terug naar moduleoverzicht BackToDictionaryList=Terug naar de woordenboeken lijst @@ -936,13 +939,14 @@ CompanyZip=Postcode CompanyTown=Plaats CompanyCountry=Land CompanyCurrency=Belangrijkste valuta +CompanyObject=Object of the company Logo=Logo DoNotShow=Niet tonen DoNotSuggestPaymentMode=Geen betalingswijze voorstellen NoActiveBankAccountDefined=Geen actieve bankrekening ingesteld OwnerOfBankAccount=Eigenaar van bankrekening %s BankModuleNotActive=Bankrekeningen module niet ingeschakeld -ShowBugTrackLink=Toon link 'Rapporteer een fout' +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Toon 'werkbank' op homepage Alerts=Kennisgevingen Delays=Vertragingen @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Maximaal aantal decimalen voor eenheidsprijzen MAIN_MAX_DECIMALS_TOT=Maximaal aantal decimalen voor de totale prijs MAIN_MAX_DECIMALS_SHOWN=Maximaal aantal decimalen voor de prijzen weergegeven op het scherm (Voeg ... toe na dit nummer als u ... wilt zien als het nummer wordt afgekapt op het scherm) MAIN_DISABLE_PDF_COMPRESSION=Gebruik PDF-compressie voor gegenereerde PDF-bestanden. -MAIN_ROUNDING_RULE_TOT= Grootte van het afrondingsbereik (voor de zeldzame landen waar afronden anders wordt gedaan dan op basis 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Prijs per eenheid van een product TotalPriceAfterRounding=Totale prijs inclusief na afronding ParameterActiveForNextInputOnly=De instelling word pas actief voor de volgende invoer @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Totaal aantal geactiveerde modules: %s YouMustEnableOneModule=Je moet minstens 1 module aktiveren ClassNotFoundIntoPathWarning=Classe %s niet gevonden in PHP pad YesInSummer=Ja in de zomer -OnlyFollowingModulesAreOpenedToExternalUsers=Let op, alleen volgende modules worden opengesteld voor externe gebruikers (ongeacht de rechten van zulke gebruikers): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Sessie opslag geencrypteerd door Suhosin ConditionIsCurrently=Voorwaarde is momenteel %s YouUseBestDriver=U gebruikt driver %s die momenteel meest geschikt is. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Maximaal aantal producten in 'combo-lijsten' (0 = on ConfirmDeleteProductLineAbility=Om bevestiging vragen bij het verwijderen van productregels in formulieren ModifyProductDescAbility=Personalisatie van productomschrijvingen in formulieren ViewProductDescInFormAbility=Visualisatie van de productomschrijvingen in de formulieren (anders getoond als popup-tooltip) +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=Visualisatie van producten die beschrijvingen in de thirdparty taal UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Gebruik een zoekformulier om een ​​product te kiezen (in plaats van een drop-down lijst). UseEcoTaxeAbility=Ondersteuning voor Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Standaard streepjescodetype voor produkten SetDefaultBarcodeTypeThirdParties=Standaard streepjescodetype voor derde partijen +UseUnits=Support units ProductCodeChecker= Module om product codes te genereren en te controleren (product of dienst) ProductOtherConf= Product / dienst configuratie ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Streepjescodetype UPC BarcodeDescISBN=Streepjescodetype ISBN BarcodeDescC39=Streepjescodetype C39 BarcodeDescC128=Streepjescodetype C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Opdrachtregelprogramma voor streepjescodegeneratie (gebruikt door interne generator voor sommige barcode types). Moet compatible zijn met "genbarcode".
vb: /usr/local/bin/genbarcode BarcodeInternalEngine=Internal engine BarCodeNumberManager=Beheerder om automatisch barcode nummers te bepalen. @@ -1552,6 +1560,13 @@ WebServicesSetup=Webdienstenmoduleinstellingen WebServicesDesc=Door het inschakelen van deze module, word Dolibarr een webdienstenserver voor het verrichten van diverse webdiensten. WSDLCanBeDownloadedHere='WSDL descriptor'-bestanden van de aangeboden diensten kunnen hier gedownload worden EndPointIs='SOAP cliënten' moeten hun verzoeken versturen naar het 'Dolibarr endpoint' beschikbaar op URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bankmoduleinstellingen FreeLegalTextOnChequeReceipts=Eigen tekst op cheque-ontvangsten @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open het boekjaar CloseFiscalYear=Sluit boekjaar DeleteFiscalYear=Verwijder het boekjaar ConfirmDeleteFiscalYear=Weet u zeker dat u dit boekjaar wilt verwijderen? -Opened=Geopend +Opened=Open Closed=Gesloten AlwaysEditable=Kan altijd worden bewerkt MAIN_APPLICATION_TITLE=Forceer zichtbare naam van de toepassing (waarschuwing: het instellen van uw eigen naam hier kan het automatisch aanvullen van de inlog functie breken wanneer gebruik wordt van de mobiele applicatie DoliDroid) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installatie van externe module is niet mo SomethingMakeInstallFromWebNotPossible2=Om deze reden, is het upgrade process hier beschreven alleen in handmatige stappen door een bevoorrechte gebruiker te doen. InstallModuleFromWebHasBeenDisabledByFile=Installeren van externe module van toepassing is uitgeschakeld door uw beheerder. Je moet hem vragen om het bestand %s te verwijderen om deze functie mogelijk te maken. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index 7cb1835e4aa..debe1f6e1f5 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -94,12 +94,12 @@ Conciliate=Afstemmen Conciliation=Afstemming ConciliationForAccount=Deze rekeing afstemmen IncludeClosedAccount=Inclusief opgeheven rekeningen -OnlyOpenedAccount=Alleen open rekeningen +OnlyOpenedAccount=Only open accounts AccountToCredit=Te crediteren rekening AccountToDebit=Te debiteren rekening DisableConciliation=Afstemming van deze rekening uitschakelen ConciliationDisabled=Afstemming voor deze rekening is uitgeschakeld -StatusAccountOpened=Geopend +StatusAccountOpened=Open StatusAccountClosed=Opgeheven AccountIdShort=Aantal EditBankRecord=Bewerk bankregel diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 5619ad5f954..923e6d6e3ef 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=Deze factuur niet de laatste in de cyclus en mag niet worden gewi DisabledBecauseNotLastInCycle=De volgende situatie bestaat al. DisabledBecauseFinal=Deze situatie is definitief. CantBeLessThanMinPercent=De voortgang kan niet kleiner zijn dan de waarde in de voorgaande situatie. -NoSituations=Geen geopend situaties +NoSituations=No open situations InvoiceSituationLast=Finale en algemene factuur diff --git a/htdocs/langs/nl_NL/boxes.lang b/htdocs/langs/nl_NL/boxes.lang index 1d2bcc4305b..b9acf16fbc0 100644 --- a/htdocs/langs/nl_NL/boxes.lang +++ b/htdocs/langs/nl_NL/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Laatste contracten BoxLastContacts=Laatste contacten / adressen BoxLastMembers=Laatste leden BoxFicheInter=Laatste tussenkomsten -BoxCurrentAccounts=Rekening geopend +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Omzet BoxTotalUnpaidCustomerBills=Totaal aantal onbetaalde afnemersfacturen BoxTotalUnpaidSuppliersBills=Totaal aantal onbetaalde leveranciersfacturen @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Laatste %s leden BoxTitleLastFicheInter=Laatste tussenkomst %e aanpassingen BoxTitleOldestUnpaidCustomerBills=Oudste %s onbetaalde klant facturen BoxTitleOldestUnpaidSupplierBills=Oudste %s onbetaalde leveranciersfacturen -BoxTitleCurrentAccounts=Saldo van de geopende rekeningen\n +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Omzet BoxTitleTotalUnpaidCustomerBills=Onbetaalde klant facturen BoxTitleTotalUnpaidSuppliersBills=Onbetaalde leveranciersfacturen diff --git a/htdocs/langs/nl_NL/categories.lang b/htdocs/langs/nl_NL/categories.lang index aac03a49e40..bc45a391c71 100644 --- a/htdocs/langs/nl_NL/categories.lang +++ b/htdocs/langs/nl_NL/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Onmogelijk om de tag / categorie toe te voegen ImpossibleAssociateCategory=Onmogelijk om de tag / categorie koppelen aan WasAddedSuccessfully=%s is succesvol toegevoegd. ObjectAlreadyLinkedToCategory=Element is al verbonden met deze tag / categorie. -CategorySuccessfullyCreated=Deze tag / categorie %s is toegevoegd met succes. -ProductIsInCategories=Product/dienst behoort tot volgende tags / categorieën -SupplierIsInCategories=Relatie behoort tot volgende leveranciers tags / categorieën -CompanyIsInCustomersCategories=Deze relatie behoort tot volgende klanten/prospects tags/categorieën -CompanyIsInSuppliersCategories=Deze relatie behoort tot volgende leveranciers tags / categorieën -MemberIsInCategories=Dit lid behoort tot volgende leden tags / categorieën -ContactIsInCategories=Dit contact behoort tot volgende contacten tags / categorieën +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories ProductHasNoCategory=Dit product / dienst staat niet in tags / categorieën SupplierHasNoCategory=Deze leverancier staat in geen enkele tags / categorieën -CompanyHasNoCategory=Dit bedrijf staat in geen tags / categorieën +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=Dit lid staat in geen tags / categorieën ContactHasNoCategory=Dit contact staat in geen tags / categorieën -ClassifyInCategory=Classificeer in tag / categorie +ClassifyInCategory=Add to tag/category NoneCategory=Geen NotCategorized=Zonder tag / categorie CategoryExistsAtSameLevel=Deze categorie bestaat al op hetzelfde niveau @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Inhoud is niet zichtbaar voor iedereen CategoriesTree=Tags / categorieën boom DeleteCategory=Delete tag / categorie ConfirmDeleteCategory=Weet je zeker dat je deze tag / categorie wilt verwijderen? -RemoveFromCategory=Verwijder koppeling met tag / categorie -RemoveFromCategoryConfirm=Weet u zeker dat u wilt verband tussen de transactie en de tag / categorie verwijderen? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=Geen tag / categorie gedefinieerd -SuppliersCategoryShort=Leveranciers tags / categorie -CustomersCategoryShort=Klanten tags / categorie -ProductsCategoryShort=Producten tags / categorie -MembersCategoryShort=Leden tags / categorie +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Leveranciers tags / categorieën CustomersCategoriesShort=Klanten tags / categorieën CustomersProspectsCategoriesShort=Afnemers- / Prospectencategorie @@ -94,7 +94,7 @@ CatSupList=Lijst van leverancier tags / categorieën CatCusList=Lijst van de klant/prospect tags/categorieën CatProdList=Lijst van producten tags / categorieën CatMemberList=Lijst leden tags / categorieën -CatContactList=Lijst van contact tags / categorieën en contact +CatContactList=List of contact tags/categories CatSupLinks=Koppelingen tussen leveranciers en tags / categorieën CatCusLinks=Koppelingen tussen klanten / prospects en tags / categorieën CatProdLinks=Koppelingen tussen producten / diensten en tags / categorieën diff --git a/htdocs/langs/nl_NL/companies.lang b/htdocs/langs/nl_NL/companies.lang index feff1443af9..f1b30e23a88 100644 --- a/htdocs/langs/nl_NL/companies.lang +++ b/htdocs/langs/nl_NL/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Maximum bereikt voor openstaande rekening MonkeyNumRefModelDesc=Geeft een nummer als %syymm-nnnn voor afnemerscodes en %sjjmm-nnnn voor leverancierscodes waar jj het jaar is, mm de maand en nnnn een opeenvolgend nummer vanaf 0. LeopardNumRefModelDesc=Afnemers- / leverancierscode is vrij. Deze code kan te allen tijde worden gewijzigd. ManagingDirectors=Manager(s) Naam (CEO, directeur, voorzitter ...) -SearchThirdparty=Zoek relatie +SearchThirdparty=Search third party SearchContact=Zoek contactpersoon +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/nl_NL/cron.lang b/htdocs/langs/nl_NL/cron.lang index 9308defa42a..bb5c6c42c3b 100644 --- a/htdocs/langs/nl_NL/cron.lang +++ b/htdocs/langs/nl_NL/cron.lang @@ -4,10 +4,10 @@ About = Over CronAbout = Over Cron CronAboutPage = Over Cron pagina # Right -Permission23101 = Lees geplande taak -Permission23102 = Maak/wijzig geplande taak -Permission23103 = Verwijder geplande taak -Permission23104 = Voer geplande taak uit +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Beheer taakplanning URLToLaunchCronJobs=URL to check and launch cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Commando -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Taak @@ -39,8 +39,8 @@ CronDtStart=Begindatum CronDtEnd=Einddatum CronDtNextLaunch=Volgende uitvoering CronDtLastLaunch=Laatste uitvoering -CronFrequency=Frequentie -CronClass=Klasse +CronFrequency=Frequency +CronClass=Class CronMethod=Methode CronModule=Module CronAction=Aktie @@ -55,9 +55,9 @@ CronEach=Elke JobFinished=Taak gestart en be-eindigd #Page card CronAdd= Taak toevoegen -CronHourStart= Start uur en datum van de taak -CronEvery= Taak uitvoeren elke -CronObject= Instantie/Object om te creeren +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instantie/Object om te creeren CronArgs=Instellingen CronSaveSucess=Save succesfully CronNote=Reactie @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informatie # Common -CronType=Taak type +CronType=Job type CronType_method=Aanroep methode van Dolibarr Class CronType_command=Shell commando CronMenu=Cron CronCannotLoadClass=Kan klasse %s of object %s niet laden UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index 5d263dc1e58..9c357397ccd 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Verplichte setup parameters zijn nog niet gedefinieerd diff --git a/htdocs/langs/nl_NL/incoterm.lang b/htdocs/langs/nl_NL/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/nl_NL/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index 9d73ad2717a..4976d993e70 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Databaseserver - Superuser toegang (root toegang) CheckToCreateDatabase=Vink deze optie aan wanneer de database nog niet bestaat en gecreëerd moet worden.
In dit geval, moet u de velden gebruikersnaam en wachtwoord voor het superuser (root) account onderaan deze pagina ook invullen. CheckToCreateUser=Vink deze optie aan wanneer de databasegebruiker nog niet bestaat en gecreëerd moet worden.
In dit geval, moet u de velden gebruikersnaam en wachtwoord voor het superuser (root) account onderaan deze pagina ook invullen. Wanneer deze optie niet aangevinkt wordt, moeten de gebruikersnaam, het wachtwoord en de database van de eigenaar bestaan. Experimental=(Experimenteel) +Deprecated=(deprecated) DatabaseRootLoginDescription=Gebruikersnaam van de gebruiker die gemachtigd is om nieuwe databases of gebruikers aan te maken, nutteloos wanneer uw database en gebruiker al bestaan (zoals het geval wanneer u een webhosting provider gebruikt). KeepEmptyIfNoPassword=Laat dit veld leeg wanneer de gebruiker geen wachtwoord heeft (vermijd dit) SaveConfigurationFile=Waarden opslaan diff --git a/htdocs/langs/nl_NL/languages.lang b/htdocs/langs/nl_NL/languages.lang index 040b3d64322..bbf22d985b8 100644 --- a/htdocs/langs/nl_NL/languages.lang +++ b/htdocs/langs/nl_NL/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabisch Language_ar_SA=Arabisch +Language_bn_BD=Bengali Language_bg_BG=Bulgaarse Language_bs_BA=Bosnisch Language_ca_ES=Catalaans @@ -21,9 +22,10 @@ Language_en_SA=Engels (Saoedi-Arabië) Language_en_US=Engels (Verenigde Staten) Language_en_ZA=Engels (Zuid-Afrika) Language_es_ES=Spaans -Language_es_DO=Spaans (Dominicaanse Republiek) Language_es_AR=Spaans (Argentinië) Language_es_CL=Spaans (Chili) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spaans (Dominicaanse Republiek) Language_es_HN=Spaans (Honduras) Language_es_MX=Spaans (Mexico) Language_es_PY=Spaans (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesisch Language_is_IS=IJslands Language_it_IT=Italiaans Language_ja_JP=Japans +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Koreaans +Language_lo_LA=Lao Language_lt_LT=Litouws Language_lv_LV=Lets Language_mk_MK=Macedonisch @@ -64,6 +69,7 @@ Language_sv_SV=Zweeds Language_sv_SE=Zweeds Language_sq_AL=Albanees Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Oekraïens Language_uz_UZ=Oezbeeks diff --git a/htdocs/langs/nl_NL/loan.lang b/htdocs/langs/nl_NL/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/nl_NL/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang index 7917a240c14..0b8cfa92b1b 100644 --- a/htdocs/langs/nl_NL/mails.lang +++ b/htdocs/langs/nl_NL/mails.lang @@ -77,7 +77,7 @@ CheckRead=Leesbevestiging YourMailUnsubcribeOK=De e-mail%s is correct uitgeschreven uit de mailinglijst MailtoEMail=Hyper link naar e-mail ActivateCheckRead=Laat gebruik link "Unsubcribe" toe -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-mail verzonden naar %s ontvangers. XTargetsAdded=%s ontvangers toegevoegd in bestemming-lijst EachInvoiceWillBeAttachedToEmail=Een document met behulp van standaard factuur document sjabloon wordt gemaakt en aan elke e-mail toegevoegd. diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 1d3f1e6aef4..0ecfae487b3 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Eenheidsprijs (netto) UnitPriceTTC=Eenheidsprijs (bruto) PriceU=E.P. PriceUHT=EP (netto) -AskPriceSupplierUHT=E.P. excl aangevraagd +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=EP (bruto) Amount=Hoeveelheid AmountInvoice=Factuurbedrag @@ -413,6 +413,8 @@ Qty=Aantal ChangedBy=Veranderd door ApprovedBy=Goedgekeurd door ApprovedBy2=Goedgekeurd door (tweede goedkeuring) +Approved=Approved +Refused=Refused ReCalculate=Herberekenen ResultOk=Succes ResultKo=Mislukking @@ -421,7 +423,7 @@ Reportings=Rapportage Draft=Concept Drafts=Concepten Validated=Gevalideerd -Opened=Geopend +Opened=Open New=Nieuw Discount=Korting Unknown=Onbekend @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Gekoppeld aan een bepaalde gebruiker contact DeleteAFile=Een bestand verwijderen ConfirmDeleteAFile=Weet u zeker dat u van het wissen van bestand NoResults=Geen resultaten +SystemTools=System tools ModulesSystemTools=Modules gereedschappen Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Toon transactie GoIntoSetupToChangeLogo=Ga naar Home - Setup - Bedrijf om logo te wijzigen of ga naar Home - Instellingen - Scherm om te verbergen. Deny=Wijgeren Denied=Gewijgerd +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Maandag Tuesday=Dinsdag @@ -732,3 +738,4 @@ ShortThursday=Do ShortFriday=Vr ShortSaturday=Za ShortSunday=Zo +SelectMailModel=Select email template diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang index 7ea72e81709..ade52a138c2 100644 --- a/htdocs/langs/nl_NL/orders.lang +++ b/htdocs/langs/nl_NL/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Leveranciersopdracht SuppliersOrders=Leveranciersopdrachten SuppliersOrdersRunning=Huidige leveranciersopdrachten CustomerOrder=Afnemersopdracht -CustomersOrders=Klant bestellingen -CustomersOrdersRunning=Lopende afnemersopdrachten -CustomersOrdersAndOrdersLines=Afnemersopdrachten en opdrachtregels -OrdersToValid=Klant bestellingen te valideren -OrdersToBill=Klant bestellingen geleverd -OrdersInProcess=Klant bestellingen in uitvoering -OrdersToProcess=Klant bestellingen te verwerken -SuppliersOrdersToProcess=Te verwerken leveranciersopdrachten +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Geannuleerd StatusOrderDraftShort=Concept StatusOrderValidatedShort=Gevalideerd @@ -75,8 +75,9 @@ AddToMyOrders=Toevoegen aan mijn opdrachten AddToOtherOrders=Toevoegen aan andere opdrachten AddToDraftOrders=Voeg toe aan order in aanmaak ShowOrder=Toon opdracht -NoOpenedOrders=Geen lopende opdrachten -NoOtherOpenedOrders=Geen enkele andere opdracht geopend +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Geen orders in aanmaak OtherOrders=Andere opdrachten LastOrders=Laatste %s klantbestellingen diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang index 3ac896537f8..b4cf31b81d3 100644 --- a/htdocs/langs/nl_NL/other.lang +++ b/htdocs/langs/nl_NL/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Interventie gevalideerd Notify_FICHINTER_SENTBYMAIL=Interventie via mail verzonden Notify_BILL_VALIDATE=Klant factuur gevalideerd Notify_BILL_UNVALIDATE=Klantenfactuur niet gevalideerd +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Leverancier te zijn goedgekeurd Notify_ORDER_SUPPLIER_REFUSE=Leverancier bestellen geweigerd Notify_ORDER_VALIDATE=Bestelling van de klant gevalideerd @@ -203,6 +204,7 @@ ClickHereToGoTo=Klik hier om naar %s YouMustClickToChange=Je moet echter wel eerst klikken op de volgende link om de wachtwoord wijziging te valideren ForgetIfNothing=Als u deze wijziging niet heeft aangevraagd, negeer deze e-mail. Uw referenties blijven veilig bewaard. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Nieuwe vermelding in de agenda %s diff --git a/htdocs/langs/nl_NL/printing.lang b/htdocs/langs/nl_NL/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/nl_NL/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/nl_NL/productbatch.lang b/htdocs/langs/nl_NL/productbatch.lang index 60e1403e200..ba235ee6984 100644 --- a/htdocs/langs/nl_NL/productbatch.lang +++ b/htdocs/langs/nl_NL/productbatch.lang @@ -19,4 +19,4 @@ printQty=Aantal: %d AddDispatchBatchLine=Voeg een regel toe voor houdbaarheids ontvangst BatchDefaultNumber=Onbepaald WhenProductBatchModuleOnOptionAreForced=Als module Lot / Serienummer actief is, verhogen/verlagen voorraad modus wordt geforceerd en kan niet worden bewerkt. Andere opties kunnen worden gedefinieerd als u wilt. -ProductDoesNotUseBatchSerial=Dit product is niet lot/serienummer ingesteld +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index c1eba78b754..8057fa5bc3c 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product of Dienst ProductsAndServices=Producten en Diensten ProductsOrServices=Producten of diensten ProductsAndServicesOnSell=Producten en diensten voor verkoop of aankoop -ProductsAndServicesNotOnSell=Producten en diensten niet voor verkoop +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Producten- en dienstenstatistieken ProductsStatistics=Productenstatistieken -ProductsOnSell=Product voor verkoop of aankoop -ProductsNotOnSell=Product niet voor verkoop en niet voor aankoop +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Producten voor verkoop en aankoop ServicesOnSell=Diensten voor verkoop of aankoop -ServicesNotOnSell=Diensten niet voor verkoop +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Diensten voor verkoop en aankoop InternalRef=Interne referentie LastRecorded=Laatste geregistreerde verkochte producten / diensten @@ -44,7 +44,7 @@ CardProduct1=Dienstdetails CardContract=Contractdetails Warehouse=Magazijn Warehouses=Magazijnen -WarehouseOpened=Magazijn geopend +WarehouseOpened=Warehouse open WarehouseClosed=Magazijn gesloten Stock=Voorraad Stocks=Voorraden @@ -71,21 +71,21 @@ SellingPriceTTC=Verkoopprijs (inclusief belastingen) PublicPrice=Adviesprijs CurrentPrice=Huidige prijs NewPrice=Nieuwe prijs -MinPrice=Minimum verkoopprijs -MinPriceHT=Min. verkoopprijs (na belastingen) -MinPriceTTC=Min. verkoopprijs (incl. BTW) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=De verkoopprijs kan niet lager zijn dan de minimumprijs voor dit product ( %s zonder belasting) ContractStatus=Contractstatus ContractStatusClosed=Gesloten -ContractStatusRunning=Lopende +ContractStatusRunning=Ongoing ContractStatusExpired=Verstreken -ContractStatusOnHold=Niet actief -ContractStatusToRun=Lopende maken -ContractNotRunning=Dit contract is niet actief +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Een product met verwijzing %s bestaat reeds. ErrorProductBadRefOrLabel=Verkeerde waarde voor de referentie of label. ErrorProductClone=Er was een probleem bij het clonen van het product of de dienst. -ErrorPriceCantBeLowerThanMinPrice=Fout, prijs kan niet lager zijn dan minimumprijs. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Leveranciers SupplierRef=Leveranciersreferentie ShowProduct=Toon product @@ -117,12 +117,12 @@ ServiceLimitedDuration=Als product een dienst is met een beperkte houdbaarheid: MultiPricesAbility=Verschillende prijs niveaus product/dienst MultiPricesNumPrices=Aantal prijzen MultiPriceLevelsName=Prijscategorieën -AssociatedProductsAbility=Activeer de pakket functie +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Pakket product -AssociatedProductsNumber=Aantal producten waaruit dit pakket product bestaat +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Aantal ouder pakket producten -IfZeroItIsNotAVirtualProduct=Als 0, dit product is geenl pakket product -IfZeroItIsNotUsedByVirtualProduct=Als 0, wordt dit product niet gebruikt door een pakket product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associatie Translation=Vertaling KeywordFilter=Trefwoord filter @@ -131,7 +131,7 @@ ProductToAddSearch=Zoek product om toe te voegen AddDel=Toevoegen / verwijderen Quantity=Hoeveelheid NoMatchFound=Geen resultaten gevonden -ProductAssociationList=Lijst van gerelateerde producten / diensten: naam van het product / de dienst (hoeveelheid geaffecteerd) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Lijst van pakket producten met dit product als onderdeel ErrorAssociationIsFatherOfThis=Een van de geselecteerde product is de ouder van het huidige product DeleteProduct=Verwijderen een product / dienst @@ -179,16 +179,41 @@ CloneProduct=Kopieer product of dienst ConfirmCloneProduct=Weet u zeker dat u het product of de dienst %s wilt klonen? CloneContentProduct=Kloon alle hoofdinformatie van het product / de dienst ClonePricesProduct=Kloon hoofdinformatie en prijzen -CloneCompositionProduct=Kloon pakket product/diensten +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Dit product wordt gebruikt NewRefForClone=Referentie naar nieuw produkt / dienst -CustomerPrices=Consumentenprijs -SuppliersPrices=Leveranciersprijs -SuppliersPricesOfProductsOrServices=Leverancier prijzen (van producten of diensten) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Code op maat CountryOrigin=Land van herkomst HiddenIntoCombo=Verborgen in selectielijsten Nature=Natuur +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Productcode sjabloon ServiceCodeModel=Diensten ref template AddThisProductCard=Maak product kaart @@ -214,7 +239,7 @@ CostPmpHT=Netto VWAP totaal ProductUsedForBuild=Automatisch opgebruiken bij productie ProductBuilded=Productie klaar ProductsMultiPrice=Multi-prijs product -ProductsOrServiceMultiPrice=Klant prijzen (van producten of diensten, multi-prijzen) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=VWAP kwartaalomzet producten ServiceSellByQuarterHT=VWAP kwartaalomzet diensten Quarter1=1e kwartaal @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Definieer streepjescode waarde voor alle records (dit PriceByCustomer=Verschillende prijs voor elke klant PriceCatalogue=Unieke prijs per product/dienst PricingRule=Regels voor prijzen klant -AddCustomerPrice=Prijs per klant toevoegen +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Stel dezelfde prijs in dochterondernemingen klant PriceByCustomerLog=Prijs per klant log -MinimumPriceLimit=Minimumprijs niet lager kan zijn dan %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimaal aanbevolen prijs is:% s PriceExpressionEditor=Prijs expressie editor PriceExpressionSelected=Geselecteerde prijs uitdrukking @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=formaat is {"URL": "http://example.com/urlofws UpdateInterval=Update-interval (minuten) LastUpdated=Laatst bijgewerkt CorrectlyUpdated=Correct bijgewerkt +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 967492753ab..1e27a6cebcd 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Deze weergave toont alle projecten waarvoor u gerechtigd 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). MyTasksDesc=Deze weergave is beperkt tot projecten en taken waarvoor u een contactpersoon bent (ongeacht het type). -OnlyOpenedProject=Alleen geopende projecten zijn zichtbaar (projecten met een ontwerp of gesloten status worden niet zichtbaar). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). 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 een dergelijk project zijn zichtbaar, maar je kunt de tijd alleen ingeven voor de taak die u zijn toegewezen. @@ -29,7 +29,7 @@ ProjectsList=Projectenlijst ShowProject=Toon project SetProject=Stel project in NoProject=Geen enkel project gedefinieerd of in eigendom -NbOpenTasks=Aantal geopende taken +NbOpenTasks=Nb of open tasks NbOfProjects=Aantal projecten TimeSpent=Bestede tijd TimeSpentByYou=Uw tijdsbesteding @@ -41,7 +41,7 @@ TaskTimeSpent=Tijd besteed aan taken TaskTimeUser=Gebruiker TaskTimeNote=Notitie TaskTimeDate=Datum -TasksOnOpenedProject=Taken op geopende projecten +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload niet gedefinieerd NewTimeSpent=Nieuwe bestede tijd MyTimeSpent=Mijn bestede tijd @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Lijst van aan het project verbonden interventies ListExpenseReportsAssociatedProject=Lijst van onkostennota's in verband met het project ListDonationsAssociatedProject=Lijst van donaties in verband met het project ListActionsAssociatedProject=Lijst van aan het project verbonden acties +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Projectactiviteit in deze week ActivityOnProjectThisMonth=Projectactiviteit in deze maand ActivityOnProjectThisYear=Projectactiviteit in dit jaar @@ -95,7 +96,7 @@ DeleteATimeSpent=Verwijder gespendeerde tijd ConfirmDeleteATimeSpent=Weet u zeker dat u de gespendeerde tijd wilt verwijderen? DoNotShowMyTasksOnly=Bekijk ook taken niet aan mij toegewezen ShowMyTasksOnly=Bekijk alleen taken die aan mij toegewezen -TaskRessourceLinks=Bronnen +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projecten gewijd aan deze derde partij NoTasks=Geen taken voor dit project LinkedToAnotherCompany=Gekoppeld aan een andere derde partij @@ -139,8 +140,12 @@ ProjectReferers=Verwijzende objecten SearchAProject=Zoek een project ProjectMustBeValidatedFirst=Project moet eerst worden gevalideerd ProjectDraft=Ontwerp projecten -FirstAddRessourceToAllocateTime=Associëer een resource om tijd toe te wijzen +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per dag InputPerWeek=Input per week InputPerAction=Input per actie TimeAlreadyRecorded=Tijd besteed reeds opgenomen voor deze taak / dag en gebruiker %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/nl_NL/propal.lang b/htdocs/langs/nl_NL/propal.lang index 98509c106d0..9641854a4ce 100644 --- a/htdocs/langs/nl_NL/propal.lang +++ b/htdocs/langs/nl_NL/propal.lang @@ -4,7 +4,7 @@ Proposal=Offerte ProposalShort=Offerte ProposalsDraft=Conceptofferte ProposalDraft=Conceptofferte -ProposalsOpened=Geopende offertes +ProposalsOpened=Open commercial proposals Prop=Offertes CommercialProposal=Offerte CommercialProposals=Offertes @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Bedrag per maand (exclusief belastingen) NbOfProposals=Aantal offertes ShowPropal=Toon offerte PropalsDraft=Concepten -PropalsOpened=Geopend +PropalsOpened=Open PropalsNotBilled=Gesloten niet gefactureerd PropalStatusDraft=Concept (moet worden gevalideerd) PropalStatusValidated=Gevalideerd (Offerte staat open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Niet ondertekend (gesloten) PropalStatusBilled=Gefactureerd PropalStatusDraftShort=Concept PropalStatusValidatedShort=Gevalideerd -PropalStatusOpenedShort=Geopend +PropalStatusOpenedShort=Open PropalStatusClosedShort=Gesloten PropalStatusSignedShort=Ondertekend PropalStatusNotSignedShort=Niet ondertekend @@ -51,8 +51,8 @@ PropalsToClose=Te sluiten offertes PropalsToBill=Ondertekende offertes die gefactureerd moeten worden ListOfProposals=Offertelijst ActionsOnPropal=Offerte-acties -NoOpenedPropals=Aantal openstaande offertes -NoOtherOpenedPropals=Geen enkel andere openstaande offerte +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Offertereferentie SendPropalByMail=Stuur offerte per e-mail AssociatedDocuments=Documenten gelinkt aan de offerte: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune offertemodel DefaultModelPropalCreate=Standaard model aanmaken DefaultModelPropalToBill=Standaard sjabloon bij het sluiten van een zakelijk voorstel (te factureren) DefaultModelPropalClosed=Standaard sjabloon bij het sluiten van een zakelijk voorstel (nog te factureren) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/nl_NL/salaries.lang b/htdocs/langs/nl_NL/salaries.lang index b408d121960..b727a5431b9 100644 --- a/htdocs/langs/nl_NL/salaries.lang +++ b/htdocs/langs/nl_NL/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Toon salarisbetaling THM=Gemiddelde uurprijs TJM=Gemiddelde dagprijs CurrentSalary=Huidige salaris +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/nl_NL/sendings.lang b/htdocs/langs/nl_NL/sendings.lang index e83b25e092c..7cc0ea95dd4 100644 --- a/htdocs/langs/nl_NL/sendings.lang +++ b/htdocs/langs/nl_NL/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Eenvoudig documentmodel DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Waarschuwing, geen producten die op verzending wachten. StatsOnShipmentsOnlyValidated=Statistiek op verzendingen die bevestigd zijn. Datum is de datum van bevestiging van de verzending (geplande leverdatum is niet altijd bekend). -DateDeliveryPlanned=Geplande leveringsdatum +DateDeliveryPlanned=Planned date of delivery DateReceived=Datum leveringsonvangst SendShippingByEMail=Stuur verzending per e-mail SendShippingRef=Indiening van de zending %s @@ -67,7 +67,7 @@ SendingRunning=Product uit bestelde klantbestellingen SuppliersReceiptRunning=Product van bestelde leverancier bestellingen ProductQtyInCustomersOrdersRunning=Hoeveelheid producte in geopende klant bestellingen ProductQtyInSuppliersOrdersRunning=Hoeveelheid producten in geopende leveranciers bestellingen -ProductQtyInShipmentAlreadySent=Hoeveelheid producten uit open bestelling van de klant al verstuurd +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Hoeveelheid producte uit geopende leverancier bestelling reeds ontvangen # Sending methods diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index 614c5693bce..35e4c9c4bf0 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Magazijnen NewWarehouse=Nieuw magazijn / Vooraadoverzicht WarehouseEdit=Magazijn wijzigen MenuNewWarehouse=Nieuw magazijn -WarehouseOpened=Magazijn geopend +WarehouseOpened=Warehouse open WarehouseClosed=Magazijn gesloten WarehouseSource=Bronmagazijn WarehouseSourceNotDefined=Geen magazijn bepaald @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Kies magazijn te gebruiken voor voorraad daling SelectWarehouseForStockIncrease=Kies magazijn te gebruiken voor verhoging van voorraad NoStockAction=Geen stockbeweging LastWaitingSupplierOrders=Orders wachtend op ontvangst -DesiredStock=Gewenste voorraad +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Te bestellen Replenishment=Bevoorrading ReplenishmentOrders=Bevoorradingsorder -VirtualDiffersFromPhysical=Volgens verhogen/verlagen stock opties, fysieke voorraad en virtuele voorraad (fysieke + lopende bestellingen) kan verschilllen +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Gebruik virtuele voorraad standaard, in plaats van de fysieke voorraad, voor de aanvul functie UseVirtualStock=Gebruik virtuele voorraad UsePhysicalStock=Gebruik fysieke voorraad -CurentSelectionMode=Huidige selectie modus +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual voorraad CurentlyUsingPhysicalStock=Fysieke voorraad RuleForStockReplenishment=Regels voor bevoorrading @@ -112,8 +113,8 @@ AlertOnly= Enkel waarschuwingen WarehouseForStockDecrease=De voorraad van magazijn %s zal verminderd worden WarehouseForStockIncrease=De voorraad van magazijn %s zal verhoogd worden ForThisWarehouse=Voor dit magazijn -ReplenishmentStatusDesc=Dit is een lijst van alle productgroepen met een voorraad lager dan gewenst voorraad (of lager dan de alarm waarde als checkbox "alleen alarm" is aangevinkt), aan te raden dat je een leverancier bestelling maakt om het verschil aan te vullen. -ReplenishmentOrdersDesc=Dit is de lijst van alle geopende leverancier bestellingen met inbegrip van vooraf gedefinieerde producten. Alleen geopend bestellingen met vooraf gedefinieerde producten, dus bestellingen die voorraden beinvloeden, zijn zichtbaar hier. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. 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) @@ -124,16 +125,16 @@ RecordMovement=Kaart overbrengen ReceivingForSameOrder=Ontvangsten voor deze bestelling StockMovementRecorded=Geregistreerde voorraadbewegingen RuleForStockAvailability=Regels op voorraad vereisten -StockMustBeEnoughForInvoice=Stock niveau moet voldoende zijn om het product/dienst toe te voegen aan de factuur -StockMustBeEnoughForOrder=Voorraadniveau moet genoeg zijn om het product/dienst toe te voegen aan order. -StockMustBeEnoughForShipment= Stock niveau moet voldoende zijn om het product/dienst toe te voegen aan de verzending +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label van de verplaatsing InventoryCode=Verplaatsing of inventaris code IsInPackage=Vervat in pakket ShowWarehouse=Toon magazijn -MovementCorrectStock=Stock correctie voor product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Voorraad overdracht van het product %s in een ander magazijn -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Bron magazijn moet hier worden gedefinieerd als "Product lot" module is ingeschakeld. Het zal worden gebruikt om een ​​lijst van welke partij / serial is beschikbaar voor product dat veel / seriële data die nodig zijn voor beweging. Als u wilt sturen producten uit verschillende magazijnen, gewoon de zending in verschillende stappen. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Verpl. code -NoPendingReceptionOnSupplierOrder=Geen wachtende ontvangsten als gevolg van openstaande leverancier bestelling +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=Deze lot/serienummer (%s) bestaat al, maar met verschillende verval of verkoopen voor datum (gevonden %s maar u gaf in%s). diff --git a/htdocs/langs/nl_NL/suppliers.lang b/htdocs/langs/nl_NL/suppliers.lang index f8a4dfe16bd..9dfd27d52fc 100644 --- a/htdocs/langs/nl_NL/suppliers.lang +++ b/htdocs/langs/nl_NL/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Stuur naar leveranciers ListOfSupplierOrders=Lijst van leverancier bestellingen MenuOrdersSupplierToBill=Leverancier bestellingen te factureren NbDaysToDelivery=Levering vertraging in de dagen -DescNbDaysToDelivery=De langste levertermijn van de producten besteld in deze opdracht. +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Gebruik dubbele goedkeuring (de tweede goedkeuring kan worden gedaan door elke gebruiker met de speciale toestemming) diff --git a/htdocs/langs/nl_NL/trips.lang b/htdocs/langs/nl_NL/trips.lang index a3dea0dad7c..54f76d7ff2a 100644 --- a/htdocs/langs/nl_NL/trips.lang +++ b/htdocs/langs/nl_NL/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Vergoedingenlijst NewTrip=New expense report CompanyVisited=Bedrijf / stichting bezocht @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/nl_NL/users.lang b/htdocs/langs/nl_NL/users.lang index f279694a06f..defbfbf6117 100644 --- a/htdocs/langs/nl_NL/users.lang +++ b/htdocs/langs/nl_NL/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Verwijderen uit groep PasswordChangedAndSentTo=Wachtwoord veranderd en verstuurd naar %s. PasswordChangeRequestSent=Verzoek om wachtwoord te wijzigen van %s verstuurt naar %s. MenuUsersAndGroups=Gebruikers & groepen +MenuMyUserCard=My user card LastGroupsCreated=Laatste %s gemaakte groep(en) LastUsersCreated=Laatste %s gemaakte gebruiker(s) ShowGroup=Toon groep diff --git a/htdocs/langs/nl_NL/workflow.lang b/htdocs/langs/nl_NL/workflow.lang index ed9a7f22b85..923e99ddfe1 100644 --- a/htdocs/langs/nl_NL/workflow.lang +++ b/htdocs/langs/nl_NL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=Deze module is ontworpen om het gedrag van automatische acties te wijzigen. Standaard is de workflow open (je eigen volgorde). U kunt de automatische acties die voor u interessant zijn te activeren. -ThereIsNoWorkflowToModify=Er is geen workflow die u kunt aanpassen aan je module hebt geactiveerd. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatisch een bestelling van de klant na een commerciële voorstel is ondertekend -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Automatisch een factuur klant na een commerciële voorstel is ondertekend -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Automatisch een factuur nadat de klant een contract is gevalideerd -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Automatisch een factuur klant na een bestelling van de klant wordt gesloten +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classificeer gekoppelde bron offerte om gefactureerd te worden wanneer bestelling van de klant is ingesteld op betaald descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classificeer gekoppelde bron klant bestelling(en) gefactureerd wanneer de klant factuur is ingesteld op betaald descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classificeer gekoppelde bron klantbestelling(en) gefactureerd wanneer de klantfactuur wordt gevalideerd diff --git a/htdocs/langs/pl_PL/accountancy.lang b/htdocs/langs/pl_PL/accountancy.lang index b9536aee4af..bf58f2d2339 100644 --- a/htdocs/langs/pl_PL/accountancy.lang +++ b/htdocs/langs/pl_PL/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Księgowość Globalparameters=Parametry globalne @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Długość z rachunków osób trzecich ACCOUNTING_SELL_JOURNAL=Sprzedam czasopisma ACCOUNTING_PURCHASE_JOURNAL=Zakup czasopisma -ACCOUNTING_BANK_JOURNAL=Czasopismo Banku -ACCOUNTING_CASH_JOURNAL=Czasopismo Gotówka ACCOUNTING_MISCELLANEOUS_JOURNAL=Inne czasopisma +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Czasopismo Społecznego ACCOUNTING_ACCOUNT_TRANSFER_CASH=Konto transferu diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index df4bce98ad5..c31f24ec525 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu dla użytkowników LangFile=Plik. Lang System=System SystemInfo=Informację systemowe -SystemTools=Narzędzia systemowe SystemToolsArea=Obszar narzędzi systemowych SystemToolsAreaDesc=Obszar ten stanowi funkcję administracyjne. Użyj menu, aby wybrać tę funkcję, której szukasz. Purge=Czyszczenie @@ -232,8 +231,8 @@ Security=Bezpieczeństwo Passwords=Hasła DoNotStoreClearPassword=Nie przechowuj w bazie danych niezakodowanych haseł. Przechowuj jedynie hasła zakodowane. MainDbPasswordFileConfEncrypted=Hasło bazy danych zakodowane w conf.php -InstrucToEncodePass=Aby zakodować hasło w pliku conf.php , zamień linię
$ Dolibarr_main_db_pass ="..."
przez
$ Dolibarr_main_db_pass = "zaszyfrowane: %s" -InstrucToClearPass=Aby odkodować hasło (wyczyścić) w pliku conf.php, zamień linię
$ Dolibarr_main_db_pass = "zaszyfrowane :..."
przez
$ Dolibarr_main_db_pass = "%s" +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=Ochrona generowanych plików PDF (Aktywowany nie jest zalecany, przerwa masowe generowanie plików pdf) ProtectAndEncryptPdfFilesDesc=Ochrona dokument PDF udostępnia go do odczytu i druku z wykorzystaniem dowolnej przeglądarki plików PDF. Jednakże, edycja i kopiowanie nie jest już możliwe. Należy pamiętać, że korzystając z tej funkcji, budowa globalnego, skumulowanego pliku PDF nie jest możliwa (np. zestawienie niezapłaconych faktur). Feature=Funkcja @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Jest to proces konfiguracji do: ThisIsAlternativeProcessToFollow=To jest alternatywna konfiguracja do procesu: StepNb=Krok %s FindPackageFromWebSite=Odnajdź pakiet, który zapewnia wybraną przez Ciebię funkcję (np. na oficjalnej stronie internetowej %s). -DownloadPackageFromWebSite=Pobierz paczkę %s -UnpackPackageInDolibarrRoot=Wypakuj pliki paczki do katalogu przeznaczonego dla zewnętrznych modułów: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Instalacja została zakończona. Dolibarr jest gotowy do użycia z nowym elementem. NotExistsDirect=Alternatywna ścieżka główna nie została zdefiniowana.
InfDirAlt=Od wersji 3, możliwe jest zdefiniowanie alternatywnego katalogu głównego.Pozwala to na przechowywanie wtyczek i szablonów niestandardowych.
Wystarczy utworzyć katalog w katalogu głównym Dolibarr (np: na zamówienie).
InfDirExample=
Następnie deklarowany w pliku conf.php
$ Dolibarr_main_url_root_alt = "http: // myserver / custom"
$ Dolibarr_main_document_root_alt = "/ ścieżka / z / Dolibarr / htdocs / obyczaju"
* Linie te są skomentowane z "#", aby usunąć komentarz należy jedynie usunąć znak. -YouCanSubmitFile=Wybierz moduł: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Aktualna wersja Dolibarr CallUpdatePage=Wejdź na stronę aktualizacji struktury bazy danych i danych %s. LastStableVersion=Ostatnia wersja stabilna @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Lista parametrów przychodzi z tabeli
Składnia: ExtrafieldParamHelpchkbxlst=Lista parametrów przychodzi z tabeli
Składnia: nazwa_tabeli: label_field: id_field :: Filtr
Przykład: c_typent: libelle: id :: Filtr

Filtr może być prosty test (np aktywny = 1), aby wyświetlić tylko aktywne wartości
jeśli chcesz filtrować extrafields używać syntaxt extra.fieldcode = ... (gdzie kod pole jest kod extrafield)

W celu uzyskania listy zależności od drugiego:
c_typent: libelle: id: parent_list_code | parent_column: filtr LibraryToBuildPDF=Biblioteka wykorzystana do generowania plików PDF WarningUsingFPDF=Uwaga: Twój conf.php zawiera dyrektywę dolibarr_pdf_force_fpdf = 1. Oznacza to, że korzystasz z biblioteki FPDF do generowania plików PDF. Ta biblioteka jest nieaktualna i nie obsługuje wielu funkcji (Unicode, przejrzystości obrazu, cyrylicy, czcionek arabskich oraz azjatyckich ...), więc mogą wystąpić błędy podczas generowania pliku PDF.
Aby rozwiązać ten problem i mieć pełne wsparcie przy generowaniu plików PDF, należy pobrać bibliotekę TCPDF , następnie linię umieścić wewnątrz komentarza lub usunąć $ dolibarr_pdf_force_fpdf = 1, i dodać zamiast $ dolibarr_lib_TCPDF_PATH = "path_to_TCPDF_dir" -LocalTaxDesc=Niektóre państwa do każdej pozycji na fakturze dodają 2 lub 3 stawki podatkowe. Jeżeli w tym leży problem, wybierz typ dla drugiego i trzeciego podatku oraz ich wysokość. Prawdopodobne typy to:
1 : podatek lokalny należny od produktów i usług bez podatku VAT (podatek lokalny jest naliczany na podstawie ilości bez uwzględnienia podatku)... +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Wprowadź numer telefonu, aby zobaczyć link do przetestowania url ClickToDial dla użytkownika% s RefreshPhoneLink=Odśwież link @@ -492,8 +491,8 @@ Module400Name=Projekty / Możliwości / Wskazówki Module400Desc=Zarządzanie projektami, możliwości lub wskazówki. Następnie możesz przypisać dowolny element (faktury, zamówienia, propozycje, interwencje, ...) do projektu i uzyskać widok poprzeczny z widoku projektu. Module410Name=Webcalendar Module410Desc=Integracja Webcalendar -Module500Name=Koszty specjalne (podatek, składki na ubezpieczenie zdrowotne, dywidendy) -Module500Desc=Zarządzanie kosztami specjalnymi takimi jak podatki, składki na ubezpieczenie zdrowotne, dywidend i wynagrodzenia +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Wynagrodzenia Module510Desc=Zarządzanie pracownikami wynagrodzenia i płatności Module520Name=Pożyczka @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Zarządzanie zdarzeniami / zadaniami oraz agendą Module2500Name=Zarządzanie zawartością elektroniczną (ECM) Module2500Desc=Zapisz i udostępnij dokumenty -Module2600Name=WebServices -Module2600Desc=Włącz serwer usług internetowych Dolibarr +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (klient) Module2650Desc=Włącz Dolibarr serwisów internetowych klienta (może być używany do pchania danych / wnioski o dopuszczenie do zewnętrznych serwerów. Zamówień Dostawca obsługiwane tylko na chwilę) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Pochodzenie wniosków / zleceń DictionaryAccountancyplan=Plan kont DictionaryAccountancysystem=Modele dla planu kont DictionaryEMailTemplates=Szablony wiadomości e-mail +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Konfiguracja zapisana BackToModuleList=Powrót do listy modułów BackToDictionaryList=Powrót do listy słowników @@ -936,13 +939,14 @@ CompanyZip=Kod pocztowy CompanyTown=Miasto CompanyCountry=Kraj CompanyCurrency=Główna waluta +CompanyObject=Object of the company Logo=Logo DoNotShow=Nie pokazuj 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=Pokaż link "Zgłoś błąd" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Pokaż "warsztat" na stronie głównej Alerts=Alarmy Delays=Opóźnienia @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max dziesiętnych na ceny jednostkowe MAIN_MAX_DECIMALS_TOT=Max dziesiętnych dla całkowitej ceny MAIN_MAX_DECIMALS_SHOWN=Max dziesiętnych ceny wyświetlane na ekranie (Dodaj ... po ten numer, jeśli chcesz zobaczyć ... kiedy liczba jest obcięty przy wyświetlane na ekranie) MAIN_DISABLE_PDF_COMPRESSION=Użyj PDF kompresji generowanych plików PDF. -MAIN_ROUNDING_RULE_TOT= Wielkość zaokrąglenia zakres (na nielicznych krajów, gdzie dokonuje się zaokrąglenia na coś innego niż o podstawie 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Cena netto jednostki produktu TotalPriceAfterRounding=Łączna cena (netto / VAT / wraz z podatku) po zaokrągleniu ParameterActiveForNextInputOnly=Parametr skuteczne wejście tylko dla najbliższych @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Łączna liczba aktywowanych modułów funkcji: YouMustEnableOneModule=Musisz przynajmniej umożliwić 1 moduł ClassNotFoundIntoPathWarning=Klasa% s nie znaleziono na drodze PHP YesInSummer=Tak w lecie -OnlyFollowingModulesAreOpenedToExternalUsers=Uwaga, tylko następujące moduły są otwarte dla użytkowników zewnętrznych (co mają pozwolenie takich użytkowników): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Przechowywania sesji szyfrowane Suhosin ConditionIsCurrently=Stan jest obecnie% s YouUseBestDriver=Za pomocą sterownika% s, który jest najlepszym kierowcą dostępne obecnie. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Max number of products in combos select lists (0=Mak ConfirmDeleteProductLineAbility=Potwierdzenie usunięcia linii produkuje w formach ModifyProductDescAbility=Personalizacja opisy produkowanych w formach ViewProductDescInFormAbility=Wizualizacja opisy produktów w formach (inaczej jak popup tooltip) +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=Wizualizacja produktów opisów w thirdparty języku UseSearchToSelectProductTooltip=Także jeśli masz dużą ilość produktu (> 100 000), można zwiększyć prędkość przez ustawienie stałej PRODUCT_DONOTSEARCH_ANYWHERE do 1 w Setup-> Inne. Szukaj zostaną ograniczone do początku łańcucha. UseSearchToSelectProduct=Użyj wyszukiwarki aby wybrać produkt (zamiast listy rozwijanej). UseEcoTaxeAbility=Wsparcie Eko-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Domyślny kod kreskowy typu użyć do produktów SetDefaultBarcodeTypeThirdParties=Domyślny kod kreskowy typu do użytku dla osób trzecich +UseUnits=Support units ProductCodeChecker= Moduł do generowania kodu produktu i sprawdzeniu (produkt lub usługa) ProductOtherConf= Konfiguracja produktu / usługi ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Kod kreskowy typu UPC BarcodeDescISBN=Kod kreskowy typu ISBN BarcodeDescC39=Kod kreskowy typu C39 BarcodeDescC128=Kod kreskowy typu C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Bar generowanie kodu narzędzie wiersza polecenia (używany przez silnik wewnętrznego dla niektórych typów kodów kreskowych). Muszą być zgodne z "genbarcode".
Na przykład: / usr / local / bin / genbarcode BarcodeInternalEngine=Silnik wewnętrznego BarCodeNumberManager=Manager auto zdefiniować numery kodów kreskowych @@ -1552,6 +1560,13 @@ WebServicesSetup=WebServices konfiguracji modułu WebServicesDesc=Umożliwiając tym module Dolibarr stać się serwis serwera świadczenia różnorodnych usług internetowych. WSDLCanBeDownloadedHere=Hasło pliku WSDL świadczonych serviceses można pobrać tutaj EndPointIs=SOAP klienci muszą wysłać swoje wnioski do Dolibarr punktem końcowym dostępne na Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank konfiguracji modułu FreeLegalTextOnChequeReceipts=Darmowy czek tekst na wpływy @@ -1594,7 +1609,7 @@ OpenFiscalYear=Otwórz rok obrotowy CloseFiscalYear=Blisko rok obrotowy DeleteFiscalYear=Usuń rok obrotowy ConfirmDeleteFiscalYear=Czy na pewno usunąć ten rok podatkowy? -Opened=Otwierany +Opened=Open Closed=Zamknięte AlwaysEditable=Zawsze może być edytowany MAIN_APPLICATION_TITLE=Wymusza widoczną nazwę aplikacji (ostrzeżenie: ustawienie własnej nazwy tutaj może złamać Autouzupełnianie funkcji logowania przy użyciu DoliDroid aplikację mobilną) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Instalacja zewnętrznych modułów za pom SomethingMakeInstallFromWebNotPossible2=Z tego powodu, proces uaktualnienia tutaj opisany jest jednie krokiem manualnym, który wykonać może uprawniony użytkownik. InstallModuleFromWebHasBeenDisabledByFile=Instalacja zewnętrznych modułów z poziomu aplikacji została wyłączona przez administratora. Musisz poprosić go o usunięcie pliku %s aby włączyć odpowiednią funkcję. ConfFileMuseContainCustom=Instalacja zewnętrznego modułu z poziomu aplikacji, zapisuje pliki w katlogu %s. Abu katalog ten był przetwarzany przez Dolibarr, musisz skonfigurować Twój plik conf/conf.phpby w opcji
- $dolibarr_main_url_root_alt ustawić wartość $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt ustawić wartość "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/pl_PL/banks.lang b/htdocs/langs/pl_PL/banks.lang index 567010eb212..5bfeb0ac146 100644 --- a/htdocs/langs/pl_PL/banks.lang +++ b/htdocs/langs/pl_PL/banks.lang @@ -94,12 +94,12 @@ Conciliate=Ugłaskać Conciliation=Pojednawczy ConciliationForAccount=Zjednać sobie tego konta IncludeClosedAccount=Dołącz zamkniętych rachunków -OnlyOpenedAccount=Tylko otworzyła rachunek +OnlyOpenedAccount=Only open accounts AccountToCredit=Konto do kredytów AccountToDebit=Konto do obciążania DisableConciliation=Wyłącz funkcję pojednawczą dla tego konta ConciliationDisabled=Pojednawczy funkcji niepełnosprawnych -StatusAccountOpened=Czynny +StatusAccountOpened=Open StatusAccountClosed=Zamknięte AccountIdShort=Liczba EditBankRecord=Edycja rekordu diff --git a/htdocs/langs/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index 9c9ed95b557..c918bbfb0fe 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=Ta faktura nie ostatni w cyklu i nie mogą być modyfikowane. DisabledBecauseNotLastInCycle=Następna sytuacja już istnieje. DisabledBecauseFinal=Sytuacja ta jest ostateczna. CantBeLessThanMinPercent=Postęp nie może być mniejsza niż wartość w poprzedniej sytuacji. -NoSituations=Brak otwarte sytuacje +NoSituations=No open situations InvoiceSituationLast=Ostateczna i ogólnie faktury diff --git a/htdocs/langs/pl_PL/boxes.lang b/htdocs/langs/pl_PL/boxes.lang index 4b7d3b9e1c2..cf18a00c3eb 100644 --- a/htdocs/langs/pl_PL/boxes.lang +++ b/htdocs/langs/pl_PL/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Ostatnia umowa/kontrakt BoxLastContacts=Ostatnie kontakty / adresy BoxLastMembers=Ostatni użytkownicy BoxFicheInter=Ostatnie interwencje -BoxCurrentAccounts=Saldo otwartych kont +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Obrót BoxTotalUnpaidCustomerBills=Suma niezapłaconych faktur przez klientów BoxTotalUnpaidSuppliersBills=Suma niezapłaconych faktur dostawcy @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Ostatnich %s użytkowników BoxTitleLastFicheInter=Ostatnich %s zmodyfikowanych interwencji BoxTitleOldestUnpaidCustomerBills=Najstarszych %s niezapłaconych faktur klienta BoxTitleOldestUnpaidSupplierBills=Najstarszych %s niezapłaconych faktur dostawcy -BoxTitleCurrentAccounts=Otworzone salda na koncie +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Obrót sprzedaży BoxTitleTotalUnpaidCustomerBills=Niezapłacone faktury klienta BoxTitleTotalUnpaidSuppliersBills=Niezapłacone faktury dostawcy diff --git a/htdocs/langs/pl_PL/categories.lang b/htdocs/langs/pl_PL/categories.lang index 09bb7efef99..5bd355f5db8 100644 --- a/htdocs/langs/pl_PL/categories.lang +++ b/htdocs/langs/pl_PL/categories.lang @@ -1,62 +1,62 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category -NoCategoryYet=No tag/category of this type created +Rubrique=Tag / Kategoria +Rubriques=Tagi / Kategorie +categories=tags / kategorie +TheCategorie=Tag / kategoria +NoCategoryYet=No tag / kategoria tego typu tworzone In=W AddIn=Dodaj w modify=modyfikować Classify=Klasyfikacja -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Products/Services tags/categories area -SuppliersCategoriesArea=Suppliers tags/categories area -CustomersCategoriesArea=Customers tags/categories area -ThirdPartyCategoriesArea=Third parties tags/categories area -MembersCategoriesArea=Members tags/categories area -ContactsCategoriesArea=Contacts tags/categories area -MainCats=Main tags/categories +CategoriesArea=Tagi / obszar Kategorie +ProductsCategoriesArea=Produkty / Usługi tagi / obszar kategorie +SuppliersCategoriesArea=Dostawcy tagi / obszar kategorie +CustomersCategoriesArea=Klienci tagi / obszar kategorie +ThirdPartyCategoriesArea=Osoby trzecie tagi / obszar kategorie +MembersCategoriesArea=Użytkownicy tagi / obszar kategorie +ContactsCategoriesArea=Kontakt tagi / obszar kategorie +MainCats=Kategorie główne tagów / SubCats=Podkategorie CatStatistics=Statystyki -CatList=List of tags/categories -AllCats=All tags/categories -ViewCat=View tag/category -NewCat=Add tag/category -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category +CatList=Lista tagów / kategorii +AllCats=Wszystkie tagi / kategorie +ViewCat=Zobacz tag / kategoria +NewCat=Dodaj tag / kategorię +NewCategory=Nowy tag / kategoria +ModifCat=Modyfikacja tag / kategorię +CatCreated=Tag / kategoria stworzona +CreateCat=Stwórz tag / kategorię +CreateThisCat=Tworzenie ten tag / kategorię ValidateFields=Validate pola NoSubCat=Brak podkategorii. SubCatOf=Podkategoria -FoundCats=Found tags/categories -FoundCatsForName=Tags/categories found for the name : -FoundSubCatsIn=Subcategories found in the tag/category -ErrSameCatSelected=You selected the same tag/category several times -ErrForgotCat=You forgot to choose the tag/category +FoundCats=Znaleziono tagów / kategorie +FoundCatsForName=Tagi / kategorie Znaleziono imię: +FoundSubCatsIn=Znalezione w podkategorii tag / kategorii +ErrSameCatSelected=Wybrałeś sam tag / kilka razy kategorii +ErrForgotCat=Zapomniałeś wybrać tag / kategorię ErrForgotField=Zapomniałeś o zakresie ErrCatAlreadyExists=Ta nazwa jest już używany -AddProductToCat=Add this product to a tag/category? -ImpossibleAddCat=Impossible to add the tag/category -ImpossibleAssociateCategory=Impossible to associate the tag/category to +AddProductToCat=Dodaj ten produkt do znacznika / kategorii? +ImpossibleAddCat=Niemożliwe, aby dodać tag / kategorię +ImpossibleAssociateCategory=Niemożliwe, aby skojarzyć tag / kategorię WasAddedSuccessfully= %s został dodany pomyślnie. -ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories -ProductHasNoCategory=This product/service is not in any tags/categories -SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories -MemberHasNoCategory=This member is not in any tags/categories -ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ObjectAlreadyLinkedToCategory=Element jest już powiązane z tym tagiem / kategorii. +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories +ProductHasNoCategory=Ten produkt / usługa nie jest w żadnych tagów / kategorii +SupplierHasNoCategory=Ten dostawca nie jest w żadnych tagów / kategorii +CompanyHasNoCategory=This thirdparty is not in any tags/categories +MemberHasNoCategory=Ten użytkownik nie jest w żadnych tagów / kategorii +ContactHasNoCategory=Ten kontakt nie jest w żadnym z tagów / kategorii +ClassifyInCategory=Add to tag/category NoneCategory=Żaden -NotCategorized=Without tag/category +NotCategorized=Bez znaczników / kategorii CategoryExistsAtSameLevel=Ta kategoria już istnieje w tym samym miejscu ReturnInProduct=Powrót do produktów / usług karty ReturnInSupplier=Powrót do dostawcy kart @@ -64,22 +64,22 @@ ReturnInCompany=Powrót do klienta / perspektywa karty ContentsVisibleByAll=Zawartość będzie widoczny przez wszystkich ContentsVisibleByAllShort=Zawartość widoczna przez wszystkie ContentsNotVisibleByAllShort=Treść nie jest widoczna dla wszystkich -CategoriesTree=Tags/categories tree -DeleteCategory=Delete tag/category -ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? -NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category -SuppliersCategoriesShort=Suppliers tags/categories -CustomersCategoriesShort=Customers tags/categories +CategoriesTree=Tagi / kategorie drzewo +DeleteCategory=Usuń tag / kategorię +ConfirmDeleteCategory=Czy na pewno chcesz usunąć ten tag / kategorię? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? +NoCategoriesDefined=No tag / kategoria ustalona +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category +SuppliersCategoriesShort=Dostawcy tagów / kategorie +CustomersCategoriesShort=Klienci tagów / kategorie CustomersProspectsCategoriesShort=Custo. / prosp. kategorie -ProductsCategoriesShort=Products tags/categories -MembersCategoriesShort=Members tags/categories -ContactCategoriesShort=Contacts tags/categories +ProductsCategoriesShort=Produkty tagów / kategorie +MembersCategoriesShort=Użytkownicy tagów / kategorii +ContactCategoriesShort=Kontakt tagów / kategorii ThisCategoryHasNoProduct=Ta kategoria nie zawiera żadnych produktów. ThisCategoryHasNoSupplier=Ta kategoria nie zawiera żadnego dostawcy. ThisCategoryHasNoCustomer=Ta kategoria nie zawiera żadnych klientów. @@ -88,23 +88,23 @@ ThisCategoryHasNoContact=Ta kategoria nie zawiera żadnego kontaktu. AssignedToCustomer=Przypisany do klienta AssignedToTheCustomer=Przypisany do klienta InternalCategory=Inernal kategorii -CategoryContents=Tag/category contents -CategId=Tag/category id -CatSupList=List of supplier tags/categories -CatCusList=List of customer/prospect tags/categories -CatProdList=List of products tags/categories -CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact -CatSupLinks=Links between suppliers and tags/categories -CatCusLinks=Links between customers/prospects and tags/categories -CatProdLinks=Links between products/services and tags/categories -CatMemberLinks=Links between members and tags/categories -DeleteFromCat=Remove from tags/category -DeletePicture=Obraz usunięcia +CategoryContents=Tag / kategoria treści +CategId=Tag / ID kategorii +CatSupList=Lista dostawców tagów / kategorii +CatCusList=Lista klientów / perspektywa tagów / kategorii +CatProdList=Lista produktów tagów / kategorii +CatMemberList=Lista członków tagów / kategorii +CatContactList=List of contact tags/categories +CatSupLinks=Powiązania między dostawcami i tagów / kategorii +CatCusLinks=Powiązania między klientami / perspektyw i tagów / kategorii +CatProdLinks=Powiązania między produktów / usług oraz tagów / kategorii +CatMemberLinks=Związki między członkami i tagów / kategorii +DeleteFromCat=Usuń z tagów / kategorii +DeletePicture=Usuń obraz ConfirmDeletePicture=Potwierdź usunięcie obrazu? ExtraFieldsCategories=Atrybuty uzupełniające -CategoriesSetup=Tags/categories setup -CategorieRecursiv=Link with parent tag/category automatically +CategoriesSetup=Tagi / kategorie Konfiguracja +CategorieRecursiv=Związek z dominującą tag / kategorii automatycznie CategorieRecursivHelp=Jeśli aktywna, produkt będzie również związany z kategorii nadrzędnej podczas dodawania do podkategorii AddProductServiceIntoCategory=Dodaj następujący produkt / usługę -ShowCategory=Show tag/category +ShowCategory=Pokaż tag / kategoria diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index 460076d7f8e..6df4f2795e2 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Osiągnieto maksimum niezapłaconych rachunków MonkeyNumRefModelDesc=Wróć NUMERO z formatu %syymm-nnnn klienta i kod %syymm-nnnn dla dostawcy kod yy gdzie jest rok, mm miesiąc i nnnn jest ciągiem bez przerwy i nie ma powrotu do 0.\nZwraca numer w formacie %syymm-nnnn dla kodu klienta i %syymm-nnnn dla kodu dostawcy, gdzie yy to rok, mm to miesiąc i nnnn jest sekwencją bez przerwy, 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...) -SearchThirdparty=Szukaj zamówienia +SearchThirdparty=Search third party SearchContact=Znajdz kontakt +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/pl_PL/cron.lang b/htdocs/langs/pl_PL/cron.lang index 15a149f8379..290b2848cd5 100644 --- a/htdocs/langs/pl_PL/cron.lang +++ b/htdocs/langs/pl_PL/cron.lang @@ -4,10 +4,10 @@ About = O CronAbout = O Cron CronAboutPage = Cron o stronie # Right -Permission23101 = Czytaj Zaplanowane zadanie -Permission23102 = Tworzenie / aktualizacja Zaplanowane zadania -Permission23103 = Usuwanie zaplanowanego zadania -Permission23104 = Wykonanie zaplanowanego zadania +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Zaplanowana konfiguracja zarządzanie zadaniami URLToLaunchCronJobs=Adres URL, aby sprawdzić i uruchomić wymagane cron, jeśli @@ -26,21 +26,21 @@ CronLastOutput=Ostatnie wyjście prowadzony CronLastResult=Ostatni kod wynikowy CronListOfCronJobs=Lista zaplanowanych zadań CronCommand=Komenda -CronList=Scheduled job -CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? -CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? -CronInfo=Scheduled job module allow to execute job that have been planned -CronWaitingJobs=Waiting jobs +CronList=Scheduled jobs +CronDelete=Usuwanie zaplanowanych zadań +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? +CronExecute=Zaplanowanej pracy +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? +CronInfo=Moduł Zaplanowane pracy uprawniają do wykonywania pracy, które były planowane +CronWaitingJobs=Kelnerzy CronTask=Praca CronNone=Żaden CronDtStart=Data rozpoczęcia CronDtEnd=Data zakończenia CronDtNextLaunch=Następna realizacja CronDtLastLaunch=Ostatnia egzekucja -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metoda CronModule=Moduł CronAction=Akcja @@ -55,9 +55,9 @@ CronEach=Każdy JobFinished=Praca rozpoczął i zakończył #Page card CronAdd= Dodaj miejsca pracy -CronHourStart= Początek godzina i data zadania -CronEvery= I wykonać każde zadanie -CronObject= Instance / Obiekt do tworzenia +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance / Obiekt do tworzenia CronArgs=Parametry CronSaveSucess=Zapisz pomyślnie CronNote=Komentarz @@ -75,14 +75,14 @@ CronObjectHelp=Nazwa obiektu, aby załadować.
Dla exemple sprowadzić meto CronMethodHelp=Metoda obiektu, aby uruchomić.
Dla exemple sprowadzić metodę Dolibarr obiektu wyrobów /htdocs/product/class/product.class.php, wartość metody jest to fecth CronArgsHelp=Argumenty metody.
Reprezentują np sprowadzić sposób Dolibarr obiektu Product /htdocs/product/class/product.class.php, wartość paramters może wynosić 0, ProductRef CronCommandHelp=System linii poleceń do wykonania. -CronCreateJob=Create new Scheduled Job +CronCreateJob=Utwórz nowe zaplanowane zadanie # Info CronInfoPage=Informacja # Common -CronType=Typ zadania +CronType=Job type CronType_method=Wywołanie metody z klasy Dolibarr CronType_command=Polecenie powłoki CronMenu=Cron CronCannotLoadClass=Nie można załadować klasy% s% s lub obiektu UseMenuModuleToolsToAddCronJobs=Wejdź w menu "Home - modułów narzędzi - Lista zadań", aby zobaczyć i edytować zaplanowane zadania. -TaskDisabled=Zadanie wyłączony +TaskDisabled=Job disabled diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index d1df79a635c..90a6766dec7 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=Klient SOAP nie powiodło się z powodu błędu '% s ErrorGlobalVariableUpdater5=Globalna zmienna wybrana ErrorFieldMustBeANumeric=Pole %s musi mieć wartość numeryczną ErrorFieldMustBeAnInteger=Pole %s musi być liczbą całkowitą +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Parametry konfiguracyjne obowiązkowe nie są jeszcze określone diff --git a/htdocs/langs/pl_PL/incoterm.lang b/htdocs/langs/pl_PL/incoterm.lang new file mode 100644 index 00000000000..e5a3482ba95 --- /dev/null +++ b/htdocs/langs/pl_PL/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Formuły handlowe +IncotermSetupTitle1=Funkcja +IncotermSetupTitle2=Status +IncotermSetup=Konfiguracja modułu formuły handlowej +IncotermFunctionDesc=Aktywuj funkcje formuły handlowe (oferta handlowa, zamówienie klienta, faktury klienta, wysyłka, zamówienie dla dostawcy) diff --git a/htdocs/langs/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 96f1f87c958..ea90392d78c 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Baza danych z dostępem na prawach superużytkownika CheckToCreateDatabase=Zaznacz jeśli baza danych nie istnieje i musi zostać utworzona.
W przypadku takim na dole tej strony musisz podać użytkownika/hasło do konta superużytkownika. CheckToCreateUser=Zaznacz jeśli użytkownik nie istnieje i musi zostać utworzony.
W przypadku takim na dole tej strony musisz podać użytkownika/hasło do konta superużytkownika. Experimental=(eksperymentalnie, na własną odpowiedzialność) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login użytkownika mogącego tworzyć nowe bazy lub nowych użytkowników, wymagane jeśli baza danych oraz jej właściciel nie istnieją. KeepEmptyIfNoPassword=Zostaw puste jeśli użytkownik nie posiada hasła (unikaj takiej sytuacji) SaveConfigurationFile=Zapis wartości @@ -156,7 +157,7 @@ LastStepDesc=Ostatni krok: Zdefiniuj tutaj nazwę i hasło, kt ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) WarningUpgrade=Uwaga:\nPamiętaj o zrobieniu kopi zapasowej bazy!\nWysoko rekomendowane: dla przykładu, podczas wystąpienia błędu w bazie danych systemu (dla przykładu w wersji 5.5.40 mySQL), niektóre dane lub tabele mogą zostać stracone podczas tego procesu. Rekomendowane jest by zrobic kopię swojej bazy przed migracją.\n\nNaciśnij OK by zacząć migrację... -ErrorDatabaseVersionForbiddenForMigration=Twoja wersja bazy danych% s. Ma krytycznej utraty danych podejmowania błąd jeśli się zmianę struktury na bazie danych, tak jak jest to wymagane przez proces migracji. Na jego powodu migracji nie zostaną dopuszczone do aktualizacji bazy danych do wyższej wersji stałej (lista znanych wersji podsłuch:% s) +ErrorDatabaseVersionForbiddenForMigration=Twoja wersja bazy danych to %s. Ma krytyczną lukę utraty danych jeśli się zmieni struktury na bazie danych, tak jak jest to wymagane podczas procesu migracji. Z tego powodu migracje nie zostaną dopuszczone dopóki nie ulepszysz bazy danych do wyższej wersji (lista znanych wersji z lukami: %s) ######### # upgrade diff --git a/htdocs/langs/pl_PL/languages.lang b/htdocs/langs/pl_PL/languages.lang index 558c43cd66a..21aaae24068 100644 --- a/htdocs/langs/pl_PL/languages.lang +++ b/htdocs/langs/pl_PL/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabski Language_ar_SA=Arabski +Language_bn_BD=Bengali Language_bg_BG=Bułgarski Language_bs_BA=Bośniacki Language_ca_ES=Kataloński @@ -21,9 +22,10 @@ Language_en_SA=Angielski (Arabia Saudyjska) Language_en_US=Angielski (Stany Zjednoczone) Language_en_ZA=Angielski (Republika Południowej Afryki) Language_es_ES=Hiszpański -Language_es_DO=Hiszpański (Dominikana) Language_es_AR=Hiszpański (Argentyna) Language_es_CL=Hiszpański (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Hiszpański (Dominikana) Language_es_HN=Hiszpański (Honduras) Language_es_MX=Hiszpański (Meksyk) Language_es_PY=Hiszpański (Paragwaj) @@ -45,7 +47,10 @@ Language_id_ID=Indonezyjski Language_is_IS=Islandzki Language_it_IT=Włoski Language_ja_JP=Japoński +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Koreański +Language_lo_LA=Lao Language_lt_LT=Litewski Language_lv_LV=Łotewski Language_mk_MK=Macedoński @@ -64,6 +69,7 @@ Language_sv_SV=Szwedzki Language_sv_SE=Szwedzki Language_sq_AL=Albański Language_sk_SK=Słowacki +Language_sw_SW=Kiswahili Language_th_TH=Tajski Language_uk_UA=Ukraiński Language_uz_UZ=Uzbek diff --git a/htdocs/langs/pl_PL/loan.lang b/htdocs/langs/pl_PL/loan.lang new file mode 100644 index 00000000000..cdd9bdba731 --- /dev/null +++ b/htdocs/langs/pl_PL/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Pożyczka +Loans=Kredyty +NewLoan=Nowa pożyczka +ShowLoan=Pokaż Pożyczka +PaymentLoan=Spłata kredytu +ShowLoanPayment=Pokaż Pożyczka Płatność +Capital=Kapitał +Insurance=Ubezpieczenie +Interest=Odsetki +Nbterms=Liczba składników +LoanAccountancyCapitalCode=Kapitał Kod Księgowość +LoanAccountancyInsuranceCode=Ubezpieczenie Kod Księgowość +LoanAccountancyInterestCode=Zainteresowanie Kod Księgowość +LoanPayment=Spłata kredytu +ConfirmDeleteLoan=Potwierdź usunięcie tego kredytu +LoanDeleted=Pożyczka została usunięta +ConfirmPayLoan=Potwierdź sklasyfikować wypłacane pożyczka +LoanPaid=Pożyczka Płatny +ErrorLoanCapital=Kwota kredytu musi być numeryczny i większa od zera. +ErrorLoanLength=Długość pożyczka musi być numeryczne, a większy od zera. +ErrorLoanInterest=Roczne odsetki musi być numeryczne, a większy od zera. +# Calc +LoanCalc=Kredyty bankowe Kalkulator +PurchaseFinanceInfo=Zakup i Finansowanie informacji +SalePriceOfAsset=Cena sprzedaży aktywów +PercentageDown=Procent w dół +LengthOfMortgage=Długość hipoteczny +AnnualInterestRate=Roczna stopa procentowa +ExplainCalculations=Wyjaśnij Obliczenia +ShowMeCalculationsAndAmortization=Pokaż mi obliczenia i amortyzację +MortgagePaymentInformation=Informacje hipoteczny Płatność +DownPayment=Zaliczka +DownPaymentDesc=Zaliczka = cena domu pomnożona przez procent w dół, podzielona przez 100 (dla 5% w dół staje 5/100 lub 0,05) +InterestRateDesc=Oprocentowanie = Roczna wartość procentowa odsetek podzielony przez 100 +MonthlyFactorDesc=Miesięczna czynnikiem = wynik wzoru +MonthlyInterestRateDesc=Miesięczna stopa procentowa = roczna stopa procentowa podzielona przez 12 (za 12 miesięcy w roku) +MonthTermDesc=Miesięcy okres kredytowania w miesiącach = ilość lat wziąłeś kredyt się do czasów 12 +MonthlyPaymentDesc=Miesięczny płatności zorientowali się, stosując następujący wzór +AmortizationPaymentDesc=Amortyzacja zepsuje, ile miesięczne płatności idzie w kierunku zainteresowania banku, a ile idzie do spłaty kwoty głównej pożyczki. +AmountFinanced=Kwota Finansowane +AmortizationMonthlyPaymentOverYears=Amortyzacja miesięczną spłatę:% s na% s lat +Totalsforyear=Sumy dla roku +MonthlyPayment=Miesięczny Płatność +LoanCalcDesc=Kalkulator kredytu hipotecznego może być używany, aby dowiedzieć miesięcznych wypłat kredytu hipotecznego w domu, w oparciu o cenę domu na sprzedaż w, okres kredytowania pożądanym, dół procent płatności kupującego, i stopy procentowej kredytu.
Ten kalkulator czynniki PMI (Private Mortgage Insurance) dla kredytów w których mniej niż 20% jest umieszczone jako zaliczki. Brane pod uwagę również to podatki od nieruchomości miasto, a ich wpływ na łączne miesięczne płatności hipotecznych.
+GoToInterest=% s zostanie przeznaczona INTERESÓW +GoToPrincipal=% s zostanie przeznaczona PODSTAWOWA +YouWillSpend=Spędzisz% s na dom w rok% s +# Admin +ConfigLoan=Konfiguracja modułu pożyczki +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Kapitał Kod domyślnie Rachunkowości +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Zainteresowanie Kod domyślnie Rachunkowości +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Ubezpieczenie Kod domyślnie Rachunkowości diff --git a/htdocs/langs/pl_PL/mailmanspip.lang b/htdocs/langs/pl_PL/mailmanspip.lang index 4df2bf08bde..d5113dc6507 100644 --- a/htdocs/langs/pl_PL/mailmanspip.lang +++ b/htdocs/langs/pl_PL/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 succesfully -# MailmanDeletionSuccess=Unsubscription test was executed succesfully -# SynchroMailManEnabled=A Mailman update will be performed -# SynchroSpipEnabled=A Spip update will be performed -# DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password -# DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions -# DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions -# DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) -# SPIPTitle=SPIP Content Management System -# DescADHERENT_SPIP_SERVEUR=SPIP Server -# DescADHERENT_SPIP_DB=SPIP database name -# DescADHERENT_SPIP_USER=SPIP database login -# DescADHERENT_SPIP_PASS=SPIP database password -# AddIntoSpip=Add into SPIP -# AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? -# AddIntoSpipError=Failed to add the user in SPIP -# DeleteIntoSpip=Remove from SPIP -# DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? -# DeleteIntoSpipError=Failed to suppress the user from SPIP -# SPIPConnectionFailed=Failed to connect to SPIP -# SuccessToAddToMailmanList=Add of %s to mailman list %s or SPIP database done -# SuccessToRemoveToMailmanList=Removal of %s from mailman list %s or SPIP database done +MailmanSpipSetup=Listonosz i SPIP Konfiguracja modułu +MailmanTitle=Lista System listonosz pocztowy +TestSubscribe=Aby przetestować subskrypcji Liste list +TestUnSubscribe=Aby przetestować wypisać się z listy Liste +MailmanCreationSuccess=Subskrypcja Badanie zostało wykonane pomyślnie +MailmanDeletionSuccess=Badanie zostało zrealizowane pomyślnie wypisania +SynchroMailManEnabled=Listonosz aktualizacja zostanie przeprowadzona +SynchroSpipEnabled=Aktualizacja zostanie wykonana Spip +DescADHERENT_MAILMAN_ADMINPW=Listonosz hasło administratora +DescADHERENT_MAILMAN_URL=Adres do subskrypcji Liste +DescADHERENT_MAILMAN_UNSUB_URL=URL Liste unsubscriptions +DescADHERENT_MAILMAN_LISTS=Lista (y) do automatycznego napisem nowych członków (oddzielone przecinkiem) +SPIPTitle=Content Management System SPIP +DescADHERENT_SPIP_SERVEUR=SPIP Server +DescADHERENT_SPIP_DB=Nazwa bazy danych SPIP +DescADHERENT_SPIP_USER=SPIP logowania bazy danych +DescADHERENT_SPIP_PASS=Hasło bazy danych SPIP +AddIntoSpip=Dodaj do SPIP +AddIntoSpipConfirmation=Czy na pewno chcesz dodać ten element do SPIP? +AddIntoSpipError=Nie udało się dodać użytkownika w SPIP +DeleteIntoSpip=Usuń z SPIP +DeleteIntoSpipConfirmation=Czy na pewno chcesz usunąć ten element z SPIP? +DeleteIntoSpipError=Nie udało się stłumić użytkownika z SPIP +SPIPConnectionFailed=Nie można połączyć się SPIP +SuccessToAddToMailmanList=Dodaj %s do %s listonosz listy lub bazy danych SPIP wykonanej +SuccessToRemoveToMailmanList=Usuwanie %s z %s listonosz listy lub bazy danych SPIP zrobić diff --git a/htdocs/langs/pl_PL/mails.lang b/htdocs/langs/pl_PL/mails.lang index b02bff7a0d4..ae9d1fb92d2 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -1,116 +1,116 @@ # Dolibarr language file - Source file is en_US - mails -Mailing=E-maila -EMailing=E-maila -Mailings=EMailings -EMailings=EMailings -AllEMailings=Wszystkie eMailings -MailCard=Pocztą elektroniczną kartę +Mailing=Mailingi +EMailing=Mailing +Mailings=Mailingi +EMailings=Mailingi +AllEMailings=Wszystkie Mailingi +MailCard=Karta Mailingu MailTargets=Cele MailRecipients=Odbiorcy MailRecipient=Odbiorca -MailTitle=Tytuł +MailTitle=Opis MailFrom=Nadawca -MailErrorsTo=Błędów -MailReply=Odpowiedz -MailTo=Receiver (s) +MailErrorsTo=Błędów do +MailReply=Odpowiedz do +MailTo=Odbiorca(y) MailCC=Kopiuj do -MailCCC=Kopii do -MailTopic=EMail tematu +MailCCC=Kopi w pamięci do +MailTopic=Temat maila MailText=Wiadomość MailFile=Dołączone pliki MailMessage=EMail ciała -ShowEMailing=Pokaż e-maila -ListOfEMailings=Lista emailings -NewMailing=Nowy e-maila -EditMailing=Edytuj e-maila -ResetMailing=Wyślij e-maila -DeleteMailing=Usuń e-maila -DeleteAMailing=Usunąć e-maila -PreviewMailing=Podgląd e-maila -PrepareMailing=Przygotowanie e-maila -CreateMailing=Tworzenie e-maila -MailingDesc=Ta strona umożliwia wysłanie emailings do grupy osób. -MailingResult=Wysyłanie e-maili wynik -TestMailing=Test e-maila -ValidMailing=Aktualny e-maila -ApproveMailing=Zatwierdź e-maila +ShowEMailing=Pokaż mailingi +ListOfEMailings=Lista mailingów +NewMailing=Nowy mailing +EditMailing=Edytuj mailing +ResetMailing=Wyślij ponownie mailing +DeleteMailing=Usuń mailing +DeleteAMailing=Usunąć ten mailing +PreviewMailing=Podgląd mailingu +PrepareMailing=Przygotowanie mailingu +CreateMailing=Tworzenie mailingu +MailingDesc=Ta strona umożliwia wysłanie mailingow do grupy osób. +MailingResult=Wysyłanie wyników mailingów +TestMailing=Test maila +ValidMailing=Aktualny mailing +ApproveMailing=Zatwierdź mailing MailingStatusDraft=Szkic -MailingStatusValidated=Zatwierdzona +MailingStatusValidated=Sprawdzone MailingStatusApproved=Zatwierdzony MailingStatusSent=Wysłany MailingStatusSentPartialy=Wysłane częściowo MailingStatusSentCompletely=Wysłane całkowicie MailingStatusError=Błąd MailingStatusNotSent=Nie wysłano -MailSuccessfulySent=E-mail wysłany successfuly (od %s do %s) -MailingSuccessfullyValidated=Wysyłanie pomyślnie zweryfikowane -MailUnsubcribe=Wyrejestrowanie -Unsuscribe=Wyrejestrowanie +MailSuccessfulySent=Mail wysłany prawidłowo (od %s do %s) +MailingSuccessfullyValidated=Mailing pomyślnie zweryfikowany +MailUnsubcribe=Wypisz +Unsuscribe=Wypisz MailingStatusNotContact=Nie kontaktuj się więcej -ErrorMailRecipientIsEmpty=E-mail odbiorcy jest pusty -WarningNoEMailsAdded=Brak nowych wiadomości e-mail, aby dodać adres do listy. -ConfirmValidMailing=Czy na pewno chcesz, aby potwierdzić tego e-maila? -ConfirmResetMailing=Ostrzeżenie przez reinitializing pocztą elektroniczną %s, można pozwolić, aby masowego wysyłania tej wiadomości innym razem. Czy na pewno jest to, co chcesz zrobić? -ConfirmDeleteMailing=Czy na pewno chcesz usunąć tę emailling? +ErrorMailRecipientIsEmpty=Odbiorca maila jest pusty +WarningNoEMailsAdded=Brak nowych wiadomości mail, aby dodać adres do listy. +ConfirmValidMailing=Czy na pewno chcesz potwierdzić tego maila? +ConfirmResetMailing=Ostrzeżenie przez brak połączenia z pocztą elektroniczną %s, pozwalasz, by masowe wysyłanie tej wiadomości odbyło się innym razem. Czy na pewdno chcesz to zrobić? +ConfirmDeleteMailing=Czy na pewno chcesz usunąć tego mailla? NbOfRecipients=Liczba odbiorców -NbOfUniqueEMails=Nb unikatowych wiadomości e-mail -NbOfEMails=Nb-mail +NbOfUniqueEMails=Nr unikatowych wiadomości mail +NbOfEMails=Nr-maili TotalNbOfDistinctRecipients=Liczba różnych odbiorców NoTargetYet=Nie określono jeszcze odbiorców (Przejdź na kartę "Odbiorcy") AddRecipients=Dodaj odbiorców RemoveRecipient=Usuń odbiorcę -CommonSubstitutions=Wspólne zastępstw -YouCanAddYourOwnPredefindedListHere=Aby utworzyć swój adres e-mail wyboru modułu, patrz htdocs / includes / modules / mailing / README. -EMailTestSubstitutionReplacedByGenericValues=Przy użyciu testu trybie zastępstwa zmienne otrzymują uniwersalne wartości +CommonSubstitutions=Wspólne zastępstwa +YouCanAddYourOwnPredefindedListHere=Aby utworzyć swój mail wyboru modułu, patrz htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=Podczas korzystania z trybu testowego, podstawienia zmiennych zastępują wartości generycznych MailingAddFile=Dołącz ten plik -NoAttachedFiles=Nie załączone pliki -BadEMail=Zła wartość EMail -CloneEMailing=Clone e-mail -ConfirmCloneEMailing=Czy na pewno chcesz klon tego e-maila? -CloneContent=Clone wiadomość -CloneReceivers=Cloner odbiorców -DateLastSend=Data ostatniej wysyłanie +NoAttachedFiles=Nie załączono plików +BadEMail=Zła wartość dla Maila +CloneEMailing=Kopia maila +ConfirmCloneEMailing=Czy na pewno chcesz kopię tego e-maila? +CloneContent=Kopia wiadomości +CloneReceivers=Skopiuj odbiorców +DateLastSend=Data ostatniej wysyłki DateSending=Data wysłania SentTo=Wysłane do %s MailingStatusRead=Czytać -CheckRead=Czytaj Otrzymanie -YourMailUnsubcribeOK=E-mail% s jest prawidłowo unsubcribe z listy mailingowej -MailtoEMail=Hyper link e-mail -ActivateCheckRead=Pozwól, aby skorzystać z linku "Unsubcribe" -ActivateCheckReadKey=Klucz do szyfrowania wykorzystanie wykorzystanie URL dla "Czytaj Pokwitowanie" oraz funkcja "Unsubcribe" -EMailSentToNRecipients=Napisz e-mail wysłany do% s odbiorców. +CheckRead=Czytaj Otrzymane +YourMailUnsubcribeOK=Mail %s poprawnie wypisano z listy mailingowej +MailtoEMail=Hyper link do maila +ActivateCheckRead=Pozwól korzystać z linku "Unsubcribe/Wypisz" +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature +EMailSentToNRecipients=Mail wysłany do %s odbiorców. XTargetsAdded=% s dodany do listy odbiorców docelowych -EachInvoiceWillBeAttachedToEmail=Dokument za pomocą domyślnej faktury szablon dokumentu będą tworzone i dołączone do każdego maila. -MailTopicSendRemindUnpaidInvoices=Przypomnienie faktury% s (% s) -SendRemind=Wyślij przypomnienie poprzez e-maile -RemindSent=Przypominamy% s (e) wysłany -AllRecipientSelectedForRemind=Zaznacz wszystkie thirdparties i jeśli e-mail jest ustawiony (zauważ, że jeden elektronicznej za faktury będą wysyłane) -NoRemindSent=Bez przypomnienia e-mail wysłany -ResultOfMassSending=Wynik przypomnienia masowe wysyłanie wiadomości e-mail +EachInvoiceWillBeAttachedToEmail=Dokument używa domyślnego szablonu faktury i będą tworzone i dołączone do każdego maila w przyszłości. +MailTopicSendRemindUnpaidInvoices=Przypomnienie faktury %s (%s) +SendRemind=Wyślij przypomnienie poprzez Maila +RemindSent=%s przypomnie(n)ie wysłano +AllRecipientSelectedForRemind=Wszystkie zaznaczone strony trzecie i jeśli mail jest ustawiony (zauważ, że jeden mail na fakturę zostanie wysyłany) +NoRemindSent=Brak przypomnienia o wysłanym mailu +ResultOfMassSending=Wynik przypomnień wysłanych masowych maili # Libelle des modules de liste de destinataires mailing -MailingModuleDescContactCompanies=Kontakty wszystkich stron trzecich (klienta, perspektywa, dostawca, ...) -MailingModuleDescDolibarrUsers=Wszystkie Dolibarr użytkownikom wiadomości e-mail -MailingModuleDescFundationMembers=Fundacja użytkowników z e-maili -MailingModuleDescEmailsFromFile=E-maile z pliku tekstowego (e-mail, imię, nazwisko) -MailingModuleDescEmailsFromUser=E-maili od danych wejściowych użytkownika (e-mail; Nazwisko; imię, inne) -MailingModuleDescContactsCategories=Kontakty wszystkich stron trzecich (według kategorii) -MailingModuleDescDolibarrContractsLinesExpired=Trzecim minął zamówienia linie -MailingModuleDescContactsByCompanyCategory=Kontakt trzecich (przez osoby trzecie kategoria) +MailingModuleDescContactCompanies=Kontakty/adresy wszystkich stron trzecich (klienta, oferty, dostawca, ...) +MailingModuleDescDolibarrUsers=Użytkownicy Dolibarra +MailingModuleDescFundationMembers=Użytkownicy fundacji z mailami +MailingModuleDescEmailsFromFile=Maile z pliku tekstowego (mail;imię;nazwisko) +MailingModuleDescEmailsFromUser=Maili od danych wejściowych użytkownika (e-mail;Nazwisko;imię;inne) +MailingModuleDescContactsCategories=Strony trzecie /dostawcy/oferty/kontrachenci (według kategorii) +MailingModuleDescDolibarrContractsLinesExpired=Stronom trzecim /dostawcy/oferty/kontrachenci wygasła linia zamówienia. +MailingModuleDescContactsByCompanyCategory=Kontakty/adresy stron trzecich MailingModuleDescContactsByCategory=Kontakt / adresy stron trzecich według kategorii -MailingModuleDescMembersCategories=Członkowie Fundacji (o kategorie) -MailingModuleDescContactsByFunction=Kontakt trzecich (według pozycji / funkcji) +MailingModuleDescMembersCategories=Członkowie Fundacji (przez kategorie) +MailingModuleDescContactsByFunction=Kontakty/adresy stron trzecich (według pozycji / funkcji) LineInFile=Linia w pliku %s -RecipientSelectionModules=Definiowane wnioski dla odbiorców wyboru -MailSelectedRecipients=Wybrane odbiorców -MailingArea=EMailings obszarze -LastMailings=Ostatnia %s emailings +RecipientSelectionModules=Definiowane wnioski dla wybranych odbiorców +MailSelectedRecipients=Wybrani odbiorcy +MailingArea=Obszar mailingów +LastMailings=Ostatnia %s Mailingów TargetsStatistics=Celów statystycznych -NbOfCompaniesContacts=Unikalne kontaktów firm -MailNoChangePossible=Odbiorców potwierdzone e-maila nie można zmienić -SearchAMailing=Szukaj mailowych -SendMailing=Wyślij e-maila -SendMail=Wyślij e-mail +NbOfCompaniesContacts=Unikalne kontakty firm +MailNoChangePossible=Odbiorcy dla potwierdzonych mailingów nie mogą być zmienieni +SearchAMailing=Szukaj mailingu +SendMailing=Wyślij mailing +SendMail=Wyślij mail SentBy=Wysłane przez MailingNeedCommand=Ze względów bezpieczeństwa, wysyłając e-maila jest lepiej, gdy wykonywane z linii poleceń. Jeśli masz, poproś administratora serwera, aby uruchomić następujące polecenie, aby wysłać e-maila do wszystkich odbiorców: MailingNeedCommand2=Możesz jednak wysłać je w sieci poprzez dodanie parametru MAILING_LIMIT_SENDBYWEB o wartości max liczba wiadomości e-mail, który chcesz wysłać przez sesji. @@ -119,25 +119,25 @@ LimitSendingEmailing=Uwaga: Wysyłanie Emailings z interfejsu WWW jest wykonywan TargetsReset=Wyczyść listę ToClearAllRecipientsClickHere=Aby wyczyścić odbiorców tego e-maila na listę, kliknij przycisk ToAddRecipientsChooseHere=Aby dodać odbiorców, wybierz w tych wykazach -NbOfEMailingsReceived=Masa emailings otrzymała -NbOfEMailingsSend=Masowe Emailings wysłane +NbOfEMailingsReceived=Masowe mailingi otrzymane +NbOfEMailingsSend=Masowe mailingi wysłane IdRecord=ID rekordu -DeliveryReceipt=Odbiór dostawy -YouCanUseCommaSeparatorForSeveralRecipients=Możesz używać przecinka separator określić kilku odbiorców. -TagCheckMail=Utwór otwierający elektronicznej -TagUnsubscribe=Wypisz odnośnik -TagSignature=Podpis wysyłania użytkownika -TagMailtoEmail=E-mail odbiorcy +DeliveryReceipt=Dostarczono odbiorcy +YouCanUseCommaSeparatorForSeveralRecipients=Możesz używać przecinka aby określić kilku odbiorców. +TagCheckMail=Obserwuj otwarcie maila +TagUnsubscribe=Link do wypisania +TagSignature=Podpis wysyłającego użytkownika +TagMailtoEmail=Mail odbiorcy # Module Notifications Notifications=Powiadomienia -NoNotificationsWillBeSent=Brak powiadomień e-mail są planowane dla tego wydarzenia i spółka +NoNotificationsWillBeSent=Brak planowanych powiadomień mailowych dla tego wydarzenia i firmy ANotificationsWillBeSent=1 zgłoszenie zostanie wysłane pocztą elektroniczną SomeNotificationsWillBeSent=%s powiadomienia będą wysyłane przez e-mail AddNewNotification=Aktywuj nowy cel powiadomienia e-mail ListOfActiveNotifications=Lista wszystkich aktywnych celów powiadomienia e-mail -ListOfNotificationsDone=Lista wszystkich powiadomień e-mail wysłany +ListOfNotificationsDone=Lista wszystkich powiadomień wysłanych maili 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 jak skonfigurować serwer SMTP, możesz poprosić o% 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 +YouCanAlsoUseSupervisorKeyword=Możesz również dodać __SUPERVISOREMAIL__ słów kluczowych posiadania e-mail są wysyłane do opiekuna użytkownika (działa tylko wtedy, gdy e-mail jest określona w tym przełożonego) +NbOfTargetedContacts=Aktualna liczba ukierunkowanych maili kontaktowych diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index fcf5afdd545..442728a7423 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Cena jednostkowa (netto) UnitPriceTTC=Cena jednostkowa PriceU=cen/szt. PriceUHT=cen/szt (netto) -AskPriceSupplierUHT=Zapytanie P.U HT +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=cena/szt. Amount=Ilość AmountInvoice=Kwota faktury @@ -413,6 +413,8 @@ Qty=Ilosc ChangedBy=Zmieniona przez ApprovedBy=Zatwierdzony przez ApprovedBy2=Zatwierdzony przez (drugie zatwierdzenie) +Approved=Approved +Refused=Refused ReCalculate=Przelicz ResultOk=Sukces ResultKo=Porażka @@ -421,7 +423,7 @@ Reportings=Raportowanie Draft=Szkic Drafts=Robocze Validated=Zatwierdzona -Opened=Czynny +Opened=Open New=Nowy Discount=Rabat Unknown=Nieznany @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Podpięty do kontaktu współużytkownika DeleteAFile=Usuń plik ConfirmDeleteAFile=Czy na pewno chcesz usunąć ten plik? NoResults=Brak wyników +SystemTools=System tools ModulesSystemTools=Narzędzia modułów Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Pokaż transakcje GoIntoSetupToChangeLogo=Wejdź w Strona główna - Ustawienia- Firma by zmienić logo lub przejdź do Strona główna- Ustawienia - Wyświetl do ukrycia. Deny=Zabraniać Denied=Zabroniony +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Poniedziałek Tuesday=Wtorek @@ -732,3 +738,4 @@ ShortThursday=Cz ShortFriday=Pi ShortSaturday=So ShortSunday=Ni +SelectMailModel=Select email template diff --git a/htdocs/langs/pl_PL/orders.lang b/htdocs/langs/pl_PL/orders.lang index 1e65fc4772b..daa010a5f1e 100644 --- a/htdocs/langs/pl_PL/orders.lang +++ b/htdocs/langs/pl_PL/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Dostawca celu SuppliersOrders=Dostawcy zleceń SuppliersOrdersRunning=Aktualna dostawców zleceń CustomerOrder=Zamówieniem -CustomersOrders=Zamówienia klientów -CustomersOrdersRunning=Aktualna klientów zleceń -CustomersOrdersAndOrdersLines=Zamówień i zleceń linii -OrdersToValid=Zamówienia klientów, aby potwierdzić -OrdersToBill=Zamówienia klientów są dostarczane -OrdersInProcess=Zamówienia klientów w procesie -OrdersToProcess=Zamówienia klientów na przetwarzanie -SuppliersOrdersToProcess=Dostawcy zamówienia na przetwarzanie +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Odwołany StatusOrderDraftShort=Szkic StatusOrderValidatedShort=Zatwierdzona @@ -75,8 +75,9 @@ AddToMyOrders=Dodaj do mojego zamówienia AddToOtherOrders=Dodaj do zamówienia AddToDraftOrders=Dodaj do projektu porządku ShowOrder=Pokaż zamówienie -NoOpenedOrders=Nie otworzył zamówień -NoOtherOpenedOrders=Żadne inne otwarte zamówienia +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Brak projektów zamówienia OtherOrders=Inne zamówienia LastOrders=Ostatnie %s zamówień klienta diff --git a/htdocs/langs/pl_PL/other.lang b/htdocs/langs/pl_PL/other.lang index 7d5e57fab69..8a1d21d682f 100644 --- a/htdocs/langs/pl_PL/other.lang +++ b/htdocs/langs/pl_PL/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Validate interwencji Notify_FICHINTER_SENTBYMAIL=Interwencja wysyłane pocztą Notify_BILL_VALIDATE=Sprawdź rachunki Notify_BILL_UNVALIDATE=Faktura klienta nie- zwalidowane +Notify_ORDER_SUPPLIER_VALIDATE=Kolejność Dostawca rejestrowane Notify_ORDER_SUPPLIER_APPROVE=Dostawca celu zatwierdzone Notify_ORDER_SUPPLIER_REFUSE=Dostawca odmówił celu Notify_ORDER_VALIDATE=Zamówienie Klienta potwierdzone @@ -203,6 +204,7 @@ ClickHereToGoTo=Kliknij tutaj, aby przejść do% s YouMustClickToChange=Trzeba jednak najpierw kliknąć na poniższy link, aby potwierdzić tę 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=Repository for sources ##### Calendar common ##### AddCalendarEntry=Dodaj wpis w kalendarzu %s diff --git a/htdocs/langs/pl_PL/printing.lang b/htdocs/langs/pl_PL/printing.lang new file mode 100644 index 00000000000..876a9816b80 --- /dev/null +++ b/htdocs/langs/pl_PL/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Ustawienia Direct Printing System +PrintingDesc=Moduł ten dodaje przycisk Drukuj, aby wysłać dokumenty bezpośrednio do drukarki (bez otwierania dokumentu do aplikacji) z różnych modułów. +ModuleDriverSetup=Konfiguracja modułu sterownika +PrintingDriverDesc=Zmienne konfiguracyjne dla drukowania sterownika. +ListDrivers=Lista kierowców +PrintTestDesc=Lista drukarek. +FileWasSentToPrinter=Plik% s został wysłany do drukarki +NoActivePrintingModuleFound=Nie aktywny moduł do drukowania dokumentu +PleaseSelectaDriverfromList=Proszę wybrać sterownik z listy. +SetupDriver=Ustawień sterownika +TestDriver=Test +TargetedPrinter=Ukierunkowane drukarki +UserConf=Ustawienia na użytkownika +PRINTGCP=Google Cloud Print +PrintGCPDesc=Sterownik ten pozwala na wysyłanie dokumentów bezpośrednio do drukarki z Google Cloud Print. +PrintingDriverDescprintgcp=Zmienne konfiguracyjne dla sterownika drukowania Google Cloud Print. +PrintTestDescprintgcp=Lista drukarek dla Google Cloud Print. +PRINTGCP_LOGIN=Google Logowanie +PRINTGCP_PASSWORD=Konto Google hasło +STATE_ONLINE=Online +STATE_UNKNOWN=Nieznany +STATE_OFFLINE=Offline +STATE_DORMANT=Nieaktywny przez dłuższy czas +TYPE_GOOGLE=Google +TYPE_HP=Drukarka HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Dysk Google +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nazwa +GCP_displayName=Nazwa wyświetlana +GCP_Id=Drukarka Id +GCP_OwnerName=Nazwa właściciela +GCP_State=Stan drukarki +GCP_connectionStatus=Stan online +GCP_Type=Typ drukarki +PRINTIPP=PrintIPP kierowcy +PrintIPPSetup=Konfiguracja modułu Direct Print +PrintIPPDesc=Sterownik ten pozwala na wysyłanie dokumentów bezpośrednio do drukarki. To wymaga systemu Linux z CUPS zainstalowanych. +PrintingDriverDescprintipp=Zmienne konfiguracyjne dla sterownika drukowania PrintIPP. +PrintTestDescprintipp=Lista drukarek dla kierowcy PrintIPP. +PRINTIPP_ENABLED=Pokaż ikonę "Druk bezpośredni" na listach dokumentów +PRINTIPP_HOST=Serwer druku +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Hasło +NoPrinterFound=Nie znaleziono drukarki (sprawdź konfigurację CUPS) +NoDefaultPrinterDefined=Nie drukarka domyślna zdefiniowana +DefaultPrinter=Drukarka domyślna +Printer=Drukarka +CupsServer=Serwer CUPS +IPP_Uri=Drukarka Uri +IPP_Name=Nazwa drukarki +IPP_State=Stan drukarki +IPP_State_reason=Powodem państwa +IPP_State_reason1=Reason1 państwowe +IPP_BW=BW +IPP_Color=Kolor +IPP_Device=Urządzenie +IPP_Media=Media do drukarek +IPP_Supported=Typ nośnika +STATE_IPP_idle=Bezczynny +STATE_IPP_stopped=Zatrzymany +STATE_IPP_paused=Wstrzymany +STATE_IPP_toner-low-report=Niski poziom tonera +STATE_IPP_none=Żaden +MEDIA_IPP_stationery=Materiały biurowe +MEDIA_IPP_thermal=Termiczny +IPP_COLOR_print-black=BW drukarki diff --git a/htdocs/langs/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang index 6ce701c1288..74bdbf9c554 100644 --- a/htdocs/langs/pl_PL/productbatch.lang +++ b/htdocs/langs/pl_PL/productbatch.lang @@ -19,4 +19,4 @@ printQty=Ilość: %d AddDispatchBatchLine=Dodaj linię dla przedłużenia wysyłki BatchDefaultNumber=Niezdefiniowano WhenProductBatchModuleOnOptionAreForced=Gdy moduł lot / numer seryjny jest aktywny, zwiększenie / zmniejszenie Tryb magazynowy jest wymuszony do ostatniego wyboru i nie może być edytowany. Inne opcje można określić, jak chcesz. -ProductDoesNotUseBatchSerial=Ten produkt nie używa pliku/wsadu/numeru seryjnego +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index 904b8cd697d..b6499aaecac 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produkt lub usługa ProductsAndServices=Produkty i usługi ProductsOrServices=Produkty lub Usługi ProductsAndServicesOnSell=Produkty i usługi na sprzedaż lub do zakupu -ProductsAndServicesNotOnSell=Produkty i usługi spośród sprzedaży +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statystyki produktów i usług ProductsStatistics=Statystyki produktów -ProductsOnSell=Produkt na sprzedaż lub do pruchase -ProductsNotOnSell=Produkt na sprzedaż i na zakup +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Produkty na sprzedaż i do zakupu ServicesOnSell=Usługi na sprzedaż lub do zakupu -ServicesNotOnSell=Usługi spośród sprzedaży +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Usługi na sprzedaż i do zakupu InternalRef=Wewnętrzny nr referencyjny LastRecorded=Ostatnie produkty / usługi na sprzedaż rejestrowana @@ -44,7 +44,7 @@ CardProduct1=Karta usługi CardContract=Karta zamówienia Warehouse=Magazyn Warehouses=Magazyny -WarehouseOpened=Magazyn otwarty +WarehouseOpened=Warehouse open WarehouseClosed=Magazyn zamknięty Stock=Zapas Stocks=Zapasy @@ -71,21 +71,21 @@ SellingPriceTTC=Cena sprzedaży (z podatkiem) PublicPrice=Cena publiczna CurrentPrice=Aktualna cena NewPrice=Nowa cena -MinPrice=Min. cena sprzedaży -MinPriceHT=Minim. Cena sprzedaży (po odliczeniu podatku) -MinPriceTTC=Minim. Cena sprzedaży (inc. podatku) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) 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. ContractStatus=Status zamówienia ContractStatusClosed=Zamknięte -ContractStatusRunning=W trakcie realizacji +ContractStatusRunning=Ongoing ContractStatusExpired=minął -ContractStatusOnHold=Nie działa -ContractStatusToRun=Aby uzyskać działa -ContractNotRunning=Zamówienie nie jest realizowane +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Produkt o numerze referencyjnym %s już istnieje. ErrorProductBadRefOrLabel=Błędna wartość referencyjna lub etykieta. ErrorProductClone=Podczas próby sklonowania produktu lub usługi wystąpił problem. -ErrorPriceCantBeLowerThanMinPrice=Błąd cena nie może być niższa niż cena minimalna. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Dostawcy SupplierRef=Nr referencyjny dostawcy produktu ShowProduct=Pokaż produkt @@ -117,12 +117,12 @@ ServiceLimitedDuration=Jeśli produkt jest usługą z ograniczonym czasem trwani MultiPricesAbility=Kilka poziom cen na produkt / usługę MultiPricesNumPrices=Ilość cen MultiPriceLevelsName=Kategorie cenowe -AssociatedProductsAbility=Włączanie funkcji pakietu wirtualnego +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Produkt w opakowaniu -AssociatedProductsNumber=Liczba produktów komponując ten produkt wirtualny pakiet +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Liczba dominującej opakowaniu produktu -IfZeroItIsNotAVirtualProduct=Jeśli 0, ten produkt nie jest produktem wirtualny pakiet -IfZeroItIsNotUsedByVirtualProduct=Jeśli 0, produkt ten nie jest używany przez produkt wirtualnego pakietu +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Współpracownik Translation=Tłumaczenie KeywordFilter=Filtr słów kluczowych @@ -131,7 +131,7 @@ ProductToAddSearch=Szukaj produktu do dodania AddDel=Dodaj / Usuń Quantity=Ilość NoMatchFound=Nie znaleziono odpowiednika -ProductAssociationList=Lista powiązanych produktów / usług: nazwa produktu / usługi (ma wpływ na ilość) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Lista produktów / usług pakietowych z tym produktem jako składnika ErrorAssociationIsFatherOfThis=Jeden z wybranych produktów jest nadrzędny dla produktu bierzącego DeleteProduct=Usuń produkt / usługę @@ -179,16 +179,41 @@ CloneProduct=Duplikuj produkt lub usługę ConfirmCloneProduct=Czy na pewno chcesz wykonać duplikat produktu lub usługi %s?? CloneContentProduct=Sklonuj wszystkie główne informacje dot. produktu / usługi ClonePricesProduct=Clone główne informacje i ceny -CloneCompositionProduct=Clone pakowane produkty / usługi +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Ten produkt jest używany NewRefForClone=Ref. nowych produktów / usług -CustomerPrices=Ceny klientów -SuppliersPrices=Ceny dostawców -SuppliersPricesOfProductsOrServices=Ceny dostawców (wyrobów lub usług) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Kod taryfy celnej CountryOrigin=Kraj pochodzenia HiddenIntoCombo=Ukryty na listach wyboru Nature=Natura +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Szablon sędzią wyrobów ServiceCodeModel=Serwis szablon sędzią AddThisProductCard=Stwórz kartę produktu @@ -214,7 +239,7 @@ CostPmpHT=Łączna VWAP netto ProductUsedForBuild=Automatycznie zużyte przez produkcję ProductBuilded=Produkcja została zakończona ProductsMultiPrice=Multi-cena produktu -ProductsOrServiceMultiPrice=Ceny klientów (produktów lub usług, multi-ceny) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Obroty kwartalne VWAP produktów ServiceSellByQuarterHT=Obroty kwartalne VWAP usług Quarter1=1-szy Kwartał @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Definiowanie wartości kodów kreskowych dla wszystkic PriceByCustomer=Inna cena dla każdego klienta PriceCatalogue=Wyjątkowa cena za produkt / usługę PricingRule=Zasady cen z klientami -AddCustomerPrice=Dodaj cenę przez klientów +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Ustaw sama cena na zależnych klientów PriceByCustomerLog=Cena od dziennika klienta -MinimumPriceLimit=Cena minimalna nie może być niższa niż% s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Cena minimalna zalecana jest:% s PriceExpressionEditor=Edytor Cena wyraz PriceExpressionSelected=Wybrany wyraz cena @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=Format jest {"URL": "http://example.com/urlofws UpdateInterval=Aktualizacja co (min) LastUpdated=Ostatnia aktualizacja CorrectlyUpdated=Poprawnie zaktualizowane +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 7d20faf8d6e..8d5317ab04a 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Ten widok przedstawia wszystkie projekty, które możesz prze 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). MyTasksDesc=Ten widok jest ograniczony do projektów lub zadań, dla których jesteś kontaktem (cokolwiek jest w typie). -OnlyOpenedProject=Tylko otwarte projekty są widoczne (projekty z szkicu lub stanu zamkniętego nie są widoczne). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). 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 takiego projektu są widoczne, ale można wprowadzić czas tylko do zadań do których jesteś przypisany. @@ -29,7 +29,7 @@ ProjectsList=Lista projektów ShowProject=Pokaż projekt SetProject=Ustaw projekt NoProject=Żadny projekt niezdefiniowany lub nie jest twoją własnością -NbOpenTasks=Liczba otwartych zadań +NbOpenTasks=Nb of open tasks NbOfProjects=Liczba projektów TimeSpent=Czas spędzony TimeSpentByYou=Czas spędzony przez Ciebie @@ -41,7 +41,7 @@ TaskTimeSpent=Czas spędzony na zadaniach TaskTimeUser=Użytkownik TaskTimeNote=Uwaga TaskTimeDate=Data -TasksOnOpenedProject=Zadania na otwartych projektach +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Czas pracy nie zdefiniowany NewTimeSpent=Nowy czas spędzony MyTimeSpent=Mój czas spędzony @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Wykaz interwencji związanych z projektem ListExpenseReportsAssociatedProject=Lista raportów o wydatkach związanych z projektem ListDonationsAssociatedProject=Lista dotacji związanych z projektem ListActionsAssociatedProject=Wykaz działań związanych z projektem +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktywność w projekcie w tym tygodniu ActivityOnProjectThisMonth=Aktywność na projekcie w tym miesiącu ActivityOnProjectThisYear=Aktywność na projekcie w tym roku @@ -95,7 +96,7 @@ DeleteATimeSpent=Usuń czas spędzony ConfirmDeleteATimeSpent=Czy na pewno chcesz usunąć ten spędzony czas? DoNotShowMyTasksOnly=Zobacz również zadania nie przypisane do mnie ShowMyTasksOnly=Wyświetl tylko zadania przypisane do mnie -TaskRessourceLinks=Zasoby +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekty poświęcone tej stronie trzeciej NoTasks=Brak zadań dla tego projektu LinkedToAnotherCompany=Powiązane z innymą częścią trzecią @@ -139,8 +140,12 @@ ProjectReferers=Odnoszących się obiektów SearchAProject=Szukaj projektu ProjectMustBeValidatedFirst=Projekt musi być najpierw zatwierdzony ProjectDraft=Szkic projekty -FirstAddRessourceToAllocateTime=Skojarze zasoby do przeznaczonego czasu +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Wejścia na dzień InputPerWeek=Wejścia w tygodniu InputPerAction=Wejścia na działanie TimeAlreadyRecorded=Czas spędzony (zarejestrowany do tej pory) dla tego zadanie / dzień i użytkownik %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/pl_PL/propal.lang b/htdocs/langs/pl_PL/propal.lang index ac6d41946be..2ba4f951c48 100644 --- a/htdocs/langs/pl_PL/propal.lang +++ b/htdocs/langs/pl_PL/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial wniosku ProposalShort=Wniosek ProposalsDraft=Projekt propozycji ProposalDraft=Projekt wniosku handlowych -ProposalsOpened=Czynny propozycji +ProposalsOpened=Open commercial proposals Prop=Commercial propozycje CommercialProposal=Commercial wniosku CommercialProposals=Commercial propozycje @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Kwota przez miesiąc (po odliczeniu podatku) NbOfProposals=Liczba propozycji ShowPropal=Pokaż wniosku PropalsDraft=Robocze -PropalsOpened=Czynny +PropalsOpened=Open PropalsNotBilled=Zamknięte nie rozliczone PropalStatusDraft=Projekt (musi zostać zatwierdzone) PropalStatusValidated=Zatwierdzona (projekt jest otwarty) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nie podpisały (zamknięte) PropalStatusBilled=Billed PropalStatusDraftShort=Szkic PropalStatusValidatedShort=Zatwierdzona -PropalStatusOpenedShort=Czynny +PropalStatusOpenedShort=Open PropalStatusClosedShort=Zamknięte PropalStatusSignedShort=Podpisano PropalStatusNotSignedShort=Nie podpisała @@ -51,8 +51,8 @@ PropalsToClose=Propozycji, aby zamknąć PropalsToBill=Podpisano propozycji do rachunku ListOfProposals=Lista propozycji ActionsOnPropal=Działania na wniosek -NoOpenedPropals=Nie otworzył propozycji -NoOtherOpenedPropals=Żadne inne otwarte propozycji +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial wniosku ref SendPropalByMail=Wyślij handlowych wniosku pocztą AssociatedDocuments=Dokumenty związane z projektem: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune propozycję modelu DefaultModelPropalCreate=Domyślny model kreacji. DefaultModelPropalToBill=Domyślny szablon po zamknięciu wniosku biznesowego ( do zafakturowania) DefaultModelPropalClosed=Domyślny szablon po zamknięciu projektu biznesowego ( weryfikowane ) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/pl_PL/salaries.lang b/htdocs/langs/pl_PL/salaries.lang index 43b8413af9a..520cfd14234 100644 --- a/htdocs/langs/pl_PL/salaries.lang +++ b/htdocs/langs/pl_PL/salaries.lang @@ -10,4 +10,6 @@ SalariesPayments=Wypłaty wynagordzeń ShowSalaryPayment=Pokaż wypłaty wynagrodzeń THM=Średnia cena za godzine TJM=Średnia cena za dzień -CurrentSalary=Current salary +CurrentSalary=Aktualne wynagrodzenie +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/pl_PL/sendings.lang b/htdocs/langs/pl_PL/sendings.lang index 6408c15d0d0..50de12cc965 100644 --- a/htdocs/langs/pl_PL/sendings.lang +++ b/htdocs/langs/pl_PL/sendings.lang @@ -2,7 +2,7 @@ RefSending=Nr ref. wysyłanie Sending=Wysyłanie Sendings=Sendings -AllSendings=All Shipments +AllSendings=Wszystkie wysyłki Shipment=Wysyłanie Shipments=Wysyłek ShowSending=Pokaż Wysyłanie @@ -53,7 +53,7 @@ DocumentModelSimple=Prosty wzór dokumentu DocumentModelMerou=Mérou model A5 WarningNoQtyLeftToSend=Ostrzeżenie nie produktów oczekujących na wysłanie. StatsOnShipmentsOnlyValidated=Statystyki prowadzone w sprawie przesyłania tylko potwierdzone. Data używany jest data uprawomocnienia przesyłki (planowanym terminem dostawy nie zawsze jest znana). -DateDeliveryPlanned=Strugane daty dostawy +DateDeliveryPlanned=Planned date of delivery DateReceived=Data otrzymania dostawy SendShippingByEMail=Wyślij przesyłki przez e-mail SendShippingRef=Złożenie przesyłki% s @@ -67,7 +67,7 @@ SendingRunning=Produkt z zamówionych zleceń klientów SuppliersReceiptRunning=Produkt z zamówionych zleceń dostawca ProductQtyInCustomersOrdersRunning=Ilość produktów w otwartych zleceń klientów ProductQtyInSuppliersOrdersRunning=Ilość produktów w otwartych dostawców zamówień -ProductQtyInShipmentAlreadySent=Ilość produktów z opended zamówienie klienta już wysłane +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Ilość produktów z otwartego zlecenia dostawca otrzymał już # Sending methods diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index 9772d213f24..29dafcd23e2 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Magazyny NewWarehouse=Nowy magazyn / obszar magazynowania WarehouseEdit=Modyfikacja magazynu MenuNewWarehouse=Nowy magazyn -WarehouseOpened=Magazyn otwarty +WarehouseOpened=Warehouse open WarehouseClosed=Magazyn zamknięte WarehouseSource=Źródło magazynu WarehouseSourceNotDefined=Nie zdefiniowano magazynu, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Wybierz magazyn użyć do zmniejszenia czas SelectWarehouseForStockIncrease=Wybierz magazyn użyć do zwiększenia czas NoStockAction=Brak akcji stock LastWaitingSupplierOrders=Zamówienia oczekujące na przyjęcia -DesiredStock=Pożądany Zdjęcie +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Na zamówienie Replenishment=Uzupełnianie ReplenishmentOrders=Zamówień towarów -VirtualDiffersFromPhysical=Według zwiększyć / zmniejszyć opcje zdjęcia, fizyczną i wirtualną akcji akcji (fizyczne + zamówień bieżących) może różni +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Użyj wirtualnej akcji domyślnie, zamiast fizycznego magazynie, do uzupełniania funkcji UseVirtualStock=Użyj wirtualnej akcji UsePhysicalStock=Użyj fizycznej akcji -CurentSelectionMode=Tryb wyboru curent +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Wirtualny Zdjęcie CurentlyUsingPhysicalStock=Zdjęcie fizyczny RuleForStockReplenishment=Reguła dla uzupełnienia zapasów @@ -112,8 +113,8 @@ AlertOnly= Tylko alarmy WarehouseForStockDecrease=Magazyn% s zostaną wykorzystane do zmniejszenia magazynie WarehouseForStockIncrease=Magazyn% s zostaną wykorzystane do zwiększenia magazynie ForThisWarehouse=W tym magazynie -ReplenishmentStatusDesc=To jest lista wszystkich produktów z zapasów niższej niż pożądanym stanie (lub niższa niż wartość alertu, jeśli pole wyboru "Alarm tylko" jest zaznaczona), i sugerują tworzenie zamówień dostawca do wypełnienia różnicę. -ReplenishmentOrdersDesc=To jest lista wszystkich otwartych zleceń dostawca tym predefiniowanych produktów. Tylko otwarty rozkazy z góry określonych produktów, tak, że mogą mieć wpływ na zapasy, są widoczne tutaj. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Uzupełnianie NbOfProductBeforePeriod=Ilość produktów w magazynie% s przed wybrany okres (<% s) NbOfProductAfterPeriod=Ilość produktów w magazynie% s po wybraniu okres (>% s) @@ -124,16 +125,16 @@ RecordMovement=Rekord transfert ReceivingForSameOrder=Wpływy do tego celu StockMovementRecorded=Zbiory zapisane ruchy RuleForStockAvailability=Zasady dotyczące wymagań dotyczących -StockMustBeEnoughForInvoice=Poziom zapasów musi być na tyle, aby dodać produkt / usługę na fakturze -StockMustBeEnoughForOrder=Poziom zapasów musi być na tyle, aby dodać produkt / usługę na zamówienie -StockMustBeEnoughForShipment= Poziom zapasów musi być na tyle, aby dodać produkt / usługę do wysyłki +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Wytwórnia ruchu InventoryCode=Kod Ruch i inwentaryzacji IsInPackage=Zawarte w pakiecie ShowWarehouse=Pokaż magazyn -MovementCorrectStock=Korekta treści Zdjęcie za produkt% s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transfer Zdjęcie produktu% s do innego magazynu -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Źródło magazynu musi być zdefiniowane tutaj kiedy "Lot produktu" jest włączony. Zostanie wykorzystany do wylistowania który lot / serial jest dostępny dla produktu który wymaga lot /serial daty przesunięcia. Jeśli chcesz wysłać produkty z różnych magazynów, zrób wysyłkę w kilku krokach - etapach nie pogubisz się. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Kod Fv/ Przesunięcia -NoPendingReceptionOnSupplierOrder=Brak oczekujących odbiorów podczas otwartych zamówień produktów. +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=Ten lot/numer seryjny (%s) już istnieje ale z inna data do wykorzystania lub sprzedania (znaleziono %s a wszedłeś w %s) diff --git a/htdocs/langs/pl_PL/suppliers.lang b/htdocs/langs/pl_PL/suppliers.lang index 2c42cf0d161..39b6e4b46b7 100644 --- a/htdocs/langs/pl_PL/suppliers.lang +++ b/htdocs/langs/pl_PL/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Wysyłane do dostawców ListOfSupplierOrders=Lista zleceń dostawca MenuOrdersSupplierToBill=Zamówienia dostawca do faktury NbDaysToDelivery=Opóźnienie dostawy w dni -DescNbDaysToDelivery=Największe opóźnienie wyświetlania listy produktów wśród zamówienia +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Użyj podwójnego zatwierdzenia (drugie zezwolenie może być wykonane przez dowolnego użytkownika z dedykowanymi uprawnieniami) diff --git a/htdocs/langs/pl_PL/trips.lang b/htdocs/langs/pl_PL/trips.lang index 5b8f620d066..cfc9841abe8 100644 --- a/htdocs/langs/pl_PL/trips.lang +++ b/htdocs/langs/pl_PL/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Koszty raporty TripsAndExpensesStatistics=Statystyki raporty wydatków TripCard=Koszty karta raport AddTrip=Tworzenie raportu wydatków -ListOfTrips=Lista raporcie wydatków +ListOfTrips=List of expense reports ListOfFees=Wykaz opłat NewTrip=Nowy raport z wydatków CompanyVisited=Firm / fundacji odwiedzonych @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Osoba do informowania o jej potwierdzenie. TripSociete=Informacje o firmie TripSalarie=Informacje użytkownika TripNDF=Informacje raport z wydatków -DeleteLine=Usuwanie ligne raportu wydatków +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Czy na pewno chcesz usunąć ten wiersz? PDFStandardExpenseReports=Standardowy szablon do generowania dokumentu PDF do raportu wydatków ExpenseReportLine=Linia raport z wydatków @@ -40,11 +40,10 @@ TF_BUS=Autobus TF_CAR=Samochód TF_PEAGE=Myto TF_ESSENCE=Paliwo -TF_HOTEL=Schronisko +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=Masz oświadczył kolejny raport wydatków do podobnego zakresu dat. -ListTripsAndExpenses=Wykaz raportów kosztowych AucuneNDF=Brak raporty wydatków znalezione dla tych kryteriów AucuneLigne=Nie ma jeszcze raportu wydatki deklarowane AddLine=Dodaj linię @@ -56,12 +55,12 @@ ModePaiement=Sposób płatności Note=Uwaga Project=Projekt -VALIDATOR=Użytkownik poinformować o zatwierdzenie +VALIDATOR=User responsible for approval VALIDOR=Zatwierdzony przez AUTHOR=Nagrany przez -AUTHORPAIEMENT=Paied przez +AUTHORPAIEMENT=Paid by REFUSEUR=Odmowa przez -CANCEL_USER=Anulowane przez +CANCEL_USER=Deleted by MOTIF_REFUS=Powód MOTIF_CANCEL=Powód @@ -74,7 +73,7 @@ DATE_PAIEMENT=Termin płatności TO_PAID=Płacić BROUILLONNER=Otworzyć na nowo -SendToValid=Wysłany do zatwierdzenia +SendToValid=Sent on approval ModifyInfoGen=Edycja ValidateAndSubmit=Weryfikacja i przedkłada do zatwierdzenia @@ -93,7 +92,7 @@ ConfirmPaidTrip=Czy na pewno chcesz się status tego raportu wydatków do "Paid" CancelTrip=Anuluj raport wydatków ConfirmCancelTrip=Czy na pewno chcesz anulować to raport wydatków? -BrouillonnerTrip=Cofnąć raportu wydatków do statusu "Projekt" n +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Czy na pewno chcesz przenieść ten raport wydatków do statusu "projektu"? SaveTrip=Weryfikacja raportu wydatków diff --git a/htdocs/langs/pl_PL/users.lang b/htdocs/langs/pl_PL/users.lang index c1208006aac..a8b292b7fb1 100644 --- a/htdocs/langs/pl_PL/users.lang +++ b/htdocs/langs/pl_PL/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Usuń z grupy PasswordChangedAndSentTo=Hasło zmieniło i wysyłane do %s. PasswordChangeRequestSent=Wniosek o zmianę hasła dla %s wysłane do %s. MenuUsersAndGroups=Użytkownicy i grupy +MenuMyUserCard=My user card LastGroupsCreated=Ostatnia %s utworzonych grup LastUsersCreated=Ostatnia %s użytkowników utworzonych ShowGroup=Pokaż grupy diff --git a/htdocs/langs/pl_PL/workflow.lang b/htdocs/langs/pl_PL/workflow.lang index 62b7ba48b97..4fea3c49ca0 100644 --- a/htdocs/langs/pl_PL/workflow.lang +++ b/htdocs/langs/pl_PL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -WorkflowSetup=Workflow konfiguracji modułu -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Nie ma przepływu pracy można modyfikować modułu został uaktywniony. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Tworzenie zlecenia klienta automatycznie po handlowego wniosek jest podpisany -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po handlowego wniosek jest podpisany -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po zatwierdzeniu umowy -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Tworzenie faktury klienta automatycznie po zamówienie klienta jest zamknięty -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=Konfiguracja modułu przepływu pracy +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Klasyfikowania związany propozycję źródłowego zapowiadane gdy zamówienie klienta jest ustawiony na płatne +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klasyfikowania związane Źródło (-a), gdy klienta do faktury klienta naliczana jest ustawiony wypłacane +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klasyfikowania związany zamówienie klienta źródłowego (s) do grubodzioby, gdy faktura klient jest weryfikowany diff --git a/htdocs/langs/pt_BR/accountancy.lang b/htdocs/langs/pt_BR/accountancy.lang index eed90c5f694..abd1310359b 100644 --- a/htdocs/langs/pt_BR/accountancy.lang +++ b/htdocs/langs/pt_BR/accountancy.lang @@ -1,17 +1,166 @@ -# Dolibarr language file - Source file is en_US - accountancy +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 +ACCOUNTING_EXPORT_SEPARATORCSV=Separador de coluna para o arquivo de exportação +ACCOUNTING_EXPORT_DATE=Formato de data para arquivo de exportação +ACCOUNTING_EXPORT_PIECE=Exportar o número de peça? +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Exportação com conta global? +ACCOUNTING_EXPORT_LABEL=Exportar o rótulo? +ACCOUNTING_EXPORT_AMOUNT=Exportar o montante? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? + Accounting=Contabilidade Globalparameters=Parametros globais +Chartofaccounts=Plano de contas +Fiscalyear=Anos fiscais Menuaccount=Contas contábeis +Menuthirdpartyaccount=Contas de terceiros +MenuTools=Ferramentas + ConfigAccountingExpert=Configuração do módulo especialista em contabilidade Journaux=Jornais JournalFinancial=Jornais financeiros +Exports=Exportações +Export=Exportar +Modelcsv=Modelo de exportação +OptionsDeactivatedForThisExportModel=Para este modelo de exportação, as opções são desativadas Selectmodelcsv=Escolha um modelo de exportação +Modelcsv_normal=Exportação classica +Modelcsv_CEGID=Exportação em direção CEGID Especialista +BackToChartofaccounts=Return chart of accounts +Back=Retorno + +Definechartofaccounts=Definir um gráfico de contas +Selectchartofaccounts=Selecionar um gráfico de contas +Validate=Validade +Addanaccount=Adicionar uma conta contábil +AccountAccounting=Conta contábil +Ventilation=Breakdown +ToDispatch=A enviar +Dispatched=Enviado + +CustomersVentilation=Breakdown customers +SuppliersVentilation=Breakdown suppliers +TradeMargin=Margem de comercialização +Reports=Relatórios +ByCustomerInvoice=Pelos clientes faturas +ByMonth=Por mês +NewAccount=Nova conta contábil +Update=Atualizar +List=Lista +Create=Criar +UpdateAccount=Modificação de uma conta contábil +UpdateMvts=A modificação de um movimento +WriteBookKeeping=Registo das contas em contabilidade geral +Bookkeeping=Contabilidade geral +AccountBalanceByMonth=Saldo da conta por mês + +AccountingVentilation=Breakdown accounting +AccountingVentilationSupplier=Breakdown accounting supplier +AccountingVentilationCustomer=Breakdown accounting customer +Line=Linha + +CAHTF=Total de HT compra fornecedor +InvoiceLines=Lines of invoice to be ventilated +InvoiceLinesDone=Ventilated lines of invoice +IntoAccount=Na conta de contabilidade + +Ventilate=Ventilate +VentilationAuto=Automatic breakdown + +Processing=Processando +EndProcessing=A fim de processamento +AnyLineVentilate=Any lines to ventilate SelectedLines=Linhas selecionadas -ACCOUNTING_SEPARATORCSV=Separator CSV -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Codigo contavel padrao para compra de produtos -ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Codigo contavel padrao para venda de produtos -ACCOUNTING_SERVICE_BUY_ACCOUNT=Codigo contavel padrao para compra de servicos -ACCOUNTING_SERVICE_SOLD_ACCOUNT=Codigo contavel padrao para venda de serviços +Lineofinvoice=Linha de fatura +VentilatedinAccount=Ventilated successfully in the accounting account +NotVentilatedinAccount=Not ventilated in the accounting account + +ACCOUNTING_SEPARATORCSV=Separador de coluna no arquivo de exportação + +ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a ser mostrado por página (máxima recomendada: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements +ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements + +AccountLength=Length of the accounting accounts shown in Dolibarr +AccountLengthDesc=Função que permite simular um comprimento de conta contábil, substituindo espaços pela figura zero. Esta função só toca a tela, ele não modifica as contas contábeis registrados no Dolibarr. Para a exportação, esta função é necessário para ser compatível com determinado software. +ACCOUNTING_LENGTH_GACCOUNT=Comprimento das contas gerais +ACCOUNTING_LENGTH_AACCOUNT=Comprimento do terceiro contas do partido + +ACCOUNTING_SELL_JOURNAL=Vender jornal +ACCOUNTING_PURCHASE_JOURNAL=Compra jornal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Jornal Diversos +ACCOUNTING_EXPENSEREPORT_JOURNAL=Relatório de despesas jornal +ACCOUNTING_SOCIAL_JOURNAL=Jornal social + +ACCOUNTING_ACCOUNT_TRANSFER_CASH=Conta de transferência +ACCOUNTING_ACCOUNT_SUSPENSE=Conta de espera + +ACCOUNTING_PRODUCT_BUY_ACCOUNT=Contabilização conta por padrão para produtos comprados (se não for definido na folha de produto) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Contabilização conta por padrão para os produtos vendidos (se não for definido na folha de produto) +ACCOUNTING_SERVICE_BUY_ACCOUNT=Contabilização conta por padrão para os serviços comprados (se não for definido na folha de serviço) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=Contabilização conta por padrão para os serviços vendidos (se não for definido na folha de serviço) + +Doctype=Tipo de documento +Docdate=Data Docref=Referência +Numerocompte=Conta Code_tiers=Cliente/Fornecedor +Labelcompte=Conta rótulo +Debit=Débito +Credit=Crédito +Amount=Total +Sens=Sens +Codejournal=Jornal + +DelBookKeeping=Excluir os registros da contabilidade geral + +SellsJournal=Vendas jornal +PurchasesJournal=Compras jornal +DescSellsJournal=Vendas jornal +DescPurchasesJournal=Diário de Compras +BankJournal=Banco jornal +DescBankJournal=Jornal Banco incluindo todos os tipos de pagamentos que não sejam de caixa +CashJournal=Dinheiro jornal +DescCashJournal=Livro caixa, incluindo o tipo de dinheiro de pagamento + +CashPayment=Pagamento em dinheiro + +SupplierInvoicePayment=Pagamento de fornecedor fatura +CustomerInvoicePayment=O pagamento da fatura do cliente + +ThirdPartyAccount=Conta de terceiros + NewAccountingMvt=Nova movimentação +NumMvts=Número de movimento +ListeMvts=Lista do movimento +ErrorDebitCredit=Débito e Crédito não pode ter um valor, ao mesmo tempo + +ReportThirdParty=Liste conta terceiros +DescThirdPartyReport=Consulte aqui a lista dos clientes de terceiros e os fornecedores e as suas contas contábeis + +ListAccounts=Lista das contas contábeis + +Pcgversion=Versão do plano +Pcgtype=Classe de conta +Pcgsubtype=Sob classe de conta +Accountparent=Raiz da conta +Active=Extrato + +NewFiscalYear=Novo ano fiscal + +DescVentilCustomer=Consulte aqui a contabilização repartição anual dos seus clientes faturas +TotalVente=HT volume de negócios total +TotalMarge=Margem de vendas totais +DescVentilDoneCustomer=Consultar aqui a lista das linhas de clientes faturas e sua conta de contabilidade +DescVentilTodoCustomer=Ventilate your lines of customer invoice with an accounting account +ChangeAccount=Alterar a conta contábil para linhas selecionadas pela conta: +Vide=- +DescVentilSupplier=Consulte aqui a contabilização repartição anual das suas faturas de fornecedores +DescVentilTodoSupplier=Ventilate your lines of invoice supplier with an accounting account +DescVentilDoneSupplier=Consulte aqui a lista das linhas de faturas de fornecedores e sua conta de contabilidade + +ValidateHistory=Validar automáticamente + +ErrorAccountancyCodeIsAlreadyUse=Erro, você não pode excluir esta conta contábil, pois ela esta em uso + +FicheVentilation=Breakdown card diff --git a/htdocs/langs/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index e54cb96a5ec..78dad529b8b 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -1,8 +1,18 @@ # Dolibarr language file - Source file is en_US - admin Foundation=Empresa/Instituição +Version=Versão VersionProgram=Versão do programa VersionLastInstall=Versão da instalação inicial VersionLastUpgrade=Versão da última atualização +VersionExperimental=Experimental +VersionDevelopment=Desenvolvimento +VersionUnknown=Desconhecida +VersionRecommanded=Recomendada +FileCheck=Integridade de arquivos +FilesMissing=Arquivos ausentes +FilesUpdated=Arquivos atualizados +FileCheckDolibarr=Verificar a integridade dos arquivos Dolibarr +XmlNotFound=Arquivo XML de Integridade Dolibarr não encontrado SessionId=ID da sessão SessionSaveHandler=Manipulador para salvar sessões. SessionSavePath=Localização da sessão guardada @@ -27,13 +37,19 @@ InternalUser=Usuário Interno ExternalUser=Usuário Externo InternalUsers=Usuários Internos ExternalUsers=Usuários Externos +GlobalSetup=Geral +GUISetup=Layout SetupArea=Área Configuração FormToTestFileUploadForm=Formulário para testar upload de arquivo (de acordo com a configuração) IfModuleEnabled=Nota: Sim só é eficaz se o módulo %s estiver ativado RemoveLock=Exclua o arquivo %s se tem permissão da ferramenta de atualização. RestoreLock=Substituir o arquivo %s e apenas dar direito de ler a esse arquivo, a fim de proibir novas atualizações. +SecuritySetup=Configuração de Segurança +ErrorModuleRequirePHPVersion=Erro, este módulo requer uma versão %s ou superior de PHP ErrorModuleRequireDolibarrVersion=Erro, este módulo requer uma versão %s ou superior do ERP +ErrorDecimalLargerThanAreForbidden=Erro, as casas decimais superiores a %s não são suportadas. DictionarySetup=Configuração Dicionário +Dictionary=Dicionários Chartofaccounts=Plano de contas Fiscalyear=Exercícios Fiscais ErrorReservedTypeSystemSystemAuto=Valores 'system' e 'systemauto' para o tipo é reservado. Você pode usar "usuário" como valor para adicionar seu próprio registro @@ -42,46 +58,73 @@ DisableJavascript=Desative as funções de JavaScript e Ajax (Recomendado para d ConfirmAjax=Utilizar os popups de confirmação Ajax 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. UseSearchToSelectCompany=Use campos de completação automática para escolher terceiros em vez de usar uma caixa de listagem. -ActivityStateToSelectCompany=Adicionar uma opção de filtro para exibir / ocultar thirdparties que estão atualmente em atividade ou deixou de ativar +ActivityStateToSelectCompany= Adicionar uma opção de filtro para exibir / ocultar thirdparties que estão atualmente em atividade ou deixou de ativar 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. UseSearchToSelectContact=Use campos de completação automática para escolher de contato (em vez de usar uma caixa de lista). +DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) +DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) SearchFilter=Opções de filtro para pesquisa NumberOfKeyToSearch=Número de caracteres para iniciar a pesquisa: %s ViewFullDateActions=Ver as datas das ações na totalidade na ficha do fornecedor +NotAvailableWhenAjaxDisabled=Não está disponível quando o Ajax esta desativado +JavascriptDisabled=Javascript Desativado UsePopupCalendar=Utilizar popups para a introdução das datas UsePreviewTabs=Use guias de visualização ShowPreview=Ver Preview +PreviewNotAvailable=Visualização não disponível ThemeCurrentlyActive=Tema Atualmente Ativo CurrentTimeZone=Fuso horário PHP (servidor) MySQLTimeZone=Zona tempo MySql (banco de dados) TZHasNoEffect=Datas são guardadas e retornadas pelo servidor de banco de dados como se fosse guardados em formato de texto. A zona temporal tem effeito somente quando e usada a UNIX_TIMESTAMP função ( isso não deveria ser usado pelo Dolibarr, portanto o banco de dados TZ não deveria ter effeito, tambem se mudado apos que os dados foram inseridos). +Space=Área +Table=Tabela +Fields=Campos +Index=Índice +Mask=Máscara +NextValue=Próximo Valor NextValueForInvoices=Próximo Valor (Faturas) +NextValueForCreditNotes=Próximo Valor (Notas de Entregas) NextValueForDeposit=Próxima valor (depósito) NextValueForReplacements=Próxima valor (substituições) MustBeLowerThanPHPLimit=Observação: Parâmetros PHP limita o tamanho a %s %s de máximo, qualquer que seja o valor deste parâmetros NoMaxSizeByPHPLimit=Nota: Não há limite definido em sua configuração do PHP +MaxSizeForUploadedFiles=Tamanho máximo dos documentos a carregar (0 para proibir o carregamento) UseCaptchaCode=Utilização do Captcha no login UseAvToScanUploadedFiles=Utilização de um antivírus para scanear os arquivos enviados -AntiVirusCommandExample=Exemplo de Comando: c: \\ Program Files (x86) \\ ClamWin \\ bin \\ clamscan.exe
Exemplo de Mexilhão: / usr / bin / clamscan -AntiVirusParam=Mais parâmetros na linha de comando -AntiVirusParamExample=Exemplo de Parametro de Comando: - database = "C: \\ Program Files (x86) \\ lib ClamWin \\" +AntiVirusCommand= Caminho completo para o comando de antivírus +AntiVirusCommandExample= Exemplo de Comando: c: \\ Program Files (x86) \\ ClamWin \\ bin \\ clamscan.exe
Exemplo de Mexilhão: / usr / bin / clamscan +AntiVirusParam= Mais parâmetros na linha de comando +AntiVirusParamExample= Exemplo de Parametro de Comando: - database = "C: \\ Program Files (x86) \\ lib ClamWin \\" +ComptaSetup=Configuração do Módulo Contabilidade UserSetup=Configuração e Administração dos Usuário MenuSetup=Configuração do gerenciamento de menu MenuLimits=Limites e Precisão +MenuIdParent=Id do menu pai +DetailMenuIdParent=ID do menu pai (0 para um menu superior) DetailPosition=Número de ordem para a posição do menu PersonalizedMenusNotSupported=Menus personalizados não são suportados +AllMenus=Todos NotConfigured=Modulo nao configurado Setup=Configuração do Sistema Activation=Ativação Active=Ativo SetupShort=Configuracao +OtherOptions=Outras Opções OtherSetup=Outras configuracoes +CurrentValueSeparatorDecimal=Separador decimal CurrentValueSeparatorThousand=Separador milhar +Destination=Destino IdModule=Módulo ID IdPermissions=Permissão ID +Modules=Módulos ModulesCommon=Módulos Principais +ModulesOther=Outros módulos ModulesInterfaces=Módulos de interface ModulesSpecial=Módulos muito específico +ParameterInDolibarr=Variável %s +LanguageParameter=Variável idioma %s +LanguageBrowserParameter=Variável %s +LocalisationDolibarrParameters=Parâmetros de localização ClientTZ=Fuso horário do cliente (usuário). ClientHour=Horário do cliente (usuário) OSTZ=Fuso horário do sistema operacional do servidor @@ -95,16 +138,20 @@ CompanyHour=Horário na empresa (empresa principal) CurrentSessionTimeOut=Tempo limite da sessão atual YouCanEditPHPTZ=Para definir um fuso horário diferente PHP (não obrigatório), você pode tentar adicionar um arquivo. Htacces com uma linha como esta "SetEnv TZ Europa / Paris" OSEnv=OS Ambiente +Box=Caixa +Boxes=Caixas MaxNbOfLinesForBoxes=Numero de linhas máximo para as caixas PositionByDefault=Posição por padrao +Position=Posição MenusDesc=Os configuradores do menu definem o conteúdo das 2 barras de menus (a barra horizontal e a barra vertical). É possível atribuir configuradores diferentes segundo o usuário seja interno ou externo. MenusEditorDesc=O editor de menus permite definir entradas personalizadas nos menus. Deve utilizar com prudência sobe pena de colocar o ERP numa situação instável sendo necessário uma reinstalação para encontrar um menu coerente. MenuForUsers=menu para os usuarios LangFile=Arquivo .lang +System=Sistema SystemInfo=Informações de Sistema -SystemTools=Ferramentas do Sistema SystemToolsArea=Área de ferramentas do sistema SystemToolsAreaDesc=Esta área oferece diferentes funções da administração. Use o menu para escolher a Funcionalidade que procura. +Purge=Limpar PurgeAreaDesc=Esta página permite eliminar todos os arquivos criados ou guardados pelo ERP (Arquivos temporários ou todos os arquivos da pasta %s). O uso desta função não é necessária. Proporciona-se para os Usuários que albergam o ERP não servidor que oferece as permissões de eliminação de arquivos salvaguardados pela servidor Web. PurgeDeleteLogFile=Excluir arquivo de log % s definido para o módulo Syslog (sem risco de perder dados) PurgeDeleteTemporaryFiles=Eliminar todos os arquivos temporários (sem perigo de perca de dados) @@ -116,6 +163,8 @@ PurgeAuditEvents=Apagar os eventos de segurança ConfirmPurgeAuditEvents=Tem a certeza que pretende limpar a lista de eventos de auditoria de segurança? Todos os logs de seguranca serao apagaos, nenhum outro dado sera removido. NewBackup=Novo Backup GenerateBackup=Gerar Backup +Backup=Backup +Restore=Restaurar RunCommandSummary=A cópia será executada pelo seguinte comando RunCommandSummaryToLaunch=O backup pode ser executado com o seguinte comando WebServerMustHavePermissionForCommand=Seu servidor deve ter permissoes para executar esta ordem @@ -123,33 +172,51 @@ BackupResult=Resultado do Backup BackupFileSuccessfullyCreated=Arquivo de Backup gerado corretamente YouCanDownloadBackupFile=Pode ser feito o download dos arquivos gerados NoBackupFileAvailable=Nenhum Backup Disponivel +ExportMethod=Método de exportação +ImportMethod=Método de importação ToBuildBackupFileClickHere=Para criar uma cópia, clique here. ImportMySqlDesc=Para importar um backup, deve usar o mysql e na linha de comando seguinte: ImportPostgreSqlDesc=Para importar um arquivo de backup, você deve utilizar o pg_restore através do prompt de comando: ImportMySqlCommand=%s %s < meuArquivobackup.sql ImportPostgreSqlCommand=%s %s meuarquivodebackup.sql FileNameToGenerate=Nome do arquivo a gerar +Compression=Compressão CommandsToDisableForeignKeysForImport=Comando para desativar as chave estrangeira para a importação CommandsToDisableForeignKeysForImportWarning=Obrigatório se você quer ser capaz de restaurar o despejo sql mais tarde ExportCompatibility=Compatibilidade do arquivo de exportação gerado -PostgreSqlExportParameters=Parâmetros de exportação do PostgreSQL +MySqlExportParameters=Parâmetros da exportação MySql +PostgreSqlExportParameters= Parâmetros de exportação do PostgreSQL UseTransactionnalMode=Utilizar o modo transacional -FullPathToPostgreSQLdumpCommand=Caminho completo para o comando pg_dump +FullPathToMysqldumpCommand=Rota completa do comando mysqldump +FullPathToPostgreSQLdumpCommand=Caminho completo para o comando pg_dump +ExportOptions=Opções de exportação AddDropDatabase=Adicionar comando DROP DATABASE AddDropTable=Adicionar comando DROP TABLE +ExportStructure=Estrutura +Datas=Dados +NameColumn=Nome das colunas ExtendedInsert=Instruções INSERT estendidas NoLockBeforeInsert=Sem comandos de bloqueio em torno INSERIR +DelayedInsert=Adições com atraso EncodeBinariesInHexa=Codificar os campos binários em hexadecimal IgnoreDuplicateRecords=Ignorar erros de registros duplicados(INSERT IGNORE) +Yes=Sim +No=Não +AutoDetectLang=Autodetecção (navegador) FeatureDisabledInDemo=Opção desabilitada em mode demonstracao +Rights=Permissões BoxesDesc=As caixas são zonas de informação reduzidas que se mostram em algumas páginas. Voce pode escolher entre mostrar as caixas ou nao selecionando a opcao desejada e clicando em 'Ativar', ou clicando na lixeira para desativá-lo. OnlyActiveElementsAreShown=Somente elementos de habilitado módulos são mostrados. ModulesDesc=Os módulos do ERP definem as Funcionalidades disponíveis na aplicação. Alguns módulos requerem direitos que deverão indicar-se nos Usuários para que possam acessar ás suas Funcionalidades. +ModulesInterfaceDesc=Os módulos de interface são módulos que permitem vincular o ERP com sistemas, aplicações ou serviços externos. +ModulesSpecialDesc=Os módulos especiais são módulos de uso específico ou menos corrente que os módulos normais. ModulesJobDesc=Os módulos mpresariais permitem uma pré-configuração simplificada do ERP para um negocio especifico. ModulesMarketPlaceDesc=Voce pode encontrar mais modulos para download em sites externos na internet ModulesMarketPlaces=Mais módulos DoliStoreDesc=DoliStore, Pagina oficial para modulos externos do Dolibarr ERP/CRM. +DoliPartnersDesc=Lista com algumas empresas que podem fornecer / desenvolver módulos ou funcionalidades on-demand (Nota: qualquer empresa Open Source knowning linguagem PHP pode lhe fornecer desenvolvimento específico) WebSiteDesc=Você pode pesquisar para encontrar mais módulos em Provedores de sites +URL=Link BoxesAvailable=Caixas disponíveis BoxesActivated=Caixas ativadas ActivateOn=Ative em @@ -158,23 +225,29 @@ SourceFile=Arquivo origem AutomaticIfJavascriptDisabled=Automático se Javascript está desativado AvailableOnlyIfJavascriptNotDisabled=Disponível somente se Javascript esta ativado AvailableOnlyIfJavascriptAndAjaxNotDisabled=Disponível somente se Javascript e Ajax estão ativados +Required=Requerido +UsedOnlyWithTypeOption=Usado por alguns opção agenda única +Security=Segurança Passwords=Senhas DoNotStoreClearPassword=Nao salve senhas faceis no banco de dados mas salvar senhas criptografadas(Ativacao recomendada) MainDbPasswordFileConfEncrypted=Encriptar a senha da base em arquivo conf.php(Ativacao Recomendada) -InstrucToEncodePass=Para ter a senha codificada na conf.php file , substitua a linha
$ dolibarr_main_db_pass = "..."
por
$ dolibarr_main_db_pass = "encriptadas:% s" -InstrucToClearPass=Para ter a senha codificada na conf.php file , substitua a linha
$ dolibarr_main_db_pass = "..."
por
$ dolibarr_main_db_pass = "encriptadas:% s" +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 senha descodificado (claro) para o arquivo conf.php, substituir a linha
$Dolibarr_main_db_pass="crypted: ...";
por
$Dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Proteção e encriptação dos pdf gerados(Ativado não recomendado, quebra geração pdf massa) ProtectAndEncryptPdfFilesDesc=A proteção de um documento pdf deixa o documento livre para leitura e para impressão a qualquer leitor de PDF. Ao contrário, a modificação e a cópia resultam impossível. Feature=Caracteristica +DolibarrLicense=Licença DolibarrProjectLeader=Lider de projeto Developpers=Programadores/contribuidores OtherDeveloppers=Outros Programadores/contribuidores OfficialWebSite=Site oficial do Dolibarr OfficialWebSiteFr=site web oficial falado/escrito em francês +OfficialWiki=Wiki ERP OfficialDemo=Demo online ERP OfficialMarketPlace=Loja Oficial para módulos / addons externos OfficialWebHostingService=Serviços de hospedagem web referenciados (Hospedagem em nuvem) ReferencedPreferredPartners=Parceiro preferido +OtherResources=Outros recursos ForDocumentationSeeWiki=Para a documentação de usuário, programador ou Perguntas Frequentes (FAQ), consulte o wiki do ERP:
%s ForAnswersSeeForum=Para outras questões ou realizar as suas próprias consultas, pode utilizar o fórum do ERP:
%s HelpCenterDesc1=Esta área permite ajudá-lo a obter um serviço de suporte do ERP. @@ -183,43 +256,60 @@ CurrentTopMenuHandler=Manipulador de menu superior atual CurrentLeftMenuHandler=Manipulador de menu à esquerda atual CurrentMenuHandler=Manipulador do menu atual CurrentSmartphoneMenuHandler=Manipular do Menu Smartphone Atual +MeasuringUnit=Unidade de medida +Emails=E-Mails EMailsSetup=configuração E-Mails EMailsDesc=Esta página permite substituir os parâmetros PHP relacionados com o envio de correios eletrônicos. Na maioria dos casos como UNIX/Linux, os parâmetros PHP estão corretos e esta página é inútil. MAIN_MAIL_SMTP_PORT=Porta do servidor SMTP (Por default no php.ini: %s) MAIN_MAIL_SMTP_SERVER=Nome host ou ip do servidor SMTP (Por padrao em php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=Porta do servidor SMTP (Não definido em PHP em sistemas de tipo Unix) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=Nome servidor ou ip do servidor SMTP (Não definido em PHP em sistemas de tipo Unix) MAIN_MAIL_EMAIL_FROM=E-Mail do emissor para envios E-Mail automáticos (Por padrao no php.ini: %s) MAIN_MAIL_ERRORS_TO=Remetente de e-mail utilizado para retornar emails enviados com erros -MAIN_MAIL_AUTOCOPY_TO=Enviar sistematicamente uma cópia oculta de todos os emails enviados para -MAIN_MAIL_AUTOCOPY_PROPOSAL_TO=Enviar sistematicamente uma cópia carbono oculta de propostas enviadas por email para -MAIN_MAIL_AUTOCOPY_ORDER_TO=Enviar sistematicamente uma cópia carbono oculta de ordens enviadas por email para -MAIN_MAIL_AUTOCOPY_INVOICE_TO=Enviar sistematicamente uma cópia carbono oculta da fatura enviada por e-mails para +MAIN_MAIL_AUTOCOPY_TO= Enviar sistematicamente uma cópia oculta de todos os emails enviados para +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Enviar sistematicamente uma cópia carbono oculta de propostas enviadas por email para +MAIN_MAIL_AUTOCOPY_ORDER_TO= Enviar sistematicamente uma cópia carbono oculta de ordens enviadas por email para +MAIN_MAIL_AUTOCOPY_INVOICE_TO= Enviar sistematicamente uma cópia carbono oculta da fatura enviada por e-mails para MAIN_DISABLE_ALL_MAILS=Desativar globalmente todo o envio de correios eletrônicos (para modo de testes) MAIN_MAIL_SENDMODE=Método de envio de e-mails -MAIN_MAIL_EMAIL_TLS=Usar encryptacao TLS(SSL) +MAIN_MAIL_SMTPS_ID=ID SMTP para autenticação SMTP +MAIN_MAIL_SMTPS_PW=Password SMTP para autenticação SMTP +MAIN_MAIL_EMAIL_TLS= Usar encryptacao TLS(SSL) MAIN_DISABLE_ALL_SMS=Desabilitar todos os envios de SMS(para testes ou demonstracoes) MAIN_SMS_SENDMODE=Método para envio de SMS MAIN_MAIL_SMS_FROM=Número padrão para envio de SMS FeatureNotAvailableOnLinux=Funcionalidade não disponível em sistemas Unix. Teste parâmetros sendmail localmente. SubmitTranslation=Se a tradução para esse idioma não estiver completa ou você encontrar erros, você pode corrigir isso através da edição de arquivos no diretório langs /% s e enviar arquivos modificados no forum www.dolibarr.org. +ModuleSetup=Configuração do módulo +ModulesSetup=Configuração dos módulos +ModuleFamilyBase=Sistema ModuleFamilyCrm=Administração cliente (CRM) ModuleFamilyProducts=Administração produtos +ModuleFamilyHr=Recursos Humanos ModuleFamilyProjects=Projetos/Trabalho cooperativo +ModuleFamilyOther=Outro +ModuleFamilyTechnic=Módulos ferramentas do sistema +ModuleFamilyExperimental=Módulos testes +ModuleFamilyFinancial=Módulos financeiros (Contabilidade/Tesouraria) ModuleFamilyECM=Gerenciamento de Conteúdo Eletrônico (ECM) MenuHandlers=Configuradores menu MenuAdmin=Editor menu DoNotUseInProduction=Não utilizar em produção ThisIsProcessToFollow=Está aqui o procedimento a seguir: +ThisIsAlternativeProcessToFollow=Esta é uma configuração alternativa para o processo: +StepNb=Passo %s FindPackageFromWebSite=Encontre um pacote que oferece recurso desejado (por exemplo, no site oficial % s). -DownloadPackageFromWebSite=Baixar pacote %s -UnpackPackageInDolibarrRoot=Descompactar o pacote na pasta dedicada aos módulos externos: %s +DownloadPackageFromWebSite=Pacote de download (por exemplo, de oficial web site %s). +UnpackPackageInDolibarrRoot=Descompacte arquivo de pacote para o diretório de servidor Dolibarr dedicado a módulos externos:%s SetupIsReadyForUse=A Instalação está finalizada e o ERP está liberada para usar com o novo componente NotExistsDirect=O diretório alternativo para o root não foi definido InfDirAlt=Desde a versão 3, é possível definir um diretorio root alternativo. Esta funcoa permitepermite que você armazene, no mesmo lugar, plug-ins e templates personalizados
apenas crie um diretório na raiz do Dolibarr. (Por exemplo: custom)
InfDirExample=
então declará-lo no arquivo conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These linhas estão comentadas com "#", descomentar apenas remover o caractere. -YouCanSubmitFile=Selecione o módulo +YouCanSubmitFile=Para esta etapa, você pode enviar pacote usando esta ferramenta: Selecione arquivo de módulo CurrentVersion=Versão atual do ERP CallUpdatePage=Chamar a página de atualização da estrutura e dados da base de dados %s. LastStableVersion=Ultima Versão estável +UpdateServerOffline=Atualização de servidor off-line GenericMaskCodes=Pode introduzir qualquer máscara numérica. Nesta máscara, pode utilizar as seguintes etiquetas:
{000000} corresponde a um número que se incrementa em cada um de %s. Introduza tantos zeros como longitude que deseje mostrar. O contador completarse-á a partir de zeros pela esquerda com o fim de ter tantos zeros como a máscara.
{000000+000} Igual que o anterior, com uma compensação correspondente ao número da direita do sinal + aplica-se a partir do primeiro %s.
{000000@x} igual que o anterior, mas o contador restabelece-se a zero quando se chega a x meses (x entre 1 e 12). Se esta opção se utiliza e x é de 2 ou superior, então a seq�ência {yy}{mm} ou {yyyy}{mm} também é necessário.
{dd} dias (01 a 31).
{mm} mês (01 a 12).
{yy}, {yyyy} ou {e} ano em 2, 4 ou 1 figura.
GenericMaskCodes2={cccc} o codigo do cliente de n caracteres
{cccc000} o codigo do cliente de n caracteres e seguido do contador dedicado para o cliente. Este contador dedicado ao cliente e reiniciado no mesmo tempo que o contador global.
{tttt} O codigo do terceiro tipo de n caracteres (ver dicionario terceiros tipos ).
GenericMaskCodes3=qualquer outro caracter0 na máscara se fica sem alterações.
Não é permitido espaços
@@ -230,6 +320,7 @@ GenericMaskCodes5=ABC {yy} {mm} - {000000} dará ABC0701-000099 %s na porta %s ServerNotAvailableOnIPOrPort=Servidor não disponível não endereço %s na Porta %s +DoTestServerAvailability=Teste de conectividade com o servidor DoTestSend=Teste envio DoTestSendHTML=Teste envio HTML ErrorCantUseRazIfNoYearInMask=Erro, não pode usar a opção para redefinir @ contador a cada ano se sequência {yy} ou {aaaa} não está na máscara. @@ -237,7 +328,7 @@ ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Erro, não se pode usar opção UMask=Parâmetro UMask de novos arquivos em Unix/Linux/BSD. UMaskExplanation=Este parâmetro determina os direitos dos arquivos criados não servidor do ERP (durante o carregamento, por Exemplo).
Este deve ter o valor octal (por Exemplo, 0666 significa leitura / escrita para todos).
Este parâmetro não tem nenhum efeito sobre um servidor Windows. SeeWikiForAllTeam=Veja o wiki para mais detalhes de todos os autores e da sua organização -UseACacheDelay=Atraso para a resposta cache em segundos (0 ou vazio para nenhum cache) +UseACacheDelay= Atraso para a resposta cache em segundos (0 ou vazio para nenhum cache) DisableLinkToHelpCenter=Esconde link Precisa ajuda ou suporte " na página de login DisableLinkToHelp=Esconde link "%s Ajuda online " no menu esquerdo AddCRIfTooLong=Não há envolvimento automático, por isso, se linha está fora da página em documentos, porque por muito tempo, você deve adicionar-se os retornos de carro no testar área. @@ -252,6 +343,7 @@ ListOfDirectoriesForModelGenODT=Lista de diretórios contendo modelos de arquivo NumberOfModelFilesFound=Números de arquivos de modelos ODT/ODS encontrados neste diretório ExampleOfDirectoriesForModelGen=Exemplos de sintaxe:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir FollowingSubstitutionKeysCanBeUsed=Para saber como criar seu documento seu modelo de documento odt, antes de armazená-lo naquele diretório, leia a documentação wiki +FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Posição do Nome/Sobrenome DescWeather=As imagens a seguir será mostrado no painel quando o número de ações final atingir os seguintes valores: KeyForWebServicesAccess=A chave para usar Web Services (parâmetro "dolibarrkey" em webservices) @@ -264,12 +356,14 @@ SmsTestMessage=Mensagem de teste a partir de __ para __ PHONEFROM__ PHONETO__ ModuleMustBeEnabledFirst=Módulo deve ser ativado antes de usar este recurso. SecurityToken=Chave para URLs seguras NoSmsEngine=No SMS gerente disponível remetente. Gerente de SMS do remetente não são instalados com a distribuição padrão (porque depende de um fornecedor externo), mas você pode encontrar em alguns. +PDF=PDF PDFDesc=Você pode definir cada uma das opções globais relacionadas com a geração de PDF PDFAddressForging=Regras de estabelecimento de caixas de endereço HideAnyVATInformationOnPDF=Esconder todas as informações relativas ao IVA em PDF gerados HideDescOnPDF=Esconder descrição dos produtos em PDF gerados HideRefOnPDF=Esconder ref. dos produtos em PDF gerados HideDetailsOnPDF=Ocultar artigos linhas detalhes sobre PDF gerado +Library=Biblioteca UrlGenerationParameters=Parâmetros para proteger URLs SecurityTokenIsUnique=Use um parâmetro SecureKey exclusivo para cada URL EnterRefToBuildUrl=Digite referência para o objeto @@ -278,21 +372,35 @@ ButtonHideUnauthorized=Ocultar botões para ações não autorizadas em vez de m OldVATRates=Taxa de VAt anterior NewVATRates=Nova taxa do VAT PriceBaseTypeToChange=Modificar sobre os preços com valor de referência de base definida em -MassConvert=Inicie a conversão em massa +MassConvert=Inicie a conversão em massa +String=Cadeia +TextLong=Texto longo +Int=Número inteiro Float=Flutuar +DateAndTime=Data e hora +Unique=Único Boolean=Booleano (Caixa de seleção) -ExtrafieldSelect =Selecionar lista -ExtrafieldSelectList =Selecione da tabela +ExtrafieldPhone = Telefone +ExtrafieldPrice = Preço +ExtrafieldMail = Email +ExtrafieldSelect = Selecionar lista +ExtrafieldSelectList = Selecione da tabela +ExtrafieldSeparator=Separador ExtrafieldCheckBox=Caixa de seleção ExtrafieldRadio=Botão de opção +ExtrafieldCheckBoxFromList= Caixa de seleção da tabela +ExtrafieldLink=Link para um objeto ExtrafieldParamHelpselect=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor1 2, valor2 < 3, value3 ... A fim de ter a lista dependendo outro: 1, valor1 | parent_list_code: parent_key 2, valor2 | parent_list_code: parent_key ExtrafieldParamHelpcheckbox=Lista de parâmetros tem que ser como chave, valor

por exemplo:
1, valor1
2, valor2
3, value3
... -ExtrafieldParamHelpradio=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor 2, valor2 1 3, value3 ... +ExtrafieldParamHelpradio=Lista de parâmetros tem que ser como chave, valor por exemplo: 1, valor 2, valor2 1 3, value3 ... ExtrafieldParamHelpsellist=Lista Parâmetros vem de uma tabela
Sintaxe: table_name: label_field: id_field :: filtro
Exemplo: c_typent: libelle: id :: filtro

filtro pode ser um teste simples (por exemplo, ativo = 1) para exibir apenas o valor ativo
se você deseja filtrar extrafields usar syntaxt extra.fieldcode = ... (onde código de campo é o código de extrafield)

A fim de ter a lista dependendo outro:
c_typent: libelle: id: parent_list_code | parent_column: Filtro +ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Biblioteca utilizada para criar o PDF WarningUsingFPDF=Atenção: Seu conf.php contém dolibarr_pdf_force_fpdf directiva = 1. Isto significa que você usar a biblioteca FPDF para gerar arquivos PDF. Esta biblioteca é velho e não suporta um monte de recursos (Unicode, a transparência da imagem, cirílicos, árabes e asiáticos, ...), por isso podem ocorrer erros durante a geração de PDF.
Para resolver isso e ter um apoio total de geração de PDF, faça o download da biblioteca TCPDF , em seguida, comentar ou remover a linha $ dolibarr_pdf_force_fpdf = 1, e adicione ao invés $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Mensagem de texto LinkToTestClickToDial=Digite um número de telefone para ligar para mostrar um link para testar a url ClickToDial para o usuário% s +RefreshPhoneLink=Atualizar link LinkToTest=Link clicável gerado para o usuário% s (clique número de telefone para testar) KeepEmptyToUseDefault=Manter em branco para usar o valor padrão DefaultLink=Link padrão @@ -307,25 +415,39 @@ ConfirmEraseAllCurrentBarCode=Tem certeza de que deseja apagar todos os valores AllBarcodeReset=Todos os valores de código de barras foram removidas NoBarcodeNumberingTemplateDefined=Nenhum modelo de numeração de código de barras habilitado para configuração do módulo de código de barras. NoRecordWithoutBarcodeDefined=Sem registro, sem valor de código de barras definido. + +# Modules Module0Name=Usuários e Grupos Module0Desc=Administração de Usuários e Grupos Module1Name=Fornecedores Module1Desc=Administração de Fornecedores (Empresas, Particulares) e Contatos +Module2Name=Comercial Module2Desc=Administração comercial +Module10Name=Contabilidade Module10Desc=Administração simples da Contabilidade (repartição das receitas e pagamentos) +Module20Name=Orçamentos Module20Desc=Administração de Orçamentos/Propostas comerciais +Module22Name=E-Mailings Module22Desc=Administração e envio de E-Mails massivos -Module23Desc=Acompanhamento do consumo de energias +Module23Name= Energia +Module23Desc= Acompanhamento do consumo de energias +Module25Name=Pedidos de clientes Module25Desc=Administração de pedidos de clientes Module30Name=Faturas e Recibos Module30Desc=Administração de faturas e recibos de clientes. Administração de faturas de Fornecedores +Module40Name=Fornecedores Module40Desc=Administração de Fornecedores +Module42Name=Syslog +Module42Desc=Utilização de logs (syslog) +Module49Name=Editores Module49Desc=Administração de Editores +Module50Name=Produtos Module50Desc=Administração de produtos Module51Name=Correspondência em massa Module51Desc=Gestão de correspondência do massa Module52Name=Estoques de produtos Module52Desc=Administração de estoques de produtos +Module53Name=Serviços Module53Desc=Administração de serviços Module54Name=Contratos/Assinaturas Module54Desc=Gerenciamento de contratos (serviços ou assinaturas recorrentes) @@ -334,55 +456,109 @@ Module55Desc=Administração dos códigos de barra Module56Name=Telefonia Module56Desc=Administração da telefonia Module57Name=Débitos Diretos +Module57Desc=Standing orders and withdrawal management. Also includes generation of SEPA file for european countries. +Module58Name=ClickToDial +Module58Desc=Integração com ClickToDial +Module59Name=Bookmark4u Module59Desc=Adicione função para gerar uma conta Bookmark4u desde uma conta do ERP +Module70Name=Intervenções Module70Desc=Administração de Intervenções Module75Name=Notas de despesas e deslocamentos Module75Desc=Administração das notas de despesas e deslocamentos +Module80Name=Expedições Module80Desc=Administração de Expedições e Recepções +Module85Name=Bancos e Caixas Module85Desc=Administração das contas financeiras de tipo contas bancarias, postais o efetivo Module100Name=Site externo Module100Desc=Este módulo inclui um web site ou página externa em menus Dolibarr e vê-lo em um quadro Dolibarr Module105Name=Mailman e SPIP Module105Desc=Mailman ou interface SPIP para o módulo membro +Module200Name=LDAP Module200Desc=sincronização com um anuário LDAP +Module210Name=PostNuke +Module210Desc=Integração com PostNuke +Module240Name=Exportações de dados +Module240Desc=Ferramenta de exportação de dados do ERP (com assistente) +Module250Name=Importação de dados +Module250Desc=Ferramenta de Importação de dados do ERP (com assistente) +Module310Name=Membros Module310Desc=Administração de Membros de uma associação +Module320Name=Ligações RSS +Module320Desc=Criação de ligações de informação RSS nas janelas do ERP +Module330Name=Favoritos Module330Desc=Administração de Favoritos Module400Name=Projetos/Oportunidades/Contatos Module400Desc=Gerenciamento de Projetos, oportunidades ou contatos. Você pode associar qualquer elemento (invoice, ordem, propostas, intervenções, etc...) para um projeto e ter uma visão transversal da visualização de projeto. +Module410Name=Webcalendar Module410Desc=Interface com calendário Webcalendar -Module500Desc=Gestão de despesas especiais, como impostos, contribuição social, dividendos e salários +Module500Name=Despesas especiais +Module500Desc=Gestão de despesas especiais (impostos, contribuição social, dividendos) +Module510Name=Salários Module510Desc=Gestão de funcionários salários e pagamentos +Module520Name=Empréstimo +Module520Desc=Gestão dos empréstimos +Module600Name=Notificações Module600Desc=Enviar notificação via EMail para terceiros sobre algums eventos do Dolibarr ( configurado para cada terceiro) +Module700Name=Bolsas Module700Desc=Administração de Bolsas +Module770Name=Relatório de Despesas +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices +Module1200Name=Mantis Module1200Desc=Interface com o sistema de seguimento de incidências Mantis Module1400Name=Contabilidade Module1400Desc=Gestão de Contabilidade (partes duplas) -Module1780Desc=Create tags/category (products, customers, suppliers, contacts or members) +Module1520Name=Geração de Documentos +Module1520Desc=Mass mail document generation +Module1780Name=Tags / Categorias +Module1780Desc=Criar tags / categoria (produtos, clientes, fornecedores, contatos ou membros) Module2000Name=Editor WYSIWYG Module2000Desc=Permitir editar alguma área de texto usando um editor avançado +Module2200Name=Preços dinâmicos +Module2200Desc=Habilitar o uso de expressões matemáticas para os preços +Module2300Name=Cron +Module2300Desc=Gerenciamento de tarefas agendadas +Module2400Name=Agenda Module2400Desc=Administração da agenda e das ações Module2500Name=Administração Eletrônica de Documentos -Module2600Name=Webservices -Module2600Desc=Ativar o servidor de serviços web Dolibarr +Module2500Desc=Permite administrar uma base de documentos +Module2600Name=API de serviços (Web Services SOAP) +Module2600Desc=Permitir que os serviços da API servidor SOAP Dolibarr fornecendo +Module2610Name=API de serviços (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (cliente) +Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Sobrescrito Module2700Desc=Usar o serviço on-line Gravatar (www.gravatar.com) para mostrar fotos de usuários / membros (que se encontra com os seus e-mails). Precisa de um acesso à Internet Module2800Desc=Cliente de FTP +Module2900Name=GeoIPMaxmind Module2900Desc=GeoIP Maxmind conversões capacidades +Module3100Name=Skype Module3100Desc=Adicionar um botão do Skype no cartão de adeptos / terceiros / contatos Module5000Name=Multi-Empresa Module5000Desc=Permite-lhe gerenciar várias empresas +Module6000Name=Fluxo de Trabalho Module6000Desc=Gestão de fluxo de trabalho Module20000Name=Sair da configuração de pedidos +Module20000Desc=Declare and follow employees leaves requests +Module39000Name=Lote do produto +Module39000Desc=Lot or serial number, eat-by and sell-by date management on products +Module50000Name=PayBox Module50000Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com PayBox +Module50100Name=Caixa Module50100Desc=Caixa registradora +Module50200Name=Paypal Module50200Desc=Módulo para oferecer uma página de pagamento on-line por cartão de crédito com Paypal Module50400Name=Contabilidade (avançada) Module50400Desc=Gestão de Contabilidade (partes duplas) +Module54000Name=PrintIPP +Module54000Desc=Impressão direta (sem abrir os documentos) usando a interface Cups IPP (Impressora deve ser visível a partir do servidor, e CUPS deve ser instaladas no servidor). Module55000Name=Abrir Enquete Module55000Desc=Módulo para fazer pesquisas on-line (como Doodle, Studs, Rdvz ...) Module59000Name=Margems Module59000Desc=Módulo para gerenciar as margens +Module60000Name=Comissões Module60000Desc=Módulo para gerenciar comissões Permission11=Consultar faturas Permission12=Criar/Modificar faturas @@ -391,40 +567,105 @@ Permission14=Confirmar faturas Permission15=Enviar faturas por correio Permission16=Emitir pagamentos de faturas Permission19=Eliminar faturas +Permission21=Consultar Orçamentos +Permission22=Criar/Modificar Orçamentos +Permission24=Confirmar Orçamentos +Permission25=Enviar os Orçamentos +Permission26=Fechar Orçamentos +Permission27=Eliminar Orçamentos +Permission28=Exportação propostas comerciais +Permission31=Consultar produtos/serviços +Permission32=Criar/Modificar produtos/serviços +Permission34=Eliminar produtos/serviços +Permission36=Exportar produtos/serviços +Permission38=Exportar Produtos Permission41=Consultar projetos Permission42=Criar/Modificar projetos Permission44=Eliminar projetos +Permission61=Consultar Intervenções +Permission62=Criar/Modificar Intervenções +Permission64=Eliminar Intervenções +Permission67=Exportar Intervenções +Permission71=Consultar Membros +Permission72=Criar/Modificar Membros +Permission74=Eliminar Membros +Permission75=Tipos de configuração de adesão +Permission76=Exportar Bolsas +Permission78=Consultar honorários +Permission79=Criar/Modificar honorários +Permission81=Consultar pedidos de clientes +Permission82=Criar/Modificar pedidos de clientes +Permission84=Confirmar pedidos de clientes +Permission86=Enviar pedidos de clientes +Permission87=Fechar pedidos de clientes +Permission88=Anular pedidos de clientes +Permission89=Eliminar pedidos de clientes Permission91=Consultar Impostos e ICMS Permission92=Criar/Modificar Impostos e ICMS Permission93=Eliminar Impostos e ICMS +Permission94=Exportar Impostos Sociais +Permission95=Consultar balanços e resultados Permission101=Consultar Expedições Permission102=Criar/Modificar Expedições Permission104=Confirmar Expedições Permission106=Envios de exportação Permission109=Eliminar Expedições +Permission111=Consultar contas financeiras (contas bancarias, caixas) Permission112=Criar/Modificar quantidade/eliminar registros bancários +Permission113=Instalação de contas financeiras (criar, gerenciar as categorias) +Permission114=Reconciliar transações Permission115=Exportar transações e extratos Permission116=Captar transferências entre contas Permission117=Gerenciar envio de cheques +Permission121=Consultar empresas +Permission122=Criar/Modificar empresas +Permission125=Eliminar empresas +Permission126=Exportar as empresas Permission141=Leia projetos (também privado não estou em contato para) Permission142=Criar / modificar projetos (também privado não estou em contato para) Permission144=Excluir projetos (também privado não estou em contato para) Permission146=Consultar Prestadores +Permission147=Consultar Estados Permission151=Consultar Débitos Diretos Permission152=Configurar Débitos Diretos Permission153=Consultar Débitos Diretos Permission154=Crédito / recusar ordens permanentes recibos Permission161=Leia contratos / assinaturas +Permission162=Criar / modificar contratos / assinaturas +Permission163=Ativar um serviço / assinatura de um contrato +Permission164=Desativar um serviço / assinatura de um contrato +Permission165=Excluir contratos / assinaturas Permission171=Leia viagens e despesas (próprios e de seus subordinados) Permission172=Criar/Modificar viagens e gastos Permission173=Remover viagens e gastos Permission174=Leia todas as viagens e despesas Permission178=Exportar viagens e gastos +Permission180=Consultar Fornecedores +Permission181=Consultar pedidos a Fornecedores +Permission182=Criar/Modificar pedidos a Fornecedores +Permission183=Confirmar pedidos a Fornecedores +Permission184=Aprovar pedidos a Fornecedores +Permission185=Ordenar ou cancelar pedidos a fornecedores +Permission186=Receber pedidos de Fornecedores +Permission187=Fechar pedidos a Fornecedores +Permission188=Anular pedidos a Fornecedores +Permission192=Criar Linhas +Permission193=Cancelar Linhas Permission194=Consultar Linhas da Lagura de Banda +Permission202=Criar Ligações ADSL +Permission203=Ordem das ligações encomendadas +Permission204=Comprar Ligações Permission205=Gerenciar Ligações +Permission206=Consultar Ligações +Permission211=Ler Telefone +Permission212=Comprar Linhas Permission213=Ativar Linha +Permission214=Configurar Telefone +Permission215=Configurar Fornecedores +Permission221=Consultar E-Mails Permission222=Criar/Modificar E-Mails (assunto, destinatários, etc.) Permission223=Confirmar E-Mails (permite o envio) +Permission229=Eliminar E-Mails Permission237=Exibir os destinatários e as informações Permission238=Envio manual de e-mails Permission239=Deletar e-mail após o envio @@ -433,6 +674,7 @@ Permission242=Criar/Modificar categorias Permission243=Eliminar categorias Permission244=Ver conteúdo de categorias ocultas Permission251=Consultar Outros Usuário, grupos e permissões +PermissionAdvanced251=Leia outros usuários Permission252=Criar/Modificar outros usuário, grupos e permissões Permission253=Modificar a senha de outros usuário PermissionAdvanced253=Criar ou modificar usuários internos ou externos e suas permissões @@ -440,15 +682,28 @@ Permission254=Eliminar ou desativar outros usuário Permission255=Criar/Modificar a sua propia informação de usuário Permission256=Modificar a sua propia senha Permission262=Consultar todas as empresas (somente Usuários internos. Os externos estão limitados a eles mesmos) +Permission271=Ler CA Permission272=Ler Faturas Permission273=Emitir Fatura Permission281=Consultar contatos Permission282=Criar/Modificar contatos Permission283=Eliminar contatos Permission286=Exportar os contatos +Permission291=Consultar Tarifas +Permission292=Permissões das Tarifas +Permission293=Modificar Fornecedor de Tarifas +Permission300=Consultar códigos de barra +Permission301=Criar/Modificar códigos de barra +Permission302=Eliminar código de barras +Permission311=Consultar Serviços +Permission312=Atribuir serviço / subscrição para contrair +Permission331=Consultar Favoritos +Permission332=Criar/Modificar Favoritos +Permission333=Eliminar Favoritos Permission341=Ler suas próprias permissões Permission342=Criar ou modificar informações do próprio usuário Permission343=Modificar sua senha +Permission344=Modificar suas próprias permissões Permission351=Ler grupos Permission352=Ler permissões do grupo Permission353=Criar ou modificar grupos @@ -462,6 +717,12 @@ Permission510=Leia Salários Permission512=Criar / modificar salários Permission514=Excluir salários Permission517=Salários de exportação +Permission520=Leia Empréstimos +Permission522=Criar / modificar empréstimos +Permission524=Excluir empréstimos +Permission525=Access loan calculator +Permission527=Export loans +Permission531=Ler serviços Permission532=Criar ou modificar serviços Permission534=Excluir serviços Permission536=Visualizar ou gerenciar serviços ocultos @@ -469,6 +730,13 @@ Permission538=Exportar serviços Permission701=Criar/Modificar Bolsas Permission702=Eliminar Bolsas Permission703=Excluir doações +Permission771=Leia relatórios de despesas (próprios e de seus subordinados) +Permission772=Criar / modificar relatórios de despesas +Permission773=Excluir relatórios de despesas +Permission774=Leia todos os relatórios de despesas (mesmo para o utilizadores Não subordinados) +Permission775=Aprovar os relatórios de despesas +Permission776=Pay expense reports +Permission779=Export expense reports Permission1001=Consultar estoques Permission1002=Criar / modificar armazéns Permission1003=Excluir Armazéns @@ -478,6 +746,17 @@ Permission1101=Consultar ordens de envio Permission1102=criar/modificar ordens de envio Permission1104=Confirmar ordem de envio Permission1109=Eliminar ordem de envio +Permission1181=Consultar Fornecedores +Permission1182=Consultar pedidos a Fornecedores +Permission1183=Criar pedidos a Fornecedores +Permission1184=Confirmar pedidos a Fornecedores +Permission1185=Aprovar pedidos a Fornecedores +Permission1186=Enviar pedidos a Fornecedores +Permission1187=Receber pedidos de Fornecedores +Permission1188=Fechar pedidos a Fornecedores +Permission1190=Approve (second approval) supplier orders +Permission1201=Obter resultado de uma exportação +Permission1202=Criar/Modificar Exportações Permission1231=Consultar faturas de Fornecedores Permission1232=Criar faturas de Fornecedores Permission1233=Confirmar faturas de Fornecedores @@ -488,6 +767,10 @@ Permission1237=Pedidos a fornecedores Export e seus detalhes Permission1251=Execute as importações em massa de dados externos para o banco de dados (carga de dados) Permission1321=Exportar faturas a clientes, atributos e cobranças Permission1421=Exportar faturas de clientes e atributos +Permission23001=Leia trabalho Programado +Permission23002=Criar / atualização agendada trabalho +Permission23003=Excluir trabalho agendado +Permission23004=Executar trabalho agendado Permission2401=Ler ações (eventos ou tarefas) vinculadas na sua conta Permission2402=Criar/Modificar/Eliminar ações (eventos ou tarefas) vinculadas na sua conta Permission2403=Consultar ações (acontecimientos ou tarefas) de outros @@ -496,21 +779,28 @@ Permission2412=Criar / modificar ações (eventos ou tarefas) de outros Permission2413=Excluir ações (eventos ou tarefas) de outros Permission2501=Enviar ou eliminar documentos Permission2502=Baixar documentos +Permission2503=Enviar ou excluir documentos Permission2515=Configuração de diretorios de documentos Permission2801=Use cliente FTP em modo de leitura (navegar e baixar apenas) Permission2802=Use o cliente FTP no modo de escrita (apagar ou fazer upload de arquivos) Permission50101=Usar ponto de vendas +Permission50201=Leia transações Permission50202=Importar transacções Permission54001=Impressão Permission55001=Leia urnas Permission55002=Criar / modificar urnas Permission59001=Leia margens comerciais Permission59002=Definir margens comerciais +Permission59003=Leia cada margem do usuário DictionaryCompanyType=Tipo de clientes DictionaryCompanyJuridicalType=Tipos jurídicos de thirdparties DictionaryProspectLevel=Nível potencial Prospect DictionaryCanton=Estado / cantões +DictionaryRegion=Regiões +DictionaryCountry=Países +DictionaryCurrency=Moedas DictionaryCivility=Título Civilidade +DictionaryActions=Tipo de eventos da agenda DictionarySocialContributions=Contribuições Sociais tipos DictionaryVAT=Taxas de VAT ou imposto sobre vendas de moeda DictionaryRevenueStamp=Quantidade de selos fiscais @@ -519,14 +809,19 @@ DictionaryPaymentModes=Modos de pagamento DictionaryTypeContact=Tipos Contato / Endereço DictionaryEcotaxe=Ecotaxa (REEE) DictionaryPaperFormat=Formatos de papel +DictionaryFees=Tipo de taxas DictionarySendingMethods=Métodos do transporte DictionaryStaff=Pessoal +DictionaryAvailability=Atraso na entrega DictionaryOrderMethods=Métodos de compra DictionarySource=Origem das propostas / ordens DictionaryAccountancyplan=Plano de contas DictionaryAccountancysystem=Modelos para o plano de contas DictionaryEMailTemplates=Modelos de E-mails +DictionaryUnits=Unidades +DictionaryProspectStatus=Prospection status SetupSaved=configuração guardada +BackToModuleList=Voltar à lista de módulos BackToDictionaryList=Voltar para a lista de dicionários VATReceivedOnly=Impostos especiais não faturaveis VATManagement=Administração ICMS @@ -534,65 +829,127 @@ VATIsUsedDesc=o tipo de ICMS proposto por default em criações de Orçamentos, VATIsNotUsedDesc=o tipo de ICMS proposto por default é 0. Este é o caso de associações, particulares o algunas pequenhas sociedades. VATIsUsedExampleFR=em Francia, se trata das sociedades u organismos que eligen um regime fiscal general (General simplificado o General normal), regime ao qual se declara o ICMS. VATIsNotUsedExampleFR=em Francia, se trata de associações exentas de ICMS o sociedades, organismos o profesiones liberales que han eligedo o regime fiscal de módulos (ICMS em franquicia), pagando um ICMS em franquicia sem fazer declaração de ICMS. Esta elecção hace aparecer a anotação "IVA não aplicable - art-293B do CGI" em faturas. +##### Local Taxes ##### LTRate=Rata LocalTax1IsUsed=Utilize segundo imposto LocalTax1IsNotUsed=Não use o segundo imposto LocalTax1IsUsedDesc=Use um segundo tipo de impostos (excepto o IVA) LocalTax1IsNotUsedDesc=Não use outro tipo de impostos (excepto o IVA) +LocalTax1Management=Segundo tipo de imposto +LocalTax1IsUsedExample= +LocalTax1IsNotUsedExample= LocalTax2IsUsed=Use terceiro imposto LocalTax2IsNotUsed=Não use terceiro imposto LocalTax2IsUsedDesc=Use um terceiro tipo de impostos (excepto o VAT) LocalTax2IsNotUsedDesc=Não use outro tipo de impostos (excepto o VAT) -LocalTax1IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
Se te comprador não está sujeito a RE, RP por default = 0. Fim da regra.
Se o comprador está sujeito a RE então o RE por padrão. Fim da regra.
-LocalTax1IsUsedExampleES=Na Espanha, eles são profissionais sujeitos a algumas seções específicas do IAE espanhol. -LocalTax1IsNotUsedExampleES=Na Espanha, eles são profissionais e sociedades e sujeito a determinadas seções do IAE espanhol. -LocalTax2ManagementES=Gestão IRPF -LocalTax2IsUsedDescES=A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
Se o vendedor não está sujeito a IRPF, então IRPF por default = 0. Fim da regra.
Se o vendedor é submetido a IRPF, em seguida, o IRPF por padrão. Fim da regra.
-LocalTax2IsNotUsedDescES=Por padrão, o IRPF proposta é 0. Fim da regra. -LocalTax2IsUsedExampleES=Na Espanha, freelancers e profissionais independentes que prestam serviços e empresas que escolheram o sistema fiscal de módulos. -LocalTax2IsNotUsedExampleES=Na Espanha, eles são bussines não sujeitas ao regime fiscal dos módulos. +LocalTax2Management=Terceiro tipo de imposto +LocalTax2IsUsedExample= +LocalTax2IsNotUsedExample= +LocalTax1ManagementES= RE Gestão +LocalTax1IsUsedDescES= A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
Se te comprador não está sujeito a RE, RP por default = 0. Fim da regra.
Se o comprador está sujeito a RE então o RE por padrão. Fim da regra.
+LocalTax1IsNotUsedDescES= Por padrão, o RE proposto é 0. Fim da regra. +LocalTax1IsUsedExampleES= Na Espanha, eles são profissionais sujeitos a algumas seções específicas do IAE espanhol. +LocalTax1IsNotUsedExampleES= Na Espanha, eles são profissionais e sociedades e sujeito a determinadas seções do IAE espanhol. +LocalTax2ManagementES= Gestão IRPF +LocalTax2IsUsedDescES= A taxa de RE por padrão ao criar perspectivas, notas fiscais, ordens etc seguir a regra padrão ativo:
Se o vendedor não está sujeito a IRPF, então IRPF por default = 0. Fim da regra.
Se o vendedor é submetido a IRPF, em seguida, o IRPF por padrão. Fim da regra.
+LocalTax2IsNotUsedDescES= Por padrão, o IRPF proposta é 0. Fim da regra. +LocalTax2IsUsedExampleES= Na Espanha, freelancers e profissionais independentes que prestam serviços e empresas que escolheram o sistema fiscal de módulos. +LocalTax2IsNotUsedExampleES= Na Espanha, eles são bussines não sujeitas ao regime fiscal dos módulos. +CalcLocaltax=Relatórios sobre os impostos locais +CalcLocaltax1=Vendas - Compras CalcLocaltax1Desc=Relatorios de taxas locais são calculados pela differença entre taxas locais de venda e taxas locais de compra +CalcLocaltax2=Compras CalcLocaltax2Desc=Relatorio de taxas locais e o total de taxas locais nas compras +CalcLocaltax3=De vendas CalcLocaltax3Desc=Relatorio de taxas locais e o total de taxas locais de vendas +LabelUsedByDefault=Etiqueta que se utilizará se não se encontra tradução para este código +LabelOnDocuments=Etiqueta sobre documentos NbOfDays=N� de Dias +AtEndOfMonth=No Fim de Mês +Offset=Deslocado AlwaysActive=Sempre Ativo UpdateRequired=Parâmetros sistema necessita de uma atualização. Para atualizar click em %s" +ShowWorkBoard=Mostrar painel de informação na página principal +Alerts=Alertas +Delays=Prazos DelayBeforeWarning=Prazo antes de alerta DelaysBeforeWarning=Prazos antes de alerta DelaysOfToleranceBeforeWarning=Prazos de tolerância antes de alerta @@ -611,15 +968,22 @@ Delays_MAIN_DELAY_MEMBERS=Tolerância de atraso (em dias) antes de alerta sobre Delays_MAIN_DELAY_CHEQUES_TO_DEPOSIT=Tolerância de atraso (em dias) antes de alerta para cheques depósito para fazer SetupDescription1=Todas as opções desta área de configuração são opções que permitem configurar a Dolibarr antes de começar a sua utilização. SetupDescription2=Os 2 Passos indispensáveis da configuração são as 2 primeiras do menu esquerdo: a configuração da empresa/Instituição e a configuração dos módulos: +SetupDescription3=A configuração Empresa/Instituição a administrar é requerida já que se utiliza a informação para a introdução de dados na maioria das janelas, em inserciones, ou para modificar o comportamento de Dolibarr (como, por Exemplo, das funções que dependem do seu país). SetupDescription4=A configuração Módulos é indispensável já que Dolibarr não é um ERP/CRM monolítico, é um conjunto de módulos mais ou menos independente. Depois de ativar os módulos que lhe interessem verificar as suas funcionalidades nos menus de Dolibarr. SetupDescription5=Outros itens do menu gerenciar parâmetros opcionais. +EventsSetup=Configuração do registo de eventos +LogEvents=Auditoría da segurança de eventos +Audit=Auditoría +InfoDolibarr=Infos Dolibarr InfoBrowser=Infos Navegador InfoOS=Informações do sistema operacional InfoWebServer=Informações do Web Server InfoDatabase=Informações da base de dados InfoPHP=Informações do PHP +InfoPerf=Infos performances BrowserName=Nome do navegador BrowserOS=Navegador OS +ListEvents=Auditoría de eventos ListOfSecurityEvents=Listado de eventos de segurança Dolibarr SecurityEventsPurged=Os eventos de segurança expurgados LogEventDesc=Pode ativar o registo de eventos de segurança Dolibarr aqui. os administradores podem ver o seu conteúdo a travé de menu ferramentas do sistema - Auditoria.Atenção, esta característica pode consumir uma gran quantidade de dados na base de dados. @@ -649,20 +1013,26 @@ MAIN_MAX_DECIMALS_UNIT=Casas decimais máximas para os preços unitários MAIN_MAX_DECIMALS_TOT=Casas decimais máximas para os preços totais MAIN_MAX_DECIMALS_SHOWN=Casas decimais máximas para os valores mostrados em janela (Colocar ... depois do máximo quer ver ... quando o número se trunque à mostrar em janela) MAIN_DISABLE_PDF_COMPRESSION=Utilizar a compressão PDF para os Arquivos PDF gerados -MAIN_ROUNDING_RULE_TOT=Tamanho da faixa de arredondamento (para os países raros em que o arredondamento é feito em outra coisa do que base 10) +MAIN_ROUNDING_RULE_TOT=Passo do intervalo de arredondamento (para os países onde o arredondamento é feito em outra coisa do que a base 10. Por exemplo, colocar 0,05 se o arredondamento é feito por etapas 0,05) UnitPriceOfProduct=Preço líquido unitário de um produto TotalPriceAfterRounding=Preço total (imposto net / cuba / manhã) após arredondamento ParameterActiveForNextInputOnly=parâmetro efetivo somente a partir das próximas sessões NoEventOrNoAuditSetup=não são registrado eventos de segurança. Esto pode ser normal sim a auditoría não ha sido habilitado na página "configuração->segurança->auditoría". NoEventFoundWithCriteria=não são encontrado eventos de segurança para tais criterios de pesquisa. +SeeLocalSendMailSetup=Ver a configuração local de sendmail BackupDesc=Para realizar uma Cópia de segurança completa de Dolibarr, voçê deve: +BackupDesc2=Salvar o conteúdo do diretório de documentos (%s) que contém todos os arquivos carregados e gerados (você pode fazer um zip por exemplo). +BackupDesc3=Salvar o conteúdo de seu banco de dados (%s) em um arquivo de despejo. Para isso, você pode usar o seguinte assistente. BackupDescX=O Arquivo gerado deverá localizar-se em um lugar seguro. BackupDescY=O arquivo gerado devevrá ser colocado em local seguro. BackupPHPWarning=Backup não pode ser garantida com este método. Prefere uma anterior RestoreDesc=Para restaurar uma Cópia de segurança de Dolibarr, voçê deve: +RestoreDesc2=Restaurar arquivo (arquivo zip por exemplo) do diretório de documentos para extrair árvore de arquivos no diretório de documentos de uma nova instalação ou em Dolibarr esta corrente documentos directoy (% s). +RestoreDesc3=Restaurar os dados, a partir de um arquivo de despejo de backup, na base de dados da nova instalação Dolibarr ou no banco de dados desta instalação atual (%s). Atenção, uma vez que a restauração for concluída, você deve usar um login / senha, que existia quando o backup foi feito, se conectar novamente. Para restaurar um banco de dados de backup para esta instalação atual, você pode seguir este assistente. RestoreMySQL=importar do MySQL -ForcedToByAModule=Esta regra é forçado a por um módulo ativado +ForcedToByAModule= Esta regra é forçado a por um módulo ativado PreviousDumpFiles=Arquivos de despejo de backup de banco de dados disponível +WeekStartOnDay=Primeiro dia da semana RunningUpdateProcessMayBeRequired=A execução do processo de atualização parece ser exigido (Programas versão difere da versão do banco de dado) YouMustRunCommandFromCommandLineAfterLoginToUser=Você deve executar este comando a partir da linha de comando após o login a um shell com o usuário ou você deve adicionar-W opção no final da linha de comando para fornece a senha. YourPHPDoesNotHaveSSLSupport=Funções SSL não disponíveis no seu PHP @@ -676,27 +1046,42 @@ MenuUseLayout=Faça cardápio compativel vertical (opção javascript não deve MAIN_DISABLE_METEO=Desativar vista meteo TestLoginToAPI=Testar Acesso ao API ProxyDesc=Algumas características do Dolibarr precisa ter um acesso à Internet ao trabalho. Defina aqui os parâmetros para isso. Se o servidor Dolibarr está atrás de um servidor proxy, esses parâmetros diz Dolibarr como acessar Internet através dele. +ExternalAccess=Acesso externo MAIN_PROXY_USE=Usar um servidor proxy (caso contrário, o acesso direto a internet) MAIN_PROXY_HOST=Nome / Endereço do servidor proxy MAIN_PROXY_PORT=Porto de servidor proxy MAIN_PROXY_USER=Entre para usar o servidor proxy +MAIN_PROXY_PASS=Senha para usar o servidor proxy DefineHereComplementaryAttributes=Defina aqui todos os atributos, não já disponíveis por padrão, e que pretende ser apoiada por. +ExtraFields=Atributos complementares +ExtraFieldsLines=Atributos complementares (linhas) +ExtraFieldsSupplierOrdersLines=Atributos complementares (linhas de encomenda) +ExtraFieldsSupplierInvoicesLines=Atributos complementares (linhas da fatura) ExtraFieldsThirdParties=Atributos complementares (clientes) ExtraFieldsContacts=Atributos complementares (contato / endereço) +ExtraFieldsMember=Atributos complementares (membro) +ExtraFieldsMemberType=Atributos complementares (tipo de membro) ExtraFieldsCustomerOrders=Atributos complementares (ordens) +ExtraFieldsCustomerInvoices=Atributos complementares (faturas) ExtraFieldsSupplierOrders=Atributos complementares (ordens) +ExtraFieldsSupplierInvoices=Atributos complementares (faturas) +ExtraFieldsProject=Atributos complementares (projetos) +ExtraFieldsProjectTask=Atributos complementares (tarefas) ExtraFieldHasWrongValue=Atributo% s tem um valor errado. AlphaNumOnlyCharsAndNoSpace=apenas alfanuméricos caracteres sem espaço AlphaNumOnlyLowerCharsAndNoSpace=apenas alfanumérico e minúsculas, sem espaço SendingMailSetup=Configuração de envios por e-mail SendmailOptionNotComplete=Atenção, em alguns sistemas Linux, para enviar e-mail de seu e-mail, sendmail instalação execução must contém opção-ba (mail.force_extra_parameters parâmetros no seu arquivo php.ini). Se alguns destinatários não receber e-mails, tentar editar este parâmetro PHP com mail.force_extra_parameters =-ba). PathToDocuments=Rotas de acesso a documentos +PathDirectory=Catálogo +SendmailOptionMayHurtBuggedMTA=Recurso para enviar mails usando o método de "correio PHP direto" irá gerar uma mensagem de email que pode não ser corretamente analisado por alguns servidores de entrada de email. O resultado é que alguns e-mails não podem ser lidos por pessoas hospedadas por essas plataformas grampeado. É o caso para alguns provedores de Internet (Ex: Laranja na França). Este não é um problema em Dolibarr nem em PHP, mas para receber servidor de correio. No entanto, pode adicionar a opção MAIN_FIX_FOR_BUGGED_MTA a 1 na configuração - outra para modificar Dolibarr para evitar isso. No entanto, você pode enfrentar problema com outros servidores que respeitem estritamente o padrão SMTP. A outra solução (recomendado) é usar o método de "biblioteca soquete SMTP" que não tem desvantagens. TranslationSetup=Configuração de tradução TranslationDesc=Escolha da língua visível na tela pode ser modificado: * A nível mundial a partir do menu strong Home - Setup - Exibição* Para o usuário apenas de guia de exibição do usuário de cartão de usuário (clique sobre o login no topo da tela). TotalNumberOfActivatedModules=Número total de módulos de recursos ativados: YouMustEnableOneModule=Você deve, pelo menos, permitir que um módulo ClassNotFoundIntoPathWarning=A classe não foi encontrado em caminho PHP -OnlyFollowingModulesAreOpenedToExternalUsers=Note-se, apenas seguintes módulos são abertos a usuários externos (o que quer que sejam permissão desses usuários): +YesInSummer=Sim no verão +OnlyFollowingModulesAreOpenedToExternalUsers=Note-se, os módulos seguintes são abertos a usuários externos (o que quer que são permissão desses usuários): SuhosinSessionEncrypt=Armazenamento de sessão criptografada pelo Suhosin ConditionIsCurrently=Condição é atualmente YouUseBestDriver=Você usa o driverque é o melhor driver disponível atualmente. @@ -708,12 +1093,16 @@ BrowserIsOK=Você está usando o navegador. Este navegador é ok para segurança BrowserIsKO=Você está usando o navegador web% s. Este navegador é conhecido por ser uma má escolha para a segurança, desempenho e confiabilidade. Aconselhamos que você use o Firefox, Chrome, Opera ou Safari. XDebugInstalled=XDebug é carregado. XCacheInstalled=XCache é carregado. +AddRefInList=Display customer/supplier ref into list (select list or combobox) and most of hyperlink. Third parties will appears with name "CC12345 - SC45678 - The big company coorp", instead of "The big company coorp". FieldEdition=Edição de campo FixTZ=Correção de fuso horário FillThisOnlyIfRequired=Exemplo: 2 (preencher somente se deslocamento de fuso horário problemas são experientes) +GetBarCode=Obter código de barras EmptyNumRefModelDesc=O código é livre. Este código pode ser modificado a qualquer momento. +##### Module password generation PasswordGenerationStandard=Devolve uma senha generada por o algoritmo interno Dolibarr: 8 caracteres, números e caracteres em minúsculas mescladas. PasswordGenerationNone=não oferece Senhas. a senha se introduce manualmente. +##### Users setup ##### UserGroupSetup=Configuração Módulo Usuários e Grupos GeneratePassword=Propor uma senha generada RuleForGeneratedPasswords=Norma para a geração das Senhas Propostas @@ -722,25 +1111,34 @@ EncryptedPasswordInDatabase=Permitir encriptação das Senhas na base de dados DisableForgetPasswordLinkOnLogonPage=não mostrar o link "senha esquecida" na página de login UsersSetup=Configuração do módulo Usuários UserMailRequired=EMail necessário para criar um novo usuário +##### Company setup ##### CompanySetup=configuração do módulo empresas CompanyCodeChecker=Módulo de geração e control dos códigos de Fornecedores (clientes/Fornecedores) AccountCodeManager=Módulo de geração dos códigos contabíls (clientes/Fornecedores) ModuleCompanyCodeAquarium=Devolve um código contabíl composto de %s seguido do código Fornecedor de provedor para o código contabíl de provedor, e %s seguido do código Fornecedor de cliente para o código contabíl de cliente. ModuleCompanyCodePanicum=Devolve um código contabíl vazio. ModuleCompanyCodeDigitaria=Devolve um código contabíl composto seguindo o código de Fornecedor. o código está formado por caracter0 ' C ' em primeiroa posição seguido dos 5 primeiroos caracteres do código Fornecedor. +UseNotifications=Usar Notificações +NotificationsDesc=E-mails notificações este recurso permite que você envie e-mail automático silenciosamente, para alguns eventos Dolibarr. Alvos de notificações podem ser definidos:
* Por terceiros contatos (clientes ou fornecedores), um contato de tempo.
* Ou definindo endereços de e-mail alvo globais na página de configuração do módulo. ModelModules=Modelos de documentos DocumentModelOdt=Gere documentos a partir de modelos OpenDocuments (. ODT ou. Arquivos ODS para OpenOffice, KOffice, TextEdit, ...) WatermarkOnDraft=Marca d'água sobre o projeto de documento JSOnPaimentBill=Ative a função de preenchimento automático de linhas no formulário de pagamento CompanyIdProfChecker=Regras sobre profissional Ids +MustBeUnique=Deve ser exclusivo? MustBeMandatory=Obrigatório para criar terceiros? MustBeInvoiceMandatory=Obrigatório para validar faturas? +Miscellaneous=Diversos +##### Webcal setup ##### WebCalSetup=configuração de link com o calendário Webcalendar WebCalSyncro=Integrar os eventos Dolibarr em WebCalendar +WebCalAllways=Sempre, sem consultar WebCalYesByDefault=Consultar (sim por default) WebCalNoByDefault=Consultar (não por default) +WebCalNever=Nunca WebCalURL=endereço (URL) de acesso ao calendário WebCalServer=Servidor da base de dados do calendário +WebCalDatabaseName=Nome da base de dados WebCalUser=Usuário com acesso e a base WebCalSetupSaved=os dados de link são guardado corretamente. WebCalTestOk=A ligação ao servidor no banco de dados com o usuário de sucesso. @@ -755,11 +1153,15 @@ WebCalAddEventOnStatusBill=Adicionar evento ao calendário ao alterar destado da WebCalAddEventOnStatusMember=Adicionar evento ao calendário ao alterar destado dos Membros WebCalUrlForVCalExport=um link de exportação do calendário em formato %s estará disponível na url: %s WebCalCheckWebcalSetup=a configuração do módulo Webcal pode ser incorreta +##### Invoices ##### BillsSetup=configuração do módulo Faturas BillsDate=Data das faturas BillsNumberingModule=Módulo de numeração de faturas e entregas BillsPDFModules=Modelo de documento de faturas CreditNoteSetup=configuração do módulo entregas +CreditNotePDFModules=Modelo de documento de entregas +CreditNote=Entrega +CreditNotes=Entregas ForceInvoiceDate=Forçar a data de fatura e a data de validação DisableRepeatable=Desativar as faturas Repetitivas SuggestedPaymentModesIfNotDefinedInInvoice=Formas de pagamento sugeridas para as faturas senão estão definidas explicitamente @@ -768,49 +1170,95 @@ SuggestPaymentByRIBOnAccount=Sugerenciar o pagamento por transfência em conta SuggestPaymentByChequeToAddress=Sugerenciar o pagamento por cheque a FreeLegalTextOnInvoices=Texto livre em faturas WatermarkOnDraftInvoices=Marca d'água sobre o projeto de faturas (nenhum se estiver vazio) +##### Proposals ##### PropalSetup=configuração do módulo Orçamentos CreateForm=criação formulário +NumberOfProductLines=Numero de linhas de produtos +ProposalsNumberingModules=Módulos de numeração de Orçamentos +ProposalsPDFModules=Modelos de documentos de Orçamentos ClassifiedInvoiced=Classificar faturado HideTreadedPropal=Ocultar os Orçamentos processados do listado AddShippingDateAbility=possibilidade de determinar uma data de entregas AddDeliveryAddressAbility=possibilidade de selecionar uma endereço de envio UseOptionLineIfNoQuantity=uma linha de produto/serviço que tem uma quantidade nula se considera como uma Opção +FreeLegalTextOnProposal=Texto livre em Orçamentos WatermarkOnDraftProposal=Marca d'água em projetos de propostas comerciais (nenhum se estiver vazio) +BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Informar conta bancária de destino da proposta +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Price requests suppliers module setup +AskPriceSupplierNumberingModules=Price requests suppliers numbering models +AskPriceSupplierPDFModules=Price requests suppliers documents models +FreeLegalTextOnAskPriceSupplier=Texto livre sobre os pedidos de preços de fornecedores +WatermarkOnDraftAskPriceSupplier=Watermark on draft price requests suppliers (none if empty) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Ask for bank account destination of price request +##### Orders ##### OrdersSetup=configuração do módulo pedidos +OrdersNumberingModules=Módulos de numeração dos pedidos OrdersModelModule=Modelos de documentos de pedidos HideTreadedOrders=Esconder as ordens tratados ou cancelados na lista +ValidOrderAfterPropalClosed=Confirmar o pedido depois de fechar o orçamento, permite não passar por um pedido provisório +FreeLegalTextOnOrders=Texto livre em pedidos WatermarkOnDraftOrders=Marca d'água em projetos de ordem (nenhum se estiver vazio) +ShippableOrderIconInList=Adicionar um ícone na lista de pedidos que indicam se a ordem é shippable +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Informar conta bancária de destino da ordem +##### Clicktodial ##### ClickToDialSetup=configuração do módulo Click To Dial ClickToDialUrlDesc=Url de chamada fazendo click ao ícone telefone.
a 'url completa chamada será: URL?login +##### Bookmark4u ##### Bookmark4uSetup=configuração do módulo Bookmark4u +##### Interventions ##### InterventionsSetup=configuração do módulo Intervenções FreeLegalTextOnInterventions=Texto livre em documentos de intervenção +FicheinterNumberingModules=Módulos de numeração das fichas de intervenção +TemplatePDFInterventions=Modelo de documentos das fichas de intervenção WatermarkOnDraftInterventionCards=Marca d'água em documentos de cartão de intervenção (nenhum se estiver vazio) +##### Contracts ##### +ContractsSetup=Contratos / instalação de módulo de Assinaturas ContractsNumberingModules=Contratos numeração módulos TemplatePDFContracts=Modelos de documentos Contratos FreeLegalTextOnContracts=Texto livre em contratos WatermarkOnDraftContractCards=Marca d'água em projetos de contratos (nenhum se estiver vazio) +##### Members ##### MembersSetup=configuração do módulo associações MemberMainOptions=opções principales AddSubscriptionIntoAccount=Registar honorários em conta bancaria ou Caixa do módulo bancario +AdherentLoginRequired= Gerenciar um login para cada membro AdherentMailRequired=E-Mail obrigatório para criar um membro novo MemberSendInformationByMailByDefault=Caixa de verificação para enviar o correio de confirmação a os Membros é por default "sí" +##### LDAP setup ##### LDAPSetup=Configuracón do módulo LDAP +LDAPGlobalParameters=parâmetros globais LDAPUsersSynchro=Usuário +LDAPGroupsSynchro=Grupos LDAPContactsSynchro=Contatos +LDAPMembersSynchro=Membros LDAPSynchronization=sincronização LDAP LDAPFunctionsNotAvailableOnPHP=as funções LDAP não estão disponíveis na sua PHP +LDAPToDolibarr=LDAP -> Dolibarr +DolibarrToLDAP=Dolibarr -> LDAP +LDAPNamingAttribute=Chave em LDAP LDAPSynchronizeUsers=sincronização dos Usuários Dolibarr com LDAP LDAPSynchronizeGroups=sincronização dos grupos de Usuários Dolibarr com LDAP LDAPSynchronizeContacts=sincronização dos contatos Dolibarr com LDAP LDAPSynchronizeMembers=sincronização dos Membros do módulo associações de Dolibarr com LDAP LDAPTypeExample=OpenLdap, Egroupware o Active Diretory +LDAPPrimaryServer=Servidor primario +LDAPSecondaryServer=Servidor secundario +LDAPServerPort=Porta do servidor LDAPServerPortExample=Porta por default : 389 +LDAPServerProtocolVersion=Versão de protocolo LDAPServerUseTLS=Usuário TLS LDAPServerUseTLSExample=a sua servidor utiliza TLS +LDAPServerDn=DN do servidor +LDAPAdminDn=DN do administrador +LDAPAdminDnExample=DN completo (ej: cn LDAPPassword=senha do administrador LDAPUserDn=DN dos Usuário +LDAPUserDnExample=DN completo (ej: ou +LDAPGroupDn=DN dos grupos +LDAPGroupDnExample=DN completo (ej: ou LDAPServerExample=endereço do servidor (ej: localhost, 192.168.0.2, ldaps://ldap.example.com/) +LDAPServerDnExample=DN completo (ej: dc LDAPPasswordExample=senha do administrador LDAPDnSynchroActive=Sincronização de Usuários e Grupos LDAPDnSynchroActiveExample=sincronização LDAP vers Dolibarr ó Dolibarr vers LDAP @@ -820,13 +1268,25 @@ LDAPDnContactActiveExample=sincronização ativada/desativada LDAPDnMemberActive=sincronização dos Membros LDAPDnMemberActiveExample=sincronização ativada/desativada LDAPContactDn=DN dos contatos Dolibarr +LDAPContactDnExample=DN completo (ej: ou +LDAPMemberDn=DN dos Membros +LDAPMemberDnExample=DN completo (ex: ou +LDAPMemberObjectClassList=Lista de objectClass LDAPMemberObjectClassListExample=Lista de ObjectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) +LDAPUserObjectClassList=Lista de objectClass LDAPUserObjectClassListExample=Lista de ObjectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) +LDAPGroupObjectClassList=Lista de objectClass +LDAPGroupObjectClassListExample=Lista de ObjectClass que definem os atributos de um registo (ej: top,groupOfUniqueNames) +LDAPContactObjectClassList=Lista de objectClass LDAPContactObjectClassListExample=Lista de objectClass que definem os atributos de um registo (ej: top,inetOrgPerson o top,user for active diretory) +LDAPMemberTypeDn=DN dos tipos de Membros +LDAPMemberTypeDnExample=DN complet (ej: ou LDAPTestConnect=Teste a login LDAP LDAPTestSynchroContact=Teste a sincronização de contatos LDAPTestSynchroUser=Teste a sincronização de Usuário -LDAPTestSearch=Teste uma pesquisa LDAP +LDAPTestSynchroGroup=Teste a sincronização de grupos +LDAPTestSynchroMember=Teste a sincronização de Membros +LDAPTestSearch= Teste uma pesquisa LDAP LDAPSynchroOK=Prueba de sincronização realizada corretamente LDAPSynchroKO=Prueba de sincronização errada LDAPSynchroKOMayBePermissions=Error da prueba de sincronização. verifique que a login à servidor sea correta e que permite as atualizaciones LDAP @@ -835,31 +1295,64 @@ LDAPTCPConnectKO=Fallo de login TCP à servidor LDAP (Servidor LDAPBindOK=Ligue / authentificate ao servidor LDAP sucesso (Server =% s, Port =% s, Admin =% s, Password =% s) LDAPBindKO=Fallo de login/autentificação à servidor LDAP (Servidor LDAPUnbindSuccessfull=Desconecte sucesso +LDAPUnbindFailed=Saida falhada LDAPConnectToDNSuccessfull=login a DN (%s) realizada LDAPConnectToDNFailed=Connexión a DN (%s) falhada +LDAPSetupForVersion3=Servidor LDAP configurado em Versão 3 +LDAPSetupForVersion2=Servidor LDAP configurado em Versão 2 LDAPDolibarrMapping=Mapping Dolibarr +LDAPLdapMapping=Mapping LDAP +LDAPFieldLoginUnix=Login (unix) +LDAPFieldLoginExample=Exemplo : uid +LDAPFilterConnection=Filtro de pesquisa +LDAPFilterConnectionExample=Exemplo : &(objectClass +LDAPFieldLoginSamba=Login (samba, activedirectory) LDAPFieldLoginSambaExample=Exemplo : samaccountname +LDAPFieldFullname=Nome completo +LDAPFieldFullnameExample=Exemplo : cn LDAPFieldPassword=senha LDAPFieldPasswordNotCrypted=senha não encriptada LDAPFieldPasswordCrypted=senha encriptada +LDAPFieldPasswordExample=Exemplo : userPassword +LDAPFieldCommonName=Nome comun +LDAPFieldCommonNameExample=Exemplo : cn +LDAPFieldName=Nome +LDAPFieldNameExample=Exemplo : sn +LDAPFieldFirstName=Nome LDAPFieldFirstNameExample=Exemplo : givenname +LDAPFieldMail=E-Mail +LDAPFieldMailExample=Exemplo : mail LDAPFieldPhone=telefone Trabalho LDAPFieldPhoneExample=Exemplo : telephonenumber LDAPFieldHomePhone=telefone personal LDAPFieldHomePhoneExample=Exemplo : homephone LDAPFieldMobile=telefone móvil LDAPFieldMobileExample=Exemplo : mobile +LDAPFieldFax=Fax LDAPFieldFaxExample=Exemplo : facsimiletelephonenumber LDAPFieldAddress=endereço LDAPFieldAddressExample=Exemplo : street LDAPFieldZip=Código Postal LDAPFieldZipExample=Exemplo : postalcode LDAPFieldTown=Município +LDAPFieldTownExample=Exemplo : l +LDAPFieldCountry=País +LDAPFieldCountryExample=Exemplo : c +LDAPFieldDescription=Descrição LDAPFieldDescriptionExample=Exemplo : description -LDAPFieldGroupMembersExample=Exemplo: uniqueMember +LDAPFieldNotePublic=Nota Pública +LDAPFieldNotePublicExample=Example : publicnote +LDAPFieldGroupMembers= Os membros do grupo +LDAPFieldGroupMembersExample= Exemplo: uniqueMember LDAPFieldBirthdate=data de nascimento +LDAPFieldBirthdateExample=Exemplo : +LDAPFieldCompany=Empresa +LDAPFieldCompanyExample=Exemplo : o +LDAPFieldSid=SID LDAPFieldSidExample=Exemplo : objectsid LDAPFieldEndLastSubscription=data finalização como membro +LDAPFieldTitle=Posto/Função +LDAPFieldTitleExample=Exemplo: título LDAPParametersAreStillHardCoded=Parâmetros LDAP ainda são codificados (na classe de contato) LDAPSetupNotComplete=configuração LDAP incompleta (a completar em Outras pestanhas) LDAPNoUserOrPasswordProvidedAccessIsReadOnly=Administrador o senha não indicados. os acessos LDAP serão anônimos e em só leitura. @@ -868,6 +1361,7 @@ LDAPDescUsers=Esta página permite definir o Nome dos atributos da árvore LDAP LDAPDescGroups=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos grupos Usuários Dolibarr. LDAPDescMembers=Esta página permite definir o Nome dos atributos da árvore LDAP para cada informação dos Membros do módulo associações Dolibarr. LDAPDescValues=os valores de Exemplos se adaptan a OpenLDAP com os schemas carregados: core.schema, cosine.schema, inetorgperson.schema). sim voçê utiliza os a valores sugeridos e OpenLDAP, modifique a sua arquivo de configuração LDAP slapd.conf para tener todos estos schemas ativos. +ForANonAnonymousAccess=Para um acesso autentificado PerfDolibarr=Relatório de configuração Desempenho / otimização YouMayFindPerfAdviceHere=Você vai encontrar nesta página algumas verificações ou conselhos relacionados com o desempenho. NotInstalled=Não instalado, por que o seu servidor não está mais lento por isso. @@ -883,7 +1377,10 @@ FilesOfTypeNotCached=Arquivos do tipo não são armazenados em cache pelo servid FilesOfTypeCompressed=Arquivos do tipo são comprimidas pelo servidor HTTP FilesOfTypeNotCompressed=Arquivos do tipo não são compactados pelo servidor HTTP CacheByServer=Cache por servidor +CacheByClient=Cache pelo navegador CompressionOfResources=A compressão das respostas HTTP +TestNotPossibleWithCurrentBrowsers=Tal detecção automática não é possível com os navegadores atuais +##### Products ##### ProductSetup=configuração do módulo produtos ServiceSetup=Configuração do módulo Serviços ProductServiceSetup=Configuração de Produtos e Serviços módulos @@ -891,56 +1388,108 @@ NumberOfProductShowInSelect=N� de produtos max em listas (0 ConfirmDeleteProductLineAbility=confirmação de eliminação de uma linha de produzido nos formulários ModifyProductDescAbility=Personalização das descripciones dos produtos nos formulários ViewProductDescInFormAbility=visualização das descripciones dos produtos nos formulários +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=Visualização de produtos descrições no idioma thirdparty UseSearchToSelectProductTooltip=Além disso, se você tem um grande número de produtos (> 100 000), você pode aumentar a velocidade, definindo PRODUCT_DONOTSEARCH_ANYWHERE constante a 1 em Setup Outro. Busca, então, ser limitada até o início da string. UseSearchToSelectProduct=Use um formulário de pesquisa para escolher um produto (em vez de uma lista drop-down). UseEcoTaxeAbility=Asumir ecotaxa (DEEE) SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por default para os produtos SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por default para os Fornecedores -ProductCodeChecker=Módulo para geração de código do produto e verificação (produto ou serviço) -ProductOtherConf=A configuração do produto / serviço +UseUnits=Support units +ProductCodeChecker= Módulo para geração de código do produto e verificação (produto ou serviço) +ProductOtherConf= A configuração do produto / serviço +##### Syslog ##### +SyslogSetup=configuração do módulo Syslog SyslogOutput=Saída do log +SyslogSyslog=Syslog +SyslogFacility=Facilidade SyslogLevel=Nível SyslogSimpleFile=Arquivo SyslogFilename=Nome e Rota do Arquivo YouCanUseDOL_DATA_ROOT=pode utilizar DOL_DATA_ROOT/dolibarr.log para um log na pasta 'documentos' de Dolibarr. ErrorUnknownSyslogConstant=a constante %s não é uma constante syslog conhecida OnlyWindowsLOG_USER=Somente para Windows suporta LOG_USER +##### Donations ##### DonationsSetup=configuração do módulo Bolsas +DonationsReceiptModel=Modelo de recibo de doação +##### Barcode ##### BarcodeSetup=configuração dos códigos de barra +PaperFormatModule=Módulos de formatos de impressão BarcodeEncodeModule=Módulos de codificação dos códigos de barra +UseBarcodeInProductModule=Utilizar os códigos de barra nos produtos CodeBarGenerator=gerador do código ChooseABarCode=nenhum gerador selecionado +FormatNotSupportedByGenerator=Formato não gerado por este gerador BarcodeDescEAN8=Códigos de barra tipo EAN8 BarcodeDescEAN13=Códigos de barra tipo EAN13 BarcodeDescUPC=Códigos de barra tipo UPC BarcodeDescISBN=Códigos de barra tipo ISBN BarcodeDescC39=Códigos de barra tipo C39 BarcodeDescC128=Códigos de barra tipo C128 +BarcodeDescDATAMATRIX=Código de barras do tipo Datamatrix +BarcodeDescQRCODE=Código de barras do tipo 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=Motor interno BarCodeNumberManager=Gerente de auto definir números de código de barras +##### Prelevements ##### WithdrawalsSetup=configuração do módulo Débitos Diretos +##### ExternalRSS ##### ExternalRSSSetup=configuração das importações do fluxos RSS NewRSS=Sindicação de um Novo fluxos RSS +RSSUrl=RSS URL +RSSUrlExample=Um feed RSS interessante +##### Mailing ##### +MailingSetup=configuração do módulo E-Mailing +MailingEMailFrom=E-Mail emissor (From) dos correios enviados por E-Mailing MailingEMailError=Voltar E-mail (Erros-to) para e-mails com erros +MailingDelay=Segundos de espera antes do envio da mensagem seguinte +##### Notification ##### NotificationSetup=Configuração do módulo de notificações por e-mail +NotificationEMailFrom=E-Mail emissor (From) dos correios enviados a traves de Notificações +ListOfAvailableNotifications=List of events you can set notification on, for each thirdparty (go into thirdparty card to setup) or by setting a fixed email (List depends on activated modules) +FixedEmailTarget=Alvo fixo e-mail +##### Sendings ##### SendingsSetup=configuração do módulos envios +SendingsReceiptModel=Modelo da ficha de expedição SendingsNumberingModules=Expedição de numeração de módulos +SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=na maioria dos casos, as entregas utilizam como nota de entregas ao cliente (lista de produtos a enviar), se recebem e assinam por o cliente. Por o tanto, a hoja de entregas de produtos é uma característica duplicada e rara vez é ativada. +FreeLegalTextOnShippings=Texto livre sobre transferências +##### Deliveries ##### +DeliveryOrderNumberingModules=Módulo de numeração dos envios a clientes DeliveryOrderModel=Modelo de ordem de envio DeliveriesOrderAbility=Fretes pagos por o cliente +FreeLegalTextOnDeliveryReceipts=Texto livre em notas de entregas. +##### FCKeditor ##### AdvancedEditor=Formatação avançada ActivateFCKeditor=Ativar FCKeditor para : FCKeditorForCompany=Criação/Edição WYSIWIG da descrição e notas dos Fornecedores +FCKeditorForProduct=Criação/Edição WYSIWIG da descrição e notas dos produtos/serviços +FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForMailing= Criação/Edição WYSIWIG dos E-Mails FCKeditorForUserSignature=WYSIWIG criação / edição da assinatura do usuário FCKeditorForMail=Criação WYSIWIG / edição para todos os emails (exceto Outils-> e-mail) +##### OSCommerce 1 ##### OSCommerceErrorConnectOkButWrongDatabase=a login se ha estabelecido, mas a base de dados não parece de OSCommerce. OSCommerceTestOk=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' é correta. OSCommerceTestKo1=a login à servidor '%s' sobre a base '%s' por o Usuário '%s' não se pode efetuar. OSCommerceTestKo2=a login à servidor '%s' por o Usuário '%s' ha falhado. +##### Stock ##### StockSetup=Configuração do módulo Armazém / Warehouse +UserWarehouse=Use user personal warehouses +IfYouUsePointOfSaleCheckModule=Se você usar um módulo Ponto de Venda (POS módulo fornecido por padrão ou outro módulo externo), esta configuração pode ser ignorado pelo seu modulo ponto de Venda. A maioria modulo ponto de Vendas são projetados para criar imediatamente uma fatura e diminuir estoque por padrão tudo o que são opções aqui. Então, se você precisa ou não ter uma diminuição de ações quando registrar uma venda a partir do seu ponto de venda, verifique também a configuração do seu módulo POS. +##### Menu ##### +MenuDeleted=Menu Eliminado +TreeMenu=Estructura dos menus +Menus=Menus +TreeMenuPersonalized=Menus personalizados +NewMenu=Novo Menu +MenuConf=Configuração dos menus Menu=Seleção dos menus MenuHandler=Gerente de menus -HideUnauthorizedMenu=Esconder menus não autorizadas (cinza) +MenuModule=Módulo origem +HideUnauthorizedMenu= Esconder menus não autorizadas (cinza) +DetailId=Identificador do menu DetailMenuHandler=Nome do gerente de menus DetailMenuModule=Nome do módulo sim a entrada do menu é resultante de um módulo DetailType=Tipo de menu (superior o izquierdp) @@ -951,25 +1500,36 @@ DetailLeftmenu=Condição de visualização o não (obsoleto) DetailEnabled=Condição para mostrar ou não entrada DetailRight=Condição de visualização completa o cristálida DetailLangs=Arquivo langs para a tradução do título +DetailUser=Interno / Externo / Todos +Target=Alvo DetailTarget=Objetivo DetailLevel=Nível (-1:menu superior, 0:principal, >0 menu e submenú) +ModifMenu=Modificação do menu +DeleteMenu=Eliminar entrada de menu ConfirmDeleteMenu=Tem certeza que quer eliminar a entrada de menu %s ? DeleteLine=Apagar a Linha ConfirmDeleteLine=Tem certeza que quer eliminar esta linha? +##### Tax ##### +TaxSetup=Configuração do Módulo Impostos, Cargas Sociais e Dividendos OptionVatMode=Opção de carga de ICMS OptionVATDefault=Regime de caixa OptionVATDebitOption=Regime de competência OptionVatDefaultDesc=a carga do ICMS é:
-ao envio dos bens
-sobre o pagamento por os serviços OptionVatDebitOptionDesc=a carga do ICMS é:
-ao envio dos bens
-sobre o faturamento dos serviços SummaryOfVatExigibilityUsedByDefault=Hora do VTA exigibilidade por padrão de acordo com a opção escolhida: +OnDelivery=Na entrega OnPayment=Mediante o pagamento OnInvoice=Na fatura SupposedToBePaymentDate=Data de pagamento usado SupposedToBeInvoiceDate=Data da fatura usado +Buy=Comprar +Sell=Vender InvoiceDateUsed=Data da fatura usado YourCompanyDoesNotUseVAT=Sua empresa foi definido para não usar de IVA (Home - Configuração - Empresa / Fundação), então não há nenhuma opção de VAT a configuração. +AccountancyCode=Código de Contabilidade AccountancyCodeSell=Conta Venda. código AccountancyCodeBuy=Compre conta. código +##### Agenda ##### AgendaSetup=Módulo configuração de ações e agenda PasswordTogetVCalExport=Chave de autorização vcal export link PastDelayVCalExport=Não exportar evento mais antigo que @@ -977,48 +1537,106 @@ AGENDA_USE_EVENT_TYPE=Use eventos tipos (geridos em Setup Menu -> Dicionário -> AGENDA_DEFAULT_FILTER_TYPE=Use automaticamente este tipo de evento no filtro de busca da agenda AGENDA_DEFAULT_FILTER_STATUS=Use automaticamente este estado no filtro das buscas da agenda AGENDA_DEFAULT_VIEW=Qual aba voçê quer abrir por padrão quando o menu Agenda e selecionado +##### ClickToDial ##### ClickToDialDesc=Este módulo permite agregar um ícone depois do número de telefone de contatos Dolibarr. um clic neste ícone, Chama a um servidor com uma URL que se indica a continuação. Esto pode ser usado para Chamar à sistema call center de Dolibarr que pode Chamar à número de telefone em um sistema SIP, por Exemplo. +##### Point Of Sales (CashDesk) ##### +CashDesk=Caixa CashDeskSetup=configuração do módulo de Caixa registradora +CashDeskThirdPartyForSell=Terceiro padrão para uso em vendas CashDeskBankAccountForSell=conta de efetivo que se utilizará para as vendas -CashDeskBankAccountForCheque=Padrão conta para usar a receber pagamentos por cheque -CashDeskBankAccountForCB=Padrão conta para usar a receber pagamentos por cartões de crédito +CashDeskBankAccountForCheque= Padrão conta para usar a receber pagamentos por cheque +CashDeskBankAccountForCB= Padrão conta para usar a receber pagamentos por cartões de crédito +CashDeskDoNotDecreaseStock=Desativar diminuição de ações quando uma venda é feita a partir de ponto de venda (se "não", diminuição de ações é feito para cada vendem feito a partir de POS, o que for opção definida no módulo de estoque). +CashDeskIdWareHouse=Forçar e restringir armazém a usar para redução de ações +StockDecreaseForPointOfSaleDisabled=Stock decrease from Point Of Sale disabled +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with lot management +CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. +##### Bookmark ##### BookmarkSetup=Configuração do Módulo de Favoritos BookmarkDesc=Este módulo lhe permite Gerenciar os links e acessos diretos. também permite Adicionar qualquer página de Dolibarr o link web ao menu de acesso rápido da esquerda. NbOfBoomarkToShow=Número máximo de marcadores que se mostrará ao menu +##### WebServices ##### WebServicesSetup=Configuração do módulo Webservices WebServicesDesc=Ao habilitar este módulo, Dolibarr se tornar um servidor web service para fornecer serviços web diversos. WSDLCanBeDownloadedHere=Arquivos descritores WSDL dos serviços prestados pode ser baixado aqui EndPointIs=Clientes SOAP devem enviar seus pedidos para o terminal Dolibarr Disponível em URL +##### API #### +ApiSetup=Instalação de módulo de API +ApiDesc=Ao ativar este módulo, Dolibarr se tornar um servidor REST para fornecer serviços de web diversos. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=Você pode acessar a API na url +ApiExporerIs=Você pode explorar a API na url +OnlyActiveElementsAreExposed=Somente elementos de módulos habilitados são expostos +##### Bank ##### BankSetupModule=Configuração do módulo Banco FreeLegalTextOnChequeReceipts=Texto livre em recibos de verificação BankOrderShow=Ordem de apresentação das contas bancárias para os países usando o "número do banco detalhada" +BankOrderGlobal=General +BankOrderGlobalDesc=Ordem de exibição Geral BankOrderES=Espanhol BankOrderESDesc=Ordem de exibição Espanhol +##### Multicompany ##### MultiCompanySetup=Configuração do módulo Multi-empresa +##### Suppliers ##### SuppliersSetup=Configuração Módulo Fornecedor SuppliersCommandModel=Modelo completo de ordem fornecedor (logo. ..) SuppliersInvoiceModel=Modelo completo da fatura do fornecedor (logo. ..) SuppliersInvoiceNumberingModel=Faturas de fornecedores de numeração modelos +IfSetToYesDontForgetPermission=Se definido como sim, não se esqueça de fornecer permissões a grupos ou usuários autorizados para a segunda aprovação +##### GeoIPMaxmind ##### GeoIPMaxmindSetup=Configuração do módulo GeoIP Maxmind PathToGeoIPMaxmindCountryDataFile=Caminho para o arquivo que contém a tradução Maxmind ip país. Exemplos: / Usr / local / share / GeoIP / GeoIP.dat / Usr / share / GeoIP / GeoIP.dat NoteOnPathLocation=Note-se que o seu ip para o arquivo de dados do país devem estar dentro de um diretório do seu PHP pode ler (Verifique se o seu PHP open_basedir configuração e as permissões do sistema de arquivos). YouCanDownloadFreeDatFileTo=Você pode baixar uma versão demo gratuita do arquivo país Maxmind GeoIP em. YouCanDownloadAdvancedDatFileTo=Você também pode baixar uma versão,mais completa, com atualizações, do arquivo país em Maxmind GeoIP. TestGeoIPResult=Teste de um IP de conversão -> país +##### Projects ##### ProjectsNumberingModules=Projetos de numeração módulo ProjectsSetup=Configuração do módulo de Projetos ProjectsModelModule=Os relatórios do projeto modelo de documento TasksNumberingModules=Módulo de numeração de Tarefas TaskModelModule=Relatórios Tarefas modelo de documento -ECMSetup =Instalar GED -ECMAutoTree =Pasta árvore automática e documento +##### ECM (GED) ##### +ECMSetup = Instalar GED +ECMAutoTree = Pasta árvore automática e documento +##### Fiscal Year ##### FiscalYears=Anos fiscais FiscalYear=Ano fiscal FiscalYearCard=Ficha ano fiscal +NewFiscalYear=Novo ano fiscal +EditFiscalYear=Editar ano fiscal +OpenFiscalYear=Abrir ano fiscal +CloseFiscalYear=Fechar ano fiscal DeleteFiscalYear=Remover ano fiscal ConfirmDeleteFiscalYear=Voçê tem certeza que quer deleitar este ano fical ? +Opened=Aberto +Closed=Fechado AlwaysEditable=Sempre pode ser editado +MAIN_APPLICATION_TITLE=Forçar nome visível da aplicação (aviso: definir o seu próprio nome aqui pode quebrar recurso de login preenchimento automático ao usar aplicativos móveis DoliDroid) NbMajMin=Número mínimo de caracteres maiúsculos NbNumMin=Número mínimo de caracteres numéricos NbSpeMin=Número mínimo de caracteres especiais +NbIteConsecutive=Maximum number of repeating same characters +NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation +SalariesSetup=Configuração do módulo de salários +SortOrder=Ordem de classificação +Format=Formato TypePaymentDesc=0: Pagamento para Cliente, 1: Pagamento para Fornecedor, 2: Pagamentos para Clientes e Fornecedores +IncludePath=Incluir caminho (definido na variável %s) +ExpenseReportsSetup=Setup of module Expense Reports +TemplatePDFExpenseReports=Document templates to generate expense report document +NoModueToManageStockDecrease=No module able to manage automatic stock decrease has been activated. Stock decrease will be done on manual input only. +NoModueToManageStockIncrease=No module able to manage automatic stock increase has been activated. Stock increase will be done on manual input only. +YouMayFindNotificationsFeaturesIntoModuleNotification=Você pode encontrar opções para notificações por email por habilitar e configurar o módulo "Notificação". +ListOfNotificationsPerContact=Lista de notificações por contato* +ListOfFixedNotifications=Lista de notificações fixas +GoOntoContactCardToAddMore=Go on the tab "Notifications" of a thirdparty contact to add or remove notifications for contacts/addresses +Threshold=Threshold +BackupDumpWizard=Assistente para construir arquivo de despejo de backup do banco de dados +SomethingMakeInstallFromWebNotPossible=A instalação do módulo externo não é possível a partir da interface web pelo seguinte motivo: +SomethingMakeInstallFromWebNotPossible2=Por esta razão, o processo de atualização descrito aqui é apenas manual de passos que um usuário privilegiado pode fazer. +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. +ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Pressione F5 no teclado depois de mudar este valor para tê-lo eficaz +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/pt_BR/agenda.lang b/htdocs/langs/pt_BR/agenda.lang index a1a02cb7e67..607ce5e158d 100644 --- a/htdocs/langs/pt_BR/agenda.lang +++ b/htdocs/langs/pt_BR/agenda.lang @@ -2,12 +2,23 @@ IdAgenda=ID evento Actions=Eventos ActionsArea=Área de eventos (Atividades e Tarefas) +Agenda=Agenda +Agendas=Agendas +Calendar=Calendário +Calendars=Calendários +LocalAgenda=Calendário interno ActionsOwnedBy=Evento de propriedade do +AffectedTo=Atribuído à DoneBy=Concluído por Event=Evento +Events=Eventos EventsNb=Numero de eventos +MyEvents=Meus eventos +OtherEvents=Outros eventos +ListOfActions=Lista de Eventos +Location=Localização EventOnFullDay=Evento durante todo o dia (s) -SearchAnAction=Procurar um evento/tarefa +SearchAnAction= Procurar um evento/tarefa MenuToDoActions=Todos os eventos incompletos MenuDoneActions=Todas os eventos completos MenuToDoMyActions=Os meus eventos incompletas @@ -19,24 +30,28 @@ ActionsDoneBy=Eventos concluído por ActionsForUser=Eventos para o usuário ActionsForUsersGroup=Eventos para todos os usuários do grupo ActionAssignedTo=Evento atribuído a -AllMyActions=Todos meus eventos/tarefas -AllActions=Todas os eventos/tarefas +AllMyActions= Todos meus eventos/tarefas +AllActions= Todas os eventos/tarefas ViewList=Exibir lista ViewCal=Exibir Calendário ViewDay=Exibir dia ViewWeek=Exibir semana ViewPerUser=Visão do usuário -ViewWithPredefinedFilters=Exibir com filtros predefinidos -AgendaAutoActionDesc=Defina aqui quais os eventos que deseja que o Dolibarr adicione automaticamente na sua agenda. Se nada estiver marcado (por padrão), sera incluído só eventos manualmente na agenda. -AgendaSetupOtherDesc=Esta página fornece opções para permitir a exportação de seus eventos do Dolibarr para um calendário externo (thunderbird, google agenda, ...) +ViewWithPredefinedFilters= Exibir com filtros predefinidos +AutoActions= Preenchimento automático +AgendaAutoActionDesc= Defina aqui quais os eventos que deseja que o Dolibarr adicione automaticamente na sua agenda. Se nada estiver marcado (por padrão), sera incluído só eventos manualmente na agenda. +AgendaSetupOtherDesc= Esta página fornece opções para permitir a exportação de seus eventos do Dolibarr para um calendário externo (thunderbird, google agenda, ...) AgendaExtSitesDesc=Esta página permite importar calendários de fontes externas para sua agenda de eventos no Dolibarr. ActionsEvents=Para qual eventos o Dolibarr irá criar uma atividade na agenda automaticamente PropalValidatedInDolibarr=Proposta %s validada InvoiceValidatedInDolibarr=Fatura %s validada InvoiceValidatedInDolibarrFromPos=Fatura %s validada no POS InvoiceBackToDraftInDolibarr=Fatura %s volta ao estado de rascunho +InvoiceDeleteDolibarr=Fatura %s apagada OrderValidatedInDolibarr=Pedido %s validado +OrderDeliveredInDolibarr=Ordem %s classificadas entregues OrderCanceledInDolibarr=Pedido %s cancelado +OrderBilledInDolibarr=Ordem %s classificadas faturado OrderApprovedInDolibarr=Pedido %s aprovado OrderRefusedInDolibarr=Pedido %s recusado OrderBackToDraftInDolibarr=Pedido %s volta ao estado de rascunho @@ -45,23 +60,32 @@ OrderSentByEMail=Pedido do cliente %s enviado por e-mail InvoiceSentByEMail=Fatura do cliente %s enviada por e-mail SupplierOrderSentByEMail=Pedido do fornecedor %s enviado por e-mail SupplierInvoiceSentByEMail=Fatura do fornecedor %s enviada por e-mail -ShippingValidated=Envio %s validado -NewCompanyToDolibarr=Fornecedor criado -DateActionPlannedStart=Data de início do planejamento -DateActionPlannedEnd=Data final do planejamento -DateActionDoneStart=Data real de início -DateActionDoneEnd=Data real de fim -DateActionEnd=Data de término +ShippingSentByEMail=Embarque %s enviada por e-mail +ShippingValidated= Envio %s validado +InterventionSentByEMail=Intervenção %s enviada por e-mail +NewCompanyToDolibarr= Fornecedor criado +DateActionPlannedStart= Data de início do planejamento +DateActionPlannedEnd= Data final do planejamento +DateActionDoneStart= Data real de início +DateActionDoneEnd= Data real de fim +DateActionStart= Data de Início +DateActionEnd= Data de término AgendaUrlOptions1=Você também pode adicionar os seguintes parâmetros para filtrar o resultado: +AgendaUrlOptions2=login =%s ​​para restringir a saída para ações criadas por ou atribuídos para o usuário %s. AgendaUrlOptions3=logina=%s para restringir açoes de propriedade do usuario %s. AgendaUrlOptions4=Usuário=%s permitir apenas resultados para atividades atribuídas ao usuário %s. AgendaUrlOptionsProject=project=PROJECT_ID para restringir a saida de açoes associadas ao projeto PROJECT_ID. AgendaShowBirthdayEvents=Visualizar aniversários dos contatos AgendaHideBirthdayEvents=Esconder aniversários dos contatos +Busy=Ocupado ExportDataset_event1=Lista de eventos na agenda DefaultWorkingDays=Padrão dias úteis por semana (Exemplo: 1-5, 1-6) DefaultWorkingHours=Padrão horas de trabalho em dia (Exemplo: 9-18) +# External Sites ical +ExportCal=Exportar calendário +ExtSites=Importar calendários externos ExtSitesEnableThisTool=Mostrar calendários externos (definidos na configuração global) na agenda. Não afeta calendários externos definidos pelos usuários. +ExtSitesNbOfAgenda=Número de calendários AgendaExtNb=Calendário nr. %s ExtSiteUrlAgenda=URL para acessar arquivos .ical ExtSiteNoLabel=Sem descrição @@ -69,3 +93,5 @@ WorkingTimeRange=Intervalo de tempo trabalhado WorkingDaysRange=Intervalo de dias trabalhado AddEvent=Criar evento MyAvailability=Minha disponibilidade +ActionType=Tipo de Evento +DateActionBegin=Iniciar a data do evento diff --git a/htdocs/langs/pt_BR/banks.lang b/htdocs/langs/pt_BR/banks.lang index 45a0691d45b..e133f8fad2c 100644 --- a/htdocs/langs/pt_BR/banks.lang +++ b/htdocs/langs/pt_BR/banks.lang @@ -1,9 +1,14 @@ # Dolibarr language file - Source file is en_US - banks +Bank=Banco +Banks=Bancos MenuBankCash=Banco/Caixa MenuSetupBank=Configuração Banco/Caixa BankName=Nome do Banco +FinancialAccount=Conta +FinancialAccounts=Contas BankAccount=Conta Bancaria BankAccounts=Contas Bancarias +ShowAccount=Visualizar Conta AccountRef=Ref. Conta Financeira AccountLabel=Etiqueta da Conta Financeira CashAccount=Conta Caixa/Efetivo @@ -14,36 +19,63 @@ CurrentAccounts=Contas Correntes SavingAccount=Conta a Prazo SavingAccounts=Contas a Prazo ErrorBankLabelAlreadyExists=Etiqueta de Conta Financeira já existente +BankBalance=Saldo BankBalanceBefore=Sldo anterior BankBalanceAfter=Saldo depois +BalanceMinimalAllowed=Saldo Máximo Autorizado +BalanceMinimalDesired=Saldo Mínimo Desejado +InitialBankBalance=Saldo Inicial +EndBankBalance=Saldo Final CurrentBalance=Saldo atual +FutureBalance=Saldo Previsto ShowAllTimeBalance=Mostrar Balanço Desde do Inicio AllTime=Do inicio +Reconciliation=Conciliação RIB=Conta Bancaria +IBAN=Identificador IBAN +IbanValid=IBAN é válido +IbanNotValid=IBAN não é válido +BIC=Identificador BIC/SWIFT +SwiftValid=BIC / SWIFT é válido +SwiftNotValid=BIC / SWIFT não é válido +StandingOrders=Débitos Diretos +StandingOrder=Domicilio +Withdrawals=Reembolsos +Withdrawal=Reembolso AccountStatement=Extrato da Conta AccountStatementShort=Extrato AccountStatements=Extratos das Contas LastAccountStatements=�ltimos Extratos Bancários +Rapprochement=Conciliação IOMonthlyReporting=Relatório Mensal E/S BankAccountDomiciliation=Domicilio de Conta BankAccountCountry=Conta do pais BankAccountOwner=Nome do Proprietário da Conta BankAccountOwnerAddress=Endereço do Proprietário da Conta RIBControlError=Se a integridade das verificações de valores falhar. Isto significa que informações para este número de conta não estão completos ou errados (verifique País, números e IBAN). +CreateAccount=Criar Conta +NewAccount=Nova Conta NewBankAccount=Nova Conta Bancaria NewFinancialAccount=Nova Conta Financeira MenuNewFinancialAccount=Nova Conta Financeira NewCurrentAccount=Nova Conta Corrente NewSavingAccount=Nova Conta de a Prazo +NewCashAccount=Nova Conta de Caixa +EditFinancialAccount=Edição Conta +AccountSetup=Configuração das Contas financeiras SearchBankMovement=Procurar Registo Bancario +Debts=Dívidas LabelBankCashAccount=Etiqueta da Conta ou Caixa +AccountType=Tipo de Conta BankType0=Conta Bancaria a Prazo BankType1=Conta Bancaria Corrente BankType2=Conta Caixa/Efetivo IfBankAccount=Se a Conta Bancária AccountsArea=Área das Contas AccountCard=Ficha da Conta +DeleteAccount=Apagar Conta ConfirmDeleteAccount=Tem certeza que quer eliminar esta Conta? +Account=Conta ByCategories=Por Categorias ByRubriques=Por Rúbricas BankTransactionByCategories=Registros bancários por rúbricas @@ -57,15 +89,25 @@ SearchTransaction=Procurar Registo ListTransactions=Lista Transações ListTransactionsByCategory=Lista Transações/Categoria TransactionsToConciliate=Registros a Conciliar +Conciliable=Conciliável +Conciliate=Conciliar +Conciliation=Conciliação +ConciliationForAccount=Conciliações nesta Conta IncludeClosedAccount=Incluir Contas Fechadas -OnlyOpenedAccount=Somente Contas Abertas +OnlyOpenedAccount=Apenas contas abertas AccountToCredit=Conta de Crédito AccountToDebit=Conta de Débito DisableConciliation=Desativar a função de Conciliação para esta Conta ConciliationDisabled=Função de Conciliação Desativada +StatusAccountOpened=Aberto +StatusAccountClosed=Fechada +AccountIdShort=Número EditBankRecord=Editar Registo +LineRecord=Registo AddBankRecord=Adicionar Registo AddBankRecordLong=Realizar um registo manual fora de uma fatura +ConciliatedBy=Conciliado por +DateConciliating=Data Conciliação BankLineConciliated=Registo Conciliado CustomerInvoicePayment=Pagamento de Cliente CustomerInvoicePaymentBack=Pagamento do cliente de volta @@ -76,17 +118,22 @@ FinancialAccountJournal=Diário de Tesouraria da Conta BankTransfer=Transferencia Bancaria BankTransfers=Transferências Bancarias TransferDesc=Ao criar uma transferencia de uma das suas contas bancarias fazia outra, Dolibarr cria os registros contabeis (um de débito em uma Conta e outro de crédito, do mesmo valor, na outra Conta. Se utiliza para os dois registros a mesma etiqueta de transferencia e a mesma data) +TransferFrom=De +TransferTo=Para TransferFromToDone=A transferencia de %s fazia %s de %s %s foi criado. +CheckTransmitter=Emissor ValidateCheckReceipt=Validar esta ficha de entregas? ConfirmValidateCheckReceipt=Tem certeza que quer Confirmar esta ficha (Nenhuma modificação será possível uma vez a ficha este validada)? DeleteCheckReceipt=Eliminar esta ficha de entregas? ConfirmDeleteCheckReceipt=Tem certeza que quer eliminar esta ficha? +BankChecks=Cheques BankChecksToReceipt=Cheques a Depositar ShowCheckReceipt=Mostra recibos do deposito com cheque. NumberOfCheques=N� de Cheques DeleteTransaction=Eliminar a Transação ConfirmDeleteTransaction=Tem certeza que quer eliminar esta transação? ThisWillAlsoDeleteBankRecord=Esto eliminará também os registros bancários gerados +BankMovements=Movimentos CashBudget=Orçamento de Tesouraria PlannedTransactions=Transações Previstas Graph=Graficos @@ -96,19 +143,25 @@ TransactionOnTheOtherAccount=Transação Sobre Outra Conta TransactionWithOtherAccount=Transferencia de Conta PaymentNumberUpdateSucceeded=Numero de pagamento modificado PaymentNumberUpdateFailed=Numero de pagamento não foi possível modificar +PaymentDateUpdateSucceeded=Data de pagamento modificada PaymentDateUpdateFailed=Data de pagamento não pode ser modificada Transactions=Transações BankTransactionLine=Transação Bancária AllAccounts=Todas as Contas bancarias/de Caixa BackToAccount=Voltar e a Conta +ShowAllAccounts=Mostrar para todas as Contas FutureTransaction=Transação futura. Impossivel conciliar. SelectChequeTransactionAndGenerate=Selecionar/filtrar cheques a se incluir no recibo de deposito e clickar no "Criar" +InputReceiptNumber=Escolha o extrato bancário relacionadas com a conciliação. Use um valor numérico classificável: AAAAMM ou AAAAMMDD EventualyAddCategory=Posivelmente especificar a categoria para se clasificar os registros ToConciliate=A se conciliar ? ThenCheckLinesAndConciliate=Verificar as linhas presentes no relatorio do banco e clickar BankDashboard=Somario de contas bancarias DefaultRIB=BAN padrao AllRIB=Todos BAN +LabelRIB=Etiqueta BAN NoBANRecord=Nao tem registro BAN DeleteARib=Apagar registro BAN ConfirmDeleteRib=Voce tem certeza que quer apagar este registro BAN ? +StartDate=Data de início +EndDate=Data final diff --git a/htdocs/langs/pt_BR/bills.lang b/htdocs/langs/pt_BR/bills.lang index 7e43fc08c29..6481f0cbb28 100644 --- a/htdocs/langs/pt_BR/bills.lang +++ b/htdocs/langs/pt_BR/bills.lang @@ -24,6 +24,7 @@ InvoiceProFormaDesc=Fatura Pro-Forma é uma verdadeira imagem de uma fatu InvoiceReplacement=Fatura de substituição InvoiceReplacementAsk=Fatura de substituição para Fatura InvoiceReplacementDesc=A fatura retificada serve para cancelar e para substituir uma fatura existente em que ainda não existe pagamentos.

Nota: só uma fatura sem nenhum pagamento pode retificar se. Sim esta última não está fechada, passará automaticamente ao estado 'abandonada'. +InvoiceAvoir=Nota de Crédito InvoiceAvoirAsk=Nota de Crédito para Corrigir a Fatura InvoiceAvoirDesc=A Nota de Crédito é uma fatura negativa destinada a compensar um valor de uma fatura que difere do valor realmente pago (por ter pago a mais ou por devolução de produtos, por Exemplo).

Nota: Tenha em conta que a fatura original a corrigir deve ter sido fechada (' paga' ou ' paga parcialmente ') para poder realizar uma nota de crédito. invoiceAvoirWithLines=Criar Nota de Crédito conforme a fatura original @@ -36,6 +37,7 @@ ReplacementByInvoice=Substituído por Fatura CorrectInvoice=Corrigir Fatura %s CorrectionInvoice=Fatura de correção UsedByInvoice=Usada para pagar a fatura %s +ConsumedBy=Consumida por NotConsumed=Sem Consumo NoReplacableInvoice=Sem Faturas Retificáveis NoInvoiceToCorrect=Sem Faturas a Corrigir @@ -53,12 +55,15 @@ SuppliersInvoices=Faturas de Fornecedores SupplierBill=Fatura de Fornecedor SupplierBills=Faturas de Fornecedores Payment=Pagamento +PaymentBack=Reembolso Payments=Pagamentos +PaymentsBack=Reembolsos PaidBack=Reembolso DatePayment=Data de Pagamento DeletePayment=Eliminar o Pagamento ConfirmDeletePayment=Tem certeza que quer eliminar este pagamento? ConfirmConvertToReduc=Quer converter este deposito numa redução futura?
O valor deste deposito ficará guardado para este cliente. Poderá utiliza-lo para reduzir o valor de uma próxima fatura do cliente. +SupplierPayments=Pagamentos a Fornecedores ReceivedPayments=Pagamentos Recebidos ReceivedCustomersPayments=Pagamentos Recebidos de Cliente PayedSuppliersPayments=Pagamentos pago ao fornecedores @@ -68,8 +73,13 @@ PaymentsReports=Relatórios de Pagamentos PaymentsAlreadyDone=Pagamentos Efetuados PaymentsBackAlreadyDone=Reembolsos já efetuados PaymentRule=Regra de pagamento +PaymentMode=Forma de Pagamento +PaymentTerm=Termo de pagamento +PaymentConditions=Termos de pagamento +PaymentConditionsShort=Termos de pagamento PaymentAmount=Valor a Pagar ValidatePayment=Validar Pagamento +PaymentHigherThanReminderToPay=Pagamento superior ao resto a pagar HelpPaymentHigherThanReminderToPay=Atenção, o valor de uma fatura ou mais faturas e maior do que o que resta a pagar.
Editar a sua entrada ou confirme e pense em criar uma nota de credito para o excesso recebido por cada fatura paga alem do valor da mesma. HelpPaymentHigherThanReminderToPaySupplier=Atenção, o valor do pagamento de uma ou mais contas é maior do que o resto a pagar.
Edite sua entrada, caso contrário, confirmar. ClassifyPaid=Clasificar 'pago' @@ -88,6 +98,7 @@ SendRemindByMail=Enviar Lembrete DoPayment=Emitir Pagamento DoPaymentBack=Emitir Reembolso ConvertToReduc=Converter em Redução Futura +EnterPaymentReceivedFromCustomer=Adicionar pagamento recebido de cliente EnterPaymentDueToCustomer=Realizar pagamento de recibos ao cliente DisabledBecauseRemainderToPayIsZero=Desabilitado porque o restante não pago e zero Amount=Valor @@ -97,14 +108,19 @@ BillStatusDraft=Rascunho (A Confirmar) BillStatusPaid=Pago BillStatusPaidBackOrConverted=Pago ou convertido para o desconto BillStatusConverted=Pago (pronto para fatura final) +BillStatusCanceled=Abandonada BillStatusValidated=Validada (A Pagar) BillStatusStarted=Paga Parcialmente BillStatusNotPaid=Não paga BillStatusClosedUnpaid=Fechado (não pago) BillStatusClosedPaidPartially=Pago (parcialmente) +BillShortStatusDraft=Rascunho BillShortStatusPaid=Pago BillShortStatusPaidBackOrConverted=Processado BillShortStatusConverted=Tratada +BillShortStatusCanceled=Abandonada +BillShortStatusValidated=Validada +BillShortStatusStarted=Iniciada BillShortStatusNotPaid=Nao pago BillShortStatusClosedUnpaid=Fechado BillShortStatusClosedPaidPartially=Pago (parcialmente) @@ -118,6 +134,8 @@ ErrorDiscountAlreadyUsed=Erro, desconto já utilizado ErrorInvoiceAvoirMustBeNegative=Erro, uma fatura de tipo deposito deve ter um valor negativo ErrorInvoiceOfThisTypeMustBePositive=Erro, uma fatura deste tipo deve ter um valor positivo ErrorCantCancelIfReplacementInvoiceNotValidated=Erro, não pode cancelar uma fatura que tenha sido substituída por uma outra fatura e que está status rascunho +BillFrom=Emissor +BillTo=Enviar a ActionsOnBill=Ações Sobre a fatura NewBill=Nova Fatura LastBills=As %s últimas faturas @@ -149,7 +167,9 @@ ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use esta opção se todos os outros ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=Um mau cliente, é um cliente que se recusa a pagar a sua dívida. ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=Esta escolha é utilizado quando o pagamento não está completo, porque alguns dos produtos foram devolvidos ConfirmClassifyPaidPartiallyReasonOtherDesc=Use esta opção se todos os outros não se adequar, por exemplo, na seguinte situação:
- pagamento não está completo porque alguns produtos foram enviados de volta
- montante reclamado muito importante porque um desconto foi esquecido
Em todos os casos, a quantidade deve ser corrigido no sistema de contabilidade, criando uma nota de crédito. +ConfirmClassifyAbandonReasonOther=Outro ConfirmClassifyAbandonReasonOtherDesc=Esta eleição será para qualquer outro caso. Por Exemplo a raíz da intenção de Criar uma fatura retificativa. +ConfirmCustomerPayment=Confirma o processo deste pagamento de %s %s ? ConfirmSupplierPayment=Confirma o processo deste pagamento de %s %s ? ConfirmValidatePayment=Tem certeza que quer Confirmar este pagamento (Nenhuma modificação é possível uma vez o pagamento este validado)? ValidateBill=Confirmar Fatura @@ -169,9 +189,11 @@ File=Arquivo AlreadyPaid=Pago AlreadyPaidBack=Pagamento voltou AlreadyPaidNoCreditNotesNoDeposits=Já pago (sem notas de crédito e depósitos) +Abandoned=Abandonada RemainderToPay=Restante não pago RemainderToTake=Valor restante a se levar RemainderToPayBack=Valor restante para pagar de volta +Rest=Pendente AmountExpected=Valor Reclamado ExcessReceived=Recebido em Excesso EscompteOffered=Desconto (Pagamento antecipado) @@ -186,8 +208,11 @@ RefBill=Ref. Fatura ToBill=A Faturar RemainderToBill=Falta Faturar SendBillByMail=Enviar a fatura por E-Mail +SendReminderBillByMail=Enviar um lembrete por E-Mail RelatedCommercialProposals=Orçamentos Associados +MenuToValid=A Confirmar DateMaxPayment=Data limite de Pagamento +DateEcheance=Data Vencimento DateInvoice=Data da fatura NoInvoice=Nenhuma Fatura ClassifyBill=Classificar a Fatura @@ -200,6 +225,8 @@ SetMode=Definir Modo de Pagamento Billed=Faturado RepeatableInvoice=Modelo fatura RepeatableInvoices=Modelos da fatura +Repeatable=Modelo +Repeatables=Modelos ChangeIntoRepeatableInvoice=Converter para modelo de fatura CreateRepeatableInvoice=Criar modelo de fatura CreateFromRepeatableInvoice=Criar da fatura modelo @@ -208,19 +235,37 @@ CustomersInvoicesAndPayments=Faturas a clientes e pagamentos ExportDataset_invoice_1=Faturas a clientes e linhas de fatura ExportDataset_invoice_2=Faturas a clientes e pagamentos ProformaBill=Fatura Pro-Forma: +Reduction=Redução ReductionShort=Desc. +Reductions=Descontos ReductionsShort=Desc. +Discount=Desconto +Discounts=Descontos +AddDiscount=Adicionar Desconto +AddRelativeDiscount=Criar desconto relativo EditRelativeDiscount=Alterar Desconto Relativo AddGlobalDiscount=Adicionar Desconto Fixo EditGlobalDiscounts=Alterar Descontos Globais +AddCreditNote=Criar nota de crédito ShowDiscount=Ver o Desconto +ShowReduc=Mostrar a dedução RelativeDiscount=Desconto Relativo GlobalDiscount=Desconto Fixo CreditNote=Depósito +CreditNotes=Recibos +Deposit=Depósito +Deposits=Depósitos +DiscountFromCreditNote=Desconto resultante do deposito %s DiscountFromDeposit=Pagamentos a partir de depósito na fatura %s AbsoluteDiscountUse=Este tipo de crédito não pode ser usado em um projeto antes da sua validação CreditNoteDepositUse=O projeto deve ser validado para utilizar este tipo de crédito +NewGlobalDiscount=Novo Desconto fixo NewRelativeDiscount=Novo desconto relacionado +NoteReason=Nota/Motivo +ReasonDiscount=Motivo +DiscountOfferedBy=Acordado por +DiscountStillRemaining=Descontos fixos Pendentes +DiscountAlreadyCounted=Descontos fixos já aplicados BillAddress=Endereço de Faturamento HelpEscompte=Um Desconto é um desconto acordado sobre uma fatura dada, a um cliente que realizou o seu pagamento muito antes do vencimiento. HelpAbandonBadCustomer=Este valor foi esquecido (cliente classificado como devedor) e considera-se como uma perda excepcional. @@ -234,6 +279,7 @@ InvoiceStatus=Status da Fatura InvoiceNote=Nota Fatura InvoicePaid=Fatura paga PaymentNumber=Número de Pagamento +RemoveDiscount=Eliminar Desconto WatermarkOnDraftBill=Marca de água em faturas rascunho (nada se está vazia) InvoiceNotChecked=Não há notas fiscais selecionadas CloneInvoice=Clonar Fatura @@ -248,8 +294,15 @@ TotalOfTwoDiscountMustEqualsOriginal=Total de dois novos desconto deve ser igual ConfirmRemoveDiscount=Você tem certeza que deseja remover este desconto? RelatedBill=Fatura Anexo RelatedBills=Faturas Anexos +RelatedCustomerInvoices=Faturas de clientes relacionadas +RelatedSupplierInvoices=Faturas de fornecedores relacionados LatestRelatedBill=Últimas fatura correspondente WarningBillExist=Atenção, um ou mais fatura já existem +MergingPDFTool=Mesclando ferramenta PDF + +# PaymentConditions +PaymentConditionShortRECEP=Pronto Pagamento +PaymentConditionRECEP=Pronto Pagamento PaymentConditionShort30D=30 Dias PaymentCondition30D=Pagamento a 30 Dias PaymentConditionShort30DENDMONTH=30 Dias Fim do Mês @@ -258,47 +311,76 @@ PaymentConditionShort60D=60 Dias PaymentCondition60D=Pagamento a 60 Dias PaymentConditionShort60DENDMONTH=60 Dias Fim de Mês PaymentCondition60DENDMONTH=Pagamento a 60 Dias até ao Fim do Mês +PaymentConditionShortPT_DELIVERY=Envio +PaymentConditionPT_DELIVERY=Na entrega PaymentConditionShortPT_ORDER=Em ordem PaymentConditionPT_ORDER=Em ordem +PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=50 por cento adiantado, 50 por cento na entrega FixAmount=Quantidade fixa VarAmount=Quantidade variável +# PaymentType PaymentTypeVIR=Transferência Bancaria +PaymentTypeShortVIR=Transferência PaymentTypePRE=Débito Direto Bancario PaymentTypeShortPRE=Débito Direto PaymentTypeLIQ=Espécie +PaymentTypeShortLIQ=Espécies +PaymentTypeCB=Cartão +PaymentTypeShortCB=Cartão +PaymentTypeCHQ=Cheque +PaymentTypeShortCHQ=Cheque PaymentTypeTIP=Em Dinheiro PaymentTypeShortTIP=Em Dinheiro +PaymentTypeVAD=Pagamento On Line +PaymentTypeShortVAD=Pagamento On Line PaymentTypeTRA=Letra +PaymentTypeShortTRA=Letra BankDetails=Dados Bancários BankCode=Código Banco DeskCode=Código Balcão BankAccountNumber=Número Conta +BankAccountNumberKey=Dígito Control Residence=Domicilio +IBANNumber=Código IBAN +IBAN=IBAN +BIC=BIC/SWIFT +BICNumber=Código BIC/SWIFT ExtraInfos=Informações Complementares +RegulatedOn=Pagar o ChequeNumber=Cheque N� ChequeOrTransferNumber=Cheque/Transferência n� ChequeMaker=Emissor do Cheque ChequeBank=Banco do Cheque +CheckBank=Verificar NetToBePaid=Neto a Pagar PhoneNumber=Telf. FullPhoneNumber=Telefone +TeleFax=Fax PrettyLittleSentence=Aceito o pagamento mediante cheques a meu nome dos valores em divida, na qualidade de membro de uma empresa autorizada pela Administração Fiscal. IntracommunityVATNumber=Número de ICMS Intracomunitario +PaymentByChequeOrderedTo=Pagamento Mediante Cheque Nominativo a %s enviado a PaymentByChequeOrderedToShort=Pagamento Mediante Cheque Nominativo a SendTo=- A Enviar Para PaymentByTransferOnThisBankAccount=Pagamento Mediante Trasferência Sobre a Conta Bancária Seguinte VATIsNotUsedForInvoice=* ICMS não aplicável art-293B do CGI +LawApplicationPart1=Por aplicação da lei 80.335 de 12/05/80 LawApplicationPart2=As mercadoriias permanecem em propiedade de LawApplicationPart3=Vendedor até cobrança completa de LawApplicationPart4=Os Seus Preços +LimitedLiabilityCompanyCapital=SRL com capital de +UseLine=Aplicar +UseDiscount=Aplicar Desconto UseCredit=Utilizar Crédito UseCreditNoteInInvoicePayment=Reduzir o pagamento com este depósito +MenuChequeDeposits=Depósito de Cheques MenuCheques=Administração Cheques +MenuChequesReceipts=Fichas NewChequeDeposit=Novo Depósito ChequesReceipts=Ficha Emissão de Cheques ChequesArea=Área Emissão de Cheques ChequeDeposits=Depósito de Cheques +Cheques=Cheques CreditNoteConvertedIntoDiscount=Este depósito converteu-se em %s UsBillingContactAsIncoiveRecipientIfExist=Utilizar o endereço do contato de cliente de faturação da fatura em vez do endereço do Fornecedor como destinatário das faturas ShowUnpaidAll=Mostrar todas as faturas @@ -306,13 +388,17 @@ ShowUnpaidLateOnly=Mostrar apenas faturas em Atraso PaymentInvoiceRef=Pagamento Fatura %s ValidateInvoice=Validar a fatura Cash=em dinheiro +Reported=Atrasado DisabledBecausePayments=Não é possível uma vez já que existem alguns pagamentos CantRemovePaymentWithOneInvoicePaid=Não é possível remover o pagamento já que há pelo menos uma fatura classificada como pago ExpectedToPay=Esperando pagamento -PayedByThisPayment=Pago +PayedByThisPayment=Pago +ClosePaidInvoicesAutomatically=Classificar "Pago" todo o padrão, situação ou faturas de substituição inteiramente pago. ClosePaidCreditNotesAutomatically=Classificar "pagou" todas as notas de crédito totalmente pago de volta. AllCompletelyPayedInvoiceWillBeClosed=Todos fatura que permanecer sem pagar será automaticamente fechada ao status de "Paid". +ToMakePayment=Pagar ToMakePaymentBack=pagar tudo +ListOfYourUnpaidInvoices=Lista de faturas não pagas NoteListOfYourUnpaidInvoices=Atenção: Esta lista inclue somente faturas para terceiros para as quais voce esta conectado como vendedor. RevenueStamp=Selo da receita YouMustCreateInvoiceFromThird=Esta opção só está disponível ao criar fatura de terceiros @@ -320,6 +406,7 @@ PDFCrabeDescription=Modelo de fatura completo (ICMS, método de pagamento a most TerreNumRefModelDesc1=Mostrar número com formato %syymm-nnnn padrão para faturas e %syymm-nnnn para notas de crédito onde yy é o ano, mm mês e nnnn é uma sequência, sem interrupção e não pode mostrar o valor 0 MarsNumRefModelDesc1=Mostrar número com formato %syymm-nnnn padrão para faturas e %syymm-nnnn para notas de crédito onde yy é o ano, mm mês e nnnn é uma sequência, sem interrupção e não pode mostrar o valor 0 TerreNumRefModelError=O projeto começa começado por $syymm já existe e não é compatível com este modelo de seq�ência. Remova-o ou renomei-o para ativar este módulo. +##### Types de contacts ##### TypeContact_facture_internal_SALESREPFOLL=Responsável do acompanhamento da fatura do cliente TypeContact_facture_external_BILLING=Contato fatura cliente TypeContact_facture_external_SHIPPING=Contato envio cliente @@ -328,3 +415,20 @@ TypeContact_invoice_supplier_internal_SALESREPFOLL=Representante seguindo a fatu TypeContact_invoice_supplier_external_BILLING=Contato da Fatura de Fornecedor TypeContact_invoice_supplier_external_SHIPPING=Contato de envio do fornecedor TypeContact_invoice_supplier_external_SERVICE=Contato de servico do fornecedor +# Situation invoices +InvoiceFirstSituationAsk=Primeira situação da fatura +InvoiceFirstSituationDesc=A situação faturas são amarradas às situações relacionadas com uma progressão, por exemplo, a progressão de uma construção. Cada situação é amarrada a uma fatura. +InvoiceSituation=Situação da fatura +InvoiceSituationAsk=Fatura acompanhando a situação +InvoiceSituationDesc=Criar uma nova situação na sequência de um um já existente +SituationAmount=Situação montante da fatura (líquida) +SituationDeduction=Situação subtração +Progress=Progresso +ModifyAllLines=Modificar todas as linhas +CreateNextSituationInvoice=Criar proxima situação +NotLastInCycle=Esta fatura não é a última no ciclo e não deve ser modificado. +DisabledBecauseNotLastInCycle=A próxima situação já existe. +DisabledBecauseFinal=Esta situação é final. +CantBeLessThanMinPercent=O progresso não pode ser menor do que o seu valor na situação anterior. +NoSituations=Não há situações em aberto +InvoiceSituationLast=Fatura final e geral diff --git a/htdocs/langs/pt_BR/boxes.lang b/htdocs/langs/pt_BR/boxes.lang index 5d8843ce523..e142a668bbe 100644 --- a/htdocs/langs/pt_BR/boxes.lang +++ b/htdocs/langs/pt_BR/boxes.lang @@ -1,26 +1,37 @@ # Dolibarr language file - Source file is en_US - boxes BoxLastRssInfos=Links de informação RSS +BoxLastProducts=Últimos %s produtos/serviços BoxProductsAlertStock=Produtos em alerta de estoque +BoxLastProductsInContract=Últimos %s produtos/serviços contratados BoxLastSupplierBills=Últimas faturas de Fornecedores BoxLastCustomerBills=Últimas faturas a Clientes BoxOldestUnpaidCustomerBills=Primeira fatura pendente do cliente BoxOldestUnpaidSupplierBills=Primeira fatura pendentes do fornecedor +BoxLastProposals=Últimos Orçamentos BoxLastProspects=Últimos clientes potenciais BoxLastCustomers=Últimos clientes BoxLastSuppliers=Últimos Fornecedores BoxLastCustomerOrders=Últimos pedidos BoxLastValidatedCustomerOrders=Últimos pedidos de clientes validados +BoxLastBooks=Últimos books BoxLastActions=Últimas ações BoxLastContracts=Últimos contratos BoxLastContacts=Últimos contatos/endereços -BoxCurrentAccounts=Abrir saldo das contas -BoxTotalUnpaidCustomerBills=Total de faturas pendentes de clientes +BoxLastMembers=Últimos membros +BoxFicheInter=Últimas intervenções +BoxCurrentAccounts=Abrir Equilíbrio de contas +BoxSalesTurnover=Volume de negocio +BoxTotalUnpaidCustomerBills=Total de faturas pendentes de clientes BoxTotalUnpaidSuppliersBills=Total de faturas pendentes de fornecedores +BoxTitleLastBooks=Os %s últimos Favoritos registados +BoxTitleNbOfCustomers=Número de clientes BoxTitleLastRssInfos=As %s últimas Infos de %s BoxTitleLastProducts=Os %s últimos Produtos/Serviços Registados BoxTitleProductsAlertStock=Produtos em alerta de estoque BoxTitleLastCustomerOrders=Últimos %s Pedidos de clientes BoxTitleLastModifiedCustomerOrders=Os %s últimos pedidos de clientes modificados +BoxTitleLastSuppliers=Os %s últimos Fornecedores modificados +BoxTitleLastCustomers=Os %s últimos clientes modificados BoxTitleLastModifiedSuppliers=Últimos %s fornecedores modificados BoxTitleLastModifiedCustomers=Últimos clientes BoxTitleLastCustomersOrProspects=Os %s clientes ou orçamentos @@ -31,26 +42,33 @@ BoxTitleLastModifiedCustomerBills=As %s últimas faturas a clientes alteadas BoxTitleLastSupplierBills=As %s últimas faturas de Fornecedores registradas BoxTitleLastModifiedSupplierBills=As %s últimas faturas de Fornecedores alteradas BoxTitleLastModifiedProspects=Últimos clientes potenciais modificados +BoxTitleLastProductsInContract=Os %s últimos produtos/serviços contratados BoxTitleLastModifiedMembers=Últimos %s Membros BoxTitleLastFicheInter=As últimas % s intervenções modificadas BoxTitleOldestUnpaidCustomerBills=As %s faturas mais antigas de clientes pendente de cobrança BoxTitleOldestUnpaidSupplierBills=As %s faturas mais antigas de fornecedores pendente de pagamento -BoxTitleCurrentAccounts=Abrir saldo das contas +BoxTitleCurrentAccounts=Abrir saldos de contas +BoxTitleSalesTurnover=Volume de negocio realizado BoxTitleTotalUnpaidCustomerBills=Faturas de Clientes Pendentes de Cobrança BoxTitleTotalUnpaidSuppliersBills=Faturas de Fornecedores Pendentes de Pagamento BoxTitleLastModifiedContacts=Últimos %s contatos/endereços BoxMyLastBookmarks=Os meus últimos Favoritos BoxOldestExpiredServices=Primeiro serviços expirados ativos -BoxLastExpiredServices=Últimos %s contatos com os serviços expirados ativos +BoxLastExpiredServices=Últimos %s contatos com os serviços expirados ativos BoxTitleLastActionsToDo=As %s últimas ações a realizar -BoxTitleLastModifiedDonations=As ultimas %s doações modificadaas +BoxTitleLastContracts=Últimos contratos +BoxTitleLastModifiedDonations=As ultimas %s doações modificadaas BoxTitleLastModifiedExpenses=Últimas despesas modificadas BoxGlobalActivity=Atividade geral (notas fiscais, propostas, ordens) FailedToRefreshDataInfoNotUpToDate=Erro na atualização do fluxos RSS. Data da última atualização: %s LastRefreshDate=Data da última atualização +NoRecordedBookmarks=Não existem favoritos pessoais. Click aqui para adicionar. ClickToAdd=Clique aqui para adicionar +NoRecordedCustomers=Nenhum cliente registado NoRecordedContacts=Nenhum contato registrado NoActionsToDo=Sem ações a realizar +NoRecordedOrders=Sem pedidos de clientes registados +NoRecordedProposals=Sem Orçamentos registados NoRecordedInvoices=Sem faturas a clientes registados NoUnpaidCustomerBills=Cliente sem faturas em aberto NoRecordedSupplierInvoices=Sem faturas de Fornecedores @@ -69,8 +87,11 @@ BoxCustomersInvoicesPerMonth=Faturas de cliente por mês BoxSuppliersInvoicesPerMonth=Faturas de fornecedor por mês BoxCustomersOrdersPerMonth=Pedidos de clientes por mês BoxSuppliersOrdersPerMonth=Pedidos de fornecedor por mês +BoxProposalsPerMonth=Propostas por mês NoTooLowStockProducts=Nenhum produto abaixo do limite de estoque BoxProductDistribution=Produtos / Serviços e distribuição BoxProductDistributionFor=Distribuição de para ForCustomersInvoices=Faturas de Clientes ForCustomersOrders=Ordem de clientes +ForProposals=Orçamentos +LastXMonthRolling=O último mês de rolamento %s diff --git a/htdocs/langs/pt_BR/categories.lang b/htdocs/langs/pt_BR/categories.lang index 241cec78db8..2d3cc7ead40 100644 --- a/htdocs/langs/pt_BR/categories.lang +++ b/htdocs/langs/pt_BR/categories.lang @@ -1,16 +1,110 @@ # Dolibarr language file - Source file is en_US - categories +Rubrique=Tag / Categoria +Rubriques=Tags / Categorias +categories=tags / categorias +TheCategorie=A tag / categoria +NoCategoryYet=Nenhuma tag / categoria deste tipo criado In=Em +AddIn=Adicionar em +modify=Modificar +Classify=Classificar +CategoriesArea=Área Tags / Categorias +ProductsCategoriesArea=Products/Services tags/categories area +SuppliersCategoriesArea=Área tags / categorias de Fornecedores +CustomersCategoriesArea=Área tags / categorias de Clientes +ThirdPartyCategoriesArea=Third parties tags/categories area +MembersCategoriesArea=Members tags/categories area +ContactsCategoriesArea=Área tags / categorias de Contatos +MainCats=Principais tags / categorias +SubCats=Sub-Categorias +CatStatistics=Estatísticas +CatList=Lista de tags / categorias +AllCats=Todas as tags / categorias +ViewCat=Ver tag / categoria +NewCat=Adicionar tag / categoria +NewCategory=Nova tag / categoria +ModifCat=Modificar tag / categoria +CatCreated=Tag / categoria criada +CreateCat=Criar tag / categoria +CreateThisCat=Criar esta tag / categoria +ValidateFields=Confirmar os campos NoSubCat=Esta categoria não contém Nenhuma subcategoria. +SubCatOf=Subcategoria +FoundCats=Found tags/categories +FoundCatsForName=Tags / categorias encontradas para o nome: +FoundSubCatsIn=Subcategorias encontradas no tag / categoria +ErrSameCatSelected=Você selecionou a mesma tag / categoria várias vezes +ErrForgotCat=Você esqueceu de escolher o tag / categoria ErrForgotField=Esqueceu de atribuir um campo ErrCatAlreadyExists=Este nome esta sendo utilizado +AddProductToCat=Adicionar este produto a um tag / categoria? +ImpossibleAddCat=Impossível adicionar a tag / categoria +ImpossibleAssociateCategory=Impossível associar o tag / categoria +WasAddedSuccessfully=Foi adicionado com êxito. +ObjectAlreadyLinkedToCategory=Elemento já está ligada a esta tag / categoria. +CategorySuccessfullyCreated=Esta tag / categoria %s foi adicionado com sucesso. +ProductIsInCategories=Produto / serviço está ligada à seguintes tags / categorias +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=Esse membro está vinculado a seguintes membros tags / categorias +ContactIsInCategories=Este contato é ligado à sequência de contatos tags / categorias +ProductHasNoCategory=Este produto / serviço não está em nenhuma tags / categorias +SupplierHasNoCategory=Este fornecedor não está em nenhum tags / categorias +CompanyHasNoCategory=This thirdparty is not in any tags/categories +MemberHasNoCategory=Este membro não está em nenhum tags / categorias +ContactHasNoCategory=Este contato não está em nenhum tags / categorias +ClassifyInCategory=Adicionar para tag / categoria +NoneCategory=Nenhuma +NotCategorized=Sem tag / categoria +CategoryExistsAtSameLevel=Esta categoria já existe na mesma localização +ReturnInProduct=Voltar à ficha produto/serviço +ReturnInSupplier=Voltar à ficha fornecedor +ReturnInCompany=Voltar à ficha cliente/cliente potencial ContentsVisibleByAll=O Conteúdo Será Visivel por Todos? ContentsVisibleByAllShort=Conteúdo visivel por todos ContentsNotVisibleByAllShort=Conteúdo não visivel por todos +CategoriesTree=Tags/categories tree +DeleteCategory=Excluir tag / categoria +ConfirmDeleteCategory=Tem certeza de que deseja excluir esta tag / categoria? +RemoveFromCategory=Remover o link com tag / categoria +RemoveFromCategoryConfirm=Tem certeza de que deseja desvincular a operação do tag / categoria? +NoCategoriesDefined=Nenhuma tag / categoria definida +SuppliersCategoryShort=Fornecedores tag / categoria +CustomersCategoryShort=Clientes tag / categoria +ProductsCategoryShort=Produtos tag / categoria +MembersCategoryShort=Membros tag / categoria +SuppliersCategoriesShort=Fornecedores tags / categorias +CustomersCategoriesShort=Clientes tags / categorias +CustomersProspectsCategoriesShort=Cat. Clientes/Potenciais +ProductsCategoriesShort=Produtos tags / categorias +MembersCategoriesShort=Tag / categorias de Membros +ContactCategoriesShort=Contatos tags / categorias ThisCategoryHasNoProduct=Esta categoria não contém nenhum produto. ThisCategoryHasNoSupplier=Esta categoria não contém a nenhum fornecedor. ThisCategoryHasNoCustomer=Esta categoria não contém a nenhum cliente. ThisCategoryHasNoMember=Esta categoria nao contem nenhum membro. ThisCategoryHasNoContact=Esta categoria nao contem nenhum contato. +AssignedToCustomer=Atribuir a um cliente +AssignedToTheCustomer=Atribuido a um cliente +InternalCategory=Categoria Interna +CategoryContents=Tag/category contents +CategId=ID Tag / categoria +CatSupList=Lista de fornecedores tags / categorias +CatCusList=List of customer/prospect tags/categories +CatProdList=Lista de produtos tags / categorias +CatMemberList=Lista de membros tags / categorias +CatContactList=Lista de contatos tags / categorias +CatSupLinks=Ligações entre fornecedores e tags / categorias +CatCusLinks=Links between customers/prospects and tags/categories +CatProdLinks=Links between products/services and tags/categories +CatMemberLinks=Ligações entre os membros e tags / categorias +DeleteFromCat=Remover de tags / categoria +DeletePicture=Apagar foto +ConfirmDeletePicture=Confirmar eliminação de fotografias ExtraFieldsCategories=atributos complementares +CategoriesSetup=Configuração Tags / categorias +CategorieRecursiv=Link with parent tag/category automatically CategorieRecursivHelp=Se ativado, o produto também será ligada a categoria original quando adicionando em uma subcategoria AddProductServiceIntoCategory=Adicione o seguinte produto / serviço +ShowCategory=Mostrar tag / categoria diff --git a/htdocs/langs/pt_BR/commercial.lang b/htdocs/langs/pt_BR/commercial.lang index e714cacf5f4..23c5499800e 100644 --- a/htdocs/langs/pt_BR/commercial.lang +++ b/htdocs/langs/pt_BR/commercial.lang @@ -1,15 +1,25 @@ # Dolibarr language file - Source file is en_US - commercial +Commercial=Comercial CommercialArea=Área Comercial +CommercialCard=Ficha Comercial +CustomerArea=Área de Clientes +Customer=Cliente +Customers=Clientes +Prospect=Cliente Potencial +Prospects=Clientes Potenciais DeleteAction=Eliminar um evento/tarefa NewAction=Novo evento/tarefa AddAction=Criar evento/tarefa AddAnAction=Criar um evento/tarefa AddActionRendezVous=Criar evento tipo Rendez-vous +Rendez-Vous=Reunião ConfirmDeleteAction=Você tem certeza que deseja excluir este evento/tarefa? CardAction=Ficha de evento PercentDone=Percentual completo ActionOnCompany=Tarefa relativa à empresa ActionOnContact=Tarefa relativa a um contato +TaskRDV=Reunião +TaskRDVWith=Reunião com %s ShowTask=Visualizar tarefa ShowAction=Visualizar evento ActionsReport=Relatório de eventos @@ -23,6 +33,8 @@ ErrorWrongCode=Código Incorreto NoSalesRepresentativeAffected=Nenhum Comercial Afetado ShowCustomer=Ver Cliente ShowProspect=Ver Clientes Potenciais +ListOfProspects=Lista de Clientes Potenciais +ListOfCustomers=Lista de Clientes LastDoneTasks=As %s últimas Ações Efetuadas LastRecordedTasks=últimas Ações Registradas LastActionsToDo=As %s últimas Ações não Completadas @@ -36,6 +48,7 @@ SendPropalRef=Confirmação de proposta comercial %s SendOrderRef=Confirmação da ordem %s StatusNotApplicable=Não aplicavel StatusActionToDo=A Realizar +StatusActionDone=Realizado MyActionsAsked=Ações que Registei MyActionsToDo=Ações que tenho que fazer MyActionsDone=Ações que me afetam @@ -47,22 +60,31 @@ LastProspectToContact=A Contactar LastProspectContactInProcess=Contato em Curso LastProspectContactDone=Clientes Potenciais Contactados DateActionPlanned=Data Planificação +DateActionDone=Data realização ActionAskedBy=Ação Questionada por -ActionAffectedTo=Responsável pelo evento +ActionAffectedTo=Evento atribuído a ActionDoneBy=Ação Realizada por ActionUserAsk=Registrada por ErrorStatusCantBeZeroIfStarted=Se o campo 'Ficha de Realização' tiver dados a ação está em curso, por isso o campo 'Estado' não pode ser 0%%. ActionAC_TEL=Chamada Telefônica ActionAC_FAX=Envio Fax ActionAC_PROP=Envio Orçamento por Correio +ActionAC_EMAIL=Envio E-Mail +ActionAC_RDV=Reunião ActionAC_INT=Intervenção no lugar ActionAC_FAC=Envio Fatura por Correio ActionAC_REL=Lembrete fatura por correio +ActionAC_CLO=Fechar ActionAC_EMAILING=Envio mailing massivo ActionAC_COM=Envio Pedido por Correio ActionAC_SHIP=Enviar Por E-Mail ActionAC_SUP_ORD=Enviar pedido de fornecedor por e-mail ActionAC_SUP_INV=Enviar fatura de fornecedor por e-mail +ActionAC_OTH=Outro +ActionAC_OTH_AUTO=Outros (eventos inseridos automaticamente) +ActionAC_MANUAL=Eventos inseridos manualmente +ActionAC_AUTO=Eventos inseridos automaticamente +Stats=Estatisticas de Venda CAOrder=Ordem CA FromTo=A partir de %s até %s MargeOrder=Ordem da Margem diff --git a/htdocs/langs/pt_BR/companies.lang b/htdocs/langs/pt_BR/companies.lang index 3f5b2428e93..9ee63169576 100644 --- a/htdocs/langs/pt_BR/companies.lang +++ b/htdocs/langs/pt_BR/companies.lang @@ -8,20 +8,29 @@ ConfirmDeleteCompany=Tem certeza que quer excluir esta empresa e toda a informa DeleteContact=Excluir um contato ConfirmDeleteContact=Tem certeza que quer excluir este contato e toda a sua informação inerente? MenuNewThirdParty=Novo cliente/fornecedor +MenuNewCompany=Nova Empresa +MenuNewCustomer=Novo Cliente MenuNewProspect=Novo cliente em potencial MenuNewSupplier=Novo fornecedor +MenuNewPrivateIndividual=Novo Particular +MenuSocGroup=Grupos NewCompany=Nova Empresa (cliente em potencial, cliente, fornecedor) NewThirdParty=Novo cliente/fornecedor (cliente em potencial, cliente, fornecedor) NewSocGroup=Novo grupo de empresas NewPrivateIndividual=Nova pessoa física (cliente em potencial, cliente, fornecedor) CreateDolibarrThirdPartySupplier=Criar um fornecedor +ProspectionArea=Área de prospeção SocGroup=Agrupamento de empresas IdThirdParty=ID do cliente/fornecedor +IdCompany=Id Empresa IdContact=Id Contato Contacts=Contatos ThirdPartyContacts=Contatos de clientes/fornecedores ThirdPartyContact=Contato/Endereço de cliente/fornecedor StatusContactValidated=Estado do Contato +Company=Empresa +CompanyName=Razão Social +Companies=Empresas CountryIsInEEC=País da Comunidadeee Económica Europeia ThirdPartyName=Nome do cliente/fornecedor ThirdParty=Cliente/Fornecedor @@ -29,56 +38,227 @@ ThirdParties=Clientes/Fornecedores ThirdPartyAll=Clientes/Fornecedores (Todos) ThirdPartyProspects=Clientes em potencial ThirdPartyProspectsStats=Clientes em potencial +ThirdPartyCustomers=Clientes +ThirdPartyCustomersStats=Clientes +ThirdPartyCustomersWithIdProf12=Clientes com %s ó %s +ThirdPartySuppliers=Fornecedores ThirdPartyType=Tipo de cliente/fornecedor +Company/Fundation=Empresa/Associação +Individual=Particular ToCreateContactWithSameName=Criar automaticamente um contato fisico com a mesma informação ParentCompany=Casa Mãe Subsidiary=Subsidiário Subsidiaries=Subsidiários NoSubsidiary=Sem subsidiário +ReportByCustomers=Relatório por cliente +ReportByQuarter=Relatório por trimestre +CivilityCode=Código cortesía RegisteredOffice=Domicilio Social +Name=Nome +Lastname=Apelidos +Firstname=Primeiro Nome +PostOrFunction=Posto/Função +UserTitle=Título +Surname=Pseudonimo Address=Endereço +State=Distrito +Region=Região +Country=País CountryCode=Código País CountryId=ID do país +Phone=Telefone +Skype=Skype Call=Ligar +Chat=Chat +PhonePro=Telef. Trabalho PhonePerso=Telef. Particular +PhoneMobile=Telemovel No_Email=Não envie e-mails em massa +Fax=Fax Zip=Código Postal Town=Município +Web=Web +Poste= Posição DefaultLang=Linguagem por padrão VATIsUsed=Sujeito a ICMS VATIsNotUsed=Não Sujeito a ICMS CopyAddressFromSoc=Preencha com o endereço do cliente/fornecedor NoEmailDefined=Não tem email definido -LocalTax1IsUsedES=Sujeito a RE -LocalTax1IsNotUsedES=Não sujeito a RE -LocalTax2IsUsedES=Sujeito a IRPF -LocalTax2IsNotUsedES=Não sujeito a IRPF +##### Local Taxes ##### +LocalTax1IsUsedES= Sujeito a RE +LocalTax1IsNotUsedES= Não sujeito a RE +LocalTax2IsUsedES= Sujeito a IRPF +LocalTax2IsNotUsedES= Não sujeito a IRPF +LocalTax1ES=RE +LocalTax2ES=IRPF TypeLocaltax1ES=RE Tipo TypeLocaltax2ES=IRPF Tipo +TypeES=Tipo +ThirdPartyEMail=%s WrongCustomerCode=Código cliente incorreto WrongSupplierCode=Código do fornecedor incorreto +CustomerCodeModel=Modelo de código cliente +SupplierCodeModel=Modelo de código fornecedor +Gencod=Código de barras +##### 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=ID profesional 1 +ProfId2=ID profesional 2 +ProfId3=ID profesional 3 +ProfId4=ID profesional 4 ProfId5=ID profesional 5 ProfId6=ID profesional 6 +ProfId1AR=Prof Id 1 (CUIT/CUIL) ProfId2AR=Prof Id 2 (Receitas brutas) +ProfId3AR=- +ProfId4AR=- +ProfId5AR=- +ProfId6AR=- +ProfId1AU=ABN +ProfId2AU=- +ProfId3AU=- +ProfId4AU=- +ProfId5AU=- +ProfId6AU=- ProfId1BE=Núm da Ordem +ProfId2BE=- +ProfId3BE=- +ProfId4BE=- +ProfId5BE=- +ProfId6BE=- +ProfId1BR=- +ProfId2BR=IE (Inscricao Estadual) +ProfId3BR=IM (Inscricao Municipal) +ProfId4BR=CPF +#ProfId5BR=CNAE +#ProfId6BR=INSS +ProfId1CH=- +ProfId2CH=- +ProfId3CH=Número federado +ProfId4CH=Núm. Registo de Comércio +ProfId5CH=- +ProfId6CH=- +ProfId1CL=Prof Id 1 (R.U.T.) +ProfId2CL=- +ProfId3CL=- +ProfId4CL=- +ProfId5CL=- +ProfId6CL=- +ProfId1CO=Prof Id 1 (R.U.T.) +ProfId2CO=- +ProfId3CO=- +ProfId4CO=- +ProfId5CO=- +ProfId6CO=- +ProfId1DE=Prof Id 1 (USt.-IdNr) +ProfId2DE=Prof Id 2 (USt.-Nr) +ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId4DE=- +ProfId5DE=- +ProfId6DE=- +ProfId1ES=Prof Id 1 (CIF/NIF) ProfId2ES=Prof Id 2 (Número do seguro social) +ProfId3ES=Prof Id 3 (CNAE) +ProfId4ES=Prof Id 4 (Collegiate number) +ProfId5ES=- +ProfId6ES=- +ProfId1FR=SIREN +ProfId2FR=SIRET +ProfId3FR=NAF (Ex APE) +ProfId4FR=RCS/RM +ProfId5FR=- +ProfId6FR=- +ProfId1GB=Número Registo +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 (Taxa de Serviço) +ProfId4IN=Prof Id 4 +ProfId5IN=Prof Id 5 +ProfId6IN=- +ProfId1MA=Id prof. 1 (R.C.) +ProfId2MA=Id prof. 2 (Patente) +ProfId3MA=Id prof. 3 (I.F.) +ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId5MA=- +ProfId6MA=- +ProfId1MX=Prof Id 1 (R.F.C). +ProfId2MX=Prof Id 2 (R..P. IMSS) ProfId3MX=Prof Id 3 (Carta Profissional) +ProfId4MX=- +ProfId5MX=- +ProfId6MX=- +ProfId1NL=KVK nummer +ProfId2NL=- +ProfId3NL=- +ProfId4NL=Burgerservicenummer (BSN) +ProfId5NL=- +ProfId6NL=- +ProfId1PT=NIPC +ProfId2PT=Núm. Segurança Social +ProfId3PT=Num. Reg. Comercial +ProfId4PT=Conservatória +ProfId5PT=- +ProfId6PT=- +ProfId1SN=RC +ProfId2SN=NINEA +ProfId3SN=- +ProfId4SN=- +ProfId5SN=- +ProfId6SN=- +ProfId1TN=RC +ProfId2TN=Matrícula Fiscal +ProfId3TN=Código na Alfandega +ProfId4TN=CCC +ProfId5TN=- +ProfId6TN=- ProfId1RU=Id prof 1 (I.E.) ProfId2RU=Id prof 2 (I.M.) ProfId3RU=Id prof. 3 (CGC) ProfId4RU=Id prof. 4 (Livre) +ProfId5RU=- +ProfId6RU=- VATIntra=Cadastro Nacional Pessoa Juridica - CNPJ +VATIntraShort=CNPJ +VATIntraVeryShort=CNPJ +VATIntraSyntaxIsValid=Sintaxe Válida +VATIntraValueIsValid=Valor Válido ProspectCustomer=Cliente em potencial/Cliente +Prospect=Cliente em potencial +CustomerCard=Ficha de Cliente +Customer=Cliente +CustomerDiscount=Desconto Cliente +CustomerRelativeDiscount=Desconto Cliente Relativo +CustomerAbsoluteDiscount=Desconto Cliente Fixo +CustomerRelativeDiscountShort=Desconto Relativo +CustomerAbsoluteDiscountShort=Desconto Fixo CompanyHasRelativeDiscount=Este cliente tem um Desconto por default de %s%% CompanyHasNoRelativeDiscount=Este cliente não tem Descontos relativos por default CompanyHasAbsoluteDiscount=Este cliente tem %s %s Descontos fixos disponíveis CompanyHasCreditNote=Este cliente tem %s %s recibos disponíveis CompanyHasNoAbsoluteDiscount=Este cliente não tem mais Descontos fixos disponíveis CustomerAbsoluteDiscountAllUsers=Descontos fixos em curso (acordado por todos os Usuário) +CustomerAbsoluteDiscountMy=Descontos fixos em curso (acordados Pessoalmente) DefaultDiscount=Desconto por Fefeito AvailableGlobalDiscounts=Descontos Fixos Disponíveis +DiscountNone=Nenhuma +Supplier=Fornecedor +CompanyList=Lista de Empresas AddContact=Criar contato AddContactAddress=Criar contato/endereço EditContact=Editar contato @@ -88,21 +268,34 @@ ContactsAddresses=Contatos/Enderecos NoContactDefinedForThirdParty=Nenhum contato definido para este cliente/fornecedor NoContactDefined=Nenhum contato definido DefaultContact=Contato por Padrao +AddCompany=Criar empresa AddThirdParty=Criar cliente/fornecedor +DeleteACompany=Eliminar uma Empresa +PersonalInformations=Informação Pessoal +AccountancyCode=Código Contabilidade +CustomerCode=Código Cliente SupplierCode=Código do fornecedor +CustomerAccount=Conta Cliente SupplierAccount=Conta do fornecedor +CustomerCodeDesc=Código único cliente para cada cliente SupplierCodeDesc=Código do fornecedor, único para cada fornecedor RequiredIfCustomer=Requerida se for cliente ou cliente em potencial RequiredIfSupplier=Obrigatório se for fornecedor +ValidityControledByModule=Validação Controlada pelo Módulo +ThisIsModuleRules=Esta é a regra para este módulo LastProspect=último cliente em potencial ProspectToContact=Cliente em potencial a contatar +CompanyDeleted=A Empresa "%s" foi Eliminada ListOfContacts=Lista de Contatos/Endereços ListOfContactsAddresses=Lista de Contatos/Endereços ListOfProspectsContacts=Lista de Contatos Clientes Potenciais ListOfCustomersContacts=Lista de Contatos Clientes ListOfSuppliersContacts=Lista de contatos de fornecedores +ListOfCompanies=Lista de Empresas ListOfThirdParties=Lista de clientes/fornecedores +ShowCompany=Mostar Empresa ShowContact=Mostrar Contato +ContactsAllShort=Todos (sem filtro) ContactType=Tipo de Contato ContactForOrders=Contato para Pedidos ContactForProposals=Contato de Orçamentos @@ -116,23 +309,50 @@ NewContact=Novo Contato NewContactAddress=Novo Contato/Endereço LastContacts=Últimos contatos MyContacts=Meus Contatos +Phones=Telefones +Capital=Capital +CapitalOf=Capital Social de %s +EditCompany=Modificar Empresa EditDeliveryAddress=Modificar Endereço de Envio ThisUserIsNot=Este usuário não é um cliente em potencial, nem um cliente, nem um fornecedor +VATIntraCheck=Verificar VATIntraCheckDesc=o link %s permite consultar à serviço europeo de control de números de ICMS intracomunitario. Se requer acesso a internet para que o serviço funcione VATIntraCheckURL=http://www.receita.fazenda.gov.br/pessoajuridica/cnpj/cnpjreva/cnpjreva_solicitacao.asp VATIntraCheckableOnEUSite=Verificar na web da Comisión Europea VATIntraManualCheck=pode também realizar uma verificação manual na web europea
configuração do módulo Impostos para modificar regras de cálculo TaxModuleSetupToModifyRulesLT=Ir para Configurações da Empresa para modificar as regras de calculação OptionMode=Opção de Administração Contabilidade OptionModeTrue=Opção Depositos/Despesas +OptionModeVirtual=Opção Créditos/Dividas OptionModeTrueDesc=Neste método, o balanço calcula-se sobre a base das faturas pagas.\nA validade dos valores não está garantida pois a Administração da Contabilidade pasa rigurosamente pelas entradas/saidas das contas mediante as faturas.\nNota : Nesta Versão, Dolibarr utiliza a data da fatura ao estado ' Validada ' e não a data do estado ' paga '. OptionModeVirtualDesc=neste método, o balanço se calcula sobre a base das faturas validadas. pagas o não, aparecen ao resultado em quanto sejam discolocaçãos. FeatureIsSupportedInInOutModeOnly=função disponível somente ao modo contas CREDITOS-dividas (Véase a configuração do módulo contas) VATReportBuildWithOptionDefinedInModule=Os valores aqui apresentados são calculados usando as regras definidas pela configuração do módulo Fiscal. LTReportBuildWithOptionDefinedInModule=Valores mostrados aqui são calculados usando as regras definidas nas configurações da empresa. +Param=Parametrização RemainingAmountPayment=Pagamento montante remanescente: AmountToBeCharged=O valor total a pagar: +AccountsGeneral=Contas Gerais +Account=Conta +Accounts=Contas Accountparent=Conta pai Accountsparent=Contas pai BillsForSuppliers=Faturas de Fornecedores Income=Depositos +Outcome=Despesas +ReportInOut=Resultado / Exercício +ReportTurnover=Volume de Negócios PaymentsNotLinkedToInvoice=pagamentos vinculados a Nenhuma fatura, por o que nenhum Fornecedor PaymentsNotLinkedToUser=pagamentos não vinculados a um usuário +Profit=Beneficio +AccountingResult=Resultado contábil +Balance=Saldo +Debit=Débito +Credit=Crédito Piece=Contabilidade Doc. +Withdrawal=Levantamento +Withdrawals=Levantamentos +AmountHTVATRealReceived=Total Recebido AmountHTVATRealPaid=líquido pago VATToPay=ICMS a Pagar VATReceived=ICMS Recebido @@ -33,13 +53,33 @@ LT2SupplierES=IRPF de compras LT1CustomerES=RE vendas LT1SupplierES=RE compras VATCollected=ICMS Recuperado -ToGet=Para restituir +ToPay=A Pagar +ToGet=Para restituir +SpecialExpensesArea=Área para todos os pagamentos especiais +TaxAndDividendsArea=Área Impostos, gastos sociais e dividendos +SocialContribution=Gasto social +SocialContributions=Gastos sociais MenuSpecialExpenses=Despesas especiais +MenuTaxAndDividends=Impostos e Dividas +MenuSalaries=Salários +MenuSocialContributions=Gastos sociais +MenuNewSocialContribution=Novo gasto +NewSocialContribution=Novo gasto social +ContributionsToPay=Gastos por pagar +AccountancyTreasuryArea=Área Contabilidade/Tesouraria +AccountancySetup=Configuração Contabilidade +NewPayment=Novo Pagamento +Payments=Pagamentos PaymentCustomerInvoice=Pagamento de fatura do cliente PaymentSupplierInvoice=Pagamento de fatura do fornecedor PaymentSocialContribution=pagamento gasto social PaymentVat=Pagamento ICMS PaymentSalary=Pagamento de salário +ListPayment=Lista de pagamentos +ListOfPayments=Lista de pagamentos +ListOfCustomerPayments=Lista de pagamentos de clientes +ListOfSupplierPayments=Lista de pagamentos a Fornecedores +DatePayment=Data de Pagamento DateStartPeriod=Período de início e data DateEndPeriod=Período e data final NewVATPayment=Novo Pagamento de ICMS @@ -53,27 +93,44 @@ VATPayment=Pagamento ICMS VATPayments=Pagamentos ICMS SocialContributionsPayments=Pagamento de contribuições sociais ShowVatPayment=Ver Pagamentos ICMS +TotalToPay=Total a Pagar TotalVATReceived=Total do ICMS Recebido +CustomerAccountancyCode=Código contabilidade cliente +SupplierAccountancyCode=Código contabilidade fornecedor +AccountNumberShort=Nº de conta AccountNumber=Nº de conta +NewAccount=Nova conta +SalesTurnover=Volume de Negócio SalesTurnoverMinimum=Volume de negócios mínimo de vendas ByThirdParties=Por Fornecedor ByUserAuthorOfInvoice=Por autor da fatura AccountancyExport=exportação Contabilidade ErrorWrongAccountancyCodeForCompany=Código contabilidade incorreto para %s +SuppliersProductsSellSalesTurnover=Volume de negócio gerado por venda de produtos aos Fornecedores +CheckReceipt=Ficha de cheques +CheckReceiptShort=Ficha LastCheckReceiptShort=Ultimos %s cheques recebidos +NewCheckReceipt=Novo Cheque +NewCheckDeposit=Novo Deposito +NewCheckDepositOn=Criar Novo deposito na conta: %s +NoWaitingChecks=Não existe cheque em espera para depositar. +DateChequeReceived=Data introdução de dados de recepção cheque NbOfCheques=N� de Cheques +PaySocialContribution=Pagar uma gasto social ConfirmPaySocialContribution=? Tem certeza que quer classificar esta gasto social como paga? +DeleteSocialContribution=Eliminar gasto social ConfirmDeleteSocialContribution=? Tem certeza que quer eliminar esta gasto social? +ExportDataset_tax_1=gastos sociais e pagamentos CalcModeVATDebt=Modo% S VAT compromisso da contabilidade% s. CalcModeVATEngagement=Modo% SVAT sobre os rendimentos e as despesas% s. CalcModeDebt=Modo % s declarações de dívidas% s diz Compromisso da contabilidade . CalcModeEngagement=Modo % s rendimentos e as despesas% s contabilidade do caixa > -CalcModeLT1=Modo %sRE nas faturas dos clientes - faturas dos fornecedores%s +CalcModeLT1= Modo %sRE nas faturas dos clientes - faturas dos fornecedores%s CalcModeLT1Debt=Modo %sRE nas faturas dos clientes%s -CalcModeLT1Rec=Modo %sRE nas faturas dos fornecedores%s -CalcModeLT2=Modo %sIRPF nas faturas de clientes - fornecedores%s +CalcModeLT1Rec= Modo %sRE nas faturas dos fornecedores%s +CalcModeLT2= Modo %sIRPF nas faturas de clientes - fornecedores%s CalcModeLT2Debt=Modo %sIRPF nas faturas de clientes%s -CalcModeLT2Rec=Modo %sIRPF nas faturas de fornecedores%s +CalcModeLT2Rec= Modo %sIRPF nas faturas de fornecedores%s AnnualSummaryDueDebtMode=Balanço de receitas e despesas, resumo anual AnnualSummaryInputOutputMode=Balanço de receitas e despesas, resumo anual AnnualByCompaniesDueDebtMode=balanço de depositos e despesas, desglosado por Fornecedores, em modo %sCréditos-dividas%s chamada Contabilidade de compromisso. @@ -97,6 +154,7 @@ LT2ReportByQuartersInInputOutputMode=Relatoriopor rata IRPF VATReportByQuartersInDueDebtMode=Relatório da taxa do IVA cobrado e pago LT1ReportByQuartersInDueDebtMode=Relatorio por rata RE LT2ReportByQuartersInDueDebtMode=Relatorio por rata IRPF +SeeVATReportInInputOutputMode=Ver o Relatório %sIVA pago%s para um modo de cálculo Standard SeeVATReportInDueDebtMode=Ver o Relatório %sIVA a dever%s para um modo de cálculo com a opção sobre a divida RulesVATInServices=- No caso dos serviços, o relatório inclui os regulamentos IVA efetivamente recebidas ou emitidas com base na data de pagamento. RulesVATInProducts=- Para os bens materiais, que inclui as notas fiscais de IVA com base na data da fatura. @@ -108,14 +166,18 @@ NotUsedForGoods=Bens não utilizados ProposalStats=As estatísticas sobre as propostas OrderStats=Estatísticas de comandos InvoiceStats=As estatísticas sobre as contas +Dispatch=Repartição +Dispatched=Repartições +ToDispatch=A Repartir ThirdPartyMustBeEditAsCustomer=Fornecedor deve ser definido como um cliente SellsJournal=Diário de Vendas PurchasesJournal=Diário de Compras DescSellsJournal=Diário de Vendas DescPurchasesJournal=Diário de Compras +InvoiceRef=Ref. Fatura CodeNotDef=Não Definida AddRemind=Exibir o valor disponível -RemainToDivide=Saldo disponível +RemainToDivide= Saldo disponível WarningDepositsNotIncluded=Depósitos faturas não estão incluídos nesta versão com este módulo de contabilidade. DatePaymentTermCantBeLowerThanObjectDate=Data Prazo de pagamento não pode ser inferior a data da compra ou aquisição Pcg_version=Versão Pcg @@ -124,12 +186,17 @@ Pcg_subtype=PCG subtipo InvoiceLinesToDispatch=Linhas de nota fiscal para envio InvoiceDispatched=Faturas remetidas AccountancyDashboard=Resumo Contabilidade +ByProductsAndServices=Por produtos e serviços RefExt=Ref externo ToCreateAPredefinedInvoice=Para criar uma Fatura predefinida, criar uma fatura padrão, em seguida, sem validá-la, clique no botão "Converter para fatura pré-definida". LinkedOrder=Atalho para ordem +ReCalculate=Recalcular +Mode1=Método 1 +Mode2=Método 2 CalculationRuleDesc=Para calcular o total do VAT, há dois métodos:
Método 1 é arredondamento cuba em cada linha, em seguida, soma-los.
Método 2 é somando tudo cuba em cada linha, em seguida, o arredondamento resultado.
Resultado final pode difere de alguns centavos. O modo padrão é o modo% s. CalculationRuleDescSupplier=De acordo com o fornecedor, escolher o método adequado aplicar mesma regra de cálculo e obter mesmo resultado esperado pelo seu fornecedor. TurnoverPerProductInCommitmentAccountingNotRelevant=Relatório Volume de negócios por produto, quando se usa um modo de contabilidade de caixa não é relevante. Este relatório está disponível somente quando utilizar o modo de contabilidade engajamento (ver configuração do módulo de contabilidade). +CalculationMode=Modo de cálculo AccountancyJournal=Codigo do jornal fiscal ACCOUNTING_VAT_ACCOUNT=Codigo contavel padrao para credito VAT ACCOUNTING_VAT_BUY_ACCOUNT=Codigo contavel padrao para pagamento do VAT diff --git a/htdocs/langs/pt_BR/contracts.lang b/htdocs/langs/pt_BR/contracts.lang index 1ef7f2f6dc0..b199aba9a0e 100644 --- a/htdocs/langs/pt_BR/contracts.lang +++ b/htdocs/langs/pt_BR/contracts.lang @@ -1,25 +1,42 @@ # Dolibarr language file - Source file is en_US - contracts ContractsArea=Área Contratos ListOfContracts=Lista de Contratos +LastModifiedContracts=Os %s últimos contratos alterados AllContracts=Todos os Contratos ContractCard=Ficha Contrato +ContractStatus=Estado do Contrato ContractStatusNotRunning=Fora de Serviço +ContractStatusRunning=Em Serviço +ContractStatusDraft=Rascunho +ContractStatusValidated=Validado +ContractStatusClosed=Encerrado ServiceStatusInitial=Inativo ServiceStatusRunning=Em Serviço ServiceStatusNotLate=Rodando, nao vencido ServiceStatusNotLateShort=Nao vencido ServiceStatusLate=Em Serviço, Expirado +ServiceStatusLateShort=Expirado ServiceStatusClosed=Encerrado ServicesLegend=Legenda para os Serviços Contracts=Contratos +ContractsAndLine=Contratos e linha de contratos +Contract=Contrato NoContracts=Sem Contratos +MenuServices=Serviços MenuInactiveServices=Serviços Inativos MenuRunningServices=Serviços Ativos +MenuExpiredServices=Serviços Expirados +MenuClosedServices=Serviços Fechados +NewContract=Novo Contrato AddContract=Criar contrato +SearchAContract=Procurar um Contrato +DeleteAContract=Eliminar um Contrato +CloseAContract=Fechar um Contrato ConfirmDeleteAContract=Tem certeza que quer eliminar este contrato? ConfirmValidateContract=Tem certeza que quer Confirmar este contrato? ConfirmCloseContract=Tem certeza que quer Fechar este contrato? ConfirmCloseService=Tem certeza que quer Fechar este serviço? +ValidateAContract=Confirmar um contrato ActivateService=Ativar o serviço ConfirmActivateService=Tem certeza que quer ativar este serviço em data %s? RefContract=Referencia contrato @@ -37,6 +54,7 @@ ListOfRunningContractsLines=Lista de Linhas de Contratos em Serviço ListOfRunningServices=Lista de Serviços Ativos NotActivatedServices=Serviços Desativados (Com os Contratos Validados) BoardNotActivatedServices=Serviços a Ativar (Com os Contratos Validados) +LastContracts=Os %s últimos contratos LastActivatedServices=Os %s últimos Serviços Ativados LastModifiedServices=Os %s últimos Serviços Modificados EditServiceLine=Edição Linha do Serviço @@ -62,7 +80,10 @@ CloseAllContracts=Fechar Todos os Contratos DeleteContractLine=Eliminar a linha do contrato ConfirmDeleteContractLine=Voce tem certeza que deseja apagar esta linha de contrato ? MoveToAnotherContract=Mover o serviço a outro contrato deste Fornecedor. +ConfirmMoveToAnotherContract=Escolhi o contrato e confirmo o alterar de serviço ao presente contrato. ConfirmMoveToAnotherContractQuestion=Escolha qualquer outro contrato do mesmo Fornecedor, deseja mover este serviço? +PaymentRenewContractId=Renovação do Serviço (Numero %s) +ExpiredSince=Expirado desde RelatedContracts=Contratos relativos NoExpiredServices=Nao tem servicos ativos vencidos ListOfServicesToExpireWithDuration=Lista de servicos a vencer em %s dias @@ -71,6 +92,11 @@ ListOfServicesToExpire=Lista de servicos a vencer NoteListOfYourExpiredServices=Esta lista contém apenas contratos de serviços de terceiros as quais você está ligado como representante de vendas. StandardContractsTemplate=Modelo de contratos simples ContactNameAndSignature=Para %s, nome e assinatura: +OnlyLinesWithTypeServiceAreUsed=Somente as linhas com o tipo de "serviço" será clonado. + +##### Types de contacts ##### +TypeContact_contrat_internal_SALESREPSIGN=Comercial assinante do contrato +TypeContact_contrat_internal_SALESREPFOLL=Comercial seguimento do contrato TypeContact_contrat_external_BILLING=Contato cliente de faturação do contrato TypeContact_contrat_external_CUSTOMER=Contato cliente seguimento do contrato TypeContact_contrat_external_SALESREPSIGN=Contato cliente assinante do contrato diff --git a/htdocs/langs/pt_BR/cron.lang b/htdocs/langs/pt_BR/cron.lang index 2c7721204b6..b7dda628009 100644 --- a/htdocs/langs/pt_BR/cron.lang +++ b/htdocs/langs/pt_BR/cron.lang @@ -1,43 +1,62 @@ # Dolibarr language file - Source file is en_US - cron -About =Sobre -CronAboutPage =Pagina sobre Cron -Permission23101 =Ler tarefa agendada -Permission23102 =Criar/atualizar tarefa agendada -Permission23103 =Apagar tarefa agendada -CronSetup=Configuração do gerenciamento de trabalho agendado +# About page +About = Sobre +CronAbout = Sobre Cron +CronAboutPage = Pagina sobre Cron +# Right +Permission23101 = Leia trabalho Programado +Permission23102 = Criar / atualização de tarefa agendada +Permission23103 = Excluir trabalho agendado +Permission23104 = Executar trabalho agendado +# Admin +CronSetup= Configuração do gerenciamento de trabalho agendado URLToLaunchCronJobs=URL para checar e iniciar os cron se necessario OrToLaunchASpecificJob=Ou checkar e iniciar um specifico trabalho KeyForCronAccess=Chave seguranca para URL que lanca tarefas cron FileToLaunchCronJobs=Linha de comando para iniciar tarefas agendadas CronExplainHowToRunUnix=No ambiente Unix você deve usar a seguinte entrada crontab para executar a linha de comando a cada 5 minutos CronExplainHowToRunWin=Em ambiente Microsoft (tm) Windows, Você PODE USAR Ferramentas de Tarefa agendada Para executar a Linha de Comando de Cada 5 Minutos +# Menu CronJobs=Trabalhos programados CronListActive=Lista de tarefas ativas / Programadas CronListInactive=Lista de trabalhos nao ativos +# Page list CronDateLastRun=Ultimo acionamento CronLastOutput=Saida do ultimo acionamento CronLastResult=Codigo do ultimo resultado +CronListOfCronJobs=Lista de tarefas agendadas +CronCommand=Comando +CronList=As tarefas agendadas +CronDelete=Excluir trabalhos agendados +CronConfirmDelete=Tem certeza de que deseja apagar estes trabalhos agendados? +CronExecute=Iniciar trabalhos agendadas +CronConfirmExecute=Tem certeza de que deseja executar essas tarefas programadas agora? +CronInfo=Módulo de tarefas agendadas permitem executar trabalho que foram planejadas +CronWaitingJobs=Esperando empregos CronTask=Trabalho CronNone=Nenhum CronDtStart=Data inicio CronDtEnd=Data fim CronDtNextLaunch=Proxima execuçao CronDtLastLaunch=Ultima execuçao -CronFrequency=Frequencia -CronClass=Clase +CronFrequency=Freqüência +CronClass=Classe CronMethod=Metodo CronModule=Modulo CronAction=Açao +CronStatus=Estado CronStatusActive=Ativado CronStatusInactive=Desativado CronNoJobs=Nenhum trabalho registrado +CronPriority=Prioridade CronLabel=Descriçao CronNbRun=Nr. execuçao CronEach=Cada JobFinished=Trabalho iniciado e terminado -CronAdd=Adicionar trabalho -CronHourStart=Hora e data do inicio do trabalho -CronEvery=E execute cada tarefa +#Page card +CronAdd= Adicionar trabalho +CronHourStart= Iniciar a hora e data de emprego +CronEvery=Executar cada trabalho CronObject=Instancia/Objeto a se criar CronArgs=Parametros CronSaveSucess=Salvo corretamente @@ -48,6 +67,7 @@ CronStatusActiveBtn=Ativar CronStatusInactiveBtn=Desativar CronTaskInactive=Este trabalho foi desativado CronDtLastResult=Data ultimo resultado +CronId=Id CronClassFile=Classe (nomearquivo.class.php) CronModuleHelp=Nome do diretório do módulo Dolibarr (também trabalha com módulo Dolibarr externo). Por exemplo para buscar método do objeto Dolibarr Product /htdocs/produto/class/product.class.php, o valor do módulo é o produto CronClassFileHelp=O nome do arquivo a ser carregado.
Por exemplo para buscar método do objeto Dolibarr Product /htdocs/produtos/classe/product.class.php, o valor do nome do arquivo de classe é product.class.php @@ -55,9 +75,14 @@ CronObjectHelp=O nome do objeto a ser carregado. Por exemplo para buscar método CronMethodHelp=O método de objeto para o lançamento. Por exemplo para buscar método do objeto Dolibarr Product /htdocs/produtos/class/product.class.php, o valor do método é fecth CronArgsHelp=Os argumentos do método. Por exemplo para buscar método do objeto Product do Dolibarr /htdocs/produto/class/product.class.php, o valor de paramtetros pode ser 0, ProductRef CronCommandHelp=A linha de comando do sistema a se executar. +CronCreateJob=Criar novo trabalho agendado +# Info CronInfoPage=Informaçao -CronType=Tipo tarefa +# Common +CronType=Tipo de emprego CronType_method=Chamar metodo da classe Dolibarr CronType_command=Comando Shell +CronMenu=Cron CronCannotLoadClass=Nao e possivel carregar a classe %s ou o objeto %s UseMenuModuleToolsToAddCronJobs=Vá ao menu "Principal - Módulo de ferramentas - Lista de trabalhos" para ver e editar a programação dos trabalhos. +TaskDisabled=trabalho desativado diff --git a/htdocs/langs/pt_BR/donations.lang b/htdocs/langs/pt_BR/donations.lang index a4d3db1317d..c8ab3c4a1c0 100644 --- a/htdocs/langs/pt_BR/donations.lang +++ b/htdocs/langs/pt_BR/donations.lang @@ -6,21 +6,38 @@ Donor=Dador Donors=Dadores AddDonation=Criar uma doação NewDonation=Nova Doação +DeleteADonation=Excluir uma doação +ConfirmDeleteADonation=Tem certeza de que deseja excluir esta doação? ShowDonation=Mostrar doaçaõ +DonationPromise=Promessa de Doação +PromisesNotValid=Promessas Não Validadas +PromisesValid=Promessas Validadas DonationsPaid=Doações pagas DonationsReceived=Doações Recebidas PublicDonation=Doação Pública DonationsNumber=Número de Doações DonationsArea=Área de Doações +DonationStatusPromiseNotValidated=Promessa Não Validada +DonationStatusPromiseValidated=Promessa Validada DonationStatusPaid=Doaçaõ recebida +DonationStatusPromiseNotValidatedShort=Não Validada DonationStatusPromiseValidatedShort=Validada +DonationStatusPaidShort=Recebido +DonationTitle=Recibo de doação +DonationDatePayment=Data de pagamento +ValidPromess=Validar promessa DonationReceipt=Recibo doaçaõ +BuildDonationReceipt=Criar Recibo DonationsModels=Modelo de documento de recepção de Doação -LastModifiedDonations=As ultimas %s doações modificadaas +LastModifiedDonations=As ultimas %s doações modificadaas SearchADonation=Buscar doaçaõ DonationRecipient=Recipiente doaçaõ +ThankYou=Obrigado IConfirmDonationReception=Declaro o recebimento como doaçaõ, de seguinte montante. MinimumAmount=O montante mínimo é de %s +FreeTextOnDonations=Texto livre para mostrar no rodapé +FrenchOptions=Opções para França DONATION_ART200=Mostrar o artigo 200 do CGI se você está preocupado DONATION_ART238=Mostrar o artigo 238 do CGI se você está preocupado DONATION_ART885=Mostrar o artigo 885 do CGI se você está preocupado +DonationPayment=Pagamento doação diff --git a/htdocs/langs/pt_BR/ecm.lang b/htdocs/langs/pt_BR/ecm.lang index 950e0e3cdc3..81341af1809 100644 --- a/htdocs/langs/pt_BR/ecm.lang +++ b/htdocs/langs/pt_BR/ecm.lang @@ -31,6 +31,8 @@ ECMDocsByThirdParties=Documentos associados a fornecedores ECMDocsByProposals=Documentos associados a orçamentos ECMDocsByInvoices=Documentos associados a faturas do cliente ECMDocsByProjects=Documentos associados a projetos +ECMDocsByUsers=Documentos relacionados a usuários +ECMDocsByInterventions=Documentos ligados a intervenções ShowECMSection=Exibir pasta DeleteSection=Apagar pasta ConfirmDeleteSection=Você confirmar que quer apagar a pasta %s ? diff --git a/htdocs/langs/pt_BR/errors.lang b/htdocs/langs/pt_BR/errors.lang index 37c2f0b6559..2b494165707 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -1,5 +1,10 @@ # Dolibarr language file - Source file is en_US - errors + +# No errors NoErrorCommitIsDone=Nenhum erro, cometemos +# Errors +Error=Erro +Errors=Erros ErrorButCommitIsDone=Erros encontrados, mas que, apesar disso validar ErrorBadEMail=EMail% s está errado ErrorBadUrl=Url% s está errado @@ -11,19 +16,27 @@ ErrorFailToRenameFile=Falha ao renomear o arquivo '% s' para '% s'.%s
'. ErrorFailToCreateFile=Erro ao criar o arquivo '' ErrorFailToRenameDir=Error à renombar a pasta '%s' a '%s'. +ErrorFailToCreateDir=Erro ao criar a pasta '%s' ErrorFailToDeleteDir=Error à eliminar a pasta '%s'. ErrorFailedToDeleteJoinedFiles=impossível eliminar a entidade já que tem Arquivos anexos. Elimine antes os Arquivos anexos ErrorThisContactIsAlreadyDefinedAsThisType=Este contato já está definido como contato para este tipo. +ErrorCashAccountAcceptsOnlyCashMoney=Esta conta bancaria é de tipo Caixa e só aceita o método de pagamento de tipo especie. ErrorFromToAccountsMustDiffers=a conta origem e destino devem ser diferentes. ErrorBadThirdPartyName=Nome de Fornecedor incorreto ErrorProdIdIsMandatory=Obrigatório ErrorBadCustomerCodeSyntax=a sintaxis do código cliente é incorreta +ErrorBadBarCodeSyntax=Bad sintaxe para código de barras. Pode ser que você definir um tipo de código de barras mal ou você definida uma máscara de código de barras para a numeração que não coincide com o valor verificado. +ErrorCustomerCodeRequired=Código cliente obrigatório ErrorBarCodeRequired=Código de barras necessário +ErrorCustomerCodeAlreadyUsed=Código de cliente já utilizado ErrorBarCodeAlreadyUsed=Código de barras já utilizado +ErrorPrefixRequired=Prefixo obrigatório ErrorUrlNotValid=O Endereço do Site está incorreta ErrorBadSupplierCodeSyntax=a sintaxis do código fornecedor é incorreta +ErrorSupplierCodeRequired=Código fornecedor obrigatório +ErrorSupplierCodeAlreadyUsed=Código de fornecedor já utilizado ErrorBadParameters=parâmetros incorretos -ErrorBadValueForParameter=Valor errado, parâmetro incorreto +ErrorBadValueForParameter=Valor errado, parâmetro incorreto ErrorBadImageFormat=Arquivo imagem de formato não suportado (Seu PHP não suporta funções para converter neste formato) ErrorBadDateFormat=Valor tem o formato de data errada ErrorWrongDate=A data não está correta! @@ -59,24 +72,33 @@ ErrorLDAPSetupNotComplete=a configuração Dolibarr-LDAP é incompleta. ErrorLDAPMakeManualTest=foi criado unn Arquivo .ldif na pasta %s. Trate de gastor manualmente este Arquivo a partir da linha de comandos para Obter mais detalles acerca do error. ErrorCantSaveADoneUserWithZeroPercentage=No se pode cambiar uma acção ao estado no comenzada si tiene un usuario realizante de a acción. ErrorRefAlreadyExists=a referencia utilizada para a criação já existe +ErrorPleaseTypeBankTransactionReportName=Introduzca o Nome do registo bancario sobre a qual o escrito está constatado (formato AAAAMM ó AAAMMJJ) ErrorRecordHasChildren=não se pode eliminar o registo porque tem hijos. ErrorRecordIsUsedCantDelete=Não é possível excluir registro. Ele já é usado ou incluídos em outro objeto. ErrorModuleRequireJavascript=Javascript não deve ser desativado para ter esse recurso funcionando. Para ativar / desativar o Javascript, vá ao menu Home-> Configuração-> Display. +ErrorPasswordsMustMatch=Ambas as senhas digitadas devem corresponder entre si ErrorContactEMail=Ocorreu um erro técnico. Por favor, contate o administrador no seguinte e-mail %s e forneça o seguinte código de erro %s em sua mensagem. Ou, se possível, adicione uma foto da tela - print screen. ErrorWrongValueForField=Valor errado para o número do campo% s (valor '% s' não corresponde regra% s) +ErrorFieldValueNotIn=Valor errado para o número do campo %s (valor '%s' não é um valor disponível no campo%s da tabela% s =%s) ErrorFieldRefNotIn=Valor errado para o número do campo% s (valor '% s' não é um% s ref existente) ErrorsOnXLines=Erros no registro de origem% s (s) +ErrorFileIsInfectedWithAVirus=O programa antivírus não foi capaz de validar o arquivo (arquivo pode ser infectado por um vírus) ErrorSpecialCharNotAllowedForField=Os caracteres especiais não são permitidos para o campo "% s" ErrorDatabaseParameterWrong=Parâmetro de configuração do banco de dados '% s' tem um valor não é compatível para usar Dolibarr (deve ter o valor '% s'). ErrorNumRefModel=Uma referência existe no banco de dados (% s) e não é compatível com esta regra de numeração. Remover registro ou referência renomeado para ativar este módulo. ErrorQtyTooLowForThisSupplier=Quantidade insuficiente para este fornecedor ErrorModuleSetupNotComplete=Configuração do módulo parece ser incompleto. Vá em Setup - Módulos para ser concluído. +ErrorBadMask=Erro na máscara ErrorBadMaskFailedToLocatePosOfSequence=Erro, máscara sem número de sequência ErrorBadMaskBadRazMonth=Erro, valor de redefinição ruim +ErrorMaxNumberReachForThisMask=Número máximo de alcance para essa máscara +ErrorCounterMustHaveMoreThan3Digits=Contador deve ter mais de 3 dígitos +ErrorSelectAtLeastOne=Erro. Selecione pelo menos uma entrada. ErrorProductWithRefNotExist=O produto com referência não existem '% s' ErrorDeleteNotPossibleLineIsConsolidated=Não e possívelexcluir porque registro está ligada a uma transação bancária que está conciliada ErrorProdIdAlreadyExist=% S é atribuída a outro terço ErrorFailedToSendPassword=Erro ao enviar a senha +ErrorFailedToLoadRSSFile=Falha ao obter feed RSS. Tente adicionar MAIN_SIMPLEXMLLOAD_DEBUG constante se as mensagens de erro não fornecer informações suficientes. ErrorPasswordDiffers=As Senhas não são identicas, volte a introduzi-las ErrorForbidden=acesso não autorizado.
Tentando acessar a uma página, zona o função sem estar em uma Sessão autentificada o que não se autoriza para a sua conta de usuário. ErrorForbidden2=Os permissões para este usuário podem ser designados por o administrador Dolibarr mediante o menu %s-> %s. @@ -84,6 +106,7 @@ ErrorForbidden3=Dolibarr não parece funcionar em uma Sessão autentificada. Con ErrorNoImagickReadimage=a função imagick_readimage não está presente nesta Instalação de PHP. a resenha não está pois disponível. Os administradores podem desativar esta separador ao menu configuração - visualização. ErrorRecordAlreadyExists=registo já existente ErrorCantReadFile=Erro na leitura do arquivo '&s' +ErrorCantReadDir=Erro na leitura da pasta '%s' ErrorFailedToFindEntity=Error de leitura da entidade '%s' ErrorBadLoginPassword=Identificadores de usuário o senha incorretos ErrorLoginDisabled=a sua conta está desativada @@ -94,7 +117,8 @@ ErrorLoginHasNoEmail=Este usuário não tem e-mail. impossível continuar. ErrorBadValueForCode=Valor incorreto para o código. volte a \ttentar com um Novo valor... ErrorBothFieldCantBeNegative=Campos% se% s não pode ser tanto negativo ErrorQtyForCustomerInvoiceCantBeNegative=A quantidade nas linhas das notas de clientes não pode ser negativa -ErrorWebServerUserHasNotPermission=Conta de usuário usado para executar servidor não tem permissão +ErrorWebServerUserHasNotPermission=Conta de usuário usado para executar servidor não tem permissão +ErrorNoActivatedBarcode=Nenhum tipo de código de barras ativado ErrUnzipFails=Falha ao descompactar com ZipArchive ErrNoZipEngine=Não esta instaladoo programa para descompactar o arquivo% s neste PHP ErrorFileMustBeADolibarrPackage=O arquivo deve ser um pacote zip Dolibarr @@ -105,6 +129,7 @@ ErrorFailedToRemoveToMailmanList=Falha ao remover registro% s para% s Mailman li ErrorNewValueCantMatchOldValue=O novo valor não pode ser igual ao anterior ErrorFailedToValidatePasswordReset=Falha ao reinicializar senha. Pode ser o reinit já foi feito (este link pode ser usado apenas uma vez). Se não, tente reiniciar o processo reinit. ErrorToConnectToMysqlCheckInstance=Conecte-se ao banco de dados falhar. Verifique servidor MySQL está rodando (na maioria dos casos, você pode iniciá-lo a partir de linha de comando com o "sudo / etc / init.d / mysql start '). +ErrorFailedToAddContact=Falha ao adicionar contato ErrorDateMustBeBeforeToday=A data não pode ser maior do que hoje ErrorPaymentModeDefinedToWithoutSetup=A modalidade de pagamento foi definido para tipo% s mas a configuração do módulo de fatura não foi concluída para definir as informações para mostrar para esta modalidade de pagamento. ErrorPHPNeedModule=Erro, o PHP deve ter módulo% s instalado para usar este recurso. @@ -115,6 +140,39 @@ ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Erro, esse membro ainda não e ErrorThereIsSomeDeliveries=Erro, há algumas entregas ligados a este envio. Supressão recusou. ErrorCantDeletePaymentReconciliated=Não posso deletar o pagamento que gerou uma transação bancaria conciliada. ErrorCantDeletePaymentSharedWithPayedInvoice=Não e possivel cancelar o pagamento condiviso para pelo menos uma fatura com estado Pago +ErrorPriceExpression1=Não é possível atribuir a constante %s' +ErrorPriceExpression2=Não é possível redefinir a função built-in '%s' +ErrorPriceExpression3=variavel não definida '%s' na definição de função +ErrorPriceExpression4=Caracter Ilegal '%s' +ErrorPriceExpression5=Inesperado '%s' +ErrorPriceExpression6=Número errado de argumentos (%s dado, %s esperado) +ErrorPriceExpression8=Operador Inesperado '%s' +ErrorPriceExpression9=Ocorreu um erro inesperado +ErrorPriceExpression10=Iperator '%s' não tem operando +ErrorPriceExpression11=Esperando '%s' +ErrorPriceExpression14=Divisão por zero +ErrorPriceExpression17=Variável não definida '%s' +ErrorPriceExpression19=Expressão não encontrada +ErrorPriceExpression20=Expressão vazia +ErrorPriceExpression21=Resultado vazio '%s' +ErrorPriceExpression22=Resultado negativo '%s' +ErrorPriceExpressionInternal=Erro interno '%s' +ErrorPriceExpressionUnknown=Erro desconhecido '%s' +ErrorSrcAndTargetWarehouseMustDiffers=Origem e de destino de armazéns devem ser diferentes +ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on a product requiring lot/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified (approved or denied) before being allowed to do this action +ErrorCantSetReceptionToTotalDoneWithReceptionDenied=Todas as recepções gravadas primeiro devem ser verificada (aprovado) antes de serem autorizados a fazer esta ação +ErrorGlobalVariableUpdater0=Pedido HTTP falhou com o erro '%s' +ErrorGlobalVariableUpdater1=Formato JSON inválido '%s' +ErrorGlobalVariableUpdater2=Faltando parâmetro '%s' +ErrorGlobalVariableUpdater3=Os dados solicitados não foram encontrados no resultado +ErrorGlobalVariableUpdater4=Cliente SOAP falhou com o erro '%s' +ErrorGlobalVariableUpdater5=Nenhuma variável global selecionado +ErrorFieldMustBeANumeric=O campo %s deve ser um valor numérico +ErrorFieldMustBeAnInteger=O campo %s deve ser um inteiro +ErrorMandatoryParametersNotProvided=Parâmetro (s) de preenchimento obrigatório não fornecidas + +# Warnings WarningMandatorySetupNotComplete=Parâmetros de configuração obrigatórios ainda não estão definidos WarningSafeModeOnCheckExecDir=Atenção, a opção PHP safe_mode está em modo de comando devem ser armazenados dentro de um diretório declarado pelo php parâmetro safe_mode_exec_dir. WarningAllowUrlFopenMustBeOn=o parâmetro allow_url_fopen deve ser especificado a on ao Arquivo php.ini para discolocar deste módulo completamente ativo. deve modificar este Arquivo manualmente diff --git a/htdocs/langs/pt_BR/exports.lang b/htdocs/langs/pt_BR/exports.lang index d680c4d1145..5b70e3733cb 100644 --- a/htdocs/langs/pt_BR/exports.lang +++ b/htdocs/langs/pt_BR/exports.lang @@ -85,7 +85,7 @@ Enclosure=Recinto SuppliersProducts=Fornecedores Produtos SpecialCode=Código especial ExportStringFilter=Permite substituir um ou mais caracteres no texto -ExportDateFilter='AAAA' YYYYMM 'AAAAMMDD': filtros em um ano / mês / dia
'AAAA + AAAA' YYYYMM + YYYYMM 'AAAAMMDD + AAAAMMDD': filtros mais uma série de anos / meses / dias
> AAAA ''> YYYYMM ''> AAAAMMDD ': filtros nos seguintes anos / meses / dias
'AAAA+AAAA, AAAAMM+AAAAMM, AAAAMMDD+AAAAMMDD : filtros mais de uma gama de ano / mês / dia inicial
> AAAA, > AAAAMM, > AAAAMMDD : filtros em todos seguindo anos / meses / dias
< AAAA, < AAAAMM, < AAAAMMDD : filtros em todos os anos / meses / dias anteriores ExportNumericFilter=filtros "NNNNN" por um valor
filtros "NNNNN + NNNNN 'mais de uma faixa de valores
'> NNNNN' filtros por valores mais baixos
'> NNNNN' filtros por valores mais elevados SelectFilterFields=Se você deseja filtrar alguns valores, apenas os valores de entrada aqui. FilteredFields=Campos filtrados diff --git a/htdocs/langs/pt_BR/externalsite.lang b/htdocs/langs/pt_BR/externalsite.lang index f0669dcd138..f762322072c 100644 --- a/htdocs/langs/pt_BR/externalsite.lang +++ b/htdocs/langs/pt_BR/externalsite.lang @@ -2,3 +2,4 @@ ExternalSiteSetup=Link configuraçao ao site externo ExternalSiteURL=URL site externo ExternalSiteModuleNotComplete=Modulo SiteExterno nao foi configurado corretamente. +ExampleMyMenuEntry=Minha entrada do menu diff --git a/htdocs/langs/pt_BR/holiday.lang b/htdocs/langs/pt_BR/holiday.lang index 5286aa27371..c34e906ca64 100644 --- a/htdocs/langs/pt_BR/holiday.lang +++ b/htdocs/langs/pt_BR/holiday.lang @@ -1,23 +1,67 @@ # Dolibarr language file - Source file is en_US - holiday +HRM=HRM +Holidays=Folhas +CPTitreMenu=Folhas MenuReportMonth=Relatorio mensal +MenuAddCP=Faça um pedido de licença +NotActiveModCP=Você deve permitir módulo de folhas para visualizar esta página. +NotConfigModCP=You must configure the module Leaves to view this page. To do this, click here . +NoCPforUser=Você não tem qualquer dia disponível. +AddCP=Faça um pedido de licença +Employe=Empregado DateDebCP=Data inicio DateFinCP=Data fim DateCreateCP=Data criacão +DraftCP=Rascunho ToReviewCP=Aguardando aprovação +ApprovedCP=Aprovado +CancelCP=Cancelado RefuseCP=Negado ValidatorCP=Aprovador +ListeCP=Lista de folhas ReviewedByCP=Sera revisado por +DescCP=Descrição +SendRequestCP=Criar pedido de licença +DelayToRequestCP=Leave requests must be made at least %s day(s) before them. +MenuConfCP=Edit balance of leaves +UpdateAllCP=Atualize as folhas +SoldeCPUser=Leaves balance is %s days. ErrorEndDateCP=Você deve selecionar uma data final posterior à data inicial. ErrorSQLCreateCP=Ocorreu um erro no SQL durante a criação: +ErrorIDFicheCP=Ocorreu um erro, o pedido de licença não existe. ReturnCP=Retorne à página anterior +ErrorUserViewCP=Você não está autorizado a ler este pedido de licença. +InfosCP=Informações do pedido de licença InfosWorkflowCP=Fluxo de Trabalho de Informação RequestByCP=Requisitado por +TitreRequestCP=Deixar pedido +NbUseDaysCP=Número de dias de férias consumida +EditCP=Editar DeleteCP=Eliminar ActionValidCP=Confirmar ActionRefuseCP=Não autorizar +ActionCancelCP=Cancelar +StatutCP=Estado +SendToValidationCP=Enviar para validação +TitleDeleteCP=Excluir o pedido de licença +ConfirmDeleteCP=Confirme a eliminação do pedido de licença? +ErrorCantDeleteCP=Erro você não tem o direito de excluir este pedido de licença. +CantCreateCP=Você não tem o direito de fazer pedidos de licença. +InvalidValidatorCP=Você deve escolher um aprovador ao seu pedido de licença. +CantUpdate=Você não pode atualizar este pedido de licença. NoDateDebut=Você deve selecionar uma data inicial. NoDateFin=Você deve selecionar uma data final. +ErrorDureeCP=O seu pedido de licença não contém dia de trabalho. +TitleValidCP=Aprovar o pedido de licença +ConfirmValidCP=Tem certeza de que deseja aprovar o pedido de licença? +DateValidCP=Data aprovada +TitleToValidCP=Enviar pedido de licença +ConfirmToValidCP=Tem certeza de que deseja enviar a solicitação de licença? +TitleRefuseCP=Recusar o pedido de licença +ConfirmRefuseCP=Você está certo de que quer recusar o pedido de licença? NoMotifRefuseCP=Você deve selecionar uma razão para não autorizar a requisição. +TitleCancelCP=Cancelar o pedido de licença +ConfirmCancelCP=Tem certeza de que deseja cancelar o pedido de licença? DetailRefusCP=Motivo da recusa DateRefusCP=Data da recusa DateCancelCP=Data do cancelamento @@ -27,19 +71,45 @@ MotifCP=Razão UserCP=Usuário ErrorAddEventToUserCP=Ocorreu um erro ao adicionar a licença excepcional. AddEventToUserOkCP=A adição da licença excepcional tenha sido concluída. +MenuLogCP=Ver registos de pedidos de licença +LogCP=Log de atualizações de dias de férias disponíveis ActionByCP=Interpretada por +UserUpdateCP=Para o utilizador PrevSoldeCP=Balanço anterior NewSoldeCP=Novo Balanco +alreadyCPexist=Um pedido de licença já foi feito sobre este período. UserName=Apelidos +Employee=Empregado +FirstDayOfHoliday=Primeiro dia de férias +LastDayOfHoliday=Último dia de férias HolidaysMonthlyUpdate=A atualização mensal ManualUpdate=Atualização manual +HolidaysCancelation=Deixar pedido de cancelamento + +## Configuration du Module ## +ConfCP=Configuração do módulo de pedido de licença DescOptionCP=Descrição da opção ValueOptionCP=Valor +GroupToValidateCP=Grupo com a capacidade de aprovar os pedidos de licença ConfirmConfigCP=Validar a configuração +LastUpdateCP=Última atualização automática de alocação de folhas UpdateConfCPOK=Atualizado com sucesso. ErrorUpdateConfCP=Ocorreu um erro durante a atualização, por favor, tente novamente. +AddCPforUsers=Please add the balance of leaves allocation of users by clicking here. +DelayForSubmitCP=Prazo de fazer pedidos de licença +AlertapprobatortorDelayCP=Prevent the approbator if the leave request does not match the deadline +AlertValidatorDelayCP=Préevent the approbator if the leave request exceed delay +AlertValidorSoldeCP=Prevent the approbator if the leave request exceed the balance +nbUserCP=Número de usuários suportados nas folhas de módulo +nbHolidayDeductedCP=Número de dias de férias a ser deduzido por dia de férias tomadas +nbHolidayEveryMonthCP=Número de dias de férias adicionados a cada mês +Module27130Name= Gestão de pedidos de licença +Module27130Desc= Gestão de pedidos de licença +TitleOptionMainCP=Definições principais do pedido de licença +TitleOptionEventCP=Settings of leave requets for events ValidEventCP=Confirmar UpdateEventCP=Eventos de atualização +CreateEventCP=Criar NameEventCP=Nome do evento OkCreateEventCP=A adição do evento correu bem. ErrorCreateEventCP=Erro ao criar o evento. @@ -56,3 +126,23 @@ UpdateEventOptionCP=Modificar ErrorMailNotSend=Ocorreu um erro durante o envio de e-mail: NoCPforMonth=Não deixe este mês. nbJours=Número de dias +TitleAdminCP=Configuração das folhas +#Messages +Hello=Olá +HolidaysToValidate=Validar as solicitações de licença +HolidaysToValidateBody=Abaixo está um pedido de licença para validar +HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. +HolidaysToValidateAlertSolde=The user who made this leave reques do not have enough available days. +HolidaysValidated=Pedidos de licença validados +HolidaysValidatedBody=O seu pedido de licença para %s para %s foi validado. +HolidaysRefused=Pedido negado +HolidaysRefusedBody=O seu pedido de licença para %s para %s foi negado pelo seguinte motivo: +HolidaysCanceled=Canceled leaved request +HolidaysCanceledBody=O seu pedido de licença para %s para %s foi cancelada. +Permission20000=Read you own leave requests +Permission20001=Criar / alterar os seus pedidos de licença +Permission20002=Criar / modificar pedidos de licença para todos +Permission20003=Excluir pedidos de licença +Permission20004=Setup users available vacation days +Permission20005=Log avaliação de pedidos de licença modificados +Permission20006=Read leaves monthly report diff --git a/htdocs/langs/pt_BR/incoterm.lang b/htdocs/langs/pt_BR/incoterm.lang new file mode 100644 index 00000000000..589f47dbe0f --- /dev/null +++ b/htdocs/langs/pt_BR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Adicione recursos para gerenciar Incoterm +IncotermLabel=Incotermos +IncotermSetupTitle1=Função +IncotermSetupTitle2=Estado +IncotermSetup=Configurações do modulo Incoterm +IncotermFunctionDesc=Ativar recursos Incoterm (Terceiros, Propostas, Ordems de clientes, Faturas de clientes, Envios, Ordems de fornecedores) diff --git a/htdocs/langs/pt_BR/install.lang b/htdocs/langs/pt_BR/install.lang index 2e2532dea8c..2ea606dddd1 100644 --- a/htdocs/langs/pt_BR/install.lang +++ b/htdocs/langs/pt_BR/install.lang @@ -1,6 +1,7 @@ # Dolibarr language file - Source file is en_US - install InstallEasy=Tentámos tornar a instalação do Dolibarr o mais fácil possível. É favor seguir as instruções passo-a-passo. MiscellaneousChecks=Checkando pré-requisitos +DolibarrWelcome=Bem-vindo ao Dolibarr ConfFileExists=O arquivo de configuração conf.php existe. ConfFileDoesNotExists=Arquivo de configuração %s não existe! ConfFileDoesNotExistsAndCouldNotBeCreated=Arquivo de configuração %s não existe e não poderia ser criado! @@ -11,7 +12,13 @@ ConfFileReload=Recarregar todas as informaçoes do arquivo de configuraçao. PHPSupportSessions=Esta PHP suporta sessões. PHPSupportPOSTGETOk=Esta PHP suporta variáveis GET e POST. PHPSupportPOSTGETKo=É possível configurar o PHP não suporta variáveis POST e / ou GET. Verifique se o seu parâmetro variables_order em php.ini. +PHPSupportGD=Este suporte PHP GD gráfica funções. +PHPSupportUTF8=Este suporte PHP UTF8 funções. +PHPMemoryOK=Seu PHP max sessão memória está definido para %s. Isto deve ser suficiente. PHPMemoryTooLow=Seu PHP max sessão memória está definido para %s bytes. Isto deve ser muito baixo. Alterar o seu php.inem memory_limit para definir parâmetro para pelo menos %s bytes. +Recheck=Clique aqui para um teste mais significativo +ErrorPHPDoesNotSupportSessions=Sua instalação não suporta PHP sessões. Esta característica é necessária para tornar Dolibarr trabalho. Verifique a sua configuração do PHP. +ErrorPHPDoesNotSupportGD=Sua instalação PHP não suporta gráficos função GD. Não gráfico estarão disponíveis. ErrorPHPDoesNotSupportUTF8=Sua instalação PHP não suporta UTF8 funções. Dolibarr pode não funcionar corretamente. Resolva este antes de instalar Dolibarr. ErrorDirDoesNotExists=Diretório %s não existe. ErrorGoBackAndCorrectParameters=Ir para trás e corrigir errado parâmetros. @@ -26,54 +33,113 @@ ErrorDatabaseAlreadyExists=Base de dados' %s' já existe. IfDatabaseNotExistsGoBackAndUncheckCreate=Se não existe base de dados, volte e verifique a opção "Criar uma base de dados". IfDatabaseExistsGoBackAndCheckCreate=Caso dados já existe, volte e desmarque "Criar uma base de dados" opção. WarningBrowserTooOld=Navegador antigo. Faça a atualizaçao do seu navegador para uma versao mais recente de Firefox, Chrome ou Opera, e altamente recomendado. +PHPVersion=Versão PHP +YouCanContinue=Pode continuar... +PleaseBePatient=Por favor, seja paciente ... License=A usar licença ConfigurationFile=Arquivo de configuração WebPagesDirectory=Directoria onde armazenar as páginas web DocumentsDirectory=Directoria onde armazenar documentos enviados e/ou gerados +URLRoot=URL de raiz ForceHttps=Forcar conexoes seguras (https) CheckToForceHttps=Escolha esta opcao para forcar conexoes seguras (https).
Isto requere que o servidor web esta configurado para uso com certificado SSL. DolibarrDatabase=Base de dados Dolibarr +DatabaseChoice=Escolha de base de dados +DatabaseType=Tipo de base de dados +DriverType=Driver tipo +Server=Servidor +ServerAddressDescription=Nome ou endereço IP para o servidor de dados, normalmente 'localhost' ao banco de dados está hospedado no mesmo servidor que servidor web +ServerPortDescription=Database server port. Mantenha vazio se desconhecido. +DatabaseServer=Database server +DatabaseName=Nome da base de dados DatabasePrefix=Prefixo tabela banco de dados +Login=Login AdminLogin=Login para o administrador da base de dados Dolibarr. Deixar em branco se a conexão é feita com anônimo +Password=Password PasswordAgain=Introduza a password uma segunda vez AdminPassword=Password para o administrador da base de dados Dolibarr. Deixar em branco se a conexão é feita com anônimo CreateDatabase=Criar uma base de dados +CreateUser=Criar usuário DatabaseSuperUserAccess=Base de dados - Acesso Superuser +CheckToCreateDatabase=Verifique se caixa de dados não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para o superusuário em conta, na parte inferior desta página. +CheckToCreateUser=Caixa de login, se não existe e deve ser criado.
Neste caso, você deve preencher o login / senha para o superusuário em conta, na parte inferior desta página. Experimental=(experimental, não operacional) +Deprecated=(Obsoleto) +DatabaseRootLoginDescription=Login do usuário permissão para criar novas bases de dados ou de novos usuários, inútil se o seu banco de dados e seu banco de dados já existe login (como quando você está hospedado por um provedor de hospedagem da web). KeepEmptyIfNoPassword=Deixar em branco se o usuário não tiver password SaveConfigurationFile=Gravar configuração ConfigurationSaving=A gravar... ServerConnection=Conexão ao servidor +DatabaseConnection=Conexão à base de dados DatabaseCreation=Database criação UserCreation=Usuário criação CreateDatabaseObjects=Criação dos objetos na base de dados... +ReferenceDataLoading=Dados de base a carregar... TablesAndPrimaryKeysCreation=Tabelas e chaves primárias criação +CreateTableAndPrimaryKey=Criar tabela %s +CreateOtherKeysForTable=Crie chaves estrangeiras e índices para a tabela %s +OtherKeysCreation=Chaves estrangeiras e índices criação +FunctionsCreation=Funções criação AdminAccountCreation=A criar login do Administradore PleaseTypePassword=Por favor escreva uma password, passwords vazias não são permitidas ! PleaseTypeALogin=Por favor escreva um login ! PasswordsMismatch=As passwords diferem, tente novamente sff ! +SetupEnd=Fim da Configuração SystemIsInstalled=Instalação completa. SystemIsUpgraded=Dolibarr foi atualizado com êxito. +YouNeedToPersonalizeSetup=Agora necessita de configurar o Dolibarr por forma a corresponder às suas necessidades (aspecto, funcionalidades, ...). Para tal clique no seguinte link: AdminLoginCreatedSuccessfuly=Login de Administrador criado com sucesso. GoToDolibarr=Vai para Dolibarr GoToSetupArea=Prosseguir para a área de configuração MigrationNotFinished=A versao do banco de dados nao e competamente atualizada, voce tera que aviar o processo de atualizacao novamente. GoToUpgradePage=Vai para a pagina de atualizaçao novamente +Examples=Exemplos +WithNoSlashAtTheEnd=Sem a barra "/" no final DirectoryRecommendation=É recomendado que você ponha esta directry das páginas da web diretório. +LoginAlreadyExists=Já existe +DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr conta administrador ' %s' já existe. WarningRemoveInstallDir=Atenção, por razões de segurança, uma vez que a instalação ou atualização estiver completa, você deve remover o diretório de instalação ou renomeá-lo para install.lock a fim de evitar o seu uso malicioso. ThisPHPDoesNotSupportTypeBase=PHP Este sistema não suporta qualquer tipo de interface para acesso de dados %s +FunctionNotAvailableInThisPHP=Não disponível neste PHP +MigrateScript=Migrar script +ChoosedMigrateScript=Escolhido migrar script +DataMigration=Migração de dados DatabaseMigration=Estrutura migração de dados +ProcessMigrateScript=Script transformação +ChooseYourSetupMode=Escolha o seu modo de configuração e clique em "Iniciar" ... FreshInstall=Fresh instalar +FreshInstallDesc=Utilize este modo, se esta for a primeira instalação. Se não, este modo pode reparar uma instalação anterior incompleto, mas se você deseja atualizar sua versão, selecione "Atualizar" modo. +Upgrade=Upgrade UpgradeDesc=Use este modo se você tiver substituído Dolibarr antigos arquivos com arquivos de uma versão mais recente. Isto irá atualizar o seu banco de dados e dados. +Start=Iniciar InstallNotAllowed=Instalação não permitidas pela conf.php permissões +NotAvailable=Não disponível YouMustCreateWithPermission=Você deve criar o arquivo %s e definir permissões escrever sobre ele para instalar o servidor web durante o processo. CorrectProblemAndReloadPage=Corrija o problema e pressione a tecla F5 para recarregar página. +AlreadyDone=Já migrou DatabaseVersion=Database versão +ServerVersion=Database server version YouMustCreateItAndAllowServerToWrite=Você deve criar este diretório e para permitir que o servidor da web para escrever nela. CharsetChoice=Conjunto de caracteres escolha +CharacterSetClient=Conjunto de caracteres utilizados para páginas HTML geradas +CharacterSetClientComment=Escolher conjunto de caracteres para exibir na web.
Padrão proposto um conjunto de caracteres é o do seu banco de dados. +DBSortingCollation=Caracteres triagem fim +DBSortingCollationComment=Escolha página código que define o caráter triagem fim utilizado por base de dados. Este parâmetro é também chamado de "recolha" por alguns bancos de dados.
Esse parâmetro não pode ser definido se de dados já existe. +CharacterSetDatabase=Conjunto de caracteres para o banco de dados +CharacterSetDatabaseComment=Escolher conjunto de caracteres queria para o banco de dados criação.
Esse parâmetro não pode ser definido se de dados já existe. +YouAskDatabaseCreationSoDolibarrNeedToConnect=Você pergunta para criar base de dados %s, mas, para isso, Dolibarr necessidade de se conectar ao servidor com o super-usuário %s %s permissões. +YouAskLoginCreationSoDolibarrNeedToConnect=Você pergunta para criar base de dados login %s, mas, para isso, Dolibarr necessidade de se conectar ao servidor com o super-usuário %s %s permissões. +BecauseConnectionFailedParametersMayBeWrong=Como conexão falhou, de acolhimento ou super usuário parâmetros devem ser errado. +OrphelinsPaymentsDetectedByMethod=Orphelins pagamento detectado pelo método %s +RemoveItManuallyAndPressF5ToContinue=Removê-lo manualmente e pressione F5 para continuar. +KeepDefaultValuesWamp=Você usa o DoliWamp Setup Wizard, para valores propostos aqui já estão otimizados. Alterá-los apenas se souber o que você faz. KeepDefaultValuesDeb=Voce esta usando o assistente de configuração do Dolibarr do pacote Linux (Ubuntu, Debian, Fedora...), portanto os valores propostos aqui estao ja optimizados. O unico parametro a se completar e a senha do administrador de banco de dados. Mude outros parametros somente se voce sabe o que esta fazendo. +KeepDefaultValuesMamp=Você usa o DoliMamp Setup Wizard, para valores propostos aqui já estão otimizados. Alterá-los apenas se souber o que você faz. KeepDefaultValuesProxmox=Voçê esta usando o asistente de configuração do Dolibarr da Proxmox aplicação virtual, portanto os valores propostos aqui estão ja otimizados. Mude-os somente se voçê sabe o que esta fazendo. +FieldRenamed=Campo renomeado +IfLoginDoesNotExistsCheckCreateUser=Se login não existe ainda, você deve verificar a opção "Criar usuário" +ErrorConnection=Servidor " %s", nome do banco de dados " %s", login " %s", ou banco de dados senha pode estar errado ou PHP versão cliente pode ser muito velho para comparação de dados versão. InstallChoiceRecommanded=Versao recomendada para instalação %s da sua versao corrente %s InstallChoiceSuggested=Escolha sugerida pelo sistema de installação MigrateIsDoneStepByStep=A versão (%s) alvo tem uma lacuna de varias versões, portanto o asistente de instalação retornara com a sugestão seguinte apos terminado esta instalação. @@ -86,29 +152,53 @@ NextStepMightLastALongTime=O passo seguinte pode demorar alguns minutos. Por fav MigrationCustomerOrderShipping=Migrar espedicao para pedidos de cliente de armazenamento MigrationShippingDelivery=Atualizar armazenamento de espediçoes MigrationShippingDelivery2=Atualizar armazenamento de espediçao 2 +MigrationFinished=Migração terminada LastStepDesc=Ultimo passo: Defina aqui o usuario e a senha que voce planeja usar para conectar-se ao software. Nao perca estas credenciais, pois sao da conta que administra todas as outras contas. ActivateModule=Ativar modulo %s ShowEditTechnicalParameters=Clique aqui para mostrar/editar parametros avançados (modo avançado) +WarningUpgrade=Aviso:\nVocê realizou já um backup do banco de dados ?\nIsto é altamente recomendado: por exemplo, devido a alguns bugs em sistemas de bancos de dados (exemplo da versão 5.5.40 do mySql), alguns dados ou tabelas podem ser perdidos durante este processo, por isso é altamente recomendado ter um backup completo de seu banco de dados antes de iniciar a migração.\n\nClique em OK para iniciar o processo de migração... +ErrorDatabaseVersionForbiddenForMigration=Sua versão de banco de dados é %s. Ele tem uma perda de dados tomada de bug crítico se você fizer mudanças na estrutura de seu banco de dados, como é exigido pelo processo de migração. Por sua razão, a migração não será permitida até que você atualize seu banco de dados para uma versão fixa superior (lista de versão grampeado conhecido: %s) + +######### +# upgrade MigrationFixData=Correção para dados não normalizados +MigrationOrder=Migração de dados para os clientes "ordens +MigrationSupplierOrder=Migração de dados de Fornecedores' ordens MigrationProposal=Migração de dados de propostas comerciais MigrationInvoice=Migração de dados para os clientes "faturas +MigrationContract=Migração de dados para os contratos +MigrationSuccessfullUpdate=Atualização bem sucedida MigrationUpdateFailed=Falied atualizar processo MigrationRelationshipTables=Migração de dados para as tabelas de relação (%s) +MigrationPaymentsUpdate=Pagamento correção de dados +MigrationPaymentsNumberToUpdate=%s pagamento (s) para atualizar +MigrationProcessPaymentUpdate=Atualização pagamento (s) %s +MigrationPaymentsNothingToUpdate=Não há mais coisas para fazer MigrationPaymentsNothingUpdatable=Não mais pagamentos que podem ser corrigidos MigrationContractsUpdate=Contrato correção de dados +MigrationContractsNumberToUpdate=%s contrato (s) para atualizar +MigrationContractsLineCreation=Criar uma linha de contrato contrato ref %s +MigrationContractsNothingToUpdate=Não há mais coisas para fazer +MigrationContractsFieldDontExist=Campo fk_facture não existe mais. Nada a fazer. MigrationContractsEmptyDatesUpdate=Contrato vazio data correção MigrationContractsEmptyDatesUpdateSuccess=Contrato emtpy data correção feita com sucesso MigrationContractsEmptyDatesNothingToUpdate=Nenhum contrato vazio data para corrigir +MigrationContractsEmptyCreationDatesNothingToUpdate=Nenhum contrato data de criação para corrigir MigrationContractsInvalidDatesUpdate=Bad data valor contrato correção MigrationContractsInvalidDateFix=Corret contrato %s (Contrato date +MigrationContractsInvalidDatesNumber=%s contratos modificados MigrationContractsInvalidDatesNothingToUpdate=Não data com valor negativo para corrigir MigrationContractsIncoherentCreationDateUpdate=Bad valor contrato data de criação correção MigrationContractsIncoherentCreationDateUpdateSuccess=Bad valor contrato data de criação correção feita com sucesso MigrationContractsIncoherentCreationDateNothingToUpdate=Não mau contrato data de criação de valor para corrigir MigrationReopeningContracts=Abrir contrato encerrado pelo erro +MigrationReopenThisContract=Reabra contrato %s +MigrationReopenedContractsNumber=%s contratos modificados MigrationReopeningContractsNothingToUpdate=Não encerrado contrato para abrir MigrationBankTransfertsUpdate=Atualizar vínculos entre banco e uma transação bancária transferência +MigrationBankTransfertsNothingToUpdate=Todas as ligações são até à data MigrationShipmentOrderMatching=Sendings recepção atualização +MigrationDeliveryOrderMatching=Entrega recepção atualização MigrationDeliveryDetail=Entraga atualizada MigrationStockDetail=Atualizar valores do estoque dos produtos MigrationMenusDetail=Atualize menus das tabelas dinâmicas @@ -118,5 +208,8 @@ MigrationProjectUserResp=Dados da migração do campo fk_user_resp de llx_projet MigrationProjectTaskTime=Atualizar tempo gasto em sgundos MigrationActioncommElement=Atualizar dados nas ações MigrationPaymentMode=Migração de dados para o modo de pagamento +MigrationCategorieAssociation=Migração de categorias +MigrationEvents=Migração de eventos para adicionar proprietário evento na tabela de atribuição + ShowNotAvailableOptions=Mostrar as opções não disponíveis HideNotAvailableOptions=Esconder as opção não disponível diff --git a/htdocs/langs/pt_BR/interventions.lang b/htdocs/langs/pt_BR/interventions.lang index 391a68486cd..019238c6d71 100644 --- a/htdocs/langs/pt_BR/interventions.lang +++ b/htdocs/langs/pt_BR/interventions.lang @@ -1,30 +1,53 @@ # Dolibarr language file - Source file is en_US - interventions +Intervention=Intervenção +Interventions=Intervenções +InterventionCard=Ficha de Intervenção +NewIntervention=Nova Intervenção AddIntervention=Criar Intervenção +ListOfInterventions=Lista de Intervenções +EditIntervention=Editar ActionsOnFicheInter=Açoes na intervençao +LastInterventions=As %s últimas Intervenções +AllInterventions=Todas as Intervenções +CreateDraftIntervention=Criar Rascunho CustomerDoesNotHavePrefix=O cliente não tem prefixoo de definido InterventionContact=Contato Intervenção +DeleteIntervention=Eliminar Intervenção +ValidateIntervention=Confirmar Intervenção ModifyIntervention=Modificar intervençao +DeleteInterventionLine=Eliminar Linha de Intervenção ConfirmDeleteIntervention=Tem certeza que quer eliminar esta intervenção? ConfirmValidateIntervention=Tem certeza que quer Confirmar esta intervenção? ConfirmModifyIntervention=Tem certeza que quer modificar esta intervenção? ConfirmDeleteInterventionLine=Tem certeza que quer eliminar esta linha? +NameAndSignatureOfInternalContact=Nome e Assinatura do Participante: +NameAndSignatureOfExternalContact=Nome e Assinatura do Cliente: +DocumentModelStandard=Modelo da Norma Intervenção +InterventionCardsAndInterventionLines=Fichas e Linhas de Intervenção InterventionClassifyBilled=Classificar "Faturado" InterventionClassifyUnBilled=Classificar "à faturar" StatusInterInvoiced=Faturado RelatedInterventions=Intervençoes relativas ShowIntervention=Mostrar intervençao +SendInterventionRef=Apresentação de intervenção %s SendInterventionByMail=Enviar por E-mail intervenção InterventionCreatedInDolibarr=Intervenção %s criada InterventionValidatedInDolibarr=Intervenção %s validada InterventionModifiedInDolibarr=Intervenção %s alterada InterventionClassifiedBilledInDolibarr=Intervenção %s classificada como Faturada InterventionClassifiedUnbilledInDolibarr=Intervenção %s definida como à faturar +InterventionSentByEMail=Intervenção %s enviada por e-mail InterventionDeletedInDolibarr=Intervenção %s excluída SearchAnIntervention=Pesquisar uma intervenção +##### Types de contacts ##### TypeContact_fichinter_internal_INTERREPFOLL=Responsável do Seguimento da Intervenção +TypeContact_fichinter_internal_INTERVENING=Interveniente TypeContact_fichinter_external_BILLING=Contato do cliente da faturação da intervenção TypeContact_fichinter_external_CUSTOMER=Contato do cliente do seguimento da intervenção +# Modele numérotation +ArcticNumRefModelDesc1=Modelo de numeração genérico ArcticNumRefModelError=Ativação Impossível PacificNumRefModelDesc1=Devolve o número com o formato %syymm-nnnn onde yy é o ano, mm. O mês e nnnn um contador seq�êncial sem ruptura e sem ficar a 0 PacificNumRefModelError=Uma fatura que começa por # $$syymm existe na base e é incompativel com esta numeração. Eliminia ou renomea-la para ativar este módulo. PrintProductsOnFichinter=Imprimi produtos na ficha de intervento +PrintProductsOnFichinterDetails=intervenções gerados a partir de ordens diff --git a/htdocs/langs/pt_BR/languages.lang b/htdocs/langs/pt_BR/languages.lang index c724d9a49d9..86557683d30 100644 --- a/htdocs/langs/pt_BR/languages.lang +++ b/htdocs/langs/pt_BR/languages.lang @@ -1,7 +1,10 @@ # Dolibarr language file - Source file is en_US - languages + Language_ar_AR=Arabe Language_ar_SA=Arabe +Language_bn_BD=Bengali Language_bg_BG=Bulgaro +Language_bs_BA=Bósnio Language_ca_ES=Catalao Language_cs_CZ=Tcheco Language_da_DA=Danes @@ -9,29 +12,67 @@ Language_da_DK=Danes Language_de_DE=Alemao Language_de_AT=Alemao (Austria) Language_de_CH=Alemão (Suíça) +Language_el_GR=Grego Language_en_AU=Ingles (Australia) +Language_en_CA=Ingles (Canada) Language_en_GB=Ingles (Renho Unido) Language_en_IN=Ingles (India) Language_en_NZ=Ingles (Nova Zelandia) Language_en_SA=Ingles (Arabia Saudita) Language_en_US=Ingles (Estados Unidos) +Language_en_ZA=Inglês (África do Sul) +Language_es_ES=Espanhol +Language_es_AR=Espanhol (Argentina) +Language_es_CL=Espanhol (Chile) +Language_es_CO=Espanhol (Colômbia) +Language_es_DO=Espanhol (República Dominicana) +Language_es_HN=Espanhol (Honduras) Language_es_MX=Espanhol (Mexico) +Language_es_PY=Espanhol (Paraguai) +Language_es_PE=Espanhol (Peru) +Language_es_PR=Espanhol (Porto Rico) Language_et_EE=Estone +Language_eu_ES=Basco Language_fa_IR=Persio Language_fi_FI=Finlandes Language_fr_BE=Fançes (Belgica) Language_fr_CA=Françes (Canada) Language_fr_CH=Françes (Suiça) Language_fr_FR=Françes +Language_fr_NC=Francês (Nova Caledónia) Language_he_IL=Ebreo +Language_hr_HR=Croata Language_hu_HU=Ungeres +Language_id_ID=Indonésio Language_is_IS=Islandes +Language_it_IT=Italiano Language_ja_JP=Japones +Language_ka_GE=Georgiano +Language_kn_IN=Kannada +Language_ko_KR=Coreano +Language_lo_LA=Lao +Language_lt_LT=Lituano +Language_lv_LV=Letão +Language_mk_MK=Macedónio Language_nb_NO=Norveges (Bokmal) +Language_nl_BE=Holandês (Bélgica) Language_nl_NL=Holandês (Holanda) Language_pl_PL=Polones Language_pt_BR=Portugues (Brasil) Language_pt_PT=Portugues +Language_ro_RO=Romeno +Language_ru_RU=Russo Language_ru_UA=Russo (Ukrania) +Language_tr_TR=Turco +Language_sl_SI=Esloveno +Language_sv_SV=Sueco +Language_sv_SE=Sueco +Language_sq_AL=Albanês +Language_sk_SK=Eslovaco +Language_sw_SW=Kiswahili +Language_th_TH=Thai +Language_uk_UA=Ucraniano +Language_uz_UZ=Uzbeque +Language_vi_VN=Vietnamita Language_zh_CN=Chines Language_zh_TW=Chines (Tradicional) diff --git a/htdocs/langs/pt_BR/loan.lang b/htdocs/langs/pt_BR/loan.lang new file mode 100644 index 00000000000..119685cd22a --- /dev/null +++ b/htdocs/langs/pt_BR/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Emprestimo +Loans=Emprestimos +NewLoan=Novo emprestimo +ShowLoan=Mostrar emprestimo +PaymentLoan=Pagamento do emprestimo +ShowLoanPayment=Mostrar pagamento do emprestimo +Capital=Capital +Insurance=Seguro +Interest=Juro +Nbterms=Numero de termos +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Pagamento de empréstimo +ConfirmDeleteLoan=Confirme a exclusão deste empréstimo +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Empréstimo pago +ErrorLoanCapital=Montante do empréstimo tem de ser numérico e maior que zero. +ErrorLoanLength=Prazo do empréstimo tem de ser numérico e maior que zero. +ErrorLoanInterest=Juros anual tem de ser numérico e maior que zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Compra e Financiamento Informação +SalePriceOfAsset=Preço de venda de ativos +PercentageDown=Percentagem de Down +LengthOfMortgage=Duração do Mortgage +AnnualInterestRate=Taxa de juros anual +ExplainCalculations=Explique Cálculos +ShowMeCalculationsAndAmortization=Mostre-me os cálculos e amortização +MortgagePaymentInformation=Informação do pagamento de hipoteca +DownPayment=Pagamento Inicial +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Valor Financiado +AmortizationMonthlyPaymentOverYears=Amortização de pagamento mensal: %s%de %s ao longo dos anos +Totalsforyear=Os totais de ano +MonthlyPayment=Pagamento Mensal +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuração do módulo de empréstimo +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/pt_BR/mails.lang b/htdocs/langs/pt_BR/mails.lang index 69d44f38411..1c2610c14b2 100644 --- a/htdocs/langs/pt_BR/mails.lang +++ b/htdocs/langs/pt_BR/mails.lang @@ -1,11 +1,47 @@ # Dolibarr language file - Source file is en_US - mails +Mailing=Mailing +EMailing=Mailing +Mailings=Mailings +EMailings=Mailings +AllEMailings=Todos os E-Mailings +MailCard=Ficha de Mailing MailTargets=Destinatários +MailRecipients=Dsetinatarios MailRecipient=Destinatário +MailTitle=Titulo +MailFrom=Remetente +MailErrorsTo=Erros a +MailReply=Responder a MailTo=Destinatário(s) MailCC=Copiar para +MailCCC=Adicionar Cópia a +MailTopic=Assunto do e-mail +MailText=Mensagem MailFile=Arquivo +MailMessage=Mensagem do e-mail +ShowEMailing=Mostrar E-Mailing +ListOfEMailings=Lista de mailings +NewMailing=Novo Mailing +EditMailing=Editar Mailing ResetMailing=Limpar Mailing +DeleteMailing=Eliminar Mailing +DeleteAMailing=Eliminar um Mailing +PreviewMailing=Previsualizar um Mailing +PrepareMailing=Preparar Mailing +CreateMailing=Criar E-Mailing +MailingDesc=Esta página permite enviar e-mails a um grupo de pessoas. MailingResult=Resultado do envio de e-mails +TestMailing=Teste mailing +ValidMailing=Confirmar Mailing +ApproveMailing=Aprovar Mailing +MailingStatusDraft=Rascunho +MailingStatusValidated=Validado +MailingStatusApproved=Aprovado +MailingStatusSent=Enviado +MailingStatusSentPartialy=Enviado Parcialmente +MailingStatusSentCompletely=Enviado Completamente +MailingStatusError=Erro +MailingStatusNotSent=Não Enviado MailSuccessfulySent=E-mail enviado corretamente (de %s a %s) MailingSuccessfullyValidated=Emailins validado com sucesso MailUnsubcribe=Desenscrever @@ -13,13 +49,19 @@ Unsuscribe=Desenscrever MailingStatusNotContact=Nao contactar mais ErrorMailRecipientIsEmpty=A endereço do destinatário está vazia WarningNoEMailsAdded=nenhum Novo e-mail a Adicionar à lista destinatários. +ConfirmValidMailing=Confirma a validação do mailing? +ConfirmResetMailing=Confirma a limpeza do mailing? +ConfirmDeleteMailing=Confirma a eliminação do mailing? +NbOfRecipients=Número de destinatários NbOfUniqueEMails=N� de e-mails únicos NbOfEMails=N� de E-mails TotalNbOfDistinctRecipients=Número de destinatários únicos NoTargetYet=Nenhum destinatário definido AddRecipients=Adicionar destinatários RemoveRecipient=Eliminar destinatário +CommonSubstitutions=Substituições comuns YouCanAddYourOwnPredefindedListHere=Para Criar o seu módulo de seleção e-mails, tem que ir a htdocs/core/modules/mailings/README. +EMailTestSubstitutionReplacedByGenericValues=Em modo teste, as Variávels de substituição são sustituidas por valores genéricos MailingAddFile=Adicionar este Arquivo NoAttachedFiles=Sem arquivos anexos BadEMail=Valor errado para e-mail @@ -29,11 +71,13 @@ CloneContent=Clonar mensagem CloneReceivers=Clonar recebidores DateLastSend=Data ultimo envio DateSending=Data envio +SentTo=Enviado para %s +MailingStatusRead=Ler CheckRead=Ler recebidor YourMailUnsubcribeOK=O e-mail %s foi removido com sucesso da lista MailtoEMail=Hyper-link ao e-mail ActivateCheckRead=Permitir uso do atalho "Desenscrever" -ActivateCheckReadKey=Chave principal para criptar URL de uso para funções "Ler destinatario" e "Desenscrever" +ActivateCheckReadKey=Chave usada para criptografar URL usado para "confirmação de leitura" e recurso "Unsubcribe" EMailSentToNRecipients=E-mail enviado para %s destinatarios. XTargetsAdded=%s destinatários adicionados à lista de destino EachInvoiceWillBeAttachedToEmail=Documento usando o modelo de fatura padrão que será criado e anexado a cada e-mail. @@ -43,8 +87,11 @@ RemindSent=%s lembrete(s) de envio AllRecipientSelectedForRemind=Todos os endereços de e-mails dos representantes selecionados (note que será enviada uma mensagem por fatura) NoRemindSent=Sem lembrete de e-mail enviado ResultOfMassSending=Resultado do lembretes de envio em massa de e-mails + +# Libelle des modules de liste de destinataires mailing MailingModuleDescContactCompanies=Contatos de Fornecedores (clientes potenciais, clientes, Fornecedores...) MailingModuleDescDolibarrUsers=Usuários de Dolibarr que tem e-mail +MailingModuleDescFundationMembers=Membros que tem e-mail MailingModuleDescEmailsFromFile=E-Mails de um Arquivo (e-mail;Nome;Vários) MailingModuleDescEmailsFromUser=Entrar e-mails de usuario (email;sobrenome;nome;outro) MailingModuleDescContactsCategories=Fornecedores com e-mail (por categoria) @@ -56,25 +103,41 @@ MailingModuleDescContactsByFunction=Contatos/Enderecos de terceiros (por posiç LineInFile=Linha %s em arquivo RecipientSelectionModules=Módulos de seleção dos destinatários MailSelectedRecipients=Destinatários selecionados +MailingArea=Área mailings +LastMailings=Os %s últimos mailings TargetsStatistics=Estatísticas destinatários NbOfCompaniesContacts=Contatos únicos de empresas MailNoChangePossible=Destinatários de um mailing validado não modificaveis +SearchAMailing=Procurar um mailing +SendMailing=Enviar mailing +SendMail=Enviar e-mail +SentBy=Enviado por MailingNeedCommand=Para razões de segurança, o envio de um mailing em massa e melhor quando feito da linha de comando. Se voce tem uma, pergunte ao seu administrador de serviço de executar o comando seguinte para enviar o mailing em massa a todos os destinatarios: MailingNeedCommand2=Pode enviar em linha adicionando o parâmetro MAILING_LIMIT_SENDBYWEB com um valor número que indica o máximo n� de e-mails enviados por Sessão. ConfirmSendingEmailing=Caso voçê não pode ou prefere envia-los do seu www navegador, por favor confirme que voce tem certeza que quer enviar um mailing em massa do seu navegador ? LimitSendingEmailing=Observação: Envios de mailings em massa da interface web são feitas em varias vezes por causa de segurança e tempo limite, %s destinatarios por sessão de envio. +TargetsReset=Limpar lista ToClearAllRecipientsClickHere=Para limpar a lista dos destinatários deste mailing, faça click ao botão ToAddRecipientsChooseHere=Para Adicionar destinatários, escoja os que figuran em listas a continuação NbOfEMailingsReceived=Mailings em massa recebidos NbOfEMailingsSend=E-mails em massa enviados +IdRecord=ID registo +DeliveryReceipt=Recibo de recpção YouCanUseCommaSeparatorForSeveralRecipients=Pode usar o caracter0 de separação coma para especificar multiplos destinatários. TagCheckMail=Seguir quando o e-mail sera lido TagUnsubscribe=Atalho para se desenscrever TagSignature=Assinatura do remetente TagMailtoEmail=E-mail destinatario +# Module Notifications +Notifications=Notificações +NoNotificationsWillBeSent=Nenhuma notificação por e-mail está prevista para este evento e empresa +ANotificationsWillBeSent=1 notificação vai a ser enviada por e-mail +SomeNotificationsWillBeSent=%s Notificações vão ser enviadas por e-mail AddNewNotification=Ativar uma nova notificação email para alvo ListOfActiveNotifications=Listar todos os alvos ativos para notificação de email ListOfNotificationsDone=Listar todas as notificações de e-mail enviadas MailSendSetupIs=Configuração do envio de e-mails foi configurado a '%s'. Este modo não pode ser usado para envios de massa de e-mails. MailSendSetupIs2=Voçê precisa primeiramente acessar com uma conta de Administrador o menu %sInicio - Configurações - EMails%s para mudar o parametro '%s' para usar o modo '%s'. Neste modo voçê pode entrar a configuração do servidor SMTP fornecido pelo seu Provedor de Acesso a Internet e usar a funcionalidade de envios de massa de EMails. MailSendSetupIs3=Se tiver perguntas sobre como configurar o seu servidor SMTP voçê pode perguntar %s. +YouCanAlsoUseSupervisorKeyword=Você também pode adicionar a palavra-chave __SUPERVISOREMAIL__ ter e-mail que está sendo enviado ao supervisor do usuário (só funciona se um email é definido para este supervisor) +NbOfTargetedContacts=Número atual de e-mails de contatos direcionados diff --git a/htdocs/langs/pt_BR/main.lang b/htdocs/langs/pt_BR/main.lang index 2c65942015a..989404992d0 100644 --- a/htdocs/langs/pt_BR/main.lang +++ b/htdocs/langs/pt_BR/main.lang @@ -1,5 +1,9 @@ # 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=, @@ -19,42 +23,69 @@ FormatDateHourShort=%d/%m/%Y %I:%M %p FormatDateHourSecShort=%d/%m/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b, %Y, %I:%M %p FormatDateHourText=%d %B, %Y, %I:%M %p +DatabaseConnection=Login à Base de Dados +NoTranslation=Sem tradução NoRecordFound=Registro nao encontrado NoError=Sem erro +Error=Erro +ErrorFieldRequired=O campo '%s' é obrigatório ErrorFieldFormat=O campo '%s' tem um valor incorreto ErrorFileDoesNotExists=O Arquivo %s não existe ErrorFailedToOpenFile=Impossível abrir o arquivo %s +ErrorCanNotCreateDir=Impossível criar a pasta %s +ErrorCanNotReadDir=Impossível ler a pasta %s +ErrorConstantNotDefined=Parâmetro %s não definido +ErrorUnknown=Erro desconhecido +ErrorSQL=Erro de SQL ErrorLogoFileNotFound=O arquivo logo '%s' não se encontra +ErrorGoToGlobalSetup=Ir á configuração ' Empresa/Instituição ' para corrigir +ErrorGoToModuleSetup=Ir á configuração do módulo para corrigir ErrorFailedToSendMail=Erro ao envio do e-mail (emissor ErrorAttachedFilesDisabled=A Administração dos arquivos associados está desativada neste servidor ErrorFileNotUploaded=O arquivo não foi possível transferir +ErrorInternalErrorDetected=Erro detectado +ErrorNoRequestRan=Nenhuma petição realizada +ErrorWrongHostParameter=Parâmetro Servidor inválido ErrorYourCountryIsNotDefined=O seu país não está definido. corrija indo a Configuração-Geral-Editar ErrorRecordIsUsedByChild=Impossível de suprimir este registo. Esta sendo utilizado como pai pelo menos em um registo filho. ErrorWrongValue=Valor incorreto ErrorWrongValueForParameterX=Valor incorreto do parâmetro %s +ErrorNoRequestInError=Nenhuma petição em erro ErrorServiceUnavailableTryLater=Serviço não disponível atualmente. Volte a execução mais tarde. +ErrorDuplicateField=Duplicado num campo único +ErrorSomeErrorWereFoundRollbackIsDone=Encontraram-se alguns erros. Modificações desfeitas. ErrorConfigParameterNotDefined=O parâmetro %s não está definido ao arquivo de configuração Dolibarr conf.php. ErrorCantLoadUserFromDolibarrDatabase=Impossível encontrar o usuário %s na base de dados do Dolibarr. ErrorNoVATRateDefinedForSellerCountry=Erro, nenhum tipo de ICMS definido para o país '%s'. ErrorNoSocialContributionForSellerCountry=Erro, nenhum tipo de contribuição social definido para o pais '%s'. ErrorFailedToSaveFile=Erro, o registo do arquivo falhou. +SetDate=Definir data SelectDate=Selecionar uma data SeeAlso=Ver tambem %s SeeHere=veja aqui BackgroundColorByDefault=Cor do fundo padrão +FileNotUploaded=O arquivo nao foi carregado +FileUploaded=O arquivo foi carregado com sucesso FileWasNotUploaded=O arquivo foi selecionado, mas nao foi ainda enviado. Clique no "Anexar arquivo" para proceder. NbOfEntries=Nr. de entradas GoToWikiHelpPage=Ler ajuda online ( necesita de acosso a internet) GoToHelpPage=Consulte a ajuda (pode necessitar de acesso à internet) +RecordSaved=Registo Guardado RecordDeleted=Registro apagado LevelOfFeature=Nível de funções +NotDefined=Não Definida DefinedAndHasThisValue=Definido e valor para +IsNotDefined=indefinido DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr está configurado em modo de autenticação %s ao arquivo de configuração conf.php.
Eso significa que a base de dados das Senhas é externa a Dolibarr, por eso toda modificação deste campo pode resultar sem efeito alguno. +Administrator=Administrador +Undefined=Não Definido PasswordForgotten=Esqueceu de da sua senha? SeeAbove=Mencionar anteriormente +HomeArea=Área Principal LastConnexion=último login PreviousConnexion=último login ConnectedOnMultiCompany=Conectado no ambiente +ConnectedSince=Conectado desde AuthenticationMode=Modo autenticação RequestedUrl=Url solicitada DatabaseTypeManager=Tipo de gerente de base de dados @@ -62,66 +93,144 @@ RequestLastAccess=Petição último acesso e a base de dados RequestLastAccessInError=Petição último acesso e a base de dados errado ReturnCodeLastAccessInError=Código devolvido último acesso e a base de dados errado InformationLastAccessInError=informação sobre o último acesso e a base de dados errado +DolibarrHasDetectedError=O Dolibarr detectou um erro técnico +InformationToHelpDiagnose=É aqui que a informação pode ajudar no diagnóstico +MoreInformation=Mais Informação +TechnicalInformation=Informação técnica +NotePublic=Nota (pública) +NotePrivate=Nota (privada) PrecisionUnitIsLimitedToXDecimals=Dolibarr está configurado para limitar a precisão dos preços unitários a %s Decimais. +DoTest=Teste +ToFilter=Filtrar WarningYouHaveAtLeastOneTaskLate=Atenção, tem um elemento a menos que passou a data de tolerância. yes=sim +Yes=Sim no=não +No=Não +All=Tudo +Home=Inicio +Help=Ajuda OnlineHelp=Ajuda online PageWiki=Pagina wiki +Always=Sempre +Never=Nunca +Under=Baixo +Period=Periodo PeriodEndDate=Data final periodo Activate=Ativar Activated=Ativado +Closed=Encerrado Closed2=Encerrado Enabled=Ativado +Deprecated=Obsoleto Disable=Desativar Disabled=Desativado +Add=Adicionar AddLink=Adicionar link Update=Modificar AddActionToDo=Adicionar ação a realizar AddActionDone=Adicionar ação realizada +Close=Fechar +Close2=Fechar +Confirm=Confirmar ConfirmSendCardByMail=Quer enviar esta ficha por e-mail? Delete=Eliminar Remove=Retirar +Resiliate=Cancelar +Cancel=Cancelar +Modify=Modificar +Edit=Editar Validate=Confirmar +ValidateAndApprove=Validar e Aprovar ToValidate=A Confirmar +Save=Guardar SaveAs=Guardar como TestConnection=Teste a login ToClone=Cópiar ConfirmClone=Selecciones dados que deseja Cópiar. NoCloneOptionsSpecified=Não existem dados definidos para copiar +Of=de Go=Ir Run=Attivo +CopyOf=Cópia de Show=Ver ShowCardHere=Mostrar cartão +Search=Procurar +SearchOf=Procurar +Valid=Confirmar +Approve=Aprovar +Disapprove=Desaprovar +ReOpen=Reabrir Upload=Enviar Arquivo +ToLink=Link +Select=Selecionar +Choose=Escolher ChooseLangage=Escolher o seu idioma Resize=Modificar tamanho Recenter=Recolocar no centro +Author=Autor User=Usuário Users=Usuário +Group=Grupo +Groups=Grupos NoUserGroupDefined=Nenhum grupo definido pelo usuário +Password=Senha PasswordRetype=Repetir Senha NoteSomeFeaturesAreDisabled=Antenção, só poucos módulos/funcionalidade foram ativados nesta demo +Name=Nome +Person=Pessoa +Parameter=Parâmetro +Parameters=Parâmetros +Value=Valor +GlobalValue=Valor global PersonalValue=Valor Personalizado +NewValue=Novo valor CurrentValue=Valor atual +Code=Código +Type=Tipo +Language=Idioma MultiLanguage=Multi Idioma +Note=Nota +CurrentNote=Nota atual +Title=Título +Label=Etiqueta RefOrLabel=Ref. da etiqueta +Info=Log +Family=Familia +Description=Descrição +Designation=Designação +Model=Modelo DefaultModel=Modelo Padrão Action=Ação About=Acerca de +Number=Número NumberByMonth=Numero por mes +AmountByMonth=Valor por mês +Numero=Número Limit=Límite +Limits=Limites DevelopmentTeam=Equipe de Desenvolvimento Logout=Sair NoLogoutProcessWithAuthMode=No recurso de desconexão aplicativo com modo de autenticação Connection=Login +Setup=Configuração +Alert=Alerta +Previous=Anterior +Next=Seguinte +Cards=Fichas +Card=Ficha Now=Agora +HourStart=Comece hora +Date=Data +DateAndHour=Data e hora DateStart=Data Inicio DateEnd=Data Fim +DateCreation=Data de Criação DateModification=Data Modificação DateModificationShort=Data Modif. DateLastModification=Data última Modificação DateValidation=Data Validação +DateClosing=Data de Encerramento DateDue=Data Vencimento DateValue=Data Valor DateValueShort=Data Valor @@ -130,22 +239,71 @@ DateOperationShort=Data Op. DateLimit=Data Límite DateRequest=Data Consulta DateProcess=Data Processo +DatePlanShort=Data Planif. +DateRealShort=Data Real +DateBuild=Data da geração do Relatório +DatePayment=Data de pagamento +DateApprove=Data de aprovação +DateApprove2=Data de aprovação (segunda aprovação) +DurationYear=Ano +DurationMonth=Mês +DurationWeek=Semana DurationDay=Día +DurationYears=Anos +DurationMonths=Meses +DurationWeeks=Semanas +DurationDays=Dias +Year=Ano +Month=Mês +Week=Semana Day=Día +Hour=Hora +Minute=Minuto +Second=Segundo +Years=Anos +Months=Meses +Days=Dias days=Dias +Hours=Horas +Minutes=Minutos +Seconds=Segundos Weeks=Semandas +Today=Hoje +Yesterday=Ontem +Tomorrow=Amanhã Morning=Manha +Afternoon=Tarde Quadri=Trimistre +MonthOfDay=Dia do mês +HourShort=H +MinuteShort=mn +Rate=Tipo UseLocalTax=Incluindo taxa +Bytes=Bytes +KiloBytes=Kilobytes +MegaBytes=Megabytes +GigaBytes=Gigabytes +TeraBytes=Terabytes +b=b. +Kb=Kb +Mb=Mb +Gb=Gb +Tb=Tb +Cut=Cortar +Copy=Copiar +Paste=Colar Default=Padrao DefaultValue=Valor por default DefaultGlobalValue=Valor global +Price=Preço UnitPrice=Preço Unit. UnitPriceHT=Preço Base UnitPriceTTC=Preço Unit. Total PriceU=Preço Unit. PriceUHT=Preço Unit. +AskPriceSupplierUHT=UP net solicitada PriceUTTC=Preço Unit. Total +Amount=Valor AmountInvoice=Valor Fatura AmountPayment=Valor Pagamento AmountHTShort=Valor (neto) @@ -159,30 +317,59 @@ AmountLT1ES=Valor RE AmountLT2ES=Valor IRPF AmountTotal=Valor Total AmountAverage=Valor médio +PriceQtyHT=Preço para a quantidade total +PriceQtyMinHT=Preço quantidade min total +PriceQtyTTC=Preço total para a quantidade +PriceQtyMinTTC=Preço quantidade min. total +Percentage=Percentagem +Total=Total +SubTotal=Subtotal TotalHTShort=Total (neto) TotalTTCShort=Total (incl. taxas) TotalHT=Valor TotalHTforthispage=Total (sem impostos) desta pagina TotalTTC=Total +TotalTTCToYourCredit=Total a crédito TotalVAT=Total do ICMS TotalLT1=Total taxa 2 TotalLT2=Total taxa 3 +TotalLT1ES=Total RE +TotalLT2ES=Total IRPF IncludedVAT=ICMS incluido HT=Sem ICMS TTC=ICMS Incluido VAT=ICMS +LT1ES=RE +LT2ES=IRPF VATRate=Taxa ICMS +Average=Média +Sum=Soma +Delta=Divergencia +Module=Módulo +Option=Opção +List=Lista +FullList=Lista Completa +Statistics=Estatísticas OtherStatistics=Outras estatisticas +Status=Estado Favorite=Favorito +ShortInfo=Info. +Ref=Ref. +ExternalRef=Ref. extern RefSupplier=Ref. Fornecedor RefPayment=Ref. Pagamento +CommercialProposalsShort=Orçamentos Comment=Comentario Comments=Comentarios ActionsToDo=Ações a realizar ActionsDone=Ações realizadas +ActionsToDoShort=A realizar ActionsRunningshort=Iniciada +ActionsDoneShort=Realizadas ActionNotApplicable=Não aplicavel ActionRunningNotStarted=A Iniciar +ActionRunningShort=Iniciado +ActionDoneShort=Terminado ActionUncomplete=Imcompleto CompanyFoundation=Companhia/Fundação ContactsForCompany=Contatos desta empresa @@ -191,42 +378,175 @@ AddressesForCompany=Endereços para este terceiro ActionsOnCompany=Ações nesta sociedade ActionsOnMember=Eventos deste membro NActions=%s ações +NActionsLate=%s em atraso RequestAlreadyDone=Pedido ja registrado +Filter=Filtro RemoveFilter=Eliminar filtro +ChartGenerated=Gráficos gerados +ChartNotGenerated=Gráfico não gerado GeneratedOn=Gerado a %s +Generate=Gerar +Duration=Duração +TotalDuration=Duração total +Summary=Resumo +MyBookmarks=Os Meus Favoritos +OtherInformationsBoxes=Outras Caixas de informação +DolibarrBoard=Indicadores +DolibarrStateBoard=Estatísticas +DolibarrWorkBoard=Indicadores de Trabalho Available=Disponivel NotYetAvailable=Ainda não disponível +NotAvailable=Não disponível +Popularity=Popularidade +Categories=Tags / categorias +Category=Tag / categoria +By=Por +From=De to=para +and=e +or=ou +Other=Outro +Others=Outros +OtherInformations=Outras Informações +Quantity=quantidade +Qty=Quant. +ChangedBy=Modificado por +ApprovedBy=Aprovado por +ApprovedBy2=Aprovado pelo (segunda aprovação) +Approved=Aprovado +Refused=Recusado +ReCalculate=Recalcular +ResultOk=Éxito +ResultKo=Erro +Reporting=Relatório +Reportings=Relatórios +Draft=Rascunho +Drafts=Drafts +Validated=Validado +Opened=Aberto +New=Novo +Discount=Desconto +Unknown=Desconhecido +General=General +Size=Tamanho +Received=Recebido +Paid=Pago +Topic=Assunto +ByCompanies=Por empresa ByUsers=Por usuário +Links=Links +Link=Link +Receipts=Recibos +Rejects=Reprovado +Preview=Preview +NextStep=Passo Seguinte +PreviousStep=Passo Anterior +Datas=Dados +None=Nenhum +NoneF=Nenhuma +Late=Atraso +Photo=Foto +Photos=Fotos +AddPhoto=Adicionar foto +Login=Login CurrentLogin=Login atual +January=Janeiro +February=Fevereiro +March=Março +April=Abril +May=Maio +June=Junho +July=Julho +August=Agosto +September=Setembro +October=Outubro +November=Novembro +December=Dezembro +JanuaryMin=Jan FebruaryMin=Fev +MarchMin=Mar AprilMin=Abr MayMin=Mai +JuneMin=Jun +JulyMin=Jul AugustMin=Ago SeptemberMin=Set OctoberMin=Out +NovemberMin=Nov DecemberMin=Dez +Month01=Janeiro +Month02=Fevereiro +Month03=Março +Month04=Abril +Month05=Maio +Month06=Junho +Month07=Julho +Month08=Agosto +Month09=Setembro +Month10=Outubro +Month11=Novembro +Month12=Dezembro +MonthShort01=Jan MonthShort02=Fev +MonthShort03=Mar MonthShort04=Abr MonthShort05=Mai +MonthShort06=Jun +MonthShort07=Jul MonthShort08=Ago MonthShort09=Set MonthShort10=Out +MonthShort11=Nov MonthShort12=Dez AttachedFiles=Arquivos e Documentos Anexos FileTransferComplete=Foi transferido corretamente o Arquivo +DateFormatYYYYMM=YYYY-MM +DateFormatYYYYMMDD=YYYY-MM-DD +DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS +ReportName=Nome do Relatório ReportPeriod=Periodo de Análise +ReportDescription=Descrição +Report=Relatório +Keyword=Chave +Legend=Legenda FillTownFromZip=Indicar Município Fill=Preencher Reset=Resetar ShowLog=Ver Histórico +File=Arquivo Files=Arquivos +NotAllowed=Não Autorizado +ReadPermissionNotAllowed=Leitura não Autorizada AmountInCurrency=Valores Apresentados em %s +Example=Exemplo +Examples=Exemplos +NoExample=Sem Exemplo +FindBug=Sinalizar um bug NbOfThirdParties=Numero de Fornecedores +NbOfCustomers=Numero de Clientes +NbOfLines=Numeros de Linhas NbOfObjects=Numero de Objetos NbOfReferers=Numero de Referencias Referers=Referindo-se objetos +TotalQuantity=Quantidade Total +DateFromTo=De %s a %s +DateFrom=A partir de %s +DateUntil=Até %s +Check=Verificar +Uncheck=Desmarque +Internal=Interno +External=Externo +Internals=Internos +Externals=Externos +Warning=Alerta +Warnings=Alertas +BuildPDF=Gerar o PDF +RebuildPDF=Recriar o PDF +BuildDoc=Gerar o doc +RebuildDoc=Recriar o doc +Entity=Entidade Entities=Entidadees +EventLogs=Log CustomerPreview=Historico Cliente SupplierPreview=Historico Fornecedor AccountancyPreview=Historico Contabilidade @@ -234,66 +554,142 @@ ShowCustomerPreview=Ver Historico Cliente ShowSupplierPreview=Ver Historico Fornecedor ShowAccountancyPreview=Ver Historico Contabilidade ShowProspectPreview=Ver Historico Cliente Potencial +RefCustomer=Ref. Cliente +Currency=Moeda +InfoAdmin=Informação para os administradores +Undo=Desfazer +Redo=Refazer +ExpandAll=Expandir tudo +UndoExpandAll=Anular Expansão +Reason=Razão +FeatureNotYetSupported=Funcionalidade ainda não suportada +CloseWindow=Fechar Janela +Question=Pregunta +Response=Resposta +Priority=Prioridade SendByMail=Enviado por e-mail +MailSentBy=Mail enviado por +TextUsedInTheMessageBody=Texto utilizado no corpo da mensagem +SendAcknowledgementByMail=Envio rec. por e-mail +NoEMail=Sem e-mail NoMobilePhone=Sem celular Owner=Proprietário +DetectedVersion=Versão Detectada +FollowingConstantsWillBeSubstituted=As seguintes constantes serão substituidas pelo seu valor correspondente. Refresh=Atualizar +BackToList=Mostar Lista +GoBack=Voltar CanBeModifiedIfOk=Pode modificarse se é valido CanBeModifiedIfKo=Pode modificarse senão é valido +RecordModifiedSuccessfully=Registo modificado com êxito RecordsModified=%s registros modificados +AutomaticCode=Criação automática de código +NotManaged=Não gerado FeatureDisabled=Função Desativada +MoveBox=Mover a Caixa %s +Offered=Oferta NotEnoughPermissions=Não tem permissões para esta ação +SessionName=Nome Sessão +Method=Método +Receive=Recepção +PartialWoman=Parcial +PartialMan=Parcial +TotalWoman=Total +TotalMan=Total +NeverReceived=Nunca Recebido +Canceled=Cancelado YouCanChangeValuesForThisListFromDictionarySetup=Voce pode modificar os valores para esta lista no menu Configuração - dicionario +Color=Cor +Documents=Documentos DocumentsNb=Arquivos conectados (%s) +Documents2=Documentos +BuildDocuments=Documentos Gerados UploadDisabled=Carregamento Desativada +MenuECM=Documentos +MenuAWStats=Estatisticas +MenuMembers=Membros +MenuAgendaGoogle=Agenda Google +ThisLimitIsDefinedInSetup=Límite Dolibarr (menu inicio-configuração-segurança): %s Kb, PHP limit: %s Kb +NoFileFound=Não existem documentos guardados nesta pasta CurrentUserLanguage=Idioma atual CurrentTheme=Tema atual CurrentMenuManager=Administração do menu atual DisabledModules=Módulos desativados +For=Para +ForCustomer=Para cliente +Signature=Assinatura HidePassword=Mostrar comando com senha oculta UnHidePassword=Mostrar comando com senha e a vista +Root=Raíz +Informations=Informação +Page=Página +Notes=Notas +AddNewLine=Adicionar nova linha AddFile=Adicionar arquivo ListOfFiles=Lista de arquivos disponiveis +FreeZone=Entrada livre FreeLineOfType=Entrada livre de tipo CloneMainAttributes=Clonar o objeto com estes atributos PDFMerge=Fusão de PDF Merge=Fusão PrintContentArea=Mostrar pagina a se imprimir na area principal +MenuManager=Administração do menu NoMenu=Sem sub-menu WarningYouAreInMaintenanceMode=Atenção, voce esta no modo de manutenção, somente o login %s tem permissões para uso da aplicação no momento. -CoreErrorMessage=Occoreu erro. Verifique os arquivos de log ou contate seu administrador de sistema. +CoreErrorTitle=Erro de sistema +CoreErrorMessage=Occoreu erro. Verifique os arquivos de log ou contate seu administrador de sistema. CreditCard=Cartão de credito FieldsWithAreMandatory=Campos com %s são obrigatorios FieldsWithIsForPublic=Campos com %s são mostrados na lista publica de membros. Se não deseja isto, deselecione a caixa "publico". AccordingToGeoIPDatabase=(conforme a convenção GeoIP) +Line=Linha NotSupported=Não suportado RequiredField=Campo obrigatorio +Result=Resultado +ToTest=Teste ValidateBefore=Precisa de um cartão valido antes de usar esta função +Visibility=Visibilidade +Private=Privado Hidden=Escondido Resources=Resorsas +Source=Fonte +Prefix=Prefixo +Before=Antes +After=Depois IPAddress=endereco IP Frequency=Frequencia IM=Mensagems instantaneas +NewAttribute=Novo atributo AttributeCode=Codigo do atributo OptionalFieldsSetup=Configuração dos atributos extra URLPhoto=URL da photo/logo +SetLinkToThirdParty=Atalho para outro terceiro CreateDraft=Criar RascunhoCriar rascunho SetToDraft=Voltar para modo rascunho +ClickToEdit=Clique para editar ObjectDeleted=Objeto %s apagado +ByCountry=Por país +ByTown=Por cidade +ByDate=Por data ByMonthYear=Por mes/ano ByYear=Por ano ByMonth=Por mes ByDay=Por día BySalesRepresentative=Por vendedor representante -LinkedToSpecificUsers=Conectado com um contato particular do usuario +LinkedToSpecificUsers=Conectado com um contato particular do usuario DeleteAFile=Apagar arquivo -ConfirmDeleteAFile=Voce tem certeza que quer apagar este arquivo +ConfirmDeleteAFile=Voce tem certeza que quer apagar este arquivo +NoResults=Sem resultados +SystemTools=Ferramentas do sistema ModulesSystemTools=Ferramentas de modulos +Test=Teste +Element=Elemento NoPhotoYet=Sem fotos disponiveis no momento HomeDashboard=Resumo de inicio Deductible=Deduzivel from=de toward=para +Access=Acesso HelpCopyToClipboard=Use Ctrl+C para copiar para o clipboard SaveUploadedFileWithMask=Salvar arquivo no servidor com nome "%s" (alternativamente "%s") OriginFileName=Nome original do arquivo @@ -305,5 +701,41 @@ XMoreLines=%s linha(s) escondidas PublicUrl=URL pública AddBox=Adicionar caixa SelectElementAndClickRefresh=Selecionar um elemento e clickar atualizar +PrintFile=Imprimir arquivo %s +ShowTransaction=Mostrar transação +GoIntoSetupToChangeLogo=Vá para casa - Configuração - Empresa de mudar logotipo ou ir para casa - Setup - Display para esconder. +Deny=Negar +Denied=Negado +ListOfTemplates=Lista de modelos +Genderman=Homem +Genderwoman=Mulher +# Week day +Monday=Segunda-feira +Tuesday=Terça-feira +Wednesday=Quarta-feira +Thursday=Quinta-feira +Friday=Sexta-feira Saturday=Sabado +Sunday=Domingo +MondayMin=Seg +TuesdayMin=Ter +WednesdayMin=Qua +ThursdayMin=Qui +FridayMin=Sex SaturdayMin=Sab +SundayMin=Dom +Day1=Segunda-Feira +Day2=Terça-Feira +Day3=Quarta-Feira +Day4=Quinta-Feira +Day5=Sexta-Feria +Day6=Sábado +Day0=Domingo +ShortMonday=Seg +ShortTuesday=Ter +ShortWednesday=Qua +ShortThursday=Qui +ShortFriday=Sex +ShortSaturday=Sab +ShortSunday=Dom +SelectMailModel=Escolha um modelo de e-mail diff --git a/htdocs/langs/pt_BR/margins.lang b/htdocs/langs/pt_BR/margins.lang index c47d5c64b57..716bdea3b78 100644 --- a/htdocs/langs/pt_BR/margins.lang +++ b/htdocs/langs/pt_BR/margins.lang @@ -11,6 +11,7 @@ MarginDetails=Detalhes de margem ProductMargins=Margem de produtos CustomerMargins=Margems de clientes SalesRepresentativeMargins=Tolerância aos representante de vendas +UserMargins=Margens do Usuário ProductService=Produto ou serviço Launch=Inicio ForceBuyingPriceIfNull=Forcar preço de compra se nulo diff --git a/htdocs/langs/pt_BR/orders.lang b/htdocs/langs/pt_BR/orders.lang index d816efbdacd..b95890056e6 100644 --- a/htdocs/langs/pt_BR/orders.lang +++ b/htdocs/langs/pt_BR/orders.lang @@ -1,33 +1,98 @@ # Dolibarr language file - Source file is en_US - orders OrdersArea=Área de Pedidos de Clientes +SuppliersOrdersArea=Área de Pedidos a Fornecedores +OrderCard=Ficha Pedido OrderId=ID Pedido +Order=Pedido +Orders=Pedidos OrderLine=Linha de Comando +OrderFollow=Seguimento +OrderDate=Data Pedido OrderToProcess=Pedido a se processar +NewOrder=Novo Pedido +ToOrder=Realizar Pedido +MakeOrder=Realizar Pedido +SupplierOrder=Pedido a Fornecedor +SuppliersOrders=Pedidos a Fornecedores +SuppliersOrdersRunning=Pedidos a Fornecedores em Curso CustomerOrder=Pedido de Cliente CustomersOrders=Pedidos de clientes -OrdersToValid=Pedidos de Clientes a Confirmar -OrdersToBill=Pedidos de Clientes Entregues -OrdersInProcess=Pedidos de Clientes em Processo -OrdersToProcess=Pedidos de Clientes à processar -SuppliersOrdersToProcess=Pedidos de fornecedor a se processar +CustomersOrdersRunning=Pedidos dos clientes atuais +CustomersOrdersAndOrdersLines=Pedidos de clientes e linhas de pedidos +OrdersToValid=Pedidos de clientes para validar +OrdersToBill=Pedidos dos clientes entregue +OrdersInProcess=Pedidos de clientes em processo +OrdersToProcess=Pedidos de clientes para processar +SuppliersOrdersToProcess=Fornecedor ordens para processar +StatusOrderCanceledShort=Anulado +StatusOrderDraftShort=Rascunho +StatusOrderValidatedShort=Validado StatusOrderSentShort=Em processo StatusOrderSent=Envio em processo StatusOrderOnProcessShort=Pedido +StatusOrderProcessedShort=Processado StatusOrderToBillShort=Entregue StatusOrderToBill2Short=A se faturar +StatusOrderApprovedShort=Aprovado +StatusOrderRefusedShort=Reprovado +StatusOrderToProcessShort=A Processar +StatusOrderReceivedPartiallyShort=Recebido Parcialmente +StatusOrderReceivedAllShort=Recebido +StatusOrderCanceled=Anulado +StatusOrderDraft=Rascunho (a Confirmar) +StatusOrderValidated=Validado StatusOrderOnProcess=Pedido - Aguardando Recebimento +StatusOrderOnProcessWithValidation=Ordenada - recepção Standby ou validação +StatusOrderProcessed=Processado StatusOrderToBill=A Faturar StatusOrderToBill2=A Faturar +StatusOrderApproved=Aprovado +StatusOrderRefused=Reprovado +StatusOrderReceivedPartially=Recebido Parcialmente +StatusOrderReceivedAll=Recebido ShippingExist=Existe envio +ProductQtyInDraft=Quantidade do produto em projetos de ordens +ProductQtyInDraftOrWaitingApproved=Quantidade do produto em projecto ou ordens aprovadas, ainda não ordenou DraftOrWaitingApproved=Rascunho aprovado mas ainda não controlado +DraftOrWaitingShipped=Rascunho o validado mas ainda não expedido MenuOrdersToBill=Pedidos por Faturar +MenuOrdersToBill2=Ordens faturáveis +SearchOrder=Procurar um Pedido SearchACustomerOrder=Procure um pedido do cliente +SearchASupplierOrder=Pesquisar uma ordem de fornecedor +ShipProduct=Enviar Produto +Discount=Desconto +CreateOrder=Criar Pedido +RefuseOrder=Rejeitar o Pedido +ApproveOrder=Aprovar pedidos +Approve2Order=Aprovar pedido (segundo nível) +ValidateOrder=Confirmar o Pedido UnvalidateOrder=Desaprovar pedido +DeleteOrder=Eliminar o pedido +CancelOrder=Anular o Pedido AddOrder=Criar ordem +AddToMyOrders=Adicionar os meus Pedidos +AddToOtherOrders=Adicionar a outros pedidos AddToDraftOrders=Adicionar a projeto de pedido +ShowOrder=Mostrar Pedido +OrdersOpened=Pedidos para processar +NoOpenedOrders=Sem pedidos em aberto +NoOtherOpenedOrders=Não há outros pedidos em aberto NoDraftOrders=Não há projetos de pedidos +OtherOrders=Outros Pedidos +LastOrders=Pedidos de clientes Última %s +LastCustomerOrders=Pedidos de clientes Última %s +LastSupplierOrders=Pedidos a fornecedores Última %s +LastModifiedOrders=Os %s últimos pedidos modificados LastClosedOrders=Os últimos %s Pedidos +AllOrders=Todos os Pedidos +NbOfOrders=Número de Pedidos +OrdersStatistics=Estatísticas de pedidos +OrdersStatisticsSuppliers=Estatísticas de Pedidos a Fornecedores +NumberOfOrdersByMonth=Número de Pedidos por Mês AmountOfOrdersByMonthHT=Numero de pedidos por mes (sem impostos) +ListOfOrders=Lista de Pedidos +CloseOrder=Fechar Pedido ConfirmCloseOrder=Tem certeza de que deseja fechar este pedido? Quando um pedido é fechado, ele só pode ser cobrado. ConfirmCloseOrderIfSending=Tem certeza de que deseja fechar este pedido? Veve fechar no somente quando todos os transfretes marítimos são feitos. ConfirmDeleteOrder=Tem certeza que quer eliminar este pedido? @@ -38,13 +103,29 @@ ConfirmMakeOrder=Tem certeza que quer confirmar este pedido em data de%s GenerateBill=Faturar ClassifyShipped=Clasificar entregue ClassifyBilled=Classificar "Faturado" +ComptaCard=Ficha Contabilidade +DraftOrders=Rascunhos de Pedidos +RelatedOrders=Pedidos Anexos +RelatedCustomerOrders=Pedidos de clientes relacionadas +RelatedSupplierOrders=Pedidos a fornecedores relacionadas +OnProcessOrders=Pedidos em Processo +RefOrder=Ref. Pedido +RefCustomerOrder=Ref. Pedido Cliente +RefCustomerOrderShort=Ref. Ped. Cliente +SendOrderByMail=Enviar pedido por e-mail ActionsOnOrder=Ações sobre o pedido NoArticleOfTypeProduct=Não existe artigos de tipo 'produto' e por tanto expedidos neste pedido +OrderMode=Método de pedido +AuthorRequest=Autor/Solicitante UseCustomerContactAsOrderRecipientIfExist=Utilizar endereço do contato do cliente de seguimento cliente se está definido em vez do Fornecedor como destinatário dos pedidos +RunningOrders=Pedidos em Curso UserWithApproveOrderGrant=Usuários autorizados a aprovar os pedidos. +PaymentOrderRef=Pagamento de Pedido %s CloneOrder=Copiar o Pedido ConfirmCloneOrder=Tem certeza de que deseja clonar este%s ? DispatchSupplierOrder=Receber pedido de fornecedor %s +FirstApprovalAlreadyDone=A primeira aprovação já feito +##### Types de contacts ##### TypeContact_commande_internal_SALESREPFOLL=Responsável do seguimento do pedido do cliente TypeContact_commande_internal_SHIPPING=Representante seguindo o envio TypeContact_commande_external_BILLING=Contato fatura cliente @@ -55,15 +136,32 @@ TypeContact_order_supplier_internal_SHIPPING=Representante seguindo o envio TypeContact_order_supplier_external_BILLING=Contato fatura fornecedor TypeContact_order_supplier_external_SHIPPING=Contato envio fornecedor TypeContact_order_supplier_external_CUSTOMER=Contato fornecedor seguindo o pedido + +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constante COMMANDE_SUPPLIER_ADDON não definida +Error_COMMANDE_ADDON_NotDefined=Constante COMMANDE_ADDON não definida Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Erro na carga do Arquivo módulo '%s' Error_FailedToLoad_COMMANDE_ADDON_File=Erro na carga de arquivo módulo '%s' Error_OrderNotChecked=Nenhum pedido seleçionado para se faturar +# Sources +OrderSource0=Orçamento Proposto +OrderSource1=Internet +OrderSource2=Campanha por correio OrderSource3=Campanha telefônica +OrderSource4=Campanha por fax +OrderSource5=Comercial +OrderSource6=Revistas +QtyOrdered=Quant. Pedida AddDeliveryCostLine=Adicionar uma linha de despesas de fretes indicando o peso do pedido +# Documents models PDFEinsteinDescription=Modelo de pedido completo (logo...) PDFEdisonDescription=O modelo simplificado do pedido PDFProformaDescription=A proforma fatura completa (logomarca...) +# Orders modes +OrderByMail=Correio +OrderByFax=Fax OrderByEMail=E-mail +OrderByWWW=Online +OrderByPhone=Telefone CreateInvoiceForThisCustomer=Faturar pedidos NoOrdersToInvoice=Nenhum pedido faturavel CloseProcessedOrdersAutomatically=Clasificar "processados" os pedidos selecionados. diff --git a/htdocs/langs/pt_BR/other.lang b/htdocs/langs/pt_BR/other.lang index f946e4512e3..280cb67ca09 100644 --- a/htdocs/langs/pt_BR/other.lang +++ b/htdocs/langs/pt_BR/other.lang @@ -1,15 +1,18 @@ # Dolibarr language file - Source file is en_US - other SecurityCode=Código Segurança -ToolsDesc=Esta area e dedicada para o grupo de ferramentas varias não disponivel em outros menus.

Estas ferramentas podem se acionar atraves do menu ao lado. +Calendar=Calendário +Tools=Utilidades +ToolsDesc=Esta area e dedicada para o grupo de ferramentas varias não disponivel em outros menus.

Estas ferramentas podem se acionar atraves do menu ao lado. Birthday=Aniversário BirthdayDate=Data de aniversário DateToBirth=Data de nascimento -BirthdayAlertOn=Alerta de aniversário ativo -BirthdayAlertOff=Alerta de aniversário desativado +BirthdayAlertOn= Alerta de aniversário ativo +BirthdayAlertOff= Alerta de aniversário desativado Notify_FICHINTER_VALIDATE=Intervenção validada Notify_FICHINTER_SENTBYMAIL=Intervenção enviada por e-mail Notify_BILL_VALIDATE=Fatura cliente validada Notify_BILL_UNVALIDATE=Fatura cliente invalidada +Notify_ORDER_SUPPLIER_VALIDATE=Ordem fornecedor registrado Notify_ORDER_SUPPLIER_APPROVE=Pedido fornecedor aprovado Notify_ORDER_SUPPLIER_REFUSE=Pedido fornecedor recusado Notify_ORDER_VALIDATE=Pedido cliente validado @@ -20,19 +23,24 @@ Notify_WITHDRAW_TRANSMIT=Revogação de transmissão Notify_WITHDRAW_CREDIT=Revogação de credito Notify_WITHDRAW_EMIT=Revogação de performance Notify_ORDER_SENTBYMAIL=Pedido cliente enviado por e-mail +Notify_COMPANY_CREATE=Terceiro criado Notify_COMPANY_SENTBYMAIL=E-mails enviados a partir do cartão de terceiros Notify_PROPAL_SENTBYMAIL=Proposta comercial enviada por e-mail Notify_BILL_PAYED=Fatura cliente paga Notify_BILL_CANCEL=Fatura cliente cancelada Notify_BILL_SENTBYMAIL=Fatura cliente enviada por e-mail +Notify_ORDER_SUPPLIER_VALIDATE=Ordem fornecedor registrado Notify_ORDER_SUPPLIER_SENTBYMAIL=Pedido fornecedor enviado por e-mail Notify_BILL_SUPPLIER_VALIDATE=Fatura fornecedor validada Notify_BILL_SUPPLIER_PAYED=Fatura fornecedor paga Notify_BILL_SUPPLIER_SENTBYMAIL=Fatura fornecedor enviada por e-mail Notify_BILL_SUPPLIER_CANCELED=Fornecedor fatura cancelada +Notify_CONTRACT_VALIDATE=Contrato validado Notify_FICHEINTER_VALIDATE=Intervenção validada Notify_SHIPPING_VALIDATE=Envio validado Notify_SHIPPING_SENTBYMAIL=Envio enviado por e-mail +Notify_MEMBER_VALIDATE=Membro validado +Notify_MEMBER_MODIFY=Membro modificado Notify_MEMBER_SUBSCRIPTION=Membro inscrito Notify_MEMBER_RESILIATE=Membro resiliado Notify_MEMBER_DELETE=Membro apagado @@ -40,13 +48,20 @@ Notify_PROJECT_CREATE=criação de projeto Notify_TASK_CREATE=Tarefa criada Notify_TASK_MODIFY=Tarefa alterada Notify_TASK_DELETE=Tarefa excluída +SeeModuleSetup=Veja configuração do módulo %s +NbOfAttachedFiles=Número Arquivos/Documentos Anexos TotalSizeOfAttachedFiles=Tamanho Total dos Arquivos/Documentos Anexos +MaxSize=Tamanho Máximo +AttachANewFile=Adicionar Novo Arquivo/Documento LinkedObject=Arquivo Anexo +Miscellaneous=Diversos +NbOfActiveNotifications=Número de notificações (nb de e-mails de destinatários) PredefinedMailTest=Esse e um teste de envio.⏎\nAs duas linhas estao separadas por retono de linha.⏎\n⏎\n__SIGNATURE__ PredefinedMailTestHtml=Esse e um email de teste (a palavra test deve ser em bold).
As duas linhas estao separadas por retorno de linha.

__SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ Você vai encontrar aqui a factura __ FACREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__ CONTACTCIV NAM E__ Gostaríamos de avisar que a fatura __ FACREF__ parece não ter sido pago. Portanto, esta é a fatura em anexo novamente, como um lembrete. __PERSONALIZED __ Sincerely __ SIGNATURE __ PredefinedMailContentSendProposal=__ CONTACTCIV NAME__ Você vai encontrar aqui a proposta comercial __ PROPREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIV NAME__ Você vai encontrar aqui a ordem __ ORDERREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ Você vai encontrar aqui o nosso pedido __ ORDERREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ Você vai encontrar aqui a factura __ FACREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ @@ -62,6 +77,10 @@ DemoCompanyShopWithCashDesk=Administração de uma loja com Caixa DemoCompanyProductAndStocks=Administração de uma PYME com venda de produtos DemoCompanyAll=Administração de uma PYME com Atividades multiplos (todos Os módulos principais) GoToDemo=Acessar ao demo +CreatedBy=Criado por %s +ModifiedBy=Modificado por %s +ValidatedBy=Validado por %s +CanceledBy=Anulado por %s ClosedBy=Encerrado por %s CreatedById=Id usuario que criou ModifiedById=Id usuario que fiz a ultima alteração @@ -79,10 +98,54 @@ FeatureNotYetAvailableShort=Disponível numa próxima versão FeatureNotYetAvailable=Funcionalidade não disponível nesta versão FeatureExperimental=Funcionalidade experimental. não é estável nesta versão FeatureDevelopment=Funcionalidade em Desenvolvimento. não estável nesta versão +FeaturesSupported=Funcionalidades suportadas +Width=Largura +Height=Altura +Depth=Fundo +Top=Topo +Bottom=Fundo Left=Esquerda Right=Direita +CalculatedWeight=Peso calculado +CalculatedVolume=Volume calculado +Weight=Peso +TotalWeight=Peso total +WeightUnitton=Toneladas +WeightUnitkg=kg +WeightUnitg=g +WeightUnitmg=mg +WeightUnitpound=libra +Length=Comprimento +LengthUnitm=m +LengthUnitdm=dm +LengthUnitcm=cm +LengthUnitmm=mm +Surface=Area +SurfaceUnitm2=m2 +SurfaceUnitdm2=dm2 +SurfaceUnitcm2=cm2 +SurfaceUnitmm2=mm2 +SurfaceUnitfoot2=ft2 +SurfaceUnitinch2=in2 +Volume=Volume +TotalVolume=Volume total +VolumeUnitm3=m3 +VolumeUnitdm3=dm3 +VolumeUnitcm3=cm3 +VolumeUnitmm3=mm3 +VolumeUnitfoot3=ft3 +VolumeUnitinch3=in3 +VolumeUnitounce=onça +VolumeUnitlitre=litro VolumeUnitgallon=gallão +Size=Tamanho +SizeUnitm=m +SizeUnitdm=dm +SizeUnitcm=cm +SizeUnitmm=mm +SizeUnitinch=polegada SizeUnitfoot=pe +SizeUnitpoint=ponto BugTracker=Incidências SendNewPasswordDesc=Este formulário permite enviar uma Nova senha. Será enviado ao e-mail do usuário
a modificação da senha não será efetiva até que o usuário click no link de confirmação neste e-mail.
Verifique sua caixa de correio. BackToLoginPage=Voltar e a página de login @@ -90,9 +153,16 @@ AuthenticationDoesNotAllowSendNewPassword=o modo de autentificação de Dolibarr EnableGDLibraryDesc=deve ativar o instalar a Bibliotéca GD na sua PHP para poder ativar esta Opção EnablePhpAVModuleDesc=deve instalar um módulo PHP compatible com a sua antivírus. (Clamav : php4-clamavlib ó php5-clamavlib) ProfIdShortDesc=Prof Id %s é uma informação dePendente do país do Fornecedor.
Por Exemplo, para o país %s, é o código %s. +DolibarrDemo=Demo de Dolibarr ERP/CRM +StatsByNumberOfUnits=Estatísticas em número de unidades de produto/serviço +StatsByNumberOfEntities=Estatísticas em número de identidadees referentes +NumberOfProposals=Número de Orçamentos nos últimos 12 meses +NumberOfCustomerOrders=Número de pedidos de clientes nos últimos 12 meses NumberOfCustomerInvoices=Número de faturas a clientes nos últimos 12 meses NumberOfSupplierOrders=Numero de pedidos dos fornecedores nos ultimos 12 meses NumberOfSupplierInvoices=Número de faturas de Fornecedores nos últimos 12 meses +NumberOfUnitsProposals=Número de unidades nos Orçamentos nos últimos 12 meses +NumberOfUnitsCustomerOrders=Número de unidades nos pedidos de clientes nos últimos 12 meses NumberOfUnitsCustomerInvoices=Número de unidades em faturas a clientes nos últimos 12 meses NumberOfUnitsSupplierOrders=Numero de unidades nos pedidos a fornecedor nos ultimos 12 meses NumberOfUnitsSupplierInvoices=Número de unidades em faturas de Fornecedores nos últimos 12 meses @@ -100,9 +170,16 @@ EMailTextInterventionValidated=A intervenção %s foi validada EMailTextInvoiceValidated=A fatura %s foi validada. EMailTextProposalValidated=A proposta %s foi validada. EMailTextOrderValidated=O pedido %s foi validado. +EMailTextOrderApproved=Pedido %s Aprovado +EMailTextOrderValidatedBy=A ordem %s foi gravada por %s. +EMailTextOrderApprovedBy=Pedido %s Aprovado por %s +EMailTextOrderRefused=Pedido %s Reprovado +EMailTextOrderRefusedBy=Pedido %s Reprovado por %s +EMailTextExpeditionValidated=O envio %s foi validado. ImportedWithSet=Data importacao DolibarrNotification=Notificação automatica ResizeDesc=Insira a nova largura OU o novo peso. A proporção sera mantida durante a transformacao... +NewLength=Nova largura NewHeight=Nova altrua NewSizeAfterCropping=Nova dimensao depois do recorte DefineNewAreaToPick=Definir nova area na imagem para escolher ( click esquerdo na imagem e depois arastar ate o canto oposto) @@ -111,25 +188,35 @@ ImageEditor=Editor de imagems YouReceiveMailBecauseOfNotification=Voce recebeu esta mensagem porque o seu endereco de e-mail foi adicionado a lista de alvos a ser informados de algums eventos no %s software de %s. YouReceiveMailBecauseOfNotification2=Este evento e o seguinte: ThisIsListOfModules=Esta e a lista de modulos pre-seleçionados pelo profilo demo escolhido (somente os modulos mais comums são visiveis nesta demo). Para uma demo mais pesoalizada editar aqui e presionar "Inicio". +ClickHere=Clickque aqui UseAdvancedPerms=Use as permissões avançadas de algums modulos FileFormat=Arquivo formato SelectAColor=Escolha a cor +AddFiles=Adicionar arquivos StartUpload=Iniciar o "upload" CancelUpload=Cancelar o "upload" FileIsTooBig=Tamanho do arquivo grande de mais +PleaseBePatient=Por favor aguarde.... RequestToResetPasswordReceived=Recebemos a pedido de mudar a sua senha do Dolibarr NewKeyIs=Estas sao as suas novas chaves de acesso NewKeyWillBe=Sua nova chave de acesso do software sera ClickHereToGoTo=Clickar aqui para ir a %s YouMustClickToChange=Voce tem que clickar no seguinte atalho para validar a sua troca de senha ForgetIfNothing=Se voce nao pediu esta mudanca, simplismente esquece deste email. Suas credenciais estao seguras. +IfAmountHigherThan=Se a quantia mais elevada do que %s +SourcesRepository=Repositório de fontes + +##### Calendar common ##### AddCalendarEntry=Adicionar entrada ao calendário +NewCompanyToDolibarr=Empresa %s adicionada ContractValidatedInDolibarr=Contrato %s validado ContractCanceledInDolibarr=Contrato %s cancelado ContractClosedInDolibarr=Contrato %s fechado PropalClosedSignedInDolibarr=Proposta %s assinada PropalClosedRefusedInDolibarr=Proposta %s declinada +PropalValidatedInDolibarr=Proposta %s validada PropalClassifiedBilledInDolibarr=Proposta %s classificada faturada +InvoiceValidatedInDolibarr=Fatura %s validada InvoicePaidInDolibarr=Fatura %s marcada paga InvoiceCanceledInDolibarr=Fatura %s cancelada PaymentDoneInDolibarr=Pagamento %s effetuado @@ -141,5 +228,15 @@ MemberDeletedInDolibarr=Membro %s cancelado MemberSubscriptionAddedInDolibarr=Inscrição do membo %s adicionada ShipmentValidatedInDolibarr=Envio %s validado ShipmentDeletedInDolibarr=Envio %s cancelado +##### Export ##### Export=Exportar +ExportsArea=Área de Exportações +AvailableFormats=Formatos disponíveis +LibraryUsed=Bibliotéca utilizada +LibraryVersion=Versão +ExportableDatas=dados exportáveis NoExportableData=não existe dados exportáveis (sem módulos com dados exportáveis gastodos, necessitam de permissões) +ToExport=Exportar +NewExport=Nova Exportação +##### External sites ##### +ExternalSites=Sites externos diff --git a/htdocs/langs/pt_BR/printing.lang b/htdocs/langs/pt_BR/printing.lang new file mode 100644 index 00000000000..5e0fa9ebfc0 --- /dev/null +++ b/htdocs/langs/pt_BR/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Impressão Direta +Module64000Desc=Habilitar Sistema de Impressão Direta +PrintingSetup=Configuração do Sistema de Impressão Direta +PrintingDesc=Este módulo adiciona um botão Imprimir para enviar documentos diretamente para uma impressora (sem abrir documento em um aplicativo) com vários módulos. +ModuleDriverSetup=Configuração do modulo driver +PrintingDriverDesc=Configuração de variáveis para o driver de impressão. +ListDrivers=Lista de drivers +PrintTestDesc=Lista de Impressoras. +FileWasSentToPrinter=Arquivo %s enviado para impressora +NoActivePrintingModuleFound=Sem módulo ativo para impressão de documentos +PleaseSelectaDriverfromList=Por favor, selecione um driver da lista. +SetupDriver=Configuração de Driver +TestDriver=Teste +TargetedPrinter=Impressora em questão +UserConf=Configuração por usuário +PRINTGCP=Google Cloud Print +PrintGCPDesc=Este driver permite enviar documentos diretamente para uma impressora com o Google Cloud Print. +PrintingDriverDescprintgcp=Configuração das variáveis para o driver de impressão do Google Cloud Print. +PrintTestDescprintgcp=Lista de Impressoras para Google Cloud Print. +PRINTGCP_LOGIN=Login de conta GOOGLE +PRINTGCP_PASSWORD=Senha de conta GOOGLE +STATE_ONLINE=Online +STATE_UNKNOWN=Desconhecido +STATE_OFFLINE=Offline +STATE_DORMANT=Off-line por um bom tempo +TYPE_GOOGLE=Google +TYPE_HP=HP Impressora +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nome +GCP_displayName=Nome De Exibição +GCP_Id=ID da impressora +GCP_OwnerName=Nome do proprietário +GCP_State=Estado da impressora +GCP_connectionStatus=Estado online +GCP_Type=Tipo de impressora +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Configuração do módulo de Impressão Direta +PrintIPPDesc=Este driver permite enviar documentos diretamente para uma impressora. Ele requer um sistema Linux com CUPS instalados. +PrintingDriverDescprintipp=Configuração das variáveis para o driver de impressão PrintIPP. +PrintTestDescprintipp=Lista de Impressoras para driver PrintIPP. +PRINTIPP_ENABLED=Mostrar ícone "Impressão direta" em listas de documentos +PRINTIPP_HOST=Servidor de impressão +PRINTIPP_PORT=Porta +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Senha +NoPrinterFound=Nenhuma impressora encontrada (verifique a configuração do CUPS) +NoDefaultPrinterDefined=Nenhuma impressora padrão definida +DefaultPrinter=Impressora padrão +Printer=Impressora +CupsServer=Servidor CUPS +IPP_Uri=Printer Uri +IPP_Name=\nNome da impressora +IPP_State=Estado da impressora +IPP_State_reason=Estado razão +IPP_State_reason1=Estado razão1 +IPP_BW=BW +IPP_Color=Cor +IPP_Device=Dispositivo +IPP_Media=Mídia da impressora +IPP_Supported=Tipo de mídia +STATE_IPP_idle=Idle +STATE_IPP_stopped=Parou +STATE_IPP_paused=Pausada +STATE_IPP_toner-low-report=Toner Baixo +STATE_IPP_none=Nenhum +MEDIA_IPP_stationery=artigos de papelaria +MEDIA_IPP_thermal=Térmico +IPP_COLOR_print-black=Impressora BW diff --git a/htdocs/langs/pt_BR/productbatch.lang b/htdocs/langs/pt_BR/productbatch.lang index 26ed02b1907..9e39d26622d 100644 --- a/htdocs/langs/pt_BR/productbatch.lang +++ b/htdocs/langs/pt_BR/productbatch.lang @@ -1,8 +1,22 @@ -# Dolibarr language file - Source file is en_US - productbatch -ManageLotSerial=Use lot/serial number -ProductStatusOnBatch=Yes (lot/serial required) -ProductStatusNotOnBatch=No (lot/serial not used) -Batch=Lot/Serial -batch_number=Lot/Serial number -DetailBatchNumber=Lot/Serial details -printBatch=Lot/Serial: %s +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use lote / número de série +ProductStatusOnBatch=Sim (lote / série necessário) +ProductStatusNotOnBatch=Não (lote / série não utilizado) +ProductStatusOnBatchShort=Sim +ProductStatusNotOnBatchShort=Não +Batch=Lote / Serial +atleast1batchfield=Compra prazo de validade ou data de venda ou Lote / Número de série +batch_number=Lote / Número de série +BatchNumberShort=Lote / Serial +l_eatby=Compra-por data +l_sellby=Data de venda +DetailBatchNumber=Detalhes Lote / Serial +DetailBatchFormat=Lote / Serial: %s - Compra-por: %s - Venda por: %s (Qtde: %d) +printBatch=Lote / Serial: %s +printEatby=Compra-por: %s +printSellby=Venda-por: %s +printQty=Qtde: %d +AddDispatchBatchLine=Adicione uma linha para Shelf Life expedição +BatchDefaultNumber=Não Definido +WhenProductBatchModuleOnOptionAreForced=Quando o módulo Lote / Serial estiver ligado, aumentar / diminuir modo estoque é forçado a última opção e não pode ser editado. Outras opções podem ser definidas como você quer. +ProductDoesNotUseBatchSerial=Este produto não utiliza Lote / número de série diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index 8e6cd71053a..1fbbd00a56c 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -1,80 +1,174 @@ # Dolibarr language file - Source file is en_US - products ProductRef=Ref produto. ProductLabel=Nome do Produto +ProductServiceCard=Ficha Produto/Serviço +Products=Produtos +Services=Serviços +Product=Produto +Service=Serviço +ProductId=ID Produto/Serviço +Create=Criar +Reference=Referencia +NewProduct=Novo Produto +NewService=Novo Serviço +ProductCode=Código Produto +ServiceCode=Código Serviço ProductVatMassChange=Mudança VAT Massa ProductVatMassChangeDesc=Esta página pode ser utilizado para modificar uma taxa VAT definido em produtos ou serviços a partir de um valor para outro. Atenção, esta mudança é feita em todos os banco de dados. -MassBarcodeInit=Inicialização de código de barras. +MassBarcodeInit=Inicialização de código de barras. MassBarcodeInitDesc=Esta página pode ser usado para inicializar um código de barras em objetos que não têm código de barras definidas. Verifique antes que a instalação do módulo de código de barras é completa. ProductAccountancyBuyCode=Codigo contabilidade (compras) ProductAccountancySellCode=Codigo contabilidade (vendas) +ProductOrService=Produto ou Serviço +ProductsAndServices=Produtos e Serviços +ProductsOrServices=Produtos ou Serviços ProductsAndServicesOnSell=Produtos e Serviços para venda ou para compra +ProductsAndServicesNotOnSell=Produtos e Serviços Não estáo à venda +ProductsAndServicesStatistics=Estatísticas Produtos e Serviços +ProductsStatistics=Estatísticas Produtos ProductsOnSell=Produto para venda ou para compra -ProductsNotOnSell=Produto fora de venda e de compra +ProductsNotOnSell=Produto não está à venda e não está para compra ProductsOnSellAndOnBuy=Produtos para venda e compra ServicesOnSell=Serviços para venda ou para compra +ServicesNotOnSell=Serviços Não está à venda ServicesOnSellAndOnBuy=Serviços para venda e compra +InternalRef=Referencia Interna LastRecorded=últimos Produtos/Serviços em Venda Registados LastRecordedProductsAndServices=Os %s últimos Produtos/Perviços Registados LastModifiedProductsAndServices=Os %s últimos Produtos/Serviços Registados LastRecordedProducts=Os %s últimos Produtos Registados LastRecordedServices=Os %s últimos Serviços Registados LastProducts=últimos Produtos +CardProduct0=Ficha do Produto +CardProduct1=Ficha do Serviço +CardContract=Ficha do Contrato +Warehouse=Armazém +Warehouses=Armazens +WarehouseOpened=Armazém aberta +WarehouseClosed=Armazém Encerrado +Stock=Estoque +Stocks=Estoques +Movement=Movimento +Movements=Movimentos +Sell=Vendas +Buy=Compras OnSell=Para Venda OnBuy=Para compra +NotOnSell=Fora de Venda ProductStatusOnSell=Para Venda +ProductStatusNotOnSell=Fora de Venda ProductStatusOnSellShort=Para Venda +ProductStatusNotOnSellShort=Fora de venda ProductStatusOnBuy=Para compra ProductStatusNotOnBuy=Não para-se comprar ProductStatusOnBuyShort=Para compra ProductStatusNotOnBuyShort=Não para-se comprar +UpdatePrice=Alterar preço +AppliedPricesFrom=Preço de venda válido a partir de SellingPrice=Preço de Venda SellingPriceHT=Preço de venda (sem taxas) SellingPriceTTC=Preço de venda (incl. taxas) +PublicPrice=Preço público CurrentPrice=Preço atual NewPrice=Novo Preço -MinPrice=Preço mínimo de venda -MinPriceHT=Minimo preço de venda (líquido de imposto) -MinPriceTTC=Minimo preço de venda (inc. taxa) +MinPrice=Min. preço de venda +MinPriceHT=Min. preço de venda (líquido de impostos) +MinPriceTTC=Min. preço de venda (inc. impostos) CantBeLessThanMinPrice=O preço de venda não deve ser inferior ao mínimo para este produto (%s ICMS) +ContractStatus=Estado de contrato ContractStatusClosed=Encerrado -ContractStatusToRun=Para començar +ContractStatusRunning=Contínuo +ContractStatusExpired=Expirado +ContractStatusOnHold=Em espera +ContractStatusToRun=Faça em curso +ContractNotRunning=Este contrato não está em curso +ErrorProductAlreadyExists=Um produto com a referencia %s já existe. ErrorProductBadRefOrLabel=O valor da referencia ou etiqueta é incorreto ErrorProductClone=Aconteceu um problema durante a clonação do produto ou serviço. -ErrorPriceCantBeLowerThanMinPrice=Erro Preço nao pode ser menor do preço minimo. +ErrorPriceCantBeLowerThanMinPrice=Erro, o preço não pode ser inferior ao preço mínimo. +Suppliers=Fornecedores +SupplierRef=Ref. fornecedor +ShowProduct=Mostrar produto +ShowService=Mostrar serviço +ProductsAndServicesArea=Área de Produtos e Serviços +ProductsArea=Área de Produtos +ServicesArea=Área de Serviços +AddToMyProposals=Adicionar aos meus Orçamentos +AddToOtherProposals=Adicionar a Outros Orçamentos AddToMyBills=Adicionar às minhas faturas AddToOtherBills=Adicionar a Outras faturas +CorrectStock=Corrigir estoque +AddPhoto=Adicionar uma foto +ListOfStockMovements=Lista de movimentos de estoque +BuyingPrice=Preço de compra +SupplierCard=Ficha fornecedor +CommercialCard=Ficha comercial AllWays=Rota para encontrar o sua produto ao estoque NoCat=O sua produto não pertence a nenhuma categoria +PrimaryWay=Rota Primaria: +PriceRemoved=Preço eliminado +BarCode=Código de barras +BarcodeType=Tipo de código de barras +SetDefaultBarcodeType=Defina o tipo de código de barras +BarcodeValue=Valor do código de barras NoteNotVisibleOnBill=Nota (Não é visivel as faturas, orçamentos, etc.) +CreateCopy=Criar Cópia +ServiceLimitedDuration=Sim o serviço é de Duração limitada : MultiPricesAbility=Vários preços por produto / serviço MultiPricesNumPrices=Numero de preços MultiPriceLevelsName=Categoria de preços -AssociatedProductsAbility=Activar a função do pacote virtual +AssociatedProductsAbility=Ative o recurso pacote AssociatedProducts=Pacote produto -AssociatedProductsNumber=Numero de produtos compondo este pacote virtual do produto +AssociatedProductsNumber=Número de produtos a compor este produto pacote ParentProductsNumber=Numero de pacotes pais do produto -IfZeroItIsNotAVirtualProduct=Se 0, este produto não e um pacote virtual do produto -IfZeroItIsNotUsedByVirtualProduct=Se 0, este produto não e usado em nenhum pacote virtual do produto +IfZeroItIsNotAVirtualProduct=Se for 0, este produto não é um produto pacote +IfZeroItIsNotUsedByVirtualProduct=Se 0, este produto não é usado por qualquer produto do pacote +EditAssociate=Associar +Translation=Tradução +KeywordFilter=Filtro por Chave CategoryFilter=Filtro por categoria -ProductAssociationList=Lista de produtos/serviços associados : Nome do produto/servisio (quantidade afetada) +ProductToAddSearch=Procurar produtos a Adicionar +AddDel=Adicionar/Retirar +Quantity=Quantidade +NoMatchFound=Não foram encontrados resultados +ProductAssociationList=Lista dos produtos / serviços que são componente deste produto / pacote virtual ProductParentList=Lista de pacote produtos/serviços com este produto como componente ErrorAssociationIsFatherOfThis=Um dos produtos selecionados é pai do produto em curso +DeleteProduct=Eliminar um produto/serviço ConfirmDeleteProduct=? Tem certeza que quer eliminar este produto/serviço? +ProductDeleted=O produto/serviço "%s" foi eliminado da base de dados. +DeletePicture=Eliminar uma foto ConfirmDeletePicture=? Tem certeza que quer eliminar esta foto? +ExportDataset_produit_1=Produtos e Serviços +ExportDataset_service_1=Serviços +ImportDataset_produit_1=Produtos +ImportDataset_service_1=Serviços +DeleteProductLine=Eliminar linha de produto ConfirmDeleteProductLine=Tem certeza que quer eliminar esta linha de produto? +NoProductMatching=Nenhum produto/serviço responde à criterio +MatchingProducts=Produtos/Serviços encontrados NoStockForThisProduct=Não existe estoque deste produto NoStock=Sem estoque +Restock=Recolocar +ProductSpecial=Especial QtyMin=Quantidade min +PriceQty=Preço para a quantidade PriceQtyMin=Preco para esta qtd min. (sem desconto) VATRateForSupplierProduct=Percentual ICMS (para este fornecedor/produto) DiscountQtyMin=Desconto padrao para qtd +NoPriceDefinedForThisSupplier=Nenhum Preço/Quant. definido para este fornecedor/produto +NoSupplierPriceDefinedForThisProduct=Nenhum Preço/Quant. Fornecedor definida para este produto +RecordedProducts=Produtos em venda RecordedServices=Serviços gravados +RecordedProductsAndServices=Produtos/Serviços para Venda PredefinedProductsToSell=Produtos pré-definidas para vender PredefinedServicesToSell=Serviços predefinidos para vender PredefinedProductsAndServicesToSell=Produtos / serviços pré-definidas para vender PredefinedProductsToPurchase=Produto pré-definidas para compra PredefinedServicesToPurchase=Serviços pré-definidos para compra PredefinedProductsAndServicesToPurchase=Produtos / serviços predefinidos para compra. +GenerateThumb=Gerar a etiqueta +ProductCanvasAbility=Usar as extensões especiais "canvas" ServiceNb=Serviço n� %s ListProductServiceByPopularity=Lista de produtos/serviços por popularidade ListProductByPopularity=Lista de produtos por popularidade @@ -85,28 +179,57 @@ CloneProduct=Clonar produto ou serviço ConfirmCloneProduct=Voce tem certeza que deseja clonar o produto ou servico %s ? CloneContentProduct=Clonar todas as principais informações de um produto/serviço ClonePricesProduct=Clonar principais informações e preços -CloneCompositionProduct=Clonar produto/serviço empacotado +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Este produto é usado NewRefForClone=Ref. do novo produto/serviço -CustomerPrices=Preços de clientes -SuppliersPrices=Preços de fornecedores -SuppliersPricesOfProductsOrServices=Preços (de produtos ou serviços) Fornecedores +CustomerPrices=Os preços dos clientes +SuppliersPrices=Fornecedor preços +SuppliersPricesOfProductsOrServices=Fornecedor de preços (produtos ou serviços) CustomCode=Codigo NCM CountryOrigin=Pais de origem HiddenIntoCombo=Escondido nas listas de seleções +Nature=Tipo de produto +ShortLabel=Etiqueta curta +Unit=Unidade +p=u. +set=conjunto +se=conjunto +second=segundo +s=s +hour=hora +h=h +day=dia +d=d +kilogram=quilograma +kg=Kg +gram=grama +g=g +meter=medidor +m=m +linear medidor = metro linear +lm=lm +square medidor = metro quadrado +m2=m² +cubic medidor = metro cúbico +m3=m³ +liter=litro +l=L ProductCodeModel=Modelo de ref. de produto ServiceCodeModel=Modelo de ref. de serviço AddThisProductCard=Criar ficha produto HelpAddThisProductCard=Esta opção permite de criar ou clonar um produto caso nao exista. AddThisServiceCard=Criar ficha serviço HelpAddThisServiceCard=Esta opção permite de criar ou clonar um serviço caso o mesmo não existe. +CurrentProductPrice=Preço atual AlwaysUseNewPrice=Usar sempre preço atual do produto/serviço AlwaysUseFixedPrice=Usar preço fixo PriceByQuantity=Diferentes preços por quantidade PriceByQuantityRange=Intervalo de quantidade ProductsDashboard=Resumo de produtos/serviços +UpdateOriginalProductLabel=Modificar etiqueta original HelpUpdateOriginalProductLabel=Permite editar o nome do produto -Building=Produção e despacho de items +### composition fabrication +Building=Produção e despacho de items Build=Produzir BuildIt=Produzir & Enviar BuildindListInfo=Quantidade disponivel para produção por cada estoque (coloque 0 para nenhuma ação) @@ -115,7 +238,8 @@ UnitPmp=Unidades VWAP CostPmpHT=Total unidades VWAP ProductUsedForBuild=Automaticamente consumidos pela produção ProductBuilded=Produção completada -ProductsOrServiceMultiPrice=Preços Clientes (de produtos ou serviços, multi-preços) +ProductsMultiPrice=Produto multi-preço +ProductsOrServiceMultiPrice=Preços de Clientes (de produtos ou serviços, multi-preços) ProductSellByQuarterHT=Total de produtos vendidos no trimestre ServiceSellByQuarterHT=Total de servicos vendidos no trimestre Quarter1=1° Trimestre @@ -138,8 +262,35 @@ ResetBarcodeForAllRecords=Definir o valor de código de barras para todos os reg PriceByCustomer=Preço diferente para cada cliente PriceCatalogue=Preço único por produto / serviço PricingRule=Regras para os preços dos clientes -AddCustomerPrice=Adicione preço por parte dos clientes +AddCustomerPrice=Adicione preço por cliente ForceUpdateChildPriceSoc=Situado mesmo preço em outros pedidos dos clientes PriceByCustomerLog=Preço por cliente -MinimumPriceLimit=Preço minimo nao pode ser inferior a %s +MinimumPriceLimit=Preço mínimo não pode ser inferior, em seguida %s MinimumRecommendedPrice=Preço minimo recomendado e: %s +PriceExpressionEditor=Editor de expressão Preço +PriceExpressionSelected=Expressão de preço Selecionado +PriceExpressionEditorHelp1="Preço = 2 + 2" ou "2 + 2" para fixação do preço. use; para separar expressões +PriceExpressionEditorHelp2=You can access ExtraFields with variables like #extrafield_myextrafieldkey# and global variables with #global_mycode# +PriceExpressionEditorHelp3=In both product/service and supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# +PriceExpressionEditorHelp5=Valores globais disponíveis: +PriceMode=Modo de Preço +PriceNumeric=Número +DefaultPrice=Preço padrão +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-produto +MinSupplierPrice=Preço mínimo fornecedor +DynamicPriceConfiguration=Configuração de preço dinâmico +GlobalVariables=As variáveis ​​globais +GlobalVariableUpdaters=Updaters variáveis ​​globais +GlobalVariableUpdaterType0=Dados JSON +GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, +GlobalVariableUpdaterHelpFormat0=format is {"URL": "http://example.com/urlofjson", "VALUE": "array1,array2,targetvalue"} +GlobalVariableUpdaterType1=Dados WebService +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 is {"URL": "http://example.com/urlofws", "VALUE": "array,targetvalue", "NS": "http://example.com/urlofns", "METHOD": "myWSMethod", "DATA": {"your": "data, "to": "send"}} +UpdateInterval=Intervalo de atualização (minutos) +LastUpdated=Ultima atualização +CorrectlyUpdated=Corretamente atualizado +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Selecione os arquivos PDF diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index e16645e7107..ce90c865177 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -1,13 +1,22 @@ # Dolibarr language file - Source file is en_US - projects +RefProject=Ref. do projeto ProjectId=Id do projeto +Project=Projeto +Projects=Projetos +ProjectStatus=Status Projeto SharedProject=A todos PrivateProject=Contatos do projeto MyProjectsDesc=Exibe apenas os projetos que você for um contato (independente do tipo). ProjectsPublicDesc=Exibe todos os projetos que você esta autorizado a ver. +ProjectsPublicTaskDesc=Essa visão apresenta todos os projetos e tarefas que estão autorizados a ler. ProjectsDesc=Exibi todos os projetos (sua permissão de usuário lhe permite ver todos). MyTasksDesc=Esta exibição é limitado a projetos ou tarefas que você é um contato (seja qual for o tipo). +OnlyOpenedProject=Só os projetos abertos são visíveis (projetos em fase de projeto ou o estado fechado não são visíveis). TasksPublicDesc=Essa exibição apresenta todos os projetos e tarefas que você tem permissão para ler. TasksDesc=Essa exibição apresenta todos os projetos e tarefas (suas permissões de usuário concede-lhe ver tudo). +AllTaskVisibleButEditIfYouAreAssigned=Todas as tarefas para o referido projeto são visíveis, mas você pode inserir o tempo apenas para tarefa que está atribuído por diante. +ProjectsArea=Área de Projetos +NewProject=Novo Projeto AddProject=Criar projeto DeleteAProject=Eliminar um Projeto DeleteATask=Eliminar uma Tarefa @@ -15,43 +24,80 @@ ConfirmDeleteAProject=Tem certeza que quer eliminar este projeto? ConfirmDeleteATask=Tem certeza que quer eliminar esta tarefa? OfficerProject=Responsável do Projeto LastProjects=Os %s últimos Projetos +AllProjects=Todos os Projetos +ProjectsList=Lista de Projetos ShowProject=Adicionar Projeto +SetProject=Definir Projeto NoProject=Nenhum Projeto Definido -NbOpenTasks=No Tarefas Abertas +NbOpenTasks=Nb de tarefas abertas NbOfProjects=No de Projetos TimeSpent=Tempo Dedicado +TimeSpentByYou=Tempo gasto por você +TimeSpentByUser=Tempo gasto por usuário TimesSpent=Tempo gasto RefTask=Ref. Tarefa +LabelTask=Etiqueta de Tarefa TaskTimeSpent=O tempo gasto nas tarefas TaskTimeUser=Usuário +TaskTimeNote=Nota +TaskTimeDate=Data +TasksOnOpenedProject=Tarefas em projetos abertos +WorkloadNotDefined=Carga de trabalho não definida NewTimeSpent=Novo Tempo Dedicado MyTimeSpent=O Meu Tempo Dedicado MyTasks=As minhas Tarefas +Tasks=Tarefas +Task=Tarefa +TaskDateStart=Data de início da tarefa TaskDateEnd=Data final da tarefa +TaskDescription=Descrição da tarefa +NewTask=Nova Tarefa AddTask=Criar tarefa AddDuration=Indicar Duração +Activity=Atividade +Activities=Tarefas/Atividades +MyActivity=A Minha Atividade MyActivities=Minhas Tarefas/Atividades +MyProjects=Os Meus Projetos +DurationEffective=Duração Efetiva +Progress=Progresso ProgressDeclared=o progresso declarado ProgressCalculated=calculado do progresso +Time=Tempo +ListProposalsAssociatedProject=Lista de Orçamentos Associados ao Projeto ListOrdersAssociatedProject=Lista de Pedidos Associados ao Projeto +ListInvoicesAssociatedProject=Lista de Faturas Associadas ao Projeto +ListPredefinedInvoicesAssociatedProject=Lista de Faturas a Clientes Predefinidas Associadas ao Projeto +ListSupplierOrdersAssociatedProject=Lista de Pedidos a Fornecedores Associados ao Projeto ListSupplierInvoicesAssociatedProject=Lista de Faturas de Fornecedor Associados ao Projeto +ListContractAssociatedProject=Lista de Contratos Associados ao Projeto +ListFichinterAssociatedProject=Lista de intervenções associadas ao projeto +ListExpenseReportsAssociatedProject=Lista de relatórios de despesas associadas ao projeto +ListDonationsAssociatedProject=Lista de doações associados ao projeto +ListActionsAssociatedProject=Lista de eventos associados ao projeto +ListTaskTimeUserProject=Lista de tempo consumido nas tarefas de projecto ActivityOnProjectThisWeek=Atividade ao Projeto esta Semana ActivityOnProjectThisMonth=Atividade ao Projeto este Mês ActivityOnProjectThisYear=Atividade ao Projeto este Ano ChildOfTask=Link da Tarefa NotOwnerOfProject=Não é responsável deste projeto privado +AffectedTo=Atribuido a CantRemoveProject=Este projeto não pode ser eliminado porque está referenciado por muito objetos (facturas, pedidos e outros). ver a lista no separador referencias. ValidateProject=Validar projeto ConfirmValidateProject=Você tem certeza que deseja validar esse projeto? +CloseAProject=Fechar projeto ConfirmCloseAProject=Tem certeza de que quer encerrar esse projeto? ReOpenAProject=Abrir projeto ConfirmReOpenAProject=Tem certeza de que quer voltar a abrir este projeto? ProjectContact=Contatos do projeto ActionsOnProject=Eventos do projeto YouAreNotContactOfProject=Você não é um contato deste projeto privado +DeleteATimeSpent=Excluir o tempo gasto ConfirmDeleteATimeSpent=Tem certeza de que deseja excluir este tempo? DoNotShowMyTasksOnly=Ver tambem tarefas não associadas comigo ShowMyTasksOnly=Ver so minhas tarefas +TaskRessourceLinks=Recursos +ProjectsDedicatedToThisThirdParty=Projetos dedicados a este terceiro NoTasks=Não há tarefas para este projeto LinkedToAnotherCompany=Ligado a outros terceiros TaskIsNotAffectedToYou=Tarefas não associadas a voce @@ -64,22 +110,42 @@ CloneContacts=Copiar contatos CloneNotes=Copiar notas CloneProjectFiles=Copiar arquivos do projetos CloneTaskFiles=Copia(s) do(s) arquivo(s) do projeto(s) finalizado +CloneMoveDate=Atualizar projeto / tarefas com lançamento a partir de agora? ConfirmCloneProject=Tem certeza que deseja copiar este projeto? +ProjectReportDate=Alterar a data da tarefa de acordo com a data de início do projeto ErrorShiftTaskDate=Impossível mudar data da tarefa de acordo com a nova data de início do projeto +ProjectsAndTasksLines=Projetos e tarefas +ProjectCreatedInDolibarr=Projeto %s criado TaskCreatedInDolibarr=Tarefa %s criada TaskModifiedInDolibarr=Tarefa %s alterada TaskDeletedInDolibarr=Tarefa %s excluída +##### Types de contacts ##### TypeContact_project_internal_PROJECTLEADER=Chefe de projeto TypeContact_project_external_PROJECTLEADER=Chefe de projeto +TypeContact_project_internal_PROJECTCONTRIBUTOR=Colaborador +TypeContact_project_external_PROJECTCONTRIBUTOR=Colaborador TypeContact_project_task_internal_TASKEXECUTIVE=Tarefa executada TypeContact_project_task_external_TASKEXECUTIVE=Tarefa executada +TypeContact_project_task_internal_TASKCONTRIBUTOR=Colaborador +TypeContact_project_task_external_TASKCONTRIBUTOR=Colaborador SelectElement=Selecionar componente AddElement=Link para componente UnlinkElement=Desligar elemento +# Documents models DocumentModelBaleine=Modelo de relatório de um projeto completo (logo. ..) PlannedWorkload=carga horária planejada +PlannedWorkloadShort=Carga de trabalho +WorkloadOccupation=Partilhar Carga de trabalho ProjectReferers=Fazendo referência a objetos SearchAProject=Buscar um projeto ProjectMustBeValidatedFirst=O projeto tem que primeiramente ser validado ProjectDraft=Rascunhos de projetos -FirstAddRessourceToAllocateTime=Associar recurso para alocar tempo +FirstAddRessourceToAllocateTime=Associar um recurso para alocar tempo +InputPerDay=Entrada por dia +InputPerWeek=Entrada por semana +InputPerAction=Entrada por ação +TimeAlreadyRecorded=Tempo já passado gravado para esta tarefa / dia e usuário %s +ProjectsWithThisUserAsContact=Projetos com este usuário como contato +TasksWithThisUserAsContact=As tarefas atribuídas a esse usuário +ResourceNotAssignedToProject=Não atribuído ao projeto +ResourceNotAssignedToTask=Não é atribuída a tarefa diff --git a/htdocs/langs/pt_BR/propal.lang b/htdocs/langs/pt_BR/propal.lang index 760efce5296..a2e2bc26d01 100644 --- a/htdocs/langs/pt_BR/propal.lang +++ b/htdocs/langs/pt_BR/propal.lang @@ -1,26 +1,76 @@ # Dolibarr language file - Source file is en_US - propal +Proposals=Orçamentos +Proposal=Orçamento +ProposalShort=Proposta +ProposalsDraft=Orçamentos Rascunho +ProposalDraft=Orçamento Rascunho +ProposalsOpened=Propostas comerciais abertas +Prop=Orçamentos +CommercialProposal=Orçamento +CommercialProposals=Orçamentos ProposalCard=Cartao de proposta +NewProp=Novo Orçamento +NewProposal=Novo Orçamento +NewPropal=Novo Orçamento +Prospect=Cliente Potencial +ProspectList=Lista de Clientes Potenciais +DeleteProp=Eliminar Orçamento +ValidateProp=Confirmar Orçamento AddProp=Criar proposta ConfirmDeleteProp=Tem certeza que quer eliminar este orçamento? ConfirmValidateProp=Tem certeza que quer Confirmar este orçamento? LastPropals=Os %s últimos Orçamentos LastClosedProposals=Os últimos Orçamentos Encerrados LastModifiedProposals=As últimas %s propostas modificadas +AllPropals=Todos Os Orçamentos LastProposals=últimos Orçamentos +SearchAProposal=Procurar um Orçamento +ProposalsStatistics=Estatísticas de Orçamentos +NumberOfProposalsByMonth=Número por Mês AmountOfProposalsByMonthHT=Valor por Mês (sem ICMS) +NbOfProposals=Número Orçamentos +ShowPropal=Ver Orçamento +PropalsDraft=Rascunho +PropalsOpened=Aberto PropalsNotBilled=Não Faturados +PropalStatusDraft=Rascunho (a Confirmar) +PropalStatusValidated=Validado (Orçamento Aberto) +PropalStatusOpened=Validado (Orçamento Aberto) +PropalStatusClosed=Encerrado PropalStatusSigned=Assinado (A Faturar) PropalStatusNotSigned=Sem Assinar (Encerrado) PropalStatusBilled=Faturado +PropalStatusDraftShort=Rascunho +PropalStatusValidatedShort=Validado +PropalStatusOpenedShort=Aberto PropalStatusClosedShort=Encerrado +PropalStatusSignedShort=Assinado +PropalStatusNotSignedShort=Sem Assinar PropalStatusBilledShort=Faturado PropalsToClose=Orçamentos a Fechar PropalsToBill=Orçamentos Assinados a Faturar +ListOfProposals=Lista de Orçamentos ActionsOnPropal=Ações sobre o Orçamento +NoOpenedPropals=Não há propostas comerciais abertas +NoOtherOpenedPropals=Não há outras propostas comerciais abertas +RefProposal=Ref. Orçamento +SendPropalByMail=Enviar Orçamento por E-mail +AssociatedDocuments=Documentos Associados ao Orçamento : ErrorCantOpenDir=Impossível Abrir a Pasta DatePropal=Data da Proposta +DateEndPropal=Válido até +DateEndPropalShort=Data Fim +ValidityDuration=Duração da Validade CloseAs=Fechado como +ClassifyBilled=Classificar Faturado BuildBill=Criar Fatura +ErrorPropalNotFound=Orçamento %s Inexistente +Estimate=Orçamento: +EstimateShort=Orç. +OtherPropals=Outros Orçamentos +AddToDraftProposals=Adicionar a projeto de proposta +NoDraftProposals=Não há projetos de propostas +CopyPropalFrom=Criar orçamento por Cópia de um existente CreateEmptyPropal=Criar orçamento a partir da Lista de produtos predefinidos DefaultProposalDurationValidity=Prazo de validez por default (em dias) UseCustomerContactAsPropalRecipientIfExist=Utilizar endereço contato de seguimento de cliente definido em vez do endereço do Fornecedor como destinatário dos Orçamentos @@ -32,10 +82,20 @@ ProposalLine=Linha da Proposta AvailabilityPeriod=Data de aprontamento SetAvailability=Atrazo de entrega AfterOrder=Apos o pedido +##### Availability ##### +AvailabilityTypeAV_NOW=Imediato +AvailabilityTypeAV_1W=1 semana +AvailabilityTypeAV_2W=2 semanas +AvailabilityTypeAV_3W=3 semanas AvailabilityTypeAV_1M=1 mes +##### Types de contacts ##### TypeContact_propal_internal_SALESREPFOLL=Representante seguindo a proposta TypeContact_propal_external_BILLING=Contato da fatura cliente -TypeContact_propal_external_CUSTOMER=Contato cliente seguindo a proposta +TypeContact_propal_external_CUSTOMER=Contato cliente seguindo a proposta +# Document models +DocModelAzurDescription=Modelo de orçamento completo (logo...) +DocModelJauneDescription=Modelo de Orçamento Jaune DefaultModelPropalCreate=Criaçao modelo padrao DefaultModelPropalToBill=Modelo padrao no fechamento da proposta comercial ( a se faturar) DefaultModelPropalClosed=Modelo padrao no fechamento da proposta comercial (nao faturada) +ProposalCustomerSignature=Aceite por escrito, carimbo da empresa, data e assinatura diff --git a/htdocs/langs/pt_BR/salaries.lang b/htdocs/langs/pt_BR/salaries.lang index ae54678cc61..147de3d89df 100644 --- a/htdocs/langs/pt_BR/salaries.lang +++ b/htdocs/langs/pt_BR/salaries.lang @@ -1,4 +1,15 @@ -# Dolibarr language file - Source file is en_US - salaries +# Dolibarr language file - Source file is en_US - users +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Codigo contabilidade para pagamentos de salarios +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Codigo contabilidade para despesas financeiras +Salary=Salário +Salaries=Salários +Employee=Empregado NewSalaryPayment=Novo pagamento de salário SalaryPayment=Pagamento de salário SalariesPayments=Pagamentos de salários +ShowSalaryPayment=Mostrar pagamento de salário +THM=Preço medio por hora +TJM=Preço medio por diaria +CurrentSalary=Salário atual +THMDescription=Este valor pode ser usado para calcular o custo do tempo consumido em um projeto inserido por usuários se o módulo de projetos é utilizado +TJMDescription=Este valor é atualmente apenas como informação e não é utilizado para o cálculo diff --git a/htdocs/langs/pt_BR/sendings.lang b/htdocs/langs/pt_BR/sendings.lang index a1e3c7bb152..69db47c9d81 100644 --- a/htdocs/langs/pt_BR/sendings.lang +++ b/htdocs/langs/pt_BR/sendings.lang @@ -1,9 +1,45 @@ # Dolibarr language file - Source file is en_US - sendings RefSending=Ref. Envio +Sending=Envio +Sendings=Envios +AllSendings=Todos os embarques +Shipment=Envio +Shipments=Envios +ShowSending=Mostrar Envio +Receivings=Receipts SendingsArea=Área Envios +ListOfSendings=Lista de Envios +SendingMethod=Método de Envio +SendingReceipt=Entrega LastSendings=Os %s últimos Envios +SearchASending=Procurar Envio +StatisticsOfSendings=Estatísticas de Envios +NbOfSendings=Número de Envios +NumberOfShipmentsByMonth=Número de envios por mês +SendingCard=Cartão de embarque +NewSending=Novo Envio +CreateASending=Criar um Envio +CreateSending=Criar Envio +QtyOrdered=Quant. Pedida +QtyShipped=Quant. Enviada +QtyToShip=Quant. a Enviar QtyReceived=Quant. Recibida +KeepToShip=Permaneça para enviar +OtherSendingsForSameOrder=Outros Envios deste Pedido +DateSending=Data de Expedição +DateSendingShort=Data de Expedição +SendingsForSameOrder=Expedições deste Pedido +SendingsAndReceivingForSameOrder=Envios e Recepções deste pedido +SendingsToValidate=Envios a Confirmar +StatusSendingCanceled=Cancelado +StatusSendingDraft=Rascunho StatusSendingValidated=Validado (produtos a enviar o enviados) +StatusSendingProcessed=Processado +StatusSendingCanceledShort=Cancelado +StatusSendingDraftShort=Rascunho +StatusSendingValidatedShort=Validado +StatusSendingProcessedShort=Processado +SendingSheet=Folha de embarque Carriers=Transportadoras Carrier=Transportadora CarriersArea=Área Transportadoras @@ -11,25 +47,40 @@ NewCarrier=Novo Transportadora ConfirmDeleteSending=Tem certeza que quer eliminar esta expedição? ConfirmValidateSending=Tem certeza que quer Confirmar esta expedição? ConfirmCancelSending=Tem certeza que quer anular esta expedição? +GenericTransport=Transporte Genérico +Enlevement=Pick-up por o Cliente +DocumentModelSimple=Modelo Simples DocumentModelMerou=Modelo A5 Merou WarningNoQtyLeftToSend=Atenção, nenhum produto à espera de ser enviado. StatsOnShipmentsOnlyValidated=Estatisticas referentes os envios , mas somente validados. Data usada e data da validacao do envio ( a data planejada da entrega nao e sempre conhecida). -DateDeliveryPlanned=Data de entrega planejada +DateDeliveryPlanned=Data prevista para o fornecimento DateReceived=Data de entrega recebida SendShippingByEMail=Envio enviado por e-mail SendShippingRef=Submeter para envio %s ActionsOnShipping=Eventos no envio LinkToTrackYourPackage=Atalho para rastreamento do pacote ShipmentCreationIsDoneFromOrder=No momento a criaçao de um novo envio e feito da ficha de pedido. +RelatedShippings=Embarques relacionados ShipmentLine=Linha de envio CarrierList=Lista de transportadoras +SendingRunning=Produto a partir de pedidos de clientes encomendados +SuppliersReceiptRunning=Produto de pedidos a fornecedores ordenados +ProductQtyInCustomersOrdersRunning=Quantidade do produto em aberto ordens clientes +ProductQtyInSuppliersOrdersRunning=Quantidade do produto em ordens abertas fornecedores +ProductQtyInShipmentAlreadySent=Quantidade do produto da ordem do cliente abriu já foi enviado +ProductQtyInSuppliersShipmentAlreadyRecevied=Quantidade do produto a partir da ordem fornecedor abriu já recebeu + +# Sending methods SendingMethodCATCH=Remoção pelo cliente SendingMethodTRANS=Transportadora SendingMethodCOLSUI=Acompanhamento +# ModelDocument DocumentModelSirocco=Modelo de Documento Sirocco DocumentModelTyphon=Modelo de Documento Typhon Error_EXPEDITION_ADDON_NUMBER_NotDefined=Constante EXPEDITION_ADDON_NUMBER nao definida SumOfProductVolumes=Soma do volume dos pedidos SumOfProductWeights=Soma do peso dos produtos -DetailWarehouseNumber=Detalhes do estoque -DetailWarehouseFormat=W:%s (Qtd : %d) + +# warehouse details +DetailWarehouseNumber= Detalhes do estoque +DetailWarehouseFormat= W:%s (Qtd : %d) diff --git a/htdocs/langs/pt_BR/stocks.lang b/htdocs/langs/pt_BR/stocks.lang index d8c9cec47ea..8427d4ef59f 100644 --- a/htdocs/langs/pt_BR/stocks.lang +++ b/htdocs/langs/pt_BR/stocks.lang @@ -5,32 +5,53 @@ Warehouses=Armazens NewWarehouse=Novo Armazém ou Zona de Armazenagem WarehouseEdit=modificar armazém MenuNewWarehouse=Novo Armazém -WarehouseOpened=Armazém Aberto +WarehouseOpened=Armazém aberta WarehouseClosed=Armazém Encerrado WarehouseSource=Armazém Origem WarehouseSourceNotDefined=Sem armazém definido, -WarehouseTarget=Destino do armazenamento +AddOne=Adicionar um +WarehouseTarget= Destino do armazenamento ValidateSending=Confirmar Envio CancelSending=Cancelar Envio DeleteSending=Eliminar Envio Stock=Estoque Stocks=Estoques +StocksByLotSerial=Estoque por lot / serial +Movement=Movimento +Movements=Movimentos ErrorWarehouseRefRequired=Nome de referência do armazenamento é necessária ErrorWarehouseLabelRequired=A etiqueta do armazenamento é obrigatória CorrectStock=Corrigir Estoque ListOfWarehouses=Lista de armazenamento +ListOfStockMovements=Lista de movimentos de stock StocksArea=Area de estoque +Location=Localização +LocationSummary=Nome abreviado da localização NumberOfDifferentProducts=Número de produtos diferentes +NumberOfProducts=Numero total de produtos +LastMovement=Último movimento +LastMovements=Últimos movimentos +Units=Unidades +Unit=Unidade StockCorrection=Correção estoque StockTransfer=Banco de transferência +StockMovement=Transferencia StockMovements=Movimentos de estoque LabelMovement=Etiqueta Movimento +NumberOfUnit=Número de peças UnitPurchaseValue=Preço de compra da unidade TotalStock=Total em estoque StockTooLow=Estoque insuficiente StockLowerThanLimit=Da ação inferior limite de alerta +EnhancedValue=Valor +PMPValue=Valor (PMP) +PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de estoques UserWarehouseAutoCreate=Criar existencias automaticamente na criação de um usuário +IndependantSubProductStock=Estoque de produtos e estoque subproduto são independentes +QtyDispatched=Quantidade desagregada +QtyDispatchedShort=Qtde despachou +QtyToDispatchShort=Qtde de expedição OrderDispatch=Recepção de estoques RuleForStockManagementDecrease=Regra de Administração de decrementos de estoque RuleForStockManagementIncrease=Regra de Administração de incrementos de estoque @@ -44,6 +65,7 @@ ReStockOnDeleteInvoice=Aumentar os estoques reais sobre exclusão fatura OrderStatusNotReadyToDispatch=Não tem ordem ainda não ou nato tem um status que permite envio de produtos em para armazenamento. StockDiffPhysicTeoric=Explicação para a diferença entre o estoque físico e teórico NoPredefinedProductToDispatch=Não há produtos pré-definidos para este objeto. Portanto, não envio em estoque é necessária. +DispatchVerb=Expedição StockLimitShort=Limite para alerta StockLimit=Limite de estoque para alerta PhysicalStock=Estoque físico @@ -57,9 +79,12 @@ IdWarehouse=Id. armazenamento DescWareHouse=Descrição do armazenamento LieuWareHouse=Localização do armazenamento WarehousesAndProducts=Armazenamento de produtos +WarehousesAndProductsBatchDetail=Armazéns e produtos (com detalhe por lote / série) AverageUnitPricePMPShort=Preço médio de entrada AverageUnitPricePMP=Preço médio de entrada SellPriceMin=Venda Preço unitário +EstimatedStockValueSellShort=Valor para vender +EstimatedStockValueSell=Valor para vender EstimatedStockValueShort=O valor das ações de entrada EstimatedStockValue=O valor das ações de entrada DeleteAWarehouse=Excluir um arquivo @@ -70,11 +95,12 @@ SelectWarehouseForStockDecrease=Escolha arquivo para usar a redução estoque SelectWarehouseForStockIncrease=Escolha arquivo para usar no aumento de estoque NoStockAction=Nenhuma estoque LastWaitingSupplierOrders=Encomendas à espera de recepções -DesiredStock=Estoque desejado +DesiredStock=Estoque mínimo desejado +DesiredMaxStock=Estoque máximo desejado StockToBuy=Para encomendar Replenishment=Reabastecimento ReplenishmentOrders=Pedidos de reposição -VirtualDiffersFromPhysical=De acordo com a aumentar / diminuir opções de ações, estoque físico e virtual de estoque (ordens físicas + correntes) poderão diferir +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use estoque virtuais por padrão, em vez de estoque físico, para o recurso de reposição UseVirtualStock=Use estoque virtuais UsePhysicalStock=Use estoque físico @@ -83,19 +109,32 @@ CurentlyUsingVirtualStock=Estoque virtual CurentlyUsingPhysicalStock=Estoque físico RuleForStockReplenishment=Regra para as ações de reposição SelectProductWithNotNullQty=Selecione pelo menos um produto com um qty não nulo e um fornecedor +AlertOnly= Só Alertas WarehouseForStockDecrease=Os arquivos serão utilizados para redução estoque WarehouseForStockIncrease=O arquivos serão utilizados para aumento de ForThisWarehouse=Para este armazenamento -ReplenishmentStatusDesc=Esta lista de todos os produtos com um estoque menor do que o estoque desejado (ou inferior ao valor de alerta se checkbox "alerta só" está marcada), e sugerir-lhe para criar ordens de fornecedor para preencher a diferença. +ReplenishmentStatusDesc=Esta é uma lista de todos os produtos com um estoque menor do que o estoque desejado (ou inferior ao valor de alerta se checkbox "alerta apenas" estiver marcada), e sugerir-lhe para criar ordens de fornecedor para preencher a diferença. +ReplenishmentOrdersDesc=Esta é uma lista de todas as ordens de fornecedor abertos, incluindo os produtos pré-definidos. Apenas abriu pedidos com produtos pré-definidos, de modo ordens que podem afetar os estoques, são visíveis aqui. Replenishments=Reconstituições NbOfProductBeforePeriod=Quantidade de produtos em estoque antes do período selecionado -NbOfProductAfterPeriod=Quantidade de produtos em estoque período selecionado depois +NbOfProductAfterPeriod=Quantidade de produtos em estoque período selecionado depois MassMovement=Movimento de massas MassStockMovement=Movimento de estoque em massa SelectProductInAndOutWareHouse=Selecione um produto, uma quantidade, um armazém de origem e um armazém de destino e clique em "% s". Uma vez feito isso para todos os movimentos necessários, clique em "% s". RecordMovement=Gravar a transferência +ReceivingForSameOrder=Recibos para este fim StockMovementRecorded=Movimentos de estoque gravados RuleForStockAvailability=Regras sobre os requisitos de ações -StockMustBeEnoughForInvoice=Banco de nível deve ser o suficiente para adicionar o produto / serviço em fatura -StockMustBeEnoughForOrder=Banco de nível deve ser o suficiente para adicionar o produto / serviço em ordem -StockMustBeEnoughForShipment=Banco de nível deve ser o suficiente para adicionar o produto / serviço no transporte +StockMustBeEnoughForInvoice=Nível de estoque deve ser suficiente para adicionar o produto / serviço para faturar +StockMustBeEnoughForOrder=Nível de estoque deve ser suficiente para adicionar o produto / serviço por encomenda +StockMustBeEnoughForShipment= Nível de estoque deve ser suficiente para adicionar o produto / serviço para embarque +MovementLabel=Rótulo de Movimento +InventoryCode=Código de movimento ou de inventário +IsInPackage=Contido em pacote +ShowWarehouse=Mostrar armazém +MovementCorrectStock=Da correção para o produto %s +MovementTransferStock=Da transferência de produto %s em um outro armazém +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +InventoryCodeShort=Inv. / Mov. código +NoPendingReceptionOnSupplierOrder=Sem recepção pendente devido a abrir ordem fornecedor +ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/pt_BR/suppliers.lang b/htdocs/langs/pt_BR/suppliers.lang index 7df119d9f45..0060f4179ba 100644 --- a/htdocs/langs/pt_BR/suppliers.lang +++ b/htdocs/langs/pt_BR/suppliers.lang @@ -1,23 +1,46 @@ # Dolibarr language file - Source file is en_US - suppliers +Suppliers=Fornecedores AddSupplier=Criar fornecedor +SupplierRemoved=Fornecedor Eliminado SuppliersInvoice=Faturas do Fornecedor +NewSupplier=Novo Fornecedor +History=Histórico +ListOfSuppliers=Lista de Fornecedores +ShowSupplier=Mostrar Fornecedor +OrderDate=Data Pedido +BuyingPrice=Preço de Compra BuyingPriceMin=Preco de compra minimo BuyingPriceMinShort=Preco de compra min TotalBuyingPriceMin=Total de precos de compra dos subprodutos SomeSubProductHaveNoPrices=Algums dos sub-produtos nao tem um preco definido +AddSupplierPrice=Adicionar Preço de Fornecedor +ChangeSupplierPrice=Modificar Preço de Fornecedor +ErrorQtyTooLowForThisSupplier=Quantidade insuficiente para este fornecedor +ErrorSupplierCountryIsNotDefined=O país deste fornecedor não está definido, corrija na sua ficha ProductHasAlreadyReferenceInThisSupplier=Este produto já tem uma referencia neste fornecedor ReferenceSupplierIsAlreadyAssociatedWithAProduct=Esta referencia de fornecedor ja esta asociada com a referenca: %s +NoRecordedSuppliers=Sem Fornecedores Registados +SupplierPayment=Pagamento a Fornecedor +SuppliersArea=Área Fornecedores +RefSupplierShort=Ref. Fornecedor Availability=Entrega ExportDataset_fournisseur_1=Faturas de Fornecedores e Linhas de Fatura ExportDataset_fournisseur_2=Faturas Fornecedores e Pagamentos ExportDataset_fournisseur_3=Ordems de fornecedor e linhas de ordem +ApproveThisOrder=Aprovar este Pedido ConfirmApproveThisOrder=Tem certeza que quer aprovar este pedido? -DenyingThisOrder=Deny this order +DenyingThisOrder=Negar esta ordem ConfirmDenyingThisOrder=Tem certeza que quer negar este pedido? ConfirmCancelThisOrder=Tem certeza que quer cancelar este pedido? +AddCustomerOrder=Criar Pedido do Cliente AddCustomerInvoice=Criar Fatura para o Cliente +AddSupplierOrder=Criar Pedido a Fornecedor AddSupplierInvoice=Criar Fatura do Fornecedor +ListOfSupplierProductForSupplier=Lista de produtos e preços do fornecedor %s NoneOrBatchFileNeverRan=Nenhum lote ou %s não foi executado recentemente SentToSuppliers=Enviado para fornecedores ListOfSupplierOrders=Lista de pedidos do fornecedor MenuOrdersSupplierToBill=Pedidos a se faturar do foprnecedor +NbDaysToDelivery=Atraso de entrega em dias +DescNbDaysToDelivery=O maior atraso de entregar os produtos a partir deste fim +UseDoubleApproval=Use a aprovação de casal (a segunda aprovação pode ser feito por qualquer usuário com a permissão dedicado) diff --git a/htdocs/langs/pt_BR/trips.lang b/htdocs/langs/pt_BR/trips.lang index 6909727bff7..8323329a58e 100644 --- a/htdocs/langs/pt_BR/trips.lang +++ b/htdocs/langs/pt_BR/trips.lang @@ -1,13 +1,101 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Expense report -Trips=Expense reports -TripsAndExpenses=Expenses reports -TripsAndExpensesStatistics=Expense reports statistics -ListOfTrips=List of expense report -NewTrip=New expense report +ExpenseReport=Relatório de despesas +ExpenseReports=Os relatórios de despesas +Trip=Relatório de despesas +Trips=Os relatórios de despesas +TripsAndExpenses=Relatórios de despesas +TripsAndExpensesStatistics=Estatísticas de relatórios de despesas +TripCard=Despesa de cartão de relatório +AddTrip=Criar relatório de despesas +ListOfTrips=Lista de relatórios de despesas +ListOfFees=Lista de Taxas +NewTrip=Novo relatório de despesas +CompanyVisited=Empresa/Instituição Visitada Kilometers=Kilometros FeesKilometersOrAmout=Quantidade de Kilometros -DeleteTrip=Delete expense report -ConfirmDeleteTrip=Are you sure you want to delete this expense report ? -ListTripsAndExpenses=List of expense reports +DeleteTrip=Excluir relatório de despesas +ConfirmDeleteTrip=Tem certeza de que deseja excluir este relatório de despesas? +ListTripsAndExpenses=Lista de relatórios de despesas +ListToApprove=Esperando aprovação +ExpensesArea=Área de relatórios de despesas +SearchATripAndExpense=Pesquisar um relatório de despesas ClassifyRefunded=Classificar 'Rembolsado' +ExpenseReportWaitingForApproval=Um novo relatório de despesas foi apresentada para aprovação +ExpenseReportWaitingForApprovalMessage=Um novo relatório de despesas foi apresentado e está aguardando aprovação.\n - Usuário: %s \n - Período: %s \n Clique aqui para autenticar: %s +TripId=Id relatório de despesas +AnyOtherInThisListCanValidate=Pessoa para informar para validação. +TripSociete=Informações da empresa +TripSalarie=Informações do usuário +TripNDF=Informações relatório de despesas +DeleteLine=Excluir uma linha do relatório de despesas +ConfirmDeleteLine=Tem certeza de que deseja excluir esta linha? +PDFStandardExpenseReports=Template padrão para gerar um documento PDF para relatório de despesa +ExpenseReportLine=Linha de relatório de despesas +TF_OTHER=Outro +TF_TRANSPORTATION=Transporte +TF_LUNCH=Alimentação +TF_METRO=Metro +TF_TRAIN=Trem +TF_BUS=Onibus +TF_CAR=Carro +TF_PEAGE=Pedágio +TF_ESSENCE=Combustivel +TF_HOTEL=Hotel +TF_TAXI=Taxi + +ErrorDoubleDeclaration=Você declarou outro relatório de despesas em um intervalo de datas semelhante. +AucuneNDF=Não há relatórios de despesas encontrados para este critério +AucuneLigne=Não há relatório de despesas declaradas ainda +AddLine=Adicionar linha +AddLineMini=Adicionar + +Date_DEBUT=Data de início +Date_FIN=Data final do período +ModePaiement=Modo de pagamento +Note=Nota +Project=Projeto + +VALIDATOR=Usuário responsável pela aprovação +VALIDOR=Aprovado por +AUTHOR=Gravada por +AUTHORPAIEMENT=Pago por +REFUSEUR=Negado pelo +CANCEL_USER=Excluída por + +MOTIF_REFUS=Razão +MOTIF_CANCEL=Razão + +DATE_REFUS=Negar data +DATE_SAVE=Validado em +DATE_VALIDE=Validado em +DATE_CANCEL=Data de cancelamento +DATE_PAIEMENT=Data de pagamento + +TO_PAID=Pagar +BROUILLONNER=Reabrir +SendToValid=Enviado em aprovação +ModifyInfoGen=Editar +ValidateAndSubmit=Validar e submeter à aprovação + +NOT_VALIDATOR=Você não tem permissão para aprovar este relatório de despesas +NOT_AUTHOR=Você não é o autor deste relatório de despesas. Operação cancelada. + +RefuseTrip=Negar um relatório de despesas +ConfirmRefuseTrip=Tem certeza de que deseja negar este relatório de despesas? + +ValideTrip=Aprovar relatório de despesas +ConfirmValideTrip=Tem certeza de que deseja aprovar este relatório de despesas? + +PaidTrip=Pagar um relatório de despesas +ConfirmPaidTrip=Tem certeza de que deseja alterar o status do relatório de despesas para "Pago"? + +CancelTrip=Cancelar um relatório de despesas +ConfirmCancelTrip=Tem certeza de que deseja cancelar este relatório de despesas? + +BrouillonnerTrip=Voltar relatório de despesas para o status de "Rascunho" +ConfirmBrouillonnerTrip=Tem certeza de que deseja mover este relatório de despesas para o status de "Rascunho"? + +SaveTrip=Validar relatório de despesas +ConfirmSaveTrip=Tem certeza de que deseja validar esse relatório de despesas? + +NoTripsToExportCSV=Nenhum relatório de despesas para exportar para este período. diff --git a/htdocs/langs/pt_BR/users.lang b/htdocs/langs/pt_BR/users.lang index d5ed0fe9de1..9460dbb38f6 100644 --- a/htdocs/langs/pt_BR/users.lang +++ b/htdocs/langs/pt_BR/users.lang @@ -2,7 +2,10 @@ HRMArea=área de gestão de recursos humanos UserCard=Ficha de Usuário ContactCard=Ficha de Contato +GroupCard=Ficha de Grupo NoContactCard=Nenhum cartão para os contatos +Permission=Permissão +Permissions=Permissões EditPassword=Alterar senha SendNewPassword=Enviar nova senha ReinitPassword=Gerar nova senha @@ -13,9 +16,12 @@ OwnedRights=As minhas permissões GroupRights=Permissões do grupo UserRights=Permissões do usuário UserGUISetup=Interface do usuário +DisableUser=Desativar DisableAUser=Desativar um usuário DeleteUser=Excluir DeleteAUser=Excluir um usuário +DisableGroup=Desativar +DisableAGroup=Desativar um Grupo EnableAUser=Reativar um Usuário EnableAGroup=Reativar um Grupo DeleteGroup=Excluir @@ -29,16 +35,20 @@ ConfirmEnableGroup=Você tem certeza que quer reativar o grupo %s ? ConfirmReinitPassword=Você tem certeza que quer gerar uma nova senha para o usuário %s ? ConfirmSendNewPassword=Você tem certeza que quer enviar uma nova senha para o usuário %s ? NewUser=Novo usuário +CreateUser=Criar usuário SearchAGroup=Buscar um grupo SearchAUser=Buscar um usuário LoginNotDefined=O usuário não está definido NameNotDefined=O nome não está definido ListOfUsers=Lista de usuário +Administrator=Administrador +SuperAdministrator=Super Administrador SuperAdministratorDesc=Administrador geral AdministratorDesc=Entidade do administrador DefaultRights=Permissões por Padrao DefaultRightsDesc=Defina aqui padrão permissões que são concedidas automaticamente para um novo usuário criado (Vá em fichas de usuário para alterar as permissões de um usuário existente). DolibarrUsers=Usuário Dolibarr +LastName=Sobrenome FirstName=Primeiro nome ListOfGroups=Lista de grupos NewGroup=Novo grupo @@ -47,6 +57,8 @@ RemoveFromGroup=Remover do grupo PasswordChangedAndSentTo=Senha alterada e enviada a %s. PasswordChangeRequestSent=Solicitação para alterar a senha para %s enviada a %s. MenuUsersAndGroups=Usuários e Grupos +MenuMyUserCard=Meu cartão de usuario +LastGroupsCreated=Os %s últimos grupos criados LastUsersCreated=Os %s últimos usuários criados ShowGroup=Visualizar grupo ShowUser=Visualizar usuário @@ -68,13 +80,20 @@ CreateDolibarrThirdParty=Criar um fornecedor LoginAccountDisable=A conta está desativada, indique um Novo login para a ativar. LoginAccountDisableInDolibarr=A conta está desativada no Dolibarr LoginAccountDisableInLdap=A conta está desativada ao domínio +UsePersonalValue=Utilizar valores personalizados +GuiLanguage=Idioma do Interface +InternalUser=Usuário Interno +MyInformations=A Minha Informação ExportDataset_user_1=Usuários e Atributos DomainUser=Usuário de Domínio +Reactivate=Reativar CreateInternalUserDesc=Este formulario permite criar um usuario interno a sua compania/fundação. Para criar um usuario externo (cliente, fornecedor, ...), use o botão 'Criar usuario Dolibarr' da ficha de contatos dos terceiro.. InternalExternalDesc=Um usuário interno é um usuário que pertence à sua Empresa/Instituição.
Um usuário externo é um usuário cliente, fornecedor ou outro.

Nos 2 casos, as permissões de Usuários definem os direitos de acesso, mas o usuário externo pode além disso ter um gerente de menus diferente do usuário interno (ver Inicio - configuração - visualização) PermissionInheritedFromAGroup=A permissão dá-se já que o herda de um grupo ao qual pertence o usuário. +Inherited=Herdado UserWillBeInternalUser=Usuario criado sera um usuario interno (porque nao esta conectado a um particular terceiro) UserWillBeExternalUser=Usuario criado sera um usuario externo (porque esta conectado a um particular terceiro) +IdPhoneCaller=ID chamador (telefone) UserLogged=Usuário %s Conectado UserLogoff=Usuario %s desconectou NewUserCreated=Usuário %s Criado @@ -83,16 +102,22 @@ EventUserModified=Usuário %s Modificado UserDisabled=Usuário %s Desativado UserEnabled=Usuário %s Ativado UserDeleted=Usuário %s Eliminado +NewGroupCreated=Grupo %s Criado +GroupModified=Grupo %s Alterado +GroupDeleted=Grupo %s Eliminado ConfirmCreateContact=Tem certeza que quer criar uma conta para este contato? ConfirmCreateLogin=Tem certeza de que deseja criar uma conta para este membro? ConfirmCreateThirdParty=Tem certeza que quer criar um Fornecedor para este membro? +LoginToCreate=Login a Criar NameToCreate=Nome do Fornecedor a Criar YourRole=Suas funções YourQuotaOfUsersIsReached=Sua cota de usuarios ativos atingida ! -NbOfUsers=N. de usuarios +NbOfUsers=N. de usuarios DontDowngradeSuperAdmin=Somente um Super Administrador pode rebaixar um Super Administrador +HierarchicalResponsible=Supervisor HierarchicView=Visão hierárquica UseTypeFieldToChange=Use campo Tipo para mudar OpenIDURL=URL do OpenID LoginUsingOpenID=Usar o OpenID para efetuar o login +WeeklyHours=Horas semanais ColorUser=Cor do usuario diff --git a/htdocs/langs/pt_BR/withdrawals.lang b/htdocs/langs/pt_BR/withdrawals.lang index 08653c368d4..6c43f0377be 100644 --- a/htdocs/langs/pt_BR/withdrawals.lang +++ b/htdocs/langs/pt_BR/withdrawals.lang @@ -1,19 +1,32 @@ # Dolibarr language file - Source file is en_US - withdrawals StandingOrdersArea=Área ordens permanentes CustomersStandingOrdersArea=Área de Débitos Diretos de Clientes +StandingOrders=Débitos Diretos +StandingOrder=Débitos Diretos NewStandingOrder=Novo Débito Direto StandingOrderToProcess=A Processar +StandingOrderProcessed=Processado +Withdrawals=Levantamentos +Withdrawal=Levantamento +WithdrawalsReceipts=Ordens de Levantamento +WithdrawalReceipt=Ordem de Levantamento +WithdrawalReceiptShort=Ordem +LastWithdrawalReceipts=As %s últimas ordens de levantamento WithdrawedBills=Faturas de Levantamentos +WithdrawalsLines=Linhas de Levantamento RequestStandingOrderToTreat=Pedido de processamento das ordems abertas RequestStandingOrderTreated=Pedido para ordems abertas processado +NotPossibleForThisStatusOfWithdrawReceiptORLine=Ainda não é possível. Retirar o status deve ser definido como 'creditado' antes de declarar rejeitar em linhas específicas. CustomersStandingOrders=Débitos Diretos de Clientes CustomerStandingOrder=Débito Direto de Cliente NbOfInvoiceToWithdraw=Nb. da fatura para realizar pedido NbOfInvoiceToWithdrawWithInfo=Nb. da fatura para realizar pedido para os clientes com informações de conta bancária definida InvoiceWaitingWithdraw=Faturas em Espera de Levantamento +AmountToWithdraw=Quantidade a Levantar WithdrawsRefused=Débitos Diretos Rejeitados NoInvoiceToWithdraw=Nenhuma fatura a cliente com modo de pagamento 'Débito Directo' em espera. Ir ao separador 'Débito Directo' na ficha da fatura para fazer um pedido. ResponsibleUser=Usuário Responsável dos Débitos Diretos +WithdrawalsSetup=Configuração dos Débitos Diretos WithdrawStatistics=Estatísticas de Débitos Diretos WithdrawRejectStatistics=Estatísticas de Débitos Diretos Rejeitados LastWithdrawalReceipt=Os %s últimos Débitos Diretos Recebidos @@ -25,13 +38,21 @@ ClassCredited=Classificar Acreditados ClassCreditedConfirm=Você tem certeza que querer marcar este pagamento como realizado em a sua conta bancaria? TransData=Data da transferência TransMetod=Método de transferência +Send=Enviar +Lines=Linhas StandingOrderReject=Emitir uma recusa WithdrawalRefused=Retirada recusada WithdrawalRefusedConfirm=Você tem certeza que quer entrar com uma rejeição de retirada para a sociedade +RefusedData=Data de rejeição +RefusedReason=Motivo da rejeição RefusedInvoicing=Cobrança da rejeição NoInvoiceRefused=Não carregue a rejeição +InvoiceRefused=Fatura recusada (Verificar a rejeição junto ao cliente) +Status=Estado +StatusUnknown=Desconhecido StatusWaiting=Aguardando StatusTrans=Enviado +StatusCredited=Creditado StatusRefused=Negado StatusMotif0=Não especificado StatusMotif1=Saldo insuficiente @@ -39,22 +60,32 @@ StatusMotif2=Solicitação contestada StatusMotif3=Não há pedido de retirada StatusMotif4=Pedido do Cliente StatusMotif5=RIB inutilizável +StatusMotif6=Conta sem saldo +StatusMotif7=Decisão Judicial StatusMotif8=Outras razões CreateAll=Retirar tudo CreateGuichet=Apenas do escritório +CreateBanque=Apenas banco OrderWaiting=Aguardando resolução NotifyTransmision=Retirada de Transmissão -NotifyEmision=Emissões de retirada +NotifyEmision=Emissões de retirada NotifyCredit=Revogação de crédito NumeroNationalEmetter=Nacional Número Transmissor +PleaseSelectCustomerBankBANToWithdraw=Selecione informações sobre conta bancária do cliente para retirar +WithBankUsingRIB=Para contas bancárias usando RIB +WithBankUsingBANBIC=Para contas bancárias usando IBAN / BIC / SWIFT BankToReceiveWithdraw=Conta bancária para receber saques CreditDate=A crédito +WithdrawalFileNotCapable=Não foi possível gerar arquivos recibo retirada para o seu país %s (O seu país não é suportado) ShowWithdraw=Mostrar Retire IfInvoiceNeedOnWithdrawPaymentWontBeClosed=No entanto, se fatura não tem pelo menos um pagamento retirada ainda processado, não vai ser definido como pago para permitir a gestão de remoção prévia. -DoStandingOrdersBeforePayments=Essa guia permite que você solicite uma ordem permanente. Depois de concluído, você pode digitar o pagamento para fechar a fatura. +DoStandingOrdersBeforePayments=Essa guia permite que você solicite uma ordem permanente. Uma vez feito isso, vá ao menu Banco-> Retirada para gerenciar a ordem permanente. Quando a ordem de pé é fechada, o pagamento da fatura será gravado automaticamente, e fatura fechada se restante a pagar é nulo. WithdrawalFile=Arquivo Retirada SetToStatusSent=Defina o status "arquivo enviado" ThisWillAlsoAddPaymentOnInvoice=Isto também se aplica aos pagamentos de faturas e classificá-los como "Paid" +StatisticsByLineStatus=Estatísticas por situação de linhas + +### Notifications InfoCreditSubject=Pagamento pendente pelo banco InfoCreditMessage=O pedido pendente foi pago pelo banco
Dados de pagamento:% s InfoTransSubject=Transmissão de pedido pendente para o banco diff --git a/htdocs/langs/pt_BR/workflow.lang b/htdocs/langs/pt_BR/workflow.lang index 1f532022dee..abc16b09215 100644 --- a/htdocs/langs/pt_BR/workflow.lang +++ b/htdocs/langs/pt_BR/workflow.lang @@ -1,11 +1,11 @@ -# Dolibarr language file - Source file is en_US - workflow +# Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuração do módulo de Fluxo de Trabalho -WorkflowDesc=Este módulo foi projetado para modificar o comportamento de ações automáticas dentro a aplicação. Por padrão, o fluxo de trabalho e abilitado (você faz as coisas em ordem que você quiser). Você pode habilitar ações automáticas que são de seu interesse. -ThereIsNoWorkflowToModify=Não há fluxo de trabalho que você pode modificar para o módulo que você ativou. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Criar uma ordem do cliente automaticamente, após uma proposta comercial é assinada -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente após um proposta comercial é assinado -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente depois de um contrato de é validado -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Criar uma fatura de cliente automaticamente após um pedido do cliente está fechado +WorkflowDesc=Este módulo é concebido para modificar o comportamento das ações automáticas para aplicação. Por padrão, o fluxo de trabalho está aberto (você pode fazer as coisas na ordem que você quiser). Você pode ativar as ações automáticas que você está interessado. +ThereIsNoWorkflowToModify=Não há fluxo de trabalho para modificar para o módulo ativado. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Criar automaticamente uma ordem de cliente depois de uma proposta comercial é assinado +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically criar uma fatura de cliente depois que uma proposta comercial é assinado +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically criar uma fatura de cliente depois de um contrato é validado +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically criar uma fatura de cliente depois de uma ordem do cliente é fechado descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classificar proposta fonte ligada ao bico quando a ordem do cliente é definido como pago descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifique os pedido do cliente vinculado as fonte(s) das faturas quando a fatura do cliente ainda não foi paga descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifique os pedidos do cliente vinculado as fonte(s) das faturas quando a fatura do cliente for paga. diff --git a/htdocs/langs/pt_PT/accountancy.lang b/htdocs/langs/pt_PT/accountancy.lang index 05a0f457b36..54e66fb7b1d 100644 --- a/htdocs/langs/pt_PT/accountancy.lang +++ b/htdocs/langs/pt_PT/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Contabilista Globalparameters=Parâmetros Globais @@ -13,9 +20,9 @@ ConfigAccountingExpert=A configuração do módulo especialista em contabilidade Journaux=Diarios JournalFinancial=Diarios financeiros Exports=Exportados -Export=Export +Export=Exportar Modelcsv=Modelo de exportação -OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +OptionsDeactivatedForThisExportModel=Para este modelo de esportação, as opções estão desativadas Selectmodelcsv=Selecione um modelo de exportação Modelcsv_normal=Exportação classica Modelcsv_CEGID=Exportação em direção Especialista CEGID @@ -68,7 +75,7 @@ Lineofinvoice=Linha de fatura VentilatedinAccount=Limpo com succeso na conta de contabilidade NotVentilatedinAccount=Por limpar na conta de contabilidade -ACCOUNTING_SEPARATORCSV=Column separator in export file +ACCOUNTING_SEPARATORCSV=Separador de coluna no ficheiro a exportar ACCOUNTING_LIMIT_LIST_VENTILATION=Número de elementos a ser mostrado por página (máxima recomendada: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Comece a classificação das páginas repartição "Tem que repartir" pelos elementos mais recentes @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Comprimento de conta de terceiros ACCOUNTING_SELL_JOURNAL=Diário de vendas ACCOUNTING_PURCHASE_JOURNAL=Diário de compras -ACCOUNTING_BANK_JOURNAL=diário de bancos -ACCOUNTING_CASH_JOURNAL=diário de caixa ACCOUNTING_MISCELLANEOUS_JOURNAL=Diário de diversos +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Diário social ACCOUNTING_ACCOUNT_TRANSFER_CASH=Conta de transferencia diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index cb8efe3ac9a..dc72e59e898 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu para os Utilizadores LangFile=Ficheiro .lang System=Sistema SystemInfo=Info Sistema -SystemTools=Utilidades do Sistema SystemToolsArea=Área de utilidades do sistema SystemToolsAreaDesc=Esta área oferece diferentes funções de administração. Use o menu para escolher a Funcionalidade e pesquisa. Purge=Limpar @@ -232,8 +231,8 @@ Security=Segurança Passwords=Palavras-Passe DoNotStoreClearPassword=Não guardar a palavra-passe sem codificar na base de dados MainDbPasswordFileConfEncrypted=Encriptar a palavra-passe da base de dados no ficheiro conf.php -InstrucToEncodePass=Para ter uma senha codificada no arquivo conf.php, substitua a linha
-InstrucToClearPass=Para ter a chave descodificada (transparente) para o conf.php arquivo, substitua a linha
dolibarr_main_db_pass $ +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=Protecção e encriptação dos pdf gerados ProtectAndEncryptPdfFilesDesc=A protecção de um documento pdf deixa o documento livre para leitura e impressão a qualquer leitor de PDF. Ao contrário, a modificação e a cópia são impossíveis. Feature=Característica @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Procedimento a seguir: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Passo %s FindPackageFromWebSite=Encontre um pacote que fornece a funcionalidade desejada (por exemplo, %s site oficial). -DownloadPackageFromWebSite=Transfira o pacote %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=A Instalação está finalizada e o ERP/CRM está disponivel com o novo componente. NotExistsDirect=A diretoria raiz alternativa não está definida.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Seleccione o módulo: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Versão actual do ERP/CRM CallUpdatePage=Chamar a página de actualização da estrutura da base de dados %s. LastStableVersion=Última Versão estável @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Biblioteca usada para gerar PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Atualizar link @@ -492,8 +491,8 @@ Module400Name=Projetos/Oportunidades/Chefias Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Interface com calendario Webcalendar -Module500Name=Despesas especiais (impostos, contribuições sociais, dividendos) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salários Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Gestão da agenda e das acções Module2500Name=Gestão Electrónica de Documentos Module2500Desc=Permite administrar uma base de documentos -Module2600Name=WebServices -Module2600Desc=O servidor de serviços web ERP/CRM está Disponível +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origem das propostas/ordens DictionaryAccountancyplan=Gráfico de contas DictionaryAccountancysystem=Modelos para o gráfíco de contas DictionaryEMailTemplates=Modelos de Mensagens +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Configuração guardada BackToModuleList=Voltar à lista de módulos BackToDictionaryList=Voltar à lista de dicionários @@ -936,13 +939,14 @@ CompanyZip=Código Postal CompanyTown=Concelho CompanyCountry=País CompanyCurrency=Moeda principal +CompanyObject=Object of the company Logo=Logótipo DoNotShow=Não mostrar DoNotSuggestPaymentMode=Não sugerir NoActiveBankAccountDefined=Nenhuma conta bancaria activa definida OwnerOfBankAccount=Titular da conta %s BankModuleNotActive=O módulo de contas bancarias não se encontra activado -ShowBugTrackLink=Mostrar link "detetar um bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Mostrar painel de informação na página principal Alerts=Alertas Delays=Prazos @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Decimais máximos para os preços unitários MAIN_MAX_DECIMALS_TOT=Decimais máximos para os preços totais MAIN_MAX_DECIMALS_SHOWN=Decimais máximos para os valores mostrados na janela (Por ... depois do valor máximo em ... quando o número seja truncado, mostrar na janela) MAIN_DISABLE_PDF_COMPRESSION=Utilizar a compressão PDF para os Ficheiros gerados -MAIN_ROUNDING_RULE_TOT= Comprimento do arredondamento (são raros os países onde o intervalo de arredondamento é feito em mais do que base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Preço unitário líquido de um produto TotalPriceAfterRounding=Preço total (líquido / / IVA incl fiscal) após arredondamento ParameterActiveForNextInputOnly=Parâmetro efectivo somente a partir das próximas sessões @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total de módulos de funcionalidades ativos: %s YouMustEnableOneModule=Deve ativar, pelo menos, 1 módulo ClassNotFoundIntoPathWarning=Classe %s não encontrada no caminho PHP YesInSummer=Sim no verão -OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are opened to external users (whatever are permission of such users): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Session storage encrypted by Suhosin ConditionIsCurrently=A condição está atualmente %s YouUseBestDriver=You use driver %s that is best driver available currently. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Nº de produtos max em listas (0 ConfirmDeleteProductLineAbility=Confirma a eliminação de uma linha de produtos nos formularios. ModifyProductDescAbility=Personalização das descrições dos produtos nos formularios ViewProductDescInFormAbility=Visualização das descrições dos produtos nos formularios +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=Visualização de produtos descrições no idioma de terceiros UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Assumir ecotaxa (DEEE) SetDefaultBarcodeTypeProducts=Tipo de código de barras utilizado por defeito para os produtos SetDefaultBarcodeTypeThirdParties=Tipo de código de barras utilizado por defeito para os Terceiros +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Configuração de Produtos/Serviços ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Códigos de barras tipo UPC BarcodeDescISBN=Códigos de barras tipo ISBN BarcodeDescC39=Códigos de barras tipo C39 BarcodeDescC128=Códigos de barras tipo 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=Motor interno BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices módulo configuração WebServicesDesc=Ao permitir a este módulo, ERP/CRM tornar-se um serviço de servidor web para fornecer diversos serviços da web. WSDLCanBeDownloadedHere=WSDL descritor de arquivo desde serviços pode ser fazer o download aqui EndPointIs=Clientes SOAP devem enviar os seus pedidos à Dolibarr final disponível no URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Banco módulo de configuração FreeLegalTextOnChequeReceipts=Texto livre em recibos dos cheques @@ -1594,7 +1609,7 @@ OpenFiscalYear=Abrir ano fiscal CloseFiscalYear=Fechar ano fiscal DeleteFiscalYear=Apagar ano fiscal ConfirmDeleteFiscalYear=Tem a certeza de que deseja apagar este ano fiscal? -Opened=Aberto +Opened=Open Closed=Fechado AlwaysEditable=Pode ser sempre editado MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/pt_PT/banks.lang b/htdocs/langs/pt_PT/banks.lang index 83cf407b1e6..0b8f4dd69c3 100644 --- a/htdocs/langs/pt_PT/banks.lang +++ b/htdocs/langs/pt_PT/banks.lang @@ -94,12 +94,12 @@ Conciliate=Conciliar Conciliation=Conciliação ConciliationForAccount=Conciliações nesta Conta IncludeClosedAccount=Incluir Contas fechadas -OnlyOpenedAccount=Somente Contas abertas +OnlyOpenedAccount=Only open accounts AccountToCredit=Conta de crédito AccountToDebit=Conta de débito DisableConciliation=Desactivar a função de Conciliação para esta Conta ConciliationDisabled=Função de Conciliação desactivada -StatusAccountOpened=Aberta +StatusAccountOpened=Open StatusAccountClosed=Fechada AccountIdShort=Número EditBankRecord=Editar registo diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index b7a851ff0b0..e43a16de6e9 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Última fatura relacionada WarningBillExist=Aviso, já existe uma ou mais faturas +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Pronto Pagamento @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=Esta situação é final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Fatura geral e final diff --git a/htdocs/langs/pt_PT/boxes.lang b/htdocs/langs/pt_PT/boxes.lang index 28d7fd11458..888b477767b 100644 --- a/htdocs/langs/pt_PT/boxes.lang +++ b/htdocs/langs/pt_PT/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Últimos contractos BoxLastContacts=Últimos contatos, endereços BoxLastMembers=Últimos membros BoxFicheInter=Últimas intervenções -BoxCurrentAccounts=Balanço de abertura das contas +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Volume de negocio BoxTotalUnpaidCustomerBills=Total das faturas de clientes em débito BoxTotalUnpaidSuppliersBills=Total das faturas dos fornecedores em crédito @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Volume de negocio realizado BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/pt_PT/categories.lang b/htdocs/langs/pt_PT/categories.lang index 9fb4a949c6f..5446d59f3fd 100644 --- a/htdocs/langs/pt_PT/categories.lang +++ b/htdocs/langs/pt_PT/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=Foi adicionado com êxito. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Nenhuma NotCategorized=Without tag/category CategoryExistsAtSameLevel=Esta categoria já existe na mesma localização @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Conteúdo não visível por todos CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Cat. Clientes/Potenciais @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/pt_PT/companies.lang b/htdocs/langs/pt_PT/companies.lang index 3d3c2c4ecf5..91b77f124f2 100644 --- a/htdocs/langs/pt_PT/companies.lang +++ b/htdocs/langs/pt_PT/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Devolve um número baixo o formato %syymm-nnnn para os códigos de clientes e %syymm-nnnn para os códigos dos Fornecedores, donde yy é o ano, mm o mês e nnnn um contador sequêncial sem ruptura e sem Voltar a 0. LeopardNumRefModelDesc=Código de cliente/fornecedor livre sem verificação. pode ser modificado em qualquer momento. ManagingDirectors=Nome Diretor(es) (DE, diretor, presidente ...) -SearchThirdparty=Procurar terceiro +SearchThirdparty=Search third party SearchContact=Procurar contacto +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/pt_PT/cron.lang b/htdocs/langs/pt_PT/cron.lang index bcac2727da0..2691ad51da7 100644 --- a/htdocs/langs/pt_PT/cron.lang +++ b/htdocs/langs/pt_PT/cron.lang @@ -4,10 +4,10 @@ About = Acerca de CronAbout = Sobre Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Criar/Alterar tarefa agendada -Permission23103 = Eliminar tarefa agendada -Permission23104 = Executar tarefa agendada +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Configuração da gestão de tarefas agendadas URLToLaunchCronJobs=URL to check and launch cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Resultado da última execução CronLastResult=Last result code CronListOfCronJobs=Lista de tarefas agendadas CronCommand=Comando -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Tarefa @@ -39,8 +39,8 @@ CronDtStart=Data de Início CronDtEnd=Data Fim CronDtNextLaunch=Próximo execução CronDtLastLaunch=Última execução -CronFrequency=Frequência -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Método CronModule=Módulo CronAction=Ação @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Terafa lançada e concluída #Page card CronAdd= Adicionar tarefas -CronHourStart= Date e hora de início da tarefa -CronEvery= And execute task each -CronObject= Instância/Objeto para criar +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instância/Objeto para criar CronArgs=Parâmetros CronSaveSucess=Guardado com sucesso CronNote=Comentário @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informação # Common -CronType=Tipo de tarefa +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Aceda a "Home - Ferramentas dos Módulos" para visualizar e editar as tarefas agendadas. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index 1915d8200c9..681f804c473 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Os parâmetros de configuração obrigatórios ainda não estão definidos diff --git a/htdocs/langs/pt_PT/incoterm.lang b/htdocs/langs/pt_PT/incoterm.lang new file mode 100644 index 00000000000..19360700799 --- /dev/null +++ b/htdocs/langs/pt_PT/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Função +IncotermSetupTitle2=Estado +IncotermSetup=Configuração do módulo Incoterm +IncotermFunctionDesc=Ativar função Incoterm (Terceiros, Proposta, Encomenda de Cliente, Fatura de Cliente, Expedição, Encomenda do Fornecedor) diff --git a/htdocs/langs/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index e281ee14d50..c4f738e560f 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Servidor da Base de Dados - Acesso de Administrador CheckToCreateDatabase=Marque a caixa se a base de dados não existir e se deverá ser criada.
Neste caso, deve preencher o nome/senha para a conta de administrador, no fim desta página. CheckToCreateUser=Marque a caixa se o administrador da base de dados não existir e se deverá ser criado.
Neste caso, deve escolher o seu nome/senha e preencher também os dados da conta de administrador no fim desta página. Se esta caixa estiver desmarcada, o administrador da base de dados e a sua senha já deverão existir. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Início de sessão do utilizador autorizado para criar as novas bases de dados ou novos utilizadores, obrigatório se a sua base de dados ou o administrador já existirem. KeepEmptyIfNoPassword=Deixar em branco se o utilizador não tiver uma senha (evitar isto) SaveConfigurationFile=Guardar valores diff --git a/htdocs/langs/pt_PT/languages.lang b/htdocs/langs/pt_PT/languages.lang index 67f384c4152..bc88b4c167b 100644 --- a/htdocs/langs/pt_PT/languages.lang +++ b/htdocs/langs/pt_PT/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Árabe Language_ar_SA=Árabe +Language_bn_BD=Bengali Language_bg_BG=Búlgaro Language_bs_BA=Bósnio Language_ca_ES=Catalão @@ -21,9 +22,10 @@ Language_en_SA=Inglês (Arábia Saudita) Language_en_US=Inglês (Estados Unidos) Language_en_ZA=Inglês (África do Sul) Language_es_ES=Espanhol -Language_es_DO=Espanhol (República Dominicana) Language_es_AR=Espanhol (Argentina) Language_es_CL=Espanhol (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Espanhol (República Dominicana) Language_es_HN=Espanhol (Honduras) Language_es_MX=Espanhol (México) Language_es_PY=Espanhol (Paraguai) @@ -45,7 +47,10 @@ Language_id_ID=Indonésio Language_is_IS=Islandês Language_it_IT=Italiano Language_ja_JP=Japonês +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Coreano +Language_lo_LA=Lao Language_lt_LT=Lituano Language_lv_LV=Letão Language_mk_MK=Macedónio @@ -64,6 +69,7 @@ Language_sv_SV=Sueco Language_sv_SE=Sueco Language_sq_AL=Albanês Language_sk_SK=Eslovaco +Language_sw_SW=Kiswahili Language_th_TH=Tailandês Language_uk_UA=Ucraniano Language_uz_UZ=Uzbeque diff --git a/htdocs/langs/pt_PT/loan.lang b/htdocs/langs/pt_PT/loan.lang new file mode 100644 index 00000000000..af9c1f4f84f --- /dev/null +++ b/htdocs/langs/pt_PT/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Empréstimo +Loans=Empréstimos +NewLoan=Novo Empréstimo +ShowLoan=Mostrar Empréstimo +PaymentLoan=Pagamento do Empréstimo +ShowLoanPayment=Mostrar Pagamento do Empréstimo +Capital=Capital +Insurance=Seguro +Interest=Juros +Nbterms=Número de termos +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Pagamento do Empréstimo +ConfirmDeleteLoan=Confirme a eliminação deste empréstimo +LoanDeleted=Empréstimo Apagado Com Sucesso +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Empréstimo Liquidado +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Compra e Informação Financeira +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Duração da Hipoteca +AnnualInterestRate=Taxa de Juros Anual +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Mostrar-me os cálculos e a amortização +MortgagePaymentInformation=Informação do Pagamento da Hipoteca +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Montante Financiado +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totais para o ano +MonthlyPayment=Pagamento Mensal +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuração do módulo de empréstimo +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/pt_PT/mails.lang b/htdocs/langs/pt_PT/mails.lang index 48a6a9a29e3..a8f7b862076 100644 --- a/htdocs/langs/pt_PT/mails.lang +++ b/htdocs/langs/pt_PT/mails.lang @@ -77,7 +77,7 @@ CheckRead=Recibo de Leitura YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Permitir usar o link "Cancelar Subscrição" -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-mail enviado para %s destinatários. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index eedee0c086f..c03b3f7e7cf 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Preço Base (base) UnitPriceTTC=Preço Unitário PriceU=P.U. PriceUHT=P.U. (base) -AskPriceSupplierUHT=P.U. HT Solicitado +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=P.U. Amount=Montante AmountInvoice=Montante da Fatura @@ -413,6 +413,8 @@ Qty=Quant. ChangedBy=Modificado por ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalcular ResultOk=Éxito ResultKo=Erro @@ -421,7 +423,7 @@ Reportings=Relatórios Draft=Rascunho Drafts=Rascunhos Validated=Validado -Opened=Aberto +Opened=Open New=Novo Discount=Desconto Unknown=Desconhecido @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Associado ao contacto de um utilizador DeleteAFile=Apagar um Ficheiro ConfirmDeleteAFile=Tem a certeza que querer eliminar este ficheiro? NoResults=Sem resultados +SystemTools=System tools ModulesSystemTools=Módulos de ferramentas Test=Teste Element=Elemento @@ -703,6 +706,9 @@ ShowTransaction=Mostrar transação GoIntoSetupToChangeLogo=Vá Início - Configurar - Empresa para alterar o logótipo ou vá a Início - Configurar - Exibir para ocultar. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Segunda-feira Tuesday=Terça-feira @@ -732,3 +738,4 @@ ShortThursday=Qui ShortFriday=Sex ShortSaturday=Sab ShortSunday=Dom +SelectMailModel=Select email template diff --git a/htdocs/langs/pt_PT/orders.lang b/htdocs/langs/pt_PT/orders.lang index 07e2d6604ef..c819853f082 100644 --- a/htdocs/langs/pt_PT/orders.lang +++ b/htdocs/langs/pt_PT/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Pedido a Fornecedor SuppliersOrders=Pedidos a Fornecedores SuppliersOrdersRunning=Pedidos a Fornecedores em Curso CustomerOrder=Pedido do Cliente -CustomersOrders=Customers orders -CustomersOrdersRunning=Pedidos de Clientes em Curso -CustomersOrdersAndOrdersLines=Pedidos de Clientes e Linhas de Pedido -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Ordens do Fornecedor para processar +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Anulado StatusOrderDraftShort=Rascunho StatusOrderValidatedShort=Validado @@ -75,8 +75,9 @@ AddToMyOrders=Adicionar os meus Pedidos AddToOtherOrders=Adicionar a outros pedidos AddToDraftOrders=Add to draft order ShowOrder=Mostrar Pedido -NoOpenedOrders=Nenhum pedido em aberto -NoOtherOpenedOrders=Nenhum outro pedido aberto +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Outros Pedidos LastOrders=Last %s customer orders diff --git a/htdocs/langs/pt_PT/other.lang b/htdocs/langs/pt_PT/other.lang index 7f4744141e2..78d54b4908f 100644 --- a/htdocs/langs/pt_PT/other.lang +++ b/htdocs/langs/pt_PT/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Validação Ficha Intervenção Notify_FICHINTER_SENTBYMAIL=Intervenções enviadas por correio Notify_BILL_VALIDATE=Validação factura Notify_BILL_UNVALIDATE=Fatura do cliente não validada +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Fornecedor fim aprovado Notify_ORDER_SUPPLIER_REFUSE=Fornecedor fim recusado Notify_ORDER_VALIDATE=Pedido do cliente validado @@ -203,6 +204,7 @@ ClickHereToGoTo=Clique aqui para ir para %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Adicionar entrada ao calendario diff --git a/htdocs/langs/pt_PT/printing.lang b/htdocs/langs/pt_PT/printing.lang new file mode 100644 index 00000000000..a0a00beb068 --- /dev/null +++ b/htdocs/langs/pt_PT/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Configurar o Sistema de Impressão Direta +PrintingDesc=This module adds a Print button to send documents directly to a printer (without opening document into an application) with various module. +ModuleDriverSetup=Controlador do Módulo de Configuração +PrintingDriverDesc=Variáveis da configuração para o controlador de impressão. +ListDrivers=Lista de Controladores +PrintTestDesc=Lista de Impressoras. +FileWasSentToPrinter=O ficheiro %s foi enviado para a inpressora +NoActivePrintingModuleFound=Nenhum módulo ativo para imprimir o documento +PleaseSelectaDriverfromList=Por favor, selecione um controlador da lista. +SetupDriver=Driver setup +TestDriver=Testar +TargetedPrinter=Impressora alvo +UserConf=Setup per user +PRINTGCP=Impressão na Nuvem da Google +PrintGCPDesc=Este controlador permite-lhe enviar documentos diretamente para uma impressora com a Impressão na Nuvem da Google. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=Lista de Impressoras para a Impressão na Nuvem da Google +PRINTGCP_LOGIN=Início de Sessão da Conta da Google +PRINTGCP_PASSWORD=Senha da Conta da Google +STATE_ONLINE=Ligado à rede +STATE_UNKNOWN=Desconhecido +STATE_OFFLINE=Desligado da rede +STATE_DORMANT=Desligado da rede à já algum tempo +TYPE_GOOGLE=Google +TYPE_HP=Impressora da HP +TYPE_DOCS=DOCUMENTOS +TYPE_DRIVE=Drive da Google +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=iOS +GCP_Name=Nome +GCP_displayName=Exibir Nome +GCP_Id=Id. da Impressora +GCP_OwnerName=Nome do Fabricante +GCP_State=Estado da Impressora +GCP_connectionStatus=Online State +GCP_Type=Tipo de Impressora +PRINTIPP=Controlador PrintIPP +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Servidor de Impressão +PRINTIPP_PORT=Porta +PRINTIPP_USER=Iniciar Sessão +PRINTIPP_PASSWORD=Senha +NoPrinterFound=Não foram encontradas impressoras (verifique a sua configuração CUPS) +NoDefaultPrinterDefined=Não foi definida nenhuma impressora predefinda +DefaultPrinter=Impressora Predefinida +Printer=Impressora +CupsServer=Servidor CUPS +IPP_Uri=Printer Uri +IPP_Name=Nome da Impressora +IPP_State=Estado da Impressora +IPP_State_reason=Razão do Estado +IPP_State_reason1=Razão do Estado 1 +IPP_BW=BW +IPP_Color=Cor +IPP_Device=Dispositivo +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Inativa +STATE_IPP_stopped=Parada +STATE_IPP_paused=Pausada +STATE_IPP_toner-low-report=Pouco Toner +STATE_IPP_none=Nenhum +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Termal +IPP_COLOR_print-black=Impressora BW diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index 913d8cddb47..f4484cbf62b 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Contabilidade (código vender) ProductOrService=Produto ou Serviço ProductsAndServices=Produtos e Serviços ProductsOrServices=Produtos ou Serviços -ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesOnSell=Produtos e Serviços para compra ou venda +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Estatísticas Produtos e Serviços ProductsStatistics=Estatísticas Produtos -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase -ProductsOnSellAndOnBuy=Products for sale and for purchase -ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale -ServicesOnSellAndOnBuy=Services for sale and for purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase +ProductsOnSellAndOnBuy=Produtos para compra e venda +ServicesOnSell=Serviços para compra ou venda +ServicesNotOnSell=Services not for sale +ServicesOnSellAndOnBuy=Serviços para compra e venda InternalRef=Referencia Interna LastRecorded=Ultimos Produtos/Serviços em Venda Registados LastRecordedProductsAndServices=Os %s Ultimos Produtos/Perviços Registados @@ -44,7 +44,7 @@ CardProduct1=Ficha do Serviço CardContract=Ficha do Contrato Warehouse=Armazem Warehouses=Armazens -WarehouseOpened=Armazem aberto +WarehouseOpened=Warehouse open WarehouseClosed=Armazem fechado Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Preço de venda (inc. IVA) PublicPrice=Preço público CurrentPrice=Preço actual NewPrice=Novo preço -MinPrice=Mínima. preço de venda -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=O preço de venda não pode ser inferior ao mínimo permitido para este produto ( %s sem impostos) ContractStatus=Estado de contrato ContractStatusClosed=Fechado -ContractStatusRunning=Em Serviço +ContractStatusRunning=Ongoing ContractStatusExpired=Expirado -ContractStatusOnHold=Fora de serviço -ContractStatusToRun=To get running -ContractNotRunning=Este contrato não está em serviço +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Um produto com a referencia %s já existe. ErrorProductBadRefOrLabel=O valor da referencia ou etiqueta é incorrecto ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Fornecedores SupplierRef=Ref. fornecedor ShowProduct=Mostrar produto @@ -117,12 +117,12 @@ ServiceLimitedDuration=Sim o serviço é de Duração limitada : MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Nº de preços MultiPriceLevelsName=Categoría de preços -AssociatedProductsAbility=Activate the virtual package feature -AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsAbility=Activate the package feature +AssociatedProducts=Pacote do produto +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associar Translation=Tradução KeywordFilter=Filtro por Chave @@ -131,7 +131,7 @@ ProductToAddSearch=Procurar produtos a Adicionar AddDel=Adicionar/Retirar Quantity=Quantidade NoMatchFound=Não foram encontrados resultados -ProductAssociationList=Lista de produtos/serviços associados : Nome do produto/serviço (quantidade afectada) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Um dos produtos seleccionados é pai do produto em curso DeleteProduct=Eliminar um produto/serviço @@ -153,13 +153,13 @@ Restock=Recolocar ProductSpecial=Especial QtyMin=Qtd mínima PriceQty=Preço para a quantidade -PriceQtyMin=Price for this min. qty (w/o discount) +PriceQtyMin=Preço para esta qt. mín. (s/ o desconto) VATRateForSupplierProduct=VAT Rate (for this supplier/product) -DiscountQtyMin=Default discount for qty +DiscountQtyMin=Desconto predefinido para a qt. NoPriceDefinedForThisSupplier=Nenhum Preço/Quant. definido para este fornecedor/produto NoSupplierPriceDefinedForThisProduct=Nenhum Preço/Quant. Fornecedor definida para este produto RecordedProducts=Produtos em venda -RecordedServices=Services recorded +RecordedServices=Serviços registados RecordedProductsAndServices=Produtos/Serviços para Venda PredefinedProductsToSell=Predefined products to sell PredefinedServicesToSell=Predefined services to sell @@ -179,25 +179,50 @@ CloneProduct=Copie produto ou serviço ConfirmCloneProduct=Tem certeza de que pretende copiar produto ou serviço %s? CloneContentProduct=Copie todas as principais informações do produto / serviço ClonePricesProduct=Copie principais informações e preços -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Este produto é utilizado NewRefForClone=Ref. do novo produto / serviço -CustomerPrices=preços de Clientes -SuppliersPrices=preços dos fornecedores -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Código alfandega CountryOrigin=País de origem HiddenIntoCombo=Escondido em listas de seleção Nature=Natureza +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template -AddThisProductCard=Create product card +AddThisProductCard=Criar cartão do produto HelpAddThisProductCard=This option allows you to create or clone a product if it does not exist. -AddThisServiceCard=Create service card +AddThisServiceCard=Criar cartão do serviço HelpAddThisServiceCard=This option allows you to create or clone a service if it does not exist. CurrentProductPrice=Preço atual AlwaysUseNewPrice=Always use current price of product/service -AlwaysUseFixedPrice=Use the fixed price +AlwaysUseFixedPrice=Utilizar o preço fixo PriceByQuantity=Different prices by quantity PriceByQuantityRange=Quantity range ProductsDashboard=Resumo Produtos/Serviços @@ -212,9 +237,9 @@ QtyNeed=Quant. UnitPmp=Net unit VWAP CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production -ProductBuilded=Production completed +ProductBuilded=Produção concluída ProductsMultiPrice=Produto multi-preço -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1º Trimestre @@ -236,11 +261,11 @@ BarCodeDataForThirdparty=Informações de código de barras do terceiro %s: ResetBarcodeForAllRecords=Define barcode value for all records (this will also reset barcode value already defined with new values) PriceByCustomer=Different price for each customer PriceCatalogue=Preço único por produto/serviço -PricingRule=Rules for customer prices -AddCustomerPrice=Adicionar preço por clientes +PricingRule=Regras para os preços de cliente +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Preço por registo de cliente -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -250,20 +275,22 @@ PriceExpressionEditorHelp3=In both product/service and supplier prices there are PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceExpressionEditorHelp5=Available global values: PriceMode=Price mode -PriceNumeric=Number -DefaultPrice=Default price +PriceNumeric=Número +DefaultPrice=Preço Predefinido ComposedProductIncDecStock=Increase/Decrease stock on parent change ComposedProduct=Sub-product MinSupplierPrice=Minimum supplier price DynamicPriceConfiguration=Dynamic price configuration -GlobalVariables=Global variables +GlobalVariables=Variáveis globais GlobalVariableUpdaters=Global variable updaters -GlobalVariableUpdaterType0=JSON data +GlobalVariableUpdaterType0=Dados JSON GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, GlobalVariableUpdaterHelpFormat0=format is {"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 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=Last updated -CorrectlyUpdated=Correctly updated +UpdateInterval=Intervalo de atualização (minutos) +LastUpdated=Última atualização +CorrectlyUpdated=Corretamente atualizado +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index c138fd4739f..3fd60ef881a 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Esta visualização apresenta todos os projetos que está aut ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Esta visualização apresenta todos os projetos (as suas permissões de utilizador concedem-lhe a permissão para ver tudo). MyTasksDesc=Esta visualização está limitada aos projetos ou tarefas em que é um contacto para (seja qual for o tipo). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Esta visualização apresenta todos os projetos e tarefas que está autorizado a ler. TasksDesc=Esta visualização apresenta todos os projetos e tarefas (as suas permissões de utilizador concedem-lhe permissão para ver tudo). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Lista de Projetos ShowProject=Mostrar Projeto SetProject=Definir Projeto NoProject=Nenhum projeto definido ou possuído -NbOpenTasks=Nr. de Tarefas Abertas +NbOpenTasks=Nb of open tasks NbOfProjects=Nr. de Projetos TimeSpent=Tempo Dispendido TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Tempo despendido nas tarefas TaskTimeUser=Utilizador TaskTimeNote=Nota TaskTimeDate=Data -TasksOnOpenedProject=Tarefas nos projetos abertos +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Carga de trabalho não definida NewTimeSpent=Novo Tempo Dispendido MyTimeSpent=Meu Tempo Dispendido @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Lista de intervenções associadas ao projeto ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Lista de eventos associados ao projeto +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Atividade do Projeto nesta Semana ActivityOnProjectThisMonth=Actividade do Projecto neste Mês ActivityOnProjectThisYear=Actividade do Projecto neste Ano @@ -95,7 +96,7 @@ DeleteATimeSpent=Excluir o tempo gasto ConfirmDeleteATimeSpent=Tem certeza que quer eliminar este tempo dispensado? DoNotShowMyTasksOnly=Ver também as tarefas não me atribuidas ShowMyTasksOnly=Ver só as tarefas que me foram atribuídas -TaskRessourceLinks=Recursos +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projetos dedicados a este terceiro NoTasks=Não existem tarefas para este projeto LinkedToAnotherCompany=Vinculado a Terceiros @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Procurar um projeto ProjectMustBeValidatedFirst=Primeiro deve validar o projeto ProjectDraft=Esboço de projetos -FirstAddRessourceToAllocateTime=Associar um recuirso para alocar a hora +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/pt_PT/propal.lang b/htdocs/langs/pt_PT/propal.lang index 91f6dd61fb0..64af2d09317 100644 --- a/htdocs/langs/pt_PT/propal.lang +++ b/htdocs/langs/pt_PT/propal.lang @@ -4,7 +4,7 @@ Proposal=Orçamento ProposalShort=Proposta ProposalsDraft=Orçamentos Rascunho ProposalDraft=Orçamento Rascunho -ProposalsOpened=Orçamentos Abertos +ProposalsOpened=Open commercial proposals Prop=Orçamentos CommercialProposal=Orçamento CommercialProposals=Orçamentos @@ -16,7 +16,7 @@ Prospect=Cliente Potencial ProspectList=Lista de Clientes Potenciais DeleteProp=Eliminar Orçamento ValidateProp=Confirmar Orçamento -AddProp=Criar Orçamento +AddProp=Create proposal ConfirmDeleteProp=Está seguro de querer eliminar este orçamento? ConfirmValidateProp=Está seguro de querer Confirmar este orçamento? LastPropals=Os %s Ultimos Orçamentos @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Montante por Mês (sem IVA) NbOfProposals=Número Orçamentos ShowPropal=Ver Orçamento PropalsDraft=Rascunho -PropalsOpened=Abertos +PropalsOpened=Open PropalsNotBilled=Não Facturados PropalStatusDraft=Rascunho (a Confirmar) PropalStatusValidated=Validado (Orçamento Aberto) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Sem Assinar (Fechado) PropalStatusBilled=Facturado PropalStatusDraftShort=Rascunho PropalStatusValidatedShort=Validado -PropalStatusOpenedShort=Aberto +PropalStatusOpenedShort=Open PropalStatusClosedShort=Fechado PropalStatusSignedShort=Assinado PropalStatusNotSignedShort=Sem Assinar @@ -51,12 +51,10 @@ PropalsToClose=Orçamento a Fechar PropalsToBill=Orçamentos Assinados a Facturar ListOfProposals=Lista de Orçamentos ActionsOnPropal=Acções sobre o Orçamento -NoOpenedPropals=Sem Orçamentos Abertos -NoOtherOpenedPropals=Nenhum outro orçamento aberto +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Ref. Orçamento SendPropalByMail=Enviar Orçamento por E-mail -FileNotUploaded=Não foi Carregado o Ficheiro -FileUploaded=O Ficheiro foi carregado correctamente AssociatedDocuments=Documentos Associados ao Orçamento : ErrorCantOpenDir=Impossivel Abrir a Pasta DatePropal=Data da proposta @@ -70,8 +68,8 @@ ErrorPropalNotFound=Orçamento %s Inexistente Estimate=Orçamento: EstimateShort=Orç. OtherPropals=Outros Orçamentos -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=Criar orçamento por Cópia de um existente CreateEmptyPropal=Criar orçamento desde a Lista de produtos predefinidos DefaultProposalDurationValidity=Prazo de validade por defeito (em días) @@ -100,3 +98,4 @@ DocModelJauneDescription=Modelo de Orçamento Jaune DefaultModelPropalCreate=Criação do modelo padrão DefaultModelPropalToBill=Modelo padrão ao fechar uma proposta de negócio (a facturar) DefaultModelPropalClosed=Modelo padrão ao fechar uma proposta de negócio (não faturada) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/pt_PT/salaries.lang b/htdocs/langs/pt_PT/salaries.lang index 9c699574cc0..c2223ca09ec 100644 --- a/htdocs/langs/pt_PT/salaries.lang +++ b/htdocs/langs/pt_PT/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Mostrar pagamento de salário THM=Preço médio da hora TJM=Preço médio diário CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/pt_PT/sendings.lang b/htdocs/langs/pt_PT/sendings.lang index 3ea181e8313..9f55de4a9e2 100644 --- a/htdocs/langs/pt_PT/sendings.lang +++ b/htdocs/langs/pt_PT/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Modelo Simples DocumentModelMerou=Mérou modelo A5 WarningNoQtyLeftToSend=Atenção, não existe qualquer produto à espera de ser enviado. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Data de entrega planeada +DateDeliveryPlanned=Planned date of delivery DateReceived=Data da entrega recebida SendShippingByEMail=Efectuar envio por e-mail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index 6225f7517c2..cb8b8ca69b7 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Armazéns NewWarehouse=Novo Armazem ou Zona de Armazenagem WarehouseEdit=Modificar armazém MenuNewWarehouse=Novo Armazem -WarehouseOpened=Armazem Aberto +WarehouseOpened=Warehouse open WarehouseClosed=Armazem Fechado WarehouseSource=Armazem Origem WarehouseSourceNotDefined=Sem armazém definido @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Escolha depósito a ser usado para diminuição SelectWarehouseForStockIncrease=Escolha depósito a ser usado para aumentar stock NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Stock desejado +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Só Alertas WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=Para este armazém -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/pt_PT/suppliers.lang b/htdocs/langs/pt_PT/suppliers.lang index 6daa756f054..badff41b1b0 100644 --- a/htdocs/langs/pt_PT/suppliers.lang +++ b/htdocs/langs/pt_PT/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Enviado para os fornecedores ListOfSupplierOrders=Lista das encomendas do fornecedor MenuOrdersSupplierToBill=Encomendas do fornecedor para faturar NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=O maior atraso é exibido entre a lista do produto da encomenda +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/pt_PT/trips.lang b/htdocs/langs/pt_PT/trips.lang index 79f39545625..6d319982a5f 100644 --- a/htdocs/langs/pt_PT/trips.lang +++ b/htdocs/langs/pt_PT/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Relatório de Despesas TripsAndExpensesStatistics=Estatísticas dos Relatórios de Despesas TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=Lista de relatório de despesas +ListOfTrips=List of expense reports ListOfFees=Lista de Taxas NewTrip=Novo relatório de despesas CompanyVisited=Empresa/Instituição Visitada @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Informação da Empresa TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Autocarro TF_CAR=Carro TF_PEAGE=Portagem TF_ESSENCE=Combustível -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Táxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=Lista de relatórios de despesas AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Adicione uma linha @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Nota Project=Projeto -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Aprovado por AUTHOR=Registado por -AUTHORPAIEMENT=Pago por +AUTHORPAIEMENT=Paid by REFUSEUR=Negado por -CANCEL_USER=Cancelado por +CANCEL_USER=Deleted by MOTIF_REFUS=Motivo MOTIF_CANCEL=Motivo @@ -74,7 +73,7 @@ DATE_PAIEMENT=Data de pagamento TO_PAID=Pagar BROUILLONNER=Reabrir -SendToValid=Enviar para aprovação +SendToValid=Sent on approval ModifyInfoGen=Editar ValidateAndSubmit=Validar e submeter para aprovação @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancelar um relatório de despesas ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft" ? SaveTrip=Validar relatório de despesas diff --git a/htdocs/langs/pt_PT/users.lang b/htdocs/langs/pt_PT/users.lang index cc64abc3155..f0e8d589044 100644 --- a/htdocs/langs/pt_PT/users.lang +++ b/htdocs/langs/pt_PT/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Apagar Grupo PasswordChangedAndSentTo=Palavra-passe alterada e enviada para %s. PasswordChangeRequestSent=Pedido para alterar a palavra-passe para %s enviada para %s. MenuUsersAndGroups=Utilizadores e Grupos +MenuMyUserCard=My user card LastGroupsCreated=Os %s últimos grupos criados LastUsersCreated=Os %s últimos utilizadores criados ShowGroup=Mostrar Grupo diff --git a/htdocs/langs/pt_PT/workflow.lang b/htdocs/langs/pt_PT/workflow.lang index e3e82fc3596..adb9e5fa691 100644 --- a/htdocs/langs/pt_PT/workflow.lang +++ b/htdocs/langs/pt_PT/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configuração do módulo de Workflow -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Não há fluxo de trabalho você pode modificar para o módulo que você tenha ativado. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Criar um pedido do cliente automaticamente, após uma proposta comercial ser assinada -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente, após uma proposta comercial ser assinada -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente depois de um contrato ser validado -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Criar uma factura de cliente automaticamente após um pedido do cliente estar fechado +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classifique a fonte ligada como prposta a cobrança quando a ordem do cliente for definida como paga descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classifique a fonte ligada como cobrado quando a ordem(s) do cliente for definida como paga descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classifique a fonte ligada a ordem(s) de clientes quando a fatura de cliente for validada diff --git a/htdocs/langs/ro_RO/accountancy.lang b/htdocs/langs/ro_RO/accountancy.lang index fa60ab7a5b4..1e3f9c0c53e 100644 --- a/htdocs/langs/ro_RO/accountancy.lang +++ b/htdocs/langs/ro_RO/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Contabilitate Globalparameters=Parametri globali @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Lungimea conturilor de terţi ACCOUNTING_SELL_JOURNAL=Jurnal vânzări ACCOUNTING_PURCHASE_JOURNAL=Jurnal cumpărări -ACCOUNTING_BANK_JOURNAL=Jurnal bancă -ACCOUNTING_CASH_JOURNAL=Jurnal casă ACCOUNTING_MISCELLANEOUS_JOURNAL=Journal Diverse +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Jurnal Asigurări Sociale ACCOUNTING_ACCOUNT_TRANSFER_CASH=Cont transfer diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index ded1fc6c1c4..97448c03782 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Meniu pentru utilizatori LangFile=Fişiere. Lang System=Sistem SystemInfo=Informaţii Sistem -SystemTools=Instrumente Sistem SystemToolsArea=Instrumente Sistem SystemToolsAreaDesc=Această zonă oferă funcţionalităţi de administrare. Folositi meniul pentru a alege funcţionalitatea pe care o căutaţi. Purge=Curăţenie @@ -232,8 +231,8 @@ Security=Securitate Passwords=Parolele DoNotStoreClearPassword=Nu stoca parole în mod clar în baza de date MainDbPasswordFileConfEncrypted=Baza de date parola criptat în conf.php -InstrucToEncodePass=Pentru a avea parola codate în conf.php dosar, înlocuiţi linie
dolibarr_main_db_pass $ ="..."
de
dolibarr_main_db_pass $ = "criptat: %s" -InstrucToClearPass=Pentru a avea parola decodificate (clare) în conf.php dosar, înlocuiţi linie
dolibarr_main_db_pass $ = "criptat :..."
de
dolibarr_main_db_pass $ = "%s" +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=Protecţie a generat pdf (nu recommandd, pauzele de masă PDF Generation) ProtectAndEncryptPdfFilesDesc=De protecţie a unui document PDF păstrează disponibil pentru a citi şi de a imprima cu orice browser PDF. Cu toate acestea, editarea şi copierea nu este posibil acum. Reţineţi că utilizarea acestei funcţii face construirea unui globale cumulate pdf nu de lucru (cum ar fi facturile unpaid). Feature=Funcţionalitate @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Acesta este procesul de configurare pentru a: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Pasul %s FindPackageFromWebSite=Găsiţi un pachet care ofera facilitate dorit (de exemplu, pe site-ul web %s). -DownloadPackageFromWebSite=Descărcaţi pachetul %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Instalarea este terminat şi Dolibarr este gata pentru a fi utilizate cu această nouă componentă. NotExistsDirect=Nu este definit directorroot alternativ.
InfDirAlt=Începând cu versiunea 3, este posibil să se definească un director radacina alternativ.Director rădăcină vă permite să stocați, în același loc, plug-in-uri și template-uri personalizate.
Doar creaţi un director de la rădăcină Dolibarr (de exemplu: custom).
InfDirExample=
Apoi, declaraţi l fișierul în conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
Sintaxa: ExtrafieldParamHelpchkbxlst=Lista de parametri a venit de la tabelul
Sintaxa: able_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

În scopul de avea lista depinzând de alta :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Librairie utilizată la construirea PDF ului WarningUsingFPDF=Atenție: conf.php contine Directiva dolibarr_pdf_force_fpdf = 1. Acest lucru înseamnă că utilizați biblioteca FPDF pentru a genera fișiere PDF. Această bibliotecă este vechi și nu suportă o mulțime de caracteristici (Unicode, transparența imagine, cu litere chirilice, limbi arabe și asiatice, ...), astfel încât este posibil să apară erori în timpul generație PDF.
Pentru a rezolva acest lucru și au un suport complet de generare PDF, vă rugăm să descărcați biblioteca TCPDF , atunci comentariu sau elimina linia $ dolibarr_pdf_force_fpdf = 1, și se adaugă în schimb $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Introduceți un număr de telefon pentru a afișa un link de test ClickToDial Url pentru utilizatorul%s RefreshPhoneLink=Refresh link @@ -492,8 +491,8 @@ Module400Name=Proiecte / Oportunitati / Prospecți Module400Desc=Managementul de proiecte, oportunități sau potențiali. Puteți, apoi, atribui apoi orice element (factură, comandă, ofertă, intervenție, ...), la un proiect și a obține o vedere transversală din punctul de vedere al proiectului. Module410Name=Webcalendar Module410Desc=Webcalendar integrare -Module500Name=Cheltuieli speciale( taxe, contributii sociale, dividende) -Module500Desc=Managementul cheltuielilor speciale cum ar fi taxele , contribuţiile sociale, dividendele si salariile +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salarii Module510Desc=Managementul salariilor angajatilor si a plaţiilor Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Acţiuni / activităţi de ordine de zi şi de gestionare a Module2500Name=Electronic Content Management Module2500Desc=Salvaţi şi partaja documente -Module2600Name=Servicii web -Module2600Desc=Activarea serviciilor Dolibarr serverul web +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=Servicii web (client) Module2650Desc=Activați Servicii web a clientului Dolibarr (Poate fi folosit pentru a da date / cererile de servere externe. Doar Comenzi Furnizor sunt acceptate pentru moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Originea ofertei / comenzi DictionaryAccountancyplan=Plan de conturi DictionaryAccountancysystem=Model pentru plan de conturi DictionaryEMailTemplates=Șabloane e-mailuri +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup salvate BackToModuleList=Inapoi la lista de module BackToDictionaryList=Inapoi la lista de dicţionare @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Oraş CompanyCountry=Ţară CompanyCurrency=Deviza principală +CompanyObject=Object of the company Logo=Logo DoNotShow=Nu mai afişa DoNotSuggestPaymentMode=Nu sugerează NoActiveBankAccountDefined=Niciun cont bancar activ definit OwnerOfBankAccount=Titular de cont bancar %s BankModuleNotActive=Conturi bancare de module nu a permis -ShowBugTrackLink=Arata link-ul "Raportaţi o eroare" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "de lucru" la pagina de start Alerts=Alerte Delays=Întârzierile @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Zecimale max pentru preturi unitare MAIN_MAX_DECIMALS_TOT=Zecimale max pentru preturi totale MAIN_MAX_DECIMALS_SHOWN=Zecimale max pentru preţurile afişate pe ecran (Adăugaţi ... după acest număr, dacă doriţi să vezi ... când numărul este trunchiat atunci când sunt afişate pe ecran) MAIN_DISABLE_PDF_COMPRESSION=Utilizaţi PDF generate de compresie pentru fişiere PDF. -MAIN_ROUNDING_RULE_TOT= Dimensiune de rotunjire gama (pentru ţările rare în care rotunjirea se face pe altceva decât baza 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=preţul unitar net al unui produs TotalPriceAfterRounding=Pret total (net / TVA / inclusiv fiscale) după rotunjirea ParameterActiveForNextInputOnly=Parametru de eficient pentru următoarea intrare numai @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Numărul total al modulelor funcţionale activate: YouMustEnableOneModule=Trebuie activat cel puţin 1 modul ClassNotFoundIntoPathWarning=Clasa %s negăsită în calea PHP YesInSummer=Da în vară -OnlyFollowingModulesAreOpenedToExternalUsers=Notă, doar următoarele module sunt deschise pentru utilizatorii externi (indiferent dacă sunt permisiuni de utilizatori): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Stocarea sesiune criptată prin Suhosin ConditionIsCurrently=Condiția este momentan %s YouUseBestDriver=Utilizaţi driverul %s care este cel mai bun driver disponibil acum. @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Max number of products in combos select lists (0=Max ConfirmDeleteProductLineAbility=Confirmarea de îndepărtare a produce o linie în forme ModifyProductDescAbility=Personalizare de descrieri produse în forme ViewProductDescInFormAbility=Vizualizare descrierile de produs, în forme (de altfel ca popup tooltip) +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=Vizualizarea de descrieri de produse în limba thirdparty UseSearchToSelectProductTooltip=De asemenea, dacă aveți un număr mare produse (> 100 000), puteți crește viteza prin setarea constantei COMPANY_DONOTSEARCH_ANYWHERE la 1 la Setup->Other. Căutarea va fi limitată la începutul șirului. UseSearchToSelectProduct=Folositi un formular de căutare pentru a alege un produs (mai degrabă decât o listă derulantă). UseEcoTaxeAbility=Suport Eco-Taxe (DEEE) SetDefaultBarcodeTypeProducts=Implicit tip de cod de bare de a utiliza pentru produse SetDefaultBarcodeTypeThirdParties=Implicit tip de cod de bare de a utiliza pentru terţi +UseUnits=Support units ProductCodeChecker= Modul pentru generare de cod de produs și verificare (produs sau serviciu) ProductOtherConf= Configurare Produse / Servicii ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Coduri de bare de tip UPC BarcodeDescISBN=Coduri de bare de tip ISBN BarcodeDescC39=Coduri de bare de tip C39 BarcodeDescC128=Coduri de bare de tip 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=Motor intern BarCodeNumberManager=Manager pentru autodefinire numere coduri bare @@ -1552,6 +1560,13 @@ WebServicesSetup=WebServices modul de configurare WebServicesDesc=Prin activarea acestui modul, Dolibarr devenit un serviciu de web server pentru a oferi diverse servicii web. WSDLCanBeDownloadedHere=WSDL Descriptorul de fişier cu condiţia serviceses pot fi download aici EndPointIs=SOAP clienţii trebuie să trimită cererile lor la Dolibarr final disponibile la Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Banca modul de configurare FreeLegalTextOnChequeReceipts=Free text pe cec încasări @@ -1594,7 +1609,7 @@ OpenFiscalYear=Deschide an fiscal CloseFiscalYear=Închide an fiscal DeleteFiscalYear=Şterge an fiscal ConfirmDeleteFiscalYear=Sigur doriţi să ştergeţi acest an fiscal ? -Opened=Deschis +Opened=Open Closed=Închis AlwaysEditable=Permite a fi editat mereu MAIN_APPLICATION_TITLE=Forțează numele vizibil al aplicare (avertisment: setarea propriul nume aici poate duce la eliminarea facilitaţii de conectare automată atunci când se utilizează aplicația mobilă DoliDroid) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ro_RO/banks.lang b/htdocs/langs/ro_RO/banks.lang index 70f13d3bc35..349e5714465 100644 --- a/htdocs/langs/ro_RO/banks.lang +++ b/htdocs/langs/ro_RO/banks.lang @@ -94,12 +94,12 @@ Conciliate=Deconteaza Conciliation=Conciliere ConciliationForAccount=Deconteaza acest cont IncludeClosedAccount=Includeţi conturile închise -OnlyOpenedAccount=Numai conturile deschise +OnlyOpenedAccount=Only open accounts AccountToCredit=Cont de credit AccountToDebit=Cont de debit DisableConciliation=Dezactivaţi reconcilierea pentru acest cont ConciliationDisabled=Reconciliere dezactivată -StatusAccountOpened=Deschis +StatusAccountOpened=Open StatusAccountClosed=Închis AccountIdShort=Cod EditBankRecord=Editare înregistrare diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index f642ec13a7b..6381cc4f4a3 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -294,10 +294,11 @@ TotalOfTwoDiscountMustEqualsOriginal=Valoarea totală a celor două noi reduceri ConfirmRemoveDiscount=Sigur doriţi să eliminaţi acest discount? RelatedBill=Factură asociată RelatedBills=Facturi asociate -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related supplier invoices +RelatedCustomerInvoices=Facturi client asociate +RelatedSupplierInvoices=Facturi asociate Furnizor LatestRelatedBill=Ultima Factură asociată WarningBillExist=Avertisment, una sau mai multe facturi există deja +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Imediat @@ -429,5 +430,5 @@ NotLastInCycle=Aceasta factura ce nu se afla in ultimul ciclu si nu poate fi mod DisabledBecauseNotLastInCycle=URmatoarea situatie deja exista DisabledBecauseFinal=Aceasta situatie este finala CantBeLessThanMinPercent=Progresul nu poate fi mai mic decat valoarea lui in precedenta situatie -NoSituations=Nicio situatie deschisa +NoSituations=No open situations InvoiceSituationLast=Factura finala si generala diff --git a/htdocs/langs/ro_RO/boxes.lang b/htdocs/langs/ro_RO/boxes.lang index 14f69356c72..9443c560081 100644 --- a/htdocs/langs/ro_RO/boxes.lang +++ b/htdocs/langs/ro_RO/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Ultimele contracte BoxLastContacts=Ultimele contacte / adrese BoxLastMembers=Ultimii membri BoxFicheInter=Ultimele intervenţii -BoxCurrentAccounts=Solduri conturi deschise +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Cifra de afaceri Vânzări BoxTotalUnpaidCustomerBills=Total facturi clienţi neîncasate BoxTotalUnpaidSuppliersBills=Total facturi furnizori neplătite @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Ultimii %s membri BoxTitleLastFicheInter=Ultimele %s intervenţii modificate BoxTitleOldestUnpaidCustomerBills=Cele mai vechi %s facturi clienţi neîncasate BoxTitleOldestUnpaidSupplierBills=Cele mai vechi %s facturi furnizori neplătite -BoxTitleCurrentAccounts=Solduri conturi deschise +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Cifra de afaceri vânzări BoxTitleTotalUnpaidCustomerBills=Facturi clienţi neîncasate BoxTitleTotalUnpaidSuppliersBills=Facturi furnizori neplătite diff --git a/htdocs/langs/ro_RO/categories.lang b/htdocs/langs/ro_RO/categories.lang index 799c5ab66a1..b1b2dd96cbe 100644 --- a/htdocs/langs/ro_RO/categories.lang +++ b/htdocs/langs/ro_RO/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully= %s a fost adaugat cu succes. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Niciunul NotCategorized=Without tag/category CategoryExistsAtSameLevel=Această categorie există deja cu această referinţă @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Conţinutul nu va fi vizibil pentru toţi CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Categorii Clienţi / Prospecte @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/ro_RO/companies.lang b/htdocs/langs/ro_RO/companies.lang index 93c5f0623d7..51d6c2e4203 100644 --- a/htdocs/langs/ro_RO/companies.lang +++ b/htdocs/langs/ro_RO/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Max. atins pentru facturi in suspensie MonkeyNumRefModelDesc=Retrimite numărulcu formatul %syymm-nnnn pentru codul de client și %syymm-nnnn pentru codul de furnizor unde YY este anul, mm este luna și nnnn este o secvență continuă și fără să revină la 0. LeopardNumRefModelDesc=Codul este liber fîrî verificare. Acest cod poate fi modificat în orice moment. ManagingDirectors=Nume Manager(i) nume (CEO, director, preşedinte...) -SearchThirdparty=Caută terţ +SearchThirdparty=Search third party SearchContact=Caută contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ro_RO/cron.lang b/htdocs/langs/ro_RO/cron.lang index dc3786315b3..8af55b907dc 100644 --- a/htdocs/langs/ro_RO/cron.lang +++ b/htdocs/langs/ro_RO/cron.lang @@ -4,10 +4,10 @@ About = Despre CronAbout = Despre Cron CronAboutPage = Despre pagina cron # Right -Permission23101 = Citeste sarcină programată -Permission23102 = Creare/Modificare sarcină programată -Permission23103 = Ştergeţi o sarcină programată -Permission23104 = Execută sarcină programată +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Setare Managementul joburilor programate URLToLaunchCronJobs=URL-ul pentru a verifica și a lansa joburi cron, dacă este necesar @@ -26,11 +26,11 @@ CronLastOutput=Ieşirea ultimei rulări CronLastResult=Codul ultimului rezultat CronListOfCronJobs=Lista joburilor programate CronCommand=Comandă -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Dată începere CronDtEnd=Data de final CronDtNextLaunch=Urmatoarea execuţie CronDtLastLaunch=Ultima execuţie -CronFrequency=Frecvenţa -CronClass=Clasa +CronFrequency=Frequency +CronClass=Class CronMethod=Metoda CronModule=Modulul CronAction=Acţiunea @@ -55,9 +55,9 @@ CronEach=Fiecare JobFinished=Job lansat şi terminat #Page card CronAdd= Adaugă joburi -CronHourStart= Data şi Ora de start a sarcinii -CronEvery= Şi execută sarcina la fiecare -CronObject= Instanţă/Obiect de creat +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instanţă/Obiect de creat CronArgs=Parametri CronSaveSucess=Salvare realizată CronNote=Comenteaza @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informatie # Common -CronType=Tip sarcină +CronType=Job type CronType_method=Apel metodă a Clasei Dolibarr CronType_command=Comandă shell CronMenu=Cron CronCannotLoadClass=Nu pot încărca clasa %s sau obiectul %s UseMenuModuleToolsToAddCronJobs=Intrați în meniul ''Acasă - Instrumentele modulelor - Lista de job-uri'' pentru a vedea și edita job-urile programate. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index f1d575dc612..65d80665a07 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Parametri de setare obligatorii nu sunt încă definiţi diff --git a/htdocs/langs/ro_RO/incoterm.lang b/htdocs/langs/ro_RO/incoterm.lang new file mode 100644 index 00000000000..2a6053ff160 --- /dev/null +++ b/htdocs/langs/ro_RO/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterm +IncotermSetupTitle1=Functionalitate +IncotermSetupTitle2=Status +IncotermSetup=Configurare modul Incoterm +IncotermFunctionDesc=Activare Functionalitati INcoterm ( Terti, Oferte, Comenzi, Facturi, Livrari ) diff --git a/htdocs/langs/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index c4a8956bc4d..8e089320a94 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Serverul de baze de date - superuser de acces CheckToCreateDatabase=Verificaţi dacă în cutia în cazul în care baza de date nu există şi trebuie să fie creat.
În acest caz, trebuie să completaţi datele de conectare / parola pentru contul de superuser, la partea de jos a acestei pagini. CheckToCreateUser=Verificaţi dacă în cutia în cazul în care proprietarul bazei de date nu există şi trebuie să fie creat.
În acest caz, trebuie să alegeţi de conectare şi parola şi umple, de asemenea, conectare / parola pentru contul de superuser, la partea de jos a acestei pagini. Dacă această casetă este debifată bază de date, proprietarul şi parolele sale trebuie să există. Experimental=(Experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login utilizatorului posibilitatea de a crea baze de date noi sau de noi utilizatori, inutil în cazul în care baza de date si login-ul bazei de date există deja (ca atunci cand sunt găzduite de către un furnizor de web hosting). KeepEmptyIfNoPassword=Lasă un gol în cazul în care utilizatorul nu are nici o parola (a evita acest lucru) SaveConfigurationFile=Salvaţi valorile diff --git a/htdocs/langs/ro_RO/languages.lang b/htdocs/langs/ro_RO/languages.lang index 483e5b1caa3..c22da0fac0e 100644 --- a/htdocs/langs/ro_RO/languages.lang +++ b/htdocs/langs/ro_RO/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabă Language_ar_SA=Arabă (Arabia Saudită) +Language_bn_BD=Bengali Language_bg_BG=Bulgară Language_bs_BA=Bosniac Language_ca_ES=Catalană @@ -21,9 +22,10 @@ Language_en_SA=Engleză (Arabia Saudită) Language_en_US=Engleză (Statele Unite) Language_en_ZA=Engleză (Africa de Sud) Language_es_ES=Spaniolă -Language_es_DO=Spaniolă (Republica Dominicană) Language_es_AR=Spaniolă (Argentina) Language_es_CL=Spaniolă (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spaniolă (Republica Dominicană) Language_es_HN=Spaniolă (Honduras) Language_es_MX=Spaniolă (Mexic) Language_es_PY=Spaniolă (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indoneziană Language_is_IS=Islandeză Language_it_IT=Italiană Language_ja_JP=Japoneză +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Coreeană +Language_lo_LA=Lao Language_lt_LT=Lituanian Language_lv_LV=Letonă Language_mk_MK=Macedonean @@ -64,6 +69,7 @@ Language_sv_SV=Suedeză Language_sv_SE=Suedeză Language_sq_AL=Albaneză Language_sk_SK=Slovacă +Language_sw_SW=Kiswahili Language_th_TH=Tailandez Language_uk_UA=Ucrainean Language_uz_UZ=Uzbecă diff --git a/htdocs/langs/ro_RO/loan.lang b/htdocs/langs/ro_RO/loan.lang new file mode 100644 index 00000000000..979bd2a0d7b --- /dev/null +++ b/htdocs/langs/ro_RO/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Asigurari +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/ro_RO/mails.lang b/htdocs/langs/ro_RO/mails.lang index 81a2cb43ea9..a67fdcd9003 100644 --- a/htdocs/langs/ro_RO/mails.lang +++ b/htdocs/langs/ro_RO/mails.lang @@ -77,7 +77,7 @@ CheckRead=Confirmarea de primire YourMailUnsubcribeOK=Emailul %s este dezabonat din mailing list MailtoEMail=Hyper link către email ActivateCheckRead=Permite utiliyarea linkului "Dezabonare" -ActivateCheckReadKey=Utilizaţi cheia pentru a cripta URL-ul folosit pentru funcţiunile "Confirmare de citire" și "Dezabonare" +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail trimis la %s destinatari. XTargetsAdded=%s destinatari adăugaţi în lista target EachInvoiceWillBeAttachedToEmail=Un document folosind modelul implicit al documentului va fi creat și atașat la fiecare e-mail. diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index 66c56e78592..d93efaa79ad 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Preț unitar (net) UnitPriceTTC=Preț unitar PriceU=UP PriceUHT=UP (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=Valoare AmountInvoice=Valoare Factură @@ -413,6 +413,8 @@ Qty=Cant ChangedBy=Modificat de ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculează ResultOk=Succes ResultKo=Eşec @@ -421,7 +423,7 @@ Reportings=Rapoarte Draft=Schiţă Drafts=Schiţe Validated=Validat -Opened=Deschis +Opened=Open New=Nou Discount=Discount Unknown=Necunoscut @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Link către un contact utilizator particular DeleteAFile=Şterge fişier ConfirmDeleteAFile=Sigur doriţi să ştergeţi fişierul NoResults=Niciun Rezultat +SystemTools=System tools ModulesSystemTools=Module Instrumente Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Luni Tuesday=Marţi @@ -732,3 +738,4 @@ ShortThursday=J ShortFriday=V ShortSaturday=S ShortSunday=D +SelectMailModel=Select email template diff --git a/htdocs/langs/ro_RO/orders.lang b/htdocs/langs/ro_RO/orders.lang index 240dec059fb..ba1031d0f54 100644 --- a/htdocs/langs/ro_RO/orders.lang +++ b/htdocs/langs/ro_RO/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Comandă Furnizor SuppliersOrders=Comenzi Furnizori SuppliersOrdersRunning=Comenzi Furnizori în curs CustomerOrder=Comandă client -CustomersOrders=Comenzi clienți -CustomersOrdersRunning=Comenzi Clienţi în curs -CustomersOrdersAndOrdersLines=Comenzi Clienţi şi linii comenzi -OrdersToValid=Comenzi clienţi de validat -OrdersToBill=Comenzi Clienţi livrate -OrdersInProcess=Comenzi Clienţi în desfăşurare -OrdersToProcess=Comenzi Clienţi de procesat -SuppliersOrdersToProcess=Comenzi Furnizori de tratat +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Anulata StatusOrderDraftShort=Schiţă StatusOrderValidatedShort=Validat @@ -75,8 +75,9 @@ AddToMyOrders=Adaugă la comenzile mele AddToOtherOrders=Adauga la alte comenzi AddToDraftOrders=Adaugă la comanda schiţă ShowOrder=Afişează comanda -NoOpenedOrders=Nu sunt comenzi deschise -NoOtherOpenedOrders=Nu sunt alte comenzi deschise +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Nicio comandă schiţă OtherOrders=Alte comenzi LastOrders=Last %s customer orders diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index a3b3b6ed3a0..aa80c7cecca 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Validate intervenţie Notify_FICHINTER_SENTBYMAIL=Intervenţie trimisă prin mail Notify_BILL_VALIDATE=Factura client validată Notify_BILL_UNVALIDATE=Factura client nevalidată +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Furnizor pentru a aprobat Notify_ORDER_SUPPLIER_REFUSE=Furnizor pentru a refuzat Notify_ORDER_VALIDATE=Comandă client validată @@ -203,6 +204,7 @@ ClickHereToGoTo=Click aici pentru a merge la %s YouMustClickToChange=Trebuie însă mai întâi să faceți clic pe link-ul următor pentru a valida această schimbare a parolei ForgetIfNothing=Dacă nu ați solicitat această schimbare, ignoraţi acest e-mail. Datele dvs. sunt păstrate în condiții de siguranță. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Adăugaţi în calendar intrare %s diff --git a/htdocs/langs/ro_RO/printing.lang b/htdocs/langs/ro_RO/printing.lang new file mode 100644 index 00000000000..87f8c0cfe0a --- /dev/null +++ b/htdocs/langs/ro_RO/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Configurarea Sistemuluii Imprimare directă +PrintingDesc=Acest modul adauga un buton de imprimare pentru a trimite documentele direct la o imprimantă ( fara deschiderea documentului in aplicatie) cu diferite module. +ModuleDriverSetup=Configurare Modul Driver +PrintingDriverDesc=Configurare variabile pentru driverul de imprimanta +ListDrivers=Lista driverelor +PrintTestDesc=Lista imprimantelor +FileWasSentToPrinter=Fișierul %s a fost trimis la imprimantă +NoActivePrintingModuleFound=Niciun modul activ de printare documente +PleaseSelectaDriverfromList=Selectati un driver din lista. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Imprimantă implicită +UserConf=Configurare pe utilizator +PRINTGCP=Google Cloud Print +PrintGCPDesc=Acest driver permite trimiterea documentelor direct la imprimanta cu Google Cloud Print. +PrintingDriverDescprintgcp=Configurare variabile pentru driverul imprimanta Google Cloud Print. +PrintTestDescprintgcp=Lista imprimantelor pentru Google Cloud Print +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Necunoscut +STATE_OFFLINE=Offline +STATE_DORMANT=Offline pentru o vreme +TYPE_GOOGLE=Google +TYPE_HP=Imprimanta HP +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Nume +GCP_displayName=Nume afişat +GCP_Id=Id Imprimanta +GCP_OwnerName=Nume Proprietar +GCP_State=Stare Imprimanta +GCP_connectionStatus=Stare Online +GCP_Type=Tip Imprimanta +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Configurarea modulului Imprimare directă +PrintIPPDesc=Acest driver permite trimiterea documentelor direct la o imprimanta. Este nevoie de un sistem Linux cu CUPS instalat. +PrintingDriverDescprintipp=Configurare variabile pentru driverul de imprimanta PrintPP. +PrintTestDescprintipp=Lista imprimantelor pentru driverele PrintPP +PRINTIPP_ENABLED=Afișare pictogramă "Print Direct" în listele de documente +PRINTIPP_HOST=Server print +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Parolă +NoPrinterFound=Nu există imprimante (verificați setarea CUPS) +NoDefaultPrinterDefined=Nicio imprimantă implicită definită +DefaultPrinter=Imprimantă implicită +Printer=Imprimanta +CupsServer=Server CUPS +IPP_Uri=Uri Imprimanta +IPP_Name=Nume Imprimanta +IPP_State=Stare Imprimanta +IPP_State_reason=Motiv Stare +IPP_State_reason1=Motiv 1 Stare +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Imprimanta Media +IPP_Supported=Tip Media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Oprita +STATE_IPP_paused=Pauza +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=Niciunul +MEDIA_IPP_stationery=Stationar +MEDIA_IPP_thermal=Termala +IPP_COLOR_print-black=Imprimanta BW diff --git a/htdocs/langs/ro_RO/productbatch.lang b/htdocs/langs/ro_RO/productbatch.lang index 3572c593286..f7f2aa42beb 100644 --- a/htdocs/langs/ro_RO/productbatch.lang +++ b/htdocs/langs/ro_RO/productbatch.lang @@ -19,4 +19,4 @@ printQty=Cant: %d AddDispatchBatchLine=Adauga o linie pentru Perioada de valabilitate expediere BatchDefaultNumber=Nedefinit WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=Acest produs nu foloseste numarul de lot / serie +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index 06cb6979f25..339168231d7 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produs sau serviciu ProductsAndServices=Produse si Servicii ProductsOrServices=Produse sau servicii ProductsAndServicesOnSell=Produse si Servicii supuse vânzării sau cumpărării -ProductsAndServicesNotOnSell=Produse si Servicii neoferite +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statistici Produse si Servicii ProductsStatistics=Statistici Produse -ProductsOnSell=Produs supus vânzării sau cumpărării -ProductsNotOnSell=Produs nesupus vânzării sau cumpărării +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Produse supuse vânzării sau cumpărării ServicesOnSell=Servicii supuse vânzării sau cumpărării -ServicesNotOnSell=Servicii neoferite prestarii +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Servicii supuse vânzării sau cumpărării InternalRef=Referinţă internă LastRecorded=Ultimele produse / servicii disponibile înregistrate @@ -44,7 +44,7 @@ CardProduct1=Fişă Serviciul CardContract=Fişă Contract Warehouse=Depozit Warehouses=Depozite -WarehouseOpened=Depozit deschis +WarehouseOpened=Warehouse open WarehouseClosed=Depozit închis Stock=Stoc Stocks=Stocuri @@ -71,21 +71,21 @@ SellingPriceTTC=Preţul de vânzare (incl. taxe) PublicPrice=Preţ Public CurrentPrice=Preţ curent NewPrice=Preţ nou -MinPrice=Preţ min. vânzare -MinPriceHT=Preţ minim vânzare (fără tva) -MinPriceTTC=Preţ minim vânzare (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Prețul de vânzare nu poate fi mai mic decât minimul permis pentru acest produs (%s fără tva). Acest mesaj poate apărea, de asemenea, dacă tastați o reducere prea important. ContractStatus=Status Contract ContractStatusClosed=Închis -ContractStatusRunning=În service +ContractStatusRunning=Ongoing ContractStatusExpired=expirat -ContractStatusOnHold=Fără service -ContractStatusToRun=De pus în funcţiune -ContractNotRunning=Acest contract nu este în execuţie +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Un produs cu referinţa %s există deja. ErrorProductBadRefOrLabel=Valoare greșită pentru referință sau eticheta. ErrorProductClone=A apărut o problemă în timp ce sw încerca clonarea produsului sau a serviciului. -ErrorPriceCantBeLowerThanMinPrice=Eroare Preţul nu poate fi mai mic decât Preţul Minim +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Furnizori SupplierRef=Ref. produs furnizor ShowProduct=Afişează produs @@ -117,12 +117,12 @@ ServiceLimitedDuration=Dacă produsul este un serviciu cu durată limitată: MultiPricesAbility=Câteva nivele ale preţurilor produs/serviciu MultiPricesNumPrices=Numărul de preţ MultiPriceLevelsName=Categorii Preţ -AssociatedProductsAbility=Activează funcţia pachete virtuale +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Pachet produs -AssociatedProductsNumber=Număr produse ce compun acest pachet produse virtual +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Numărul pachetelor produselor părinte -IfZeroItIsNotAVirtualProduct=Dacă 0, acest produs nu este un pachet produs virtual -IfZeroItIsNotUsedByVirtualProduct=Dacă 0, acest produs nu este folosit de niciun pachet produs virtual +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Compus ca produs virtual Translation=Traduceri KeywordFilter=Filtru de cuvinte cheie @@ -131,7 +131,7 @@ ProductToAddSearch=Cauta produse de adăugat AddDel=Adăugare / Retrage Quantity=Cantitate NoMatchFound=Niciun rezultat găsit -ProductAssociationList=Lista de legate de produse / servicii: nume de produse / servicii (cantitatea afectate) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Lista de pachete produse / servicii cu acest produs, ca o componentă ErrorAssociationIsFatherOfThis=Un produs este selectat de părinte cu curent produs DeleteProduct=A şterge un produs / serviciu @@ -179,16 +179,41 @@ CloneProduct=Clone produs sau un serviciu ConfirmCloneProduct=Sigur doriţi să clonaţi produsul sau serviciul %s ? CloneContentProduct=Clone toate principalele informatii de produs / serviciu ClonePricesProduct=Clone principalele informatii si preturi -CloneCompositionProduct=Clonează pachet produs/serviciu +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Acest produs este utilizat NewRefForClone=Ref. de produs / serviciu nou -CustomerPrices=Preţuri Clienţii -SuppliersPrices=Preţuri Furnizori -SuppliersPricesOfProductsOrServices=Preţuri Furnizori ( al produselor şi serviciilor) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Codul vamal CountryOrigin=Ţara de origine HiddenIntoCombo=Ascuns în liste selectaţi Nature=Natura +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Model ref Produs ServiceCodeModel=Model ref Serviciu AddThisProductCard=Crează Fişă produs @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Autoconsum de producție ProductBuilded=Producţie completată ProductsMultiPrice=Produse preţ multiplu -ProductsOrServiceMultiPrice=Preţuri Clienti ( al produselor şi serviciilor, multi-preţ) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Cifra de afaceri trimestrială a produselor VWAP ServiceSellByQuarterHT=Cifra de afaceri trimestrială servicii VWAP Quarter1=Trimestru 1. @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Defineşte valoare coduri de bare pentru toate înregi PriceByCustomer=Preţuri diferite pentru fiecare client PriceCatalogue=Preţ unic pe produs/serviciu PricingRule=Reguli pentru preţuri clienţi -AddCustomerPrice=Adaugă Preţ pe client +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Setează acelasi preţ pe subsidiarele clientuli PriceByCustomerLog=Log Preţ pe client -MinimumPriceLimit=Preţul minim nu poate fi mai mic decat %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Preţul minim recomandat este: %s PriceExpressionEditor=Editor expresie preț PriceExpressionSelected=Expresie preț selectatată @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index 72059112942..e2a45f8d270 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Această vedere prezintă toate proiectele la care aveţi per ProjectsPublicTaskDesc=Această vedere prezintă toate proiectele şi activităţile care sunt permise să le citiţi. ProjectsDesc=Această vedere prezintă toate proiectele (permisiuni de utilizator va acorda permisiunea de a vizualiza totul). MyTasksDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteţi contact(indiferent de tip). -OnlyOpenedProject=Numai proiectele deschise sunt vizibile (proiecte cu statutul draft sau închise nu sunt vizibile). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Această vedere prezintă toate proiectele şi activităţile care sunt permise să le citiţi. TasksDesc=Această vedere prezintă toate proiectele şi sarcinile (permisiuni de utilizator va acorda permisiunea de a vizualiza totul). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Lista proiecte ShowProject=Afişează proiect SetProject=Setare proiect NoProject=Niciun proiect definit sau responsabil -NbOpenTasks=Nr taskuri deschise +NbOpenTasks=Nb of open tasks NbOfProjects=Nr proiecte TimeSpent=Timp comsumat TimeSpentByYou=Timpul consumat da tine @@ -41,7 +41,7 @@ TaskTimeSpent=Timp consumat pe task TaskTimeUser=Utilizator TaskTimeNote=Nota TaskTimeDate=Data -TasksOnOpenedProject=Sarcini la proiectele deschise +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Volumul de muncă nu este definit NewTimeSpent=Timp nou consumat MyTimeSpent=Timpul meu consumat @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Lista intervenţii asociate la proiectului ListExpenseReportsAssociatedProject=Lista rapoartelor cheltuieli asociate proiectului ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Lista evenimentelor asociate la proiectului +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activitatea de pe proiect în această săptămână ActivityOnProjectThisMonth=Activitatea de pe proiect în această lună ActivityOnProjectThisYear=Activitatea de pe proiect în acest an @@ -95,7 +96,7 @@ DeleteATimeSpent=Ştergeţi timpul consumat ConfirmDeleteATimeSpent=Ssigur doriţi să ştergeţi acest timp consumat? DoNotShowMyTasksOnly=Afişează, de asemenea, şi taskurile ce nu sunt atribuite mie ShowMyTasksOnly=Vezi numai taskurile atribuite mie -TaskRessourceLinks=Resurse +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Proiecte dedicate acestui terţ NoTasks=Nr sarcini pentru acest proiect LinkedToAnotherCompany=Legat de terţe părţi, alta @@ -139,8 +140,12 @@ ProjectReferers=Obiecte asociate SearchAProject=Cauta proiect ProjectMustBeValidatedFirst=Proiectul trebuie validat mai întâi ProjectDraft=Proiecte schiţă -FirstAddRessourceToAllocateTime=Asociază o resursă la timpul alocat +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Intrare pe zi InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=Timpul consumat deja înregistrat pentru această sarcină / zi și utilizator %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ro_RO/propal.lang b/htdocs/langs/ro_RO/propal.lang index e0bbcc76543..d8da0755011 100644 --- a/htdocs/langs/ro_RO/propal.lang +++ b/htdocs/langs/ro_RO/propal.lang @@ -4,7 +4,7 @@ Proposal=Ofertă Comercială ProposalShort=Ofertă ProposalsDraft=Oferte Comerciale schiţă ProposalDraft=Ofertă Comercială Schiţă -ProposalsOpened=Oferte comerciale deschise +ProposalsOpened=Open commercial proposals Prop=Oferte Comerciale CommercialProposal=Ofertă Comercială CommercialProposals=Oferte Comerciale @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Valoarea pe luni (netă) NbOfProposals=Număr oferte comerciale ShowPropal=Afişează oferta PropalsDraft=Schiţe -PropalsOpened=Deschise +PropalsOpened=Open PropalsNotBilled=Închise nefacturate PropalStatusDraft=Schiţă (de validat) PropalStatusValidated=Validată (oferta e deschisă) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nesemnată (inchisă) PropalStatusBilled=Facturată PropalStatusDraftShort=Schiţă PropalStatusValidatedShort=Validată -PropalStatusOpenedShort=Deschisă +PropalStatusOpenedShort=Open PropalStatusClosedShort=Închisă PropalStatusSignedShort=Semnată PropalStatusNotSignedShort=Nesemnată @@ -51,8 +51,8 @@ PropalsToClose=Oferte Comerciale de închis PropalsToBill=Oferte Comerciale semnate de facturat ListOfProposals=Lista ofertelor comerciale ActionsOnPropal=Evenimente pe ofertă -NoOpenedPropals=Nu sunt oferte comerciale deschise -NoOtherOpenedPropals=Nu există alte oferte comerciale deschise +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Ref. Ofertă comercială SendPropalByMail=Trimite oferta comercială pe mail AssociatedDocuments=Documente asociate la ofertă: @@ -98,3 +98,4 @@ DocModelJauneDescription=Model ofertă Jaune DefaultModelPropalCreate=Crează model implicit DefaultModelPropalToBill=Model implicit la închiderea unei oferte comerciale (de facturat) DefaultModelPropalClosed=Model implicit la închiderea unei oferte comerciale (nefacturat) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/ro_RO/salaries.lang b/htdocs/langs/ro_RO/salaries.lang index 75c0b1969d3..6239df53839 100644 --- a/htdocs/langs/ro_RO/salaries.lang +++ b/htdocs/langs/ro_RO/salaries.lang @@ -10,4 +10,6 @@ SalariesPayments=Plati salarii ShowSalaryPayment=Arata plata salariu THM=Pret mediu pe ora TJM=Pret mediu zilnic -CurrentSalary=Current salary +CurrentSalary=Salariu curent +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ro_RO/sendings.lang b/htdocs/langs/ro_RO/sendings.lang index 94d4d7d5fe2..f1e0094ffbc 100644 --- a/htdocs/langs/ro_RO/sendings.lang +++ b/htdocs/langs/ro_RO/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Model simplu DocumentModelMerou=Model Merou A5 WarningNoQtyLeftToSend=Atenţie, nu sunt produse care aşteaptă să fie expediate. StatsOnShipmentsOnlyValidated=Statisticil ectuate privind numai livrările validate. Data folosită este data validării livrării (data de livrare planificată nu este întotdeauna cunoscută). -DateDeliveryPlanned=Data de livrare planificată +DateDeliveryPlanned=Planned date of delivery DateReceived=Data de livrare reală SendShippingByEMail=Trimite dispoziţia de livrare prin e-mail SendShippingRef=Transmitere livrare %s @@ -67,7 +67,7 @@ SendingRunning=Produs din comenzile clientului comandate SuppliersReceiptRunning=Produs din comenzile furnizorului comandate ProductQtyInCustomersOrdersRunning=Cantitate produs in comenzile clientilor deschise ProductQtyInSuppliersOrdersRunning=Cantitate produs in comenzile furnizorilor deschise -ProductQtyInShipmentAlreadySent=Cantitate produs din comenzile clientilor deschise deja trimise +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Cantitate produs din comenzile furnizorilor deschise deja primite # Sending methods diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 67ca7b27112..00be24c7917 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Depozite NewWarehouse=Depozit / Stoc Nou WarehouseEdit=Modifică depozit MenuNewWarehouse=Depozit nou -WarehouseOpened=Depozit deschis +WarehouseOpened=Warehouse open WarehouseClosed=Depozit închis WarehouseSource=Depozit Sursa WarehouseSourceNotDefined=Niciun depozit definit, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Alege depozitul pentru scăderea stocului SelectWarehouseForStockIncrease=Alege depozitul pentru creşterea stocului NoStockAction=Nicio actiune pe stoc LastWaitingSupplierOrders=Comenzi nereceptionate -DesiredStock=Stoc dorit +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=De comandat Replenishment=Reaprovizionare ReplenishmentOrders=Comenzi reaprovizionare -VirtualDiffersFromPhysical=Potrivit opțiunilor decreştere/ descreştere , stocul fizic și stocul virtual (fizic + Comenzicurente) pot diferi +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Utilizați stoc virtual implicit, în loc de stoc fizic, pentru facilitatea de reaprovizionare UseVirtualStock=Utilizeaza Stoc Virtual UsePhysicalStock=Utilizeaza Stoc Fizic -CurentSelectionMode=Mod selectie curent +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Stoc Virtual CurentlyUsingPhysicalStock=Stoc Fizic RuleForStockReplenishment=Reguli pentru reaprovizionarea stocului @@ -112,8 +113,8 @@ AlertOnly= Numai Alerte WarehouseForStockDecrease=Depozitul %s va fi utilizat pentru scăderea stocului WarehouseForStockIncrease=Depozitul %s va fi utilizat pentru creşterea stocului ForThisWarehouse=Pentru acest depozit -ReplenishmentStatusDesc=Aceasta este lista cu toate produsele având stocul mai mic decât stocul dorit (sau valoarea de alertă dacă casuţa "doar alertă " este bifată) și sugerăm să vă creaţi comenzi furnizor pentru a completa diferența. -ReplenishmentOrdersDesc=Aceasta este lista tuturor comenzilor furnizori deschise, inclusiv produse predefinite. Doar comenzile deschise cu produse predefinite, astfel încât pot afecta stocurile, sunt vizibile aici. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Reaprovizionări NbOfProductBeforePeriod=Cantitatea de produs %s în stoc înainte de perioada selectată (< %s) NbOfProductAfterPeriod=Cantitatea de produs %s în stoc după perioada selectată (> %s) @@ -124,16 +125,16 @@ RecordMovement=Înregistrare transfer ReceivingForSameOrder=Recepţii pentru această comandă StockMovementRecorded=Mişcări stoc înregistrate RuleForStockAvailability=Reguli pentru cereri stoc -StockMustBeEnoughForInvoice=Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în factură -StockMustBeEnoughForOrder=Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în comandă -StockMustBeEnoughForShipment= Nivelul stocului trebuie să fie suficient pentru a adăuga produsul/serviciul în livrare +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Eticheta transferului InventoryCode=Codul de inventar sau transfer IsInPackage=Continute in pachet ShowWarehouse=Arată depozit -MovementCorrectStock=Corectie continut stoc pentru produsul %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transfer stoc al produsului %s in alt depozit -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ro_RO/suppliers.lang b/htdocs/langs/ro_RO/suppliers.lang index 9919d03b06e..8ce7f1b01c6 100644 --- a/htdocs/langs/ro_RO/suppliers.lang +++ b/htdocs/langs/ro_RO/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Trimite la furnizori ListOfSupplierOrders=Lista comenzi furnizori MenuOrdersSupplierToBill=Comenzi Furnizor de facturat NbDaysToDelivery= Intârziere Livrare in zile -DescNbDaysToDelivery=Cea mai mare intarziere este afisata in lista produsului comandat +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ro_RO/trips.lang b/htdocs/langs/ro_RO/trips.lang index 5b8d86ea9b0..2470dc401f1 100644 --- a/htdocs/langs/ro_RO/trips.lang +++ b/htdocs/langs/ro_RO/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Rapoarte Cheltuieli TripsAndExpensesStatistics=Statistici Rapoarte Cheltuieli TripCard=Fisa Raport Cheltuieli AddTrip=Creare Raport Cheltuieli -ListOfTrips=Listă rapoarte de cheltuieli +ListOfTrips=List of expense reports ListOfFees=Lista note cheltuieli NewTrip= Raport de cheltuieli nou CompanyVisited=Societatea / Instituţia vizitată @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Persoana de informare pentru validare. TripSociete=Informații companie TripSalarie=Informații Utilizator TripNDF=Informations expense report -DeleteLine=Ștergeo linie a raportului de cheltuieli +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Sunteţi sigur că doriţi să ştergeţi această linie? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Line raport de cheltuieli @@ -40,11 +40,10 @@ TF_BUS=Autobuz TF_CAR=Mașină TF_PEAGE=Taxă TF_ESSENCE=Combustibil -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=Ați declarat un alt raport de cheltuieli într-un interval de timp similar. -ListTripsAndExpenses=Listă rapoarte de cheltuieli AucuneNDF=Nu există rapoarte de cheltuieli pentru acest criteriu AucuneLigne=Nu există încă nici un raport de cheltuieli declarate AddLine=Adaugao linie @@ -56,12 +55,12 @@ ModePaiement=Mod plata Note=Notă Project=Proiect -VALIDATOR=Utilizatorul de informat pentru aprobare +VALIDATOR=User responsible for approval VALIDOR=Aprobat de AUTHOR=Înregistrat de -AUTHORPAIEMENT=Platit de +AUTHORPAIEMENT=Paid by REFUSEUR=Respins de -CANCEL_USER=Anulat de +CANCEL_USER=Deleted by MOTIF_REFUS=Motiv MOTIF_CANCEL=Motiv @@ -74,7 +73,7 @@ DATE_PAIEMENT=Data Plata TO_PAID=Plăteşte BROUILLONNER=Redeschide -SendToValid=Trimis la aprobare +SendToValid=Sent on approval ModifyInfoGen=Editare ValidateAndSubmit=Validareaza și trimite pentru aprobare @@ -93,7 +92,7 @@ ConfirmPaidTrip=Sunteţi sigur că doriţi sa clasati acest raport de cheltuieli CancelTrip=Anulează un raport de cheltuieli ConfirmCancelTrip=Sunteți sigur că doriți să anulați acest raport cheltuieli? -BrouillonnerTrip=Muta Inapoi raportul de cheltuieli la statutul de "Draft" +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft" ? SaveTrip=Valideaza raport de cheltuieli diff --git a/htdocs/langs/ro_RO/users.lang b/htdocs/langs/ro_RO/users.lang index 011eae0c15d..0fe828e604e 100644 --- a/htdocs/langs/ro_RO/users.lang +++ b/htdocs/langs/ro_RO/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Înlăturaţi din grup PasswordChangedAndSentTo=Parola schimbat şi a trimis la %s. PasswordChangeRequestSent=Cerere pentru a schimba parola pentru %s %s la trimis. MenuUsersAndGroups=Utilizatorii & Grupuri +MenuMyUserCard=My user card LastGroupsCreated=Ultima %s creat grupuri LastUsersCreated=Ultima %s utilizatorii creat ShowGroup=Arata grup diff --git a/htdocs/langs/ro_RO/workflow.lang b/htdocs/langs/ro_RO/workflow.lang index 4dc8c56927b..3ad05814d42 100644 --- a/htdocs/langs/ro_RO/workflow.lang +++ b/htdocs/langs/ro_RO/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configurare Modul Flux de Lucru -WorkflowDesc=Acest modul vă permite modificarea comportamentului acțiunilor automate în aplicaţie. În mod implicit, fluxul de lucru este deschis (puteţi face ce doriţi în ordinea dorită). Puteți activa acțiunile automate de care sunteti interesat -ThereIsNoWorkflowToModify=Nu există nici un flux de lucru modificabil pentru modulele activate. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crează o comandă client automat, după ce o ofertă comercială este semnată -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crează o factură client automat, după ce o ofertă comercială este semnată -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Crează o factură client automat, după ce un contract este validat -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Crează o factură client automat, după ce o comandă client este închisă +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Clasează propunere comercială legată ca facturată când comanda client este setată ca plătită descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Clasează comenzi(le) client sursă legate ca facturate, atunci când factura clientului este setată ca plătită descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Clasează comenzi(le) client sursă legate ca facturate, atunci când factura clientului este validată diff --git a/htdocs/langs/ru_RU/accountancy.lang b/htdocs/langs/ru_RU/accountancy.lang index c908cea5084..4a31097ce20 100644 --- a/htdocs/langs/ru_RU/accountancy.lang +++ b/htdocs/langs/ru_RU/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=Кодировка UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Бухгалтерия Globalparameters=Глобальные параметры @@ -25,8 +32,8 @@ Back=Назад Definechartofaccounts=Define a chart of accounts Selectchartofaccounts=Select a chart of accounts Validate=Подтвердить -Addanaccount=Add an accounting account -AccountAccounting=Accounting account +Addanaccount=Добавить бухгалтерский счёт +AccountAccounting=Бухгалтерский счёт Ventilation=Breakdown ToDispatch=На отправку Dispatched=Отправленный @@ -37,15 +44,15 @@ TradeMargin=Торговая наценка Reports=Отчёты ByCustomerInvoice=По счетам клиентов ByMonth=По месяцам -NewAccount=New accounting account +NewAccount=Новый бухгалтерский счёт Update=Обновить List=Список Create=Создать UpdateAccount=Modification of an accounting account UpdateMvts=Modification of a movement -WriteBookKeeping=Record accounts in general ledger +WriteBookKeeping=Записать счета в главную книгу Bookkeeping=Главная книга -AccountBalanceByMonth=Account balance by month +AccountBalanceByMonth=Баланс счёта по месяцам AccountingVentilation=Breakdown accounting AccountingVentilationSupplier=Breakdown accounting supplier @@ -53,11 +60,11 @@ AccountingVentilationCustomer=Breakdown accounting customer Line=Строка CAHTF=Total purchase supplier HT -InvoiceLines=Lines of invoice to be ventilated +InvoiceLines=Строки счёта для обсуждения InvoiceLinesDone=Ventilated lines of invoice IntoAccount=In the accounting account -Ventilate=Ventilate +Ventilate=Обсудить VentilationAuto=Automatic breakdown Processing=Обрабатывается @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Журнал продаж ACCOUNTING_PURCHASE_JOURNAL=Журнал платежей -ACCOUNTING_BANK_JOURNAL=Банковский журнал -ACCOUNTING_CASH_JOURNAL=Журнал наличных средств ACCOUNTING_MISCELLANEOUS_JOURNAL=Журнал "Разное" +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Социальный журнал ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index 5e15e4c1f46..9716f08b19c 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Меню для пользователей LangFile=.lang файл System=Система SystemInfo=Информация о системе -SystemTools=Системные настройки SystemToolsArea=Раздел системных настроек SystemToolsAreaDesc=Этот раздел предоставляет административные функции. Используйте меню для выбора необходимой функции. Purge=Очистить @@ -232,8 +231,8 @@ Security=Безопасность Passwords=Пароли DoNotStoreClearPassword=Не хранить пароли в чистом виде в базе данных - хранить зашифрованные значения (Рекомендуем) MainDbPasswordFileConfEncrypted=Зашифровать пароль к базе в conf.php (Рекомендуется) -InstrucToEncodePass=Чтобы поместить зашифрованный пароль в conf.php файл, замените строку
$dolibarr_main_db_pass ="..."
на
$dolibarr_main_db_pass"=crypted:%s" -InstrucToClearPass=Чтобы поместить декодированный пароль (прозрачный) в conf.php файл, замените строку
$dolibarr_main_db_pass="crypted:..."
на
$dolibarr_main_db_pass="%s" +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=Защита генерируемых PDF файлов (НЕ РЕКОМЕНДУЕТСЯ при массовом создании PDF) ProtectAndEncryptPdfFilesDesc=Защита PDF документа оставляет его доступным для чтения и печати PDF любым браузером. Вместе с тем, редактирование и копирование запрещается. Заметим, что, использование этой опции делает создание глобального аккумулированного PDF перестает работать (как, неоплаченные счета-фактуры). Feature=Особенность @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Это установка для обработки: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Шаг %s FindPackageFromWebSite=Найти пакет, который обеспечивает функции вы хотите (например, на официальном веб-сайте %s). -DownloadPackageFromWebSite=Загрузить пакет %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Установка закончена, и Dolibarr готов к использованию с этого нового компонента. NotExistsDirect=Альтернативная root директория не определена.
InfDirAlt=Начиная с версии 3 стало возможным определение альтернативной root директории. Это позволяет вам хранить в одном и том же месте плагины и пользовательские шаблоны.
Просто создайте директорию в root директории Dolibarr (например, custom).
InfDirExample=
затем объявите в файле conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='path/of/dolibarr/htdocs/custom'
*Эти строки закомментированы с помощью символа "#". Чтобы раскомментировать - просто удалите этот служебный символ. -YouCanSubmitFile=Выберите модуль: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Текущая версия Dolibarr CallUpdatePage=Перейдите на страницу, которая обновляет структуру базы данных и данные %s. LastStableVersion=Последняя стабильная версия @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Библиотека, использованная для генерации PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Введите номер телефона для ссылки с целью тестирования ClickToDial пользователя %s RefreshPhoneLink=Обновить ссылку @@ -492,8 +491,8 @@ Module400Name=Проекты/Возможности/Покупка Module400Desc=Управление проектами, возможностями или потенциальными клиентами. Вы можете назначить какой-либо элемент (счет, заказ, предложение, посредничество, ...) к проекту и получить вид в представлении проекта. Module410Name=Webcalendar Module410Desc=Webcalendar интеграции -Module500Name=Специальные расходы (налоги, социальные выплаты, дивиденды) -Module500Desc=Управление специальными расходами, такими как налоги, социальные выплаты, дивиденды и зарплаты +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Зарплаты Module510Desc=Управление зарплатами сотрудников и платежами Module520Name=Ссуда @@ -524,8 +523,10 @@ Module2400Name=Повестка дня Module2400Desc=Деятельность / задачи и программы управления Module2500Name=Электронное управление Module2500Desc=Сохранение и обмен документами -Module2600Name=WebServices -Module2600Desc=Включить сервер услуг Dolibarr Сети +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=модуль WebServices (для клиента) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Происхождение Коммерческих предл DictionaryAccountancyplan=План счетов DictionaryAccountancysystem=Модели для диаграммы счетов DictionaryEMailTemplates=Шаблоны электронных писем +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Настройки сохранены BackToModuleList=Вернуться к списку модулей BackToDictionaryList=Назад к списку словарей @@ -936,13 +939,14 @@ CompanyZip=Индекс CompanyTown=Город CompanyCountry=Страна CompanyCurrency=Основная валюта +CompanyObject=Object of the company Logo=Логотип DoNotShow=Не показывать DoNotSuggestPaymentMode=Не рекомендуем NoActiveBankAccountDefined=Не определен активный банковский счет OwnerOfBankAccount=Владелец банковского счета %s BankModuleNotActive=Модуль Банковских счетов не активирован -ShowBugTrackLink=Показать ссылку "Сообщить об ошибке" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Показать "Инструменты" на главной странице Alerts=Предупреждения Delays=Задержки @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Макс десятичных цен за единицу MAIN_MAX_DECIMALS_TOT=Макс десятичных общей цены MAIN_MAX_DECIMALS_SHOWN=Макс десятичных цен отображается на экране (Добавить ... После этого, если вы хотите посмотреть ... когда число усекается когда отображаются на экране) MAIN_DISABLE_PDF_COMPRESSION=Использовать сжатие PDF для порожденных PDF файлов. -MAIN_ROUNDING_RULE_TOT= Размер округления диапазона (для тех стран, где округление происходит что-то другое, чем по основанию 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Чистая цена единицы продукта TotalPriceAfterRounding=Общая стоимость (нетто / НДС / включая налоги) после округления ParameterActiveForNextInputOnly=Параметр эффективным для следующего ввода только @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Полное количество активиро YouMustEnableOneModule=Вы должны включить минимум 1 модуль ClassNotFoundIntoPathWarning=Класс %s не найден по PHP пути YesInSummer=Да летом -OnlyFollowingModulesAreOpenedToExternalUsers=Примечание. Следующие модули открыты для внешних пользователей (Какими бы ни были права доступа для этих пользователей) +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Хранилище сессий шифровано системой SUHOSIN ConditionIsCurrently=Текущее состояние %s YouUseBestDriver=Вы используете драйвер %s, который на текущий момент является самым подходящим @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Max number of products in combos select lists (0=М ConfirmDeleteProductLineAbility=Подтверждение удаления линия производит в форме ModifyProductDescAbility=Персонализация описаний производится в форме ViewProductDescInFormAbility=Визуализация продукта описания в форме (иначе как всплывающие подсказки) +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=Визуализация продуктов описания в сторонних язык UseSearchToSelectProductTooltip=Also if you have a large number of product (> 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Использовать форму поиска для выбора продукта (вместо выпадающего списка). UseEcoTaxeAbility=Поддержка Эко-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Стандартный вид штрих-кода, используемого для продуктов SetDefaultBarcodeTypeThirdParties=Стандартный вид штрих-кода, используемого для третьих сторон +UseUnits=Support units ProductCodeChecker= Модуль для генерации кода продукта и проверки (Товар или Услуга) ProductOtherConf= Конфигурация Товаров / Услуг ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Штрих-код типа СКП BarcodeDescISBN=Штрих-код типа ISBN BarcodeDescC39=Штрих-код типа C39 BarcodeDescC128=Штрих-код типа C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Путь для запуска к утилите генерации штри-кодов (используется для некоторых типов штрих-кодов). Должна быть совместима с командой "genbarcode".
Например, /usr/local/bin/genbarcode BarcodeInternalEngine=Внутренние средства управления BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices модуль настройки WebServicesDesc=Позволяя этого модуля, Dolibarr стать веб-службы сервера представить разные веб-службы. WSDLCanBeDownloadedHere=WSDL дескриптор файла предоставляемых serviceses можно скачать здесь EndPointIs=SOAP клиенты должны направить свои заявки с точки Dolibarr доступна по адресу +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Банк модуль настройки FreeLegalTextOnChequeReceipts=Свободный текст на чеке расписки @@ -1594,7 +1609,7 @@ OpenFiscalYear=Открыть финансовый год CloseFiscalYear=Закрыть финансовый год DeleteFiscalYear=Удалить финансовый год ConfirmDeleteFiscalYear=Вы точно хотите удалить этот финансовый год? -Opened=Открыты +Opened=Open Closed=Закрыты AlwaysEditable=Всегда может быть отредактировано MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Установка внешних мод SomethingMakeInstallFromWebNotPossible2=По этой причине, описанный здесь процесс апрейгда - это только шаги, которые может выполнить пользователь с соответствующими правами доступа. InstallModuleFromWebHasBeenDisabledByFile=Установка внешних модулей из приложения отключена вашим администратором. Вы должны попросить его удалить файл %s, чтобы использовать эту функцию. ConfFileMuseContainCustom=Установка внешнего модуля из приложения сохраняет файлы модуля в папке %s. Для использования этой папке в системе Dolibarr вы должны настроить conf/conf.php с использованием этой функции
-$dolibarr_main_url_root_alt со значением $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt со значением "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/ru_RU/banks.lang b/htdocs/langs/ru_RU/banks.lang index d5cb3876768..8896ea280be 100644 --- a/htdocs/langs/ru_RU/banks.lang +++ b/htdocs/langs/ru_RU/banks.lang @@ -94,12 +94,12 @@ Conciliate=Согласительной Conciliation=Согласительная ConciliationForAccount=Согласительную этот счет IncludeClosedAccount=Включите закрытые счета -OnlyOpenedAccount=Только открыли счета +OnlyOpenedAccount=Only open accounts AccountToCredit=Счета к кредитам AccountToDebit=Счет дебетовать DisableConciliation=Отключите функцию примирения для этой учетной записи ConciliationDisabled=Согласительный функция отключена -StatusAccountOpened=Открыты +StatusAccountOpened=Open StatusAccountClosed=Закрытые AccountIdShort=Количество EditBankRecord=Изменить запись diff --git a/htdocs/langs/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index 5b8e7625201..1f9ae4a14ad 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -12,30 +12,30 @@ BillsLate=Просроченные платежи BillsStatistics=Статистика счетов клиентов BillsStatisticsSuppliers=Статистика счетов поставщиков DisabledBecauseNotErasable=Неактивны, потому что не могут быть стерты -InvoiceStandard=Стандартный счет-фактура -InvoiceStandardAsk=Стандартный счет-фактура +InvoiceStandard=Стандартный счёт +InvoiceStandardAsk=Стандартный счёт InvoiceStandardDesc=Такой вид счёта является общим. InvoiceDeposit=Счета-фактура на взнос InvoiceDepositAsk=Счета-фактура на взнос InvoiceDepositDesc=Этот вид счета-фактуры оформляется при получении взноса. InvoiceProForma=Формальный счёт -InvoiceProFormaAsk=Формальный счет-фактура -InvoiceProFormaDesc=Формальный счет-фактура является образом подлинного счета-фактуры, но не имеет бухгалтерской учетной стоимости. +InvoiceProFormaAsk=Формальный счёт +InvoiceProFormaDesc=Формальный счёт является образом оригинального счёта, но не имеет бухгалтерской учетной записи. InvoiceReplacement=Замена счета-фактуры InvoiceReplacementAsk=Замена счета-фактуры на другой InvoiceReplacementDesc=Замена счёта используется для отмены и замены всего счёта, когда оплата по нему ещё не получена. \n

Примечание: только неоплаченные счета могут быть заменены. Если счёт, который вы заменяете, ещё не закрыт, он будет автоматически закрыт и помечен "потерянный". InvoiceAvoir=Кредитовое авизо InvoiceAvoirAsk=Кредитовое авизо для исправления счета-фактуры -InvoiceAvoirDesc=Кредитовое авизо - это 'обратный' счет-фактура, который используется для решения проблемы, когда выставлен счета-фактуры в сумме отличной от действительно оплаченной (если клиентом оплатил слишком много по ошибке, или не наоборот - не оплатил счет-фактуру полностью, поскольку он вернулся некоторые продукты, например). +InvoiceAvoirDesc=Кредитовое авизо - это 'обратный' счёт, который используется для решения проблемы, когда выставлен счёт в сумме отличной от действительно оплаченной (если клиентом оплатил слишком много по ошибке, или наоборот - не оплатил счёт полностью, поскольку он вернул некоторые товары). invoiceAvoirWithLines=Создать кредитное авизо со строками из оригинального счёта -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice -invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount +invoiceAvoirWithPaymentRestAmount=Кредитное авизо с неоплаченным остатком оригинального счёта +invoiceAvoirLineWithPaymentRestAmount=Кредитное авизо на остаток для оплаты ReplaceInvoice=Заменить счет-фактуру %s -ReplacementInvoice=Заменяющий счет-фактура +ReplacementInvoice=Заменяющий счёт ReplacedByInvoice=Заменен счетом-фактурой %s ReplacementByInvoice=Заменен счетом-фактурой -CorrectInvoice=Правильный счет-фактура %s -CorrectionInvoice=Корректирующий счет-фактура +CorrectInvoice=Правильный счёт %s +CorrectionInvoice=Корректирующий счёт UsedByInvoice=Использован для оплаты счета-фактуры %s ConsumedBy=Использован NotConsumed=Не использован @@ -44,15 +44,15 @@ NoInvoiceToCorrect=Нет счетов-фактур для корректиро InvoiceHasAvoir=Исправлен одним или несколькими счетами-фактурами CardBill=Карточка счета-фактуры PredefinedInvoices=Предопределенные Счета-фактуры -Invoice=Счет-фактура +Invoice=Счёт Invoices=Счета-фактуры InvoiceLine=Строка счета-фактуры -InvoiceCustomer=Счет-фактура Покупателю -CustomerInvoice=Счет-фактура Покупателю +InvoiceCustomer=Счёт клиента +CustomerInvoice=Счёт клиента CustomersInvoices=Счета-фактуры Покупателей -SupplierInvoice=Счет-фактура Поставщика +SupplierInvoice=Счёт поставщика SuppliersInvoices=Счета-фактуры Поставщиков -SupplierBill=Счет-фактура Поставщика +SupplierBill=Счёт поставщика SupplierBills=счета-фактуры Поставщиков Payment=Платеж PaymentBack=Возврат платежа @@ -81,7 +81,7 @@ PaymentAmount=Сумма платежа ValidatePayment=Подтвердть платёж PaymentHigherThanReminderToPay=Платеж больше, чем в напоминании об оплате HelpPaymentHigherThanReminderToPay=Внимание, сумма оплаты по одному или нескольким документам выше остатка к оплате.
Измените вашу запись, или подтвердите и подумать о создании кредитового авизо на превышения, полученные за каждый переплаченный счет-фактуру. -HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. +HelpPaymentHigherThanReminderToPaySupplier=Внимание, сумма к оплате одной или нескольких счетов выше, чем остаток платежа.
Отредактируйте запись, в противном случае подтвердите. ClassifyPaid=Классифицировать как 'Оплачен' ClassifyPaidPartially=Классифицировать как 'Оплачен частично' ClassifyCanceled=Классифицировать как 'Аннулирован' @@ -128,7 +128,7 @@ PaymentStatusToValidShort=На подтверждении ErrorVATIntraNotConfigured=Номер плательщика НДС еще не установлен ErrorNoPaiementModeConfigured=Режим оплаты по умолчанию не установлен. Перейдите в настройку модуля Счетов-фактур для исправления данной ситуации. ErrorCreateBankAccount=Создайт банковский счет, а затем перейдите к панели настройки модуля Счетов-фактур для установки способов оплаты -ErrorBillNotFound=Счет-фактура %s не существует +ErrorBillNotFound=Счёт %s не существует ErrorInvoiceAlreadyReplaced=Ошибка при попытке подтвеждения счета-фактуры, заменяющего счет-фактуру %s. Этот счет-фактура уже был заменен счетом-фактурой %s. ErrorDiscountAlreadyUsed=Ошибка, скидка уже используется ErrorInvoiceAvoirMustBeNegative=Ошибка, корректирующий счет-фактура должен иметь отрицательную сумму @@ -137,7 +137,7 @@ ErrorCantCancelIfReplacementInvoiceNotValidated=Ошибка, невозможн BillFrom=Продавец BillTo=Покупатель ActionsOnBill=Действия со счетом-фактурой -NewBill=Новый счет-фактура +NewBill=Новый счёт LastBills=Последние %s счетов-фактур LastCustomersBills=Последние %s счетов-фактур Покупателям LastSuppliersBills=Последние %s счетов-фактур Поставщиков @@ -170,7 +170,7 @@ ConfirmClassifyPaidPartiallyReasonOtherDesc=Используйте этот вы ConfirmClassifyAbandonReasonOther=Другой ConfirmClassifyAbandonReasonOtherDesc=Этот выбор будет использоваться во всех других случаях. Например, потому, что вы планируете создать заменяющий счет-фактуру. ConfirmCustomerPayment=Вы подтверждаете ввод этого платежа на %s %s? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? +ConfirmSupplierPayment=Вы подтверждаете этот ввод платежа для %s %s? ConfirmValidatePayment=Вы уверены, что хотите подтвердить этот платеж? Изменить однажды подтвержденный платеж невозможно. ValidateBill=Подтвердить счет-фактуру UnvalidateBill=Unvalidate счет @@ -292,12 +292,13 @@ ConfirmSplitDiscount=Вы уверены, что хотите разделить TypeAmountOfEachNewDiscount=Введите сумму каждой из двух частей: TotalOfTwoDiscountMustEqualsOriginal=Сумма двух новых скидок должна быть равна размеру первоначальной скидки. ConfirmRemoveDiscount=Вы уверены, что хотите удалить эту скидку? -RelatedBill=Связанный счет-фактура +RelatedBill=Связанный счёт RelatedBills=Связанные счета-фактуры -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related supplier invoices -LatestRelatedBill=Latest related invoice +RelatedCustomerInvoices=Связанные счета клиента +RelatedSupplierInvoices=Связанные счета поставщика +LatestRelatedBill=Последний связанный счёт WarningBillExist=Предупреждение! Счёт (или счета) уже существуют +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Немедленно @@ -400,9 +401,9 @@ ToMakePaymentBack=Возврат платежа ListOfYourUnpaidInvoices=Список неоплаченных счетов NoteListOfYourUnpaidInvoices=Примечание: Этот список содержит счета только тех контрагентов, которые связаны с нами, как представители по сбыту. RevenueStamp=Штамп о уплате налогов -YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty +YouMustCreateInvoiceFromThird=Эта опция доступна только при создании счёта на вкладке "клиент" из раздела Контрагенты PDFCrabeDescription=Шаблон Счета-фактуры Crabe. Полный шаблон (вспомогательные опции НДС, скидки, условия платежей, логотип и т.д. ..) -TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 +TerreNumRefModelDesc1=Функция возвращает номер в формате %syymm-nnnn для стандартных счетов и %syymm-nnnn для кредитных авизо, где yy год, mm месяц и nnnn является непрерывной последовательностью и не возвращает 0 MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 TerreNumRefModelError=Документ, начинающийся с $syymm, уже существует и не совместим с этой моделью последовательности. Удалите или переименуйте его, чтобы активировать этот модуль. ##### Types de contacts ##### @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Финальный и основной счёт diff --git a/htdocs/langs/ru_RU/boxes.lang b/htdocs/langs/ru_RU/boxes.lang index 4b407c6b042..c37f09eaaa0 100644 --- a/htdocs/langs/ru_RU/boxes.lang +++ b/htdocs/langs/ru_RU/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Последние договоры BoxLastContacts=Последние контакты / адреса BoxLastMembers=Последнее участники BoxFicheInter=Последние мероприятия -BoxCurrentAccounts=Открытые остатки на счетах +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Оборот по продажам BoxTotalUnpaidCustomerBills=Общая сумма неоплаченных счетов-фактур покупателям BoxTotalUnpaidSuppliersBills=Общая сумма неоплаченных счетов-фактур поставщиков @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Последние %s участников BoxTitleLastFicheInter=%s последних измененных мероприятий BoxTitleOldestUnpaidCustomerBills=%s самых старых неоплаченных счетов клиентов BoxTitleOldestUnpaidSupplierBills=%s самых старых неоплаченных счетов поставщиков -BoxTitleCurrentAccounts=Открытые остатки на счетах +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Оборот по продажам BoxTitleTotalUnpaidCustomerBills=Неоплаченные счета клиента BoxTitleTotalUnpaidSuppliersBills=Не оплаченные счета поставщица diff --git a/htdocs/langs/ru_RU/categories.lang b/htdocs/langs/ru_RU/categories.lang index 8da468cf547..16b7becd98f 100644 --- a/htdocs/langs/ru_RU/categories.lang +++ b/htdocs/langs/ru_RU/categories.lang @@ -1,62 +1,62 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category -NoCategoryYet=No tag/category of this type created +Rubrique=Тег/Категория +Rubriques=Теги/Категории +categories=теги/категории +TheCategorie=Тег/категория +NoCategoryYet=Нет созданных тегов/категорий данного типа In=В AddIn=Добавить в modify=изменить Classify=Добавить -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Products/Services tags/categories area -SuppliersCategoriesArea=Suppliers tags/categories area -CustomersCategoriesArea=Customers tags/categories area -ThirdPartyCategoriesArea=Third parties tags/categories area -MembersCategoriesArea=Members tags/categories area -ContactsCategoriesArea=Contacts tags/categories area -MainCats=Main tags/categories +CategoriesArea=Раздел тегов/категорий +ProductsCategoriesArea=Раздел тегов/категорий товаров/услуг +SuppliersCategoriesArea=Раздел тегов/категорий поставщиков +CustomersCategoriesArea=Раздел тегов/категорий клиентов +ThirdPartyCategoriesArea=Раздел тегов/категорий контрагентов +MembersCategoriesArea=Раздел тегов/категорий участников +ContactsCategoriesArea=Раздел тегов/категорий контактов +MainCats=Основные теги/категории SubCats=Подкатегории CatStatistics=Статистика -CatList=List of tags/categories -AllCats=All tags/categories -ViewCat=View tag/category -NewCat=Add tag/category -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category +CatList=Список тегов/категорий +AllCats=Все теги/категории +ViewCat=Просмотр тега/категории +NewCat=Добавить тег/категорию +NewCategory=Новый тег/категория +ModifCat=Изменить тег/категорию +CatCreated=Тег/категория созданы +CreateCat=Создать тег/категорию +CreateThisCat=Создать этот (эту) тег/категорию ValidateFields=Проверить поля NoSubCat=Нет подкатегории. SubCatOf=Подкатегория -FoundCats=Found tags/categories -FoundCatsForName=Tags/categories found for the name : -FoundSubCatsIn=Subcategories found in the tag/category -ErrSameCatSelected=You selected the same tag/category several times -ErrForgotCat=You forgot to choose the tag/category +FoundCats=Найденные теги/категории +FoundCatsForName=Теги/категории для этого имени: +FoundSubCatsIn=Подкатегории найдены в теге/категории +ErrSameCatSelected=Вы выбрали тот же самый тег/категорию несколько раз +ErrForgotCat=Вы забыли выбрать тег/категорию ErrForgotField=Вы забыли заполнить поля ErrCatAlreadyExists=Это имя уже используется -AddProductToCat=Add this product to a tag/category? -ImpossibleAddCat=Impossible to add the tag/category -ImpossibleAssociateCategory=Impossible to associate the tag/category to +AddProductToCat=Добавать к этому товару тег/категорию? +ImpossibleAddCat=Невозможно добавить тег/категорию +ImpossibleAssociateCategory=Невозможно присоединить тег/категорию к WasAddedSuccessfully=%s успешно добавлена. -ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories -ProductHasNoCategory=This product/service is not in any tags/categories -SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories -MemberHasNoCategory=This member is not in any tags/categories -ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ObjectAlreadyLinkedToCategory=Элемент уже связан с этим тегом/категорией +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories +ProductHasNoCategory=У этого продукта/услуги нет тегов/категорий +SupplierHasNoCategory=Этот поставщик не принадлежнит ни к какому тегу/категории +CompanyHasNoCategory=This thirdparty is not in any tags/categories +MemberHasNoCategory=У этого участника нет тегов/категорий +ContactHasNoCategory=Это контакт не имеет тега или не принадлежит категории +ClassifyInCategory=Add to tag/category NoneCategory=Нет -NotCategorized=Without tag/category +NotCategorized=Без тега/категории CategoryExistsAtSameLevel=Категория к таким кодом уже существует ReturnInProduct=Назад к карточке товара/услуги ReturnInSupplier=Назад к карточке поставщика @@ -64,22 +64,22 @@ ReturnInCompany=Назад к карточке покупателя/потенц ContentsVisibleByAll=Содержимое будет доступно всем ContentsVisibleByAllShort=Содержимое доступно всем ContentsNotVisibleByAllShort=Содержание не доступно всем -CategoriesTree=Tags/categories tree -DeleteCategory=Delete tag/category -ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? -NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category -SuppliersCategoriesShort=Suppliers tags/categories -CustomersCategoriesShort=Customers tags/categories +CategoriesTree=Дерево тегов/категорий +DeleteCategory=Удалить тег/категорию +ConfirmDeleteCategory=Вы точно хотите удалить этот тег/категорию? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? +NoCategoriesDefined=Не задан тег/категория +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category +SuppliersCategoriesShort=Теги/категории поставщиков +CustomersCategoriesShort=Теги/категории клиентов CustomersProspectsCategoriesShort=Категории Покупателей/Потенц. клиентов -ProductsCategoriesShort=Products tags/categories -MembersCategoriesShort=Members tags/categories -ContactCategoriesShort=Contacts tags/categories +ProductsCategoriesShort=Теги/категории товаров +MembersCategoriesShort=Теги/категории участников +ContactCategoriesShort=Теги/категории контактов ThisCategoryHasNoProduct=В этой категории нет товаров. ThisCategoryHasNoSupplier=В этой категории нет поставщиков. ThisCategoryHasNoCustomer=В этой категории нет покупателей. @@ -88,23 +88,23 @@ ThisCategoryHasNoContact=Эта категория не содержит ни о AssignedToCustomer=Установленное для покупателя AssignedToTheCustomer=Установленное для покупателя InternalCategory=Внутренняя категория -CategoryContents=Tag/category contents -CategId=Tag/category id -CatSupList=List of supplier tags/categories -CatCusList=List of customer/prospect tags/categories -CatProdList=List of products tags/categories -CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact -CatSupLinks=Links between suppliers and tags/categories -CatCusLinks=Links between customers/prospects and tags/categories -CatProdLinks=Links between products/services and tags/categories -CatMemberLinks=Links between members and tags/categories -DeleteFromCat=Remove from tags/category +CategoryContents=Содержание тега/категории +CategId=ID тега/категории +CatSupList=Список тегов/категорий поставщика +CatCusList=Список тегов/категорий клиента/потенциального клиента +CatProdList=Список тегов/категорий товаров +CatMemberList=Список тегов/категорий участников +CatContactList=List of contact tags/categories +CatSupLinks=Связи между поставщиками и тегами/категориями +CatCusLinks=Связи между клиентами/потенц. клиентами и тегами/категориями +CatProdLinks=Связи между продуктами/услугами и тегами/категориями +CatMemberLinks=Связи между участниками и тегами/категориями +DeleteFromCat=Удалить из тега/категории DeletePicture=Удалить изображение ConfirmDeletePicture=Подтверждаете удаление изображения? ExtraFieldsCategories=Дополнительные атрибуты -CategoriesSetup=Tags/categories setup -CategorieRecursiv=Link with parent tag/category automatically +CategoriesSetup=Настройка тегов/категорий +CategorieRecursiv=Автоматическая ссылка на родительский тег/категорию CategorieRecursivHelp=Если активировать, то продукт будет связан с родительской категорией при добавлении в подкатегорию AddProductServiceIntoCategory=Добавить следующий товар/услугу -ShowCategory=Show tag/category +ShowCategory=Показать тег/категорию diff --git a/htdocs/langs/ru_RU/companies.lang b/htdocs/langs/ru_RU/companies.lang index 31d81132f6a..8b49ebabcaf 100644 --- a/htdocs/langs/ru_RU/companies.lang +++ b/htdocs/langs/ru_RU/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Достигнут максимум неуплаченн MonkeyNumRefModelDesc=Вернуть номер с форматом %syymm-NNNN для кода покупателя и %syymm NNNN-код для кода поставщиков, где yy - это год, мм - месяц и NNNN - непрерывная последовательность без возврата к 0. LeopardNumRefModelDesc=Код покупателю/поставщику не присваивается. Он может быть изменен в любое время. ManagingDirectors=Имя управляющего или управляющих (Коммерческого директора, директора, президента...) -SearchThirdparty=Поиск контрагента +SearchThirdparty=Search third party SearchContact=Поиск контакта +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/ru_RU/cron.lang b/htdocs/langs/ru_RU/cron.lang index 9cef3657708..971e90d9221 100644 --- a/htdocs/langs/ru_RU/cron.lang +++ b/htdocs/langs/ru_RU/cron.lang @@ -4,10 +4,10 @@ About = О CronAbout = О Планировщике CronAboutPage = Страница о планировщике # Right -Permission23101 = Открыть запланированную задачу -Permission23102 = Создать/удалить запланированное задание -Permission23103 = Удалить запланированное задание -Permission23104 = Выполнить запланированное задание +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Настройки запланированных заданий URLToLaunchCronJobs=Ссылка для проверки и запуска заданий планировщика cron (если требуется) @@ -26,21 +26,21 @@ CronLastOutput=Последний вывод команды CronLastResult=Последний код возврата команды CronListOfCronJobs=Список запланированных заданий CronCommand=Команда -CronList=Scheduled job -CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? -CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? -CronInfo=Scheduled job module allow to execute job that have been planned -CronWaitingJobs=Waiting jobs +CronList=Scheduled jobs +CronDelete=Удалить запланированные задания +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? +CronExecute=Запустить запланированные задания +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? +CronInfo=Модуль запланированных задач позволяет выполнять запланированные задачи +CronWaitingJobs=Ожидающие задачи CronTask=Задание CronNone=Никакой CronDtStart=Начальная дата CronDtEnd=Конечная дата CronDtNextLaunch=Следующий запуск CronDtLastLaunch=Последний запуск -CronFrequency=Частота -CronClass=Класс +CronFrequency=Frequency +CronClass=Class CronMethod=Метод CronModule=Модуль CronAction=Действие @@ -55,9 +55,9 @@ CronEach=Каждый JobFinished=Задание запущено и завершено #Page card CronAdd= Добавить задание -CronHourStart= Время и дата для запуска задачи -CronEvery= И выполнять задачу каждые -CronObject= Экземпляр / объект для создания +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Экземпляр / объект для создания CronArgs=Параметры CronSaveSucess=Сохранено успешно CronNote=Комментарий @@ -75,14 +75,14 @@ CronObjectHelp=The object name to load.
For exemple to fetch method of Doli CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef CronCommandHelp=Команда для выполнения -CronCreateJob=Create new Scheduled Job +CronCreateJob=Создать новое запланированное задание # Info CronInfoPage=Информация # Common -CronType=Тип задачи +CronType=Job type CronType_method=Вызов метода из класса системы Dolibarr CronType_command=Команда командной строки CronMenu=Планировщик CronCannotLoadClass=Невозможно загрузить класс %s или объект %s UseMenuModuleToolsToAddCronJobs=Используйте меню "Главная - Настройки модулей -Список заданий" для просмотра и редактирования запланированных заданий. -TaskDisabled=Задача отключена +TaskDisabled=Job disabled diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 161c887dc27..3f349769832 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=Ошибка SOAP-клиента '%s' ErrorGlobalVariableUpdater5=Не выбрана глобальная переменная ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Обязательные параметры не определены diff --git a/htdocs/langs/ru_RU/incoterm.lang b/htdocs/langs/ru_RU/incoterm.lang new file mode 100644 index 00000000000..f918c87d96d --- /dev/null +++ b/htdocs/langs/ru_RU/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Обязанности по доставке товаров +IncotermSetupTitle1=Функция +IncotermSetupTitle2=Статус +IncotermSetup=Настройка модуля "Обязанности по доставке товаров" +IncotermFunctionDesc=Активировать функцию "Обязанности по доставке товаров" (для контрагентов, коммерческих предложений, заказов и счетов клиентов, поставок, заказов поставщиков) diff --git a/htdocs/langs/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index 854a530bc0f..765aa5c870e 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - install InstallEasy=Мы постарались сделать установку Dolibarr настолько простой, насколько это возможно. Просто следуйте инструкциям по установке, шаг за шагом. -MiscellaneousChecks=Условия проверки +MiscellaneousChecks=Проверка системных требований DolibarrWelcome=Добро пожаловать на Dolibarr ConfFileExists=Файл конфигурации %s существует. ConfFileDoesNotExists=Файл конфигурации %s не существует! @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=База данных - Superuser доступа CheckToCreateDatabase=Флажок, если база данных не существует, и должен быть создан.
В этом случае, вы должны заполнить логин и пароль для учетной записи суперпользователя в нижней части этой страницы. CheckToCreateUser=Флажок, если логин не существует и должна быть создана.
В этом случае, вы должны заполнить логин и пароль для учетной записи суперпользователя в нижней части этой страницы. Experimental=(экспериментальная, не действуют) +Deprecated=(deprecated) DatabaseRootLoginDescription=Войти на пользователя разрешается создавать новые базы данных и новых пользователей, бесполезны, если ваша база данных, и ваша база данных логин уже существует (например, когда вы Хостинг провайдер веб-хостинга). KeepEmptyIfNoPassword=Оставьте пустым, если пользователь не имеет пароля (избежать этого) SaveConfigurationFile=Сохранить значения diff --git a/htdocs/langs/ru_RU/languages.lang b/htdocs/langs/ru_RU/languages.lang index 726045b2701..1d55e1f69a6 100644 --- a/htdocs/langs/ru_RU/languages.lang +++ b/htdocs/langs/ru_RU/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Арабский Language_ar_SA=Арабский +Language_bn_BD=Bengali Language_bg_BG=Болгарский Language_bs_BA=Боснийский Language_ca_ES=Каталанский @@ -21,9 +22,10 @@ Language_en_SA=Английский (Саудовская Аравия) Language_en_US=Английский (США) Language_en_ZA=Английский (Южная Африка) Language_es_ES=Испанский -Language_es_DO=Испанский (Доминиканская Республика) Language_es_AR=Испанский (Аргентина) Language_es_CL=Испанский (Чили) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Испанский (Доминиканская Республика) Language_es_HN=Испанский (Гондурас) Language_es_MX=Испанский (Мексика) Language_es_PY=Испанский (Парагвай) @@ -45,7 +47,10 @@ Language_id_ID=Индонезийский Language_is_IS=Исландский Language_it_IT=Итальянский Language_ja_JP=Японский +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Корейский +Language_lo_LA=Lao Language_lt_LT=Литовский Language_lv_LV=Латышский Language_mk_MK=Македонский @@ -64,6 +69,7 @@ Language_sv_SV=Шведский Language_sv_SE=Шведский Language_sq_AL=Албанский Language_sk_SK=Словацкий +Language_sw_SW=Kiswahili Language_th_TH=Тайский Language_uk_UA=Украинский Language_uz_UZ=Узбекский diff --git a/htdocs/langs/ru_RU/loan.lang b/htdocs/langs/ru_RU/loan.lang new file mode 100644 index 00000000000..620db5f0ca6 --- /dev/null +++ b/htdocs/langs/ru_RU/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Ссуда +Loans=Ссуды +NewLoan=Новая ссуда +ShowLoan=Показать ссуду +PaymentLoan=Оплата ссуды +ShowLoanPayment=Просмотр оплаты ссуды +Capital=Капитал +Insurance=Страховка +Interest=Доля капитала +Nbterms=Количество условий +LoanAccountancyCapitalCode=Бухгалтерский код капитала +LoanAccountancyInsuranceCode=Бухгалтерский код страхования +LoanAccountancyInterestCode=Бухгалтерский код доли в капитале +LoanPayment=Оплата ссуды +ConfirmDeleteLoan=Подтвердите удаление этой ссуды +LoanDeleted=Ссуда успешно удалена +ConfirmPayLoan=Подтвердите, что эта ссуда оплачена +LoanPaid=Ссуда оплачена +ErrorLoanCapital=Суммы ссуды должна быть числом больше нуля. +ErrorLoanLength=Длина ссуды должна быть числом больше нуля. +ErrorLoanInterest=Годовой процент должен быть числом больше нуля. +# Calc +LoanCalc=Калькулятор банковской ссуды +PurchaseFinanceInfo=Информация о покупках и финансах +SalePriceOfAsset=Цена продажи актива +PercentageDown=Процент вниз +LengthOfMortgage=Срок ссуды +AnnualInterestRate=Годовой процент +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Авансовый платёж +DownPaymentDesc=Авансовый платеж = цена дома, умноженного на процент, разделенный на 100 (для 5% аванса будет 5/100 или 0.05), +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=Ежемесячная оплата вычислена, используя следующую формулу +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Годовой итог +MonthlyPayment=Месячный платёж +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=Вы потратите %s на свой дом в %s году +# Admin +ConfigLoan=Настройка модуля Ссуды +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Бухгалтерский код капитала по умолчанию +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Бухгалтерский код страхования по-умолчанию diff --git a/htdocs/langs/ru_RU/mails.lang b/htdocs/langs/ru_RU/mails.lang index d3aa823b20d..564469cbee8 100644 --- a/htdocs/langs/ru_RU/mails.lang +++ b/htdocs/langs/ru_RU/mails.lang @@ -77,15 +77,15 @@ CheckRead=Открыть получателя YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Ссылка на email ActivateCheckRead=Разрешить использовать ссылку "Отказаться от подписки" -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=Email отправлено %s получателям. -XTargetsAdded=%s recipients added into target list +XTargetsAdded=%s добавлено в список получателей EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. MailTopicSendRemindUnpaidInvoices=Уведомление по счёту %s (%s) SendRemind=Отправить напоминание по Email RemindSent=%s напоминания(й) отправлено AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) -NoRemindSent=No EMail reminder sent +NoRemindSent=Нет отправленного уведомления по электронной почте ResultOfMassSending=Result of mass EMail reminders sending # Libelle des modules de liste de destinataires mailing @@ -127,14 +127,14 @@ YouCanUseCommaSeparatorForSeveralRecipients=Вы можете использов TagCheckMail=Отслеживать открытие писем TagUnsubscribe=Ссылка для отказа от подписки TagSignature=Подпись отправителя -TagMailtoEmail=Recipient EMail +TagMailtoEmail=EMail получателя # Module Notifications Notifications=Уведомления NoNotificationsWillBeSent=Нет электронной почте уведомления, планируется к этому мероприятию и компании ANotificationsWillBeSent=1 уведомление будет отправлено по электронной почте SomeNotificationsWillBeSent=%s уведомления будут отправлены по электронной почте -AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +AddNewNotification=Включить новое задание на уведомление по электронной почте +ListOfActiveNotifications=Список всех заданий на уведомление по электронной почте ListOfNotificationsDone=Список всех уведомлений по электронной почте отправлено 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. diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index 2ee42a37e2e..36b58b38d17 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Цена за единицу (нетто) UnitPriceTTC=Цена за единицу PriceU=Цена ед. PriceUHT=Цена ед. (нетто) -AskPriceSupplierUHT=Запрошена цена единицы за вычетом налогов +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=Цена ед. Amount=Сумма AmountInvoice=Сумма счета-фактуры @@ -413,6 +413,8 @@ Qty=Кол-во ChangedBy=Изменен ApprovedBy=Утверждено ApprovedBy2=Утверждено (повторно) +Approved=Approved +Refused=Refused ReCalculate=Пересчитать ResultOk=Успешно ResultKo=Неудачно @@ -421,7 +423,7 @@ Reportings=Отчеты Draft=Черновик Drafts=Черновики Validated=Подтверждено -Opened=Открыто +Opened=Open New=Новый Discount=Скидка Unknown=Неизвестно @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Связан с особым контактом польз DeleteAFile=Удалить файл ConfirmDeleteAFile=Вы уверены, что хотите удалить файл? NoResults=Нет результатов +SystemTools=System tools ModulesSystemTools=Настройки модулей Test=Тест Element=Элемент @@ -703,6 +706,9 @@ ShowTransaction=Показать транзакции GoIntoSetupToChangeLogo=Используйте Главная-Настройки-Компании для изменения логотипа или Главная-Настройки-Отображение для того, чтобы его скрыть. Deny=Запретить Denied=Запрещено +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Понедельник Tuesday=Вторник @@ -732,3 +738,4 @@ ShortThursday=Чт ShortFriday=Пт ShortSaturday=Сб ShortSunday=Вс +SelectMailModel=Select email template diff --git a/htdocs/langs/ru_RU/orders.lang b/htdocs/langs/ru_RU/orders.lang index 0bda675f6e4..835391df9af 100644 --- a/htdocs/langs/ru_RU/orders.lang +++ b/htdocs/langs/ru_RU/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Для поставщиков SuppliersOrders=Поставщики заказ SuppliersOrdersRunning=Текущие поставщиков заказов CustomerOrder=Для клиентов -CustomersOrders=Заказы клиентов -CustomersOrdersRunning=Текущие клиентов заказы -CustomersOrdersAndOrdersLines=Клиент приказов и распоряжений линий -OrdersToValid=Заказы клиентов для подтверждения -OrdersToBill=Доставленные заказы клиентов -OrdersInProcess=Заказы клиентов в обработке -OrdersToProcess=Заказы клиентов для обработки -SuppliersOrdersToProcess=Поставщика заказов для обработки +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Отменен StatusOrderDraftShort=Черновик StatusOrderValidatedShort=Подтвержденные @@ -75,8 +75,9 @@ AddToMyOrders=Добавить в мои заказы AddToOtherOrders=Добавить в других заказов AddToDraftOrders=Добавить проект заказа ShowOrder=Показать порядок -NoOpenedOrders=Нет открыл заказов -NoOtherOpenedOrders=Никакие другие открыли заказов +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Нет проектов заказов OtherOrders=Другие заказы LastOrders=Last %s customer orders diff --git a/htdocs/langs/ru_RU/other.lang b/htdocs/langs/ru_RU/other.lang index 9d09fec50a1..fa80f2f6ba9 100644 --- a/htdocs/langs/ru_RU/other.lang +++ b/htdocs/langs/ru_RU/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Посредничество подтверждено Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Проверка векселя Notify_BILL_UNVALIDATE=Счёт клиента не подтверждён +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Поставщик утвердил порядок Notify_ORDER_SUPPLIER_REFUSE=Поставщик порядке отказалась Notify_ORDER_VALIDATE=Kundeordre validert @@ -203,6 +204,7 @@ ClickHereToGoTo=Нажмите сюда, чтобы перейти к %s YouMustClickToChange=Однако, вы должны сначала нажать на ссылку для подтверждения изменения пароля ForgetIfNothing=Если вы не запрашивали эти изменения, забудьте про это электронное письмо. Ваши данные в безопасности. IfAmountHigherThan=Если количество более чем %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Добавить запись в календаре %s diff --git a/htdocs/langs/ru_RU/printing.lang b/htdocs/langs/ru_RU/printing.lang new file mode 100644 index 00000000000..3e30d2ac7b3 --- /dev/null +++ b/htdocs/langs/ru_RU/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Настройки системы прямой печати +PrintingDesc=Этот модуль добавляет кнопку Печать для отправки документа напрямую на принтер (без открытия документа в приложении) +ModuleDriverSetup=Настройка драйвера +PrintingDriverDesc=Настройки драйвера принтера +ListDrivers=Список драйверов +PrintTestDesc=Список принтеров +FileWasSentToPrinter=Файл %s отправлен на принтер +NoActivePrintingModuleFound=Нет активного модуля для печати документа +PleaseSelectaDriverfromList=Пожалуйста, выберите драйвер из списка +SetupDriver=Настройка драйвера +TestDriver=Проверить +TargetedPrinter=Целевой принтер +UserConf=Настройка для пользователя +PRINTGCP=Сервис Google Cloud Print +PrintGCPDesc=Этот драйвер позволяет отправлять документы на принтер с использованием сервиса Google Cloud Print +PrintingDriverDescprintgcp=Настройки для драйвера сервиса Google Cloud Print +PrintTestDescprintgcp=Список принтеров для сервиса Google Cloud Print +PRINTGCP_LOGIN=Имя пользователя Google +PRINTGCP_PASSWORD=Пароль пользователя Google +STATE_ONLINE=Онлайн +STATE_UNKNOWN=Неизвестно +STATE_OFFLINE=Оффлайн +STATE_DORMANT=Вне зоны доступа долгое время +TYPE_GOOGLE=Google +TYPE_HP=Принтер HP +TYPE_DOCS=Документы +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Имя +GCP_displayName=Отображаемое имя +GCP_Id=ID принтера +GCP_OwnerName=Имя владельца +GCP_State=Состояние принтера +GCP_connectionStatus=Статус +GCP_Type=Тип принтера +PRINTIPP=Драйвер PrintIPP +PrintIPPSetup=Настройка модуля прямой печати +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Настраиваемые переменные для печати с использованием драйвера PrintIPP. +PrintTestDescprintipp=Список принтеров для драйвера PrintIPP +PRINTIPP_ENABLED=Отображать иконку "Прямая печать" в документах +PRINTIPP_HOST=Принт-сервер +PRINTIPP_PORT=Порт +PRINTIPP_USER=Логин +PRINTIPP_PASSWORD=Пароль +NoPrinterFound=Принтеры не найдены (проверьте настройки печати системы CUPS) +NoDefaultPrinterDefined=Не указан принтер по умолчанию +DefaultPrinter=Принтер по умолчанию +Printer=Принтер +CupsServer=CUPS сервер +IPP_Uri=Ссылка на принтер +IPP_Name=Имя принтера +IPP_State=Состояние принтера +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Цвет +IPP_Device=Устройство +IPP_Media=Носитель +IPP_Supported=Тип носителя +STATE_IPP_idle=В ждущем режиме +STATE_IPP_stopped=Остоновлен +STATE_IPP_paused=На паузе +STATE_IPP_toner-low-report=Низкий уровень тонера +STATE_IPP_none=Нет +MEDIA_IPP_stationery=Почтовая бумага +MEDIA_IPP_thermal=Термо-принтер +IPP_COLOR_print-black=BW принтер diff --git a/htdocs/langs/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang index 659de0c2a4c..8e9662340c8 100644 --- a/htdocs/langs/ru_RU/productbatch.lang +++ b/htdocs/langs/ru_RU/productbatch.lang @@ -19,4 +19,4 @@ printQty=Кол-во:%d AddDispatchBatchLine=Добавить строку Срока годности BatchDefaultNumber=Не задана WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=Этот товар не использует номер партии/серийный номер +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index 6e0115ffc99..228b724b197 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -23,14 +23,14 @@ ProductOrService=Товар или Услуга ProductsAndServices=Товары и Услуги ProductsOrServices=Товары или Услуги ProductsAndServicesOnSell=Товары и Услуги для покупки или продажи -ProductsAndServicesNotOnSell=Товары или Услуги не для продажи +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Продукты и услуги статистика ProductsStatistics=Продукты статистика -ProductsOnSell=Товар для покупки или продажи -ProductsNotOnSell=Товар не для покупки и не для продажи +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Товар для продажи и покупки ServicesOnSell=Услуга для покупки или для продажи -ServicesNotOnSell=Услуга не для продажи +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Услуга для продажи и покупки InternalRef=Внутренние ссылки LastRecorded=Последние продукты / услуги по продаже зарегистрировано @@ -44,7 +44,7 @@ CardProduct1=Карточка услуги CardContract=Карточка контакта Warehouse=Склад Warehouses=Склады -WarehouseOpened=Склад открыт +WarehouseOpened=Warehouse open WarehouseClosed=Склад закрыт Stock=Склад Stocks=Склады @@ -71,21 +71,21 @@ SellingPriceTTC=Продажная цена (вкл. налоги) PublicPrice=Официальные цены CurrentPrice=Текущая цена NewPrice=Новая цена -MinPrice=Миним. продажная цена -MinPriceHT=Минимальная цена продажи (net of tax) -MinPriceTTC=Минимальная цена продажи (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Продажная цена не может быть ниже минимальной для этого товара (%s без налогов). Это сообщение также возникает, если вы задаёте слишком большую скидку. ContractStatus=Статус контакта ContractStatusClosed=Закрытые -ContractStatusRunning=В работе +ContractStatusRunning=Ongoing ContractStatusExpired=истекли -ContractStatusOnHold=Не в работе -ContractStatusToRun=To get running -ContractNotRunning=Этот контракт не в работе +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Продукции с учетом% уже существует. ErrorProductBadRefOrLabel=Неправильное значение для справки или этикетку. ErrorProductClone=Возникла проблема при попытке дублирования продукта или услуги -ErrorPriceCantBeLowerThanMinPrice=Ошибка. Цена не может быть ниже минимальной цены. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Поставщики SupplierRef=Поставщик исх. ShowProduct=Показать товар @@ -117,12 +117,12 @@ ServiceLimitedDuration=Если продукт является услугой MultiPricesAbility=Несколько уровней цен для товаров/услуг MultiPricesNumPrices=Кол-во цен MultiPriceLevelsName=Категории цен -AssociatedProductsAbility=Включить режим виртуальной упаковки товара +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Упаковка товара -AssociatedProductsNumber=Количество товаров в этой виртуальной упоковке +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=Если задан 0, то этот товар не виртуальная упаковка -IfZeroItIsNotUsedByVirtualProduct=Если задан 0, то этот товар не будет использован ни в какой виртуальной упаковке +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Ассоциированные Translation=Перевод KeywordFilter=Фильтр ключевых слов @@ -131,7 +131,7 @@ ProductToAddSearch=Поиск продукта для добавления AddDel=Добавить / Удалить Quantity=Кол-во NoMatchFound=Не найдено соответствия -ProductAssociationList=Список продуктов / услуг: Наименование товара / услуги (количество пострадавших) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Один из выбранного продукта родителей с действующим продукта DeleteProduct=Удалить товар / услугу @@ -179,16 +179,41 @@ CloneProduct=Клон продукт или услугу ConfirmCloneProduct=Вы уверены, что хотите клонировать продукт или услуга %s? CloneContentProduct=Клон все основные данные о продукции / услуг ClonePricesProduct=Клон основные данные и цены -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Этот продукт используется NewRefForClone=Ссылка нового продукта / услуги -CustomerPrices=Клиенты цены -SuppliersPrices=Поставщики цены -SuppliersPricesOfProductsOrServices=Цены поставщика (за товары или услуги) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Пользовательский код CountryOrigin=Страна происхождения HiddenIntoCombo=Скрытые в списках выбора Nature=Природа +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Ссылка на шаблон товара ServiceCodeModel=Ссылка на шаблон услуги AddThisProductCard=Создать карточку товара @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Производство завершено ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Цены клиенты (за товары, услуги, совместные цены) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=I квартал @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Задать значение штри х-кода л PriceByCustomer=Различная цена для каждого клиента PriceCatalogue=Уникальная цена для товара/услуги PricingRule=Правила для цен клиента -AddCustomerPrice=Добавить цену клиента +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Установить такую же цену для дочерних клиентов PriceByCustomerLog=Цена по журналу клиента -MinimumPriceLimit=Минимальная цена не может быть ниже %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Минимальная рекомендованная цена : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=Следующий формат {"URL": "http:/ UpdateInterval=Интервал обновления (в минутах) LastUpdated=Последнее обновление CorrectlyUpdated=Правильно обновлено +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 19094a381aa..8e66c946c06 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Эта точка зрения представлены вс ProjectsPublicTaskDesc=Это представление всех проектов и задач, к которым у вас есть доступ. ProjectsDesc=Эта точка зрения представляет все проекты (разрешений пользователей предоставить вам разрешение для просмотра всего). MyTasksDesc=Эта точка зрения ограничена на проекты или задачи, которые являются для контакта (что бы это тип). -OnlyOpenedProject=Видны только открытые проекты (проекты на стадии черновика или закрытые проекты не видны) +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Эта точка зрения представляет всех проектов и задач, которые могут читать. TasksDesc=Эта точка зрения представляет всех проектов и задач (разрешений пользователей предоставить вам разрешение для просмотра всего). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Список проектов ShowProject=Показать проекта SetProject=Комплекс проектов NoProject=Нет проекта определена -NbOpenTasks=Nb открытых задач +NbOpenTasks=Nb of open tasks NbOfProjects=Nb проектов TimeSpent=Время, затраченное TimeSpentByYou=Затраченное мной время @@ -41,7 +41,7 @@ TaskTimeSpent=Время, потраченное на задачи TaskTimeUser=Пользователь TaskTimeNote=Заметка TaskTimeDate=Дата -TasksOnOpenedProject=Задачи на открытых проектах +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Рабочая нагрузка не задана NewTimeSpent=Новое время MyTimeSpent=Мое время @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Список мероприятий, связан ListExpenseReportsAssociatedProject=Список отчётов о затратах, связанных с проектом ListDonationsAssociatedProject=Список пожертвований, связанных с проектом ListActionsAssociatedProject=Список мероприятий, связанных с проектом +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Деятельность по проекту на этой неделе ActivityOnProjectThisMonth=Деятельность по проектам в этом месяце ActivityOnProjectThisYear=Деятельность по проектам в этом году @@ -95,7 +96,7 @@ DeleteATimeSpent=Удалить времени ConfirmDeleteATimeSpent=Вы уверены, что хотите удалить этот раз провели? DoNotShowMyTasksOnly=Также видеть задачи, не назначенные мне ShowMyTasksOnly=Видеть только задачи, назначенные мне -TaskRessourceLinks=Библиография +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Проектов, посвященных этой третьей стороне NoTasks=Нет задач, для этого проекта LinkedToAnotherCompany=Связь с другими третий участник @@ -139,8 +140,12 @@ ProjectReferers=Ссылающиеся объекты SearchAProject=Поиск проекта ProjectMustBeValidatedFirst=Проект должен быть сначала подтверждён ProjectDraft=Черновики проектов -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Ввод по дням InputPerWeek=Ввод по неделе InputPerAction=Ввод по действиям TimeAlreadyRecorded=Время, потраченное на уже зафиксировано для этой задачи / дня и пользователя %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/ru_RU/propal.lang b/htdocs/langs/ru_RU/propal.lang index 74aa5773852..cd1b27f7f55 100644 --- a/htdocs/langs/ru_RU/propal.lang +++ b/htdocs/langs/ru_RU/propal.lang @@ -4,7 +4,7 @@ Proposal=Коммерческое предложение ProposalShort=Предложение ProposalsDraft=Проект коммерческого предложения ProposalDraft=Проект коммерческого предложения -ProposalsOpened=Открытие коммерческих предложений +ProposalsOpened=Open commercial proposals Prop=Коммерческие предложения CommercialProposal=Коммерческое предложение CommercialProposals=Коммерческие предложения @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Сумма в месяц (за вычетом нал NbOfProposals=Количество коммерческих предложений ShowPropal=Показать предложение PropalsDraft=Черновики -PropalsOpened=Открыты +PropalsOpened=Open PropalsNotBilled=Закрытые не будет взиматься PropalStatusDraft=Проект (должно быть подтверждено) PropalStatusValidated=Удостоверенная (предложение открыто) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Не подписал (закрытые) PropalStatusBilled=Billed PropalStatusDraftShort=Черновик PropalStatusValidatedShort=Подтвержденные -PropalStatusOpenedShort=Открыты +PropalStatusOpenedShort=Open PropalStatusClosedShort=Закрытые PropalStatusSignedShort=Подпись PropalStatusNotSignedShort=Не подписано @@ -51,8 +51,8 @@ PropalsToClose=Коммерческие предложения закрыть PropalsToBill=Подпись коммерческие предложения по законопроекту ListOfProposals=Список коммерческих предложений ActionsOnPropal=Меры по предложению -NoOpenedPropals=Нет открыли коммерческие предложения -NoOtherOpenedPropals=Никакие другие открыли коммерческие предложения +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Коммерческие предложения исх SendPropalByMail=Отправить коммерческое предложение по почте AssociatedDocuments=Документы, связанные с предложением: @@ -98,3 +98,4 @@ DocModelJauneDescription=Желтый предложение модель DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Шаблон по умолчанию, когда закрывается коммерческое предложение (для создания счёта) DefaultModelPropalClosed=Шаблон по умолчанию, когда закрывается коммерческое предложение (не оплаченное) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/ru_RU/salaries.lang b/htdocs/langs/ru_RU/salaries.lang index 8429f995703..2498fa011b4 100644 --- a/htdocs/langs/ru_RU/salaries.lang +++ b/htdocs/langs/ru_RU/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Показать выплату зарплаты THM=Средняя расценка почасовой оплаты TJM=Средняя расценка дневной оплаты CurrentSalary=Текущая зарплата +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/ru_RU/sendings.lang b/htdocs/langs/ru_RU/sendings.lang index 5266b0bc135..1d162255dbe 100644 --- a/htdocs/langs/ru_RU/sendings.lang +++ b/htdocs/langs/ru_RU/sendings.lang @@ -2,7 +2,7 @@ RefSending=Ref. поставки Sending=Поставки Sendings=Поставки -AllSendings=All Shipments +AllSendings=Все поставки Shipment=Поставка Shipments=Поставки ShowSending=Показать Отправку @@ -53,7 +53,7 @@ DocumentModelSimple=Простая модель документа DocumentModelMerou=Модель A5 WarningNoQtyLeftToSend=Внимание, нет товаров ожидающих отправки. StatsOnShipmentsOnlyValidated=Статистика собирается только на утверждённые поставки. Используемая дата - дата утверждения поставки (планируемая дата доставки не всегда известна) -DateDeliveryPlanned=Планируемая дата доставки +DateDeliveryPlanned=Planned date of delivery DateReceived=Дата доставки получена SendShippingByEMail=Отправить поставкой по EMail SendShippingRef=Представление поставки %s @@ -67,7 +67,7 @@ SendingRunning=Товар из уже заказанных клиентом SuppliersReceiptRunning=Товар из уже заказанных поставщиком ProductQtyInCustomersOrdersRunning=Количество товара в открытых заказах клиента ProductQtyInSuppliersOrdersRunning=Количество товара в открытых заказах поставщика -ProductQtyInShipmentAlreadySent=Количество товара из открытого заказа клиента уже отправлено. +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Количество товара из открытого заказа поставщика уже получено. # Sending methods diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 47b1c19b530..33273c12cfa 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Склады NewWarehouse=Новый склад / Фондовый области WarehouseEdit=Редактировать склад MenuNewWarehouse=Новый склад -WarehouseOpened=Склад открыт +WarehouseOpened=Warehouse open WarehouseClosed=Склад закрыт WarehouseSource=Источник склад WarehouseSourceNotDefined=Склад не определен, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Выберите хранилище, чтобы SelectWarehouseForStockIncrease=Выберите склад для использования в запас увеличения NoStockAction=No stock action LastWaitingSupplierOrders=Заказы, ожидающие приёма -DesiredStock=Желаемый запас +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=На заказ Replenishment=Пополнение ReplenishmentOrders=Заказ на пополнение -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Использовать виртуальный запас на складе вместо имеющего место быть, для функции наполнения UseVirtualStock=Использовать виртуальный склад UsePhysicalStock=Использовать физические запасы -CurentSelectionMode=Текущий режим выделения +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Виртуальный запас CurentlyUsingPhysicalStock=Физический запас RuleForStockReplenishment=Правило для пополнения запасов @@ -112,8 +113,8 @@ AlertOnly= Только предупреждения WarehouseForStockDecrease=Склад %s будет использован для уменьшения остатка WarehouseForStockIncrease=Склад %s будет использован для увеличения остатка ForThisWarehouse=Для этого склада -ReplenishmentStatusDesc=Это список всех продуктов с остатками меньше лимита (или меньше чем значение для оповещения если отмечен чекбокс "только оповещение"), и рекомендуем вам сформировать заказ поставщикам чтобы восполнить разницу -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Пополнения NbOfProductBeforePeriod=Количество продукта %s в остатке на начало выбранного периода (< %s) NbOfProductAfterPeriod=Количество продукта %s в остатке на конец выбранного периода (< %s) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Получатели заказа StockMovementRecorded=Перемещения остатков записаны RuleForStockAvailability=Правила и требования к запасу на складе -StockMustBeEnoughForInvoice=Достаточный запас товара/услуг на складе, чтобы добавить в счёт -StockMustBeEnoughForOrder=Достаточный запас товара/услуг на складе, чтобы добавить в заказ -StockMustBeEnoughForShipment= Достаточный запас товара/услуг на складе, чтобы добавить в поставку +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Просмотр склада -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Перевозка товара %s на другой склад -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Исходный склад должен быть определен здесь, когда модуль "номер партии товара" включён. Он будет использоваться для отображения с номером партии/серийным номером товара для необходимой номера партии/ серийного номера с целью движения товаров. Если вы хотите отправить товары из разных складов, просто сделайте отправку за несколько шагов. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/ru_RU/suppliers.lang b/htdocs/langs/ru_RU/suppliers.lang index 2e563da07c2..f2200b48868 100644 --- a/htdocs/langs/ru_RU/suppliers.lang +++ b/htdocs/langs/ru_RU/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Отправлено поставщикам ListOfSupplierOrders=Список заказов поставщиков MenuOrdersSupplierToBill=Заказы поставщика для выписки счёта NbDaysToDelivery=Задержка доставки в днях -DescNbDaysToDelivery=Самая большая задержка отображается среди списка товаров в заказе +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/ru_RU/trips.lang b/htdocs/langs/ru_RU/trips.lang index a1708340798..c70cbb0c568 100644 --- a/htdocs/langs/ru_RU/trips.lang +++ b/htdocs/langs/ru_RU/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Отчёты о затратах TripsAndExpensesStatistics=Статистика отчётов о затратах TripCard=Карточка отчётов о затратах AddTrip=Создать отчёт о затратах -ListOfTrips=Список отчёта о затратах +ListOfTrips=List of expense reports ListOfFees=Список сборов NewTrip=Новый отчёт о затртатах CompanyVisited=Посещенная организация @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Кого уведомлять для подтве TripSociete=Информация о компании TripSalarie=Информация о пользователе TripNDF=Информация о отчёте о затратах -DeleteLine=Удалить строку из отчёта о затратах +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Вы точно хотите удалить эту строку? PDFStandardExpenseReports=Шаблон отчёта о затратах для создания документа в формате PDF ExpenseReportLine=Строка отчёта о затратах @@ -40,11 +40,10 @@ TF_BUS=Автобус TF_CAR=Машина TF_PEAGE=Троллейбус TF_ESSENCE=Топливо -TF_HOTEL=Хостел +TF_HOTEL=Hotel TF_TAXI=Такси ErrorDoubleDeclaration=Вы должны задекларировать другой отчёт о затратах в этом временном диапазоне. -ListTripsAndExpenses=Список отчётов о затратах AucuneNDF=Нет отчётов о затратах по этому критерию AucuneLigne=Нет задекларированных отчётов о затратах AddLine=Добавить строку @@ -56,12 +55,12 @@ ModePaiement=Режим оплаты Note=Примечание Project=Проект -VALIDATOR=Уведомить пользователя о опробации +VALIDATOR=User responsible for approval VALIDOR=Утверждено AUTHOR=Записано -AUTHORPAIEMENT=Оплачено +AUTHORPAIEMENT=Paid by REFUSEUR=Отклонено -CANCEL_USER=Отменено +CANCEL_USER=Deleted by MOTIF_REFUS=Причина MOTIF_CANCEL=Причина @@ -74,7 +73,7 @@ DATE_PAIEMENT=Дата платежа TO_PAID=Оплатить BROUILLONNER=Открыть заново -SendToValid=Отправить запрос на утверждение +SendToValid=Sent on approval ModifyInfoGen=Редактировать ValidateAndSubmit=Проверить и отправить запрос на утверждение @@ -93,7 +92,7 @@ ConfirmPaidTrip=Вы точно хотите изменит статус это CancelTrip=Отменить отчёт о затратах ConfirmCancelTrip=Вы точно хотите отменить отчёт о затратах? -BrouillonnerTrip=Вернуть отчёту о затратах статус "Черновик" +BrouillonnerTrip=Move back expense report to status "Draft" ConfirmBrouillonnerTrip=Вы точно хотите изменить статус этого отчёта о затратах на "Черновик"? SaveTrip=Проверить отчёт о завтратах diff --git a/htdocs/langs/ru_RU/users.lang b/htdocs/langs/ru_RU/users.lang index 4df93b40a8c..526b2d62468 100644 --- a/htdocs/langs/ru_RU/users.lang +++ b/htdocs/langs/ru_RU/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Удалить из группы PasswordChangedAndSentTo=Пароль изменен и направил в %s. PasswordChangeRequestSent=Запрос на изменение пароля для %s направлено %s. MenuUsersAndGroups=Пользователи и Группы +MenuMyUserCard=My user card LastGroupsCreated=Последнее %s созданы группы LastUsersCreated=Последнее %s пользователей создаются ShowGroup=Показать группы diff --git a/htdocs/langs/ru_RU/workflow.lang b/htdocs/langs/ru_RU/workflow.lang index 97816ff6d9d..07085cb5e86 100644 --- a/htdocs/langs/ru_RU/workflow.lang +++ b/htdocs/langs/ru_RU/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Установка модуля Рабочих процессов -WorkflowDesc=Этот модуль спроектирован для изменения поведения автоматических действий в приложении. По умолчанию, рабочий процесс открыт (вы можете делать вещи в том порядке, в каком желаете). Вы можете включить режим автоматических действий, в которых вы заинтересованы. -ThereIsNoWorkflowToModify=Существует не рабочий процесс можно изменить для модуля активации. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Создать заказ клиента автоматически после коммерческое предложение подписано -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Создать счет клиента автоматически после коммерческое предложение подписано -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Создать счет клиента автоматически после контракт проверяется -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Создать счет клиента автоматически после заказа клиента закрыт +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Классифицировать связанные коммерческие предложения оплаченными, когда заказ клиента обозначен, как оплаченный descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Классифицировать связанные заказы клиента оплаченными, когда счёт клиента оплачен. descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Классифицировать связанные заказы клиента оплаченными, когда счёт клиента подтверждён. diff --git a/htdocs/langs/sk_SK/accountancy.lang b/htdocs/langs/sk_SK/accountancy.lang index 623e2060f71..6108ff6b4ec 100644 --- a/htdocs/langs/sk_SK/accountancy.lang +++ b/htdocs/langs/sk_SK/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Účtovníctvo Globalparameters=Globálne parametre @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index 9e4b7a8aad7..a8308887fa4 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu pre užívateľov LangFile=súbor .lang System=Systém SystemInfo=Informácie o systéme -SystemTools=Systémové nástroje SystemToolsArea=Systémové nástroje priestor SystemToolsAreaDesc=Táto oblasť poskytuje správu funkcií. V menu vyberte funkciu, ktorú hľadáte. Purge=Očistiť @@ -232,8 +231,8 @@ Security=Zabezpečenie Passwords=Heslá DoNotStoreClearPassword=Do žiadny obchod jasná heslá v databáze, ale iba šifrované úložisko hodnota (Activated odporúčané) MainDbPasswordFileConfEncrypted=Databáza heslo zašifrované v conf.php (Activated odporúčané) -InstrucToEncodePass=Ak chcete mať heslo zakódovaný do súboru conf.php nahradiť riadku
$ Dolibarr_main_db_pass = "..."
podľa
$ Dolibarr_main_db_pass = "šifrovaný: %s" -InstrucToClearPass=Ak chcete mať heslo dekódované (číra) do conf.php súboru, nahradiť riadku
$ Dolibarr_main_db_pass = "šifrovaných: ..."
podľa
$ Dolibarr_main_db_pass = "%s" +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=Ochrana generovaných súborov PDF (aktivuje sa neodporúča, rozbije hromadné generovanie PDF) ProtectAndEncryptPdfFilesDesc=Ochrana dokumentu vo formáte PDF udržuje ju k dispozícii pre čítanie a tlač PDF s akýmkoľvek prehliadači. Avšak, editáciu a kopírovanie nie je už možné. Všimnite si, že používate túto funkciu, aby budovu globálne kumulovanú pdf nefunguje (ako nezaplatených faktúr). Feature=Rys @@ -300,13 +299,13 @@ ThisIsProcessToFollow=To je nastavený tak, aby proces: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Krok %s FindPackageFromWebSite=Nájsť balíčka, ktorý obsahuje funkciu, ktorú chcete (napr. na oficiálnych webových stránkach %s). -DownloadPackageFromWebSite=Stiahnite si balíček %s. -UnpackPackageInDolibarrRoot=Rozbaľte súbor balíka do adresára vyhradeného pre externé moduly: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Inštalácia je dokončená a Dolibarr je pripravený na použitie s touto nový komponent. NotExistsDirect=Alternatívne koreňový adresár nie je definovaná.
InfDirAlt=Od verzie 3 je možné definovať alternatívny koreň directory.This umožňuje ukladať, rovnaké miesto, plug-iny a vlastné šablóny.
Stačí vytvoriť adresár v koreňovom adresári Dolibarr (napr.: vlastné).
InfDirExample=
Potom vyhlásiť ju v súbore conf.php
$ Dolibarr_main_url_root_alt = 'http://myserver/custom "
$ Dolibarr_main_document_root_alt = '/ cesta / of / Dolibarr / htdocs / vlastný "
* Tieto riadky sú okomentované znakom "#", odkomentovať odobrať iba charakter. -YouCanSubmitFile=Vyberte modul: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr aktuálna verzia CallUpdatePage=Prejdite na stránku, ktorá aktualizuje databázovú štruktúru a údaje: %s. LastStableVersion=Posledná stabilná verzia @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Knižnica použiť na vytvorenie PDF WarningUsingFPDF=Upozornenie: Váš conf.php obsahuje direktívu dolibarr_pdf_force_fpdf = 1. To znamená, že môžete používať knižnicu FPDF pre generovanie PDF súborov. Táto knižnica je stará a nepodporuje mnoho funkcií (Unicode, obraz transparentnosť, azbuka, arabské a ázijské jazyky, ...), takže môže dôjsť k chybám pri generovaní PDF.
Ak chcete vyriešiť tento a majú plnú podporu generovanie PDF, stiahnite si TCPDF knižnice , potom komentár alebo odstrániť riadok $ dolibarr_pdf_force_fpdf = 1, a namiesto neho doplniť $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir " -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Zadajte telefónne číslo pre volania ukázať odkaz na test ClickToDial URL pre %s RefreshPhoneLink=Obnoviť odkaz @@ -492,8 +491,8 @@ Module400Name=Projekty/Príležitosti/Vyhliadky Module400Desc=Riadenie projektov, príležitostí alebo vyhliadok. Môžete priradiť ľubovoľný prvok (faktúra, objednávka, návrh, intervencia, ...) k projektu a získať priečny pohľad z pohľadu projektu. Module410Name=WebCalendar Module410Desc=WebCalendar integrácia -Module500Name=Osobitné náklady (dane, sociálne príspevky, dividendy) -Module500Desc=Správa špeciálnych výdavkov, ako sú dane, sociálny príspevok, dividendy a platy +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Program rokovania Module2400Desc=Udalosti / úlohy a agendy vedenie Module2500Name=Elektronický Redakčný Module2500Desc=Uložiť a zdieľať dokumenty -Module2600Name=WebServices -Module2600Desc=Povoliť Dolibarr webových služieb servera +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Nastavenie uložené BackToModuleList=Späť na zoznam modulov BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zips CompanyTown=Mesto CompanyCountry=Krajina CompanyCurrency=Hlavná mena +CompanyObject=Object of the company Logo=Logo DoNotShow=Nezobrazovať DoNotSuggestPaymentMode=Nenaznačujú NoActiveBankAccountDefined=Žiadny aktívny bankový účet definovaný OwnerOfBankAccount=Majiteľ %s bankových účtov BankModuleNotActive=Účty v bankách modul nie je povolený, -ShowBugTrackLink=Ukázať odkaz "Nahlásiť chybu" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Ukázať "ponk" na domovskej stránke Alerts=Upozornenie Delays=Oneskorenie @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max desatinná pre jednotkových cien MAIN_MAX_DECIMALS_TOT=Max desatinné miesta pre celkovej ceny MAIN_MAX_DECIMALS_SHOWN=Max desatinná pre ceny zobrazené na obrazovke (Pridať ... po tejto rady, ak chcete vidieť ... keď je číslo skrátená pri zobrazení na obrazovke) MAIN_DISABLE_PDF_COMPRESSION=Použiť kompresiu PDF generovaných súborov PDF. -MAIN_ROUNDING_RULE_TOT= Veľkosť zaokrúhlenie rozsahu (pre mála krajín, kde je vykonané zaokrúhlenie na niečo iné ako základ 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Čistá jednotková cena produktu TotalPriceAfterRounding=Celková cena (bez DPH / s DPH / s DPH) po zaokrúhlení ParameterActiveForNextInputOnly=Parameter efektívne pre ďalší vstup iba @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Celkový počet aktivovaných funkcií modulov: 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=Použť vyhľadávací formulár pre výber produktu (namiesto rozbaľovacieho zoznamu). UseEcoTaxeAbility=Podpora Eco-taxe (WEEE) SetDefaultBarcodeTypeProducts=Predvolený typ čiarového kódu použiť pre produkty SetDefaultBarcodeTypeThirdParties=Predvolený typ čiarového kódu použiť k tretím osobám +UseUnits=Support units ProductCodeChecker= Modul pre generovanie kódu produktu a preskúšavanie (výrobku alebo služby) ProductOtherConf= Katalóg / Konfigurácia služby ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Čiarových kódov typu UPC BarcodeDescISBN=Čiarový kód typu ISBN BarcodeDescC39=Čiarový kód typu C39 BarcodeDescC128=Čiarový kód typu 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=Vnútorná motor BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ WebServicesSetup=Webservices modul nastavenia WebServicesDesc=Tým, že tento modul, Dolibarr stal webový server služby poskytovať rôzne webové služby. WSDLCanBeDownloadedHere=WSDL deskriptor súbory poskytovaných služieb možno stiahnuť tu EndPointIs=SOAP klienti musia poslať svoje požiadavky na koncový bod Dolibarr k dispozícii na adrese +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bankové modul nastavenia FreeLegalTextOnChequeReceipts=Voľný text na kontroly príjmov @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/sk_SK/banks.lang b/htdocs/langs/sk_SK/banks.lang index cf7d597da0c..1fbee4ad05f 100644 --- a/htdocs/langs/sk_SK/banks.lang +++ b/htdocs/langs/sk_SK/banks.lang @@ -94,12 +94,12 @@ Conciliate=Zmieriť Conciliation=Zmierenie ConciliationForAccount=Zmierte sa tento účet IncludeClosedAccount=Zahrnúť uzatvorených účtov -OnlyOpenedAccount=Iba otvorené účty +OnlyOpenedAccount=Only open accounts AccountToCredit=Účet na úver AccountToDebit=Účet na vrub DisableConciliation=Zakázať zmierenie funkciu pre tento účet ConciliationDisabled=Odsúhlasenie funkcia vypnutá -StatusAccountOpened=Otvorené +StatusAccountOpened=Open StatusAccountClosed=Zatvorené AccountIdShort=Číslo EditBankRecord=Upraviť záznam diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index 955cfee9f0f..d49b3e7d303 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Bezprostredný @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sk_SK/boxes.lang b/htdocs/langs/sk_SK/boxes.lang index 7e585f6e168..5194e483b51 100644 --- a/htdocs/langs/sk_SK/boxes.lang +++ b/htdocs/langs/sk_SK/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Posledný zmluvy BoxLastContacts=Posledné kontakty / adresy BoxLastMembers=Najnovší členovia BoxFicheInter=Posledný intervencie -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Obrat BoxTotalUnpaidCustomerBills=Celkové nezaplatené faktúry zákazníka BoxTotalUnpaidSuppliersBills=Celkové nezaplatené faktúry dodávateľa @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Posledné %s upravený zásah BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Obrat BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/sk_SK/categories.lang b/htdocs/langs/sk_SK/categories.lang index 699d1137662..7591dfb3dbb 100644 --- a/htdocs/langs/sk_SK/categories.lang +++ b/htdocs/langs/sk_SK/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s bolo úspešne pridané. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Nikto NotCategorized=Without tag/category CategoryExistsAtSameLevel=Táto kategória už existuje s týmto čj @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Obsah nie je vidieť všetci CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / Prospech. kategórie @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/sk_SK/companies.lang b/htdocs/langs/sk_SK/companies.lang index 12b261cf99a..98e1bfc3177 100644 --- a/htdocs/langs/sk_SK/companies.lang +++ b/htdocs/langs/sk_SK/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Späť numero vo formáte %syymm-nnnn pre zákazníka kódu a %syymm-NNNN s dodávateľmi kódu, kde yy je rok, MM je mesiac a nnnn je sekvencia bez prerušenia a bez návratu na 0. LeopardNumRefModelDesc=Kód je zadarmo. Tento kód je možné kedykoľvek zmeniť. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Vyhľadať tretiu stranu +SearchThirdparty=Search third party SearchContact=Vyhľadať kontakt +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/sk_SK/cron.lang b/htdocs/langs/sk_SK/cron.lang index 4217c1002b6..feeafd4e3ff 100644 --- a/htdocs/langs/sk_SK/cron.lang +++ b/htdocs/langs/sk_SK/cron.lang @@ -4,10 +4,10 @@ About = O CronAbout = O Cron CronAboutPage = Cron o stránke # Right -Permission23101 = Prečítajte si naplánovaná úloha -Permission23102 = Vytvoriť / aktualizovať naplánovanú úlohu -Permission23103 = Odstrániť naplánovaná úloha -Permission23104 = Vykonať naplánované úlohy, +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Naplánované úlohy správy Nastavenie URLToLaunchCronJobs=URL to check and launch cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Posledný beh výstup CronLastResult=Posledný kód výsledku CronListOfCronJobs=Zoznam naplánovaných úloh CronCommand=Príkaz -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Práca @@ -39,8 +39,8 @@ CronDtStart=Dátum začatia CronDtEnd=Dátum ukončenia CronDtNextLaunch=Ďalšie prevedenie CronDtLastLaunch=Posledná poprava -CronFrequency=Frekvenčný -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metóda CronModule=Modul CronAction=Akcie @@ -55,9 +55,9 @@ CronEach=Každý JobFinished=Práca zahájená a dokončená #Page card CronAdd= Pridať pracovných miest -CronHourStart= Začnite hodinu a dátum úlohy -CronEvery= A úloha vykonať každý -CronObject= Inštancia / objekt vytvoriť +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Inštancia / objekt vytvoriť CronArgs=Parametre CronSaveSucess=Uložiť úspešne CronNote=Komentár @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informácie # Common -CronType=Typ úlohy +CronType=Job type CronType_method=Volanie metódy triedy Dolibarr CronType_command=Shell príkaz CronMenu=Cron CronCannotLoadClass=Nemožno načítať triedu alebo objekt %s %s UseMenuModuleToolsToAddCronJobs=Choďte do menu "Home - Moduly náradie - Zoznam úloh" vidieť a upravovať naplánované úlohy. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index f5a8be6e516..0cf8dea3025 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Povinné parametre sú doteraz stanovené diff --git a/htdocs/langs/sk_SK/incoterm.lang b/htdocs/langs/sk_SK/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/sk_SK/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index 8af5284c8c4..3fe6e1c6ad7 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Databázový server - prístup Superuser CheckToCreateDatabase=Zaškrtnite, ak databáza neexistuje a musí byť vytvorená.
V tom prípade musíte zadať prihlasovacie meno / heslo pre administrátora v dolnej časti tejto stránky. CheckToCreateUser=Zaškrtnite, ak vlastník databázy neexistuje a musí byť vytvorený.
V tomto prípade je nutné zvoliť si prihlasovacie meno a heslo a tiež vyplniť login / heslo administrátora v dolnej časti tejto stránky. Ak toto políčko nie je začiarknuté, vlastník databázy a jeho heslá musia existovať. Experimental=(Experimentálne) +Deprecated=(deprecated) DatabaseRootLoginDescription=Prihlásenie užívateľa oprávneného vytvárať nové databázy alebo nových užívateľov - povinné, ak vaša databáza alebo jej majiteľ ešte neexistuje. KeepEmptyIfNoPassword=Ponechajte prázdne, ak užívateľ nemá heslo (neodporúčané) SaveConfigurationFile=Uložiť hodnoty diff --git a/htdocs/langs/sk_SK/languages.lang b/htdocs/langs/sk_SK/languages.lang index 14c4979520a..f253a71b156 100644 --- a/htdocs/langs/sk_SK/languages.lang +++ b/htdocs/langs/sk_SK/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabčina Language_ar_SA=Arabčina +Language_bn_BD=Bengali Language_bg_BG=Bulharčina Language_bs_BA=Bosniansky Language_ca_ES=Katalánčina @@ -21,9 +22,10 @@ Language_en_SA=Angličtina (Saudská Arábia) Language_en_US=Angličtina (Spojené štáty) Language_en_ZA=Angličtina (Južná Afrika) Language_es_ES=Španielčina -Language_es_DO=Španielčina (Dominikánska Republika) Language_es_AR=Španielčina (Argentína) Language_es_CL=Španielčina (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Španielčina (Dominikánska Republika) Language_es_HN=Španielčina (Honduras) Language_es_MX=Španielčina (Mexiko) Language_es_PY=Španielčina (Paraguaj) @@ -45,7 +47,10 @@ Language_id_ID=Indonézština Language_is_IS=Islandský Language_it_IT=Taliančina Language_ja_JP=Japonština +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Kórejčina +Language_lo_LA=Lao Language_lt_LT=Litovský Language_lv_LV=Lotyština Language_mk_MK=Macedónsky @@ -64,6 +69,7 @@ Language_sv_SV=Švédsky Language_sv_SE=Švédsky Language_sq_AL=Albánčina Language_sk_SK=Slovenčina +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrajinec Language_uz_UZ=Uzbek diff --git a/htdocs/langs/sk_SK/loan.lang b/htdocs/langs/sk_SK/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/sk_SK/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/sk_SK/mails.lang b/htdocs/langs/sk_SK/mails.lang index 4b82f3d6326..f7aaf178350 100644 --- a/htdocs/langs/sk_SK/mails.lang +++ b/htdocs/langs/sk_SK/mails.lang @@ -77,7 +77,7 @@ CheckRead=Prečítanie YourMailUnsubcribeOK=Napísať %s správne unsubcribe z mailing listu MailtoEMail=Hyper odkaz na e-mail ActivateCheckRead=Nechá sa použiť "" Unsubcribe odkaz -ActivateCheckReadKey=Tlačidlo slúži pre šifrovanie URL využitie pre "prečítanie" a "Unsubcribe" funkcia +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=Email bol odoslaný na %s príjemcom. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index bc03cc57f23..ccd00f5ec58 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Jednotková cena (bez DPH) UnitPriceTTC=Jednotková cena PriceU=UP PriceUHT=UP (bez DPH) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=UP Amount=Množstvo AmountInvoice=Fakturovaná čiastka @@ -413,6 +413,8 @@ Qty=Množstvo ChangedBy=Zmenil ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Prepočítať ResultOk=Úspech ResultKo=Zlyhanie @@ -421,7 +423,7 @@ Reportings=Hlásenie Draft=Návrh Drafts=Dáma Validated=Overené -Opened=Otvorené +Opened=Open New=Nový Discount=Zľava Unknown=Neznámy @@ -678,6 +680,7 @@ LinkedToSpecificUsers=V súvislosti s konkrétnym kontakte s užívateľom DeleteAFile=Odstránenie súboru ConfirmDeleteAFile=Ste si istí, že chcete zmazať súbor NoResults=Žiadne výsledky +SystemTools=System tools ModulesSystemTools=Moduly náradie Test=Test Element=Prvok @@ -703,6 +706,9 @@ ShowTransaction=Zobraziť transakciu GoIntoSetupToChangeLogo=Choďte na Domov - Nastavenie - Spoločnosť pre zmenu loga, alebo na Domov - Nastavenie - Zobrazenie pre skrytie loga. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Pondelok Tuesday=Utorok @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/sk_SK/orders.lang b/htdocs/langs/sk_SK/orders.lang index c7a6e7a6a9a..dba2afc904b 100644 --- a/htdocs/langs/sk_SK/orders.lang +++ b/htdocs/langs/sk_SK/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Dodávateľská objednávka SuppliersOrders=Dodávateliské objednávky SuppliersOrdersRunning=Aktuálne dodávatelské objednávky CustomerOrder=Zákaznícka objednávka -CustomersOrders=Zákaznícke objednávky -CustomersOrdersRunning=Objednávky aktuálneho zákazníka -CustomersOrdersAndOrdersLines=Zákaznícke objednávky a objednávky linky -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Dodávateľa objednávky na spracovanie +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Zrušený StatusOrderDraftShort=Návrh StatusOrderValidatedShort=Overené @@ -75,8 +75,9 @@ AddToMyOrders=Pridať do mojich objednávok AddToOtherOrders=Pridať do iných objednávok AddToDraftOrders=Pridať k predlohe ShowOrder=Zobraziť objednávku -NoOpenedOrders=Žiadne otvorené príkazy -NoOtherOpenedOrders=Žiadny iný otvoril objednávky +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Žiadne návrhy objednávky OtherOrders=Ostatné objednávky LastOrders=Last %s customer orders diff --git a/htdocs/langs/sk_SK/other.lang b/htdocs/langs/sk_SK/other.lang index 78aaab510cd..ebf48639ff8 100644 --- a/htdocs/langs/sk_SK/other.lang +++ b/htdocs/langs/sk_SK/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervencie overená Notify_FICHINTER_SENTBYMAIL=Intervencie poštou Notify_BILL_VALIDATE=Zákazník faktúra overená Notify_BILL_UNVALIDATE=Zákazník faktúra unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Dodávateľská objednávka zaznamenaná Notify_ORDER_SUPPLIER_APPROVE=Dodávateľ aby schválila Notify_ORDER_SUPPLIER_REFUSE=Dodávateľ aby odmietol Notify_ORDER_VALIDATE=Zákazníka overená @@ -203,6 +204,7 @@ ClickHereToGoTo=Kliknite tu pre prechod na %s YouMustClickToChange=Musíte však najprv kliknúť na nasledujúci odkaz pre potvrdenie tejto zmeny hesla ForgetIfNothing=Ak ste o túto zmenu, stačí zabudnúť na tento e-mail. Vaše prihlasovacie údaje sú v bezpečí. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Pridať záznam do kalendára %s diff --git a/htdocs/langs/sk_SK/printing.lang b/htdocs/langs/sk_SK/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/sk_SK/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/sk_SK/productbatch.lang b/htdocs/langs/sk_SK/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/sk_SK/productbatch.lang +++ b/htdocs/langs/sk_SK/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index a18d6578662..fc70943351c 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produkt alebo služba ProductsAndServices=Produkty a služby ProductsOrServices=Výrobky alebo služby ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Produkty a služby štatistika ProductsStatistics=Produkty štatistiky -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Interné referenčné číslo LastRecorded=Najnovšie produkty / služby na predaji zaznamenaný @@ -44,7 +44,7 @@ CardProduct1=Servisná karta CardContract=Zmluva karty Warehouse=Sklad Warehouses=Sklady -WarehouseOpened=Warehouse otvoril +WarehouseOpened=Warehouse open WarehouseClosed=Sklad uzavretý Stock=Sklad Stocks=Zásoby @@ -71,21 +71,21 @@ SellingPriceTTC=Predajná cena (s DPH) PublicPrice=Verejné cena CurrentPrice=Aktuálna cena NewPrice=Nová cena -MinPrice=Minim. predajná cena -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Predajná cena nesmie byť nižšia ako minimálna povolená pre tento produkt (%s bez dane). Toto hlásenie sa môže tiež zobrazí, ak zadáte príliš dôležitú zľavu. ContractStatus=Stav zmluvy ContractStatusClosed=Zatvorené -ContractStatusRunning=Beh +ContractStatusRunning=Ongoing ContractStatusExpired=vypršala -ContractStatusOnHold=Nebeží -ContractStatusToRun=To get running -ContractNotRunning=Táto zmluva nie je v chode +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Výrobok s referenčným %s už existuje. ErrorProductBadRefOrLabel=Chybná hodnota pre referenčné alebo etikety. ErrorProductClone=Vyskytol sa problém pri pokuse o klonovaní produkt alebo službu. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Dodávatelia SupplierRef=Dodávateľa produktov čj. ShowProduct=Zobraziť produkt @@ -117,12 +117,12 @@ ServiceLimitedDuration=Je-li výrobok je služba s obmedzeným trvaním: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Počet cien MultiPriceLevelsName=Cenové kategórie -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Asociovať Translation=Preklad KeywordFilter=Kľúčové slovo filter @@ -131,7 +131,7 @@ ProductToAddSearch=Hľadanie informácií o produktoch pre pridanie AddDel=Pridať / Odstrániť Quantity=Množstvo NoMatchFound=Nie nájdená zhoda -ProductAssociationList=Zoznam súvisiacich produktov / služieb: názov produktu / služby (množstvo ovplyvnené) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=Jedným z vybraného produktu je rodič s aktuálnou produkt DeleteProduct=Odstránenie produktu / služby @@ -179,16 +179,41 @@ CloneProduct=Clone produkt alebo službu ConfirmCloneProduct=Ste si istí, že chcete klonovať produktov alebo služieb %s? CloneContentProduct=Klon všetky hlavné informácie o produkte / služby ClonePricesProduct=Klonovať hlavné informácie a ceny -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Tento produkt sa používa NewRefForClone=Ref nového produktu / služby -CustomerPrices=Zákazníci ceny -SuppliersPrices=Dodávatelia ceny -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Colné kód CountryOrigin=Krajina pôvodu HiddenIntoCombo=Skryté do vybraných zoznamov Nature=Príroda +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Vytvorte kartu výrobku @@ -214,7 +239,7 @@ CostPmpHT=Čistá hodnota VWAP ProductUsedForBuild=Auto spotrebujú pri výrobe ProductBuilded=Výroba dokončená ProductsMultiPrice=Produkt multi-cena -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Produkty obrat štvrťročné VWAP ServiceSellByQuarterHT=Služby obrat štvrťročné VWAP Quarter1=Prvý. Štvrťrok @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index 60e0e6713f6..3b3ed27cb83 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Tento názor predstavuje všetky projekty, ktoré sú prístu ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Tento názor predstavuje všetky projekty (užívateľského oprávnenia udeliť oprávnenie k nahliadnutiu všetko). MyTasksDesc=Tento pohľad je obmedzená na projekty alebo úlohy, ktoré sú pre kontakt (nech je to typ). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Tento názor predstavuje všetky projekty a úlohy, ktoré sú prístupné pre čítanie. TasksDesc=Tento názor predstavuje všetky projekty a úlohy (vaše užívateľské oprávnenia udeliť oprávnenie k nahliadnutiu všetko). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Zoznam projektov ShowProject=Zobraziť projektu SetProject=Nastavenie projektu NoProject=Žiadny projekt definovaný alebo vlastné -NbOpenTasks=Nb otvorených úloh +NbOpenTasks=Nb of open tasks NbOfProjects=Nb projektov TimeSpent=Čas strávený TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Nový čas strávený MyTimeSpent=Môj čas strávený @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Zoznam výkonov spojených s projektom ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Zoznam udalostí spojených s projektom +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivita na projekte tento týždeň ActivityOnProjectThisMonth=Aktivita na projekte tento mesiac ActivityOnProjectThisYear=Aktivita na projekte v tomto roku @@ -95,7 +96,7 @@ DeleteATimeSpent=Odstrániť čas strávený ConfirmDeleteATimeSpent=Ste si istí, že chcete zmazať tento čas strávený? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Zdroje +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekty venovaný tejto tretej osobe NoTasks=Žiadne úlohy tohto projektu LinkedToAnotherCompany=Súvisí s tretej strane @@ -139,8 +140,12 @@ ProjectReferers=Odkazujúce objekty SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/sk_SK/propal.lang b/htdocs/langs/sk_SK/propal.lang index ad74694f8cb..42b06536e3f 100644 --- a/htdocs/langs/sk_SK/propal.lang +++ b/htdocs/langs/sk_SK/propal.lang @@ -4,7 +4,7 @@ Proposal=Komerčné návrh ProposalShort=Návrh ProposalsDraft=Navrhnúť obchodné návrhy ProposalDraft=Návrh obchodný návrh -ProposalsOpened=Otvorené obchodné návrhy +ProposalsOpened=Open commercial proposals Prop=Komerčné návrhy CommercialProposal=Komerčné návrh CommercialProposals=Komerčné návrhy @@ -16,7 +16,7 @@ Prospect=Vyhliadka ProspectList=Prospect zoznam DeleteProp=Zmazať obchodné návrh ValidateProp=Overiť obchodné návrh -AddProp=Pridať návrh +AddProp=Create proposal ConfirmDeleteProp=Ste si istí, že chcete zmazať tento obchodný návrh? ConfirmValidateProp=Ste si istí, že chcete overiť túto obchodnú návrh pod názvom %s? LastPropals=Posledný %s návrhy @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Suma, o mesiac (bez DPH) NbOfProposals=Počet obchodných návrhov ShowPropal=Zobraziť návrhu PropalsDraft=Dáma -PropalsOpened=Otvorené +PropalsOpened=Open PropalsNotBilled=Uzavreté nie je účtovaná PropalStatusDraft=Návrh (musí byť overená) PropalStatusValidated=Overené (Návrh je v prevádzke) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nie ste prihlásený (uzavretý) PropalStatusBilled=Účtované PropalStatusDraftShort=Návrh PropalStatusValidatedShort=Overené -PropalStatusOpenedShort=Otvorené +PropalStatusOpenedShort=Open PropalStatusClosedShort=Zatvorené PropalStatusSignedShort=Podpísaný PropalStatusNotSignedShort=Nie ste prihlásený @@ -51,12 +51,10 @@ PropalsToClose=Komerčné návrhy zavrieť PropalsToBill=Podpísali obchodné návrhy zákona ListOfProposals=Zoznam obchodných návrhov ActionsOnPropal=Udalosti na návrhu -NoOpenedPropals=Žiadne otvorené obchodné návrhy -NoOtherOpenedPropals=Žiadny iný otvoril obchodné návrhy +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Komerčné návrh ref SendPropalByMail=Poslať obchodný návrh poštou -FileNotUploaded=Súbor nebol nahraný -FileUploaded=Súbor bol úspešne nahraný AssociatedDocuments=Dokumenty súvisiace s návrhom: ErrorCantOpenDir=Nemožno otvoriť adresár DatePropal=Dátum návrhu @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune návrh modelu DefaultModelPropalCreate=Predvolené model, tvorba DefaultModelPropalToBill=Predvolená šablóna pri zatváraní obchodnej návrh (bude faktúrovať) DefaultModelPropalClosed=Predvolená šablóna pri zatváraní obchodnej návrh (nevyfakturované) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/sk_SK/salaries.lang b/htdocs/langs/sk_SK/salaries.lang index f222c59dcf8..efa273a5bcf 100644 --- a/htdocs/langs/sk_SK/salaries.lang +++ b/htdocs/langs/sk_SK/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Ukázať výplatu mzdy THM=Priemerná hodinová cena TJM=Priemerná denná cena CurrentSalary=Súčasná mzda +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/sk_SK/sendings.lang b/htdocs/langs/sk_SK/sendings.lang index 1e8634c96ec..f81ef904579 100644 --- a/htdocs/langs/sk_SK/sendings.lang +++ b/htdocs/langs/sk_SK/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Jednoduché Vzor dokladu DocumentModelMerou=Mero A5 modelu WarningNoQtyLeftToSend=Varovanie: žiadny tovar majú byť dodané. StatsOnShipmentsOnlyValidated=Štatistiky vykonaná na zásielky iba overených. Dátum použité je dátum schválenia zásielky (plánovaný dátum dodania nie je vždy známe). -DateDeliveryPlanned=Čelné termín dodania +DateDeliveryPlanned=Planned date of delivery DateReceived=Dátum doručenia obdržal SendShippingByEMail=Poslať zásielku EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index ea2954eee1c..fcdc695fae3 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Sklady NewWarehouse=Nový sklad / skladová plocha WarehouseEdit=Upraviť sklad MenuNewWarehouse=Nový sklad -WarehouseOpened=Sklad otvorený +WarehouseOpened=Warehouse open WarehouseClosed=Sklad uzavretý WarehouseSource=Zdrojový sklad WarehouseSourceNotDefined=Nie je definovaný žiadny sklad, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Zvoľte sklad použiť pre zníženie skladom SelectWarehouseForStockIncrease=Zvoľte sklad použiť pre zvýšenie stavu zásob NoStockAction=Žiadne akcie skladom LastWaitingSupplierOrders=Objednávky čakanie na recepciách -DesiredStock=Požadovaná skladom +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Ak chcete objednať Replenishment=Naplnenie ReplenishmentOrders=Doplňovanie objednávky -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Používať virtuálne zásoby UsePhysicalStock=Používať fyzické zásoby -CurentSelectionMode=Súčasný spôsob výberu +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtuálne zásoby CurentlyUsingPhysicalStock=Fyzické zásoby RuleForStockReplenishment=Pravidlo pre doplňovanie zásob @@ -112,8 +113,8 @@ AlertOnly= Upozornenie iba WarehouseForStockDecrease=Skladová %s budú použité pre zníženie skladom WarehouseForStockIncrease=Skladová %s budú použité pre zvýšenie stavu zásob ForThisWarehouse=Z tohto skladu -ReplenishmentStatusDesc=Toto je zoznam všetkých produktov, ktorých zásoba je nižšia než požadovaná (alebo nižšia ako hodnota pre výstrahu ak "iba výstrahy" je zaškrtnuté). Odporúča sa vytvorenie dodávateľských objednávok na doplnenie rozdieľov. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Splátky NbOfProductBeforePeriod=Množstvo produktov %s na sklade, než zvolené obdobie (<%s) NbOfProductAfterPeriod=Množstvo produktov %s na sklade po zvolené obdobie (> %s) @@ -124,16 +125,16 @@ RecordMovement=Záznam transfert ReceivingForSameOrder=Bločky tejto objednávky StockMovementRecorded=Zaznamenané pohyby zásob RuleForStockAvailability=Pravidlá skladových požiadaviek -StockMustBeEnoughForInvoice=Úroveň zásob musí byť dostatočná na zahrnutie produktu/služby do faktúry -StockMustBeEnoughForOrder=Úroveň zásob musí byť dostatočná na zahrnutie produktu/služby do objednávky -StockMustBeEnoughForShipment= Úroveň zásob musí byť dostatočná na zahrnutie produktu/služby do dodávky +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Štítok pohybu InventoryCode=Movement or inventory code IsInPackage=Vložené do balíka ShowWarehouse=Ukázať sklad -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Transfer zásoby produktu %s do iného skladu -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/sk_SK/suppliers.lang b/htdocs/langs/sk_SK/suppliers.lang index 696d59df1cc..0f6ef8dd248 100644 --- a/htdocs/langs/sk_SK/suppliers.lang +++ b/htdocs/langs/sk_SK/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Odoslané dodávateľom ListOfSupplierOrders=Zoznam dodávateľských objednávok MenuOrdersSupplierToBill=Vytvoriť faktúru z dodávateľskej objednávky NbDaysToDelivery=Zdržanie dodávky v dňoch -DescNbDaysToDelivery=Zobrazené je najväčšie zdržanie spomedzi položiek objednávky +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/sk_SK/trips.lang b/htdocs/langs/sk_SK/trips.lang index 3943c585c50..b737c1d726c 100644 --- a/htdocs/langs/sk_SK/trips.lang +++ b/htdocs/langs/sk_SK/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Sadzobník poplatkov NewTrip=New expense report CompanyVisited=Firma / nadácie navštívil @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/sk_SK/users.lang b/htdocs/langs/sk_SK/users.lang index c2d36bc695c..feb7244bbed 100644 --- a/htdocs/langs/sk_SK/users.lang +++ b/htdocs/langs/sk_SK/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Odstrániť zo skupiny PasswordChangedAndSentTo=Heslo bolo zmenené a poslaný do %s. PasswordChangeRequestSent=Žiadosť o zmenu hesla %s zaslaná %s. MenuUsersAndGroups=Používatelia a skupiny +MenuMyUserCard=My user card LastGroupsCreated=Posledné %s vytvorili skupiny LastUsersCreated=Posledné %s používatelia vytvorili ShowGroup=Zobraziť skupinu diff --git a/htdocs/langs/sk_SK/workflow.lang b/htdocs/langs/sk_SK/workflow.lang index 58f27b036de..a9382f64d06 100644 --- a/htdocs/langs/sk_SK/workflow.lang +++ b/htdocs/langs/sk_SK/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow modul nastavenia -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Nie je workflow môžete upraviť pre modul bolo aktivované. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Vytvorenie objednávky zákazníka automaticky po komerčné Návrh je podpísaný -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Vytvorte zákazníckej faktúry automaticky po komerčné Návrh je podpísaný -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Vytvorte zákazníckej faktúry automaticky po uzavretí zmluvy overená -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Vytvorte zákazníckej faktúry automaticky po zákazníkovi, aby je uzavretý +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Triediť prepojené zdrojový návrh účtoval keď je objednávka zákazníka nastavený na platenú descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Triediť spojené zdroj objednávka zákazníka (y) účtoval, keď je zákazník faktúry nastavený na platené descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Triediť prepojený zdroj objednávky zákazníka (y) účtoval keď je overený zákazníkmi faktúra diff --git a/htdocs/langs/sl_SI/accountancy.lang b/htdocs/langs/sl_SI/accountancy.lang index c4d4970288b..f236029cea1 100644 --- a/htdocs/langs/sl_SI/accountancy.lang +++ b/htdocs/langs/sl_SI/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Računovodstvo Globalparameters=Globalni parametri @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Dolžina računih tretjih oseb ACCOUNTING_SELL_JOURNAL=Prodam revija ACCOUNTING_PURCHASE_JOURNAL=Nakup revij -ACCOUNTING_BANK_JOURNAL=Bank revija -ACCOUNTING_CASH_JOURNAL=Cash revija ACCOUNTING_MISCELLANEOUS_JOURNAL=Razno revija +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Socialna revija ACCOUNTING_ACCOUNT_TRANSFER_CASH=Račun za prenos diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index 7e997bd1ab8..c9b63ad91a5 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Meni za uporabnika LangFile=Datoteka .lang System=Sistem SystemInfo=Sistemske informacije -SystemTools=Sistemska orodja SystemToolsArea=Področje sistemskih orodij SystemToolsAreaDesc=To področje omogoča administrativne funkcije. Preko menija izberite funkcijo, ki jo iščete. Purge=Počisti @@ -232,8 +231,8 @@ Security=Varnost Passwords=Gesla DoNotStoreClearPassword=Ne shranjujte v bazi podatkov celih gesel, temveč samo šifrirane vrednosti (priporočena aktivacija) MainDbPasswordFileConfEncrypted=Šifrirana baza podatkov v conf.php (priporočena aktivacija) -InstrucToEncodePass=Za kodiranje gesel v datoteko conf.php, zamenjajte vrstico
$dolibarr_main_db_pass="..."
z
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=Za dekodirana (čista) gesla v datoteki conf.php, zamenjajte vrstico
$dolibarr_main_db_pass="crypted:..."
z
$dolibarr_main_db_pass="%s" +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=Zaščita generiranih pdf datotek (aktivacija ni priporočena, prekinjeno masovno generiranje pdf) ProtectAndEncryptPdfFilesDesc=Zaščiteni PDF se lahko berejo in tiskajo preko kateregakoli PDF bralnika. Vendar pa ni več možno popravljanje in kopiranje. Upoštevajte, da uporaba te funkcije onemogoči izdelavo globalnih zbirnih pdf datotek (kot so neplačani računi). Feature=Funkcija @@ -300,13 +299,13 @@ ThisIsProcessToFollow=To je nastavitev za proces: ThisIsAlternativeProcessToFollow=To je alternativna nastavitev za proces: StepNb=Korak %s FindPackageFromWebSite=Poiščite paket, ki omogoča funkcijo, ki jo želite (na primer na spletni strani %s). -DownloadPackageFromWebSite=Prenesi paket %s. -UnpackPackageInDolibarrRoot=Razpakiraj paketno datoteko v mapo, namenjeno eksternim modulom: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Instalacija je zaključena in Dolibarr je pripravljen na uporabo s to novo komponento. NotExistsDirect=Ni definirana alternativna korenska mapa.
InfDirAlt=Od 3. različice dalje je možno definirati alternativno korensko mapo. To omogoča shranjevanje vtičnikov in uporabniških predlog na isto mesto.
Ustvariti je potrebno samo mapo v korenu Dolibarr (npr: custom).
InfDirExample=
Nato jo določite v datoteki conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Te vrstice so označene kot komentar z znakom "#", če želite, da bodo vrstice izvedene, odstranite ta znak. -YouCanSubmitFile=Izberi modul: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Trenutna različica Dolibarr CallUpdatePage=Pojdite na stran za nadgradnjo strukture in podatkov v podatkovni bazi: %s. LastStableVersion=Zadnja stabilna različica @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Seznam parametrov iz tabele
Syntax : table_name:la ExtrafieldParamHelpchkbxlst=Seznam parametrov iz tabele
Syntax : table_name:label_field:id_field::filter
Primer : c_typent:libelle:id::filter

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

če želite, da je seznam odvisen od drugega :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Uporabljena knjižnica za ustvarjanje PDF WarningUsingFPDF=Pozor: vaš conf.php vsebuje direktivo dolibarr_pdf_force_fpdf=1. To pomeni, da uporabljate knjižnico FPDF za generiranje PDF datotek. Ta knjižnica je stara in ne podpira številnih značilnosti (Unicode, transparentnost slike, cirilico, arabske in azijske jezike, ...), zado lahko med generiranjem PDF pride do napak.
Za rešitev tega problema in polno podporo PDF generiranja, prosimo da naložite TCPDF knjižnico, nato označite kot komentar ali odstranite vrstico $dolibarr_pdf_force_fpdf=1, in namesto nje dodajte $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=V nekaterih državah so na vsako vrstico računa vezani 2 ali 3 davki. V takem primeru izberite tip in stopnjo drugega in tretjega davka. Možni tipi so:
1 : lokalni davek na proizvode in storitve brez DDV (lokalni davek se obračuna na znesek brez DDV)
2 : lokalni davek na proizvode in storitve z DDV (lokalni davek se obračuna na znesek + DDV)
3 : lokalni davek na proizvode brez DDV (lokalni davek se obračuna na znesek brez DDV)
4 : lokalni davek na proizvode z DDV (lokalni davek se obračuna na znesek + DDV)
5 : lokalni davek na storitve brez DDV (lokalni davek se obračuna na znesek brez DDV)
6 : lokalni davek na storitve z DDV (lokalni davek se obračuna na znesek + DDV) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Vnesite telefonsko številko, na katero kličete za prikaz povezave za testiranje ClickToDial url za uporabnika %s RefreshPhoneLink=Osveži pšovezavo @@ -492,8 +491,8 @@ Module400Name=Projekti/priložnosti/možnosti Module400Desc=Upravljanje projektov, priložnosti ali potencialov. Nato lahko dodate vse druge elemente (račun, naročilo, ponudbo, intervencijo, ...) k tem projektom, da dobite transverzalni pogled iz projektnega pogleda. Module410Name=Internetni koledar Module410Desc=Integracija internetnega koledarja -Module500Name=Posebni stroški (davki, socialni prispevki, dividende) -Module500Desc=Upravljanje posebnih stroškov, kot so davki, socialni prispevki, dividende in plače +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Plače Module510Desc=Upravljanje plač in plačil zaposlenim Module520Name=Posojilo @@ -524,8 +523,10 @@ Module2400Name=Dnevni red Module2400Desc=Upravljanje aktivnosti/nalog in dnevnih redov Module2500Name=Upravljanje elektronskih vsebin Module2500Desc=Shranjevanje dokumentov in dajanje v skupno rabo -Module2600Name=Spletne storitve -Module2600Desc=Omogočanje Dolibarr strežnika za spletne storitve +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=Spletne storitve (klient) Module2650Desc=Vključitev Dolibarr klienta za mrežni servis (lahko se uporablja za potisk podatkov/zahtev na zunanji strežnik. Zaenkrat so podprta samo naročila pri dobaviteljih) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Izvor ponudb/naročil DictionaryAccountancyplan=Kontni plan DictionaryAccountancysystem=Modeli kontnih planov DictionaryEMailTemplates=Predloge za elektronsko pošto +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Nastavitve shranjene BackToModuleList=Nazaj na seznam modulov BackToDictionaryList=Nazaj na seznam slovarjev @@ -936,13 +939,14 @@ CompanyZip=Poštna številka CompanyTown=Mesto CompanyCountry=Država CompanyCurrency=Osnovna valuta +CompanyObject=Object of the company Logo=Logotip DoNotShow=Ne prikaži DoNotSuggestPaymentMode=Ne predlagaj NoActiveBankAccountDefined=Ni definiran aktivni bančni račun OwnerOfBankAccount=Lastnik bančnega računa %s BankModuleNotActive=Modul za bančne račune ni omogočen -ShowBugTrackLink=Prikaži povezavo "Sporoči hrošča" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Prikaži "delovno površino" na domači strani Alerts=Opozorila Delays=Zakasnitve @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Največje število decimalk za ceno enote MAIN_MAX_DECIMALS_TOT=Največje število decimalk za končno ceno MAIN_MAX_DECIMALS_SHOWN=Največje število decimalk za ceno, ki so vidne na zaslonu (Dodajte ... za to številko, če želite videti ..., kadar je številka skrajšana za prikaz na zaslonu) MAIN_DISABLE_PDF_COMPRESSION=Uporaba PDF kompresije za generiranje PDF datotek. -MAIN_ROUNDING_RULE_TOT= Velikost območja zaokroževanja (pri nekaterih državah, kjer se ne zaokrožuje na osnovo 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Neto cena enote proizvoda TotalPriceAfterRounding=Skupna cena z davkom po zaokrožitvi ParameterActiveForNextInputOnly=Parameter bo veljal šele pri naslednjem vnosu. @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Skupno število aktiviranih modulov za lastnosti: YouMustEnableOneModule=Omogočiti morate vsaj 1 modul ClassNotFoundIntoPathWarning=Ratzred %s ni najedn na poti PHP YesInSummer=Da poleti -OnlyFollowingModulesAreOpenedToExternalUsers=Opomba, samo naslednji moduli so odprti za zunanje uporabnike (odvisno od dovoljenje takih uporabnikov): +OnlyFollowingModulesAreOpenedToExternalUsers=Note, only following modules are open to external users (whatever are permission of such users): SuhosinSessionEncrypt=Shranjevanje seje kriptirano s Suhosin ConditionIsCurrently=Trenutni pogoj je %s YouUseBestDriver=Uporabljate gonilnik %s , ki je najboljši trenutno na voljo @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Največje število proizvodov na kombiniranih seznam ConfirmDeleteProductLineAbility=Potrditev izbrisa vrstice proizvoda z obrazca ModifyProductDescAbility=Prilagoditev opisa proizvoda na obrazcu ViewProductDescInFormAbility=Ponazoritev opisa proizvoda na obrazcu (kot pojavni opis) +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=Vizualizacija Poimenovanja izdelkov v thirdparty jeziku UseSearchToSelectProductTooltip=Če je število proizvodov zelo veliko (> 100 000), lahko povečate hitrost z nastavitvijo konstante PRODUCT_DONOTSEARCH_ANYWHERE na vrednost 1 v Nastavitve->Ostale nastavitve. S tem bo iskanje omejeno na začetek niza. UseSearchToSelectProduct=Uporabi iskanje za izbiro proizvoda (raje kot padajoči seznam) UseEcoTaxeAbility=Podpora ekološke takse (WEEE) SetDefaultBarcodeTypeProducts=Privzet tip črtne kode za proizvode SetDefaultBarcodeTypeThirdParties=Privzet tip črtne kode za partnerje +UseUnits=Support units ProductCodeChecker= Modul za generiranje kode proizvodov in kontrolo (proizvod ali storitev) ProductOtherConf= Konfiguracija proizvodov/storitev ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Črtna koda tipa UPC BarcodeDescISBN=Črtna koda tipa ISBN BarcodeDescC39=Črtna koda tipa C39 BarcodeDescC128=Črtna koda tipa C128 +BarcodeDescDATAMATRIX=Barcode of type Datamatrix +BarcodeDescQRCODE=Barcode of type QR code GenbarcodeLocation=Orodje za generiranje črtne kode preko komandne vrstice (uporablja ga 'internal engine' za nekatere tipe črtnih kod). Mora biti kompatibilen z "genbarcode".
Na primer: /usr/local/bin/genbarcode BarcodeInternalEngine=Interno orodje BarCodeNumberManager=Upravljanje avtomatskega določanja številk črtnih kod @@ -1552,6 +1560,13 @@ WebServicesSetup=Nastavitev modula za spletne storitve WebServicesDesc=Z omogočenjem tega modula postane Dolibarr spletni strežnik za zagotavljanje različnih spletnih storitev. WSDLCanBeDownloadedHere=WSDL opisna datoteka omogočenih storitev je na voljo tukaj EndPointIs=SOAP klienti morajo poslati zahtevo na Dolibarr končno točko, ki je na voljo na Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Nastavitev modula za banke FreeLegalTextOnChequeReceipts=Poljubno besedilo na potrdilu za ček @@ -1594,7 +1609,7 @@ OpenFiscalYear=Odpri fiskalno leto CloseFiscalYear=Zapri fiskalno leto DeleteFiscalYear=Izbriši fiskalno leto ConfirmDeleteFiscalYear=Ali zares želite izbrisati to fiskalni leto? -Opened=Odprt +Opened=Open Closed=Zaključeno AlwaysEditable=Lahko je vedno urejeno MAIN_APPLICATION_TITLE=Prisilni prikaz imena aplikacije (opozorilo: če tukaj nastavite vaše lastno ime, lahko prekinete funkcijo avtomatskega vnosa uporabniškega imena pri uporabi mobilne aplikacije DoliDroid) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Instalacija eksternega modula s spletnega SomethingMakeInstallFromWebNotPossible2=Zaradi tega razloga je tukaj opisan postopek samo ročnih korakov, ki jih lahko naredi le uporabnik z dovoljenjem. InstallModuleFromWebHasBeenDisabledByFile=Instalacijo zunanjega modula iz aplikacije je onemogočil vaš administrator. Prositi ga morate, naj odstrani datoteko %s, da bi omogočil to funkcijo. ConfFileMuseContainCustom=Instalacija eksternega modula iz aplikacije shrani datoteke modula v mapo %s. da bi Dolibarr procesiral to mapo, morate nastaviti vaš conf/conf.php tako, da bo opcija
- $dolibarr_main_url_root_alt omogočena z vrednostjo $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt pa z vrednostjo "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index e6d9a86b536..d2d117b1a48 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -94,12 +94,12 @@ Conciliate=Uskladi Conciliation=Uskladitev ConciliationForAccount=Uskladi ta konto IncludeClosedAccount=Vključi zaprte račune -OnlyOpenedAccount=Samo odprti računi +OnlyOpenedAccount=Only open accounts AccountToCredit=Kreditni konto AccountToDebit=Debetni konto DisableConciliation=Onemogoči funkcijo usklajevanja za ta konto ConciliationDisabled=Funkcija usklajevanja onemogočena -StatusAccountOpened=Odprt +StatusAccountOpened=Open StatusAccountClosed=Zaprt AccountIdShort=Številka EditBankRecord=Urejanje postavk diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index f9a76966115..d5b7d41a156 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -74,9 +74,9 @@ PaymentsAlreadyDone=Izvršena plačila PaymentsBackAlreadyDone=Vrnitev plačila že izvršena PaymentRule=Pravilo plačila PaymentMode=Način plačila -PaymentTerm=Payment term -PaymentConditions=Payment terms -PaymentConditionsShort=Payment terms +PaymentTerm=Rok plačila +PaymentConditions=Pogoji plačil +PaymentConditionsShort=Pogoji plačil PaymentAmount=Znesek plačila ValidatePayment=Potrdi plačilo PaymentHigherThanReminderToPay=Plačilo višje od opomina @@ -294,10 +294,11 @@ TotalOfTwoDiscountMustEqualsOriginal=Vsota obeh novih popustov mora biti enaka o ConfirmRemoveDiscount=Ali zares želite odstraniti ta popust ? RelatedBill=Podobni račun RelatedBills=Povezani računi -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related supplier invoices +RelatedCustomerInvoices=Povezani računi za kupca +RelatedSupplierInvoices=Povezani računi dobavitelja LatestRelatedBill=Zadnji povezan račun WarningBillExist=Pozor, obstaja že en ali več računov +MergingPDFTool=Orodje za spajanje PDF # PaymentConditions PaymentConditionShortRECEP=Takoj @@ -429,5 +430,5 @@ NotLastInCycle=Ta račun ni zadnji v ciklu in ga ne morete spremeniti. DisabledBecauseNotLastInCycle=Naslednja situacija že obstaja. DisabledBecauseFinal=Ta situacija je končna. CantBeLessThanMinPercent=Napredek ne more biti manjši, kot je vrednost prejšnje situacije -NoSituations=Ni odprtih situacij +NoSituations=No open situations InvoiceSituationLast=Končni in skupni račun diff --git a/htdocs/langs/sl_SI/boxes.lang b/htdocs/langs/sl_SI/boxes.lang index 5f41943efda..4da188caeb2 100644 --- a/htdocs/langs/sl_SI/boxes.lang +++ b/htdocs/langs/sl_SI/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Zadnja naročila BoxLastContacts=Zadnji kontakti/naslovi BoxLastMembers=Zadnji člani BoxFicheInter=Zadnje intervencije -BoxCurrentAccounts=Stanje odprtih računov +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Prihodek od prodaje BoxTotalUnpaidCustomerBills=Skupaj neplačani računi kupca BoxTotalUnpaidSuppliersBills=Skupaj neplačani računi dobavitelju @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Zadnjih %s člani BoxTitleLastFicheInter=Zadnjih %s spremenjenih intervencij BoxTitleOldestUnpaidCustomerBills=Najstarejši %s neplačani računi strank BoxTitleOldestUnpaidSupplierBills=Najstarejši %s neplačani računi dobaviteljev -BoxTitleCurrentAccounts=Stanja odprtih računov +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Prihodek od prodaje BoxTitleTotalUnpaidCustomerBills=Neplačani računi strank BoxTitleTotalUnpaidSuppliersBills=Neplačani računi dobaviteljev diff --git a/htdocs/langs/sl_SI/categories.lang b/htdocs/langs/sl_SI/categories.lang index 3da509d2dd8..5abf55ed8e1 100644 --- a/htdocs/langs/sl_SI/categories.lang +++ b/htdocs/langs/sl_SI/categories.lang @@ -1,62 +1,62 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category -NoCategoryYet=No tag/category of this type created +Rubrique=Značka/kategorija +Rubriques=Značke/kategorije +categories=značke/kategorije +TheCategorie=Značka/kategorija +NoCategoryYet=Ni kreirana nobena značka/kategorija te vrste In=V AddIn=Dodaj v modify=spremeni Classify=Razvrsti -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Products/Services tags/categories area -SuppliersCategoriesArea=Suppliers tags/categories area -CustomersCategoriesArea=Customers tags/categories area -ThirdPartyCategoriesArea=Third parties tags/categories area -MembersCategoriesArea=Members tags/categories area -ContactsCategoriesArea=Contacts tags/categories area -MainCats=Main tags/categories +CategoriesArea=Področje značk/kategorij +ProductsCategoriesArea=Področje značk/kategorij proizvodov/storitev +SuppliersCategoriesArea=Področje značk/kategorij dobaviteljev +CustomersCategoriesArea=Področje značk/kategorij kupcev +ThirdPartyCategoriesArea=Področje značk/kategorij partnerjev +MembersCategoriesArea=Področje značk/kategorij članov +ContactsCategoriesArea=Področje značk/kategorij kontaktov +MainCats=Glavne značke/kategorije SubCats=Podkategorije CatStatistics=Statistika -CatList=List of tags/categories -AllCats=All tags/categories -ViewCat=View tag/category -NewCat=Add tag/category -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category +CatList=Seznam značk/kategorij +AllCats=Vse značke/kategorije +ViewCat=Glej značko/kategorijo +NewCat=Dodaj značko/kategorijo +NewCategory=Nova značka/kategorija +ModifCat=Spremeni značko/kategorijo +CatCreated=Kreirana značka/kategorija +CreateCat=Kreiraj značko/kategorijo +CreateThisCat=Kreiraj to značko/kategorijo ValidateFields=Potrdi polja NoSubCat=Ni podkategorije. SubCatOf=Podkategorija -FoundCats=Found tags/categories -FoundCatsForName=Tags/categories found for the name : -FoundSubCatsIn=Subcategories found in the tag/category -ErrSameCatSelected=You selected the same tag/category several times -ErrForgotCat=You forgot to choose the tag/category +FoundCats=Najdi značke/kategorije +FoundCatsForName=Najdena značka/kategorija za ime : +FoundSubCatsIn=Najdena podkategorija v znački/kategoriji +ErrSameCatSelected=Večkrat ste izbrali enako značko/kategorijo +ErrForgotCat=Pozabili ste izbrati značko/kategorijo ErrForgotField=Pozabili ste izbrati polje ErrCatAlreadyExists=To ime je že uporabljeno -AddProductToCat=Add this product to a tag/category? -ImpossibleAddCat=Impossible to add the tag/category -ImpossibleAssociateCategory=Impossible to associate the tag/category to +AddProductToCat=Želite dodati ta proizvod v značko/kategorijo? +ImpossibleAddCat=Ni možno dodati značke/kategorije +ImpossibleAssociateCategory=Ni možno vezati značke/kategorije na WasAddedSuccessfully=%s je bil uspešno dodan. -ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories -ProductHasNoCategory=This product/service is not in any tags/categories -SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories -MemberHasNoCategory=This member is not in any tags/categories -ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ObjectAlreadyLinkedToCategory=Element je že povezan na to značko/kategorijo. +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers tags/categories +MemberIsInCategories=This member is linked to following members tags/categories +ContactIsInCategories=This contact is linked to following contacts tags/categories +ProductHasNoCategory=Ta proizvod/storitev ni vključen v nobenoznačko/ kategorijo +SupplierHasNoCategory=Ta dobavitelj ni vključen v nobeno značko/kategorijo +CompanyHasNoCategory=This thirdparty is not in any tags/categories +MemberHasNoCategory=Ta član ni v nobeni znački/kategoriji +ContactHasNoCategory=Ta kontakt ni v nobeni znački/kategoriji +ClassifyInCategory=Add to tag/category NoneCategory=Nobena -NotCategorized=Without tag/category +NotCategorized=Brez značke/kategorije CategoryExistsAtSameLevel=Kategorija s to referenco že obstaja ReturnInProduct=Nazaj na kartico proizvodov/storitev ReturnInSupplier=Nazaj na kartico dobaviteljev @@ -64,22 +64,22 @@ ReturnInCompany=Nazaj na kartico kupcev/možnih strank ContentsVisibleByAll=Vsebina bo vidna vsem ContentsVisibleByAllShort=Vsebina vidna vsem ContentsNotVisibleByAllShort=Vsebina ni vidna vsem -CategoriesTree=Tags/categories tree -DeleteCategory=Delete tag/category -ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? -NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category -SuppliersCategoriesShort=Suppliers tags/categories -CustomersCategoriesShort=Customers tags/categories +CategoriesTree=Drevesna struktura značk/kategorij +DeleteCategory=Briši značko/kategorijo +ConfirmDeleteCategory=Ali zares želite izbrisati to značko/kategorijo? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? +NoCategoriesDefined=Ni določena nobena značka/kategorija +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category +SuppliersCategoriesShort=Značke/kategorije dobaviteljev +CustomersCategoriesShort=Značke/kategorije kupcev CustomersProspectsCategoriesShort=Kategorije kupcev/možnih strank -ProductsCategoriesShort=Products tags/categories -MembersCategoriesShort=Members tags/categories -ContactCategoriesShort=Contacts tags/categories +ProductsCategoriesShort=Značke/kategorije proizvodov +MembersCategoriesShort=Značke/kategorije članov +ContactCategoriesShort=Značke/kategorije kontaktov ThisCategoryHasNoProduct=Ta kategorija ne vsebuje nobenega proizvoda. ThisCategoryHasNoSupplier=Ta kategorija ne vsebuje nobenega proizvoda. ThisCategoryHasNoCustomer=Ta kategorija ne vsebuje nobenega kupca. @@ -88,23 +88,23 @@ ThisCategoryHasNoContact=Ta kategorija ne vsebuje nobenega kontakta. AssignedToCustomer=Dodeljeno kupcu AssignedToTheCustomer=Dodeljeno kupcu InternalCategory=Interna kategorija -CategoryContents=Tag/category contents -CategId=Tag/category id -CatSupList=List of supplier tags/categories -CatCusList=List of customer/prospect tags/categories -CatProdList=List of products tags/categories -CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact -CatSupLinks=Links between suppliers and tags/categories -CatCusLinks=Links between customers/prospects and tags/categories -CatProdLinks=Links between products/services and tags/categories -CatMemberLinks=Links between members and tags/categories -DeleteFromCat=Remove from tags/category +CategoryContents=Vsebina značke/kategorije +CategId=ID značke/kategorije +CatSupList=Seznam značk/kategorij dobaviteljev +CatCusList=Seznam značk/kategorij kupcev/možnih strank +CatProdList=Seznam značk/kategorij proizvodov +CatMemberList=Seznam značk/kategorij članov +CatContactList=List of contact tags/categories +CatSupLinks=Povezave med dobavitelji in značkami/kategorijami +CatCusLinks=Povezave med kupci/možnimi strankami in značkami/kategorijami +CatProdLinks=Povezave med proizvodi/storitvami in značkami/kategorijami +CatMemberLinks=Povezave med člani in značkami/kategorijami +DeleteFromCat=Odstrani iz značk/kategorije DeletePicture=Izbriši sliko ConfirmDeletePicture=Potrdi izbris slike? ExtraFieldsCategories=Koplementarni atributi -CategoriesSetup=Tags/categories setup -CategorieRecursiv=Link with parent tag/category automatically +CategoriesSetup=Nastavitev značk/kategorij +CategorieRecursiv=Avtomatsko poveži z nadrejeno značko/kategorijo CategorieRecursivHelp=Če je aktivirano, bo proizvod po dodajanju v podkategorijo povezan tudi z nadrejeno kategorijo AddProductServiceIntoCategory=Dodaj sledeči produkt/storitev -ShowCategory=Show tag/category +ShowCategory=Pokaži značko/kategorijo diff --git a/htdocs/langs/sl_SI/companies.lang b/htdocs/langs/sl_SI/companies.lang index 32202272217..ffd8490c63e 100644 --- a/htdocs/langs/sl_SI/companies.lang +++ b/htdocs/langs/sl_SI/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Možni absolutni popusti DiscountNone=Brez popusta Supplier=Dobavitelj CompanyList=Seznam podjetij -AddContact=Dodaj kontakt/naslov -AddContactAddress=Dodaj kontakt/naslov +AddContact=Ustvari kntakt +AddContactAddress=Ustvari naslov EditContact=Uredi osebo / naslov EditContactAddress=Uredi kontakt/naslov Contact=Kontakt @@ -268,8 +268,8 @@ ContactsAddresses=Kontakti/naslovi NoContactDefinedForThirdParty=Pri tem partnerju ni definiranega kontakta NoContactDefined=Pri tem partnerju ni definiranega kontakta DefaultContact=Privzeti kontakt -AddCompany=Dodaj podjetje -AddThirdParty=Dodaj partnerja +AddCompany=Ustvari podjetje +AddThirdParty=Ustvari partnerja DeleteACompany=Izbriši podjetje PersonalInformations=Osebni podatki AccountancyCode=Računovodska koda @@ -379,8 +379,8 @@ DeliveryAddressLabel=Oznaka naslova za dostavo DeleteDeliveryAddress=Izbriši naslov za dostavo ConfirmDeleteDeliveryAddress=Ali zares želite izbrisati ta naslov za dostavo? NewDeliveryAddress=Nov naslov za dostavo -AddDeliveryAddress=Dodaj naslov za dostavo -AddAddress=Dodaj naslov +AddDeliveryAddress=Ustvari naslov +AddAddress=Ustvari naslov NoOtherDeliveryAddress=Ni definiran alternativni naslov za dostavo SupplierCategory=Kategorija dobavitelja JuridicalStatus200=Neodvisno @@ -397,7 +397,7 @@ YouMustCreateContactFirst=Če želite dodati e-mail obveščanje, morate najprej ListSuppliersShort=Seznam dobaviteljev ListProspectsShort=Seznam možnih strank ListCustomersShort=Seznam kupcev -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Področje partnerjev in kontaktov LastModifiedThirdParties=Zadnjih %s spremenjenih partnerjev UniqueThirdParties=Skupno število partnerjev InActivity=Aktiven @@ -410,5 +410,10 @@ OutstandingBillReached=Dosežen maksimum za neplačan račun MonkeyNumRefModelDesc=Predlaga kodo kupca v formatu %syymm-nnnn in kodo dobavitelja v formatu %syymm-nnnn kjer je yy leto, mm mesec in nnnn zaporedna številka brez presledka, večja od 0. LeopardNumRefModelDesc=Koda kupca / dobavitelja po želji. Lahko jo kadarkoli spremenite. ManagingDirectors=Ime direktorja(ev) (CEO, direktor, predsednik...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +SearchThirdparty=Search third party +SearchContact=Išči kontakt +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/sl_SI/cron.lang b/htdocs/langs/sl_SI/cron.lang index e33e79c5442..401be606ef6 100644 --- a/htdocs/langs/sl_SI/cron.lang +++ b/htdocs/langs/sl_SI/cron.lang @@ -4,10 +4,10 @@ About = O programu CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Ukaz -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Naloga @@ -39,8 +39,8 @@ CronDtStart=Začetni datum CronDtEnd=Končni datum CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Metoda CronModule=Modul CronAction=Akcija @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Dodaj naloge -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parametri CronSaveSucess=Uspešno shranjeno CronNote=Komentar @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Informacija # Common -CronType=Tip naloge +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index ef110e2c6f0..4ee856b4e0b 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/sl_SI/incoterm.lang b/htdocs/langs/sl_SI/incoterm.lang new file mode 100644 index 00000000000..b54364b13fe --- /dev/null +++ b/htdocs/langs/sl_SI/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incotermi +IncotermSetupTitle1=Funkcija +IncotermSetupTitle2=Status +IncotermSetup=Nastavitev Incoterm modula +IncotermFunctionDesc=Aktivacija Incoterm funkcij (partner, ponudba, naročilo kupca, račun za kupca, odprema, naročilo pri dobavitelju) diff --git a/htdocs/langs/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index 05e51e48ef4..6873553b09e 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Strežnik za bazo podatkov – »Super uporabnik« dosto CheckToCreateDatabase=Označite kvadratek, če baza podatkov ne obstaja in jo je potrebno ustvariti.
V tem primeru morate vnesti uporabniško ime/geslo za račun »Super uporabnik« na dnu te strani. CheckToCreateUser=Označite kvadratek, če lastnik ne obstaja in ga je potrebno ustvariti.
V tem primeru morate izbrati njegovo uporabniško ime in geslo in vnesti tudi uporabniško ime/geslo za račun »Super uporabnik« na dnu te strani. Če ta kvadratek ni označen, morata obstajati lastnikova baza podatkov in njegovo geslo. Experimental=(eksperimentalno) +Deprecated=(deprecated) DatabaseRootLoginDescription=Uporabniško ime uporabnika omogoča kreiranje nove baze podatkov ali novega uporabnika, razen če vaša baza podatkov in vaše uporabniško ime že obstajata (na primer če gostujete pri spletnem ponudniku). KeepEmptyIfNoPassword=Pustite prazno, če uporabnik nima gesla (temu se izogibajte) SaveConfigurationFile=Shrani vrednosti @@ -156,7 +157,7 @@ LastStepDesc=Zadnji korak: Tukaj določite uporabniško ime in ActivateModule=Vključite modul %s ShowEditTechnicalParameters=Kliknite tukaj za prikaz/popravek naprednih parametrov (expertni način) WarningUpgrade=Pozor:\nAli ste najprej naredili varnostno kopijo baze podatkov ?\nTo je zelo priporočeno: na primer zaradi nekaterih hroščev v sistemu baze podatkov (na primer mysql verzija 5.5.40), lahko med tem postopkom izgubite nekatere podatke ali tabele, zato je priporočeno imeti celotno kopijo vaše baze podatkov pred začetkom migracije.\n\nKliknite OK za začetek procesa migracije... -ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug making data loss if you make structure change on your database, like it is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a higher fixed version (list of known bugged version: %s) +ErrorDatabaseVersionForbiddenForMigration=Verzija vaše baze podatkov je %s. Vsebuje kritičnega hrošča, ki povzroči izgubo podatkov, če naredite strukturno spremembo baze, kot jo zahteva postopek migracije. Zato migracija ne bo dovoljena, dokler ne posodobite baze na višjo stabilno verzijo (seznam znanih hroščastih verzij: %s) ######### # upgrade diff --git a/htdocs/langs/sl_SI/languages.lang b/htdocs/langs/sl_SI/languages.lang index cc0981f9726..49816362097 100644 --- a/htdocs/langs/sl_SI/languages.lang +++ b/htdocs/langs/sl_SI/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabščina Language_ar_SA=Arabščina +Language_bn_BD=Bengali Language_bg_BG=Bolgarski Language_bs_BA=Bosanski Language_ca_ES=Katalonščina @@ -21,9 +22,10 @@ Language_en_SA=Angleški (Savdska Arabija) Language_en_US=Angleščina (ZDA) Language_en_ZA=Angleščina (Južna Afrika) Language_es_ES=Španščina -Language_es_DO=Španščina (Dominikanska republika) Language_es_AR=Španščina (Argentina) Language_es_CL=Španščina (Čile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Španščina (Dominikanska republika) Language_es_HN=Španščina (Honduras) Language_es_MX=Španščina (Mehika) Language_es_PY=Španski (Paragvaj) @@ -45,7 +47,10 @@ Language_id_ID=Indonezijščina Language_is_IS=Islandščina Language_it_IT=Italijanščina Language_ja_JP=Japonščina +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korejski +Language_lo_LA=Lao Language_lt_LT=Litovska Language_lv_LV=Latvijski Language_mk_MK=Makedonski @@ -64,6 +69,7 @@ Language_sv_SV=Švedščina Language_sv_SE=Švedščina Language_sq_AL=Albanščina Language_sk_SK=Slovaški +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrajinski Language_uz_UZ=Uzbek diff --git a/htdocs/langs/sl_SI/loan.lang b/htdocs/langs/sl_SI/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/sl_SI/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/sl_SI/mails.lang b/htdocs/langs/sl_SI/mails.lang index 22bd3d694f3..9f3204674e3 100644 --- a/htdocs/langs/sl_SI/mails.lang +++ b/htdocs/langs/sl_SI/mails.lang @@ -77,7 +77,7 @@ CheckRead=Potrditev branja YourMailUnsubcribeOK=E-pošni naslov %s je uspešno odjavljen s seznama za pošiljanje MailtoEMail=Hiperovezava na email ActivateCheckRead=Dovoljena uporaba povezave za "Odjavo" -ActivateCheckReadKey=Podatki za kriptiran URL za funkciji "Potrditev branja" in "Odjava" +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=E-pošta poslana %s prejemnikom. XTargetsAdded=%s prejemnikov dodanih na ciljni seznam EachInvoiceWillBeAttachedToEmail=Ustvarjen bo dokument na osnovi privzete predloge in pripet k vsakemu elektronskemu sporočilu @@ -139,5 +139,5 @@ ListOfNotificationsDone=Seznam vseh poslanih e-poštnih obvestil MailSendSetupIs=Konfiguracij pošiljanja e-pošte je bila nastavljena na '%s'. Ta način ne more biti uporabljen za masovno pošiljanje. MailSendSetupIs2=Najprej morate kot administrator preko menija %sDomov - Nastavitve - E-pošta%s spremeniti parameter '%s' za uporabo načina '%s'. V tem načinu lahko odprete nastavitve SMTP strežnika, ki vam jih omogoča vaš spletni oprerater in uporabite masovno pošiljanje. MailSendSetupIs3=Če imate vprašanja o nastavitvi SMTP strežnika, lahko vprašate %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 +YouCanAlsoUseSupervisorKeyword=Lahko tudi dodate ključno besedo __SUPERVISOREMAIL__ da bodo emaili poslani nadzorniku (deluje samo, če je email definiran za tega nadzornika) +NbOfTargetedContacts=Trenutno število emailov ciljnih kontaktov diff --git a/htdocs/langs/sl_SI/main.lang b/htdocs/langs/sl_SI/main.lang index 4dd37fd72d9..842c17a0bd3 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Cena enote (neto) UnitPriceTTC=Cena enote PriceU=C.E. PriceUHT=C.E. (neto) -AskPriceSupplierUHT=Zahtevan P.U. HT +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=C.E. Amount=Znesek AmountInvoice=Znesek računa @@ -413,6 +413,8 @@ Qty=Kol. ChangedBy=Spremenil ApprovedBy=Odobril ApprovedBy2=Odobril (drugi nivo) +Approved=Approved +Refused=Refused ReCalculate=Ponovno izračunaj ResultOk=Uspeh ResultKo=Napaka @@ -421,7 +423,7 @@ Reportings=Poročila Draft=Osnutek Drafts=Osnutki Validated=Potrjen -Opened=Odprt +Opened=Open New=Nov Discount=Popust Unknown=Neznan @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Povezano z določenim kontaktom uporabnika DeleteAFile=Izbriši datoteko ConfirmDeleteAFile=Ali zares želite izbrisati datoteko NoResults=Ni rezultata +SystemTools=System tools ModulesSystemTools=Orodja za module Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Prikaži transakcijo GoIntoSetupToChangeLogo=Pojdite na Domov - Nastavitve - Podjetje za spremembo logotipa oz. na Domov - Nastavitve - Prikaz za njegovo skritje. Deny=Zavrni Denied=Zavrnjen +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Ponedeljek Tuesday=Torek @@ -732,3 +738,4 @@ ShortThursday=Č ShortFriday=P ShortSaturday=S ShortSunday=N +SelectMailModel=Select email template diff --git a/htdocs/langs/sl_SI/orders.lang b/htdocs/langs/sl_SI/orders.lang index 297489f6cf9..74dad31169d 100644 --- a/htdocs/langs/sl_SI/orders.lang +++ b/htdocs/langs/sl_SI/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Naročilo pri dobavitelju SuppliersOrders=Naročila pri dobaviteljih SuppliersOrdersRunning=Trenutna naročila pri dobaviteljih CustomerOrder=Naročilo kupca -CustomersOrders=Naročila kupcev -CustomersOrdersRunning=Trenutna naročila kupcev -CustomersOrdersAndOrdersLines=Naročila kupcev in vrstice naročil -OrdersToValid=Naročila kupcev za potrditev -OrdersToBill=Naročila kupcev za fakturiranje -OrdersInProcess=Naročila kupcev v obdelavi -OrdersToProcess=Naročila kupcev za obdelavo -SuppliersOrdersToProcess=Naročila pri dobaviteljih za obdelavo +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Preklicano StatusOrderDraftShort=Osnutek StatusOrderValidatedShort=Potrjeno @@ -75,8 +75,9 @@ AddToMyOrders=Dodaj mojim naročilom AddToOtherOrders=Dodaj ostalim naročilom AddToDraftOrders=Dodaj osnutku naročila ShowOrder=Prikaži naročilo -NoOpenedOrders=Ni odprtih naročil -NoOtherOpenedOrders=Ni drugih odprtih naročil +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Ni osnutkov naročil OtherOrders=Ostala naročila LastOrders=Zadnjih %s naročil kupca diff --git a/htdocs/langs/sl_SI/other.lang b/htdocs/langs/sl_SI/other.lang index fb069d54112..ddea7bac42e 100644 --- a/htdocs/langs/sl_SI/other.lang +++ b/htdocs/langs/sl_SI/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Potrjena intervencija Notify_FICHINTER_SENTBYMAIL=Intervencija poslana po EMailu Notify_BILL_VALIDATE=Potrjen račun Notify_BILL_UNVALIDATE=Račun za kupca ni potrjen +Notify_ORDER_SUPPLIER_VALIDATE=Naročilo pri dobavitelju je shranjeno Notify_ORDER_SUPPLIER_APPROVE=Odobreno naročilo pri dobavitelju Notify_ORDER_SUPPLIER_REFUSE=Zavrnjeno naročilo pri dobavitelju Notify_ORDER_VALIDATE=Potrjeno naročilo kupca @@ -203,6 +204,7 @@ ClickHereToGoTo=K.iknite tukaj za vstop v %s YouMustClickToChange=Vendar morate najprej klikniti na naslednji link za potrditev spremembe gesla ForgetIfNothing=Če niste zahtevali te spremembe, enostavno pozabite na ta email. Vaši prijavni podatki so varno shranjeni. IfAmountHigherThan=Če je znesek večji od %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Dodaj vnos v koledar %s diff --git a/htdocs/langs/sl_SI/printing.lang b/htdocs/langs/sl_SI/printing.lang new file mode 100644 index 00000000000..838abdcdf81 --- /dev/null +++ b/htdocs/langs/sl_SI/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Nastavitev sistema za direktno tiskanje +PrintingDesc=Ta modul doda gumb za direktno pošiljanje dokumenta na tiskalnik (brez odpiranja dokumenta v aplikaciji) v različnih modulih. +ModuleDriverSetup=Nastavitev gonilnika modula +PrintingDriverDesc=Konfiguracija spremenljivk za gonilnik tiskalnika +ListDrivers=Seznam gonilnikov +PrintTestDesc=Seznam tiskalnikov. +FileWasSentToPrinter=Datoteka %s je bila poslana na tiskalnik +NoActivePrintingModuleFound=Ni aktivnega modula za tiskanje dokumenta +PleaseSelectaDriverfromList=Prosimo, izberite gonilnik s seznama. +SetupDriver=Nastavitev gonilnika +TestDriver=Test +TargetedPrinter=Ciljni tiskalnik +UserConf=Nastavitev po uporabniku +PRINTGCP=Tiskanje v oblaku Google +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/sl_SI/productbatch.lang b/htdocs/langs/sl_SI/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/sl_SI/productbatch.lang +++ b/htdocs/langs/sl_SI/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index 2a861958aca..62d68566acc 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -23,14 +23,14 @@ ProductOrService=Proizvod ali storitev ProductsAndServices=Proizvodi in storitve ProductsOrServices=Proizvodi ali storitve ProductsAndServicesOnSell=Proizvodi in storitve za prodajo ali nabavo -ProductsAndServicesNotOnSell=Proizvodi in storitve, ki se ne prodajajo več +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Statistika proizvodov in storitev ProductsStatistics=Statistika proizvodov -ProductsOnSell=Proizvodi za prodajo ali nabavo -ProductsNotOnSell=Proizvodi, ki se ne prodajajo ali nabavljajo več +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Proizvodi za prodajo ali nabavo ServicesOnSell=Storitve za prodajo ali za nakup -ServicesNotOnSell=Storitve, ki se ne prodajajo več +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Storitve za prodajo ali za nabavo InternalRef=Interna referenca LastRecorded=Zadnji vneseni proizvodi/storitve za prodajo @@ -44,7 +44,7 @@ CardProduct1=Kartica storitve CardContract=Kartica pogodbe Warehouse=Skladišče Warehouses=Skladišča -WarehouseOpened=Skladišče odprto +WarehouseOpened=Warehouse open WarehouseClosed=Skladišče zaprto Stock=Zaloga Stocks=Zaloge @@ -71,21 +71,21 @@ SellingPriceTTC=Prodajne cene (z DDV) PublicPrice=Javna cena CurrentPrice=Trenutna cena NewPrice=Nova cena -MinPrice=Minimalna Prodajna cena -MinPriceHT=Minimalna prodajna cena (brez DDV) -MinPriceTTC=Minimalna prodajna cena (z DDV) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Prodajna cena ne more biti nižja od minimalne za ta proizvod (%s brez DDV). To sporočilo se pojavi lahko tudi, če vnesete prevelik popust ContractStatus=Status pogodbe ContractStatusClosed=Zaprta -ContractStatusRunning=V obdelavi +ContractStatusRunning=Ongoing ContractStatusExpired=Pretečena -ContractStatusOnHold=V mirovanju -ContractStatusToRun=Zagnana -ContractNotRunning=Ta pogodba miruje +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Proizvod z referenco %s že obstaja. ErrorProductBadRefOrLabel=Napačna vrednost reference ali naziva. ErrorProductClone=Prišlo je do težave pri poskusu kloniranja proizvoda ali storitve. -ErrorPriceCantBeLowerThanMinPrice=Napaka, cena ne mora biti nižja od minimalne cene. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Dobavitelji SupplierRef=Referenca dobavitelja ShowProduct=Prikaži proizvod @@ -117,12 +117,12 @@ ServiceLimitedDuration=Če ima proizvod storitev z omejenim trajanjem: MultiPricesAbility=Več nivojev cen za proizvode/storitve MultiPricesNumPrices=Število cen MultiPriceLevelsName=Kategorije cen -AssociatedProductsAbility=Vklopi možnost navidezne sestave izdelka +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Sestavljen izdelek -AssociatedProductsNumber=Število izdelkov, ki sestavljajo navidezni sestavljeni izdelek +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Število nadrejenih sestavljenih izdelkov -IfZeroItIsNotAVirtualProduct=Če je 0, ta izdelek ni navidezno sestavljen -IfZeroItIsNotUsedByVirtualProduct=Če je 0, ta izdelek ni uporabljen v nobenem navideznem sestavljenem izdelku +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Poveži Translation=Prevod KeywordFilter=Filter ključnih besed @@ -131,7 +131,7 @@ ProductToAddSearch=Iskanje proizvoda za dodajanje AddDel=Dodaj/briši Quantity=Količina NoMatchFound=Ni ujemanja -ProductAssociationList=Seznam odvisnih proizvodov/storitev: ime proizvoda/storitve (količina, na katero se nanaša) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Seznam zavitkov izdelkov / storitev, pri tem izdelku, kot sestavnega dela ErrorAssociationIsFatherOfThis=Eden od izbranih proizvodov je nadrejen trenutnemu proizvodu DeleteProduct=Izbriši proizvod/storitev @@ -179,16 +179,41 @@ CloneProduct=Kloniraj proizvod ali storitev ConfirmCloneProduct=Ali zares želite klonirati ta proizvod ali storitev %s ? CloneContentProduct=Klonirajte vse osnovne podatke proizvoda/storitve ClonePricesProduct=Klonirajte osnovne podatke in cene -CloneCompositionProduct=Kloniraj sestavljen izdelek/storitev +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Ta proizvod je rabljen NewRefForClone=Ref. novega proizvoda/storitve -CustomerPrices=Cene za kupce -SuppliersPrices=Nabavne cene -SuppliersPricesOfProductsOrServices=Cene dobaviteljev (proizvodov ali storitev) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Carinska tarifa CountryOrigin=Država porekla HiddenIntoCombo=Skrito v izbranem seznamu Nature=Narava +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Predloga za referenco proizvoda ServiceCodeModel=Predloga za referenco storitve AddThisProductCard=Ustvari kartico proizvoda @@ -214,7 +239,7 @@ CostPmpHT=Neto skupna VWAP ProductUsedForBuild=Lastna poraba za proizvodnjo ProductBuilded=Zaključena proizvodnja ProductsMultiPrice=Večcenovni proizvod -ProductsOrServiceMultiPrice=Cene za kupce (proizvodov ali storitev, različne cene) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Četrtletni prihodek prooizvoda po VWAP ServiceSellByQuarterHT=Četrtletni prihodek storitev po VWAP Quarter1=1. četrtletje @@ -237,33 +262,35 @@ ResetBarcodeForAllRecords=Določite vrednost črtnih kod za vse zapise (s tem bo PriceByCustomer=Različne cene za vsakega kupca PriceCatalogue=Enolična cena po proizvodu/storitvi PricingRule=Pravila za cene za kupce -AddCustomerPrice=Dodaj ceno po strankah +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Določi enako ceno za podružnice stranke PriceByCustomerLog=Cena po imenu stranke -MinimumPriceLimit=Minimalna cena ne more biti nižja od %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimalna priporočena cena je : %s PriceExpressionEditor=Urejevalnik prikaza cene PriceExpressionSelected=Izbran prikaz cene PriceExpressionEditorHelp1="cena = 2 + 2" ali "2 + 2" za nastavitev cene. Uporabite ; za ločitev izrazov -PriceExpressionEditorHelp2=You can access ExtraFields with variables like #extrafield_myextrafieldkey# and global variables with #global_mycode# +PriceExpressionEditorHelp2=Lahko dostopate do EkstraPolj s spremenljivkami kot #extrafield_myextrafieldkey# in globalnimi spremenljivkami kot #global_mycode# PriceExpressionEditorHelp3=Tako za proizvode/storitve, kot za nabavne cene, so na voljo naslednje spremenljivke:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# PriceExpressionEditorHelp4=Samo za cene proizvodov/storitev: #supplier_min_price#
Samo za nabavne cene: #supplier_quantity# in #supplier_tva_tx# -PriceExpressionEditorHelp5=Available global values: +PriceExpressionEditorHelp5=Globalne vrednosti, ki so na voljo: PriceMode=Način cene PriceNumeric=Številka -DefaultPrice=Default price -ComposedProductIncDecStock=Increase/Decrease stock on parent change -ComposedProduct=Sub-product -MinSupplierPrice=Minimum supplier price -DynamicPriceConfiguration=Dynamic price configuration -GlobalVariables=Global variables -GlobalVariableUpdaters=Global variable updaters -GlobalVariableUpdaterType0=JSON data -GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, -GlobalVariableUpdaterHelpFormat0=format is {"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 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=Last updated -CorrectlyUpdated=Correctly updated +DefaultPrice=Privzeta cena +ComposedProductIncDecStock=Povečanje/znmanjšanje zaloge pri spremembi nadrejenega +ComposedProduct=Pod-proizvod +MinSupplierPrice=Najnižja cena dobavitelja +DynamicPriceConfiguration=Dimnamična konfiguracija cene +GlobalVariables=Globalne spremenljivke +GlobalVariableUpdaters=Posodobitve globalnih spremenljivk +GlobalVariableUpdaterType0=JSON podatki +GlobalVariableUpdaterHelp0=Razčleni JSON podatke iz specifičnega URL, VALUE določa lokacijo ustrezne vrednosti, +GlobalVariableUpdaterHelpFormat0=format je {"URL": "http://example.com/urlofjson", "VALUE": "array1,array2,targetvalue"} +GlobalVariableUpdaterType1=Podatki spletnih storitev +GlobalVariableUpdaterHelp1=Razčleni podatke spletnih storitve iz specifičnega URL, NS doliča prostor za ime, VALUE določa lokacijo ustreznih podatkov, DATA mora vsebovati podatke za pošiljanje in METHOD je metoda za WS klicanje +GlobalVariableUpdaterHelpFormat1=format je {"URL": "http://example.com/urlofws", "VALUE": "array,targetvalue", "NS": "http://example.com/urlofns", "METHOD": "myWSMethod", "DATA": {"your": "data, "to": "send"}} +UpdateInterval=Interval posodobitve (minute) +LastUpdated=Nazadnje posodobljeno +CorrectlyUpdated=Pravilno posodobljeno +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index 8ccd9ea2e49..62e2e1f2997 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=To pogled predstavlja vse projekte, za katere imate dovoljenj ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ta pogled predstavlja vse projekte (vaše uporabniško dovoljenje vam omogoča ogled vseh). MyTasksDesc=Ta pogled je omejen na projekte ali naloge, za katere ste kontaktna oseba (ne glede na vrsto). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Ta pogled predstavlja vse projekte in naloge, za katere imate dovoljenje za branje. TasksDesc=Ta pogled predstavlja vse projekte in naloge (vaše uporabniško dovoljenje vam omogoča ogled vseh). AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Seznam projektov ShowProject=Prikaži projekt SetProject=Nastavi projekt NoProject=Nimate definiranega ali lastnega projekta -NbOpenTasks=Število odprtih nalog +NbOpenTasks=Nb of open tasks NbOfProjects=Število projektov TimeSpent=Porabljen čas TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=Uporabnik TaskTimeNote=Beležka TaskTimeDate=Datum -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=Nov porabljen čas MyTimeSpent=Moj porabljen čas @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Seznam intervencij, povezanih s projektom ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Seznam aktivnosti, povezanih s projektom +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivnosti na projektu v tem tednu ActivityOnProjectThisMonth=Aktivnosti na projektu v tem mesecu ActivityOnProjectThisYear=Aktivnosti na projektu v tem letu @@ -95,7 +96,7 @@ DeleteATimeSpent=Izbrišite porabljen čas ConfirmDeleteATimeSpent=Ali zares želite izbrisati porabljen čas? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Izvori +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekti, ki so povezani s tem partnerjem NoTasks=Ni nalog za ta projekt LinkedToAnotherCompany=Povezane z drugimi partnerji @@ -139,8 +140,12 @@ ProjectReferers=Referenčni objekti SearchAProject=Iskanje projekta ProjectMustBeValidatedFirst=Projekt mora biti najprej potrjen ProjectDraft=Osnutek projekta -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/sl_SI/propal.lang b/htdocs/langs/sl_SI/propal.lang index 5068047ba25..b080d9c1230 100644 --- a/htdocs/langs/sl_SI/propal.lang +++ b/htdocs/langs/sl_SI/propal.lang @@ -4,7 +4,7 @@ Proposal=Komercialna ponudba ProposalShort=Ponudba ProposalsDraft=Osnutek komercialnih ponudb ProposalDraft=Osnutek komercialne ponudbe -ProposalsOpened=Odprte komercialne ponudbe +ProposalsOpened=Open commercial proposals Prop=Komercialne ponudbe CommercialProposal=Komercialna ponudba CommercialProposals=Komercialne ponudbe @@ -16,7 +16,7 @@ Prospect=Možna stranka ProspectList=Seznam možnih strank DeleteProp=Izbriši komercialno ponudbo ValidateProp=Potrdi komercialno ponudbo -AddProp=Dodaj ponudbo +AddProp=Ustvari predlog ConfirmDeleteProp=Ali zares želite izbrisati to komercialno ponudbo ? ConfirmValidateProp=Ali zares želite potrditi to komercialno ponudbo? LastPropals=Zadnjih %s ponudb @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Znesek po mesecih(brez DDV) NbOfProposals=Število komercialnih ponudb ShowPropal=Prikaži ponudbo PropalsDraft=Osnutki -PropalsOpened=Odprte +PropalsOpened=Open PropalsNotBilled=Zaključene, ne fakturirane PropalStatusDraft=Osnutek (potrebno potrditi) PropalStatusValidated=Potrjena (ponudba je odprta) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Nepodpisana (zaprta) PropalStatusBilled=Fakturirana PropalStatusDraftShort=Osnutek PropalStatusValidatedShort=Potrjena -PropalStatusOpenedShort=Odprta +PropalStatusOpenedShort=Open PropalStatusClosedShort=Zaprta PropalStatusSignedShort=Podpisana PropalStatusNotSignedShort=Nepodpisana @@ -51,12 +51,10 @@ PropalsToClose=Komercialne ponudbe, ki jih je potrebno zapreti PropalsToBill=Podpisane komercialne ponudbe, ki jih je potrebno fakturirati ListOfProposals=Seznam komercialnih ponudb ActionsOnPropal=Aktivnosti v zvezi s ponudbo -NoOpenedPropals=Komercialne ponudbe, ki niso odprte -NoOtherOpenedPropals=Ni drugih odprtih komercialnih ponudb +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Referenca komercialne ponudbe SendPropalByMail=Pošlji komercialno ponudbo po pošti -FileNotUploaded=Datoteka ni bila prenesena -FileUploaded=Datoteka je bila uspešno prenesena AssociatedDocuments=Dokumenti, povezani s ponudbo: ErrorCantOpenDir=Ne morem odpreti mape DatePropal=Datum ponudbe @@ -100,3 +98,4 @@ DocModelJauneDescription=Vzorec ponudbe Jaune DefaultModelPropalCreate=Ustvarjanje privzetega modela DefaultModelPropalToBill=Privzeta predloga za zaključek ponudbe (za fakturiranje) DefaultModelPropalClosed=Privzeta predloga za zaključek ponudbe (nefakturirana) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/sl_SI/salaries.lang b/htdocs/langs/sl_SI/salaries.lang index 6ac11760aea..5dd6dd5b250 100644 --- a/htdocs/langs/sl_SI/salaries.lang +++ b/htdocs/langs/sl_SI/salaries.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - users -SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accountancy code for salaries payments -SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Računovodska koda za izplačilo plač +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Računovodska koda za finančno bremenitev Salary=Plača Salaries=Plače Employee=Zaposleni @@ -8,6 +8,8 @@ NewSalaryPayment=Novo izplačilo plače SalaryPayment=Izplačilo plače SalariesPayments=Izplačila plač ShowSalaryPayment=Prikaži izplačilo plač -THM=Average hourly price -TJM=Average daily price -CurrentSalary=Current salary +THM=Povprečna urna postavka +TJM=Povprečna dnevna postavka +CurrentSalary=Trenutna plača +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/sl_SI/sendings.lang b/htdocs/langs/sl_SI/sendings.lang index 21aa1dc06bf..58b077d5d93 100644 --- a/htdocs/langs/sl_SI/sendings.lang +++ b/htdocs/langs/sl_SI/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Enostaven vzorec dokumenta DocumentModelMerou=Vzorec dokumenta Merou A5 WarningNoQtyLeftToSend=Pozor, noben proizvod ne čaka na pošiljanje. StatsOnShipmentsOnlyValidated=Statistika na osnovi potrjenih pošiljk. Uporabljen je datum potrditve pošiljanja (planiran datum dobave ni vedno znan) -DateDeliveryPlanned=Planiran datum dobave +DateDeliveryPlanned=Planned date of delivery DateReceived=Datum prejema dobave SendShippingByEMail=Pošlji odpremnico po e-mailu SendShippingRef=Oddaja pošiljke %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/sl_SI/stocks.lang b/htdocs/langs/sl_SI/stocks.lang index d0bd66253de..272b7f4fc82 100644 --- a/htdocs/langs/sl_SI/stocks.lang +++ b/htdocs/langs/sl_SI/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Skladišča NewWarehouse=Novo skladišče / skladiščni prostor WarehouseEdit=Uredi skladišče MenuNewWarehouse=Novo skladišče -WarehouseOpened=Skladišče odprto +WarehouseOpened=Warehouse open WarehouseClosed=Skladišče zaprto WarehouseSource=Izvorno skladišče WarehouseSourceNotDefined=Ni definirano skladišče, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Izberite skladišče uporabiti za zmanjšanje za SelectWarehouseForStockIncrease=Izberite skladišče uporabiti za povečanje zalog NoStockAction=Ni aktivnosti zaloge LastWaitingSupplierOrders=Naročila, ki čakajo na prevzem -DesiredStock=Želena zaloga +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Za naročiti Replenishment=Obnavljanje ReplenishmentOrders=Naročila za obnavljanje -VirtualDiffersFromPhysical=Glede na opcije povečanja/zmanjšanja zaloge, se lahko fizična in virtualna zaloga (fizična + trenutna naročila) razlikujeta +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Privzeto uporabljaj virtualno zalogo namesto fizične za funkcijo obnovitve zaloge UseVirtualStock=Uporabi virtualno zalogo UsePhysicalStock=Uporabi fizično zalogo -CurentSelectionMode=Trenutno izbran način +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtualna zaloga CurentlyUsingPhysicalStock=Fizična zaloga RuleForStockReplenishment=Pravilo za obnavljanje zalog @@ -112,8 +113,8 @@ AlertOnly= Samo opozorila WarehouseForStockDecrease=Skladiščee %s bo uporabljeno za zmanjšanje zaloge WarehouseForStockIncrease=Skladišče %s bo uporabljeno za povečanje zaloge ForThisWarehouse=Za to skladišče -ReplenishmentStatusDesc=Seznam vseh proizvodov, ki imajo nižje stanje zaloge od želenega (ali nižje od opozorilne vrednosti, če je kvadratek "samo opozorilo" odkljukan) in predlog za kreiranje naročila pri dobavitelju za dopolnitev razlike. -ReplenishmentOrdersDesc=To je seznam vseh odprih naročil pri dobaviteljih vključno s prednaročenimi proizvodi. Vidna so samo odprta naročila s prednaročenimi proizvodi, ki lahko vplivajo na stanje zaloge. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Obnovitve NbOfProductBeforePeriod=Količina proizvoda %s na zalogi pred izbranim obdobjem (< %s) NbOfProductAfterPeriod=Količina proizvoda %s na zalogi po izbranem obdobju (> %s) @@ -124,16 +125,16 @@ RecordMovement=Zapis prenešen ReceivingForSameOrder=Prevzem tega naročila StockMovementRecorded=Zapisan premik zaloge RuleForStockAvailability=Pravila za zahtevane zaloge -StockMustBeEnoughForInvoice=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na račun -StockMustBeEnoughForOrder=Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na naročilo -StockMustBeEnoughForShipment= Nivo zaloge mora biti dovolj visok za dodajanje proizvoda/storitve na odpremnico +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Nalepka gibanja InventoryCode=Koda gibanja ali zaloge IsInPackage=Vsebina paketa ShowWarehouse=Prikaži skladišče -MovementCorrectStock=Popravek količine zaloge za proizvod %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Skladiščni prenos proizvoda %s v drugo skladišče -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Ko je vključen modul "produktni lot", mora biti tukaj določeno izvorno skladišče. Uporablja se za seznam lotov/serijskih številk, ki so na voljo za proizvod, ki za premik zahteva lot/serijsko številko. Če želite poslati proizvode iz različnih skladišč, morate narediti pošiljko v več korakih. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Koda zaloge/premika -NoPendingReceptionOnSupplierOrder=Nobeno odprto naročilo pri dobavitelju ne čaka na dobavo +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=Ta lot/serijska številka (%s) že obstaja, vendar z drugim datumom vstopa ali izstopa (najden je %s, vi pa ste vnesli %s). diff --git a/htdocs/langs/sl_SI/suppliers.lang b/htdocs/langs/sl_SI/suppliers.lang index 76afb645b51..1e869ec570b 100644 --- a/htdocs/langs/sl_SI/suppliers.lang +++ b/htdocs/langs/sl_SI/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Pošlji dobaviteljem ListOfSupplierOrders=Seznam naročil dobaviitelja MenuOrdersSupplierToBill=Zaračunavanje naročil dobavitelja NbDaysToDelivery=Zakasnitev dobave v dnevih -DescNbDaysToDelivery=Največja zakasnitev je prikazana med seznami naročenih proizvodov +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Uporabi dvojno potrjevanje (drugo potrditev lahko izvrši katerikoli uporabnik z dodeljenim dovoljenjem) diff --git a/htdocs/langs/sl_SI/trips.lang b/htdocs/langs/sl_SI/trips.lang index 25ec423814a..2329c4bf039 100644 --- a/htdocs/langs/sl_SI/trips.lang +++ b/htdocs/langs/sl_SI/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Seznam stroškov NewTrip=New expense report CompanyVisited=Obiskano podjetje/ustanova @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/sl_SI/users.lang b/htdocs/langs/sl_SI/users.lang index 1f41a6282af..922c75c9244 100644 --- a/htdocs/langs/sl_SI/users.lang +++ b/htdocs/langs/sl_SI/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Odstrani iz skupine PasswordChangedAndSentTo=Geslo spremenjeno in poslano %s. PasswordChangeRequestSent=Zahtevek za spremembo gesla %s poslan %s. MenuUsersAndGroups=Uporabniki & Skupine +MenuMyUserCard=My user card LastGroupsCreated=Zadnjih %s kreiranih skupin LastUsersCreated=Zadnjih %s kreiranih uporabnikov ShowGroup=Prikaži skupino diff --git a/htdocs/langs/sl_SI/workflow.lang b/htdocs/langs/sl_SI/workflow.lang index 523db79b632..6c089e1b995 100644 --- a/htdocs/langs/sl_SI/workflow.lang +++ b/htdocs/langs/sl_SI/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Nastavitev modula poteka dela -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Za aktiviran modul ni na voljo poteka dela, ki bi ga lahko spreminjali -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Po podpisu komercialne ponudbe avtomatsko ustvari naročilo kupca -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Po podpisu komercialne ponudbe avtomatsko ustvari račun za kupca -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Po potrditvi pogodbe avtomatsko ustvari račun za kupca -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Po zaključku naročila kupca avtomatsko ustvari račun za kupca +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Označi povezano izvorno ponudbo kot "zaračunano", ko naročilo kupca dobi status "plačano" descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Označi povezano izvorno naročilo (ali več naročil) kupca kot "zaračunano", ko račun za kupca dobi status "plačano" descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Označi povezano izvorno naročilo (ali več naročil) kupca kot "zaračunano", ko naročilo kupca dobi status "potrjeno" diff --git a/htdocs/langs/sq_AL/accountancy.lang b/htdocs/langs/sq_AL/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/sq_AL/accountancy.lang +++ b/htdocs/langs/sq_AL/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/sq_AL/banks.lang b/htdocs/langs/sq_AL/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/sq_AL/banks.lang +++ b/htdocs/langs/sq_AL/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sq_AL/boxes.lang b/htdocs/langs/sq_AL/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/sq_AL/boxes.lang +++ b/htdocs/langs/sq_AL/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/sq_AL/categories.lang b/htdocs/langs/sq_AL/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/sq_AL/categories.lang +++ b/htdocs/langs/sq_AL/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/sq_AL/companies.lang b/htdocs/langs/sq_AL/companies.lang index 5580d87b517..ad9980cb055 100644 --- a/htdocs/langs/sq_AL/companies.lang +++ b/htdocs/langs/sq_AL/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/sq_AL/cron.lang b/htdocs/langs/sq_AL/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/sq_AL/cron.lang +++ b/htdocs/langs/sq_AL/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/sq_AL/incoterm.lang b/htdocs/langs/sq_AL/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/sq_AL/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/sq_AL/languages.lang b/htdocs/langs/sq_AL/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/sq_AL/languages.lang +++ b/htdocs/langs/sq_AL/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/sq_AL/loan.lang b/htdocs/langs/sq_AL/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/sq_AL/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/sq_AL/mails.lang b/htdocs/langs/sq_AL/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/sq_AL/mails.lang +++ b/htdocs/langs/sq_AL/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index ce5849c43ba..8dcf8f3017c 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/sq_AL/orders.lang b/htdocs/langs/sq_AL/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/sq_AL/orders.lang +++ b/htdocs/langs/sq_AL/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/sq_AL/other.lang b/htdocs/langs/sq_AL/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/sq_AL/other.lang +++ b/htdocs/langs/sq_AL/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/sq_AL/printing.lang b/htdocs/langs/sq_AL/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/sq_AL/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/sq_AL/productbatch.lang b/htdocs/langs/sq_AL/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/sq_AL/productbatch.lang +++ b/htdocs/langs/sq_AL/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/sq_AL/propal.lang b/htdocs/langs/sq_AL/propal.lang index 8970d1eb2df..d10dbb15122 100644 --- a/htdocs/langs/sq_AL/propal.lang +++ b/htdocs/langs/sq_AL/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -16,7 +16,7 @@ Prospect=Prospect ProspectList=Prospect list DeleteProp=Delete commercial proposal ValidateProp=Validate commercial proposal -AddProp=Add proposal +AddProp=Create proposal ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? LastPropals=Last %s proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,12 +51,10 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail -FileNotUploaded=The file was not uploaded -FileUploaded=The file was successfully uploaded AssociatedDocuments=Documents associated with the proposal: ErrorCantOpenDir=Can't open directory DatePropal=Date of proposal @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/sq_AL/salaries.lang b/htdocs/langs/sq_AL/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/sq_AL/salaries.lang +++ b/htdocs/langs/sq_AL/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/sq_AL/sendings.lang b/htdocs/langs/sq_AL/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/sq_AL/sendings.lang +++ b/htdocs/langs/sq_AL/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/sq_AL/stocks.lang b/htdocs/langs/sq_AL/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/sq_AL/stocks.lang +++ b/htdocs/langs/sq_AL/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/sq_AL/suppliers.lang b/htdocs/langs/sq_AL/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/sq_AL/suppliers.lang +++ b/htdocs/langs/sq_AL/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/sq_AL/trips.lang b/htdocs/langs/sq_AL/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/sq_AL/trips.lang +++ b/htdocs/langs/sq_AL/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/sq_AL/users.lang b/htdocs/langs/sq_AL/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/sq_AL/users.lang +++ b/htdocs/langs/sq_AL/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/sq_AL/workflow.lang b/htdocs/langs/sq_AL/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/sq_AL/workflow.lang +++ b/htdocs/langs/sq_AL/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/sv_SE/accountancy.lang b/htdocs/langs/sv_SE/accountancy.lang index a0f32ed0aa5..eeb08266f77 100644 --- a/htdocs/langs/sv_SE/accountancy.lang +++ b/htdocs/langs/sv_SE/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Redovisning Globalparameters=Globala parametrar @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Längd av tredjepartskonton ACCOUNTING_SELL_JOURNAL=Sell ​​tidskrift ACCOUNTING_PURCHASE_JOURNAL=Bara tidskrift -ACCOUNTING_BANK_JOURNAL=Bank tidskrift -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Diverse tidskrift +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social tidskrift ACCOUNTING_ACCOUNT_TRANSFER_CASH=Redogörelse för överföring diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 789630e2262..a3377d8c1ef 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Meny för användare LangFile=Fil. Lang System=System SystemInfo=Systeminformation -SystemTools=Systemverktyg SystemToolsArea=Systemverktyg område SystemToolsAreaDesc=Detta område ger förvaltningen funktioner. Använd menyn för att välja den funktion du letar efter. Purge=Rensa @@ -232,8 +231,8 @@ Security=Säkerhet Passwords=Lösenord DoNotStoreClearPassword=Har ingen butik tydlig lösenord i databasen, men endast lagra krypterade värde (Aktiverad rekommenderas) MainDbPasswordFileConfEncrypted=Databas lösenord krypterat i conf.php (Aktiverad rekommenderas) -InstrucToEncodePass=För att få lösenord kodad på conf.php filen, byt ut raden
$ Dolibarr_main_db_pass ="..."
av
$ Dolibarr_main_db_pass = "krypterade: %s" -InstrucToClearPass=För att få lösenord avkodas (klar) i conf.php filen, byt ut raden
$ Dolibarr_main_db_pass = "krypterad :..."
av
$ Dolibarr_main_db_pass = "%s" +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=Skydd av genererade pdf-filer (Aktiverad rekommenderas inte, raster massa pdf generationen) ProtectAndEncryptPdfFilesDesc=Skydd av ett PDF-dokument håller den tillgänglig att läsa och skriva ut alla PDF webbläsare. Det är dock redigering och kopiering inte möjligt längre. Observera att använda den här funktionen gör byggandet av en samlad global pdf inte fungerar (t.ex. obetalda fakturor). Feature=Huvudnummer @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Detta är inställd för att behandla: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Steg %s FindPackageFromWebSite=Hitta ett paket som ger funktionen du vill ha (till exempel om %s webbplats). -DownloadPackageFromWebSite=Ladda hem paket %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Installera är klar och Dolibarr är klar att användas med den nya komponenten. NotExistsDirect=Den alternativa rotkatalogen är inte definierad.
InfDirAlt=Sedab version 3 är det möjligt att definiera en alternativ rotkatalog. Detta medger en gemensam plats att lagra plugin och anpassade mallar.
Skapa en katalog i Dolibarrs rot (t.ex. custom).
InfDirExample=
Sedan förklara den i filen conf.php
$ Dolibarr_main_url_root_alt = 'http: // myserver / anpassad "
$ Dolibarr_main_document_root_alt = '/ sökväg / till / Dolibarr / htdocs / anpassad "
* Dessa linjer kommen med "#", för att kommentera bort bara ta bort tecknet. -YouCanSubmitFile=Välj modul: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr nuvarande version CallUpdatePage=Gå till sidan som uppdaterar databasen struktur och data: %s. LastStableVersion=Senaste stabila version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parametrar lista kommer från en tabell
Syntax: ExtrafieldParamHelpchkbxlst=Parameterlista från en tabell
Syntax : table_name:label_field:id_field::filter
Exempel: c_typent:libelle:id::filter

filter kan vara ett enkelt test (t.ex. active=1) för att visa enbart aktiva värden
Använd extra.fieldcode=... (där fältkod är extrafält) syntax för att filtrera på extrafält.

För att få listan beroende en annan:
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Katalog som används för att skapa PDF WarningUsingFPDF=Varning: Din conf.php innehåller direktiv dolibarr_pdf_force_fpdf = 1. Detta innebär att du använder fpdf bibliotek för att generera PDF-filer. Detta bibliotek är gammalt och inte stöder en mängd funktioner (Unicode, bild öppenhet, kyrilliska, arabiska och asiatiska språk, ...), så att du kan uppleva fel under PDF generation.
För att lösa detta och ha ett fullt stöd för PDF-generering, ladda ner TCPDF bibliotek , sedan kommentera eller ta bort linjen $ dolibarr_pdf_force_fpdf = 1, och lägg istället $ dolibarr_lib_TCPDF_PATH = 'path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Skriv in ett telefonnummer att ringa upp för att visa en länk för att prova ClickToDial url för användare %s RefreshPhoneLink=Uppdatera länk @@ -492,8 +491,8 @@ Module400Name=Projekt / Möjligheter / Leads Module400Desc=Förvaltning av projekt, möjligheter eller leads. Du kan sedan tilldela varje element (faktura, beställning, förslag, ingripande, ...) till ett projekt och få ett övergripande vy från projekt vyn. Module410Name=WebCalendar Module410Desc=WebCalendar integration -Module500Name=Speciella utgifter (skatt, sociala avgifter, utdelningar) -Module500Desc=Förvaltning av särskilda kostnader som skatter, sociala avgifter, utdelningar och löner +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Löner Module510Desc=Förvaltning av de anställdas löner och betalningar Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Åtgärder / uppgifter och dagordning förvaltning Module2500Name=Electronic Content Management Module2500Desc=Spara och dela dokument -Module2600Name=WebServices -Module2600Desc=Aktivera Dolibarr webbtjänster server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (klient) Module2650Desc=Aktivera Dolibarr webbtjänster klient (Kan användas för att driva data / ansökningar till externa servrar. Leverantörs order stöds bara för stunden) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Ursprung av affärsförslag / beställning DictionaryAccountancyplan=Kontoplan DictionaryAccountancysystem=Modeller för kontoplan DictionaryEMailTemplates=E-postmeddelanden mallar +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup sparas BackToModuleList=Tillbaka till moduler lista BackToDictionaryList=Tillbaka till ordlistan @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Staden CompanyCountry=Land CompanyCurrency=Viktigaste valuta +CompanyObject=Object of the company Logo=Logo DoNotShow=Visa inte DoNotSuggestPaymentMode=Pekar inte NoActiveBankAccountDefined=Inga aktiva bankkonto definierade OwnerOfBankAccount=Ägare till %s bankkonto BankModuleNotActive=Bankkonton modulen inte aktiverad -ShowBugTrackLink=Visa länken "Rapportera en bugg" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Visa "arbetsbänk" på hemsidan Alerts=Varningar Delays=Förseningar @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimaler för priserna per enhet MAIN_MAX_DECIMALS_TOT=Max decimaler för total priser MAIN_MAX_DECIMALS_SHOWN=Max decimaler för priser som visas på skärmen (Lägg ... efter detta nummer om du vill se ... när numret är avkortas vid visas på skärmen) MAIN_DISABLE_PDF_COMPRESSION=Använd PDF-komprimering för genererade PDF-filer. -MAIN_ROUNDING_RULE_TOT= Storlek på avrundning område (för sällsynta länder där avrundning görs på något annat än bas 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Net priset per enhet för en produkt TotalPriceAfterRounding=Total kostnad (netto / behållare / inkl moms) efter avrundning ParameterActiveForNextInputOnly=Parameter effektiv för nästa inmatning @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Totalt antal aktiverade funktionsmoduler:% s 100 000), kan du öka hastigheten genom att sätta konstant PRODUCT_DONOTSEARCH_ANYWHERE till 1 i Setup-> Övrigt. Sökningen kommer då att begränsas till start av strängen. UseSearchToSelectProduct=Använd ett sökformuläret för att välja en produkt (i stället för en listruta). UseEcoTaxeAbility=Stöd Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Standard streckkod som ska användas för produkter SetDefaultBarcodeTypeThirdParties=Standard streckkod som ska användas för tredje part +UseUnits=Support units ProductCodeChecker= Modul för produkt kodgenerering och kontroll (produkt eller tjänst) ProductOtherConf= Produkt / tjänst konfiguration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Barcode av typ UPC BarcodeDescISBN=Barcode av typ ISBN BarcodeDescC39=Streckkod av typen C39 BarcodeDescC128=Barcode av typ 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=Intern motor BarCodeNumberManager=Manager för att automatiskt definiera streckkodsnummer @@ -1552,6 +1560,13 @@ WebServicesSetup=WebServices modul setup WebServicesDesc=Genom att aktivera denna modul Dolibarr bli en webbtjänst server för att tillhandahålla diverse webbtjänster. WSDLCanBeDownloadedHere=WSDL-deskriptor fil som serviceses kan ladda ner här EndPointIs=SOAP klienter måste skicka in sina ansökningar till Dolibarr endpoint finns på URL +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank modul setup FreeLegalTextOnChequeReceipts=Fri text om kontrollera kvitton @@ -1594,7 +1609,7 @@ OpenFiscalYear=Öppet räkenskapsår CloseFiscalYear=Close räkenskapsår DeleteFiscalYear=Radera räkenskapsår ConfirmDeleteFiscalYear=Är du säker på att du vill ta bort detta verksamhetsår? -Opened=Öppnad +Opened=Open Closed=Stängt AlwaysEditable=Kan alltid redigeras MAIN_APPLICATION_TITLE=Tvinga synliga namn ansökan (varning: ställa ditt eget namn här kan bryta funktionen Autofyll inloggning när du använder DoliDroid mobil applikation) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/sv_SE/banks.lang b/htdocs/langs/sv_SE/banks.lang index 647f145563c..c3b9417dee6 100644 --- a/htdocs/langs/sv_SE/banks.lang +++ b/htdocs/langs/sv_SE/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Avstämning ConciliationForAccount=Förena detta konto IncludeClosedAccount=Inkludera stängda konton -OnlyOpenedAccount=Endast öppnat konton +OnlyOpenedAccount=Only open accounts AccountToCredit=Hänsyn till kreditinstitut AccountToDebit=Konto att debitera DisableConciliation=Inaktivera försoning för den här kontot ConciliationDisabled=Avstämning inaktiverad -StatusAccountOpened=Öppnade +StatusAccountOpened=Open StatusAccountClosed=Stängt AccountIdShort=Antal EditBankRecord=Ändra post diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index 4ffc34b5e39..903e38d4d08 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Senast relaterad faktura WarningBillExist=Varning, en eller flera fakturor finns redan +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Omedelbar @@ -429,5 +430,5 @@ NotLastInCycle=Denna faktura är inte den sista i en serie och får inte ändras DisabledBecauseNotLastInCycle=Påföljande avstämning finns redan. DisabledBecauseFinal=Denna avstämning är slutlig. CantBeLessThanMinPercent=Framsteget kan inte vara mindre än dess värde vid förra avstämningen. -NoSituations=Inga öppnade löpande räkningar +NoSituations=No open situations InvoiceSituationLast=Slutlig sammanställningsfaktura. diff --git a/htdocs/langs/sv_SE/bookmarks.lang b/htdocs/langs/sv_SE/bookmarks.lang index 7c0fb73a457..de877eecf6e 100644 --- a/htdocs/langs/sv_SE/bookmarks.lang +++ b/htdocs/langs/sv_SE/bookmarks.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - marque pages -AddThisPageToBookmarks=Lägg till sidan som bokmärken -Bookmark=Bokmärk +AddThisPageToBookmarks=Lägg till sidan som bokmärke +Bookmark=Bokmärke Bookmarks=Bokmärken NewBookmark=Nytt bokmärke ShowBookmark=Visa bokmärke diff --git a/htdocs/langs/sv_SE/boxes.lang b/htdocs/langs/sv_SE/boxes.lang index ba87abe3aaf..dc02f0cc8d5 100644 --- a/htdocs/langs/sv_SE/boxes.lang +++ b/htdocs/langs/sv_SE/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Senaste kontrakt BoxLastContacts=Senaste kontakter / adresser BoxLastMembers=Sista medlemmar BoxFicheInter=Sista interventioner -BoxCurrentAccounts=Öppnade balans konton +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Omsättningen BoxTotalUnpaidCustomerBills=Totalt obetalda kundens fakturor BoxTotalUnpaidSuppliersBills=Totalt obetalda leverantörs fakturor @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Senaste %s medlemmar BoxTitleLastFicheInter=Senaste %s modifierade ingripande BoxTitleOldestUnpaidCustomerBills=Äldsta %s obetalda kundfakturor BoxTitleOldestUnpaidSupplierBills=Äldsta %s obetalda leverantörsfakturor -BoxTitleCurrentAccounts=Öppnade kontots saldon +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Omsättningen BoxTitleTotalUnpaidCustomerBills=Obetalda kundfakturor BoxTitleTotalUnpaidSuppliersBills=Obetalda leverantörsfakturor diff --git a/htdocs/langs/sv_SE/categories.lang b/htdocs/langs/sv_SE/categories.lang index 7963867f0be..8d54ad9b4e0 100644 --- a/htdocs/langs/sv_SE/categories.lang +++ b/htdocs/langs/sv_SE/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s har lagts till. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Ingen NotCategorized=Without tag/category CategoryExistsAtSameLevel=Denna kategori finns redan med denna ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Innehåll inte synlig för alla CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / kommande utvecklingen. kategorier @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/sv_SE/companies.lang b/htdocs/langs/sv_SE/companies.lang index 1e640e1b80e..5441252ebc6 100644 --- a/htdocs/langs/sv_SE/companies.lang +++ b/htdocs/langs/sv_SE/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Upnått tak för obetalda fakturor MonkeyNumRefModelDesc=Ger nummer med format %syymm-nnnn för kundnummer och %syymm-nnnn för leverantörnummer där YY är år, mm månad och nnnn är en sekvens utan avbrott och utan återgång 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 ...) -SearchThirdparty=Sök tredjeparts +SearchThirdparty=Search third party SearchContact=Sök kontakt +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/sv_SE/cron.lang b/htdocs/langs/sv_SE/cron.lang index 07ae8ba906a..cd971909091 100644 --- a/htdocs/langs/sv_SE/cron.lang +++ b/htdocs/langs/sv_SE/cron.lang @@ -4,10 +4,10 @@ About = Om CronAbout = Om Cron CronAboutPage = Cron om sidan # Right -Permission23101 = Läs schedulerad uppgift -Permission23102 = Skapa / uppdatera Schemalagd aktivitet -Permission23103 = Ta bort schemalagd aktivitet -Permission23104 = Kör schemalagd aktivitet +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Planerad jobbhantering installation URLToLaunchCronJobs=URL för att kontrollera och starta cron-jobb om det behövs @@ -26,11 +26,11 @@ CronLastOutput=Sista loppet utgång CronLastResult=Senaste resultat code CronListOfCronJobs=Lista över schemalagda jobb CronCommand=Kommando -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Jobb @@ -39,8 +39,8 @@ CronDtStart=Startdatum CronDtEnd=Slutdatum CronDtNextLaunch=Nästa exekvering CronDtLastLaunch=Senaste exekvering -CronFrequency=Frekvens -CronClass=Klass +CronFrequency=Frequency +CronClass=Class CronMethod=Metod CronModule=Modul CronAction=Åtgärd @@ -55,9 +55,9 @@ CronEach=Varje JobFinished=Job lanserad och klar #Page card CronAdd= Lägg till jobb -CronHourStart= Start Hour och datum för uppgiften -CronEvery= Och köra uppgiften varje -CronObject= Instans / Object för att skapa +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instans / Object för att skapa CronArgs=Parametrar CronSaveSucess=Spara framgångsrikt CronNote=Kommentar @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task typ +CronType=Job type CronType_method=Call metod för en Dolibarr klass CronType_command=Skalkommando CronMenu=Cron CronCannotLoadClass=Det går inte att läsa in klassen% s eller objekt% s UseMenuModuleToolsToAddCronJobs=Gå in på menyn "Home - Moduler verktyg - Job list" för att se och redigera schemalagda jobb. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 1cb706ce1da..f7b15a3ff09 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Obligatoriska inställningsparametrarna har ännu inte definierat diff --git a/htdocs/langs/sv_SE/incoterm.lang b/htdocs/langs/sv_SE/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/sv_SE/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index c5380d1f831..3064b727156 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Databasserver - superanvändare tillgång CheckToCreateDatabase=Kryssrutan om databasen inte existerar och måste skapas.
I så fall måste du fylla i login / lösenord för superanvändare konto längst ner på denna sida. CheckToCreateUser=Kryssrutan om databas ägaren inte existerar och måste skapas.
I så fall måste du välja sin inloggning och lösenord och fylla i användarnamn / lösenord för superanvändaren konto längst ner på denna sida. Om denna ruta är markerad, ägare databas och lösenord måste finns. Experimental=(Experimentell) +Deprecated=(deprecated) DatabaseRootLoginDescription=Logga in på användaren möjlighet att skapa nya databaser eller nya användare, värdelösa om din databas och databasen inloggning redan finns (som när du är värd ett webbhotell leverantör). KeepEmptyIfNoPassword=Lämna tomt om användaren har inget lösenord (undvik detta) SaveConfigurationFile=Spara värden diff --git a/htdocs/langs/sv_SE/languages.lang b/htdocs/langs/sv_SE/languages.lang index 031b70fc398..30fa433dd2d 100644 --- a/htdocs/langs/sv_SE/languages.lang +++ b/htdocs/langs/sv_SE/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabiska Language_ar_SA=Arabiskt +Language_bn_BD=Bengali Language_bg_BG=Bulgariska Language_bs_BA=Bosniska Language_ca_ES=Katalanska @@ -21,9 +22,10 @@ Language_en_SA=Engelska (Saudiarabien) Language_en_US=Engelska (USA) Language_en_ZA=Engelska (Sydafrika) Language_es_ES=Spanska -Language_es_DO=Spanska (Dominikanska republiken) Language_es_AR=Spanska (Argentina) Language_es_CL=Spanska (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanska (Dominikanska republiken) Language_es_HN=Spanska (Honduras) Language_es_MX=Spanska (Mexiko) Language_es_PY=Spanska (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesiska Language_is_IS=Isländska Language_it_IT=Italienska Language_ja_JP=Japanska +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Koreanska +Language_lo_LA=Lao Language_lt_LT=Litauiska Language_lv_LV=Lettländska Language_mk_MK=Makedonska @@ -64,6 +69,7 @@ Language_sv_SV=Svenska Language_sv_SE=Svenskt Language_sq_AL=Albanska Language_sk_SK=Slovakiska +Language_sw_SW=Kiswahili Language_th_TH=Thailändska Language_uk_UA=Ukrainska Language_uz_UZ=Uzbekiska diff --git a/htdocs/langs/sv_SE/loan.lang b/htdocs/langs/sv_SE/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/sv_SE/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/sv_SE/mails.lang b/htdocs/langs/sv_SE/mails.lang index 2dc5eb785cd..4ae2a1462c5 100644 --- a/htdocs/langs/sv_SE/mails.lang +++ b/htdocs/langs/sv_SE/mails.lang @@ -77,7 +77,7 @@ CheckRead=Läs Kvitto YourMailUnsubcribeOK=E-post %s är korrekt avbeställt från sändlistan MailtoEMail=Hyper länk till e-post ActivateCheckRead=Låt använd länken "Unsubcribe" -ActivateCheckReadKey=Key bruk för att kryptera URL användning för "Läs Kvitto" och "Unsubcribe" -funktionen +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail skickas till% s mottagare. XTargetsAdded=% s mottagare läggs in i målet listan EachInvoiceWillBeAttachedToEmail=Ett dokument med standardfakturadokumentmall kommer att skapas och bifogas varje e-postmeddelande. diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index 4e333c261f0..046aab029a8 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Pris per enhet (netto) UnitPriceTTC=Pris per enhet PriceU=Styckpris PriceUHT=St.pris(net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=St.pris Amount=Belopp AmountInvoice=Fakturabelopp @@ -413,6 +413,8 @@ Qty=Antal ChangedBy=Ändrad av ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Uppdatera beräkning ResultOk=Framgång ResultKo=Misslyckande @@ -421,7 +423,7 @@ Reportings=Rapportering Draft=Utkast Drafts=Utkast Validated=Validerad -Opened=Öppnad +Opened=Open New=Ny Discount=Rabatt Unknown=Okänd @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Länkad till särskild användarekontakt DeleteAFile=Radera fil ConfirmDeleteAFile=Är du säker på att du vill radera fil NoResults=Inga resultat +SystemTools=System tools ModulesSystemTools=Modulverktyg Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Måndag Tuesday=Tisdag @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index 79132298553..2b90c93f03e 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Leverantör för SuppliersOrders=Leverantörens order SuppliersOrdersRunning=Nuvarande leverantörens order CustomerOrder=Kundorder -CustomersOrders=Kundorder -CustomersOrdersRunning=Nuvarande kundens order -CustomersOrdersAndOrdersLines=Kundorder och ordning: s linjer -OrdersToValid=Kundorder att validera -OrdersToBill=Levererade kundorder -OrdersInProcess=Kundorder under behandling -OrdersToProcess=Kundorder att behandla -SuppliersOrdersToProcess=Leverantörens order att behandla +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Annullerad StatusOrderDraftShort=Förslag StatusOrderValidatedShort=Validerad @@ -75,8 +75,9 @@ AddToMyOrders=Lägg till i mitt order AddToOtherOrders=Lägg till övriga beställningar AddToDraftOrders=Lägg till förlags order ShowOrder=Visa att -NoOpenedOrders=Ingen öppnade order -NoOtherOpenedOrders=Ingen annan öppnas order +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Inga förslag till beslut OtherOrders=Övriga beställningar LastOrders=Last %s customer orders diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index d314a81ea92..c94a0b49856 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validerade Notify_FICHINTER_SENTBYMAIL=Ingripande skickas per post Notify_BILL_VALIDATE=Kundfaktura validerade Notify_BILL_UNVALIDATE=Kundfakturan Fraktpris saknas +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Leverantör för godkänd Notify_ORDER_SUPPLIER_REFUSE=Leverantör för vägrat Notify_ORDER_VALIDATE=Kundorder validerade @@ -203,6 +204,7 @@ 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 ForgetIfNothing=Om du inte har begärt denna förändring, bara glömma detta mail. Dina referenser förvaras säkert. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Lägg till post i kalendern %s diff --git a/htdocs/langs/sv_SE/printing.lang b/htdocs/langs/sv_SE/printing.lang new file mode 100644 index 00000000000..bde4729a3cc --- /dev/null +++ b/htdocs/langs/sv_SE/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Direct Printing +Module64000Desc=Enable Direct Printing System +PrintingSetup=Inställningar av System för Direkt Utskrift +PrintingDesc=Denna modul lägger till en Utskrift-knapp i diverse moduler för att skicka dokument direkt till en skrivare (utan att öppna dokumentet i någon tillämpning). +ModuleDriverSetup=Inställningar för Modul drivrutiner +PrintingDriverDesc=Konfigurationsvariabler för skrivardrivrutin. +ListDrivers=Lista över drivrutiner +PrintTestDesc=Lista över skrivare +FileWasSentToPrinter=Fil %s skickades till utskrift +NoActivePrintingModuleFound=Ingen aktiv modul för utskrift av dokumentet +PleaseSelectaDriverfromList=Var god välj en drivrutin från listan. +SetupDriver=Inställningar av drivrutin +TestDriver=Test +TargetedPrinter=Målskrivare +UserConf=Inställningar per användare +PRINTGCP=Google Cloud Print +PrintGCPDesc=Denna drivrutin skickar dokument direkt till en skrivare med Google Cloud Print. +PrintingDriverDescprintgcp=Konfigurationsvariabler för skrivardrivrutin Google Cloud Print. +PrintTestDescprintgcp=Lista över skrivare för Google Cloud Print. +PRINTGCP_LOGIN=Google konto login +PRINTGCP_PASSWORD=Google konto lösenord +STATE_ONLINE=Online +STATE_UNKNOWN=Okänd +STATE_OFFLINE=Offline +STATE_DORMANT=Offline rätt länge +TYPE_GOOGLE=Google +TYPE_HP=HP-skrivare +TYPE_DOCS=DOCS +TYPE_DRIVE=Google drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Namn +GCP_displayName=Visningsnamn +GCP_Id=Skrivar id +GCP_OwnerName=Ägar namn +GCP_State=Skrivaretillstånd +GCP_connectionStatus=Ansluten +GCP_Type=Skrivar typ +PRINTIPP=PrintIPP-drivrutin +PrintIPPSetup=Inställningar Direct Print Module +PrintIPPDesc=Denna drivrutin skickar dokument direkt till en skrivare. Den kräver ett Linux-system med CUPS. +PrintingDriverDescprintipp=Konfigurationsvariabler för skrivardrivrutin PrintIPP +PrintTestDescprintipp=Lista över skrivare för drivrutin PrintIPP. +PRINTIPP_ENABLED=Visa ikonför "Direktutskrift" i dokumentlista +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Inlogg +PRINTIPP_PASSWORD=Lösenord +NoPrinterFound=Ingen skrivare funnen (kontrollera CUPS-inställningar) +NoDefaultPrinterDefined=Ingen standarskrivare är definerad +DefaultPrinter=Standard skrivare +Printer=Skrivare +CupsServer=CUPS server +IPP_Uri=Printer Uri +IPP_Name=Skrivarnamn +IPP_State=Skrivartillstånd +IPP_State_reason=Ange orsak +IPP_State_reason1=Ange orsak1 +IPP_BW=Svartvit +IPP_Color=Färg +IPP_Device=Enhet +IPP_Media=Utskriftmedia +IPP_Supported=Papperstyp +STATE_IPP_idle=Vilande +STATE_IPP_stopped=Stannad +STATE_IPP_paused=Pausad +STATE_IPP_toner-low-report=Toner låg nivå +STATE_IPP_none=Ingen +MEDIA_IPP_stationery=Papperstyp +MEDIA_IPP_thermal=Termisk +IPP_COLOR_print-black=BW-skrivare diff --git a/htdocs/langs/sv_SE/productbatch.lang b/htdocs/langs/sv_SE/productbatch.lang index bb7a9acdc8e..9c8e70f7a5b 100644 --- a/htdocs/langs/sv_SE/productbatch.lang +++ b/htdocs/langs/sv_SE/productbatch.lang @@ -19,4 +19,4 @@ printQty=Antal: %d AddDispatchBatchLine=Lägg en linje för Hållbarhet avsändning BatchDefaultNumber=Odefinierat WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=Denna artikel använder inte batch- / serienummer +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index 401789f8a22..9f271ea0e6f 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -23,14 +23,14 @@ ProductOrService=Produkt eller tjänst ProductsAndServices=Produkter och tjänster ProductsOrServices=Produkter eller tjänster ProductsAndServicesOnSell=Produkter och tjänster till försäljning eller inköp -ProductsAndServicesNotOnSell=Utgångna produkter och tjänster m.a.p. försäljning +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Produkter och tjänster statistik ProductsStatistics=Produkter statistik -ProductsOnSell=Produkter till försäljning eller inköp -ProductsNotOnSell=Utgångna produkter m.a.p. försäljning och inköp +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Produkter till försäljning och inköp ServicesOnSell=Tjänster till försäljning eller inköp -ServicesNotOnSell=Utgångna tjänster m.a.p. försäljning +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Tjänster till försäljning och inköp InternalRef=Intern hänvisning LastRecorded=Senaste produkter / tjänster att sälja in @@ -44,7 +44,7 @@ CardProduct1=Tjänstekort CardContract=Kontrakt kort Warehouse=Warehouse Warehouses=Lager -WarehouseOpened=Warehouse öppnade +WarehouseOpened=Warehouse open WarehouseClosed=Lager stängt Stock=Lager Stocks=Lager @@ -66,26 +66,26 @@ ProductStatusNotOnBuyShort=Föråldrade UpdatePrice=Uppdatera pris AppliedPricesFrom=Tillämpad priser från SellingPrice=Försäljningspris -SellingPriceHT=Försäljningspris (exklusive skatt) +SellingPriceHT=Försäljningspris (exkl skatt) SellingPriceTTC=Försäljningspris (inkl. moms) PublicPrice=Offentliga pris CurrentPrice=Nuvarande pris NewPrice=Nytt pris -MinPrice=Halvnot. försäljningspris -MinPriceHT=Minim. försäljningspris (netto efter skatt) -MinPriceTTC=Minim. försäljningspris (inkl. moms) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=Försäljningspriset kan inte vara lägre än lägsta tillåtna för denna bok (%s utan skatt) ContractStatus=Kontrakt status ContractStatusClosed=Stängt -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=löpt ut -ContractStatusOnHold=Inte kör -ContractStatusToRun=För att få igång -ContractNotRunning=Detta kontrakt är inte igång +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=En produkt med hänvisning %s finns redan. ErrorProductBadRefOrLabel=Felaktigt värde för referens eller etikett. ErrorProductClone=Ett problem uppstod vid kloning av produkten eller tjänsten. -ErrorPriceCantBeLowerThanMinPrice=Fel Pris Kan inte vara lägre än Lägsta pris. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Leverantörer SupplierRef=Leverantör ref. ShowProduct=Visa produkt @@ -117,12 +117,12 @@ ServiceLimitedDuration=Om produkten är en tjänst med begränsad varaktighet: MultiPricesAbility=Flera prisnivåer per produkt eller tjänst MultiPricesNumPrices=Antal pris MultiPriceLevelsName=Pris kategorier -AssociatedProductsAbility=Aktivera virtuellt paket funktionen +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Paket produkt -AssociatedProductsNumber=Antal produkter komponera denna virtuellt paket produkt +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Antal förälder förpackningsartikel -IfZeroItIsNotAVirtualProduct=Om 0 är denna produkt inte ett virtuellt paket produkt -IfZeroItIsNotUsedByVirtualProduct=Om 0 är denna produkt inte används av någon virtuellt paket produkt +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Översättning KeywordFilter=Nyckelord filter @@ -131,7 +131,7 @@ ProductToAddSearch=Sök produkt att lägga till AddDel=Lägg till / Ta bort Quantity=Kvantitet NoMatchFound=Ingen matchning hittades -ProductAssociationList=Lista över relaterade produkter / tjänster: namn på produkten / tjänsten (kvantitet påverkas) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=Lista över paket produkter / tjänster med denna produkt som en komponent ErrorAssociationIsFatherOfThis=Ett av valda produkten är förälder med nuvarande produkt DeleteProduct=Ta bort en produkt / tjänst @@ -179,16 +179,41 @@ CloneProduct=Klon produkt eller tjänst ConfirmCloneProduct=Är du säker på att du vill klona produkt eller tjänst %s? CloneContentProduct=Klona alla viktiga informationer av produkt / tjänst ClonePricesProduct=Klona viktigaste informationer och priser -CloneCompositionProduct=Klon förpackad produkt / tjänster +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=Denna produkt används NewRefForClone=Ref. av ny produkt / tjänst -CustomerPrices=Kunder priser -SuppliersPrices=Leverantörer priser -SuppliersPricesOfProductsOrServices=Leverantörer priser (av produkter eller tjänster) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Tullkodex CountryOrigin=Ursprungsland HiddenIntoCombo=Dold i vissa utvalda listor Nature=Naturen +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Produktmall, ref. ServiceCodeModel=Tjänstmall, ref. AddThisProductCard=Skapa produktkort @@ -214,7 +239,7 @@ CostPmpHT=Totalt netto VWAP ProductUsedForBuild=Automatiskt förbrukad för tillverkning ProductBuilded=Tillverkning klar ProductsMultiPrice=Produkt multi-priser -ProductsOrServiceMultiPrice=Kunder priser (av produkter eller tjänster, multi-priser) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Produkter omsättning kvartalsvis VWAP ServiceSellByQuarterHT=Tjänster omsättning kvartalsvis VWAP Quarter1=1:a kvartalet @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Definiera streckkodsvärde för alla poster (detta kom PriceByCustomer=Olika pris m.a.p. kund PriceCatalogue=Unikt pris för produkt eller tjänst PricingRule=Regler för kundpriser -AddCustomerPrice=Lägg till pris per kund +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Sätt samma pris på kunds filialer PriceByCustomerLog=Pris per kundlogg -MinimumPriceLimit=Minimipris kan inte vara lägre än %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minsta rekommenderade priset är : %s PriceExpressionEditor=Pris uttryck redigerare PriceExpressionSelected=Valda pris uttryck @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 72c4e61630c..dd569311325 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Denna uppfattning presenterar alla projekt du har rätt att l ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Denna uppfattning presenterar alla projekt (din användarbehörighet tillåta dig att visa allt). MyTasksDesc=Denna syn är begränsad till projekt eller uppdrag du en kontakt för (allt som är "typ"). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). 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=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=Förteckning över projekt ShowProject=Visa projekt SetProject=Ställ projekt NoProject=Inget projekt definieras eller ägs -NbOpenTasks=Nb i öppnade uppgifter +NbOpenTasks=Nb of open tasks NbOfProjects=Nb av projekt TimeSpent=Tid som tillbringas TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Tid som ägnas åt uppgifter TaskTimeUser=Användare TaskTimeNote=Anmärkning TaskTimeDate=Datum -TasksOnOpenedProject=Uppgifter om öppnade projekt +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Arbetsbelastning inte definierad NewTimeSpent=Ny tid MyTimeSpent=Min tid @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Lista över åtgärder i samband med projektet ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=Förteckning över åtgärder i samband med projektet +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Aktivitet på projekt den här veckan ActivityOnProjectThisMonth=Aktivitet på projekt denna månad ActivityOnProjectThisYear=Aktivitet på projekt i år @@ -95,7 +96,7 @@ DeleteATimeSpent=Ta bort tid ConfirmDeleteATimeSpent=Är du säker på att du vill ta bort denna tid? DoNotShowMyTasksOnly=Se även uppgifter som inte tilldelats mig ShowMyTasksOnly=Visa bara aktiviteter för mig -TaskRessourceLinks=Resurser +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projekt som arbetat med denna tredje part NoTasks=Inga uppgifter för detta projekt LinkedToAnotherCompany=Kopplat till annan tredje part @@ -139,8 +140,12 @@ ProjectReferers=Med hänvisning objekt SearchAProject=Sök ett projekt ProjectMustBeValidatedFirst=Projekt måste valideras först ProjectDraft=Utkast projekt -FirstAddRessourceToAllocateTime=Associera en resurse att avsätta tid +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/sv_SE/propal.lang b/htdocs/langs/sv_SE/propal.lang index c4a0da04ecb..6125f3e2490 100644 --- a/htdocs/langs/sv_SE/propal.lang +++ b/htdocs/langs/sv_SE/propal.lang @@ -4,7 +4,7 @@ Proposal=Kommersiella förslag ProposalShort=Förslag ProposalsDraft=Utkast till kommersiella förslag ProposalDraft=Utkast till kommersiella förslag -ProposalsOpened=Öppnade kommersiella förslag +ProposalsOpened=Open commercial proposals Prop=Kommersiella förslag CommercialProposal=Kommersiella förslag CommercialProposals=Kommersiella förslag @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Belopp per månad (efter skatt) NbOfProposals=Antal kommersiella förslag ShowPropal=Visa förslag PropalsDraft=Utkast -PropalsOpened=Öppnade +PropalsOpened=Open PropalsNotBilled=Stängt faktureras inte PropalStatusDraft=Utkast (måste valideras) PropalStatusValidated=Validerad (förslag är öppen) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Inte undertecknat (stängt) PropalStatusBilled=Fakturerade PropalStatusDraftShort=Förslag PropalStatusValidatedShort=Validerad -PropalStatusOpenedShort=Öppnade +PropalStatusOpenedShort=Open PropalStatusClosedShort=Stängt PropalStatusSignedShort=Signerad PropalStatusNotSignedShort=Inte undertecknat @@ -51,8 +51,8 @@ PropalsToClose=Kommersiella förslag att stänga PropalsToBill=Signerad kommersiella förslag till proposition ListOfProposals=Förteckning över kommersiella förslag ActionsOnPropal=Åtgärder för förslag -NoOpenedPropals=Ingen öppnade kommersiella förslag -NoOtherOpenedPropals=Ingen annan öppnas kommersiella förslag +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Kommersiella förslag ref SendPropalByMail=Skicka kommersiella förslag per post AssociatedDocuments=Handlingar i samband med förslaget: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune förslag modell 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=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/sv_SE/salaries.lang b/htdocs/langs/sv_SE/salaries.lang index 93545569c2f..804f3601c6b 100644 --- a/htdocs/langs/sv_SE/salaries.lang +++ b/htdocs/langs/sv_SE/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Visa löneutbetalning THM=Genomsnitt timpris TJM=Genomsnittlig dagligt pris CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/sv_SE/sendings.lang b/htdocs/langs/sv_SE/sendings.lang index 31de11fb426..ac940cbc42d 100644 --- a/htdocs/langs/sv_SE/sendings.lang +++ b/htdocs/langs/sv_SE/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Enkel förlagan DocumentModelMerou=Merou A5-modellen WarningNoQtyLeftToSend=Varning, att inga produkter väntar sändas. StatsOnShipmentsOnlyValidated=Statistik utförda på försändelser endast valideras. Datum som används är datum för godkännandet av leveransen (planerat leveransdatum är inte alltid känt). -DateDeliveryPlanned=Hyvlat leveransdatum +DateDeliveryPlanned=Planned date of delivery DateReceived=Datum leverans fick SendShippingByEMail=Skicka leverans via e-post SendShippingRef=Inlämning av leveransen %s @@ -67,7 +67,7 @@ SendingRunning=Produkt från beställda kundorder SuppliersReceiptRunning=Produkt från beställda leverantörsorder ProductQtyInCustomersOrdersRunning=Produktkvantitet till öppnade kundorder ProductQtyInSuppliersOrdersRunning=Produktkvantitet till öppnade leverantörsorder -ProductQtyInShipmentAlreadySent=Produktkvantitet från öppnade kundorder är redan skickade +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Produktkvantitet från öppnade leverantörsorder är redan skickade # Sending methods diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index 124e0ad96ad..bd39347859f 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Lager NewWarehouse=Nytt lager / Lagerområde WarehouseEdit=Ändra lager MenuNewWarehouse=Nytt lager -WarehouseOpened=Warehouse öppet +WarehouseOpened=Warehouse open WarehouseClosed=Lager stängt WarehouseSource=Ursprungslager WarehouseSourceNotDefined=Inget lager definierat @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Välj lager som ska användas för lagerminsknin SelectWarehouseForStockIncrease=Välj lager som ska användas för lagerökningen NoStockAction=Ingen lageråtgärd LastWaitingSupplierOrders=Beställningar väntande på leverans -DesiredStock=Önskat lager +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Att beställa Replenishment=Påfyllning ReplenishmentOrders=Påfyllningsbeställningar -VirtualDiffersFromPhysical=Enligt öka / minska aktieoptioner, fysiska lagret och virtuella lager (fysiska + aktuella beställningar) kan skilja +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Använd virtuellt lager som standard, i stället för fysiska lager, för påfyllning funktion UseVirtualStock=Använd virtuellt lager UsePhysicalStock=Använd fysiskt lager -CurentSelectionMode=Curent urvalsläget +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtuell lager CurentlyUsingPhysicalStock=Fysiskt lager RuleForStockReplenishment=Regel för påfyllning av lager @@ -112,8 +113,8 @@ AlertOnly= Endast larm 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=Detta är en lista över allla produkter med lägre lagersaldo än önskat lager (eller lägre än larmvärde om "Endast larm" är markerad). Föreslagen åtgärd är att skapa leverantörsordrar för att fylla på lagren. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. 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) @@ -124,16 +125,16 @@ RecordMovement=Spela in överföring ReceivingForSameOrder=Kvitton för denna beställning StockMovementRecorded=Sparade lageröverföringar RuleForStockAvailability=Regler om krav på lagerhållning -StockMustBeEnoughForInvoice=Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i faktura -StockMustBeEnoughForOrder=Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i beställning -StockMustBeEnoughForShipment= Lagernivå måste vara tillräckligt för att lägga produkten / tjänsten i transporten +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Etikett för lagerrörelse InventoryCode=Lagerrörelse- eller inventeringskod IsInPackage=Ingår i förpackning ShowWarehouse=Visa lagret -MovementCorrectStock=Lagerrättelse för produkt %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Lagerförflyttning av produkt %s till ett annat lager -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/sv_SE/suppliers.lang b/htdocs/langs/sv_SE/suppliers.lang index b90a57d97de..4b222442b16 100644 --- a/htdocs/langs/sv_SE/suppliers.lang +++ b/htdocs/langs/sv_SE/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Skickas till leverantörer ListOfSupplierOrders=Lista över leverantörsorder MenuOrdersSupplierToBill=Leverantörs order att fakturera NbDaysToDelivery=Leveransförsening, dagar -DescNbDaysToDelivery=Den största förseningen visas med produktbeställningslista +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/sv_SE/trips.lang b/htdocs/langs/sv_SE/trips.lang index 00656349659..924368b2a7a 100644 --- a/htdocs/langs/sv_SE/trips.lang +++ b/htdocs/langs/sv_SE/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Prislista för NewTrip=New expense report CompanyVisited=Företag / stiftelse besökt @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/sv_SE/users.lang b/htdocs/langs/sv_SE/users.lang index 34a10699b5c..f7368942a78 100644 --- a/htdocs/langs/sv_SE/users.lang +++ b/htdocs/langs/sv_SE/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Ta bort från grupp PasswordChangedAndSentTo=Lösenord ändras och skickas till %s. PasswordChangeRequestSent=Begäran om att ändra lösenord för %s skickas till %s. MenuUsersAndGroups=Användare & grupper +MenuMyUserCard=My user card LastGroupsCreated=Senaste %s skapat grupper LastUsersCreated=Senaste %s användare skapade ShowGroup=Visa grupp diff --git a/htdocs/langs/sv_SE/workflow.lang b/htdocs/langs/sv_SE/workflow.lang index fd2d15713bd..c21c779da44 100644 --- a/htdocs/langs/sv_SE/workflow.lang +++ b/htdocs/langs/sv_SE/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Arbetsflöde modul konfiguration -WorkflowDesc=Denna modul ändrar beteendet av automatiska händelser i tillämpningar. Standardbeteende är att arbetsflöde öppnas (du gör saker i den ordning du vill). Automatiska händelser kan aktiveras för de händelser som önskas. -ThereIsNoWorkflowToModify=Det finns ingen arbetsflöde du kan ändra för modul du har aktiverat. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Skapa en kundorder automatiskt efter en kommersiell förslag undertecknas -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Skapa en kundfaktura automatiskt efter en kommersiell förslag undertecknas -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Skapa en kundfaktura automatiskt efter ett avtal validerad -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Skapa en kundfaktura automatiskt efter en kundorder är stängd +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Klassificera länkad förslag källa att faktureras när kundorder är inställd på betald descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Klassificera länkade källa kundorder (s) för att faktureras när kundfaktura är inställd på betald descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Klassificera länkade källa kundorder (s) för att faktureras när kundfaktura valideras diff --git a/htdocs/langs/sw_SW/accountancy.lang b/htdocs/langs/sw_SW/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/sw_SW/accountancy.lang +++ b/htdocs/langs/sw_SW/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/sw_SW/admin.lang +++ b/htdocs/langs/sw_SW/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/sw_SW/banks.lang b/htdocs/langs/sw_SW/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/sw_SW/banks.lang +++ b/htdocs/langs/sw_SW/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/sw_SW/bills.lang b/htdocs/langs/sw_SW/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/sw_SW/bills.lang +++ b/htdocs/langs/sw_SW/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sw_SW/boxes.lang b/htdocs/langs/sw_SW/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/sw_SW/boxes.lang +++ b/htdocs/langs/sw_SW/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/sw_SW/categories.lang b/htdocs/langs/sw_SW/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/sw_SW/categories.lang +++ b/htdocs/langs/sw_SW/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/sw_SW/companies.lang b/htdocs/langs/sw_SW/companies.lang index 8abf1fd1c5a..ad9980cb055 100644 --- a/htdocs/langs/sw_SW/companies.lang +++ b/htdocs/langs/sw_SW/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/sw_SW/cron.lang b/htdocs/langs/sw_SW/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/sw_SW/cron.lang +++ b/htdocs/langs/sw_SW/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/sw_SW/errors.lang +++ b/htdocs/langs/sw_SW/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/sw_SW/incoterm.lang b/htdocs/langs/sw_SW/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/sw_SW/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/sw_SW/install.lang +++ b/htdocs/langs/sw_SW/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/sw_SW/languages.lang b/htdocs/langs/sw_SW/languages.lang index acd737c3711..774a591c825 100644 --- a/htdocs/langs/sw_SW/languages.lang +++ b/htdocs/langs/sw_SW/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Kiarabu Language_ar_SA=Kiarabu +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Kikatalani @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (Afrika Kusini) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Kihispania (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Kihispania (Mexico) Language_es_PY=Kihispania (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Kiaislandi Language_it_IT=Italia Language_ja_JP=Japan +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korea +Language_lo_LA=Lao Language_lt_LT=Kilithuania Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakiska +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Kiukreni Language_uz_UZ=Uzbek diff --git a/htdocs/langs/sw_SW/loan.lang b/htdocs/langs/sw_SW/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/sw_SW/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/sw_SW/mails.lang b/htdocs/langs/sw_SW/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/sw_SW/mails.lang +++ b/htdocs/langs/sw_SW/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/sw_SW/main.lang b/htdocs/langs/sw_SW/main.lang index 9a32ee6f1ea..b8eb245ac6f 100644 --- a/htdocs/langs/sw_SW/main.lang +++ b/htdocs/langs/sw_SW/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/sw_SW/orders.lang b/htdocs/langs/sw_SW/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/sw_SW/orders.lang +++ b/htdocs/langs/sw_SW/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/sw_SW/other.lang b/htdocs/langs/sw_SW/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/sw_SW/other.lang +++ b/htdocs/langs/sw_SW/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/sw_SW/printing.lang b/htdocs/langs/sw_SW/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/sw_SW/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/sw_SW/productbatch.lang b/htdocs/langs/sw_SW/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/sw_SW/productbatch.lang +++ b/htdocs/langs/sw_SW/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/sw_SW/products.lang b/htdocs/langs/sw_SW/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/sw_SW/products.lang +++ b/htdocs/langs/sw_SW/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/sw_SW/projects.lang b/htdocs/langs/sw_SW/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/sw_SW/projects.lang +++ b/htdocs/langs/sw_SW/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/sw_SW/propal.lang b/htdocs/langs/sw_SW/propal.lang index 2b6d12870a1..d10dbb15122 100644 --- a/htdocs/langs/sw_SW/propal.lang +++ b/htdocs/langs/sw_SW/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,8 +51,8 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail AssociatedDocuments=Documents associated with the proposal: @@ -98,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/sw_SW/salaries.lang b/htdocs/langs/sw_SW/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/sw_SW/salaries.lang +++ b/htdocs/langs/sw_SW/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/sw_SW/sendings.lang b/htdocs/langs/sw_SW/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/sw_SW/sendings.lang +++ b/htdocs/langs/sw_SW/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/sw_SW/stocks.lang b/htdocs/langs/sw_SW/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/sw_SW/stocks.lang +++ b/htdocs/langs/sw_SW/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/sw_SW/suppliers.lang b/htdocs/langs/sw_SW/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/sw_SW/suppliers.lang +++ b/htdocs/langs/sw_SW/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/sw_SW/trips.lang b/htdocs/langs/sw_SW/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/sw_SW/trips.lang +++ b/htdocs/langs/sw_SW/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/sw_SW/users.lang b/htdocs/langs/sw_SW/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/sw_SW/users.lang +++ b/htdocs/langs/sw_SW/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/sw_SW/workflow.lang b/htdocs/langs/sw_SW/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/sw_SW/workflow.lang +++ b/htdocs/langs/sw_SW/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/th_TH/accountancy.lang b/htdocs/langs/th_TH/accountancy.lang index bb9b358c045..8a77feacba3 100644 --- a/htdocs/langs/th_TH/accountancy.lang +++ b/htdocs/langs/th_TH/accountancy.lang @@ -1,160 +1,166 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +ACCOUNTING_EXPORT_SEPARATORCSV=คั่นคอลัมน์สำหรับแฟ้มส่งออก +ACCOUNTING_EXPORT_DATE=รูปแบบวันที่สำหรับไฟล์การส่งออก +ACCOUNTING_EXPORT_PIECE=การส่งออกจำนวนของชิ้น? +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=ส่งออกกับบัญชีทั่วโลกหรือไม่ +ACCOUNTING_EXPORT_LABEL=ส่งออกฉลาก? +ACCOUNTING_EXPORT_AMOUNT=การส่งออกจำนวน? +ACCOUNTING_EXPORT_DEVISE=ส่งออกประดิษฐ์? -Accounting=Accounting -Globalparameters=Global parameters -Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years -Menuaccount=Accounting accounts -Menuthirdpartyaccount=Thirdparty accounts -MenuTools=Tools +Accounting=การบัญชี +Globalparameters=พารามิเตอร์ทั่วโลก +Chartofaccounts=ผังบัญชี +Fiscalyear=รอบระยะเวลาบัญชี +Menuaccount=บัญชีการบัญชี +Menuthirdpartyaccount=บัญชี Thirdparty +MenuTools=เครื่องมือ -ConfigAccountingExpert=Configuration of the module accounting expert -Journaux=Journals -JournalFinancial=Financial journals -Exports=Exports -Export=Export -Modelcsv=Model of export -OptionsDeactivatedForThisExportModel=For this export model, options are deactivated -Selectmodelcsv=Select a model of export -Modelcsv_normal=Classic export -Modelcsv_CEGID=Export towards CEGID Expert -BackToChartofaccounts=Return chart of accounts -Back=Return +ConfigAccountingExpert=การกำหนดค่าของบัญชีโมดูลผู้เชี่ยวชาญ +Journaux=วารสาร +JournalFinancial=วารสารการเงิน +Exports=การส่งออก +Export=ส่งออก +Modelcsv=รูปแบบของการส่งออก +OptionsDeactivatedForThisExportModel=สำหรับรูปแบบการส่งออกนี้ตัวเลือกที่จะปิดการใช้งาน +Selectmodelcsv=เลือกรูปแบบของการส่งออก +Modelcsv_normal=การส่งออกคลาสสิก +Modelcsv_CEGID=การส่งออกที่มีต่อ CEGID ผู้เชี่ยวชาญ +BackToChartofaccounts=กลับผังบัญชี +Back=กลับ -Definechartofaccounts=Define a chart of accounts -Selectchartofaccounts=Select a chart of accounts -Validate=Validate -Addanaccount=Add an accounting account -AccountAccounting=Accounting account -Ventilation=Breakdown -ToDispatch=To dispatch -Dispatched=Dispatched +Definechartofaccounts=กำหนดผังบัญชี +Selectchartofaccounts=เลือกผังบัญชี +Validate=ตรวจสอบ +Addanaccount=เพิ่มบัญชีบัญชี +AccountAccounting=บัญชีการบัญชี +Ventilation=การเสีย +ToDispatch=ที่จะส่ง +Dispatched=ส่ง -CustomersVentilation=Breakdown customers -SuppliersVentilation=Breakdown suppliers -TradeMargin=Trade margin -Reports=Reports -ByCustomerInvoice=By invoices customers -ByMonth=By Month -NewAccount=New accounting account -Update=Update -List=List -Create=Create -UpdateAccount=Modification of an accounting account -UpdateMvts=Modification of a movement -WriteBookKeeping=Record accounts in general ledger -Bookkeeping=General ledger -AccountBalanceByMonth=Account balance by month +CustomersVentilation=รายละเอียดของลูกค้า +SuppliersVentilation=ซัพพลายเออร์ที่พังทลาย +TradeMargin=อัตรากำไรขั้นต้นการค้า +Reports=รายงาน +ByCustomerInvoice=โดยลูกค้าใบแจ้งหนี้ +ByMonth=โดยเดือน +NewAccount=บัญชีการบัญชีใหม่ +Update=ปรับปรุง +List=รายการ +Create=สร้าง +UpdateAccount=การเปลี่ยนแปลงของบัญชีบัญชี +UpdateMvts=การปรับเปลี่ยนของการเคลื่อนไหว +WriteBookKeeping=บันทึกในบัญชีแยกประเภททั่วไป +Bookkeeping=บัญชีแยกประเภททั่วไป +AccountBalanceByMonth=ยอดเงินในบัญชีโดย -AccountingVentilation=Breakdown accounting -AccountingVentilationSupplier=Breakdown accounting supplier -AccountingVentilationCustomer=Breakdown accounting customer -Line=Line +AccountingVentilation=รายละเอียดบัญชี +AccountingVentilationSupplier=รายละเอียดผู้จัดจำหน่ายบัญชี +AccountingVentilationCustomer=รายละเอียดบัญชีของลูกค้า +Line=สาย -CAHTF=Total purchase supplier HT -InvoiceLines=Lines of invoice to be ventilated -InvoiceLinesDone=Ventilated lines of invoice -IntoAccount=In the accounting account +CAHTF=HT ซัพพลายเออร์ที่ซื้อทั้งหมด +InvoiceLines=เส้นของใบแจ้งหนี้ที่จะต้องมีการระบายอากาศ +InvoiceLinesDone=สายช่องระบายความร้อนของใบแจ้งหนี้ +IntoAccount=ในบัญชีของบัญชี -Ventilate=Ventilate -VentilationAuto=Automatic breakdown +Ventilate=ระบายอากาศ +VentilationAuto=สลายอัตโนมัติ -Processing=Processing -EndProcessing=The end of processing -AnyLineVentilate=Any lines to ventilate -SelectedLines=Selected lines -Lineofinvoice=Line of invoice -VentilatedinAccount=Ventilated successfully in the accounting account -NotVentilatedinAccount=Not ventilated in the accounting account +Processing=การประมวลผล +EndProcessing=ในตอนท้ายของการประมวลผล +AnyLineVentilate=สายการใด ๆ เพื่อระบายอากาศ +SelectedLines=เลือกสาย +Lineofinvoice=สายของใบแจ้งหนี้ +VentilatedinAccount=อากาศถ่ายเทได้ประสบความสำเร็จในบัญชีของบัญชี +NotVentilatedinAccount=การระบายอากาศไม่ได้อยู่ในบัญชีการบัญชี -ACCOUNTING_SEPARATORCSV=Column separator in export file +ACCOUNTING_SEPARATORCSV=คั่นคอลัมน์ในไฟล์การส่งออก -ACCOUNTING_LIMIT_LIST_VENTILATION=Number of elements to be breakdown shown by page (maximum recommended : 50) -ACCOUNTING_LIST_SORT_VENTILATION_TODO=Begin the sorting of the breakdown pages "Has to breakdown" by the most recent elements -ACCOUNTING_LIST_SORT_VENTILATION_DONE=Begin the sorting of the breakdown pages "Breakdown" by the most recent elements +ACCOUNTING_LIMIT_LIST_VENTILATION=จำนวนขององค์ประกอบที่จะเป็นรายละเอียดที่แสดงโดยหน้า (สูงสุดที่แนะนำ: 50) +ACCOUNTING_LIST_SORT_VENTILATION_TODO=เริ่มต้นการเรียงลำดับของรายละเอียดหน้า "มีการสลาย" โดยองค์ประกอบล่าสุด +ACCOUNTING_LIST_SORT_VENTILATION_DONE=เริ่มต้นการเรียงลำดับของรายละเอียดหน้า "ถล่ม" โดยองค์ประกอบล่าสุด -AccountLength=Length of the accounting accounts shown in Dolibarr -AccountLengthDesc=Function allowing to feign a length of accounting account by replacing spaces by the zero figure. This function touches only the display, it does not modify the accounting accounts registered in Dolibarr. For the export, this function is necessary to be compatible with certain software. -ACCOUNTING_LENGTH_GACCOUNT=Length of the general accounts -ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts +AccountLength=ความยาวของบัญชีที่แสดงในบัญชี Dolibarr +AccountLengthDesc=ฟังก์ชั่นที่ช่วยให้การแสร้งความยาวของบัญชีบัญชีโดยการเปลี่ยนพื้นที่โดยตัวเลขที่ศูนย์ ฟังก์ชั่นนี้เพียงสัมผัสหน้าจอก็ไม่ได้ปรับเปลี่ยนบัญชีบัญชีจดทะเบียนใน Dolibarr เพื่อการส่งออก, ฟังก์ชั่นนี้มีความจำเป็นต้องใช้งานร่วมกับซอฟต์แวร์ +ACCOUNTING_LENGTH_GACCOUNT=ความยาวของบัญชีทั่วไป +ACCOUNTING_LENGTH_AACCOUNT=ความยาวของบัญชีของบุคคลที่สาม -ACCOUNTING_SELL_JOURNAL=Sell journal -ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal -ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal -ACCOUNTING_SOCIAL_JOURNAL=Social journal +ACCOUNTING_SELL_JOURNAL=ขายวารสาร +ACCOUNTING_PURCHASE_JOURNAL=วารสารการสั่งซื้อ +ACCOUNTING_MISCELLANEOUS_JOURNAL=วารสารเบ็ดเตล็ด +ACCOUNTING_EXPENSEREPORT_JOURNAL=รายงานค่าใช้จ่ายวารสาร +ACCOUNTING_SOCIAL_JOURNAL=วารสารสังคม -ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer -ACCOUNTING_ACCOUNT_SUSPENSE=Account of wait +ACCOUNTING_ACCOUNT_TRANSFER_CASH=บัญชีการโอน +ACCOUNTING_ACCOUNT_SUSPENSE=บัญชีของการรอคอย -ACCOUNTING_PRODUCT_BUY_ACCOUNT=Accounting account by default for bought products (if not defined in the product sheet) -ACCOUNTING_PRODUCT_SOLD_ACCOUNT=Accounting account by default for the sold products (if not defined in the product sheet) -ACCOUNTING_SERVICE_BUY_ACCOUNT=Accounting account by default for the bought services (if not defined in the service sheet) -ACCOUNTING_SERVICE_SOLD_ACCOUNT=Accounting account by default for the sold services (if not defined in the service sheet) +ACCOUNTING_PRODUCT_BUY_ACCOUNT=บัญชีบัญชีโดยค่าเริ่มต้นสำหรับผลิตภัณฑ์ที่ซื้อ (ถ้าไม่ได้กำหนดไว้ในแผ่นผลิตภัณฑ์) +ACCOUNTING_PRODUCT_SOLD_ACCOUNT=บัญชีบัญชีโดยเริ่มต้นสำหรับผลิตภัณฑ์ที่ขาย (ถ้าไม่ได้กำหนดไว้ในแผ่นผลิตภัณฑ์) +ACCOUNTING_SERVICE_BUY_ACCOUNT=บัญชีบัญชีโดยค่าเริ่มต้นสำหรับการให้บริการซื้อ (ถ้าไม่ได้กำหนดไว้ในแผ่นบริการ) +ACCOUNTING_SERVICE_SOLD_ACCOUNT=บัญชีบัญชีโดยค่าเริ่มต้นสำหรับการให้บริการขาย (ถ้าไม่ได้กำหนดไว้ในแผ่นบริการ) -Doctype=Type of document -Docdate=Date -Docref=Reference -Numerocompte=Account +Doctype=ประเภทของเอกสาร +Docdate=วันที่ +Docref=การอ้างอิง +Numerocompte=บัญชี Code_tiers=Thirdparty -Labelcompte=Label account -Debit=Debit -Credit=Credit -Amount=Amount -Sens=Sens -Codejournal=Journal +Labelcompte=บัญชีฉลาก +Debit=หักบัญชี +Credit=เครดิต +Amount=จำนวน +Sens=ซองส์ +Codejournal=วารสาร -DelBookKeeping=Delete the records of the general ledger +DelBookKeeping=ลบบันทึกบัญชีแยกประเภททั่วไป -SellsJournal=Sells journal -PurchasesJournal=Purchases journal -DescSellsJournal=Sells journal -DescPurchasesJournal=Purchases journal -BankJournal=Bank journal -DescBankJournal=Bank journal including all the types of payments other than cash -CashJournal=Cash journal -DescCashJournal=Cash journal including the type of payment cash +SellsJournal=วารสารขาย +PurchasesJournal=ซื้อวารสาร +DescSellsJournal=วารสารขาย +DescPurchasesJournal=ซื้อวารสาร +BankJournal=ธนาคารวารสาร +DescBankJournal=วารสารธนาคารรวมถึงประเภททั้งหมดของการชำระเงินอื่นที่ไม่ใช่เงินสด +CashJournal=วารสารเงินสด +DescCashJournal=วารสารเงินสดรวมทั้งประเภทของการชำระเงินเงินสด -CashPayment=Cash Payment +CashPayment=ชำระด้วยเงินสด -SupplierInvoicePayment=Payment of invoice supplier -CustomerInvoicePayment=Payment of invoice customer +SupplierInvoicePayment=การชำระเงินของผู้จัดจำหน่ายใบแจ้งหนี้ +CustomerInvoicePayment=การชำระเงินของลูกค้าใบแจ้งหนี้ -ThirdPartyAccount=Thirdparty account +ThirdPartyAccount=บัญชี Thirdparty -NewAccountingMvt=New movement -NumMvts=Number of movement -ListeMvts=List of the movement -ErrorDebitCredit=Debit and Credit cannot have a value at the same time +NewAccountingMvt=การเคลื่อนไหวใหม่ +NumMvts=จำนวนของการเคลื่อนไหว +ListeMvts=รายชื่อของการเคลื่อนไหว +ErrorDebitCredit=เดบิตและเครดิตไม่สามารถมีค่าในเวลาเดียวกัน -ReportThirdParty=List thirdparty account -DescThirdPartyReport=Consult here the list of the thirdparty customers and the suppliers and their accounting accounts +ReportThirdParty=ชื่อบัญชี thirdparty +DescThirdPartyReport=ให้คำปรึกษาที่นี่รายชื่อของลูกค้าและซัพพลายเออร์ thirdparty และบัญชีบัญชีของพวกเขา -ListAccounts=List of the accounting accounts +ListAccounts=รายการบัญชีที่บัญชี -Pcgversion=Version of the plan -Pcgtype=Class of account -Pcgsubtype=Under class of account -Accountparent=Root of the account -Active=Statement +Pcgversion=รุ่นของแผน +Pcgtype=ชั้นบัญชี +Pcgsubtype=ภายใต้ระดับบัญชี +Accountparent=รากของบัญชี +Active=คำแถลง -NewFiscalYear=New fiscal year +NewFiscalYear=ปีงบประมาณใหม่ -DescVentilCustomer=Consult here the annual breakdown accounting of your invoices customers -TotalVente=Total turnover HT -TotalMarge=Total sales margin -DescVentilDoneCustomer=Consult here the list of the lines of invoices customers and their accounting account -DescVentilTodoCustomer=Ventilate your lines of customer invoice with an accounting account -ChangeAccount=Change the accounting account for lines selected by the account: +DescVentilCustomer=ที่นี่ให้คำปรึกษารายละเอียดบัญชีของลูกค้าประจำปีของใบแจ้งหนี้ของคุณ +TotalVente=HT มูลค่าการซื้อขายรวม +TotalMarge=อัตรากำไรขั้นต้นรวมยอดขาย +DescVentilDoneCustomer=ให้คำปรึกษาที่นี่รายชื่อของสายของลูกค้าใบแจ้งหนี้และบัญชีบัญชีของพวกเขา +DescVentilTodoCustomer=ระบายอากาศในสายของคุณใบแจ้งหนี้ลูกค้าที่มีบัญชีการบัญชี +ChangeAccount=เปลี่ยนบัญชีบัญชีสำหรับสายการคัดเลือกจากบัญชี: Vide=- -DescVentilSupplier=Consult here the annual breakdown accounting of your invoices suppliers -DescVentilTodoSupplier=Ventilate your lines of invoice supplier with an accounting account -DescVentilDoneSupplier=Consult here the list of the lines of invoices supplier and their accounting account +DescVentilSupplier=ที่นี่ให้คำปรึกษารายละเอียดบัญชีประจำปีของซัพพลายเออร์ใบแจ้งหนี้ของคุณ +DescVentilTodoSupplier=ระบายอากาศในสายของคุณผู้จัดจำหน่ายใบแจ้งหนี้กับบัญชีการบัญชี +DescVentilDoneSupplier=ให้คำปรึกษาที่นี่รายชื่อของเส้นของผู้จัดจำหน่ายใบแจ้งหนี้และบัญชีบัญชีของพวกเขา -ValidateHistory=Validate Automatically +ValidateHistory=ตรวจสอบโดยอัตโนมัติ -ErrorAccountancyCodeIsAlreadyUse=Error, you cannot delete this accounting account because it is used +ErrorAccountancyCodeIsAlreadyUse=ข้อผิดพลาดที่คุณไม่สามารถลบบัญชีบัญชีนี้เพราะมันถูกนำมาใช้ -FicheVentilation=Breakdown card +FicheVentilation=บัตรพังทลาย diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 6ee60191c3e..e7849d6d440 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -1,1624 +1,1642 @@ # Dolibarr language file - Source file is en_US - admin Foundation=มูลนิธิ -Version=เวอร์ชั่น -VersionProgram=โปรแกรมเวอร์ชั่น -VersionLastInstall=เวอร์ชั่นที่เริ่มติดตั้ง -VersionLastUpgrade=เวอร์ชั่นที่อัพเกรดล่าสุด -VersionExperimental=Experimental -VersionDevelopment=การพัฒนา -VersionUnknown=ไม่มีข้อมูล +Version=รุ่น +VersionProgram=โปรแกรมรุ่น +VersionLastInstall=เริ่มต้นรุ่นที่ติดตั้ง +VersionLastUpgrade=เวอร์ชั่นอัพเกรดล่าสุด +VersionExperimental=การทดลอง +VersionDevelopment=พัฒนาการ +VersionUnknown=ไม่ทราบ VersionRecommanded=แนะนำ -FileCheck=Files Integrity -FilesMissing=Missing Files -FilesUpdated=Updated Files -FileCheckDolibarr=Check Dolibarr Files Integrity -XmlNotFound=Xml File of Dolibarr Integrity Not Found -SessionId=Session ID -SessionSaveHandler=Handler to save sessions -SessionSavePath=Storage session localization -PurgeSessions=Purge of sessions -ConfirmPurgeSessions=Do you really want to purge all sessions ? This will disconnect every user (except yourself). -NoSessionListWithThisHandler=Save session handler configured in your PHP does not allow to list all running sessions. -LockNewSessions=Lock new connections -ConfirmLockNewSessions=Are you sure you want to restrict any new Dolibarr connection to yourself. Only user %s will be able to connect after that. -UnlockNewSessions=Remove connection lock -YourSession=Your session -Sessions=Users session -WebUserGroup=Web server user/group -NoSessionFound=Your PHP seems to not allow to list active sessions. Directory used to save sessions (%s) might be protected (For example, by OS permissions or by PHP directive open_basedir). -HTMLCharset=Charset สำหรับสร้างหน้า HTML -DBStoringCharset=Database charset สำหรับเก็บข้อมูล -DBSortingCharset=Database charset สำหรับเรียงข้อมูล -WarningModuleNotActive=โมดูล %s จะต้องเปิดใช้งาน -WarningOnlyPermissionOfActivatedModules=Only permissions related to activated modules are shown here. You can activate other modules in the Home->Setup->Modules page. -DolibarrSetup=ติดตั้ง Dolibarr หรืออัพเกรด +FileCheck=ความสมบูรณ์ของไฟล์ +FilesMissing=ไฟล์ที่ขาดหายไป +FilesUpdated=ไฟล์ล่าสุด +FileCheckDolibarr=ตรวจสอบความสมบูรณ์ของไฟล์ Dolibarr +XmlNotFound=ไฟล์ XML ของ Dolibarr ซื่อสัตย์ไม่พบ +SessionId=ID เซสชั่น +SessionSaveHandler=จัดการที่จะบันทึกการประชุม +SessionSavePath=การจัดเก็บข้อมูลการแปลเซสชั่น +PurgeSessions=ล้างของการประชุม +ConfirmPurgeSessions=คุณต้องการที่จะล้างการประชุมทั้งหมดหรือไม่ ซึ่งจะตัดการเชื่อมต่อผู้ใช้ทุกคน (ยกเว้นตัวเอง) +NoSessionListWithThisHandler=จัดการประหยัดเซสชั่นการกำหนดค่าใน PHP ของคุณไม่อนุญาตให้มีการแสดงรายการทั้งหมดประชุมทำงาน +LockNewSessions=ล็อคการเชื่อมต่อใหม่ +ConfirmLockNewSessions=คุณแน่ใจหรือว่าต้องการ จำกัด การเชื่อมต่อ Dolibarr ใหม่ ๆ ให้กับตัวเอง ผู้ใช้% s เท่านั้นที่จะสามารถเชื่อมต่อหลังจากนั้น +UnlockNewSessions=ถอดตัวล็อคเชื่อมต่อ +YourSession=เซสชั่นของคุณ +Sessions=เซสชั่นผู้ใช้ +WebUserGroup=ผู้ใช้เว็บเซิร์ฟเวอร์ / กลุ่ม +NoSessionFound=PHP ของคุณดูเหมือนว่าจะไม่อนุญาตให้มีการแสดงรายการการประชุมที่ใช้งาน ไดเรกทอรีที่ใช้ในการบันทึกการประชุม (% s) อาจได้รับการคุ้มครอง (ตัวอย่างเช่นโดยการใช้สิทธิ์ OS หรือ PHP สั่ง open_basedir) +HTMLCharset=charset สำหรับสร้างหน้าเว็บ HTML +DBStoringCharset=ฐานข้อมูล charset ในการเก็บข้อมูล +DBSortingCharset=ฐานข้อมูล charset ในการจัดเรียงข้อมูล +WarningModuleNotActive=% s โมดูลต้องเปิดใช้งาน +WarningOnlyPermissionOfActivatedModules=สิทธิ์เฉพาะที่เกี่ยวข้องกับการเปิดใช้งานโมดูลจะแสดงที่นี่ คุณสามารถเปิดใช้งานโมดูลอื่น ๆ ในหน้าแรก> Setup-> หน้าโมดูล +DolibarrSetup=Dolibarr ติดตั้งหรืออัพเกรด DolibarrUser=ผู้ใช้ Dolibarr -InternalUser= ผู้ใช้ ภายใน -ExternalUser=ผู้ใช้ ภายนอก +InternalUser=ผู้ใช้งานภายใน +ExternalUser=ผู้ใช้ภายนอก InternalUsers=ผู้ใช้ภายใน ExternalUsers=ผู้ใช้ภายนอก -GlobalSetup=การตั้งค่า -GUISetup=การแสดงผล -SetupArea=ส่วนการติดตั้ง -FormToTestFileUploadForm=Form to test file upload (according to setup) -IfModuleEnabled=หมายเหตุ: ใช่ จะมีผลเฉพาะโมดูล %s ที่เปิดใช้งาน -RemoveLock=Remove file %s if it exists to allow usage of the update tool. -RestoreLock=Restore file %s, with read permission only, to disable any usage of update tool. -SecuritySetup=Security setup -ErrorModuleRequirePHPVersion=Error, this module requires PHP version %s or higher -ErrorModuleRequireDolibarrVersion=Error, this module requires Dolibarr version %s or higher -ErrorDecimalLargerThanAreForbidden=Error, a precision higher than %s is not supported. -DictionarySetup=Dictionary setup -Dictionary=Dictionaries -Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years -ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record -ErrorCodeCantContainZero=Code can't contain value 0 -DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) -ConfirmAjax=Use Ajax confirmation popups -UseSearchToSelectCompanyTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant COMPANY_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectCompany=Use autocompletion fields to choose third parties instead of using a list box. -ActivityStateToSelectCompany= Add a filter option to show/hide thirdparties which are currently in activity or has ceased it -UseSearchToSelectContactTooltip=Also if you have a large number of third parties (> 100 000), you can increase speed by setting constant CONTACT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. -UseSearchToSelectContact=Use autocompletion fields to choose contact (instead of using a list box). -DelaiedFullListToSelectCompany=Wait you press a key before loading content of thirdparties combo list (This may increase performance if you have a large number of thirdparties) -DelaiedFullListToSelectContact=Wait you press a key before loading content of contact combo list (This may increase performance if you have a large number of contact) -SearchFilter=Search filters options -NumberOfKeyToSearch=Nbr of characters to trigger search: %s -ViewFullDateActions=Show full dates events in the third sheet -NotAvailableWhenAjaxDisabled=Not available when Ajax disabled -JavascriptDisabled=JavaScript disabled -UsePopupCalendar=Use popup for dates input -UsePreviewTabs=Use preview tabs -ShowPreview=Show preview -PreviewNotAvailable=Preview not available -ThemeCurrentlyActive=Theme currently active -CurrentTimeZone=TimeZone PHP (server) -MySQLTimeZone=TimeZone MySql (database) -TZHasNoEffect=Dates are stored and returned by database server as if they were kept as submited string. The timezone has effect only when using UNIX_TIMESTAMP function (that should not be used by Dolibarr, so database TZ should have no effect, even if changed after data was entered). -Space=Space -Table=Table -Fields=Fields -Index=Index -Mask=Mask -NextValue=Next value -NextValueForInvoices=Next value (invoices) -NextValueForCreditNotes=Next value (credit notes) -NextValueForDeposit=Next value (deposit) -NextValueForReplacements=Next value (replacements) -MustBeLowerThanPHPLimit=Note: your PHP limits each file upload's size to %s %s, whatever this parameter's value is -NoMaxSizeByPHPLimit=Note: No limit is set in your PHP configuration -MaxSizeForUploadedFiles=Maximum size for uploaded files (0 to disallow any upload) -UseCaptchaCode=Use graphical code (CAPTCHA) on login page -UseAvToScanUploadedFiles=Use anti-virus to scan uploaded files -AntiVirusCommand= Full path to antivirus command -AntiVirusCommandExample= Example for ClamWin: c:\\Progra~1\\ClamWin\\bin\\clamscan.exe
Example for ClamAv: /usr/bin/clamscan -AntiVirusParam= More parameters on command line -AntiVirusParamExample= Example for ClamWin: --database="C:\\Program Files (x86)\\ClamWin\\lib" -ComptaSetup=Accounting module setup -UserSetup=User management setup -MenuSetup=Menu management setup -MenuLimits=Limits and accuracy -MenuIdParent=Parent menu ID -DetailMenuIdParent=ID of parent menu (empty for a top menu) -DetailPosition=Sort number to define menu position -PersonalizedMenusNotSupported=Personalized menus not supported -AllMenus=All -NotConfigured=Module not configured -Setup=Setup -Activation=Activation -Active=Active -SetupShort=Setup -OtherOptions=Other options -OtherSetup=Other setup -CurrentValueSeparatorDecimal=Decimal separator -CurrentValueSeparatorThousand=Thousand separator -Destination=Destination -IdModule=Module ID -IdPermissions=Permissions ID -Modules=Modules -ModulesCommon=Main modules -ModulesOther=Other modules -ModulesInterfaces=Interfaces modules -ModulesSpecial=Modules very specific -ParameterInDolibarr=Parameter %s -LanguageParameter=Language parameter %s -LanguageBrowserParameter=Parameter %s -LocalisationDolibarrParameters=Localisation parameters -ClientTZ=Client Time Zone (user) -ClientHour=Client time (user) -OSTZ=Server OS Time Zone -PHPTZ=PHP server Time Zone -PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) -ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) -DaylingSavingTime=Daylight saving time -CurrentHour=PHP Time (server) -CompanyTZ=Company Time Zone (main company) -CompanyHour=Company Time (main company) -CurrentSessionTimeOut=Current session timeout -YouCanEditPHPTZ=To set a different PHP timezone (not required), you can try to add a file .htacces with a line like this "SetEnv TZ Europe/Paris" -OSEnv=OS Environment -Box=Box -Boxes=Boxes -MaxNbOfLinesForBoxes=Max number of lines for boxes -PositionByDefault=Default order -Position=Position -MenusDesc=Menus managers define content of the 2 menu bars (horizontal bar and vertical bar). -MenusEditorDesc=The menu editor allow you to define personalized entries in menus. Use it carefully to avoid making dolibarr unstable and menu entries permanently unreachable.
Some modules add entries in the menus (in menu All in most cases). If you removed some of these entries by mistake, you can restore them by disabling and reenabling the module. -MenuForUsers=Menu for users -LangFile=.lang file -System=System -SystemInfo=System information -SystemTools=System tools -SystemToolsArea=System tools area -SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. -Purge=Purge -PurgeAreaDesc=This page allows you to delete all files built or stored by Dolibarr (temporary files or all files in %s directory). Using this feature is not necessary. It is provided for users whose Dolibarr is hosted by a provider that does not offer permissions to delete files built by the web server. -PurgeDeleteLogFile=Delete log file %s defined for Syslog module (no risk to loose data) -PurgeDeleteTemporaryFiles=Delete all temporary files (no risk to loose data) -PurgeDeleteAllFilesInDocumentsDir=Delete all files in directory %s. Temporary files but also database backup dumps, files attached to elements (third parties, invoices, ...) and uploaded into the ECM module will be deleted. -PurgeRunNow=Purge now -PurgeNothingToDelete=No directory or file to delete. -PurgeNDirectoriesDeleted=%s files or directories deleted. -PurgeAuditEvents=Purge all security events -ConfirmPurgeAuditEvents=Are you sure you want to purge all security events ? All security logs will be deleted, no other data will be removed. -NewBackup=New backup -GenerateBackup=Generate backup -Backup=Backup -Restore=Restore -RunCommandSummary=Backup has been launched with the following command -RunCommandSummaryToLaunch=Backup can be launched with the following command -WebServerMustHavePermissionForCommand=Your web server must have the permission to run such commands -BackupResult=Backup result -BackupFileSuccessfullyCreated=Backup file successfully generated -YouCanDownloadBackupFile=Generated files can now be downloaded -NoBackupFileAvailable=No backup files available. -ExportMethod=Export method -ImportMethod=Import method -ToBuildBackupFileClickHere=To build a backup file, click here. -ImportMySqlDesc=To import a backup file, you must use mysql command from command line: -ImportPostgreSqlDesc=To import a backup file, you must use pg_restore command from command line: -ImportMySqlCommand=%s %s < mybackupfile.sql -ImportPostgreSqlCommand=%s %s mybackupfile.sql -FileNameToGenerate=File name to generate -Compression=Compression -CommandsToDisableForeignKeysForImport=Command to disable foreign keys on import -CommandsToDisableForeignKeysForImportWarning=Mandatory if you want to be able to restore your sql dump later -ExportCompatibility=Compatibility of generated export file -MySqlExportParameters=MySQL export parameters -PostgreSqlExportParameters= PostgreSQL export parameters -UseTransactionnalMode=Use transactional mode -FullPathToMysqldumpCommand=Full path to mysqldump command -FullPathToPostgreSQLdumpCommand=Full path to pg_dump command -ExportOptions=Export Options -AddDropDatabase=Add DROP DATABASE command -AddDropTable=Add DROP TABLE command -ExportStructure=Structure -Datas=Data -NameColumn=Name columns -ExtendedInsert=Extended INSERT -NoLockBeforeInsert=No lock commands around INSERT -DelayedInsert=Delayed insert -EncodeBinariesInHexa=Encode binary data in hexadecimal -IgnoreDuplicateRecords=Ignore errors of duplicate records (INSERT IGNORE) -Yes=Yes -No=No -AutoDetectLang=Autodetect (browser language) -FeatureDisabledInDemo=Feature disabled in demo -Rights=Permissions -BoxesDesc=Boxes are screen area that show a piece of information on some pages. You can choose between showing the box or not by selecting target page and clicking 'Activate', or by clicking the dustbin to disable it. -OnlyActiveElementsAreShown=Only elements from enabled modules are shown. -ModulesDesc=Dolibarr modules define which functionality is enabled in software. Some modules require permissions you must grant to users, after enabling module. Click on button on/off in column "Status" to enable a module/feature. -ModulesInterfaceDesc=The Dolibarr modules interface allows you to add features depending on external software, systems or services. -ModulesSpecialDesc=Special modules are very specific or seldom used modules. -ModulesJobDesc=Business modules provide simple predefined setup of Dolibarr for a particular business. -ModulesMarketPlaceDesc=You can find more modules to download on external web sites on the Internet... -ModulesMarketPlaces=More modules... -DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules -DoliPartnersDesc=List with some companies that can provide/develop on-demand modules or features (Note: any Open Source company knowning PHP language can provide you specific development) -WebSiteDesc=Web site providers you can search to find more modules... -URL=Link -BoxesAvailable=Boxes available -BoxesActivated=Boxes activated -ActivateOn=Activate on -ActiveOn=Activated on -SourceFile=Source file -AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled -AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled -Required=Required -UsedOnlyWithTypeOption=Used by some agenda option only -Security=Security -Passwords=Passwords -DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) -MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" -ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) -ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). -Feature=Feature -DolibarrLicense=License -DolibarrProjectLeader=Project leader -Developpers=Developers/contributors -OtherDeveloppers=Other developers/contributors -OfficialWebSite=Dolibarr international official web site -OfficialWebSiteFr=French official web site -OfficialWiki=Dolibarr documentation on Wiki -OfficialDemo=Dolibarr online demo -OfficialMarketPlace=Official market place for external modules/addons -OfficialWebHostingService=Referenced web hosting services (Cloud hosting) -ReferencedPreferredPartners=Preferred Partners -OtherResources=Autres ressources -ForDocumentationSeeWiki=For user or developer documentation (Doc, FAQs...),
take a look at the Dolibarr Wiki:
%s -ForAnswersSeeForum=For any other questions/help, you can use the Dolibarr forum:
%s -HelpCenterDesc1=This area can help you to get a Help support service on Dolibarr. -HelpCenterDesc2=Some part of this service are available in english only. -CurrentTopMenuHandler=Current top menu handler -CurrentLeftMenuHandler=Current left menu handler -CurrentMenuHandler=Current menu handler -CurrentSmartphoneMenuHandler=Current smartphone menu handler -MeasuringUnit=Measuring unit -Emails=E-mails -EMailsSetup=E-mails setup -EMailsDesc=This page allows you to overwrite your PHP parameters for e-mails sending. In most cases on Unix/Linux OS, your PHP setup is correct and these parameters are useless. -MAIN_MAIL_SMTP_PORT=SMTP/SMTPS Port (By default in php.ini: %s) -MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (By default in php.ini: %s) -MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP/SMTPS Port (Not defined into PHP on Unix like systems) -MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Not defined into PHP on Unix like systems) -MAIN_MAIL_EMAIL_FROM=Sender e-mail for automatic emails (By default in php.ini: %s) -MAIN_MAIL_ERRORS_TO=Sender e-mail used for error returns emails sent -MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to -MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Send systematically a hidden carbon-copy of proposals sent by email to -MAIN_MAIL_AUTOCOPY_ORDER_TO= Send systematically a hidden carbon-copy of orders sent by email to -MAIN_MAIL_AUTOCOPY_INVOICE_TO= Send systematically a hidden carbon-copy of invoice sent by emails to -MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) -MAIN_MAIL_SENDMODE=Method to use to send EMails -MAIN_MAIL_SMTPS_ID=SMTP ID if authentication required -MAIN_MAIL_SMTPS_PW=SMTP Password if authentication required -MAIN_MAIL_EMAIL_TLS= Use TLS (SSL) encrypt -MAIN_DISABLE_ALL_SMS=Disable all SMS sendings (for test purposes or demos) -MAIN_SMS_SENDMODE=Method to use to send SMS -MAIN_MAIL_SMS_FROM=Default sender phone number for Sms sending -FeatureNotAvailableOnLinux=Feature not available on Unix like systems. Test your sendmail program locally. -SubmitTranslation=If translation for this language is not complete or you find errors, you can correct this by editing files into directory langs/%s and submit modified files on www.dolibarr.org forum. -ModuleSetup=Module setup -ModulesSetup=Modules setup -ModuleFamilyBase=System -ModuleFamilyCrm=Customer Relation Management (CRM) -ModuleFamilyProducts=Products Management -ModuleFamilyHr=Human Resource Management -ModuleFamilyProjects=Projects/Collaborative work -ModuleFamilyOther=Other -ModuleFamilyTechnic=Multi-modules tools -ModuleFamilyExperimental=Experimental modules -ModuleFamilyFinancial=Financial Modules (Accounting/Treasury) -ModuleFamilyECM=Electronic Content Management (ECM) -MenuHandlers=Menu handlers -MenuAdmin=Menu editor -DoNotUseInProduction=Do not use in production -ThisIsProcessToFollow=This is setup to process: -ThisIsAlternativeProcessToFollow=This is an alternative setup to process: -StepNb=Step %s -FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s -SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. -NotExistsDirect=The alternative root directory is not defined.
-InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
-InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: -CurrentVersion=Dolibarr current version -CallUpdatePage=Go to the page that updates the database structure and datas: %s. -LastStableVersion=Last stable version -UpdateServerOffline=Update server offline -GenericMaskCodes=You may enter any numbering mask. In this mask, the following tags could be used:
{000000} corresponds to a number which will be incremented on each %s. Enter as many zeros as the desired length of the counter. The counter will be completed by zeros from the left in order to have as many zeros as the mask.
{000000+000} same as previous but an offset corresponding to the number to the right of the + sign is applied starting on first %s.
{000000@x} same as previous but the counter is reset to zero when month x is reached (x between 1 and 12, or 0 to use the early months of fiscal year defined in your configuration, or 99 to reset to zero every month). If this option is used and x is 2 or higher, then sequence {yy}{mm} or {yyyy}{mm} is also required.
{dd} day (01 to 31).
{mm} month (01 to 12).
{yy}, {yyyy} or {y} year over 2, 4 or 1 numbers.
-GenericMaskCodes2={cccc} the client code on n characters
{cccc000} the client code on n characters is followed by a counter dedicated for customer. This counter dedicated to customer is reset at same time than global counter.
{tttt} The code of thirdparty type on n characters (see dictionary-thirdparty types).
-GenericMaskCodes3=All other characters in the mask will remain intact.
Spaces are not allowed.
-GenericMaskCodes4a=Example on the 99th %s of the third party TheCompany done 2007-01-31:
-GenericMaskCodes4b=Example on third party created on 2007-03-01:
-GenericMaskCodes4c=Example on product created on 2007-03-01:
-GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
{0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX -GenericNumRefModelDesc=Returns a customizable number according to a defined mask. -ServerAvailableOnIPOrPort=Server is available at address %s on port %s -ServerNotAvailableOnIPOrPort=Server is not available at address %s on port %s -DoTestServerAvailability=Test server connectivity -DoTestSend=Test sending -DoTestSendHTML=Test sending HTML -ErrorCantUseRazIfNoYearInMask=Error, can't use option @ to reset counter each year if sequence {yy} or {yyyy} is not in mask. -ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Error, can't use option @ if sequence {yy}{mm} or {yyyy}{mm} is not in mask. -UMask=UMask parameter for new files on Unix/Linux/BSD/Mac file system. -UMaskExplanation=This parameter allow you to define permissions set by default on files created by Dolibarr on server (during upload for example).
It must be the octal value (for example, 0666 means read and write for everyone).
This parameter is useless on a Windows server. -SeeWikiForAllTeam=Take a look at the wiki page for full list of all actors and their organisation -UseACacheDelay= Delay for caching export response in seconds (0 or empty for no cache) -DisableLinkToHelpCenter=Hide link "Need help or support" on login page -DisableLinkToHelp=Hide link "%s Online help" on left menu -AddCRIfTooLong=There is no automatic wrapping, so if line is out of page on documents because too long, you must add yourself carriage returns in the textarea. -ModuleDisabled=Module disabled -ModuleDisabledSoNoEvent=Module disabled so event never created -ConfirmPurge=Are you sure you want to execute this purge ?
This will delete definitely all your data files with no way to restore them (ECM files, attached files...). -MinLength=Minimum length -LanguageFilesCachedIntoShmopSharedMemory=Files .lang loaded in shared memory -ExamplesWithCurrentSetup=Examples with current running setup -ListOfDirectories=List of OpenDocument templates directories -ListOfDirectoriesForModelGenODT=List of directories containing templates files with OpenDocument format.

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

Files in those directories must end with .odt. -NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories -ExampleOfDirectoriesForModelGen=Examples of syntax:
c:\\mydir
/home/mydir
DOL_DATA_ROOT/ecm/ecmdir -FollowingSubstitutionKeysCanBeUsed=
To know how to create your odt document templates, before storing them in those directories, read wiki documentation: +GlobalSetup=การติดตั้งทั่วโลก +GUISetup=แสดง +SetupArea=พื้นที่ติดตั้ง +FormToTestFileUploadForm=แบบทดสอบการอัปโหลดไฟล์ (ตามการตั้งค่า) +IfModuleEnabled=หมายเหตุ: ใช่จะมีผลเฉพาะถ้าโมดูล% s ถูกเปิดใช้งาน +RemoveLock=ลบไฟล์% s ถ้ามันมีอยู่เพื่อช่วยให้การใช้งานของเครื่องมือการปรับปรุง +RestoreLock=เรียกคืนไฟล์% s ที่มีสิทธิ์ในการอ่านเท่านั้นที่จะปิดการใช้งานของเครื่องมือการปรับปรุงใด ๆ +SecuritySetup=การตั้งค่าการรักษาความปลอดภัย +ErrorModuleRequirePHPVersion=ข้อผิดพลาดนี้ต้องใช้โมดูล PHP รุ่น% s หรือสูงกว่า +ErrorModuleRequireDolibarrVersion=ข้อผิดพลาดในโมดูลนี้ต้อง s Dolibarr รุ่น% หรือสูงกว่า +ErrorDecimalLargerThanAreForbidden=ข้อผิดพลาด, ความแม่นยำสูงกว่า% s ไม่ได้รับการสนับสนุน +DictionarySetup=การติดตั้งพจนานุกรม +Dictionary=พจนานุกรม +Chartofaccounts=ผังบัญชี +Fiscalyear=รอบระยะเวลาบัญชี +ErrorReservedTypeSystemSystemAuto=ค่า 'ระบบ' และ 'systemauto' สำหรับประเภทถูกสงวนไว้ คุณสามารถใช้ 'ของผู้ใช้เป็นค่าที่จะเพิ่มบันทึกของคุณเอง +ErrorCodeCantContainZero=รหัสไม่สามารถมีค่า 0 +DisableJavascript=ปิดการใช้งาน JavaScript และฟังก์ชั่นอาแจ็กซ์ (แนะนำสำหรับคนตาบอดหรือเบราว์เซอร์ข้อความ) +ConfirmAjax=ใช้ป๊อบอัพอาแจ็กซ์ยืนยัน +UseSearchToSelectCompanyTooltip=นอกจากนี้ถ้าคุณมีจำนวนมากของบุคคลที่สาม (> 100 000) คุณสามารถเพิ่มความเร็วโดยการตั้งค่า COMPANY_DONOTSEARCH_ANYWHERE คงเป็น 1 ใน Setup-> อื่น ๆ ค้นหาแล้วจะถูก จำกัด ในการเริ่มต้นของสตริง +UseSearchToSelectCompany=ใช้ฟิลด์เติมข้อความอัตโนมัติที่จะเลือกบุคคลที่สามแทนการใช้กล่องรายการ +ActivityStateToSelectCompany= เพิ่มตัวเลือกตัวกรองเพื่อแสดง / ซ่อน thirdparties ซึ่งกำลังอยู่ในกิจกรรมหรือได้หยุดมัน +UseSearchToSelectContactTooltip=นอกจากนี้ถ้าคุณมีจำนวนมากของบุคคลที่สาม (> 100 000) คุณสามารถเพิ่มความเร็วโดยการตั้งค่า CONTACT_DONOTSEARCH_ANYWHERE คงเป็น 1 ใน Setup-> อื่น ๆ ค้นหาแล้วจะถูก จำกัด ในการเริ่มต้นของสตริง +UseSearchToSelectContact=ใช้ฟิลด์การเติมข้อความอัตโนมัติให้เลือกติดต่อ (แทนการใช้กล่องรายการ) +DelaiedFullListToSelectCompany=รอคุณกดปุ่มก่อนที่จะโหลดของเนื้อหา thirdparties รายการคำสั่งผสม (ซึ่งอาจจะเพิ่มประสิทธิภาพการทำงานถ้าคุณมีจำนวนมากของ thirdparties) +DelaiedFullListToSelectContact=รอคุณกดปุ่มก่อนที่จะโหลดเนื้อหาของการติดต่อรายการคำสั่งผสม (ซึ่งอาจจะเพิ่มประสิทธิภาพการทำงานถ้าคุณมีจำนวนมากของการติดต่อ) +SearchFilter=ค้นหาตัวกรองตัวเลือก +NumberOfKeyToSearch=Nbr ของตัวละครที่จะเรียกการค้นหา:% s +ViewFullDateActions=แสดงกิจกรรมเต็มรูปแบบในวันที่สามแผ่น +NotAvailableWhenAjaxDisabled=ไม่สามารถใช้ได้เมื่ออาแจ็กซ์ปิดการใช้งาน +JavascriptDisabled=ปิดใช้งาน JavaScript +UsePopupCalendar=ใช้สำหรับใส่ป๊อปอัพวันที่ +UsePreviewTabs=ใช้แท็บตัวอย่าง +ShowPreview=แสดงตัวอย่าง +PreviewNotAvailable=ตัวอย่างที่ไม่สามารถใช้ได้ +ThemeCurrentlyActive=รูปแบบที่ใช้งานอยู่ในปัจจุบัน +CurrentTimeZone=เขต PHP (เซิร์ฟเวอร์) +MySQLTimeZone=เขตฐาน (ฐานข้อมูล) +TZHasNoEffect=วันที่มีการจัดเก็บและส่งกลับโดยเซิร์ฟเวอร์ฐานข้อมูลราวกับว่าพวกเขาจะถูกเก็บไว้เป็นสตริงยื่น เขตมีผลเฉพาะเมื่อใช้ฟังก์ชั่น UNIX_TIMESTAMP (ที่ไม่ควรนำมาใช้โดย Dolibarr ดังนั้นฐานข้อมูล TZ ควรจะมีไม่มีผลกระทบแม้ว่าการเปลี่ยนแปลงหลังจากถูกป้อนข้อมูล) +Space=ช่องว่าง +Table=ตาราง +Fields=ทุ่ง +Index=ดัชนี +Mask=หน้ากาก +NextValue=ค่าถัดไป +NextValueForInvoices=ค่าถัดไป (ใบแจ้งหนี้) +NextValueForCreditNotes=ค่าถัดไป (บันทึกเครดิต) +NextValueForDeposit=ค่าถัดไป (เงินฝาก) +NextValueForReplacements=ค่าถัดไป (เปลี่ยน) +MustBeLowerThanPHPLimit=หมายเหตุ: PHP ของคุณ จำกัด ขนาดอัปโหลดไฟล์แต่ละ% s% s สิ่งที่ค่าพารามิเตอร์นี้คือ +NoMaxSizeByPHPLimit=หมายเหตุ: ไม่ จำกัด มีการตั้งค่าในการกำหนดค่าของ PHP +MaxSizeForUploadedFiles=ขนาดสูงสุดของไฟล์ที่อัปโหลด (0 ไม่อนุญาตให้อัปโหลดใด ๆ ) +UseCaptchaCode=ใช้รหัสแบบกราฟิก (CAPTCHA) บนหน้าเข้าสู่ระบบ +UseAvToScanUploadedFiles=ใช้ป้องกันไวรัสในการสแกนไฟล์ที่อัปโหลด +AntiVirusCommand= เส้นทางแบบเต็มคำสั่งป้องกันไวรัส +AntiVirusCommandExample= ตัวอย่าง ClamWin: c: \\ Progra ~ 1 \\ ClamWin \\ bin \\ clamscan.exe
ตัวอย่าง ClamAV: / usr / bin / clamscan +AntiVirusParam= พารามิเตอร์เพิ่มเติมเกี่ยวกับบรรทัดคำสั่ง +AntiVirusParamExample= ตัวอย่าง ClamWin: --database = "C: \\ Program Files (x86) \\ ClamWin \\ lib" +ComptaSetup=บัญชีการติดตั้งโมดูล +UserSetup=การตั้งค่าการจัดการผู้ใช้ +MenuSetup=เมนูการตั้งค่าการจัดการ +MenuLimits=ข้อ จำกัด และความถูกต้อง +MenuIdParent=ID เมนูผู้ปกครอง +DetailMenuIdParent=ID ของเมนูปกครอง (ที่ว่างเปล่าสำหรับเมนูด้านบน) +DetailPosition=เรียงลำดับหมายเลขในการกำหนดตำแหน่งที่เมนู +PersonalizedMenusNotSupported=เมนูส่วนบุคคลไม่ได้รับการสนับสนุน +AllMenus=ทั้งหมด +NotConfigured=โมดูลไม่ได้กำหนดค่า +Setup=การติดตั้ง +Activation=การกระตุ้น +Active=กระตือรือร้น +SetupShort=การติดตั้ง +OtherOptions=ตัวเลือกอื่น ๆ +OtherSetup=ตั้งค่าอื่น ๆ +CurrentValueSeparatorDecimal=คั่นทศนิยม +CurrentValueSeparatorThousand=พันคั่น +Destination=ปลายทาง +IdModule=โมดูล ID +IdPermissions=ID สิทธิ์ +Modules=โมดูล +ModulesCommon=โมดูลหลัก +ModulesOther=โมดูลอื่น ๆ +ModulesInterfaces=การเชื่อมต่อโมดูล +ModulesSpecial=โมดูลที่เฉพาะเจาะจงมาก +ParameterInDolibarr=s พารามิเตอร์% +LanguageParameter=ภาษาพารามิเตอร์% s +LanguageBrowserParameter=s พารามิเตอร์% +LocalisationDolibarrParameters=พารามิเตอร์ภาษาท้องถิ่น +ClientTZ=โซนเวลาไคลเอ็นต์ (ผู้ใช้) +ClientHour=เวลาไคลเอ็นต์ (ผู้ใช้) +OSTZ=ระบบปฏิบัติการเซิร์ฟเวอร์โซนเวลา +PHPTZ=PHP เซิร์ฟเวอร์โซนเวลา +PHPServerOffsetWithGreenwich=PHP เซิร์ฟเวอร์ชดเชยความกว้างมาตรฐานกรีนิช (วินาที) +ClientOffsetWithGreenwich=Client / เบราว์เซอร์ชดเชยความกว้างมาตรฐานกรีนิช (วินาที) +DaylingSavingTime=ปรับเวลาตามฤดูกาล +CurrentHour=PHP เวลา (เซิร์ฟเวอร์) +CompanyTZ=บริษัท Time Zone (บริษัท หลัก) +CompanyHour=เวลา บริษัท (บริษัท หลัก) +CurrentSessionTimeOut=หมดเวลาการใช้งานปัจจุบัน +YouCanEditPHPTZ=การตั้งค่าเขตเวลาที่แตกต่างกัน PHP (ไม่จำเป็น) คุณสามารถพยายามที่จะเพิ่ม .htacces ไฟล์ที่มีสายเช่นนี้ "SetEnv TZ ยุโรป / ปารีส" +OSEnv=ระบบปฏิบัติการสิ่งแวดล้อม +Box=กล่อง +Boxes=กล่อง +MaxNbOfLinesForBoxes=จำนวนสูงสุดของสายสำหรับกล่อง +PositionByDefault=เพื่อเริ่มต้น +Position=ตำแหน่ง +MenusDesc=ผู้จัดการเมนูกำหนดเนื้อหาของแถบเมนู 2 (แถบแนวนอนและแถบแนวตั้ง) +MenusEditorDesc=แก้ไขเมนูช่วยให้คุณสามารถกำหนดรายการส่วนบุคคลในเมนู ใช้มันอย่างระมัดระวังเพื่อหลีกเลี่ยงการทำ dolibarr ไม่เสถียรและรายการเมนูที่ไม่สามารถเข้าถึงได้อย่างถาวร
บางโมดูลเพิ่มรายการในเมนู (ในเมนูทั้งหมดในกรณีส่วนใหญ่) ถ้าคุณเอาบางส่วนของรายการเหล่านี้โดยไม่ได้ตั้งใจคุณสามารถเรียกคืนได้โดยการปิดและ reenabling โมดูล +MenuForUsers=เมนูสำหรับผู้ใช้ +LangFile=ไฟล์ .lang +System=ระบบ +SystemInfo=ข้อมูลของระบบ +SystemToolsArea=พื้นที่เครื่องมือของระบบ +SystemToolsAreaDesc=บริเวณนี้มีคุณสมบัติการบริหาร ใช้เมนูเพื่อเลือกคุณลักษณะที่คุณกำลังมองหา +Purge=ล้าง +PurgeAreaDesc=หน้านี้ช่วยให้คุณสามารถลบไฟล์ทั้งหมดที่สร้างขึ้นหรือจัดเก็บโดย Dolibarr (ไฟล์ชั่วคราวหรือไฟล์ทั้งหมดในไดเรกทอรี% s) การใช้คุณลักษณะนี้ไม่จำเป็น มันมีไว้สำหรับผู้ใช้ที่มี Dolibarr เป็นเจ้าภาพโดยผู้ให้บริการที่ไม่ได้มีสิทธิ์ในการลบไฟล์ที่สร้างขึ้นโดยเว็บเซิร์ฟเวอร์ +PurgeDeleteLogFile=ลบแฟ้มบันทึก% s กำหนดไว้สำหรับโมดูล Syslog (ความเสี่ยงข้อมูลหลวมไม่ได้) +PurgeDeleteTemporaryFiles=ลบไฟล์ชั่วคราวทั้งหมด (ไม่มีความเสี่ยงที่จะสูญเสียข้อมูล) +PurgeDeleteAllFilesInDocumentsDir=ลบไฟล์ทั้งหมดในไดเรกทอรี% s แฟ้มชั่วคราว แต่ยังทิ้งการสำรองฐานข้อมูลไฟล์ที่แนบมากับองค์ประกอบ (บุคคลที่สาม, ใบแจ้งหนี้, ... ) และอัปโหลดลงในโมดูล ECM จะถูกลบออก +PurgeRunNow=ล้างในขณะนี้ +PurgeNothingToDelete=ไม่มีไดเรกทอรีหรือไฟล์ที่จะลบ +PurgeNDirectoriesDeleted=% ไฟล์หรือไดเรกทอรีลบ +PurgeAuditEvents=ล้างทุกเหตุการณ์การรักษาความปลอดภัย +ConfirmPurgeAuditEvents=คุณแน่ใจหรือว่าต้องการล้างเหตุการณ์การรักษาความปลอดภัยทั้งหมดหรือไม่ บันทึกการรักษาความปลอดภัยทั้งหมดจะถูกลบไม่มีข้อมูลอื่น ๆ จะถูกลบออก +NewBackup=การสำรองข้อมูลใหม่ +GenerateBackup=สร้างการสำรองข้อมูล +Backup=การสำรองข้อมูล +Restore=ฟื้นฟู +RunCommandSummary=การสำรองข้อมูลได้รับการเปิดตัวที่มีคำสั่งต่อไป +RunCommandSummaryToLaunch=การสำรองข้อมูลสามารถเปิดด้วยคำสั่งดังต่อไปนี้ +WebServerMustHavePermissionForCommand=เว็บเซิร์ฟเวอร์ของคุณจะต้องได้รับอนุญาตให้เรียกใช้คำสั่งดังกล่าว +BackupResult=ผลการสำรองข้อมูล +BackupFileSuccessfullyCreated=แฟ้มสำรองข้อมูลที่สร้างที่ประสบความสำเร็จ +YouCanDownloadBackupFile=ไฟล์ที่สร้างขึ้นในขณะนี้สามารถดาวน์โหลดได้ +NoBackupFileAvailable=ไม่มีไฟล์สำรองข้อมูลที่มี +ExportMethod=วิธีการส่งออก +ImportMethod=วิธีนำเข้า +ToBuildBackupFileClickHere=เพื่อสร้างแฟ้มสำรองข้อมูลคลิก ที่นี่ +ImportMySqlDesc=ที่จะนำเข้าแฟ้มสำรองข้อมูลคุณต้องใช้คำสั่ง MySQL จากบรรทัดคำสั่ง: +ImportPostgreSqlDesc=ที่จะนำเข้าแฟ้มสำรองข้อมูลคุณต้องใช้คำสั่ง pg_restore จากบรรทัดคำสั่ง: +ImportMySqlCommand=% s% s โมดูลที่เปิดใช้งาน จะแสดง +ModulesDesc=โมดูล Dolibarr กำหนดฟังก์ชั่นที่มีการใช้งานซอฟต์แวร์ โมดูลบางอย่างต้องใช้สิทธิ์ของคุณต้องให้กับผู้ใช้งานหลังจากการเปิดใช้งานโมดูล คลิกที่ปุ่มเปิด / ปิดในคอลัมน์ "สถานะ" เพื่อเปิดใช้งานโมดูล / คุณลักษณะ +ModulesInterfaceDesc=อินเตอร์เฟซโมดูล Dolibarr ช่วยให้คุณสามารถเพิ่มคุณสมบัติขึ้นอยู่กับซอฟต์แวร์ระบบภายนอกหรือบริการ +ModulesSpecialDesc=โมดูลพิเศษโมดูลที่เฉพาะเจาะจงมากหรือไม่ค่อยมีใครใช้ +ModulesJobDesc=โมดูลธุรกิจให้การตั้งค่าที่กำหนดไว้ล่วงหน้าที่เรียบง่ายของ Dolibarr สำหรับธุรกิจโดยเฉพาะอย่างยิ่ง +ModulesMarketPlaceDesc=คุณสามารถค้นหาโมดูลมากขึ้นในการดาวน์โหลดจากเว็บไซต์ภายนอกบนอินเทอร์เน็ต ... +ModulesMarketPlaces=โมดูลอื่น ๆ ... +DoliStoreDesc=DoliStore สถานที่อย่างเป็นทางการสำหรับตลาด Dolibarr ERP / CRM โมดูลภายนอก +DoliPartnersDesc=รายการที่มีบาง บริษัท ที่สามารถให้บริการ / พัฒนาโมดูลตามความต้องการหรือคุณลักษณะ (หมายเหตุ: บริษัท ใด บริษัท ที่มาเปิด knowning ภาษา PHP สามารถให้คุณพัฒนาเฉพาะ) +WebSiteDesc=ผู้ให้บริการเว็บไซต์คุณสามารถค้นหาเพื่อหาโมดูลเพิ่มเติม ... +URL=ลิงค์ +BoxesAvailable=กล่องที่มีอยู่ +BoxesActivated=กล่องเปิดใช้งาน +ActivateOn=เปิดใช้งานบน +ActiveOn=เปิดใช้งานใน +SourceFile=แฟ้มแหล่งที่มา +AutomaticIfJavascriptDisabled=อัตโนมัติถ้าถูกปิดใช้งานจาวาสคริ +AvailableOnlyIfJavascriptNotDisabled=มีจำหน่ายเฉพาะในกรณีที่ไม่ได้ใช้งาน JavaScript ปิดการใช้งาน +AvailableOnlyIfJavascriptAndAjaxNotDisabled=มีจำหน่ายเฉพาะในกรณีที่ไม่ได้ใช้งาน JavaScript ปิดการใช้งาน +Required=ที่จำเป็น +UsedOnlyWithTypeOption=ตัวเลือกที่ใช้โดยวาระการประชุมบางส่วนเท่านั้น +Security=ความปลอดภัย +Passwords=รหัสผ่าน +DoNotStoreClearPassword=จะไม่จัดเก็บรหัสผ่านที่ชัดเจน แต่ในฐานข้อมูลการจัดเก็บเพียงค่าการเข้ารหัส (เปิดใช้แนะนำ) +MainDbPasswordFileConfEncrypted=รหัสผ่านฐานข้อมูลการเข้ารหัสใน conf.php (เปิดใช้แนะนำ) +InstrucToEncodePass=จะมีรหัสผ่านที่เข้ารหัสเป็นไฟล์ conf.php เปลี่ยนสาย
$ dolibarr_main_db_pass = "... ";
โดย
$ dolibarr_main_db_pass = "crypted:% s"; +InstrucToClearPass=จะมีรหัสผ่านถอดรหัส (ชัดเจน) เป็นไฟล์ conf.php เปลี่ยนสาย
$ dolibarr_main_db_pass = "crypted ... ";
โดย
$ dolibarr_main_db_pass = "% s"; +ProtectAndEncryptPdfFiles=การคุ้มครองของไฟล์ PDF ที่สร้าง (เปิดใช้งานไม่แนะนำแบ่งไฟล์ PDF รุ่นมวล) +ProtectAndEncryptPdfFilesDesc=คุ้มครองเอกสาร PDF ช่วยให้มันสามารถอ่านและพิมพ์ไฟล์ PDF กับเบราว์เซอร์ใด ๆ อย่างไรก็ตามการแก้ไขและการคัดลอกเป็นไปไม่ได้อีกต่อไป โปรดทราบว่าการใช้คุณลักษณะนี้ทำให้การสร้างไฟล์ PDF สะสมทั่วโลกไม่ทำงาน (เช่นใบแจ้งหนี้ที่ค้างชำระ) +Feature=ลักษณะ +DolibarrLicense=อนุญาต +DolibarrProjectLeader=หัวหน้าโครงการ +Developpers=นักพัฒนา / ผู้ร่วมสมทบ +OtherDeveloppers=นักพัฒนาอื่น ๆ / ผู้ร่วมสมทบ +OfficialWebSite=Dolibarr เว็บไซต์อย่างเป็นทางการระหว่างประเทศ +OfficialWebSiteFr=เว็บไซต์อย่างเป็นทางการฝรั่งเศส +OfficialWiki=เอกสาร Dolibarr ในวิกิพีเดีย +OfficialDemo=Dolibarr สาธิตออนไลน์ +OfficialMarketPlace=ตลาดอย่างเป็นทางการสำหรับโมดูลภายนอก / addons +OfficialWebHostingService=อ้างอิงเว็บโฮสติ้ง (Cloud โฮสติ้ง) +ReferencedPreferredPartners=พาร์ทเนอร์ที่ต้องการ +OtherResources=สารสนเทศ autres +ForDocumentationSeeWiki=สำหรับผู้ใช้หรือเอกสารพัฒนา (หมอคำถามที่พบบ่อย ... ),
ดูที่วิกิพีเดีย Dolibarr:
% s +ForAnswersSeeForum=สำหรับคำถามใด ๆ / ความช่วยเหลือคุณสามารถใช้ฟอรั่ม Dolibarr:
% s +HelpCenterDesc1=พื้นที่บริเวณนี้จะสามารถช่วยให้คุณได้รับบริการสนับสนุนช่วยเหลือใน Dolibarr +HelpCenterDesc2=เป็นส่วนหนึ่งของบริการนี้บางส่วนที่มีอยู่ในภาษาอังกฤษเท่านั้น +CurrentTopMenuHandler=ปัจจุบันการจัดการเมนูด้านบน +CurrentLeftMenuHandler=จัดการเมนูด้านซ้ายปัจจุบัน +CurrentMenuHandler=จัดการเมนูปัจจุบัน +CurrentSmartphoneMenuHandler=มาร์ทโฟนในปัจจุบันการจัดการเมนู +MeasuringUnit=หน่วยการวัด +Emails=E-mail +EMailsSetup=การตั้งค่าอีเมล์ +EMailsDesc=หน้านี้ช่วยให้คุณสามารถเขียนทับพารามิเตอร์ PHP ของคุณสำหรับอีเมลส่ง ในกรณีส่วนใหญ่บน Unix / Linux OS, การติดตั้ง PHP ของคุณถูกต้องและพารามิเตอร์เหล่านี้จะไร้ประโยชน์ +MAIN_MAIL_SMTP_PORT=SMTP / SMTPS พอร์ต (โดยค่าเริ่มต้นใน php.ini:% s) +MAIN_MAIL_SMTP_SERVER=SMTP / SMTPS โฮสต์ (โดยค่าเริ่มต้นใน php.ini:% s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=SMTP / SMTPS พอร์ต (ไม่กำหนดเข้า PHP บนระบบปฏิบัติการยูนิกซ์เช่นระบบ) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP / SMTPS โฮสต์ (ไม่กำหนดเข้า PHP บนระบบปฏิบัติการยูนิกซ์เช่นระบบ) +MAIN_MAIL_EMAIL_FROM=ส่งอีเมลสำหรับอีเมลอัตโนมัติ (โดยค่าเริ่มต้นใน php.ini:% s) +MAIN_MAIL_ERRORS_TO=อีเมลของผู้ส่งใช้สำหรับข้อผิดพลาดกลับอีเมลที่ส่ง +MAIN_MAIL_AUTOCOPY_TO= ส่งระบบคาร์บอนสำเนาซ่อนของอีเมลที่ส่งไปทั้งหมด +MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= ส่งระบบคาร์บอนสำเนาซ่อนของข้อเสนอที่ส่งทางอีเมลไปยัง +MAIN_MAIL_AUTOCOPY_ORDER_TO= ส่งระบบคาร์บอนสำเนาซ่อนของคำสั่งที่ส่งมาจากอีเมลไปที่ +MAIN_MAIL_AUTOCOPY_INVOICE_TO= ส่งระบบคาร์บอนซ่อนสำเนาใบแจ้งหนี้ส่งโดยอีเมลไปยัง +MAIN_DISABLE_ALL_MAILS=ปิดใช้งานอีเมลตอบรับ (สำหรับวัตถุประสงค์ในการทดสอบหรือการสาธิต) +MAIN_MAIL_SENDMODE=วิธีการที่จะใช้ในการส่งอีเมล +MAIN_MAIL_SMTPS_ID=ID SMTP หากตร​​วจสอบที่จำเป็น +MAIN_MAIL_SMTPS_PW=รหัสผ่าน SMTP หากตร​​วจสอบที่จำเป็น +MAIN_MAIL_EMAIL_TLS= ใช้ TLS (SSL) เข้ารหัส +MAIN_DISABLE_ALL_SMS=ปิดการใช้งานตอบรับ SMS ทั้งหมด (สำหรับวัตถุประสงค์ในการทดสอบหรือการสาธิต) +MAIN_SMS_SENDMODE=วิธีการที่จะใช้ในการส่ง SMS +MAIN_MAIL_SMS_FROM=เริ่มต้นหมายเลขโทรศัพท์ของผู้ส่งสำหรับการส่ง SMS +FeatureNotAvailableOnLinux=คุณลักษณะที่ไม่สามารถใช้ได้บน Unix เหมือนระบบ ทดสอบโปรแกรม sendmail ในประเทศของคุณ +SubmitTranslation=หากการแปลภาษานี้ไม่สมบูรณ์หรือคุณพบข้อผิดพลาดคุณสามารถแก้ไขปัญหานี้ได้โดยการแก้ไขไฟล์ลงในไดเรกทอรี langs /% s และส่งไฟล์แก้ไขในฟอรั่ม www.dolibarr.org +ModuleSetup=การติดตั้งโมดูล +ModulesSetup=การติดตั้งโมดูล +ModuleFamilyBase=ระบบ +ModuleFamilyCrm=การบริหารลูกค้าสัมพันธ์ (CRM) +ModuleFamilyProducts=การจัดการผลิตภัณฑ์ +ModuleFamilyHr=การบริหารงานบุคคล +ModuleFamilyProjects=โครงการ / ทำงานร่วมกัน +ModuleFamilyOther=อื่น ๆ +ModuleFamilyTechnic=เครื่องมือโมดูลหลาย +ModuleFamilyExperimental=โมดูลทดลอง +ModuleFamilyFinancial=โมดูลการเงิน (บัญชี / กระทรวงการคลัง) +ModuleFamilyECM=การจัดการเนื้อหาอิเล็กทรอนิกส์ (ECM) +MenuHandlers=รถยกเมนู +MenuAdmin=แก้ไขเมนู +DoNotUseInProduction=อย่าใช้ในการผลิต +ThisIsProcessToFollow=นี่คือการตั้งค่าที่จะดำเนินการ: +ThisIsAlternativeProcessToFollow=นี่คือทางเลือกในการติดตั้งกระบวนการ: +StepNb=ขั้นตอนที่% s +FindPackageFromWebSite=หาแพคเกจที่มีคุณลักษณะที่คุณต้องการ (ตัวอย่างเช่นในเว็บไซต์อย่างเป็นทางการของ% s) +DownloadPackageFromWebSite=แพคเกจการดาวน์โหลด (เช่นจากเว็บไซต์อย่างเป็นทางการ% s) +UnpackPackageInDolibarrRoot=แฟ้มแพคเกจแกะลงในไดเรกทอรีเซิร์ฟเวอร์ Dolibarr ทุ่มเทให้กับโมดูลภายนอก:% s +SetupIsReadyForUse=ติดตั้งเสร็จสิ้นแล้วและ Dolibarr พร้อมที่จะใช้กับองค์ประกอบใหม่นี้ +NotExistsDirect=ไดเรกทอรีรากทางเลือกที่ไม่ได้กำหนดไว้
+InfDirAlt=ตั้งแต่รุ่นที่ 3 ก็เป็นไปได้ที่จะกำหนด directory.This รากทางเลือกที่ช่วยให้คุณสามารถจัดเก็บสถานที่เดียวกันปลั๊กอินและแม่แบบกำหนดเอง
เพียงแค่สร้างไดเรกทอรีที่รากของ Dolibarr (เช่นที่กำหนดเอง)
+InfDirExample=
จากนั้นประกาศใน conf.php ไฟล์
$ dolibarr_main_url_root_alt = 'http: // myserver / กำหนดเอง'
$ dolibarr_main_document_root_alt = '/ เส้นทาง / ของ / dolibarr / htdocs / กำหนดเอง'
* เส้นเหล่านี้จะให้ความเห็นกับ "#" เพื่อ uncomment ลบตัวอักษร +YouCanSubmitFile=สำหรับขั้นตอนนี้คุณสามารถส่งแพคเกจการใช้เครื่องมือนี้: เลือกไฟล์โมดูล +CurrentVersion=รุ่นปัจจุบัน Dolibarr +CallUpdatePage=ไปที่หน้าที่ปรับปรุงโครงสร้างฐานข้อมูลและข้อมูล:% s +LastStableVersion=รุ่นล่าสุดที่มีเสถียรภาพ +UpdateServerOffline=เซิร์ฟเวอร์การอัพเดทออฟไลน์ +GenericMaskCodes=คุณอาจป้อนหน้ากากเลขใด ๆ ในหน้ากากนี้แท็กต่อไปนี้สามารถนำมาใช้:
{000000} สอดคล้องกับจำนวนที่จะเพิ่มขึ้นในแต่ละ% s ใส่เลขศูนย์เป็นจำนวนมากตามความยาวที่ต้องการของเคาน์เตอร์ เคาน์เตอร์จะแล้วเสร็จภายในศูนย์จากซ้ายเพื่อให้มีศูนย์มากที่สุดเท่าที่เป็นหน้ากาก
{000000} + 000 เช่นเดียวกับก่อนหน้านี้ แต่ชดเชยที่สอดคล้องกับจำนวนที่อยู่ทางขวาของเครื่องหมาย + ถูกนำไปใช้ในการเริ่มต้นครั้งแรก%
{000000 @ x} เดียวกับก่อนหน้านี้ แต่นับตั้งค่าใหม่เป็นศูนย์เมื่อเดือน x ถึง (x ระหว่างวันที่ 1 และ 12 หรือ 0 จะใช้เดือนแรกของปีงบประมาณที่กำหนดไว้ในการกำหนดค่าของคุณหรือ 99 เพื่อตั้งค่าให้เป็นศูนย์ทุกเดือน ) ถ้าตัวเลือกนี้ถูกนำมาใช้และ x 2 หรือสูงกว่านั้นลำดับ {yy} {} มิลลิเมตรหรือปปปป {} {} มิลลิเมตรจะต้องมี
{} วววัน (01-31)
{} มิลลิเมตรเดือน (01-12)
yy {}, {} หรือปปปป {y} มากกว่าปีที่ 2, 4 หรือ 1 หมายเลข
+GenericMaskCodes2={} CCCC รหัสลูกค้าตัวอักษร n
{} cccc000 รหัสลูกค้าตัวอักษร n จะตามมาด้วยความมุ่งมั่นที่เคาน์เตอร์สำหรับลูกค้า นับนี้ที่ทุ่มเทให้กับลูกค้าจะตั้งค่าในเวลาเดียวกันกว่าเคาน์เตอร์ทั่วโลก
{} tttt รหัสประเภท thirdparty ตัวอักษร n (ดูประเภทพจนานุกรม thirdparty)
+GenericMaskCodes3=ทุกตัวละครอื่น ๆ ในหน้ากากจะยังคงเหมือนเดิม
ช่องว่างที่ไม่ได้รับอนุญาต
+GenericMaskCodes4a=ตัวอย่างใน% s 99 ของ thecompany บุคคลที่สามทำ 2007/01/31:
+GenericMaskCodes4b=ตัวอย่างของบุคคลที่สามที่สร้างขึ้นบน 2007/03/01:
+GenericMaskCodes4c=ตัวอย่างสินค้าที่สร้างขึ้นบน 2007/03/01:
+GenericMaskCodes5=เอบีซี yy {} {} มิลลิเมตร - {000000} จะให้ ABC0701-000099
{0000 + 100 @ 1} -ZZZ / {} วว / XXX จะให้ ZZZ-0199/31 / XXX +GenericNumRefModelDesc=ส่งกลับจำนวนที่ปรับแต่งได้ตามที่กำหนดไว้หน้ากาก +ServerAvailableOnIPOrPort=เซิร์ฟเวอร์ที่มีอยู่ในที่อยู่% s พอร์ต% s +ServerNotAvailableOnIPOrPort=เซิร์ฟเวอร์ที่ไม่สามารถใช้ได้ตามที่อยู่% s พอร์ต% s +DoTestServerAvailability=ทดสอบการเชื่อมต่อเซิร์ฟเวอร์ +DoTestSend=ทดสอบการส่ง +DoTestSendHTML=ทดสอบการส่ง HTM​​L +ErrorCantUseRazIfNoYearInMask=ข้อผิดพลาดไม่สามารถใช้ตัวเลือกการตั้งค่าใหม่ @ เคาน์เตอร์ในแต่ละปีถ้าลำดับ {} ปปปปปปปปหรือ {} ไม่ได้อยู่ในหน้ากาก +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=ข้อผิดพลาดที่ไม่สามารถใช้ตัวเลือก @ ถ้าลำดับ {yy} {} มิลลิเมตรหรือปปปป {} {} มมไม่ได้อยู่ในหน้ากาก +UMask=umask พารามิเตอร์สำหรับไฟล์ใหม่ใน Unix / Linux / BSD / ระบบไฟล์ Mac +UMaskExplanation=พารามิเตอร์นี้จะช่วยให้คุณสามารถกำหนดสิทธิ์ในการตั้งค่าได้โดยเริ่มต้นในไฟล์ที่สร้างขึ้นโดย Dolibarr บนเซิร์ฟเวอร์ (ระหว่างการอัปโหลดตัวอย่าง)
มันจะต้องเป็นค่าฐานแปด (ตัวอย่างเช่น 0666 หมายถึงการอ่านและเขียนสำหรับทุกคน)
พารามิเตอร์นี้จะไม่ได้ผลในเซิร์ฟเวอร์ Windows +SeeWikiForAllTeam=ลองดูที่หน้าวิกิพีเดียสำหรับรายชื่อของนักแสดงทุกคนและองค์กรของพวกเขา +UseACacheDelay= สำหรับการตอบสนองที่ล่าช้าในการส่งออกในไม่กี่วินาทีแคช (0 หรือที่ว่างเปล่าสำหรับแคชไม่ได้) +DisableLinkToHelpCenter=ซ่อนลิงค์ "ต้องการความช่วยเหลือหรือการสนับสนุน" ในหน้าเข้าสู่ระบบ +DisableLinkToHelp=ซ่อนลิงค์ "% s ออนไลน์ช่วย" ในเมนูด้านซ้าย +AddCRIfTooLong=ไม่มีการตัดอัตโนมัติดังนั้นหากสายจะออกจากหน้าเอกสารที่ยาวเกินไปเพราะคุณต้องเพิ่มผลตอบแทนการขนส่งด้วยตัวคุณเองใน textarea +ModuleDisabled=ปิดการใช้งานโมดูล +ModuleDisabledSoNoEvent=ปิดการใช้งานโมดูลเพื่อให้เหตุการณ์ที่ไม่เคยสร้าง +ConfirmPurge=คุณแน่ใจหรือว่าต้องการที่จะดำเนินการล้างนี้หรือไม่?
นี้จะลบไฟล์ทั้งหมดแน่นอนข้อมูลของคุณด้วยวิธีที่จะเรียกคืนได้ (ECM ไฟล์, ไฟล์ที่แนบมา ... ) +MinLength=ระยะเวลาขั้นต่ำ +LanguageFilesCachedIntoShmopSharedMemory=ไฟล์ .lang โหลดในหน่วยความจำที่ใช้ร่วมกัน +ExamplesWithCurrentSetup=ตัวอย่างกับการตั้งค่าการทำงานในปัจจุบัน +ListOfDirectories=รายการ OpenDocument ไดเรกทอรีแม่ +ListOfDirectoriesForModelGenODT=รายชื่อของไดเรกทอรีที่มีแม่แบบไฟล์ที่มีรูปแบบ OpenDocument

ใส่เส้นทางแบบเต็มของไดเรกทอรีที่นี่
เพิ่มกลับสายการบินระหว่างไดเรกทอรี Eah
ในการเพิ่มไดเรกทอรีของโมดูล GED, เพิ่มที่นี่ DOL_DATA_ROOT / ECM / yourdirectoryname

แฟ้มในไดเรกทอรีเหล่านั้นจะต้องจบลงด้วยการ .odt +NumberOfModelFilesFound=จำนวน ODT / ODS ไฟล์แม่แบบที่พบในไดเรกทอรีเหล่านั้น +ExampleOfDirectoriesForModelGen=ตัวอย่างของไวยากรณ์:
C: \\ mydir
/ home / mydir
DOL_DATA_ROOT / ECM / ecmdir +FollowingSubstitutionKeysCanBeUsed=
หากต้องการทราบวิธีการสร้างเอกสารของคุณ ODT แม่ก่อนที่จะเก็บไว้ในไดเรกทอรีเหล่านั้นอ่านเอกสารวิกิพีเดีย: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template -FirstnameNamePosition=Position of Name/Lastname -DescWeather=The following pictures will be shown on dashboard when number of late actions reach the following values: -KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) -TestSubmitForm=Input test form -ThisForceAlsoTheme=Using this menu manager will also use its own theme whatever is user choice. Also this menu manager specialized for smartphones does not works on all smartphone. Use another menu manager if you experience problems on yours. -ThemeDir=Skins directory -ConnectionTimeout=Connexion timeout -ResponseTimeout=Response timeout -SmsTestMessage=Test message from __PHONEFROM__ to __PHONETO__ -ModuleMustBeEnabledFirst=Module %s must be enabled first before using this feature. -SecurityToken=Key to secure URLs -NoSmsEngine=No SMS sender manager available. SMS sender manager are not installed with default distribution (because they depends on an external supplier) but you can find some on %s -PDF=PDF -PDFDesc=You can set each global options related to the PDF generation -PDFAddressForging=Rules to forge address boxes -HideAnyVATInformationOnPDF=Hide all information related to VAT on generated PDF -HideDescOnPDF=Hide products description on generated PDF -HideRefOnPDF=Hide products ref. on generated PDF -HideDetailsOnPDF=Hide products lines details on generated PDF -Library=Library -UrlGenerationParameters=Parameters to secure URLs -SecurityTokenIsUnique=Use a unique securekey parameter for each URL -EnterRefToBuildUrl=Enter reference for object %s -GetSecuredUrl=Get calculated URL -ButtonHideUnauthorized=Hide buttons for unauthorized actions instead of showing disabled buttons -OldVATRates=Old VAT rate -NewVATRates=New VAT rate -PriceBaseTypeToChange=Modify on prices with base reference value defined on -MassConvert=Launch mass convert -String=String -TextLong=Long text -Int=Integer -Float=Float -DateAndTime=Date and hour -Unique=Unique -Boolean=Boolean (Checkbox) -ExtrafieldPhone = Phone -ExtrafieldPrice = Price -ExtrafieldMail = Email -ExtrafieldSelect = Select list -ExtrafieldSelectList = Select from table -ExtrafieldSeparator=Separator -ExtrafieldCheckBox=Checkbox -ExtrafieldRadio=Radio button -ExtrafieldCheckBoxFromList= Checkbox from table -ExtrafieldLink=Link to an object -ExtrafieldParamHelpselect=Parameters list have to be like key,value

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

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

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

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

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

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

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter -LibraryToBuildPDF=Library used to build PDF -WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +FirstnameNamePosition=ตำแหน่งชื่อ / นามสกุล +DescWeather=ภาพต่อไปนี้จะแสดงบนหน้าปัดเมื่อจำนวนของการกระทำในช่วงปลายถึงค่าต่อไปนี้: +KeyForWebServicesAccess=กุญแจสำคัญในการใช้บริการเว็บ (พารามิเตอร์ "dolibarrkey" ใน webservices) +TestSubmitForm=รูปแบบการทดสอบการป้อนข้อมูล +ThisForceAlsoTheme=การใช้ตัวจัดการเมนูนี้จะใช้รูปแบบของตัวเองสิ่งที่เป็นทางเลือกของผู้ใช้ นอกจากนี้ผู้จัดการเมนูนี้พิเศษสำหรับมาร์ทโฟนไม่ได้งานมาร์ทโฟนทั้งหมด ใช้จัดการเมนูอื่นหากคุณพบปัญหากับคุณ +ThemeDir=ไดเรกทอรีกิน +ConnectionTimeout=Connexion หมดเวลา +ResponseTimeout=หมดเวลาการตอบสนอง +SmsTestMessage=ข้อความทดสอบจาก __PHONEFROM__ เพื่อ __PHONETO__ +ModuleMustBeEnabledFirst=% s โมดูลต้องเปิดใช้งานก่อนที่จะใช้คุณลักษณะนี้ +SecurityToken=กุญแจสำคัญในการรักษาความปลอดภัย URL ที่ +NoSmsEngine=ไม่มีผู้จัดการผู้ส่ง SMS ที่มีอยู่ ผู้จัดการผู้ส่ง SMS ไม่ได้ติดตั้งที่มีการกระจายค่าเริ่มต้น (เพราะพวกเขาขึ้นอยู่กับผู้จัดจำหน่ายภายนอก) แต่คุณสามารถหาบางอย่างเกี่ยวกับ% s +PDF=รูปแบบไฟล์ PDF +PDFDesc=คุณสามารถตั้งค่าตัวเลือกในแต่ละระดับโลกที่เกี่ยวข้องกับการสร้างรูปแบบไฟล์ PDF +PDFAddressForging=กฎการปลอมกล่องที่อยู่ +HideAnyVATInformationOnPDF=ซ่อนข้อมูลทั้งหมดที่เกี่ยวข้องกับภาษีมูลค่าเพิ่มในการสร้างรูปแบบไฟล์ PDF +HideDescOnPDF=ซ่อนรายละเอียดผลิตภัณฑ์ที่เกี่ยวกับการสร้างรูปแบบไฟล์ PDF +HideRefOnPDF=ซ่อนอ้างอิงผลิตภัณฑ์ ในการสร้างรูปแบบไฟล์ PDF +HideDetailsOnPDF=ซ่อนสายผลิตภัณฑ์รายละเอียดเกี่ยวกับการสร้างรูปแบบไฟล์ PDF +Library=ห้องสมุด +UrlGenerationParameters=พารามิเตอร์ URL ที่การรักษาความปลอดภัย +SecurityTokenIsUnique=ใช้พารามิเตอร์ SecureKey ไม่ซ้ำกันสำหรับแต่ละ URL +EnterRefToBuildUrl=ป้อนการอ้างอิงสำหรับวัตถุ% s +GetSecuredUrl=รับ URL คำนวณ +ButtonHideUnauthorized=ปุ่มซ่อนสำหรับการดำเนินการไม่ได้รับอนุญาตแทนที่จะแสดงปุ่มปิดการใช้งาน +OldVATRates=อัตราภาษีมูลค่าเพิ่มเก่า +NewVATRates=ใหม่อัตราภาษีมูลค่าเพิ่ม +PriceBaseTypeToChange=การปรับเปลี่ยนราคาค่าอ้างอิงกับฐานที่กำหนดไว้ใน +MassConvert=เปิดมวลแปลง +String=เชือก +TextLong=ข้อความยาว +Int=จำนวนเต็ม +Float=ลอย +DateAndTime=วันที่และชั่วโมง +Unique=เป็นเอกลักษณ์ +Boolean=บูลีน (Checkbox) +ExtrafieldPhone = โทรศัพท์ +ExtrafieldPrice = ราคา +ExtrafieldMail = อีเมล์ +ExtrafieldSelect = เลือกรายการ +ExtrafieldSelectList = เลือกจากตาราง +ExtrafieldSeparator=เครื่องสกัด +ExtrafieldCheckBox=ช่องทำเครื่องหมาย +ExtrafieldRadio=ปุ่ม +ExtrafieldCheckBoxFromList= Checkbox จากตาราง +ExtrafieldLink=เชื่อมโยงไปยังวัตถุ +ExtrafieldParamHelpselect=รายการพารามิเตอร์จะต้องเป็นเหมือนกุญแจสำคัญค่า

ตัวอย่างเช่น:
1 ค่า 1
2 value2
3 value3
...

เพื่อที่จะมีรายชื่อขึ้นอยู่กับอื่น:
1 ค่า 1 | parent_list_code: parent_key
2 value2 | parent_list_code: parent_key +ExtrafieldParamHelpcheckbox=รายการพารามิเตอร์จะต้องเป็นเหมือนกุญแจสำคัญค่า

ตัวอย่างเช่น:
1 ค่า 1
2 value2
3 value3
... +ExtrafieldParamHelpradio=รายการพารามิเตอร์จะต้องเป็นเหมือนกุญแจสำคัญค่า

ตัวอย่างเช่น:
1 ค่า 1
2 value2
3 value3
... +ExtrafieldParamHelpsellist=รายการพารามิเตอร์มาจากโต๊ะ
ไวยากรณ์: table_name: label_field: id_field :: กรอง
ตัวอย่าง: c_typent: Libelle: ID :: กรอง

กรองสามารถทดสอบอย่างง่าย (เช่นการใช้งาน = 1) เพื่อแสดงค่าที่ใช้งานเท่านั้น
ถ้าคุณต้องการที่จะกรอง extrafields ใช้ syntaxt extra.fieldcode = ... (ที่รหัสสนามเป็นรหัสของ extrafield)

เพื่อที่จะมีรายชื่อขึ้นอยู่กับอื่น:
c_typent: Libelle: id: parent_list_code | parent_column: ตัวกรอง +ExtrafieldParamHelpchkbxlst=รายการพารามิเตอร์มาจากโต๊ะ
ไวยากรณ์: table_name: label_field: id_field :: กรอง
ตัวอย่าง: c_typent: Libelle: ID :: กรอง

กรองสามารถทดสอบอย่างง่าย (เช่นการใช้งาน = 1) เพื่อแสดงค่าที่ใช้งานเท่านั้น
ถ้าคุณต้องการที่จะกรอง extrafields ใช้ syntaxt extra.fieldcode = ... (ที่รหัสสนามเป็นรหัสของ extrafield)

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

Note: Only invoices with no payment on it can be replaced. If the invoice you replace is not yet closed, it will be automatically closed to 'abandoned'. -InvoiceAvoir=Credit note -InvoiceAvoirAsk=Credit note to correct invoice -InvoiceAvoirDesc=The credit note is a negative invoice used to solve fact that an invoice has an amount that differs than amount really paid (because customer paid too much by error, or will not paid completely since he returned some products for example). -invoiceAvoirWithLines=Create Credit Note with lines from the origin invoice -invoiceAvoirWithPaymentRestAmount=Create Credit Note with remaining unpaid of origin invoice -invoiceAvoirLineWithPaymentRestAmount=Credit Note for remaining unpaid amount -ReplaceInvoice=Replace invoice %s -ReplacementInvoice=Replacement invoice -ReplacedByInvoice=Replaced by invoice %s -ReplacementByInvoice=Replaced by invoice -CorrectInvoice=Correct invoice %s -CorrectionInvoice=Correction invoice -UsedByInvoice=Used to pay invoice %s -ConsumedBy=Consumed by -NotConsumed=Not consumed -NoReplacableInvoice=No replacable invoices -NoInvoiceToCorrect=No invoice to correct -InvoiceHasAvoir=Corrected by one or several invoices -CardBill=Invoice card -PredefinedInvoices=Predefined Invoices -Invoice=Invoice -Invoices=Invoices -InvoiceLine=Invoice line -InvoiceCustomer=Customer invoice -CustomerInvoice=Customer invoice -CustomersInvoices=Customers invoices -SupplierInvoice=Supplier invoice -SuppliersInvoices=Suppliers invoices -SupplierBill=Supplier invoice -SupplierBills=suppliers invoices -Payment=Payment -PaymentBack=Payment back -Payments=Payments -PaymentsBack=Payments back -PaidBack=Paid back -DatePayment=Payment date -DeletePayment=Delete payment -ConfirmDeletePayment=Are you sure you want to delete this payment ? -ConfirmConvertToReduc=Do you want to convert this credit note or deposit into an absolute discount ?
The amount will so be saved among all discounts and could be used as a discount for a current or a future invoice for this customer. -SupplierPayments=Suppliers payments -ReceivedPayments=Received payments -ReceivedCustomersPayments=Payments received from customers -PayedSuppliersPayments=Payments payed to suppliers -ReceivedCustomersPaymentsToValid=Received customers payments to validate -PaymentsReportsForYear=Payments reports for %s -PaymentsReports=Payments reports -PaymentsAlreadyDone=Payments already done -PaymentsBackAlreadyDone=Payments back already done -PaymentRule=Payment rule -PaymentMode=Payment type -PaymentTerm=Payment term -PaymentConditions=Payment terms -PaymentConditionsShort=Payment terms -PaymentAmount=Payment amount -ValidatePayment=Validate payment -PaymentHigherThanReminderToPay=Payment higher than reminder to pay -HelpPaymentHigherThanReminderToPay=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm and think about creating a credit note of the excess received for each overpaid invoices. -HelpPaymentHigherThanReminderToPaySupplier=Attention, the payment amount of one or more bills is higher than the rest to pay.
Edit your entry, otherwise confirm. -ClassifyPaid=Classify 'Paid' -ClassifyPaidPartially=Classify 'Paid partially' -ClassifyCanceled=Classify 'Abandoned' -ClassifyClosed=Classify 'Closed' -ClassifyUnBilled=Classify 'Unbilled' -CreateBill=Create Invoice -AddBill=Create invoice or credit note -AddToDraftInvoices=Add to draft invoice -DeleteBill=Delete invoice -SearchACustomerInvoice=Search for a customer invoice -SearchASupplierInvoice=Search for a supplier invoice -CancelBill=Cancel an invoice -SendRemindByMail=Send reminder by EMail -DoPayment=Do payment -DoPaymentBack=Do payment back -ConvertToReduc=Convert into future discount -EnterPaymentReceivedFromCustomer=Enter payment received from customer -EnterPaymentDueToCustomer=Make payment due to customer -DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero -Amount=Amount -PriceBase=Price base -BillStatus=Invoice status -BillStatusDraft=Draft (needs to be validated) -BillStatusPaid=Paid -BillStatusPaidBackOrConverted=Paid or converted into discount -BillStatusConverted=Paid (ready for final invoice) -BillStatusCanceled=Abandoned -BillStatusValidated=Validated (needs to be paid) -BillStatusStarted=Started -BillStatusNotPaid=Not paid -BillStatusClosedUnpaid=Closed (unpaid) -BillStatusClosedPaidPartially=Paid (partially) -BillShortStatusDraft=Draft -BillShortStatusPaid=Paid -BillShortStatusPaidBackOrConverted=Processed -BillShortStatusConverted=Processed -BillShortStatusCanceled=Abandoned -BillShortStatusValidated=Validated -BillShortStatusStarted=Started -BillShortStatusNotPaid=Not paid -BillShortStatusClosedUnpaid=Closed -BillShortStatusClosedPaidPartially=Paid (partially) -PaymentStatusToValidShort=To validate -ErrorVATIntraNotConfigured=Intracommunautary VAT number not yet defined -ErrorNoPaiementModeConfigured=No default payment mode defined. Go to Invoice module setup to fix this. -ErrorCreateBankAccount=Create a bank account, then go to Setup panel of Invoice module to define payment modes -ErrorBillNotFound=Invoice %s does not exist -ErrorInvoiceAlreadyReplaced=Error, you try to validate an invoice to replace invoice %s. But this one has already been replaced by invoice %s. -ErrorDiscountAlreadyUsed=Error, discount already used -ErrorInvoiceAvoirMustBeNegative=Error, correct invoice must have a negative amount -ErrorInvoiceOfThisTypeMustBePositive=Error, this type of invoice must have a positive amount -ErrorCantCancelIfReplacementInvoiceNotValidated=Error, can't cancel an invoice that has been replaced by another invoice that is still in draft status -BillFrom=From -BillTo=To -ActionsOnBill=Actions on invoice -NewBill=New invoice -LastBills=Last %s invoices -LastCustomersBills=Last %s customers invoices -LastSuppliersBills=Last %s suppliers invoices -AllBills=All invoices -OtherBills=Other invoices -DraftBills=Draft invoices -CustomersDraftInvoices=Customers draft invoices -SuppliersDraftInvoices=Suppliers draft invoices -Unpaid=Unpaid -ConfirmDeleteBill=Are you sure you want to delete this invoice ? -ConfirmValidateBill=Are you sure you want to validate this invoice with reference %s ? -ConfirmUnvalidateBill=Are you sure you want to change invoice %s to draft status ? -ConfirmClassifyPaidBill=Are you sure you want to change invoice %s to status paid ? -ConfirmCancelBill=Are you sure you want to cancel invoice %s ? -ConfirmCancelBillQuestion=Why do you want to classify this invoice 'abandoned' ? -ConfirmClassifyPaidPartially=Are you sure you want to change invoice %s to status paid ? -ConfirmClassifyPaidPartiallyQuestion=This invoice has not been paid completely. What are reasons for you to close this invoice ? -ConfirmClassifyPaidPartiallyReasonAvoir=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I regularise the VAT with a credit note. -ConfirmClassifyPaidPartiallyReasonDiscountNoVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I accept to lose the VAT on this discount. -ConfirmClassifyPaidPartiallyReasonDiscountVat=Remaining unpaid (%s %s) is a discount granted because payment was made before term. I recover the VAT on this discount without a credit note. -ConfirmClassifyPaidPartiallyReasonBadCustomer=Bad customer -ConfirmClassifyPaidPartiallyReasonProductReturned=Products partially returned -ConfirmClassifyPaidPartiallyReasonOther=Amount abandoned for other reason -ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=This choice is possible if your invoice have been provided with suitable comment. (Example «Only the tax corresponding to the price that have been actually paid gives rights to deduction») -ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=In some countries, this choice might be possible only if your invoice contains correct note. -ConfirmClassifyPaidPartiallyReasonAvoirDesc=Use this choice if all other does not suit -ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=A bad customer is a customer that refuse to pay his debt. -ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=This choice is used when payment is not complete because some of products were returned -ConfirmClassifyPaidPartiallyReasonOtherDesc=Use this choice if all other does not suit, for example in following situation:
- payment not complete because some products were shipped back
- amount claimed too important because a discount was forgotten
In all cases, amount over-claimed must be corrected in accountancy system by creating a credit note. -ConfirmClassifyAbandonReasonOther=Other -ConfirmClassifyAbandonReasonOtherDesc=This choice will be used in all other cases. For example because you plan to create a replacing invoice. -ConfirmCustomerPayment=Do you confirm this payment input for %s %s ? -ConfirmSupplierPayment=Do you confirm this payment input for %s %s ? -ConfirmValidatePayment=Are you sure you want to validate this payment ? No change can be made once payment is validated. -ValidateBill=Validate invoice -UnvalidateBill=Unvalidate invoice -NumberOfBills=Nb of invoices -NumberOfBillsByMonth=Nb of invoices by month -AmountOfBills=Amount of invoices -AmountOfBillsByMonthHT=Amount of invoices by month (net of tax) -ShowSocialContribution=Show social contribution -ShowBill=Show invoice -ShowInvoice=Show invoice -ShowInvoiceReplace=Show replacing invoice -ShowInvoiceAvoir=Show credit note -ShowInvoiceDeposit=Show deposit invoice -ShowPayment=Show payment -File=File -AlreadyPaid=Already paid -AlreadyPaidBack=Already paid back -AlreadyPaidNoCreditNotesNoDeposits=Already paid (without credit notes and deposits) -Abandoned=Abandoned -RemainderToPay=Remaining unpaid -RemainderToTake=Remaining amount to take -RemainderToPayBack=Remaining amount to pay back -Rest=Pending -AmountExpected=Amount claimed -ExcessReceived=Excess received -EscompteOffered=Discount offered (payment before term) -SendBillRef=Submission of invoice %s -SendReminderBillRef=Submission of invoice %s (reminder) -StandingOrders=Standing orders -StandingOrder=Standing order -NoDraftBills=No draft invoices -NoOtherDraftBills=No other draft invoices -NoDraftInvoices=No draft invoices -RefBill=Invoice ref -ToBill=To bill -RemainderToBill=Remainder to bill -SendBillByMail=Send invoice by email -SendReminderBillByMail=Send reminder by email -RelatedCommercialProposals=Related commercial proposals -MenuToValid=To valid -DateMaxPayment=Payment due before -DateEcheance=Due date limit -DateInvoice=Invoice date -NoInvoice=No invoice -ClassifyBill=Classify invoice -SupplierBillsToPay=Suppliers invoices to pay -CustomerBillsUnpaid=Unpaid customers invoices -DispenseMontantLettres=The written invoices through mecanographic procedures are dispensed by the order in letters -NonPercuRecuperable=Non-recoverable -SetConditions=Set payment terms -SetMode=Set payment mode -Billed=Billed -RepeatableInvoice=Template invoice -RepeatableInvoices=Template invoices -Repeatable=Template -Repeatables=Templates -ChangeIntoRepeatableInvoice=Convert into template invoice -CreateRepeatableInvoice=Create template invoice -CreateFromRepeatableInvoice=Create from template invoice -CustomersInvoicesAndInvoiceLines=Customer invoices and invoice's lines -CustomersInvoicesAndPayments=Customer invoices and payments -ExportDataset_invoice_1=Customer invoices list and invoice's lines -ExportDataset_invoice_2=Customer invoices and payments -ProformaBill=Proforma Bill: -Reduction=Reduction -ReductionShort=Reduc. -Reductions=Reductions -ReductionsShort=Reduc. -Discount=Discount -Discounts=Discounts -AddDiscount=Create discount -AddRelativeDiscount=Create relative discount -EditRelativeDiscount=Edit relative discount -AddGlobalDiscount=Create absolute discount -EditGlobalDiscounts=Edit absolute discounts -AddCreditNote=Create credit note -ShowDiscount=Show discount -ShowReduc=Show the deduction -RelativeDiscount=Relative discount -GlobalDiscount=Global discount -CreditNote=Credit note -CreditNotes=Credit notes -Deposit=Deposit -Deposits=Deposits -DiscountFromCreditNote=Discount from credit note %s -DiscountFromDeposit=Payments from deposit invoice %s -AbsoluteDiscountUse=This kind of credit can be used on invoice before its validation -CreditNoteDepositUse=Invoice must be validated to use this king of credits -NewGlobalDiscount=New absolute discount -NewRelativeDiscount=New relative discount -NoteReason=Note/Reason -ReasonDiscount=Reason -DiscountOfferedBy=Granted by -DiscountStillRemaining=Discounts still remaining -DiscountAlreadyCounted=Discounts already counted -BillAddress=Bill address -HelpEscompte=This discount is a discount granted to customer because its payment was made before term. -HelpAbandonBadCustomer=This amount has been abandoned (customer said to be a bad customer) and is considered as an exceptional loose. -HelpAbandonOther=This amount has been abandoned since it was an error (wrong customer or invoice replaced by an other for example) -IdSocialContribution=Social contribution id -PaymentId=Payment id -InvoiceId=Invoice id -InvoiceRef=Invoice ref. -InvoiceDateCreation=Invoice creation date -InvoiceStatus=Invoice status -InvoiceNote=Invoice note -InvoicePaid=Invoice paid -PaymentNumber=Payment number -RemoveDiscount=Remove discount -WatermarkOnDraftBill=Watermark on draft invoices (nothing if empty) -InvoiceNotChecked=No invoice selected -CloneInvoice=Clone invoice -ConfirmCloneInvoice=Are you sure you want to clone this invoice %s ? -DisabledBecauseReplacedInvoice=Action disabled because invoice has been replaced -DescTaxAndDividendsArea=This area presents a summary of all payments made for special expenses. Only records with payment during the fixed year are included here. -NbOfPayments=Nb of payments -SplitDiscount=Split discount in two -ConfirmSplitDiscount=Are you sure you want to split this discount of %s %s into 2 lower discounts ? -TypeAmountOfEachNewDiscount=Input amount for each of two parts : -TotalOfTwoDiscountMustEqualsOriginal=Total of two new discount must be equal to original discount amount. -ConfirmRemoveDiscount=Are you sure you want to remove this discount ? -RelatedBill=Related invoice -RelatedBills=Related invoices -RelatedCustomerInvoices=Related customer invoices -RelatedSupplierInvoices=Related supplier invoices -LatestRelatedBill=Latest related invoice -WarningBillExist=Warning, one or more invoice already exist +Bill=ใบกำกับสินค้า +Bills=ใบแจ้งหนี้ +BillsCustomers=ใบแจ้งหนี้ลูกค้า +BillsCustomer=ใบแจ้งหนี้ลูกค้า +BillsSuppliers=ซัพพลายเออร์ใบแจ้งหนี้ +BillsCustomersUnpaid=ใบแจ้งหนี้ค้างชำระของลูกค้า +BillsCustomersUnpaidForCompany=ใบแจ้งหนี้ของลูกค้าที่ค้างชำระสำหรับ% s +BillsSuppliersUnpaid=ใบแจ้งหนี้ค้างชำระของซัพพลายเออร์ +BillsSuppliersUnpaidForCompany=ใบแจ้งหนี้ค้างชำระของซัพพลายเออร์สำหรับ% s +BillsLate=การชำระเงินล่าช้า +BillsStatistics=สถิติใบแจ้งหนี้ลูกค้า +BillsStatisticsSuppliers=สถิติใบแจ้งหนี้ซัพพลายเออร์ +DisabledBecauseNotErasable=ปิดใช้งานเนื่องจากไม่สามารถลบ +InvoiceStandard=ใบแจ้งหนี้มาตรฐาน +InvoiceStandardAsk=ใบแจ้งหนี้มาตรฐาน +InvoiceStandardDesc=ชนิดของใบแจ้งหนี้นี้เป็นใบแจ้งหนี้ที่พบบ่อย +InvoiceDeposit=ใบแจ้งหนี้เงินฝาก +InvoiceDepositAsk=ใบแจ้งหนี้เงินฝาก +InvoiceDepositDesc=ชนิดของใบแจ้งหนี้นี้จะกระทำเมื่อเงินฝากที่ได้รับ +InvoiceProForma=ใบแจ้งหนี้ Proforma +InvoiceProFormaAsk=ใบแจ้งหนี้ Proforma +InvoiceProFormaDesc=ใบแจ้งหนี้ Proforma คือภาพของใบแจ้งหนี้ที่แท้จริง แต่มีค่าไม่มีบัญชี +InvoiceReplacement=เปลี่ยนใบแจ้งหนี้ +InvoiceReplacementAsk=ใบแจ้งหนี้แทนใบแจ้งหนี้ +InvoiceReplacementDesc=เปลี่ยนใบแจ้งหนี้จะใช้ในการยกเลิกและแทนที่สมบูรณ์ใบแจ้งหนี้ที่มีการชำระเงินไม่รับแล้ว

หมายเหตุ: เฉพาะใบแจ้งหนี้ที่มีการชำระเงินไม่มีก็สามารถที่จะเข้ามาแทนที่ หากใบแจ้งหนี้ที่จะเปลี่ยนยังไม่ปิดก็จะถูกปิดโดยอัตโนมัติเพื่อให้ 'ละทิ้ง' +InvoiceAvoir=ใบลดหนี้ +InvoiceAvoirAsk=ใบลดหนี้ใบแจ้งหนี้ที่ถูกต้อง +InvoiceAvoirDesc=ใบลดหนี้ใบแจ้งหนี้เป็นเชิงลบที่ใช้ในการแก้ปัญหาความจริงที่ว่าใบแจ้งหนี้ที่มีจำนวนเงินที่แตกต่างกว่าจำนวนเงินที่จ่ายจริง (เพราะลูกค้าจ่ายเงินมากเกินไปจากข้อผิดพลาดหรือจะไม่ได้ชำระเงินสมบูรณ์ตั้งแต่เขากลับผลิตภัณฑ์บางอย่างเช่น) +invoiceAvoirWithLines=สร้างหมายเหตุเครดิตที่มีเส้นใบแจ้งหนี้จากแหล่งกำเนิด +invoiceAvoirWithPaymentRestAmount=สร้างหนี้ที่ค้างชำระที่เหลืออยู่กับใบแจ้งหนี้ต้นกำเนิด +invoiceAvoirLineWithPaymentRestAmount=หมายเหตุเครดิตสำหรับจำนวนเงินที่เหลือยังไม่ได้ชำระ +ReplaceInvoice=เปลี่ยนใบแจ้งหนี้% s +ReplacementInvoice=เปลี่ยนใบแจ้งหนี้ +ReplacedByInvoice=ถูกแทนที่ด้วยใบแจ้งหนี้% s +ReplacementByInvoice=ถูกแทนที่ด้วยใบแจ้งหนี้ +CorrectInvoice=ใบแจ้งหนี้% s ที่ถูกต้อง +CorrectionInvoice=ใบแจ้งหนี้การแก้ไข +UsedByInvoice=ใช้ในการจ่ายใบแจ้งหนี้% s +ConsumedBy=บริโภคโดย +NotConsumed=บริโภคไม่ได้ +NoReplacableInvoice=ไม่มีใบแจ้งหนี้ replacable +NoInvoiceToCorrect=ใบแจ้งหนี้ที่ยังไม่ได้แก้ไข +InvoiceHasAvoir=แก้ไขโดยการอย่างใดอย่างหนึ่งหรือหลายใบแจ้งหนี้ +CardBill=การ์ดใบแจ้งหนี้ +PredefinedInvoices=ใบแจ้งหนี้ที่กำหนดไว้ล่วงหน้า +Invoice=ใบกำกับสินค้า +Invoices=ใบแจ้งหนี้ +InvoiceLine=เส้นใบแจ้งหนี้ +InvoiceCustomer=ใบแจ้งหนี้ของลูกค้า +CustomerInvoice=ใบแจ้งหนี้ของลูกค้า +CustomersInvoices=ใบแจ้งหนี้ลูกค้า +SupplierInvoice=ผู้ผลิตใบแจ้งหนี้ +SuppliersInvoices=ซัพพลายเออร์ใบแจ้งหนี้ +SupplierBill=ผู้ผลิตใบแจ้งหนี้ +SupplierBills=ซัพพลายเออร์ใบแจ้งหนี้ +Payment=การชำระเงิน +PaymentBack=การชำระเงินกลับ +Payments=วิธีการชำระเงิน +PaymentsBack=การชำระเงินกลับ +PaidBack=จ่ายคืน +DatePayment=วันที่ชำระเงิน +DeletePayment=ลบการชำระเงิน +ConfirmDeletePayment=คุณแน่ใจหรือว่าต้องการลบการชำระเงินนี้? +ConfirmConvertToReduc=คุณต้องการที่จะแปลงใบลดหนี้หรือเงินฝากนี้เป็นส่วนลดแน่นอน?
ดังนั้นจำนวนเงินที่จะถูกบันทึกไว้ในหมู่ส่วนลดและสามารถใช้เป็นส่วนลดสำหรับในปัจจุบันหรือในอนาคตใบแจ้งหนี้สำหรับลูกค้ารายนี้ +SupplierPayments=การชำระเงินที่ผู้ซื้อผู้ขาย +ReceivedPayments=การชำระเงินที่ได้รับ +ReceivedCustomersPayments=การชำระเงินที่ได้รับจากลูกค้า +PayedSuppliersPayments=การชำระเงิน payed กับซัพพลายเออร์ +ReceivedCustomersPaymentsToValid=การชำระเงินของลูกค้าที่ได้รับการตรวจสอบ +PaymentsReportsForYear=รายงานการชำระเงินสำหรับ% s +PaymentsReports=รายงานการชำระเงิน +PaymentsAlreadyDone=การชำระเงินที่ทำมาแล้ว +PaymentsBackAlreadyDone=การชำระเงินกลับไปทำมาแล้ว +PaymentRule=กฎการชำระเงิน +PaymentMode=ประเภทการชำระเงิน +PaymentTerm=เงื่อนไขการชำระเงิน +PaymentConditions=เงื่อนไขการชำระเงิน +PaymentConditionsShort=เงื่อนไขการชำระเงิน +PaymentAmount=จำนวนเงินที่ชำระ +ValidatePayment=ตรวจสอบการชำระเงิน +PaymentHigherThanReminderToPay=การชำระเงินที่สูงกว่าการแจ้งเตือนที่จะต้องจ่าย +HelpPaymentHigherThanReminderToPay=ความสนใจจำนวนเงินที่ชำระของหนึ่งหรือมากกว่าค่าใช้จ่ายที่สูงกว่าส่วนที่เหลือจะจ่าย
แก้ไขรายการของคุณมิฉะนั้นยืนยันและคิดเกี่ยวกับการสร้างใบลดหนี้ส่วนเกินที่ได้รับสำหรับแต่ละใบแจ้งหนี้ชำระเงินส่วนเกิน +HelpPaymentHigherThanReminderToPaySupplier=ความสนใจจำนวนเงินที่ชำระของหนึ่งหรือมากกว่าค่าใช้จ่ายที่สูงกว่าส่วนที่เหลือจะจ่าย
แก้ไขรายการของคุณมิฉะนั้นยืนยัน +ClassifyPaid=จำแนก 'ชำระเงิน' +ClassifyPaidPartially=จำแนก 'ชำระบางส่วน' +ClassifyCanceled=จำแนก 'Abandoned' +ClassifyClosed=จำแนก 'ปิด' +ClassifyUnBilled=จำแนก 'ยังไม่เรียกเก็บ' +CreateBill=สร้างใบแจ้งหนี้ +AddBill=สร้างใบแจ้งหนี้หรือใบลดหนี้ +AddToDraftInvoices=เพิ่มลงในร่างใบแจ้งหนี้ +DeleteBill=ลบใบแจ้งหนี้ +SearchACustomerInvoice=ค้นหาใบแจ้งหนี้ลูกค้า +SearchASupplierInvoice=ค้นหาผู้จัดจำหน่ายใบแจ้งหนี้ +CancelBill=ยกเลิกใบแจ้งหนี้ +SendRemindByMail=ส่งการแจ้งเตือนทางอีเมล +DoPayment=การชำระเงินทำ +DoPaymentBack=ทำการชำระเงินกลับ +ConvertToReduc=แปลงเป็นส่วนลดในอนาคต +EnterPaymentReceivedFromCustomer=ป้อนการชำระเงินที่ได้รับจากลูกค้า +EnterPaymentDueToCustomer=ชำระเงินเนื่องจากลูกค้า +DisabledBecauseRemainderToPayIsZero=ปิดใช้งานเนื่องจากค้างชำระที่เหลือเป็นศูนย์ +Amount=จำนวน +PriceBase=ฐานราคา +BillStatus=สถานะใบแจ้งหนี้ +BillStatusDraft=ร่าง (จะต้องมีการตรวจสอบ) +BillStatusPaid=ต้องจ่าย +BillStatusPaidBackOrConverted=การชำระเงินหรือแปลงเป็นส่วนลด +BillStatusConverted=การชำระเงิน (พร้อมสำหรับใบแจ้งหนี้สุดท้าย) +BillStatusCanceled=ถูกปล่อยปละละเลย +BillStatusValidated=การตรวจสอบ (จะต้องมีการจ่าย) +BillStatusStarted=เริ่มต้น +BillStatusNotPaid=จ่ายเงินไม่ได้ +BillStatusClosedUnpaid=ปิดให้บริการ (ค้างชำระ) +BillStatusClosedPaidPartially=การชำระเงิน (บางส่วน) +BillShortStatusDraft=ร่าง +BillShortStatusPaid=ต้องจ่าย +BillShortStatusPaidBackOrConverted=การประมวลผล +BillShortStatusConverted=การประมวลผล +BillShortStatusCanceled=ถูกปล่อยปละละเลย +BillShortStatusValidated=ผ่านการตรวจสอบ +BillShortStatusStarted=เริ่มต้น +BillShortStatusNotPaid=จ่ายเงินไม่ได้ +BillShortStatusClosedUnpaid=ปิด +BillShortStatusClosedPaidPartially=การชำระเงิน (บางส่วน) +PaymentStatusToValidShort=ในการตรวจสอบ +ErrorVATIntraNotConfigured=หมายเลข VAT Intracommunautary ยังไม่ได้กำหนดไว้ +ErrorNoPaiementModeConfigured=ไม่มีโหมดการชำระเงินค่าเริ่มต้นที่กำหนดไว้ ไปที่ใบแจ้งหนี้การติดตั้งโมดูลการแก้ไขปัญหานี้ +ErrorCreateBankAccount=สร้างบัญชีธนาคารแล้วไปที่แผงติดตั้งโมดูลใบแจ้งหนี้ในการกำหนดรูปแบบการชำระเงิน +ErrorBillNotFound=ใบแจ้งหนี้% s ไม่ได้อยู่ +ErrorInvoiceAlreadyReplaced=ข้อผิดพลาดที่คุณพยายามที่จะตรวจสอบใบแจ้งหนี้ที่จะเปลี่ยนใบแจ้งหนี้% s แต่คนนี้ได้ถูกแทนที่ด้วยใบแจ้งหนี้% s +ErrorDiscountAlreadyUsed=ข้อผิดพลาดลดที่ใช้แล้ว +ErrorInvoiceAvoirMustBeNegative=ข้อผิดพลาดในใบแจ้งหนี้ที่ถูกต้องจะต้องมีมูลค่าติดลบ +ErrorInvoiceOfThisTypeMustBePositive=ข้อผิดพลาดประเภทของใบแจ้งหนี้นี้จะต้องมีจำนวนเงินที่เป็นบวก +ErrorCantCancelIfReplacementInvoiceNotValidated=ข้อผิดพลาดที่ไม่สามารถยกเลิกใบแจ้งหนี้ที่ได้รับการแทนที่ด้วยใบแจ้งหนี้อื่นที่ยังคงอยู่ในสถานะร่าง +BillFrom=จาก +BillTo=ไปยัง +ActionsOnBill=การดำเนินการในใบแจ้งหนี้ +NewBill=ใบแจ้งหนี้ใหม่ +LastBills=ใบแจ้งหนี้% s ล่าสุด +LastCustomersBills=% ล่าสุดของใบแจ้งหนี้ลูกค้า +LastSuppliersBills=% ล่าสุดของซัพพลายเออร์ใบแจ้งหนี้ +AllBills=ใบแจ้งหนี้ทั้งหมด +OtherBills=ใบแจ้งหนี้อื่น ๆ +DraftBills=ใบแจ้งหนี้ร่าง +CustomersDraftInvoices=ลูกค้าร่างใบแจ้งหนี้ +SuppliersDraftInvoices=ซัพพลายเออร์ร่างใบแจ้งหนี้ +Unpaid=ยังไม่ได้ชำระ +ConfirmDeleteBill=คุณแน่ใจหรือว่าต้องการลบใบแจ้งหนี้นี้? +ConfirmValidateBill=คุณแน่ใจหรือว่าต้องการตรวจสอบใบแจ้งหนี้ที่มี s% อ้างอิงนี้หรือไม่? +ConfirmUnvalidateBill=คุณแน่ใจหรือว่าต้องการเปลี่ยนใบแจ้งหนี้ s% ร่างสถานะ? +ConfirmClassifyPaidBill=คุณแน่ใจหรือว่าต้องการเปลี่ยนใบแจ้งหนี้% s สถานะเงิน? +ConfirmCancelBill=คุณแน่ใจหรือว่าต้องการยกเลิกใบแจ้งหนี้ s%? +ConfirmCancelBillQuestion=ทำไมคุณต้องการที่จะแยกใบแจ้งหนี้นี้ 'ละทิ้ง'? +ConfirmClassifyPaidPartially=คุณแน่ใจหรือว่าต้องการเปลี่ยนใบแจ้งหนี้% s สถานะเงิน? +ConfirmClassifyPaidPartiallyQuestion=ใบแจ้งหนี้นี้ยังไม่ได้รับการชำระเงินอย่างสมบูรณ์ อะไรคือเหตุผลที่คุณจะปิดใบแจ้งหนี้นี้? +ConfirmClassifyPaidPartiallyReasonAvoir=ที่เหลือยังไม่ได้ชำระ (% s% s) เป็นส่วนลดได้รับเนื่องจากการชำระเงินก่อนที่จะถูกสร้างขึ้นมาในระยะ ผมระเบียบภาษีมูลค่าเพิ่มที่มีใบลดหนี้ +ConfirmClassifyPaidPartiallyReasonDiscountNoVat=ที่เหลือยังไม่ได้ชำระ (% s% s) เป็นส่วนลดได้รับเนื่องจากการชำระเงินก่อนที่จะถูกสร้างขึ้นมาในระยะ ฉันยอมรับที่จะสูญเสียภาษีมูลค่าเพิ่มในส่วนลดนี้ +ConfirmClassifyPaidPartiallyReasonDiscountVat=ที่เหลือยังไม่ได้ชำระ (% s% s) เป็นส่วนลดได้รับเนื่องจากการชำระเงินก่อนที่จะถูกสร้างขึ้นมาในระยะ ฉันกู้คืนภาษีมูลค่าเพิ่มส่วนลดนี้โดยไม่มีใบลดหนี้ +ConfirmClassifyPaidPartiallyReasonBadCustomer=ลูกค้าที่ไม่ดี +ConfirmClassifyPaidPartiallyReasonProductReturned=ผลิตภัณฑ์กลับมาบางส่วน +ConfirmClassifyPaidPartiallyReasonOther=จำนวนเงินที่ถูกทอดทิ้งด้วยเหตุผลอื่น ๆ +ConfirmClassifyPaidPartiallyReasonDiscountNoVatDesc=ทางเลือกนี้เป็นไปได้ถ้าใบแจ้งหนี้ของคุณได้รับการให้บริการที่มีความคิดเห็นที่เหมาะสม (ตัวอย่าง«เฉพาะภาษีที่สอดคล้องกับราคาที่ได้รับการชำระเงินจริงให้สิทธิในการหัก») +ConfirmClassifyPaidPartiallyReasonDiscountVatDesc=ในบางประเทศทางเลือกนี้อาจเป็นไปได้เฉพาะในกรณีที่ใบแจ้งหนี้ของคุณมีบันทึกที่ถูกต้อง +ConfirmClassifyPaidPartiallyReasonAvoirDesc=ใช้ทางเลือกนี้ถ้าอื่น ๆ ไม่เหมาะกับ +ConfirmClassifyPaidPartiallyReasonBadCustomerDesc=ลูกค้าที่ร้ายก็คือลูกค้าที่ปฏิเสธที่จะจ่ายหนี้ของเขา +ConfirmClassifyPaidPartiallyReasonProductReturnedDesc=ทางเลือกนี้จะใช้เมื่อการชำระเงินที่ไม่สมบูรณ์เพราะบางส่วนของผลิตภัณฑ์ที่ถูกส่งกลับ +ConfirmClassifyPaidPartiallyReasonOtherDesc=ใช้ทางเลือกนี้ถ้าอื่น ๆ ทั้งหมดไม่เหมาะเช่นในสถานการณ์ต่อไปนี้:
- การชำระเงินไม่สมบูรณ์เพราะผลิตภัณฑ์บางคนถูกส่งกลับ
- จำนวนเงินที่อ้างว่าสำคัญมากเกินไปเพราะส่วนลดที่ถูกลืม
ในทุกกรณีจำนวนเงินที่มากกว่าที่อ้างว่าจะต้องได้รับการแก้ไขในระบบบัญชีโดยการสร้างใบลดหนี้ +ConfirmClassifyAbandonReasonOther=อื่น ๆ +ConfirmClassifyAbandonReasonOtherDesc=ทางเลือกนี้จะถูกนำมาใช้ในกรณีอื่น ๆ ตัวอย่างเช่นเพราะคุณวางแผนที่จะสร้างใบแจ้งหนี้แทน +ConfirmCustomerPayment=คุณยืนยันการป้อนข้อมูลการชำระเงินนี้สำหรับ% s% s? +ConfirmSupplierPayment=คุณยืนยันการป้อนข้อมูลการชำระเงินนี้สำหรับ% s% s? +ConfirmValidatePayment=คุณแน่ใจหรือว่าต้องการตรวจสอบการชำระเงินนี้? ไม่มีการเปลี่ยนแปลงสามารถทำได้ครั้งเดียวคือการตรวจสอบการชำระเงิน +ValidateBill=ตรวจสอบใบแจ้งหนี้ +UnvalidateBill=ใบแจ้งหนี้ Unvalidate +NumberOfBills=nb ของใบแจ้งหนี้ +NumberOfBillsByMonth=nb ของใบแจ้งหนี้เดือน +AmountOfBills=จำนวนเงินของใบแจ้งหนี้ +AmountOfBillsByMonthHT=จำนวนเงินของใบแจ้งหนี้ตามเดือน (สุทธิจากภาษี) +ShowSocialContribution=แสดงผลงานทางสังคม +ShowBill=แสดงใบแจ้งหนี้ +ShowInvoice=แสดงใบแจ้งหนี้ +ShowInvoiceReplace=แสดงการเปลี่ยนใบแจ้งหนี้ +ShowInvoiceAvoir=แสดงใบลดหนี้ +ShowInvoiceDeposit=แสดงใบแจ้งหนี้การฝากเงิน +ShowPayment=แสดงการชำระเงิน +File=ไฟล์ +AlreadyPaid=จ่ายเงินไปแล้ว +AlreadyPaidBack=จ่ายเงินไปแล้วกลับมา +AlreadyPaidNoCreditNotesNoDeposits=จ่ายเงินไปแล้ว (โดยไม่ต้องบันทึกสินเชื่อและเงินฝาก) +Abandoned=ถูกปล่อยปละละเลย +RemainderToPay=ที่เหลือยังไม่ได้ชำระ +RemainderToTake=เงินส่วนที่เหลือจะใช้ +RemainderToPayBack=เงินส่วนที่เหลือจะจ่ายคืน +Rest=ที่รอดำเนินการ +AmountExpected=จำนวนเงินที่อ้างว่า +ExcessReceived=ส่วนเกินที่ได้รับ +EscompteOffered=ส่วนลดที่นำเสนอ (ชำระเงินก่อนที่จะยาว) +SendBillRef=ส่งใบแจ้งหนี้% s +SendReminderBillRef=การส่งใบแจ้งหนี้ s% (เตือน) +StandingOrders=ยืนคำสั่งซื้อ +StandingOrder=เพื่อยืน +NoDraftBills=ไม่มีใบแจ้งหนี้ร่าง +NoOtherDraftBills=ไม่มีใบแจ้งหนี้ร่างอื่น ๆ +NoDraftInvoices=ไม่มีใบแจ้งหนี้ร่าง +RefBill=อ้างอิงใบแจ้งหนี้ +ToBill=เพื่อเรียกเก็บเงิน +RemainderToBill=เพื่อเรียกเก็บเงินส่วนที่เหลือ +SendBillByMail=ส่งใบแจ้งหนี้ทางอีเมล +SendReminderBillByMail=ส่งการแจ้งเตือนทางอีเมล +RelatedCommercialProposals=ข้อเสนอในเชิงพาณิชย์ที่เกี่ยวข้อง +MenuToValid=เพื่อให้ถูกต้อง +DateMaxPayment=ก่อนที่จะถึงกำหนดชำระ +DateEcheance=ขีด จำกัด วันที่ครบกำหนด +DateInvoice=วันที่ใบแจ้งหนี้ +NoInvoice=ไม่มีใบแจ้งหนี้ +ClassifyBill=แยกประเภทใบแจ้งหนี้ +SupplierBillsToPay=ซัพพลายเออร์ใบแจ้งหนี้ที่จะต้องจ่าย +CustomerBillsUnpaid=ใบแจ้งหนี้ค้างชำระของลูกค้า +DispenseMontantLettres=ใบแจ้งหนี้ผ่านขั้นตอนการเขียน mecanographic จะจ่ายตามคำสั่งในตัวอักษร +NonPercuRecuperable=ไม่รับคืน +SetConditions=ตั้งเงื่อนไขการชำระเงิน +SetMode=โหมดการชำระเงินชุด +Billed=การเรียกเก็บเงิน +RepeatableInvoice=แม่แบบใบแจ้งหนี้ +RepeatableInvoices=แม่แบบใบแจ้งหนี้ +Repeatable=แบบ +Repeatables=แม่แบบ +ChangeIntoRepeatableInvoice=แปลงเป็นแม่แบบใบแจ้งหนี้ +CreateRepeatableInvoice=สร้างแม่แบบใบแจ้งหนี้ +CreateFromRepeatableInvoice=สร้างจากแม่แบบใบแจ้งหนี้ +CustomersInvoicesAndInvoiceLines=ใบแจ้งหนี้ของลูกค้าและเส้นใบแจ้งหนี้ของ +CustomersInvoicesAndPayments=ใบแจ้งหนี้ของลูกค้าและการชำระเงิน +ExportDataset_invoice_1=รายการใบแจ้งหนี้ของลูกค้าและเส้นใบแจ้งหนี้ของ +ExportDataset_invoice_2=ใบแจ้งหนี้ของลูกค้าและการชำระเงิน +ProformaBill=Proforma บิล: +Reduction=การลดลง +ReductionShort=Reduc +Reductions=ลด +ReductionsShort=Reduc +Discount=ส่วนลด +Discounts=ส่วนลด +AddDiscount=สร้างส่วนลด +AddRelativeDiscount=สร้างส่วนลดญาติ +EditRelativeDiscount=แก้ไขส่วนลดญาติ +AddGlobalDiscount=สร้างส่วนลดแน่นอน +EditGlobalDiscounts=แก้ไขส่วนลดแน่นอน +AddCreditNote=สร้างบันทึกเครดิต +ShowDiscount=แสดงส่วนลด +ShowReduc=แสดงหัก +RelativeDiscount=ส่วนลดญาติ +GlobalDiscount=ลดราคาทั่วโลก +CreditNote=ใบลดหนี้ +CreditNotes=บันทึกเครดิต +Deposit=เงินฝาก +Deposits=เงินฝาก +DiscountFromCreditNote=ส่วนลดจากใบลดหนี้% s +DiscountFromDeposit=การชำระเงินจากใบแจ้งหนี้เงินฝาก% s +AbsoluteDiscountUse=ชนิดของเครดิตนี้สามารถใช้ในใบแจ้งหนี้ก่อนการตรวจสอบของ +CreditNoteDepositUse=ใบแจ้งหนี้จะต้องมีการตรวจสอบการใช้กษัตริย์ของสินเชื่อนี้ +NewGlobalDiscount=ส่วนลดใหม่แน่นอน +NewRelativeDiscount=ส่วนลดญาติใหม่ +NoteReason=หมายเหตุ / เหตุผล +ReasonDiscount=เหตุผล +DiscountOfferedBy=ที่ได้รับจาก +DiscountStillRemaining=ส่วนลดที่ยังเหลืออยู่ +DiscountAlreadyCounted=นับส่วนลดแล้ว +BillAddress=ที่อยู่บิล +HelpEscompte=ส่วนลดนี้จะได้รับส่วนลดพิเศษให้กับลูกค้าเนื่องจากการชำระเงินที่ถูกสร้างขึ้นมาก่อนวาระ +HelpAbandonBadCustomer=เงินจำนวนนี้ถูกทิ้งร้าง (ลูกค้าบอกว่าจะเป็นลูกค้าที่ไม่ดี) และถือเป็นหลวมพิเศษ +HelpAbandonOther=เงินจำนวนนี้ถูกทิ้งร้างเพราะมันเป็นข้อผิดพลาด (ลูกค้าที่ไม่ถูกต้องหรือใบแจ้งหนี้แทนที่ด้วยอื่น ๆ เป็นต้น) +IdSocialContribution=รหัสการมีส่วนร่วมทางสังคม +PaymentId=รหัสการชำระเงิน +InvoiceId=รหัสใบแจ้งหนี้ +InvoiceRef=อ้างอิงใบแจ้งหนี้ +InvoiceDateCreation=วันที่สร้างใบแจ้งหนี้ +InvoiceStatus=สถานะใบแจ้งหนี้ +InvoiceNote=บันทึกใบแจ้งหนี้ +InvoicePaid=ใบแจ้งหนี้การชำระเงิน +PaymentNumber=จำนวนการชำระเงิน +RemoveDiscount=ลบส่วนลด +WatermarkOnDraftBill=ลายน้ำในใบแจ้งหนี้ร่าง (ไม่มีอะไรถ้าว่างเปล่า) +InvoiceNotChecked=ใบแจ้งหนี้ไม่ได้เลือก +CloneInvoice=ใบแจ้งหนี้โคลน +ConfirmCloneInvoice=คุณแน่ใจหรือว่าต้องการโคลนใบแจ้งหนี้% s นี้หรือไม่? +DisabledBecauseReplacedInvoice=การดำเนินการปิดใช้งานเนื่องจากใบแจ้งหนี้ที่ได้รับการแทนที่ +DescTaxAndDividendsArea=พื้นที่บริเวณนี้จะนำเสนอบทสรุปของการชำระเงินสำหรับค่าใช้จ่ายพิเศษ บันทึกเท่านั้นที่มีการชำระเงินในช่วงปีคงที่จะรวมอยู่ที่นี่ +NbOfPayments=nb ของการชำระเงิน +SplitDiscount=ส่วนลดในสองแยก +ConfirmSplitDiscount=คุณแน่ใจหรือว่าต้องการแยกส่วนลด% s% s นี้เป็น 2 ส่วนลดที่ลดลง? +TypeAmountOfEachNewDiscount=ปริมาณการป้อนข้อมูลสำหรับแต่ละสองส่วน +TotalOfTwoDiscountMustEqualsOriginal=รวมของทั้งสองส่วนลดใหม่จะต้องเท่ากับจำนวนส่วนลดเดิม +ConfirmRemoveDiscount=คุณแน่ใจหรือว่าต้องการลบส่วนลดนี้? +RelatedBill=ใบแจ้งหนี้ที่เกี่ยวข้อง +RelatedBills=ใบแจ้งหนี้ที่เกี่ยวข้อง +RelatedCustomerInvoices=ใบแจ้งหนี้ของลูกค้าที่เกี่ยวข้อง +RelatedSupplierInvoices=ใบแจ้งหนี้ผู้จัดจำหน่ายที่เกี่ยวข้อง +LatestRelatedBill=ใบแจ้งหนี้ที่เกี่ยวข้องล่าสุด +WarningBillExist=คำเตือนหนึ่งหรือใบแจ้งหนี้มากขึ้นอยู่แล้ว +MergingPDFTool=ผสานเครื่องมือรูปแบบไฟล์ PDF # PaymentConditions -PaymentConditionShortRECEP=Immediate -PaymentConditionRECEP=Immediate -PaymentConditionShort30D=30 days -PaymentCondition30D=30 days -PaymentConditionShort30DENDMONTH=30 days end of month -PaymentCondition30DENDMONTH=30 days end of month -PaymentConditionShort60D=60 days -PaymentCondition60D=60 days -PaymentConditionShort60DENDMONTH=60 days end of month -PaymentCondition60DENDMONTH=60 days end of month -PaymentConditionShortPT_DELIVERY=Delivery -PaymentConditionPT_DELIVERY=On delivery -PaymentConditionShortPT_ORDER=On order -PaymentConditionPT_ORDER=On order +PaymentConditionShortRECEP=ทันทีทันใด +PaymentConditionRECEP=ทันทีทันใด +PaymentConditionShort30D=30 วัน +PaymentCondition30D=30 วัน +PaymentConditionShort30DENDMONTH=30 วันสิ้นเดือน +PaymentCondition30DENDMONTH=30 วันสิ้นเดือน +PaymentConditionShort60D=60 วัน +PaymentCondition60D=60 วัน +PaymentConditionShort60DENDMONTH=60 วันสิ้นเดือน +PaymentCondition60DENDMONTH=60 วันสิ้นเดือน +PaymentConditionShortPT_DELIVERY=การจัดส่งสินค้า +PaymentConditionPT_DELIVERY=ในการจัดส่ง +PaymentConditionShortPT_ORDER=ในการสั่งซื้อ +PaymentConditionPT_ORDER=ในการสั่งซื้อ PaymentConditionShortPT_5050=50-50 -PaymentConditionPT_5050=50%% in advance, 50%% on delivery -FixAmount=Fix amount -VarAmount=Variable amount (%% tot.) +PaymentConditionPT_5050=50 %% ล่วงหน้า 50 %% ในการจัดส่ง +FixAmount=จำนวนการแก้ไข +VarAmount=ปริมาณ (ทีโอที %%.) # PaymentType -PaymentTypeVIR=Bank deposit -PaymentTypeShortVIR=Bank deposit -PaymentTypePRE=Bank's order -PaymentTypeShortPRE=Bank's order -PaymentTypeLIQ=Cash -PaymentTypeShortLIQ=Cash -PaymentTypeCB=Credit card -PaymentTypeShortCB=Credit card -PaymentTypeCHQ=Check -PaymentTypeShortCHQ=Check -PaymentTypeTIP=TIP -PaymentTypeShortTIP=TIP -PaymentTypeVAD=On line payment -PaymentTypeShortVAD=On line payment -PaymentTypeTRA=Bill payment -PaymentTypeShortTRA=Bill -BankDetails=Bank details -BankCode=Bank code -DeskCode=Desk code -BankAccountNumber=Account number -BankAccountNumberKey=Key +PaymentTypeVIR=เงินฝากธนาคาร +PaymentTypeShortVIR=เงินฝากธนาคาร +PaymentTypePRE=คำสั่งของธนาคาร +PaymentTypeShortPRE=คำสั่งของธนาคาร +PaymentTypeLIQ=เงินสด +PaymentTypeShortLIQ=เงินสด +PaymentTypeCB=เครดิตการ์ด +PaymentTypeShortCB=เครดิตการ์ด +PaymentTypeCHQ=ตรวจสอบ +PaymentTypeShortCHQ=ตรวจสอบ +PaymentTypeTIP=เคล็ดลับ +PaymentTypeShortTIP=เคล็ดลับ +PaymentTypeVAD=ในการชำระเงินสาย +PaymentTypeShortVAD=ในการชำระเงินสาย +PaymentTypeTRA=ชำระค่าสินค้า +PaymentTypeShortTRA=บิล +BankDetails=ธนาคารรายละเอียด +BankCode=รหัสธนาคาร +DeskCode=รหัสโต๊ะ +BankAccountNumber=เลขที่บัญชี +BankAccountNumberKey=สำคัญ Residence=Domiciliation -IBANNumber=IBAN number +IBANNumber=IBAN จำนวน IBAN=IBAN -BIC=BIC/SWIFT -BICNumber=BIC/SWIFT number -ExtraInfos=Extra infos -RegulatedOn=Regulated on -ChequeNumber=Check N° -ChequeOrTransferNumber=Check/Transfer N° -ChequeMaker=Check transmitter -ChequeBank=Bank of Check -CheckBank=Check -NetToBePaid=Net to be paid -PhoneNumber=Tel -FullPhoneNumber=Telephone -TeleFax=Fax -PrettyLittleSentence=Accept the amount of payments due by checks issued in my name as a Member of an accounting association approved by the Fiscal Administration. -IntracommunityVATNumber=Intracommunity number of VAT -PaymentByChequeOrderedTo=Check payment (including tax) are payable to %s send to -PaymentByChequeOrderedToShort=Check payment (including tax) are payable to -SendTo=sent to -PaymentByTransferOnThisBankAccount=Payment by transfer on the following bank account -VATIsNotUsedForInvoice=* Non applicable VAT art-293B of CGI -LawApplicationPart1=By application of the law 80.335 of 12/05/80 -LawApplicationPart2=the goods remain the property of -LawApplicationPart3=the seller until the complete cashing of -LawApplicationPart4=their price. -LimitedLiabilityCompanyCapital=SARL with Capital of -UseLine=Apply -UseDiscount=Use discount -UseCredit=Use credit -UseCreditNoteInInvoicePayment=Reduce amount to pay with this credit -MenuChequeDeposits=Checks deposits -MenuCheques=Checks -MenuChequesReceipts=Checks receipts -NewChequeDeposit=New deposit -ChequesReceipts=Checks receipts -ChequesArea=Checks deposits area -ChequeDeposits=Checks deposits -Cheques=Checks -CreditNoteConvertedIntoDiscount=This credit note or deposit invoice has been converted into %s -UsBillingContactAsIncoiveRecipientIfExist=Use customer billing contact address instead of third party address as recipient for invoices -ShowUnpaidAll=Show all unpaid invoices -ShowUnpaidLateOnly=Show late unpaid invoices only -PaymentInvoiceRef=Payment invoice %s -ValidateInvoice=Validate invoice -Cash=Cash -Reported=Delayed -DisabledBecausePayments=Not possible since there are some payments -CantRemovePaymentWithOneInvoicePaid=Can't remove payment since there is at least one invoice classified paid -ExpectedToPay=Expected payment -PayedByThisPayment=Paid by this payment -ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. -ClosePaidCreditNotesAutomatically=Classify "Paid" all credit notes entirely paid back. -AllCompletelyPayedInvoiceWillBeClosed=All invoice with no remain to pay will be automatically closed to status "Paid". -ToMakePayment=Pay -ToMakePaymentBack=Pay back -ListOfYourUnpaidInvoices=List of unpaid invoices -NoteListOfYourUnpaidInvoices=Note: This list contains only invoices for third parties you are linked to as a sale representative. -RevenueStamp=Revenue stamp -YouMustCreateInvoiceFromThird=This option is only available when creating invoice from tab "customer" of thirdparty -PDFCrabeDescription=Invoice PDF template Crabe. A complete invoice template (recommended Template) -TerreNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 -MarsNumRefModelDesc1=Return number with format %syymm-nnnn for standard invoices, %syymm-nnnn for replacement invoices, %syymm-nnnn for credit notes and %syymm-nnnn for credit notes where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 -TerreNumRefModelError=A bill starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. +BIC=BIC / SWIFT +BICNumber=BIC / จำนวน SWIFT +ExtraInfos=ข่าวสารพิเศษ +RegulatedOn=ในการควบคุม +ChequeNumber=ตรวจสอบไม่มี° +ChequeOrTransferNumber=ตรวจสอบ / โอนไม่มี° +ChequeMaker=เครื่องส่งสัญญาณตรวจสอบ +ChequeBank=ธนาคารแห่งตรวจสอบ +CheckBank=ตรวจสอบ +NetToBePaid=สุทธิที่จะต้องจ่าย +PhoneNumber=โทร +FullPhoneNumber=โทรศัพท์ +TeleFax=แฟกซ์ +PrettyLittleSentence=รับจำนวนเงินของการชำระเงินเนื่องจากโดยการตรวจสอบที่ออกในชื่อของฉันเป็นสมาชิกของสมาคมการบัญชีที่ได้รับการอนุมัติโดยการบริหารการคลัง +IntracommunityVATNumber=จำนวน Intracommunity ภาษีมูลค่าเพิ่ม +PaymentByChequeOrderedTo=ตรวจสอบการชำระเงิน (รวมภาษี) จะจ่ายให้กับ% s ส่งให้ +PaymentByChequeOrderedToShort=ตรวจสอบการชำระเงิน (รวมภาษี) จะจ่ายให้กับ +SendTo=ส่งไปยัง +PaymentByTransferOnThisBankAccount=การชำระเงินโดยการโอนเงินในบัญชีธนาคารดังต่อไปนี้ +VATIsNotUsedForInvoice=* ไม่รวมภาษีมูลค่าเพิ่มบังคับศิลปะ 293B ซีจี +LawApplicationPart1=โดยการใช้กฎหมายของ 80.335 12/05/80 +LawApplicationPart2=สินค้าที่ยังคงเป็นทรัพย์สินของ +LawApplicationPart3=ผู้ขายจนกว่า cashing สมบูรณ์ของ +LawApplicationPart4=ราคาของพวกเขา +LimitedLiabilityCompanyCapital=SARL กับเมืองหลวงของ +UseLine=ใช้ +UseDiscount=ใช้ส่วนลด +UseCredit=ใช้บัตรเครดิต +UseCreditNoteInInvoicePayment=ลดปริมาณการชำระเงินด้วยบัตรเครดิตนี้ +MenuChequeDeposits=การตรวจสอบเงินฝาก +MenuCheques=การตรวจสอบ +MenuChequesReceipts=ใบเสร็จรับเงินการตรวจสอบ +NewChequeDeposit=เงินฝากใหม่ +ChequesReceipts=ใบเสร็จรับเงินการตรวจสอบ +ChequesArea=ตรวจสอบพื้นที่ที่เงินฝาก +ChequeDeposits=การตรวจสอบเงินฝาก +Cheques=การตรวจสอบ +CreditNoteConvertedIntoDiscount=ใบลดหนี้ใบแจ้งหนี้หรือเงินฝากที่ได้รับการแปลงเป็น% s +UsBillingContactAsIncoiveRecipientIfExist=ใช้ที่อยู่ติดต่อการเรียกเก็บเงินลูกค้าแทนการอยู่ของบุคคลที่สามในฐานะผู้รับใบแจ้งหนี้ +ShowUnpaidAll=แสดงใบแจ้งหนี้ที่ค้างชำระทั้งหมด +ShowUnpaidLateOnly=แสดงใบแจ้งหนี้ที่ค้างชำระปลายเท่านั้น +PaymentInvoiceRef=ใบแจ้งหนี้การชำระเงิน% s +ValidateInvoice=ตรวจสอบใบแจ้งหนี้ +Cash=เงินสด +Reported=ล่าช้า +DisabledBecausePayments=เป็นไปไม่ได้เนื่องจากมีการชำระเงินบางส่วน +CantRemovePaymentWithOneInvoicePaid=ไม่สามารถลบการชำระเงินเนื่องจากมีอย่างน้อยหนึ่งใบแจ้งหนี้แยกจ่าย +ExpectedToPay=การชำระเงินที่คาดว่าจะ +PayedByThisPayment=การชำระเงินโดยการชำระเงินนี้ +ClosePaidInvoicesAutomatically=จำแนก "ชำระเงิน" ทุกมาตรฐานสถานการณ์หรือการเปลี่ยนใบแจ้งหนี้การชำระเงินทั้งหมด +ClosePaidCreditNotesAutomatically=จำแนก "ชำระเงิน" ทั้งหมดบันทึกเครดิตการชำระเงินทั้งหมดกลับ +AllCompletelyPayedInvoiceWillBeClosed=ใบแจ้งหนี้ทั้งหมดที่มียังคงไม่มีที่จะจ่ายจะปิดโดยอัตโนมัติเพื่อให้สถานะ "ชำระเงิน" +ToMakePayment=จ่ายเงิน +ToMakePaymentBack=คืนทุน +ListOfYourUnpaidInvoices=รายการของใบแจ้งหนี้ที่ค้างชำระ +NoteListOfYourUnpaidInvoices=หมายเหตุ: รายการนี​​้จะมีใบแจ้งหนี้เฉพาะบุคคลที่สามคุณจะเชื่อมโยงกับการเป็นตัวแทนขาย +RevenueStamp=อากรแสตมป์ +YouMustCreateInvoiceFromThird=ตัวเลือกนี้จะใช้ได้เฉพาะเมื่อมีการสร้างใบแจ้งหนี้จากแท็บ "ลูกค้า" ของ thirdparty +PDFCrabeDescription=ใบแจ้งหนี้แม่แบบ PDF Crabe แม่แบบใบแจ้งหนี้ฉบับสมบูรณ์ (แนะนำ Template) +TerreNumRefModelDesc1=จำนวนกลับมาพร้อมกับรูปแบบ% syymm-nnnn สำหรับใบแจ้งหนี้และมาตรฐาน% syymm-nnnn สำหรับการบันทึกเครดิตที่ yy เป็นปีเป็นเดือนมิลลิเมตรและ nnnn เป็นลำดับที่มีการหยุดพักและกลับไปที่ 0 ไม่มี +MarsNumRefModelDesc1=จำนวนกลับมาพร้อมกับรูปแบบ% syymm-nnnn สำหรับใบแจ้งหนี้มาตรฐาน% syymm-nnnn สำหรับใบแจ้งหนี้แทน% syymm-nnnn สำหรับการบันทึกเครดิตและ% syymm-nnnn สำหรับการบันทึกเครดิตที่ yy เป็นปีเป็นเดือนมม nnnn และเป็นลำดับที่ไม่มี ทำลายและกลับไปที่ 0 ไม่มี +TerreNumRefModelError=เริ่มต้นด้วยการเรียกเก็บเงิน $ syymm มีอยู่แล้วและไม่ได้เข้ากันได้กับรูปแบบของลำดับนี้ ลบหรือเปลี่ยนชื่อเพื่อเปิดใช้งานโมดูลนี้ ##### Types de contacts ##### -TypeContact_facture_internal_SALESREPFOLL=Representative following-up customer invoice -TypeContact_facture_external_BILLING=Customer invoice contact -TypeContact_facture_external_SHIPPING=Customer shipping contact -TypeContact_facture_external_SERVICE=Customer service contact -TypeContact_invoice_supplier_internal_SALESREPFOLL=Representative following-up supplier invoice -TypeContact_invoice_supplier_external_BILLING=Supplier invoice contact -TypeContact_invoice_supplier_external_SHIPPING=Supplier shipping contact -TypeContact_invoice_supplier_external_SERVICE=Supplier service contact +TypeContact_facture_internal_SALESREPFOLL=แทนใบแจ้งหนี้ของลูกค้าต่อไปนี้ขึ้น +TypeContact_facture_external_BILLING=ติดต่อใบแจ้งหนี้ของลูกค้า +TypeContact_facture_external_SHIPPING=ติดต่อลูกค้าการจัดส่งสินค้า +TypeContact_facture_external_SERVICE=ติดต่อบริการลูกค้า +TypeContact_invoice_supplier_internal_SALESREPFOLL=ผู้แทนติดตามใบแจ้งหนี้จัดจำหน่าย +TypeContact_invoice_supplier_external_BILLING=ติดต่อผู้ผลิตใบแจ้งหนี้ +TypeContact_invoice_supplier_external_SHIPPING=ติดต่อผู้ผลิตจัดส่งสินค้า +TypeContact_invoice_supplier_external_SERVICE=ผู้ผลิตติดต่อบริการ # Situation invoices -InvoiceFirstSituationAsk=First situation invoice -InvoiceFirstSituationDesc=The situation invoices are tied to situations related to a progression, for example the progression of a construction. Each situation is tied to an invoice. -InvoiceSituation=Situation invoice -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction -Progress=Progress -ModifyAllLines=Modify all lines -CreateNextSituationInvoice=Create next situation -NotLastInCycle=This invoice in not the last in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. -DisabledBecauseFinal=This situation is final. -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations -InvoiceSituationLast=Final and general invoice +InvoiceFirstSituationAsk=ใบแจ้งหนี้สถานการณ์แรก +InvoiceFirstSituationDesc=ใบแจ้งหนี้สถานการณ์จะเชื่อมโยงกับสถานการณ์ที่เกี่ยวข้องกับความก้าวหน้าเช่นความก้าวหน้าของการก่อสร้าง สถานการณ์แต่ละครั้งจะถูกผูกติดอยู่กับใบแจ้งหนี้ +InvoiceSituation=ใบแจ้งหนี้สถานการณ์ +InvoiceSituationAsk=ใบแจ้งหนี้ดังต่อไปนี้สถานการณ์ +InvoiceSituationDesc=สร้างสถานการณ์ใหม่ดังต่อไปนี้อย่างใดอย่างหนึ่งที่มีอยู่แล้ว +SituationAmount=จำนวนใบแจ้งหนี้สถานการณ์ (สุทธิ) +SituationDeduction=ลบสถานการณ์ +Progress=ความคืบหน้า +ModifyAllLines=การปรับเปลี่ยนสายทั้งหมด +CreateNextSituationInvoice=สร้างสถานการณ์ต่อไป +NotLastInCycle=ใบแจ้งหนี้ในครั้งนี้ไม่ใช่ครั้งสุดท้ายในวงจรและจะต้องไม่ได้รับการแก้ไข +DisabledBecauseNotLastInCycle=สถานการณ์ต่อไปอยู่แล้ว +DisabledBecauseFinal=สถานการณ์เช่นนี้ถือเป็นที่สิ้นสุด +CantBeLessThanMinPercent=ความคืบหน้าไม่สามารถที่จะมีขนาดเล็กกว่าค่าของมันอยู่ในสถานการณ์ที่ผ่านมา +NoSituations=ไม่มีสถานการณ์ที่เปิด +InvoiceSituationLast=รอบชิงชนะเลิศและใบแจ้งหนี้ทั่วไป diff --git a/htdocs/langs/th_TH/bookmarks.lang b/htdocs/langs/th_TH/bookmarks.lang index 7acb946bb62..398fb1a9693 100644 --- a/htdocs/langs/th_TH/bookmarks.lang +++ b/htdocs/langs/th_TH/bookmarks.lang @@ -1,19 +1,19 @@ # Dolibarr language file - Source file is en_US - marque pages -AddThisPageToBookmarks=Add this page to bookmarks -Bookmark=Bookmark -Bookmarks=Bookmarks -NewBookmark=New bookmark -ShowBookmark=Show bookmark -OpenANewWindow=Open a new window -ReplaceWindow=Replace current window -BookmarkTargetNewWindowShort=New window -BookmarkTargetReplaceWindowShort=Current window -BookmarkTitle=Bookmark title +AddThisPageToBookmarks=เพิ่มหน้านี้ในที่คั่นหน้า +Bookmark=ที่คั่นหนังสือ +Bookmarks=ที่คั่นหน้า +NewBookmark=ที่คั่นหน้าใหม่ +ShowBookmark=แสดงที่คั่นหน้า +OpenANewWindow=เปิดหน้าต่างใหม่ +ReplaceWindow=เปลี่ยนหน้าต่างปัจจุบัน +BookmarkTargetNewWindowShort=หน้าต่างใหม่ +BookmarkTargetReplaceWindowShort=หน้าต่างปัจจุบัน +BookmarkTitle=ชื่อ Bookmark UrlOrLink=URL -BehaviourOnClick=Behaviour when a URL is clicked -CreateBookmark=Create bookmark -SetHereATitleForLink=Set a title for the bookmark -UseAnExternalHttpLinkOrRelativeDolibarrLink=Use an external http URL or a relative Dolibarr URL -ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Choose if a page opened by link must appear on current or new window -BookmarksManagement=Bookmarks management -ListOfBookmarks=List of bookmarks +BehaviourOnClick=พฤติกรรมเมื่อมีการคลิก URL +CreateBookmark=สร้างที่คั่นหน้า +SetHereATitleForLink=ตั้งชื่อสำหรับบุ๊คมาร์ค +UseAnExternalHttpLinkOrRelativeDolibarrLink=ใช้ URL ที่ http ภายนอกหรือ URL Dolibarr ญาติ +ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=เลือกถ้าหน้าเปิดโดยการเชื่อมโยงจะต้องปรากฏบนหน้าต่างปัจจุบันหรือใหม่ +BookmarksManagement=การจัดการที่คั่นหน้า +ListOfBookmarks=รายการบุ๊คมาร์ค diff --git a/htdocs/langs/th_TH/boxes.lang b/htdocs/langs/th_TH/boxes.lang index c0180bebdaa..b4c9877c736 100644 --- a/htdocs/langs/th_TH/boxes.lang +++ b/htdocs/langs/th_TH/boxes.lang @@ -1,97 +1,97 @@ # Dolibarr language file - Source file is en_US - boxes -BoxLastRssInfos=Rss information -BoxLastProducts=Last %s products/services -BoxProductsAlertStock=Products in stock alert -BoxLastProductsInContract=Last %s contracted products/services -BoxLastSupplierBills=Last supplier's invoices -BoxLastCustomerBills=Last customer's invoices -BoxOldestUnpaidCustomerBills=Oldest unpaid customer's invoices -BoxOldestUnpaidSupplierBills=Oldest unpaid supplier's invoices -BoxLastProposals=Last commercial proposals -BoxLastProspects=Last modified prospects -BoxLastCustomers=Last modified customers -BoxLastSuppliers=Last modified suppliers -BoxLastCustomerOrders=Last customer orders -BoxLastValidatedCustomerOrders=Last validated customer orders -BoxLastBooks=Last books -BoxLastActions=Last actions -BoxLastContracts=Last contracts -BoxLastContacts=Last contacts/addresses -BoxLastMembers=Last members -BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance -BoxSalesTurnover=Sales turnover -BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices -BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices -BoxTitleLastBooks=Last %s recorded books -BoxTitleNbOfCustomers=Number of clients -BoxTitleLastRssInfos=Last %s news from %s -BoxTitleLastProducts=Last %s modified products/services -BoxTitleProductsAlertStock=Products in stock alert -BoxTitleLastCustomerOrders=Last %s customer orders -BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders -BoxTitleLastSuppliers=Last %s recorded suppliers -BoxTitleLastCustomers=Last %s recorded customers -BoxTitleLastModifiedSuppliers=Last %s modified suppliers -BoxTitleLastModifiedCustomers=Last %s modified customers -BoxTitleLastCustomersOrProspects=Last %s customers or prospects -BoxTitleLastPropals=Last %s proposals -BoxTitleLastModifiedPropals=Last %s modified proposals -BoxTitleLastCustomerBills=Last %s customer's invoices -BoxTitleLastModifiedCustomerBills=Last %s modified customer invoices -BoxTitleLastSupplierBills=Last %s supplier's invoices -BoxTitleLastModifiedSupplierBills=Last %s modified supplier invoices -BoxTitleLastModifiedProspects=Last %s modified prospects -BoxTitleLastProductsInContract=Last %s products/services in a contract -BoxTitleLastModifiedMembers=Last %s members -BoxTitleLastFicheInter=Last %s modified intervention -BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices -BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances -BoxTitleSalesTurnover=Sales turnover -BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices -BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices -BoxTitleLastModifiedContacts=Last %s modified contacts/addresses -BoxMyLastBookmarks=My last %s bookmarks -BoxOldestExpiredServices=Oldest active expired services -BoxLastExpiredServices=Last %s oldest contacts with active expired services -BoxTitleLastActionsToDo=Last %s actions to do -BoxTitleLastContracts=Last %s contracts -BoxTitleLastModifiedDonations=Last %s modified donations -BoxTitleLastModifiedExpenses=Last %s modified expenses -BoxGlobalActivity=Global activity (invoices, proposals, orders) -FailedToRefreshDataInfoNotUpToDate=Failed to refresh RSS flux. Last successfull refresh date: %s -LastRefreshDate=Last refresh date -NoRecordedBookmarks=No bookmarks defined. -ClickToAdd=Click here to add. -NoRecordedCustomers=No recorded customers -NoRecordedContacts=No recorded contacts -NoActionsToDo=No actions to do -NoRecordedOrders=No recorded customer's orders -NoRecordedProposals=No recorded proposals -NoRecordedInvoices=No recorded customer's invoices -NoUnpaidCustomerBills=No unpaid customer's invoices -NoRecordedSupplierInvoices=No recorded supplier's invoices -NoUnpaidSupplierBills=No unpaid supplier's invoices -NoModifiedSupplierBills=No recorded supplier's invoices -NoRecordedProducts=No recorded products/services -NoRecordedProspects=No recorded prospects -NoContractedProducts=No products/services contracted -NoRecordedContracts=No recorded contracts -NoRecordedInterventions=No recorded interventions -BoxLatestSupplierOrders=Latest supplier orders -BoxTitleLatestSupplierOrders=Last %s supplier orders -BoxTitleLatestModifiedSupplierOrders=Last %s modified supplier orders -NoSupplierOrder=No recorded supplier order -BoxCustomersInvoicesPerMonth=Customer invoices per month -BoxSuppliersInvoicesPerMonth=Supplier invoices per month -BoxCustomersOrdersPerMonth=Customer orders per month -BoxSuppliersOrdersPerMonth=Supplier orders per month -BoxProposalsPerMonth=Proposals per month -NoTooLowStockProducts=No product under the low stock limit -BoxProductDistribution=Products/Services distribution -BoxProductDistributionFor=Distribution of %s for %s -ForCustomersInvoices=Customers invoices -ForCustomersOrders=Customers orders -ForProposals=Proposals -LastXMonthRolling=The last %s month rolling +BoxLastRssInfos=ข้อมูล Rss +BoxLastProducts=% ล่าสุดของผลิตภัณฑ์ / บริการ +BoxProductsAlertStock=ผลิตภัณฑ์ในการแจ้งเตือนหุ้น +BoxLastProductsInContract=% s ล่าสุดหดตัวผลิตภัณฑ์ / บริการ +BoxLastSupplierBills=ใบแจ้งหนี้ผู้จัดจำหน่ายที่แล้ว +BoxLastCustomerBills=ใบแจ้งหนี้ของลูกค้าที่ผ่านมา +BoxOldestUnpaidCustomerBills=ที่เก่าแก่ที่สุดใบแจ้งหนี้ที่ค้างชำระของลูกค้า +BoxOldestUnpaidSupplierBills=ที่เก่าแก่ที่สุดใบแจ้งหนี้ที่ค้างชำระของผู้จัดจำหน่าย +BoxLastProposals=ข้อเสนอในเชิงพาณิชย์ล่าสุด +BoxLastProspects=แนวโน้มการปรับเปลี่ยนครั้งล่าสุด +BoxLastCustomers=ลูกค้าที่แก้ไขล่าสุด +BoxLastSuppliers=ซัพพลายเออร์ที่แก้ไขล่าสุด +BoxLastCustomerOrders=สั่งซื้อของลูกค้าที่ผ่านมา +BoxLastValidatedCustomerOrders=การตรวจสอบล่าสุดสั่งซื้อของลูกค้า +BoxLastBooks=หนังสือล่าสุด +BoxLastActions=การกระทำที่ผ่านมา +BoxLastContracts=สัญญาล่าสุด +BoxLastContacts=รายชื่อนามสกุล / ที่อยู่ +BoxLastMembers=สมาชิกล่าสุด +BoxFicheInter=การแทรกแซงล่าสุด +BoxCurrentAccounts=ยอดเงินเปิดบัญชี +BoxSalesTurnover=ยอดขาย +BoxTotalUnpaidCustomerBills=ใบแจ้งหนี้ของลูกค้าที่ค้างชำระทั้งหมดของ +BoxTotalUnpaidSuppliersBills=ใบแจ้งหนี้ที่ค้างชำระทั้งหมดของผู้จัดจำหน่าย +BoxTitleLastBooks=% ล่าสุดหนังสือที่บันทึกไว้ +BoxTitleNbOfCustomers=จำนวนของลูกค้า +BoxTitleLastRssInfos=ข่าวล่าสุด% s จาก% s +BoxTitleLastProducts=% ล่าสุดของการปรับเปลี่ยนผลิตภัณฑ์ / บริการ +BoxTitleProductsAlertStock=ผลิตภัณฑ์ในการแจ้งเตือนหุ้น +BoxTitleLastCustomerOrders=% s ล่าสุดสั่งซื้อของลูกค้า +BoxTitleLastModifiedCustomerOrders=% s ล่าสุดสั่งซื้อของลูกค้ามีการปรับเปลี่ยน +BoxTitleLastSuppliers=% ล่าสุดของซัพพลายเออร์ที่บันทึกไว้ +BoxTitleLastCustomers=% s ล่าสุดบันทึกลูกค้า +BoxTitleLastModifiedSuppliers=% ล่าสุดของซัพพลายเออร์ที่มีการปรับเปลี่ยน +BoxTitleLastModifiedCustomers=% ล่าสุดลูกค้าปรับเปลี่ยน +BoxTitleLastCustomersOrProspects=ลูกค้า% ล่าสุดหรือกลุ่มเป้าหมาย +BoxTitleLastPropals=ข้อเสนอล่าสุดของ% +BoxTitleLastModifiedPropals=% ล่าสุดของข้อเสนอการปรับเปลี่ยน +BoxTitleLastCustomerBills=ใบแจ้งหนี้ของลูกค้า s% ล่าสุดของ +BoxTitleLastModifiedCustomerBills=% ล่าสุดของใบแจ้งหนี้ของลูกค้ามีการปรับเปลี่ยน +BoxTitleLastSupplierBills=ใบแจ้งหนี้จัดจำหน่าย% s ล่าสุดของ +BoxTitleLastModifiedSupplierBills=% ล่าสุดของการแก้ไขใบแจ้งหนี้จัดจำหน่าย +BoxTitleLastModifiedProspects=% s ล่าสุดแนวโน้มการปรับเปลี่ยน +BoxTitleLastProductsInContract=% ล่าสุดของผลิตภัณฑ์ / บริการในการทำสัญญา +BoxTitleLastModifiedMembers=ล่าสุดสมาชิก% s +BoxTitleLastFicheInter=% ล่าสุดของการแทรกแซงการแก้ไข +BoxTitleOldestUnpaidCustomerBills=ที่เก่าแก่ที่สุด% s ใบแจ้งหนี้ที่ค้างชำระของลูกค้า +BoxTitleOldestUnpaidSupplierBills=ที่เก่าแก่ที่สุด% s ใบแจ้งหนี้ที่ค้างชำระผู้จัดจำหน่าย +BoxTitleCurrentAccounts=ยอดบัญชีเปิด +BoxTitleSalesTurnover=ยอดขาย +BoxTitleTotalUnpaidCustomerBills=ใบแจ้งหนี้ของลูกค้าที่ค้างชำระ +BoxTitleTotalUnpaidSuppliersBills=ใบแจ้งหนี้ที่ค้างชำระผู้จัดจำหน่าย +BoxTitleLastModifiedContacts=% ล่าสุดของการปรับเปลี่ยนรายชื่อ / ที่อยู่ +BoxMyLastBookmarks=% ครั้งล่าสุดของฉัน s บุ๊คมาร์ค +BoxOldestExpiredServices=ที่เก่าแก่ที่สุดที่หมดอายุการใช้งานบริการ +BoxLastExpiredServices=% s รายชื่อล่าสุดที่เก่าแก่ที่สุดที่มีบริการที่หมดอายุการใช้งาน +BoxTitleLastActionsToDo=การกระทำ% ล่าสุดที่จะทำ +BoxTitleLastContracts=สัญญา% s ล่าสุด +BoxTitleLastModifiedDonations=% ของเงินบริจาคล่าสุดมีการปรับเปลี่ยน +BoxTitleLastModifiedExpenses=% ของค่าใช้จ่ายที่ผ่านมามีการปรับเปลี่ยน +BoxGlobalActivity=กิจกรรมทั่วโลก (ใบแจ้งหนี้, ข้อเสนอ, การสั่งซื้อ) +FailedToRefreshDataInfoNotUpToDate=ล้มเหลวในการฟื้นฟูการไหลของ RSS วันรีเฟรชประสบความสำเร็จล่าสุด:% s +LastRefreshDate=วันรีเฟรชล่าสุด +NoRecordedBookmarks=บุ๊คมาร์คไม่มีกำหนด +ClickToAdd=คลิกที่นี่เพื่อเพิ่ม +NoRecordedCustomers=ไม่มีลูกค้าที่บันทึกไว้ +NoRecordedContacts=ไม่มีรายชื่อที่บันทึกไว้ +NoActionsToDo=ไม่มีการดำเนินการที่จะทำ +NoRecordedOrders=ไม่มีการสั่งซื้อของลูกค้าที่บันทึกไว้ของ +NoRecordedProposals=ไม่มีข้อเสนอที่บันทึกไว้ +NoRecordedInvoices=ไม่มีใบแจ้งหนี้ของลูกค้าที่บันทึกไว้ +NoUnpaidCustomerBills=ไม่มีใบแจ้งหนี้ที่ค้างชำระของลูกค้า +NoRecordedSupplierInvoices=ไม่มีใบแจ้งหนี้ของผู้จัดจำหน่ายที่บันทึกไว้ +NoUnpaidSupplierBills=ใบแจ้งหนี้ที่ค้างชำระไม่มีผู้จัดจำหน่ายของ +NoModifiedSupplierBills=ไม่มีใบแจ้งหนี้ของผู้จัดจำหน่ายที่บันทึกไว้ +NoRecordedProducts=ไม่มีสินค้าบันทึก / บริการ +NoRecordedProspects=ไม่มีโอกาสที่บันทึกไว้ +NoContractedProducts=ผลิตภัณฑ์ / บริการไม่มีการทำสัญญา +NoRecordedContracts=ไม่มีสัญญาบันทึก +NoRecordedInterventions=ไม่มีการแทรกแซงที่บันทึกไว้ +BoxLatestSupplierOrders=ล่าสุดคำสั่งผู้จัดจำหน่าย +BoxTitleLatestSupplierOrders=% s ล่าสุดคำสั่งผู้จัดจำหน่าย +BoxTitleLatestModifiedSupplierOrders=% ล่าสุดของคำสั่งการปรับเปลี่ยนผู้จัดจำหน่าย +NoSupplierOrder=ไม่มีบันทึกเพื่อจัดจำหน่าย +BoxCustomersInvoicesPerMonth=ใบแจ้งหนี้ของลูกค้าต่อเดือน +BoxSuppliersInvoicesPerMonth=ใบแจ้งหนี้ผู้ผลิตต่อเดือน +BoxCustomersOrdersPerMonth=สั่งซื้อของลูกค้าต่อเดือน +BoxSuppliersOrdersPerMonth=คำสั่งผู้ผลิตต่อเดือน +BoxProposalsPerMonth=ข้อเสนอต่อเดือน +NoTooLowStockProducts=ไม่มีสินค้าภายใต้ขีด จำกัด ของหุ้นต่ำ +BoxProductDistribution=สินค้า / บริการกระจาย +BoxProductDistributionFor=การแพร่กระจายของ% s% s +ForCustomersInvoices=ใบแจ้งหนี้ลูกค้า +ForCustomersOrders=คำสั่งซื้อของลูกค้า +ForProposals=ข้อเสนอ +LastXMonthRolling=สุดท้าย% s กลิ้งเดือน diff --git a/htdocs/langs/th_TH/cashdesk.lang b/htdocs/langs/th_TH/cashdesk.lang index d3dcfb68e64..7e03af6a178 100644 --- a/htdocs/langs/th_TH/cashdesk.lang +++ b/htdocs/langs/th_TH/cashdesk.lang @@ -1,40 +1,40 @@ # Language file - Source file is en_US - cashdesk -CashDeskMenu=Point of sale -CashDesk=Point of sale -CashDesks=Point of sales -CashDeskBank=Bank account -CashDeskBankCash=Bank account (cash) -CashDeskBankCB=Bank account (card) -CashDeskBankCheque=Bank account (cheque) -CashDeskWarehouse=Warehouse -CashdeskShowServices=Selling services -CashDeskProducts=Products -CashDeskStock=Stock -CashDeskOn=on -CashDeskThirdParty=Third party -CashdeskDashboard=Point of sale access -ShoppingCart=Shopping cart -NewSell=New sell -BackOffice=Back office -AddThisArticle=Add this article -RestartSelling=Go back on sell -SellFinished=Sell finished -PrintTicket=Print ticket -NoProductFound=No article found -ProductFound=product found -ProductsFound=products found -NoArticle=No article -Identification=Identification -Article=Article -Difference=Difference -TotalTicket=Total ticket -NoVAT=No VAT for this sale -Change=Excess received -CalTip=Click to view the calendar -CashDeskSetupStock=You ask to decrease stock on invoice creation but warehouse for this is was not defined
Change stock module setup, or choose a warehouse -BankToPay=Charge Account -ShowCompany=Show company -ShowStock=Show warehouse -DeleteArticle=Click to remove this article -FilterRefOrLabelOrBC=Search (Ref/Label) -UserNeedPermissionToEditStockToUsePos=You ask to decrease stock on invoice creation, so user that use POS need to have permission to edit stock. +CashDeskMenu=จุดขาย +CashDesk=จุดขาย +CashDesks=จุดขาย +CashDeskBank=บัญชีเงินฝาก +CashDeskBankCash=บัญชีเงินฝากธนาคาร (เงินสด) +CashDeskBankCB=บัญชีเงินฝากธนาคาร (บัตร) +CashDeskBankCheque=บัญชีเงินฝากธนาคาร (ตรวจสอบ) +CashDeskWarehouse=คลังสินค้า +CashdeskShowServices=ขายบริการ +CashDeskProducts=ผลิตภัณฑ์ +CashDeskStock=สต็อกสินค้า +CashDeskOn=บน +CashDeskThirdParty=บุคคลที่สาม +CashdeskDashboard=จุดขายของการเข้าถึง +ShoppingCart=รถเข็น +NewSell=ขายใหม่ +BackOffice=สำนักงานกลับ +AddThisArticle=เพิ่มบทความนี้ +RestartSelling=กลับไปขาย +SellFinished=ขายเสร็จแล้ว +PrintTicket=ตั๋วพิมพ์ +NoProductFound=บทความไม่พบ +ProductFound=สินค้าที่พบ +ProductsFound=พบผลิตภัณฑ์ +NoArticle=บทความไม่มี +Identification=การวินิจฉัย +Article=บทความ +Difference=ข้อแตกต่าง +TotalTicket=ตั๋วทั้งหมด +NoVAT=ภาษีมูลค่าเพิ่มสำหรับการขายนี้ไม่มี +Change=ส่วนเกินที่ได้รับ +CalTip=คลิ๊กเพื่อดูปฏิทิน +CashDeskSetupStock=คุณถามว่าจะลดลงหุ้นในการสร้างใบแจ้งหนี้ แต่สำหรับคลังสินค้านี้จะไม่ได้กำหนดไว้
เปลี่ยนการตั้งค่าหุ้นโมดูลหรือเลือกคลังสินค้า +BankToPay=บัญชีค่าใช้จ่าย +ShowCompany=แสดง บริษัท +ShowStock=แสดงคลังสินค้า +DeleteArticle=คลิกเพื่อลบบทความนี้ +FilterRefOrLabelOrBC=ค้นหา (Ref / ป้าย) +UserNeedPermissionToEditStockToUsePos=คุณถามว่าจะลดลงหุ้นในการสร้างใบแจ้งหนี้เพื่อให้ผู้ใช้ที่ใช้ POS จำเป็นต้องได้รับอนุญาตให้แก้ไขหุ้น diff --git a/htdocs/langs/th_TH/categories.lang b/htdocs/langs/th_TH/categories.lang index 7c293065433..9e6cf2f3d50 100644 --- a/htdocs/langs/th_TH/categories.lang +++ b/htdocs/langs/th_TH/categories.lang @@ -1,110 +1,110 @@ # Dolibarr language file - Source file is en_US - categories -Rubrique=Tag/Category -Rubriques=Tags/Categories -categories=tags/categories -TheCategorie=The tag/category -NoCategoryYet=No tag/category of this type created -In=In -AddIn=Add in -modify=modify -Classify=Classify -CategoriesArea=Tags/Categories area -ProductsCategoriesArea=Products/Services tags/categories area -SuppliersCategoriesArea=Suppliers tags/categories area -CustomersCategoriesArea=Customers tags/categories area -ThirdPartyCategoriesArea=Third parties tags/categories area -MembersCategoriesArea=Members tags/categories area -ContactsCategoriesArea=Contacts tags/categories area -MainCats=Main tags/categories -SubCats=Subcategories -CatStatistics=Statistics -CatList=List of tags/categories -AllCats=All tags/categories -ViewCat=View tag/category -NewCat=Add tag/category -NewCategory=New tag/category -ModifCat=Modify tag/category -CatCreated=Tag/category created -CreateCat=Create tag/category -CreateThisCat=Create this tag/category -ValidateFields=Validate the fields -NoSubCat=No subcategory. -SubCatOf=Subcategory -FoundCats=Found tags/categories -FoundCatsForName=Tags/categories found for the name : -FoundSubCatsIn=Subcategories found in the tag/category -ErrSameCatSelected=You selected the same tag/category several times -ErrForgotCat=You forgot to choose the tag/category -ErrForgotField=You forgot to inform the fields -ErrCatAlreadyExists=This name is already used -AddProductToCat=Add this product to a tag/category? -ImpossibleAddCat=Impossible to add the tag/category -ImpossibleAssociateCategory=Impossible to associate the tag/category to -WasAddedSuccessfully=%s was added successfully. -ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories -ProductHasNoCategory=This product/service is not in any tags/categories -SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories -MemberHasNoCategory=This member is not in any tags/categories -ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category -NoneCategory=None -NotCategorized=Without tag/category -CategoryExistsAtSameLevel=This category already exists with this ref -ReturnInProduct=Back to product/service card -ReturnInSupplier=Back to supplier card -ReturnInCompany=Back to customer/prospect card -ContentsVisibleByAll=The contents will be visible by all -ContentsVisibleByAllShort=Contents visible by all -ContentsNotVisibleByAllShort=Contents not visible by all -CategoriesTree=Tags/categories tree -DeleteCategory=Delete tag/category -ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? -NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category -SuppliersCategoriesShort=Suppliers tags/categories -CustomersCategoriesShort=Customers tags/categories -CustomersProspectsCategoriesShort=Custo./Prosp. categories -ProductsCategoriesShort=Products tags/categories -MembersCategoriesShort=Members tags/categories -ContactCategoriesShort=Contacts tags/categories -ThisCategoryHasNoProduct=This category does not contain any product. -ThisCategoryHasNoSupplier=This category does not contain any supplier. -ThisCategoryHasNoCustomer=This category does not contain any customer. -ThisCategoryHasNoMember=This category does not contain any member. -ThisCategoryHasNoContact=This category does not contain any contact. -AssignedToCustomer=Assigned to a customer -AssignedToTheCustomer=Assigned to the customer -InternalCategory=Internal category -CategoryContents=Tag/category contents -CategId=Tag/category id -CatSupList=List of supplier tags/categories -CatCusList=List of customer/prospect tags/categories -CatProdList=List of products tags/categories -CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact -CatSupLinks=Links between suppliers and tags/categories -CatCusLinks=Links between customers/prospects and tags/categories -CatProdLinks=Links between products/services and tags/categories -CatMemberLinks=Links between members and tags/categories -DeleteFromCat=Remove from tags/category -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? -ExtraFieldsCategories=Complementary attributes -CategoriesSetup=Tags/categories setup -CategorieRecursiv=Link with parent tag/category automatically -CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory -AddProductServiceIntoCategory=Add the following product/service -ShowCategory=Show tag/category +Rubrique=Tag / หมวดหมู่ +Rubriques=แท็ก / หมวดหมู่ +categories=แท็ก / ประเภท +TheCategorie=แท็ก / หมวดหมู่ +NoCategoryYet=ไม่มีแท็ก / หมวดหมู่ของประเภทนี้สร้างขึ้น +In=ใน +AddIn=เพิ่มใน +modify=แก้ไข +Classify=แยกประเภท +CategoriesArea=แท็ก / พื้นที่หมวดหมู่ +ProductsCategoriesArea=สินค้า / บริการแท็ก / พื้นที่ประเภท +SuppliersCategoriesArea=ซัพพลายเออร์แท็ก / พื้นที่ประเภท +CustomersCategoriesArea=ลูกค้าแท็ก / พื้นที่ประเภท +ThirdPartyCategoriesArea=บุคคลที่สามแท็ก / พื้นที่ประเภท +MembersCategoriesArea=แท็กสมาชิก / พื้นที่ประเภท +ContactsCategoriesArea=แท็กติดต่อ / พื้นที่ประเภท +MainCats=แท็กหลัก / ประเภท +SubCats=หมวดหมู่ย่อย +CatStatistics=สถิติ +CatList=รายการของแท็ก / ประเภท +AllCats=แท็กทั้งหมด / ประเภท +ViewCat=แท็กดู / หมวดหมู่ +NewCat=เพิ่มแท็ก / หมวดหมู่ +NewCategory=แท็กใหม่ / หมวดหมู่ +ModifCat=ปรับเปลี่ยนแท็ก / หมวดหมู่ +CatCreated=Tag / สร้างหมวดหมู่ +CreateCat=สร้างแท็ก / หมวดหมู่ +CreateThisCat=สร้างแท็กนี้ / หมวดหมู่ +ValidateFields=ตรวจสอบสาขา +NoSubCat=ไม่มีหมวดหมู่ +SubCatOf=ประเภทย่อย +FoundCats=พบแท็ก / ประเภท +FoundCatsForName=แท็ก / ประเภทพบชื่อ: +FoundSubCatsIn=หมวดหมู่ย่อยที่พบในแท็ก / หมวดหมู่ +ErrSameCatSelected=คุณเลือกแท็กเดียวกัน / หมวดหมู่หลายครั้ง +ErrForgotCat=คุณลืมที่จะเลือกแท็ก / หมวดหมู่ +ErrForgotField=คุณลืมที่จะแจ้งให้สาขา +ErrCatAlreadyExists=ชื่อนี้ถูกใช้ไปแล้ว +AddProductToCat=เพิ่มสินค้านี้กับแท็ก / หมวดหมู่? +ImpossibleAddCat=เป็นไปไม่ได้ที่จะเพิ่มแท็ก / หมวดหมู่ +ImpossibleAssociateCategory=เป็นไปไม่ได้ที่จะเชื่อมโยงแท็ก / หมวดหมู่เพื่อ +WasAddedSuccessfully=% s ถูกเพิ่มเรียบร้อยแล้ว +ObjectAlreadyLinkedToCategory=องค์ประกอบที่มีการเชื่อมโยงกับแท็กนี้ / หมวดหมู่ +CategorySuccessfullyCreated=แท็ก / หมวดหมู่% s นี้ได้รับการเพิ่มเรียบร้อยแล้ว +ProductIsInCategories=สินค้า / บริการที่มีการเชื่อมโยงต่อไปนี้แท็ก / ประเภท +SupplierIsInCategories=บุคคลที่สามมีการเชื่อมโยงต่อไปนี้ซัพพลายเออร์แท็ก / ประเภท +CompanyIsInCustomersCategories=นี้บุคคลที่สามมีการเชื่อมโยงต่อไปนี้ลูกค้าเป้าหมาย / แท็ก / ประเภท +CompanyIsInSuppliersCategories=นี้บุคคลที่สามมีการเชื่อมโยงต่อไปนี้ซัพพลายเออร์แท็ก / ประเภท +MemberIsInCategories=สมาชิกนี้จะถูกเชื่อมโยงกับสมาชิกต่อไปนี้แท็ก / ประเภท +ContactIsInCategories=ติดต่อนี้มีการเชื่อมโยงต่อไปนี้แท็กรายชื่อ / ประเภท +ProductHasNoCategory=สินค้า / บริการนี​​้ไม่ได้อยู่ในแท็กใด ๆ / ประเภท +SupplierHasNoCategory=ผู้จัดหาสินค้านี้ไม่ได้อยู่ในแท็กใด ๆ / ประเภท +CompanyHasNoCategory=thirdparty นี้ไม่ได้อยู่ในแท็กใด ๆ / ประเภท +MemberHasNoCategory=สมาชิกท่านนี้ไม่ได้อยู่ในแท็กใด ๆ / ประเภท +ContactHasNoCategory=ติดต่อนี้ไม่ได้อยู่ในแท็กใด ๆ / ประเภท +ClassifyInCategory=เพิ่มแท็ก / หมวดหมู่ +NoneCategory=ไม่ +NotCategorized=โดยไม่ต้องแท็ก / หมวดหมู่ +CategoryExistsAtSameLevel=ประเภทนี้มีอยู่แล้วที่มีการอ้างอิงนี้ +ReturnInProduct=กลับไปยังสินค้า / บริการบัตร +ReturnInSupplier=กลับไปที่รหัสผู้จัดจำหน่าย +ReturnInCompany=กลับไปยังลูกค้า / บัตรโอกาส +ContentsVisibleByAll=เนื้อหาจะมองเห็นได้โดยทั้งหมด +ContentsVisibleByAllShort=เนื้อหาที่มองเห็นได้โดยทั้งหมด +ContentsNotVisibleByAllShort=ไม่สามารถมองเห็นเนื้อหาโดยทั้งหมด +CategoriesTree=แท็ก / ประเภทต้นไม้ +DeleteCategory=ลบแท็ก / หมวดหมู่ +ConfirmDeleteCategory=คุณแน่ใจหรือว่าต้องการลบแท็กนี้ / หมวดหมู่ +RemoveFromCategory=ลบการเชื่อมโยงที่มีแท็ก / หมวดหมู่ +RemoveFromCategoryConfirm=คุณแน่ใจหรือว่าต้องการที่จะยกเลิกการเชื่อมโยงการทำธุรกรรมจากแท็ก / หมวดหมู่ +NoCategoriesDefined=ไม่มีแท็ก / หมวดหมู่ที่กำหนดไว้ +SuppliersCategoryShort=แท็กผู้จัดจำหน่าย / หมวดหมู่ +CustomersCategoryShort=ลูกค้าแท็ก / หมวดหมู่ +ProductsCategoryShort=แท็กสินค้า / หมวดหมู่ +MembersCategoryShort=แท็กสมาชิก / หมวดหมู่ +SuppliersCategoriesShort=ซัพพลายเออร์แท็ก / ประเภท +CustomersCategoriesShort=ลูกค้าแท็ก / ประเภท +CustomersProspectsCategoriesShort=custo. / Prosp ประเภท +ProductsCategoriesShort=แท็กสินค้า / ประเภท +MembersCategoriesShort=แท็กสมาชิก / ประเภท +ContactCategoriesShort=แท็กติดต่อ / ประเภท +ThisCategoryHasNoProduct=ประเภทนี้ไม่ได้มีผลิตภัณฑ์ใด ๆ +ThisCategoryHasNoSupplier=ประเภทนี้ไม่ได้มีผู้จัดจำหน่ายใด ๆ +ThisCategoryHasNoCustomer=ประเภทนี้ไม่ได้มีลูกค้า +ThisCategoryHasNoMember=ประเภทนี้ไม่ได้มีสมาชิกใด ๆ +ThisCategoryHasNoContact=ประเภทนี้จะไม่ได้มีการติดต่อใด ๆ +AssignedToCustomer=ที่ได้รับมอบหมายให้กับลูกค้า +AssignedToTheCustomer=ที่ได้รับมอบหมายให้กับลูกค้า +InternalCategory=หมวดหมู่ภายใน +CategoryContents=Tag / หมวดหมู่เนื้อหา +CategId=Tag / รหัสหมวดหมู่ +CatSupList=รายการของแท็กผู้จัดจำหน่าย / ประเภท +CatCusList=รายชื่อลูกค้า / โอกาสแท็ก / ประเภท +CatProdList=รายการของแท็ก / ผลิตภัณฑ์ประเภท +CatMemberList=รายชื่อสมาชิกแท็ก / ประเภท +CatContactList=รายการของแท็กติดต่อ / ประเภท +CatSupLinks=การเชื่อมโยงระหว่างซัพพลายเออร์และแท็ก / ประเภท +CatCusLinks=การเชื่อมโยงระหว่างลูกค้า / ลูกค้าและแท็ก / ประเภท +CatProdLinks=การเชื่อมโยงระหว่างผลิตภัณฑ์ / บริการและแท็ก / ประเภท +CatMemberLinks=การเชื่อมโยงระหว่างสมาชิกและแท็ก / ประเภท +DeleteFromCat=ลบออกจากแท็ก / หมวดหมู่ +DeletePicture=รูปภาพลบ +ConfirmDeletePicture=ลบภาพยืนยัน? +ExtraFieldsCategories=คุณลักษณะที่สมบูรณ์ +CategoriesSetup=แท็ก / ประเภทการติดตั้ง +CategorieRecursiv=การเชื่อมโยงที่มีแท็กแม่ / หมวดหมู่โดยอัตโนมัติ +CategorieRecursivHelp=หากเปิดใช้งานผลิตภัณฑ์นี้ยังจะเชื่อมโยงกับประเภทหลักเมื่อมีการเพิ่มเข้าไปในหมวดหมู่ +AddProductServiceIntoCategory=เพิ่มสินค้า / บริการดังต่อไปนี้ +ShowCategory=แสดงแท็ก / หมวดหมู่ diff --git a/htdocs/langs/th_TH/commercial.lang b/htdocs/langs/th_TH/commercial.lang index 7acdc7bd7e6..227ed908264 100644 --- a/htdocs/langs/th_TH/commercial.lang +++ b/htdocs/langs/th_TH/commercial.lang @@ -1,96 +1,96 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Commercial -CommercialArea=Commercial area -CommercialCard=Commercial card -CustomerArea=Customers area -Customer=Customer -Customers=Customers -Prospect=Prospect -Prospects=Prospects -DeleteAction=Delete an event/task -NewAction=New event/task -AddAction=Create event/task -AddAnAction=Create an event/task -AddActionRendezVous=Create a Rendez-vous event -Rendez-Vous=Rendezvous -ConfirmDeleteAction=Are you sure you want to delete this event/task ? -CardAction=Event card -PercentDone=Percentage complete -ActionOnCompany=Task about company -ActionOnContact=Task about contact -TaskRDV=Meetings -TaskRDVWith=Meeting with %s -ShowTask=Show task -ShowAction=Show event -ActionsReport=Events report -ThirdPartiesOfSaleRepresentative=Thirdparties with sales representative -SalesRepresentative=Sales representative -SalesRepresentatives=Sales representatives -SalesRepresentativeFollowUp=Sales representative (follow-up) -SalesRepresentativeSignature=Sales representative (signature) -CommercialInterlocutor=Commercial interlocutor -ErrorWrongCode=Wrong code -NoSalesRepresentativeAffected=No particular sales representative assigned -ShowCustomer=Show customer -ShowProspect=Show prospect -ListOfProspects=List of prospects -ListOfCustomers=List of customers -LastDoneTasks=Last %s completed tasks -LastRecordedTasks=Last recorded tasks -LastActionsToDo=Last %s oldest actions not completed -DoneAndToDoActionsFor=Completed and To do events for %s -DoneAndToDoActions=Completed and To do events -DoneActions=Completed events -DoneActionsFor=Completed events for %s -ToDoActions=Incomplete events -ToDoActionsFor=Incomplete events for %s -SendPropalRef=Submission of commercial proposal %s -SendOrderRef=Submission of order %s -StatusNotApplicable=Not applicable -StatusActionToDo=To do -StatusActionDone=Complete -MyActionsAsked=Events I have recorded -MyActionsToDo=Events I have to do -MyActionsDone=Events assigned to me -StatusActionInProcess=In process -TasksHistoryForThisContact=Events for this contact -LastProspectDoNotContact=Do not contact -LastProspectNeverContacted=Never contacted -LastProspectToContact=To contact -LastProspectContactInProcess=Contact in process -LastProspectContactDone=Contact done -DateActionPlanned=Date event planned for -DateActionDone=Date event done -ActionAskedBy=Event reported by -ActionAffectedTo=Event assigned to -ActionDoneBy=Event done by -ActionUserAsk=Reported by -ErrorStatusCantBeZeroIfStarted=If field 'Date done' is filled, action is started (or finished), so field 'Status' can't be 0%%. -ActionAC_TEL=Phone call -ActionAC_FAX=Send fax -ActionAC_PROP=Send proposal by mail -ActionAC_EMAIL=Send Email -ActionAC_RDV=Meetings -ActionAC_INT=Intervention on site -ActionAC_FAC=Send customer invoice by mail -ActionAC_REL=Send customer invoice by mail (reminder) -ActionAC_CLO=Close -ActionAC_EMAILING=Send mass email -ActionAC_COM=Send customer order by mail -ActionAC_SHIP=Send shipping by mail -ActionAC_SUP_ORD=Send supplier order by mail -ActionAC_SUP_INV=Send supplier invoice by mail -ActionAC_OTH=Other -ActionAC_OTH_AUTO=Other (automatically inserted events) -ActionAC_MANUAL=Manually inserted events -ActionAC_AUTO=Automatically inserted events -Stats=Sales statistics -CAOrder=Sales volume (validated orders) -FromTo=from %s to %s -MargeOrder=Margins (validated orders) -RecapAnnee=Summary of the year -NoData=There is no data -StatusProsp=Prospect status -DraftPropals=Draft commercial proposals -SearchPropal=Search a commercial proposal -CommercialDashboard=Commercial summary +Commercial=เชิงพาณิชย์ +CommercialArea=พื้นที่เชิงพาณิชย์ +CommercialCard=บัตรพาณิชย์ +CustomerArea=พื้นที่ลูกค้า +Customer=ลูกค้า +Customers=ลูกค้า +Prospect=โอกาส +Prospects=อนาคต +DeleteAction=ลบเหตุการณ์ / งาน +NewAction=เหตุการณ์ใหม่ / งาน +AddAction=สร้างกิจกรรม / งาน +AddAnAction=สร้างเหตุการณ์ / งาน +AddActionRendezVous=สร้างเหตุการณ์ Rendez-vous +Rendez-Vous=การนัดพบ +ConfirmDeleteAction=คุณแน่ใจหรือว่าต้องการลบเหตุการณ์ / งานนี้? +CardAction=บัตรเหตุการณ์ +PercentDone=ร้อยละสมบูรณ์ +ActionOnCompany=งานเกี่ยวกับ บริษัท +ActionOnContact=งานเกี่ยวกับการติดต่อ +TaskRDV=การประชุม +TaskRDVWith=การประชุมกับ% s +ShowTask=แสดงงาน +ShowAction=เหตุการณ์ที่แสดง +ActionsReport=รายงานเหตุการณ์ +ThirdPartiesOfSaleRepresentative=Thirdparties ตัวแทนจำหน่าย +SalesRepresentative=ตัวแทนขาย +SalesRepresentatives=พนักงานขาย +SalesRepresentativeFollowUp=ตัวแทนขาย (ติดตาม) +SalesRepresentativeSignature=ตัวแทนขาย (ลายเซ็น) +CommercialInterlocutor=คู่สนทนาในเชิงพาณิชย์ +ErrorWrongCode=รหัสผิด +NoSalesRepresentativeAffected=ไม่มีตัวแทนขายโดยเฉพาะอย่างยิ่งที่ได้รับมอบหมาย +ShowCustomer=แสดงลูกค้า +ShowProspect=แสดงความคาดหวัง +ListOfProspects=รายชื่อของลูกค้า +ListOfCustomers=รายชื่อของลูกค้า +LastDoneTasks=% ล่าสุดของงานที่เสร็จสมบูรณ์ +LastRecordedTasks=งานที่บันทึกไว้ล่าสุด +LastActionsToDo=% ล่าสุดที่เก่าแก่ที่สุดของการดำเนินการไม่แล้วเสร็จ +DoneAndToDoActionsFor=เสร็จสมบูรณ์และการทำกิจกรรมสำหรับ% s +DoneAndToDoActions=เสร็จสมบูรณ์และการทำเช่นเหตุการณ์ที่เกิดขึ้น +DoneActions=เหตุการณ์ที่เสร็จสมบูรณ์ +DoneActionsFor=เหตุการณ์ที่เสร็จสมบูรณ์สำหรับ% s +ToDoActions=เหตุการณ์ที่ไม่สมบูรณ์ +ToDoActionsFor=เหตุการณ์ที่เกิดขึ้นไม่สมบูรณ์สำหรับ% s +SendPropalRef=ส่งข้อเสนอของ% s เชิงพาณิชย์ +SendOrderRef=การส่งคำสั่ง% s +StatusNotApplicable=ไม่สามารถใช้งาน +StatusActionToDo=ที่จะทำ +StatusActionDone=สมบูรณ์ +MyActionsAsked=เหตุการณ์ที่ผมได้รับการบันทึก +MyActionsToDo=เหตุการณ์ที่ฉันต้องทำ +MyActionsDone=เหตุการณ์ที่ได้รับมอบหมายมาให้ฉัน +StatusActionInProcess=ในกระบวนการ +TasksHistoryForThisContact=กิจกรรมสำหรับการติดต่อนี้ +LastProspectDoNotContact=อย่าติดต่อ +LastProspectNeverContacted=ไม่เคยได้รับการติดต่อ +LastProspectToContact=หากต้องการติดต่อ +LastProspectContactInProcess=ในขั้นตอนการติดต่อ +LastProspectContactDone=ติดต่อทำ +DateActionPlanned=เหตุการณ์วันที่วางแผนไว้สำหรับ +DateActionDone=เหตุการณ์วันที่ทำ +ActionAskedBy=เหตุการณ์รายงานโดย +ActionAffectedTo=เหตุการณ์ได้รับมอบหมายให้ +ActionDoneBy=เหตุการณ์กระทำโดย +ActionUserAsk=รายงานโดย +ErrorStatusCantBeZeroIfStarted=ถ้าเขตข้อมูล 'วันที่ทำ' จะเต็มไปด้วยการกระทำที่จะเริ่มต้น (หรือเสร็จ) ดังนั้นสนาม "สถานะ" ไม่สามารถเป็น 0 %% +ActionAC_TEL=โทรศัพท์ +ActionAC_FAX=ส่งแฟ็กซ์ +ActionAC_PROP=ส่งข้อเสนอทางไปรษณีย์ +ActionAC_EMAIL=ส่งอีเมล์ +ActionAC_RDV=การประชุม +ActionAC_INT=การแทรกแซงในเว็บไซต์ +ActionAC_FAC=ส่งใบแจ้งหนี้ลูกค้าทางไปรษณีย์ +ActionAC_REL=ส่งใบแจ้งหนี้ลูกค้าโดยทางไปรษณีย์ (เตือน) +ActionAC_CLO=ใกล้ +ActionAC_EMAILING=ส่งอีเมลมวล +ActionAC_COM=ส่งคำสั่งซื้อของลูกค้าโดยทางไปรษณีย์ +ActionAC_SHIP=ส่งจัดส่งทางไปรษณีย์ +ActionAC_SUP_ORD=ส่งคำสั่งผู้จัดจำหน่ายทางไปรษณีย์ +ActionAC_SUP_INV=ส่งใบแจ้งหนี้จัดจำหน่ายทางไปรษณีย์ +ActionAC_OTH=อื่น ๆ +ActionAC_OTH_AUTO=อื่น ๆ (เหตุการณ์แทรกโดยอัตโนมัติ) +ActionAC_MANUAL=เหตุการณ์แทรกด้วยตนเอง +ActionAC_AUTO=เหตุการณ์แทรกโดยอัตโนมัติ +Stats=สถิติการขาย +CAOrder=ปริมาณการขาย (คำสั่งการตรวจสอบ) +FromTo=จาก% s% s +MargeOrder=อัตรากำไรขั้นต้น (คำสั่งการตรวจสอบ) +RecapAnnee=บทสรุปของปี +NoData=มีข้อมูลที่ไม่เป็น +StatusProsp=สถานะ Prospect +DraftPropals=ข้อเสนอในเชิงพาณิชย์ร่าง +SearchPropal=ค้นหาข้อเสนอในเชิงพาณิชย์ +CommercialDashboard=สรุปพาณิชย์ diff --git a/htdocs/langs/th_TH/companies.lang b/htdocs/langs/th_TH/companies.lang index 5580d87b517..8205949f19d 100644 --- a/htdocs/langs/th_TH/companies.lang +++ b/htdocs/langs/th_TH/companies.lang @@ -1,131 +1,131 @@ # Dolibarr language file - Source file is en_US - companies -ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one. -ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one. -ErrorSetACountryFirst=Set the country first -SelectThirdParty=Select a third party -DeleteThirdParty=Delete a third party -ConfirmDeleteCompany=Are you sure you want to delete this company and all inherited information ? -DeleteContact=Delete a contact/address -ConfirmDeleteContact=Are you sure you want to delete this contact and all inherited information ? -MenuNewThirdParty=New third party -MenuNewCompany=New company -MenuNewCustomer=New customer -MenuNewProspect=New prospect -MenuNewSupplier=New supplier -MenuNewPrivateIndividual=New private individual -MenuSocGroup=Groups -NewCompany=New company (prospect, customer, supplier) -NewThirdParty=New third party (prospect, customer, supplier) -NewSocGroup=New company group -NewPrivateIndividual=New private individual (prospect, customer, supplier) -CreateDolibarrThirdPartySupplier=Create a third party (supplier) -ProspectionArea=Prospection area -SocGroup=Group of companies -IdThirdParty=Id third party -IdCompany=Company Id -IdContact=Contact Id -Contacts=Contacts/Addresses -ThirdPartyContacts=Third party contacts -ThirdPartyContact=Third party contact/address -StatusContactValidated=Status of contact/address -Company=Company -CompanyName=Company name -Companies=Companies -CountryIsInEEC=Country is inside European Economic Community -ThirdPartyName=Third party name -ThirdParty=Third party -ThirdParties=Third parties -ThirdPartyAll=Third parties (all) -ThirdPartyProspects=Prospects -ThirdPartyProspectsStats=Prospects -ThirdPartyCustomers=Customers -ThirdPartyCustomersStats=Customers -ThirdPartyCustomersWithIdProf12=Customers with %s or %s -ThirdPartySuppliers=Suppliers -ThirdPartyType=Third party type -Company/Fundation=Company/Foundation -Individual=Private individual -ToCreateContactWithSameName=Will create automatically a physical contact with same informations -ParentCompany=Parent company -Subsidiary=Subsidiary -Subsidiaries=Subsidiaries -NoSubsidiary=No subsidiary -ReportByCustomers=Report by customers -ReportByQuarter=Report by rate -CivilityCode=Civility code -RegisteredOffice=Registered office -Name=Name -Lastname=Last name -Firstname=First name -PostOrFunction=Post/Function -UserTitle=Title -Surname=Surname/Pseudo -Address=Address -State=State/Province -Region=Region -Country=Country -CountryCode=Country code -CountryId=Country id -Phone=Phone +ErrorCompanyNameAlreadyExists=ชื่อ% s บริษัท มีอยู่แล้ว ให้เลือกอีกหนึ่ง +ErrorPrefixAlreadyExists=คำนำหน้า% s อยู่แล้ว ให้เลือกอีกหนึ่ง +ErrorSetACountryFirst=ตั้งประเทศเป็นครั้งแรก +SelectThirdParty=เลือกบุคคลที่สาม +DeleteThirdParty=ลบของบุคคลที่สาม +ConfirmDeleteCompany=คุณแน่ใจหรือว่าต้องการลบ บริษัท นี้และได้รับการถ่ายทอดข้อมูลทั้งหมดหรือไม่ +DeleteContact=ลบรายชื่อ / ที่อยู่ +ConfirmDeleteContact=คุณแน่ใจหรือว่าต้องการลบข้อมูลการติดต่อและได้รับมรดกทั้งหมดนี้หรือไม่? +MenuNewThirdParty=บุคคลที่สามใหม่ +MenuNewCompany=บริษัท ใหม่ +MenuNewCustomer=ลูกค้าใหม่ +MenuNewProspect=โอกาสใหม่ +MenuNewSupplier=ผู้จัดจำหน่ายใหม่ +MenuNewPrivateIndividual=ใหม่เอกชน +MenuSocGroup=กลุ่ม +NewCompany=บริษัท ใหม่ (โอกาสลูกค้าซัพพลายเออร์) +NewThirdParty=บุคคลที่สามใหม่ (โอกาสลูกค้าซัพพลายเออร์) +NewSocGroup=กลุ่ม บริษัท ใหม่ +NewPrivateIndividual=เอกชนใหม่ (โอกาสลูกค้าซัพพลายเออร์) +CreateDolibarrThirdPartySupplier=สร้างบุคคลที่สาม (ซัพพลายเออร์) +ProspectionArea=พื้นที่ prospection +SocGroup=กลุ่ม บริษัท +IdThirdParty=Id ของบุคคลที่สาม +IdCompany=Id บริษัท +IdContact=รหัสที่ติดต่อ +Contacts=รายชื่อ / ที่อยู่ +ThirdPartyContacts=รายชื่อของบุคคลที่สาม +ThirdPartyContact=ติดต่อบุคคลที่สาม / ที่อยู่ +StatusContactValidated=สถานะของการติดต่อ / ที่อยู่ +Company=บริษัท +CompanyName=ชื่อ บริษัท +Companies=บริษัท +CountryIsInEEC=ประเทศที่อยู่ภายในประชาคมเศรษฐกิจยุโรป +ThirdPartyName=ชื่อของบุคคลที่สาม +ThirdParty=บุคคลที่สาม +ThirdParties=บุคคลที่สาม +ThirdPartyAll=บุคคลที่สาม (ทั้งหมด) +ThirdPartyProspects=อนาคต +ThirdPartyProspectsStats=อนาคต +ThirdPartyCustomers=ลูกค้า +ThirdPartyCustomersStats=ลูกค้า +ThirdPartyCustomersWithIdProf12=ลูกค้าที่มี% s% s หรือ +ThirdPartySuppliers=ซัพพลายเออร์ +ThirdPartyType=ประเภทของบุคคลที่สาม +Company/Fundation=บริษัท / มูลนิธิ +Individual=เอกชน +ToCreateContactWithSameName=โดยอัตโนมัติจะสร้างการติดต่อทางกายภาพที่มีข้อมูลเดียวกัน +ParentCompany=บริษัท แม่ +Subsidiary=บริษัท สาขา +Subsidiaries=บริษัท ย่อย +NoSubsidiary=บริษัท ย่อยไม่มี +ReportByCustomers=รายงานจากลูกค้า +ReportByQuarter=รายงานอัตรา +CivilityCode=รหัสสุภาพ +RegisteredOffice=สำนักงานที่สมัครสมาชิก +Name=ชื่อ +Lastname=นามสกุล +Firstname=ชื่อแรก +PostOrFunction=โพสต์ / ฟังก์ชั่น +UserTitle=ชื่อเรื่อง +Surname=สกุล / Pseudo +Address=ที่อยู่ +State=รัฐ / จังหวัด +Region=ภูมิภาค +Country=ประเทศ +CountryCode=รหัสประเทศ +CountryId=รหัสประเทศ +Phone=โทรศัพท์ Skype=Skype -Call=Call -Chat=Chat -PhonePro=Prof. phone -PhonePerso=Pers. phone -PhoneMobile=Mobile -No_Email=Don't send mass e-mailings -Fax=Fax -Zip=Zip Code -Town=City -Web=Web -Poste= Position -DefaultLang=Language by default -VATIsUsed=VAT is used -VATIsNotUsed=VAT is not used -CopyAddressFromSoc=Fill address with thirdparty address -NoEmailDefined=There is no email defined +Call=โทรศัพท์ +Chat=พูดคุย +PhonePro=โทรศัพท์ศ. +PhonePerso=Pers โทรศัพท์ +PhoneMobile=มือถือ +No_Email=อย่าส่งจดหมายอิเล็กทรอนิกส์มวล +Fax=แฟกซ์ +Zip=รหัสไปรษณีย์ +Town=เมือง +Web=เว็บ +Poste= ตำแหน่ง +DefaultLang=ภาษาโดยปริยาย +VATIsUsed=ภาษีมูลค่าเพิ่มถูกนำมาใช้ +VATIsNotUsed=ภาษีมูลค่าเพิ่มที่ไม่ได้ใช้ +CopyAddressFromSoc=กรอกที่อยู่ที่อยู่ thirdparty +NoEmailDefined=มีอีเมลที่กำหนดไว้ไม่เป็น ##### Local Taxes ##### -LocalTax1IsUsedES= RE is used -LocalTax1IsNotUsedES= RE is not used -LocalTax2IsUsedES= IRPF is used -LocalTax2IsNotUsedES= IRPF is not used +LocalTax1IsUsedES= RE ถูกนำมาใช้ +LocalTax1IsNotUsedES= RE ไม่ได้ใช้ +LocalTax2IsUsedES= IRPF ถูกนำมาใช้ +LocalTax2IsNotUsedES= IRPF ไม่ได้ใช้ LocalTax1ES=RE LocalTax2ES=IRPF -TypeLocaltax1ES=RE Type -TypeLocaltax2ES=IRPF Type -TypeES=Type -ThirdPartyEMail=%s -WrongCustomerCode=Customer code invalid -WrongSupplierCode=Supplier code invalid -CustomerCodeModel=Customer code model -SupplierCodeModel=Supplier code model -Gencod=Bar code +TypeLocaltax1ES=RE ประเภท +TypeLocaltax2ES=IRPF ประเภท +TypeES=ชนิด +ThirdPartyEMail=% s +WrongCustomerCode=รหัสลูกค้าที่ไม่ถูกต้อง +WrongSupplierCode=รหัสผู้จำหน่ายที่ไม่ถูกต้อง +CustomerCodeModel=รหัสรูปแบบของลูกค้า +SupplierCodeModel=รูปแบบรหัสผู้จำหน่าย +Gencod=บาร์โค้ด ##### Professional ID ##### -ProfId1Short=Prof. id 1 -ProfId2Short=Prof. id 2 -ProfId3Short=Prof. id 3 -ProfId4Short=Prof. id 4 -ProfId5Short=Prof. id 5 -ProfId6Short=Prof. id 5 -ProfId1=Professional ID 1 -ProfId2=Professional ID 2 -ProfId3=Professional ID 3 -ProfId4=Professional ID 4 -ProfId5=Professional ID 5 -ProfId6=Professional ID 6 -ProfId1AR=Prof Id 1 (CUIT/CUIL) -ProfId2AR=Prof Id 2 (Revenu brutes) +ProfId1Short=ศ. รหัส 1 +ProfId2Short=ศ. รหัส 2 +ProfId3Short=ศ. รหัส 3 +ProfId4Short=ศ. รหัส 4 +ProfId5Short=ศ. 5 รหัส +ProfId6Short=ศ. 5 รหัส +ProfId1=ID มืออาชีพ 1 +ProfId2=ID มืออาชีพ 2 +ProfId3=ID มืออาชีพ 3 +ProfId4=ID มืออาชีพ 4 +ProfId5=ID มืออาชีพ 5 +ProfId6=ID มืออาชีพ 6 +ProfId1AR=ศหมายเลข 1 (CUIT / Cuil) +ProfId2AR=ศหมายเลข 2 (revenu สัตว์) ProfId3AR=- ProfId4AR=- ProfId5AR=- ProfId6AR=- -ProfId1AU=Prof Id 1 (ABN) +ProfId1AU=ศหมายเลข 1 (เอบี) ProfId2AU=- ProfId3AU=- ProfId4AU=- ProfId5AU=- ProfId6AU=- -ProfId1BE=Prof Id 1 (Professional number) +ProfId1BE=ศหมายเลข 1 (หมายเลขมืออาชีพ) ProfId2BE=- ProfId3BE=- ProfId4BE=- @@ -133,86 +133,86 @@ ProfId5BE=- ProfId6BE=- ProfId1BR=- ProfId2BR=IE (Inscricao Estadual) -ProfId3BR=IM (Inscricao Municipal) -ProfId4BR=CPF +ProfId3BR=IM (Inscricao เทศบาล) +ProfId4BR=ซีพีเอฟ #ProfId5BR=CNAE #ProfId6BR=INSS ProfId1CH=- ProfId2CH=- -ProfId3CH=Prof Id 1 (Federal number) -ProfId4CH=Prof Id 2 (Commercial Record number) +ProfId3CH=ศหมายเลข 1 (หมายเลขของรัฐบาลกลาง) +ProfId4CH=ศหมายเลข 2 (Record พาณิชย์จำนวน) ProfId5CH=- ProfId6CH=- -ProfId1CL=Prof Id 1 (R.U.T.) +ProfId1CL=ศหมายเลข 1 (RUT) ProfId2CL=- ProfId3CL=- ProfId4CL=- ProfId5CL=- ProfId6CL=- -ProfId1CO=Prof Id 1 (R.U.T.) +ProfId1CO=ศหมายเลข 1 (RUT) ProfId2CO=- ProfId3CO=- ProfId4CO=- ProfId5CO=- ProfId6CO=- -ProfId1DE=Prof Id 1 (USt.-IdNr) -ProfId2DE=Prof Id 2 (USt.-Nr) -ProfId3DE=Prof Id 3 (Handelsregister-Nr.) +ProfId1DE=ศหมายเลข 1 (USt. -IdNr) +ProfId2DE=ศหมายเลข 2 (USt. -Nr) +ProfId3DE=ศหมายเลข 3 (Handelsregister-Nr.) ProfId4DE=- ProfId5DE=- ProfId6DE=- -ProfId1ES=Prof Id 1 (CIF/NIF) -ProfId2ES=Prof Id 2 (Social security number) -ProfId3ES=Prof Id 3 (CNAE) -ProfId4ES=Prof Id 4 (Collegiate number) +ProfId1ES=ศหมายเลข 1 (CIF / NIF) +ProfId2ES=ศหมายเลข 2 (หมายเลขประกันสังคม) +ProfId3ES=ศหมายเลข 3 (CNAE) +ProfId4ES=ศหมายเลข 4 (วิทยาลัยจำนวน) ProfId5ES=- ProfId6ES=- -ProfId1FR=Prof Id 1 (SIREN) -ProfId2FR=Prof Id 2 (SIRET) -ProfId3FR=Prof Id 3 (NAF, old APE) -ProfId4FR=Prof Id 4 (RCS/RM) +ProfId1FR=ศหมายเลข 1 (ไซเรน) +ProfId2FR=ศหมายเลข 2 (SIRET) +ProfId3FR=ศหมายเลข 3 (NAF, APE เก่า) +ProfId4FR=ศหมายเลข 4 (RCS / RM) ProfId5FR=- ProfId6FR=- -ProfId1GB=Registration Number +ProfId1GB=ทะเบียนเลขที่ ProfId2GB=- ProfId3GB=SIC ProfId4GB=- ProfId5GB=- ProfId6GB=- -ProfId1HN=Id prof. 1 (RTN) +ProfId1HN=ศ Id 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 +ProfId1IN=Id ศที่ 1 (TIN) +ProfId2IN=ศหมายเลข 2 (PAN) +ProfId3IN=ศหมายเลข 3 (SRVC ภาษี) +ProfId4IN=ศหมายเลข 4 +ProfId5IN=Id ศ 5 ProfId6IN=- -ProfId1MA=Id prof. 1 (R.C.) -ProfId2MA=Id prof. 2 (Patente) -ProfId3MA=Id prof. 3 (I.F.) -ProfId4MA=Id prof. 4 (C.N.S.S.) +ProfId1MA=ศ Id 1 (RC) +ProfId2MA=ศ Id 2 (Patente) +ProfId3MA=ศ Id 3 (IF) +ProfId4MA=ศ Id 4 (CNSS) ProfId5MA=- ProfId6MA=- -ProfId1MX=Prof Id 1 (R.F.C). -ProfId2MX=Prof Id 2 (R..P. IMSS) -ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId1MX=Id ศที่ 1 (RFC) +ProfId2MX=ศหมายเลข 2 (R..P. IMSS) +ProfId3MX=ศหมายเลข 3 (Profesional กฎบัตร) ProfId4MX=- ProfId5MX=- ProfId6MX=- -ProfId1NL=KVK nummer +ProfId1NL=KVK Nummer ProfId2NL=- ProfId3NL=- ProfId4NL=Burgerservicenummer (BSN) ProfId5NL=- ProfId6NL=- -ProfId1PT=Prof Id 1 (NIPC) -ProfId2PT=Prof Id 2 (Social security number) -ProfId3PT=Prof Id 3 (Commercial Record number) -ProfId4PT=Prof Id 4 (Conservatory) +ProfId1PT=ศหมายเลข 1 (NIPC) +ProfId2PT=ศหมายเลข 2 (หมายเลขประกันสังคม) +ProfId3PT=ศหมายเลข 3 (Record พาณิชย์จำนวน) +ProfId4PT=ศหมายเลข 4 (เรือน) ProfId5PT=- ProfId6PT=- ProfId1SN=RC @@ -221,194 +221,199 @@ 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) +ProfId1TN=Id ศที่ 1 (RC) +ProfId2TN=ศหมายเลข 2 (matricule การคลัง) +ProfId3TN=ศหมายเลข 3 (รหัส Douane) +ProfId4TN=ศหมายเลข 4 (บ้าน) ProfId5TN=- ProfId6TN=- -ProfId1RU=Prof Id 1 (OGRN) -ProfId2RU=Prof Id 2 (INN) -ProfId3RU=Prof Id 3 (KPP) -ProfId4RU=Prof Id 4 (OKPO) +ProfId1RU=ศหมายเลข 1 (OGRN) +ProfId2RU=ศหมายเลข 2 (INN) +ProfId3RU=ศหมายเลข 3 (KPP) +ProfId4RU=ศหมายเลข 4 (OKPO) ProfId5RU=- ProfId6RU=- -VATIntra=VAT number -VATIntraShort=VAT number -VATIntraVeryShort=VAT -VATIntraSyntaxIsValid=Syntax is valid -VATIntraValueIsValid=Value is valid -ProspectCustomer=Prospect / Customer -Prospect=Prospect -CustomerCard=Customer Card -Customer=Customer -CustomerDiscount=Customer Discount -CustomerRelativeDiscount=Relative customer discount -CustomerAbsoluteDiscount=Absolute customer discount -CustomerRelativeDiscountShort=Relative discount -CustomerAbsoluteDiscountShort=Absolute discount -CompanyHasRelativeDiscount=This customer has a default discount of %s%% -CompanyHasNoRelativeDiscount=This customer has no relative discount by default -CompanyHasAbsoluteDiscount=This customer still has discount credits or deposits for %s %s -CompanyHasCreditNote=This customer still has credit notes for %s %s -CompanyHasNoAbsoluteDiscount=This customer has no discount credit available -CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users) -CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself) -DefaultDiscount=Default discount -AvailableGlobalDiscounts=Absolute discounts available -DiscountNone=None -Supplier=Supplier -CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address -EditContact=Edit contact -EditContactAddress=Edit contact/address -Contact=Contact -ContactsAddresses=Contacts/Addresses -NoContactDefinedForThirdParty=No contact defined for this third party -NoContactDefined=No contact defined -DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party -DeleteACompany=Delete a company -PersonalInformations=Personal data -AccountancyCode=Accountancy code -CustomerCode=Customer code -SupplierCode=Supplier code -CustomerAccount=Customer account -SupplierAccount=Supplier account -CustomerCodeDesc=Customer code, unique for all customers -SupplierCodeDesc=Supplier code, unique for all suppliers -RequiredIfCustomer=Required if third party is a customer or prospect -RequiredIfSupplier=Required if third party is a supplier -ValidityControledByModule=Validity controled by module -ThisIsModuleRules=This is rules for this module -LastProspect=Last -ProspectToContact=Prospect to contact -CompanyDeleted=Company "%s" deleted from database. -ListOfContacts=List of contacts/addresses -ListOfContactsAddresses=List of contacts/adresses -ListOfProspectsContacts=List of prospect contacts -ListOfCustomersContacts=List of customer contacts -ListOfSuppliersContacts=List of supplier contacts -ListOfCompanies=List of companies -ListOfThirdParties=List of third parties -ShowCompany=Show company -ShowContact=Show contact -ContactsAllShort=All (No filter) -ContactType=Contact type -ContactForOrders=Order's contact -ContactForProposals=Proposal's contact -ContactForContracts=Contract's contact -ContactForInvoices=Invoice's contact -NoContactForAnyOrder=This contact is not a contact for any order -NoContactForAnyProposal=This contact is not a contact for any commercial proposal -NoContactForAnyContract=This contact is not a contact for any contract -NoContactForAnyInvoice=This contact is not a contact for any invoice -NewContact=New contact -NewContactAddress=New contact/address -LastContacts=Last contacts -MyContacts=My contacts -Phones=Phones -Capital=Capital -CapitalOf=Capital of %s -EditCompany=Edit company -EditDeliveryAddress=Edit delivery address -ThisUserIsNot=This user is not a prospect, customer nor supplier -VATIntraCheck=Check -VATIntraCheckDesc=The link %s allows to ask the european VAT checker service. An external internet access from server is required for this service to work. +VATIntra=ภาษีมูลค่าเพิ่มจำนวน +VATIntraShort=ภาษีมูลค่าเพิ่มจำนวน +VATIntraVeryShort=ภาษีมูลค่าเพิ่ม +VATIntraSyntaxIsValid=ไวยากรณ์ที่ถูกต้อง +VATIntraValueIsValid=ค่าที่ถูกต้อง +ProspectCustomer=Prospect / ลูกค้า +Prospect=โอกาส +CustomerCard=บัตรของลูกค้า +Customer=ลูกค้า +CustomerDiscount=ส่วนลดลูกค้า +CustomerRelativeDiscount=ส่วนลดลูกค้าญาติ +CustomerAbsoluteDiscount=ส่วนลดลูกค้าแอบโซลูท +CustomerRelativeDiscountShort=ส่วนลดญาติ +CustomerAbsoluteDiscountShort=ส่วนลดแอบโซลูท +CompanyHasRelativeDiscount=ลูกค้ารายนี้มีส่วนลดเริ่มต้นของ% s %% +CompanyHasNoRelativeDiscount=ลูกค้ารายนี้ไม่เคยมีใครส่วนลดญาติโดยค่าเริ่มต้น +CompanyHasAbsoluteDiscount=ลูกค้ารายนี้ยังคงมีเครดิตส่วนลดหรือเงินฝากสำหรับ% s% s +CompanyHasCreditNote=ลูกค้ารายนี้ยังคงมีการบันทึกเครดิตสำหรับ% s% s +CompanyHasNoAbsoluteDiscount=ลูกค้ารายนี้มีเครดิตส่วนลดไม่มี +CustomerAbsoluteDiscountAllUsers=ส่วนลดแอบโซลูท (ที่ได้รับจากผู้ใช้ทั้งหมด) +CustomerAbsoluteDiscountMy=ส่วนลดแอบโซลูท (ที่ได้รับจากตัวเอง) +DefaultDiscount=เริ่มต้นส่วนลด +AvailableGlobalDiscounts=ส่วนลดแอบโซลูทที่มีอยู่ +DiscountNone=ไม่ +Supplier=ผู้ผลิต +CompanyList=รายการของ บริษัท ฯ +AddContact=สร้างรายชื่อผู้ติดต่อ +AddContactAddress=สร้างการติดต่อ / ที่อยู่ +EditContact=ติดต่อแก้ไข +EditContactAddress=ติดต่อแก้ไข / ที่อยู่ +Contact=ติดต่อ +ContactsAddresses=รายชื่อ / ที่อยู่ +NoContactDefinedForThirdParty=ติดต่อไม่มีกำหนดไว้สำหรับบุคคลที่สามนี้ +NoContactDefined=ติดต่อไม่มีกำหนด +DefaultContact=ติดต่อเริ่มต้น / ที่อยู่ +AddCompany=สร้าง บริษัท +AddThirdParty=สร้างของบุคคลที่สาม +DeleteACompany=ลบ บริษัท +PersonalInformations=ข้อมูลส่วนบุคคล +AccountancyCode=รหัสบัญชี +CustomerCode=รหัสลูกค้า +SupplierCode=รหัสผู้จำหน่าย +CustomerAccount=บัญชีของลูกค้า +SupplierAccount=บัญชีของผู้ผลิต +CustomerCodeDesc=รหัสลูกค้าไม่ซ้ำกันสำหรับลูกค้าทุกท่าน +SupplierCodeDesc=รหัสผู้จำหน่ายที่ไม่ซ้ำกันสำหรับซัพพลายเออร์ทั้งหมด +RequiredIfCustomer=จำเป็นต้องใช้ถ้าบุคคลที่สามเป็นลูกค้าหรือโอกาส +RequiredIfSupplier=จำเป็นต้องใช้ถ้าบุคคลที่สามเป็นผู้จัดจำหน่าย +ValidityControledByModule=ตั้งแต่วันที่ควบคุมโดยโมดูล +ThisIsModuleRules=นี่คือกฎระเบียบสำหรับโมดูลนี้ +LastProspect=ล่าสุด +ProspectToContact=Prospect ที่จะติดต่อ +CompanyDeleted=บริษัท "% s" ลบออกจากฐานข้อมูล +ListOfContacts=รายชื่อผู้ติดต่อ / ที่อยู่ +ListOfContactsAddresses=รายชื่อผู้ติดต่อ / adresses +ListOfProspectsContacts=รายการของโอกาส +ListOfCustomersContacts=รายชื่อผู้ติดต่อของลูกค้า +ListOfSuppliersContacts=รายการของผู้จัดจำหน่าย +ListOfCompanies=รายการของ +ListOfThirdParties=รายชื่อของบุคคลที่สาม +ShowCompany=แสดง บริษัท +ShowContact=แสดงรายชื่อผู้ติดต่อ +ContactsAllShort=ทั้งหมด (ไม่กรอง) +ContactType=ประเภทติดต่อ +ContactForOrders=ติดต่อสั่งซื้อของ +ContactForProposals=ติดต่อข้อเสนอของ +ContactForContracts=ติดต่อสัญญา +ContactForInvoices=การติดต่อของใบแจ้งหนี้ +NoContactForAnyOrder=การติดต่อที่ไม่สามารถติดต่อสำหรับการสั่งซื้อใด ๆ +NoContactForAnyProposal=ติดต่อนี้ไม่ได้ติดต่อสำหรับข้อเสนอการค้าใด ๆ +NoContactForAnyContract=การติดต่อที่ไม่สามารถติดต่อสำหรับการทำสัญญาใด ๆ +NoContactForAnyInvoice=ติดต่อนี้ไม่ได้ติดต่อสำหรับใบแจ้งหนี้ใด ๆ +NewContact=รายชื่อใหม่ +NewContactAddress=ติดต่อใหม่ / ที่อยู่ +LastContacts=รายชื่อล่าสุด +MyContacts=รายชื่อของฉัน +Phones=โทรศัพท์ +Capital=เมืองหลวง +CapitalOf=เมืองหลวงของ% s +EditCompany=แก้ไข บริษัท +EditDeliveryAddress=แก้ไขที่อยู่จัดส่ง +ThisUserIsNot=ผู้ใช้นี้ไม่ได้เป็นความคาดหวังของลูกค้าหรือผู้จัดจำหน่าย +VATIntraCheck=ตรวจสอบ +VATIntraCheckDesc=การเชื่อมโยง% s ช่วยให้การขอให้ตรวจสอบการให้บริการภาษีมูลค่าเพิ่มยุโรป อินเทอร์เน็ตจากเซิร์ฟเวอร์ภายนอกเป็นสิ่งจำเป็นสำหรับบริการนี​​้ในการทำงาน VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do -VATIntraCheckableOnEUSite=Check Intracomunnautary VAT on European commision site -VATIntraManualCheck=You can also check manually from european web site %s -ErrorVATCheckMS_UNAVAILABLE=Check not possible. Check service is not provided by the member state (%s). -NorProspectNorCustomer=Nor prospect, nor customer -JuridicalStatus=Juridical status -Staff=Staff -ProspectLevelShort=Potential -ProspectLevel=Prospect potential -ContactPrivate=Private -ContactPublic=Shared -ContactVisibility=Visibility -OthersNotLinkedToThirdParty=Others, not linked to a third party -ProspectStatus=Prospect status -PL_NONE=None -PL_UNKNOWN=Unknown -PL_LOW=Low -PL_MEDIUM=Medium -PL_HIGH=High +VATIntraCheckableOnEUSite=ตรวจสอบ Intracomunnautary ภาษีมูลค่าเพิ่มในเว็บไซต์ของคณะกรรมการยุโรป +VATIntraManualCheck=นอกจากนี้คุณยังสามารถตรวจสอบด้วยตนเองจากเว็บไซต์ยุโรป % s +ErrorVATCheckMS_UNAVAILABLE=ตรวจสอบไม่ได้ บริการตรวจสอบไม่ได้ให้โดยรัฐสมาชิก (% s) +NorProspectNorCustomer=หรือโอกาสหรือลูกค้า +JuridicalStatus=สถานะการพิจารณาคดี +Staff=บุคลากร +ProspectLevelShort=ที่อาจเกิดขึ้น +ProspectLevel=Prospect ที่มีศักยภาพ +ContactPrivate=ส่วนตัว +ContactPublic=ที่ใช้ร่วมกัน +ContactVisibility=ความชัดเจน +OthersNotLinkedToThirdParty=อื่น ๆ , ไม่เชื่อมโยงกับบุคคลที่สาม +ProspectStatus=สถานะ Prospect +PL_NONE=ไม่ +PL_UNKNOWN=ไม่ทราบ +PL_LOW=ต่ำ +PL_MEDIUM=กลาง +PL_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_STARTUP=การเริ่มต้น +TE_GROUP=บริษัท ขนาดใหญ่ +TE_MEDIUM=บริษัท ขนาดกลาง +TE_ADMIN=ของรัฐบาล +TE_SMALL=บริษัท ขนาดเล็ก +TE_RETAIL=ร้านค้าปลีก TE_WHOLE=Wholetailer -TE_PRIVATE=Private individual -TE_OTHER=Other -StatusProspect-1=Do not contact -StatusProspect0=Never contacted -StatusProspect1=To contact -StatusProspect2=Contact in process -StatusProspect3=Contact done -ChangeDoNotContact=Change status to 'Do not contact' -ChangeNeverContacted=Change status to 'Never contacted' -ChangeToContact=Change status to 'To contact' -ChangeContactInProcess=Change status to 'Contact in process' -ChangeContactDone=Change status to 'Contact done' -ProspectsByStatus=Prospects by status -BillingContact=Billing contact -NbOfAttachedFiles=Number of attached files -AttachANewFile=Attach a new file -NoRIB=No BAN defined -NoParentCompany=None -ExportImport=Import-Export -ExportCardToFormat=Export card to format -ContactNotLinkedToCompany=Contact not linked to any third party -DolibarrLogin=Dolibarr login -NoDolibarrAccess=No Dolibarr access -ExportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -ExportDataset_company_2=Contacts and properties -ImportDataset_company_1=Third parties (Companies/foundations/physical people) and properties -ImportDataset_company_2=Contacts/Addresses (of thirdparties or not) and attributes -ImportDataset_company_3=Bank details -PriceLevel=Price level -DeliveriesAddress=Delivery addresses -DeliveryAddress=Delivery address -DeliveryAddressLabel=Delivery address label -DeleteDeliveryAddress=Delete a delivery address -ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? -NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address -NoOtherDeliveryAddress=No alternative delivery address defined -SupplierCategory=Supplier category -JuridicalStatus200=Independant -DeleteFile=Delete file -ConfirmDeleteFile=Are you sure you want to delete this file? -AllocateCommercial=Assigned to sale representative -SelectCountry=Select a country -SelectCompany=Select a third party -Organization=Organization -AutomaticallyGenerated=Automatically generated -FiscalYearInformation=Information on the fiscal year -FiscalMonthStart=Starting month of the fiscal year -YouMustCreateContactFirst=You must create emails contacts for third party first to be able to add emails notifications. -ListSuppliersShort=List of suppliers -ListProspectsShort=List of prospects -ListCustomersShort=List of customers -ThirdPartiesArea=Third parties and contact area -LastModifiedThirdParties=Last %s modified third parties -UniqueThirdParties=Total of unique third parties -InActivity=Open -ActivityCeased=Closed -ActivityStateFilter=Activity status -ProductsIntoElements=List of products into %s -CurrentOutstandingBill=Current outstanding bill -OutstandingBill=Max. for outstanding bill -OutstandingBillReached=Reached max. for outstanding bill -MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. -LeopardNumRefModelDesc=The code is free. This code can be modified at any time. -ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty -SearchContact=Search contact +TE_PRIVATE=เอกชน +TE_OTHER=อื่น ๆ +StatusProspect-1=อย่าติดต่อ +StatusProspect0=ไม่เคยได้รับการติดต่อ +StatusProspect1=หากต้องการติดต่อ +StatusProspect2=ในขั้นตอนการติดต่อ +StatusProspect3=ติดต่อทำ +ChangeDoNotContact=เปลี่ยนสถานะเป็น 'อย่าติดต่อ' +ChangeNeverContacted=สถานะเปลี่ยนไปไม่เคยติดต่อ ' +ChangeToContact=เปลี่ยนสถานะเป็น 'ติดต่อ' +ChangeContactInProcess=เปลี่ยนสถานะเป็น 'ติดต่อในกระบวนการ' +ChangeContactDone=สถานะเปลี่ยนไปติดต่อทำ ' +ProspectsByStatus=อนาคตตามสถานะ +BillingContact=ติดต่อการเรียกเก็บเงิน +NbOfAttachedFiles=จำนวนไฟล์ที่แนบมา +AttachANewFile=แนบไฟล์ใหม่ +NoRIB=ไม่มีบ้านที่กำหนดไว้ +NoParentCompany=ไม่ +ExportImport=นำเข้าส่งออก +ExportCardToFormat=การ์ดส่งออกไปยังรูปแบบ +ContactNotLinkedToCompany=ติดต่อไม่ได้เชื่อมโยงกับบุคคลที่สาม +DolibarrLogin=เข้าสู่ระบบ Dolibarr +NoDolibarrAccess=ไม่สามารถเข้าถึง Dolibarr +ExportDataset_company_1=บุคคลที่สาม (บริษัท / มูลนิธิ / คนทางกายภาพ) และคุณสมบัติ +ExportDataset_company_2=รายชื่อและคุณสมบัติ +ImportDataset_company_1=บุคคลที่สาม (บริษัท / มูลนิธิ / คนทางกายภาพ) และคุณสมบัติ +ImportDataset_company_2=รายชื่อ / ที่อยู่ (จาก thirdparties หรือไม่) และคุณลักษณะ +ImportDataset_company_3=ธนาคารรายละเอียด +PriceLevel=ระดับราคา +DeliveriesAddress=ที่อยู่จัดส่ง +DeliveryAddress=ที่อยู่จัดส่ง +DeliveryAddressLabel=ป้ายชื่อที่อยู่จัดส่ง +DeleteDeliveryAddress=ลบที่อยู่จัดส่ง +ConfirmDeleteDeliveryAddress=คุณแน่ใจว่าคุณต้องการลบที่อยู่จัดส่งนี้หรือไม่? +NewDeliveryAddress=ที่อยู่จัดส่งใหม่ +AddDeliveryAddress=สร้างที่อยู่ +AddAddress=สร้างที่อยู่ +NoOtherDeliveryAddress=ไม่มีที่อยู่จัดส่งทางเลือกที่กำหนดไว้ +SupplierCategory=ประเภทผู้ผลิต +JuridicalStatus200=อิสระ +DeleteFile=ลบไฟล์ +ConfirmDeleteFile=คุณแน่ใจว่าคุณต้องการที่จะลบไฟล์นี้หรือไม่? +AllocateCommercial=ได้รับมอบหมายให้เป็นตัวแทนขาย +SelectCountry=เลือกประเทศ +SelectCompany=เลือกบุคคลที่สาม +Organization=องค์กร +AutomaticallyGenerated=สร้างขึ้นโดยอัตโนมัติ +FiscalYearInformation=ข้อมูลเกี่ยวกับปีงบประมาณ +FiscalMonthStart=เริ่มต้นเดือนของปีงบประมาณ +YouMustCreateContactFirst=คุณต้องสร้างรายชื่ออีเมลของบุคคลที่สามเป็นครั้งแรกที่จะสามารถเพิ่มการแจ้งเตือนอีเมล +ListSuppliersShort=รายชื่อของซัพพลายเออร์ +ListProspectsShort=รายชื่อของลูกค้า +ListCustomersShort=รายชื่อของลูกค้า +ThirdPartiesArea=บุคคลที่สามและพื้นที่ติดต่อ +LastModifiedThirdParties=% ล่าสุดของบุคคลที่สามมีการปรับเปลี่ยน +UniqueThirdParties=รวมของบุคคลที่สามที่ไม่ซ้ำกัน +InActivity=เปิด +ActivityCeased=ปิด +ActivityStateFilter=สถานะกิจกรรม +ProductsIntoElements=รายการของผลิตภัณฑ์ลงใน% s +CurrentOutstandingBill=การเรียกเก็บเงินในปัจจุบันที่โดดเด่น +OutstandingBill=แม็กซ์ สำหรับการเรียกเก็บเงินที่โดดเด่น +OutstandingBillReached=ถึงสูงสุด สำหรับการเรียกเก็บเงินที่โดดเด่น +MonkeyNumRefModelDesc=กลับ Numero ที่มีรูปแบบ% syymm-nnnn รหัสลูกค้าและ% syymm-nnnn รหัสผู้จัดจำหน่ายที่ yy เป็นปีเป็นเดือนมิลลิเมตรและ nnnn เป็นลำดับที่มีการหยุดพักและกลับไปที่ 0 ไม่มี +LeopardNumRefModelDesc=รหัสที่เป็นอิสระ รหัสนี้สามารถแก้ไขได้ในเวลาใดก็ได้ +ManagingDirectors=ผู้จัดการ (s) ชื่อ (ซีอีโอผู้อำนวยการประธาน ... ) +SearchThirdparty=ค้นหาบุคคลที่สาม +SearchContact=ติดต่อค้นหา +MergeOriginThirdparty=ซ้ำของบุคคลที่สาม (บุคคลที่สามต้องการลบ) +MergeThirdparties=ผสานบุคคลที่สาม +ConfirmMergeThirdparties=คุณแน่ใจหรือว่าต้องการผสานบุคคลที่สามนี้ในปัจจุบัน? วัตถุที่เชื่อมโยงทุกชนิด (ใบแจ้งหนี้การสั่งซื้อ, ... ) จะถูกย้ายไปยังบุคคลที่สามในปัจจุบันดังนั้นคุณจะสามารถลบที่ซ้ำกันอย่างใดอย่างหนึ่ง +ThirdpartiesMergeSuccess=Thirdparties ได้รับการรวม +ErrorThirdpartiesMerge=มีข้อผิดพลาดเมื่อมีการลบ thirdparties กรุณาตรวจสอบการเข้าสู่ระบบ เปลี่ยนแปลงได้รับการหวนกลับ diff --git a/htdocs/langs/th_TH/compta.lang b/htdocs/langs/th_TH/compta.lang index 0d579a06ff1..6185024dc8d 100644 --- a/htdocs/langs/th_TH/compta.lang +++ b/htdocs/langs/th_TH/compta.lang @@ -1,207 +1,207 @@ # Dolibarr language file - Source file is en_US - compta -Accountancy=Accountancy -AccountancyCard=Accountancy card -Treasury=Treasury -MenuFinancial=Financial -TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation -TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation -OptionMode=Option for accountancy -OptionModeTrue=Option Incomes-Expenses -OptionModeVirtual=Option Claims-Debts -OptionModeTrueDesc=In this context, the turnover is calculated over payments (date of payments). The validity of the figures is assured only if the book-keeping is scrutinized through the input/output on the accounts via invoices. -OptionModeVirtualDesc=In this context, the turnover is calculated over invoices (date of validation). When these invoices are due, whether they have been paid or not, they are listed in the turnover output. -FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) -VATReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Tax module setup. -LTReportBuildWithOptionDefinedInModule=Amounts shown here are calculated using rules defined by Company setup. -Param=Setup -RemainingAmountPayment=Amount payment remaining : -AmountToBeCharged=Total amount to pay : -AccountsGeneral=Accounts -Account=Account -Accounts=Accounts -Accountparent=Account parent -Accountsparent=Accounts parent -BillsForSuppliers=Bills for suppliers -Income=Income -Outcome=Expense -ReportInOut=Income / Expense -ReportTurnover=Turnover -PaymentsNotLinkedToInvoice=Payments not linked to any invoice, so not linked to any third party -PaymentsNotLinkedToUser=Payments not linked to any user -Profit=Profit -AccountingResult=Accounting result -Balance=Balance -Debit=Debit -Credit=Credit -Piece=Accounting Doc. -Withdrawal=Withdrawal -Withdrawals=Withdrawals -AmountHTVATRealReceived=Net collected -AmountHTVATRealPaid=Net paid -VATToPay=VAT sells -VATReceived=VAT received -VATToCollect=VAT purchases -VATSummary=VAT Balance -LT2SummaryES=IRPF Balance -LT1SummaryES=RE Balance -VATPaid=VAT paid -SalaryPaid=Salary paid -LT2PaidES=IRPF Paid -LT1PaidES=RE Paid -LT2CustomerES=IRPF sales -LT2SupplierES=IRPF purchases -LT1CustomerES=RE sales -LT1SupplierES=RE purchases -VATCollected=VAT collected -ToPay=To pay -ToGet=To get back -SpecialExpensesArea=Area for all special payments -TaxAndDividendsArea=Tax, social contributions and dividends area -SocialContribution=Social contribution -SocialContributions=Social contributions -MenuSpecialExpenses=Special expenses -MenuTaxAndDividends=Taxes and dividends -MenuSalaries=Salaries -MenuSocialContributions=Social contributions -MenuNewSocialContribution=New contribution -NewSocialContribution=New social contribution -ContributionsToPay=Contributions to pay -AccountancyTreasuryArea=Accountancy/Treasury area -AccountancySetup=Accountancy setup -NewPayment=New payment -Payments=Payments -PaymentCustomerInvoice=Customer invoice payment -PaymentSupplierInvoice=Supplier invoice payment -PaymentSocialContribution=Social contribution payment -PaymentVat=VAT payment -PaymentSalary=Salary payment -ListPayment=List of payments -ListOfPayments=List of payments -ListOfCustomerPayments=List of customer payments -ListOfSupplierPayments=List of supplier payments -DatePayment=Payment date -DateStartPeriod=Date start period -DateEndPeriod=Date end period -NewVATPayment=New VAT payment -newLT2PaymentES=New IRPF payment -newLT1PaymentES=New RE payment -LT2PaymentES=IRPF Payment -LT2PaymentsES=IRPF Payments -LT1PaymentES=RE Payment -LT1PaymentsES=RE Payments -VATPayment=VAT Payment -VATPayments=VAT Payments -SocialContributionsPayments=Social contributions payments -ShowVatPayment=Show VAT payment -TotalToPay=Total to pay -TotalVATReceived=Total VAT received -CustomerAccountancyCode=Customer accountancy code -SupplierAccountancyCode=Supplier accountancy code -AccountNumberShort=Account number -AccountNumber=Account number -NewAccount=New account -SalesTurnover=Sales turnover -SalesTurnoverMinimum=Minimum sales turnover -ByThirdParties=By third parties -ByUserAuthorOfInvoice=By invoice author -AccountancyExport=Accountancy export -ErrorWrongAccountancyCodeForCompany=Bad customer accountancy code for %s -SuppliersProductsSellSalesTurnover=The generated turnover by the sales of supplier's products. -CheckReceipt=Check deposit -CheckReceiptShort=Check deposit -LastCheckReceiptShort=Last %s check receipts -NewCheckReceipt=New discount -NewCheckDeposit=New check deposit -NewCheckDepositOn=Create receipt for deposit on account: %s -NoWaitingChecks=No checks waiting for deposit. -DateChequeReceived=Check reception date -NbOfCheques=Nb of checks -PaySocialContribution=Pay a social contribution -ConfirmPaySocialContribution=Are you sure you want to classify this social contribution as paid? -DeleteSocialContribution=Delete a social contribution -ConfirmDeleteSocialContribution=Are you sure you want to delete this social contribution? -ExportDataset_tax_1=Social contributions and payments -CalcModeVATDebt=Mode %sVAT on commitment accounting%s. -CalcModeVATEngagement=Mode %sVAT on incomes-expenses%s. -CalcModeDebt=Mode %sClaims-Debts%s said Commitment accounting. -CalcModeEngagement=Mode %sIncomes-Expenses%s said cash accounting -CalcModeLT1= Mode %sRE on customer invoices - suppliers invoices%s -CalcModeLT1Debt=Mode %sRE on customer invoices%s -CalcModeLT1Rec= Mode %sRE on suppliers invoices%s -CalcModeLT2= Mode %sIRPF on customer invoices - suppliers invoices%s -CalcModeLT2Debt=Mode %sIRPF on customer invoices%s -CalcModeLT2Rec= Mode %sIRPF on suppliers invoices%s -AnnualSummaryDueDebtMode=Balance of income and expenses, annual summary -AnnualSummaryInputOutputMode=Balance of income and expenses, annual summary -AnnualByCompaniesDueDebtMode=Balance of income and expenses, detail by third parties, mode %sClaims-Debts%s said Commitment accounting. -AnnualByCompaniesInputOutputMode=Balance of income and expenses, detail by third parties, mode %sIncomes-Expenses%s said cash accounting. -SeeReportInInputOutputMode=See report %sIncomes-Expenses%s said cash accounting for a calculation on actual payments made -SeeReportInDueDebtMode=See report %sClaims-Debts%s said commitment accounting for a calculation on issued invoices -RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included -RulesResultDue=- It includes outstanding invoices, expenses and VAT whether they are paid or not.
- It is based on the validation date of invoices and VAT and on the due date for expenses. -RulesResultInOut=- It includes the real payments made on invoices, expenses and VAT.
- It is based on the payment dates of the invoices, expenses and VAT. -RulesCADue=- It includes the client's due invoices whether they are paid or not.
- It is based on the validation date of these invoices.
-RulesCAIn=- It includes all the effective payments of invoices received from clients.
- It is based on the payment date of these invoices
-DepositsAreNotIncluded=- Deposit invoices are nor included -DepositsAreIncluded=- Deposit invoices are included -LT2ReportByCustomersInInputOutputModeES=Report by third party IRPF -LT1ReportByCustomersInInputOutputModeES=Report by third party RE -VATReportByCustomersInInputOutputMode=Report by the customer VAT collected and paid -VATReportByCustomersInDueDebtMode=Report by the customer VAT collected and paid -VATReportByQuartersInInputOutputMode=Report by rate of the VAT collected and paid -LT1ReportByQuartersInInputOutputMode=Report by RE rate -LT2ReportByQuartersInInputOutputMode=Report by IRPF rate -VATReportByQuartersInDueDebtMode=Report by rate of the VAT collected and paid -LT1ReportByQuartersInDueDebtMode=Report by RE rate -LT2ReportByQuartersInDueDebtMode=Report by IRPF rate -SeeVATReportInInputOutputMode=See report %sVAT encasement%s for a standard calculation -SeeVATReportInDueDebtMode=See report %sVAT on flow%s for a calculation with an option on the flow -RulesVATInServices=- For services, the report includes the VAT regulations actually received or issued on the basis of the date of payment. -RulesVATInProducts=- For material assets, it includes the VAT invoices on the basis of the invoice date. -RulesVATDueServices=- For services, the report includes VAT invoices due, paid or not, based on the invoice date. -RulesVATDueProducts=- For material assets, it includes the VAT invoices, based on the invoice date. -OptionVatInfoModuleComptabilite=Note: For material assets, it should use the date of delivery to be more fair. -PercentOfInvoice=%%/invoice -NotUsedForGoods=Not used on goods -ProposalStats=Statistics on proposals -OrderStats=Statistics on orders -InvoiceStats=Statistics on bills -Dispatch=Dispatching -Dispatched=Dispatched -ToDispatch=To dispatch -ThirdPartyMustBeEditAsCustomer=Third party must be defined as a customer -SellsJournal=Sales Journal -PurchasesJournal=Purchases Journal -DescSellsJournal=Sales Journal -DescPurchasesJournal=Purchases Journal -InvoiceRef=Invoice ref. -CodeNotDef=Not defined -AddRemind=Dispatch available amount -RemainToDivide= Remain to dispatch : -WarningDepositsNotIncluded=Deposits invoices are not included in this version with this accountancy module. -DatePaymentTermCantBeLowerThanObjectDate=Payment term date can't be lower than object date. -Pcg_version=Pcg version -Pcg_type=Pcg type -Pcg_subtype=Pcg subtype -InvoiceLinesToDispatch=Invoice lines to dispatch -InvoiceDispatched=Dispatched invoices -AccountancyDashboard=Accountancy summary -ByProductsAndServices=By products and services -RefExt=External ref -ToCreateAPredefinedInvoice=To create a predefined invoice, create a standard invoice then, without validating it, click onto button "Convert to predefined invoice". -LinkedOrder=Link to order -ReCalculate=Recalculate -Mode1=Method 1 -Mode2=Method 2 -CalculationRuleDesc=To calculate total VAT, there is two methods:
Method 1 is rounding vat on each line, then summing them.
Method 2 is summing all vat on each line, then rounding result.
Final result may differs from few cents. Default mode is mode %s. -CalculationRuleDescSupplier=according to supplier, choose appropriate method to apply same calculation rule and get same result expected by your supplier. -TurnoverPerProductInCommitmentAccountingNotRelevant=Turnover report per product, when using a cash accountancy mode is not relevant. This report is only available when using engagement accountancy mode (see setup of accountancy module). -CalculationMode=Calculation mode -AccountancyJournal=Accountancy code journal -ACCOUNTING_VAT_ACCOUNT=Default accountancy code for collecting VAT -ACCOUNTING_VAT_BUY_ACCOUNT=Default accountancy code for paying VAT -ACCOUNTING_ACCOUNT_CUSTOMER=Accountancy code by default for customer thirdparties -ACCOUNTING_ACCOUNT_SUPPLIER=Accountancy code by default for supplier thirdparties -CloneTax=Clone a social contribution -ConfirmCloneTax=Confirm the clone of a social contribution -CloneTaxForNextMonth=Clone it for next month +Accountancy=การบัญชี +AccountancyCard=บัตรบัญชี +Treasury=คลัง +MenuFinancial=การเงิน +TaxModuleSetupToModifyRules=ไปที่ การตั้งค่าภาษีโมดูล การปรับเปลี่ยนกฎระเบียบสำหรับการคำนวณ +TaxModuleSetupToModifyRulesLT=ไปที่ การตั้งค่า บริษัท ที่จะปรับเปลี่ยนกฎระเบียบสำหรับการคำนวณ +OptionMode=ตัวเลือกสำหรับการบัญชี +OptionModeTrue=ตัวเลือกที่รายได้ค่าใช้จ่าย- +OptionModeVirtual=ตัวเลือกการเรียกร้องหนี้- +OptionModeTrueDesc=ในบริบทนี้ผลประกอบการที่มีการคำนวณการชำระเงิน (วันที่ของการชำระเงิน) ความถูกต้องของตัวเลขที่จะมั่นใจได้เฉพาะในกรณีที่เก็บหนังสือที่มีการพิจารณาผ่านเข้า / ส่งออกในบัญชีผ่านใบแจ้งหนี้ +OptionModeVirtualDesc=ในบริบทนี้ผลประกอบการที่มีการคำนวณมากกว่าใบแจ้งหนี้ (วันที่ของการตรวจสอบ) เมื่อใบแจ้งหนี้เหล่านี้เนื่องจากไม่ว่าพวกเขาได้รับการชำระเงินหรือไม่ก็มีการระบุไว้ในการส่งออกมูลค่าการซื้อขาย +FeatureIsSupportedInInOutModeOnly=คุณลักษณะเฉพาะในโหมดบัญชีเครดิต-หนี้ (ดูที่การกำหนดค่าโมดูลการบัญชี) +VATReportBuildWithOptionDefinedInModule=จํานวนเงินที่แสดงที่นี่มีการคำนวณโดยใช้กฎที่กำหนดโดยการติดตั้งโมดูลภาษี +LTReportBuildWithOptionDefinedInModule=จํานวนเงินที่แสดงที่นี่มีการคำนวณโดยใช้กฎที่กำหนดโดยการติดตั้ง บริษัท +Param=การติดตั้ง +RemainingAmountPayment=การชำระเงินจำนวนเงินที่เหลือ: +AmountToBeCharged=จำนวนเงินที่จะต้องจ่าย: +AccountsGeneral=บัญชี +Account=บัญชี +Accounts=บัญชี +Accountparent=บัญชีผู้ปกครอง +Accountsparent=บัญชีผู้ปกครอง +BillsForSuppliers=ค่าใช้จ่ายสำหรับซัพพลายเออร์ +Income=เงินได้ +Outcome=ค่าใช้จ่าย +ReportInOut=รายได้ / ค่าใช้จ่าย +ReportTurnover=ผลประกอบการ +PaymentsNotLinkedToInvoice=การชำระเงินไม่ได้เชื่อมโยงกับใบแจ้งหนี้ใด ๆ ดังนั้นไม่เชื่อมโยงกับบุคคลที่สาม +PaymentsNotLinkedToUser=การชำระเงินที่ไม่เชื่อมโยงกับผู้ใช้ใด ๆ +Profit=กำไร +AccountingResult=ผลการบัญชี +Balance=สมดุล +Debit=หักบัญชี +Credit=เครดิต +Piece=บัญชีหมอ +Withdrawal=การถอนตัว +Withdrawals=การถอนเงิน +AmountHTVATRealReceived=สุทธิเก็บรวบรวม +AmountHTVATRealPaid=จ่ายสุทธิ +VATToPay=ภาษีมูลค่าเพิ่มขาย +VATReceived=ภาษีมูลค่าเพิ่มที่ได้รับ +VATToCollect=การซื้อภาษีมูลค่าเพิ่ม +VATSummary=คงเหลือภาษีมูลค่าเพิ่ม +LT2SummaryES=IRPF สมดุล +LT1SummaryES=RE สมดุล +VATPaid=ภาษีมูลค่าเพิ่มจ่าย +SalaryPaid=เงินเดือนที่ต้องการชำระเงิน +LT2PaidES=IRPF การชำระเงิน +LT1PaidES=RE ชำระ +LT2CustomerES=IRPF ขาย +LT2SupplierES=การซื้อสินค้า IRPF +LT1CustomerES=RE ขาย +LT1SupplierES=เรื่องการซื้อสินค้า +VATCollected=ภาษีมูลค่าเพิ่มที่จัดเก็บ +ToPay=ที่จะต้องจ่าย +ToGet=ที่จะได้รับกลับมา +SpecialExpensesArea=พื้นที่สำหรับการชำระเงินพิเศษทั้งหมด +TaxAndDividendsArea=ภาษี, การมีส่วนร่วมทางสังคมและพื้นที่เงินปันผล +SocialContribution=กิจกรรมเพื่อสังคม +SocialContributions=การมีส่วนร่วมทางสังคม +MenuSpecialExpenses=ค่าใช้จ่ายพิเศษ +MenuTaxAndDividends=ภาษีและเงินปันผล +MenuSalaries=เงินเดือน +MenuSocialContributions=การมีส่วนร่วมทางสังคม +MenuNewSocialContribution=ผลงานใหม่ +NewSocialContribution=ใหม่มีส่วนร่วมทางสังคม +ContributionsToPay=การมีส่วนร่วมที่จะต้องจ่าย +AccountancyTreasuryArea=การบัญชี / ธนารักษ์พื้นที่ +AccountancySetup=การตั้งค่าบัญชี +NewPayment=การชำระเงินใหม่ +Payments=วิธีการชำระเงิน +PaymentCustomerInvoice=การชำระเงินตามใบแจ้งหนี้ของลูกค้า +PaymentSupplierInvoice=ใบแจ้งหนี้การชำระเงินผู้ผลิต +PaymentSocialContribution=การชำระเงินที่มีส่วนร่วมในสังคม +PaymentVat=การชำระเงินภาษีมูลค่าเพิ่ม +PaymentSalary=การชำระเงินเงินเดือน +ListPayment=รายชื่อของการชำระเงิน +ListOfPayments=รายชื่อของการชำระเงิน +ListOfCustomerPayments=รายการชำระเงินของลูกค้า +ListOfSupplierPayments=รายชื่อผู้จัดจำหน่ายของการชำระเงิน +DatePayment=วันที่ชำระเงิน +DateStartPeriod=ระยะเวลาที่เริ่มต้นวันที่ +DateEndPeriod=วันสิ้นงวดวันที่ +NewVATPayment=ใหม่การชำระเงินภาษีมูลค่าเพิ่ม +newLT2PaymentES=ใหม่การชำระเงิน IRPF +newLT1PaymentES=ใหม่การชำระเงิน RE +LT2PaymentES=IRPF การชำระเงิน +LT2PaymentsES=IRPF การชำระเงิน +LT1PaymentES=เรื่องการชำระเงิน +LT1PaymentsES=เรื่องการชำระเงิน +VATPayment=การชำระเงินภาษีมูลค่าเพิ่ม +VATPayments=การชำระเงินภาษีมูลค่าเพิ่ม +SocialContributionsPayments=การชำระเงินการมีส่วนร่วมทางสังคม +ShowVatPayment=แสดงการชำระเงินภาษีมูลค่าเพิ่ม +TotalToPay=ทั้งหมดที่จะต้องจ่าย +TotalVATReceived=ภาษีมูลค่าเพิ่มทั้งหมดที่ได้รับ +CustomerAccountancyCode=รหัสบัญชีของลูกค้า +SupplierAccountancyCode=ผู้ผลิตรหัสบัญชี +AccountNumberShort=เลขที่บัญชี +AccountNumber=เลขที่บัญชี +NewAccount=บัญชีใหม่ +SalesTurnover=ยอดขาย +SalesTurnoverMinimum=ยอดขายขั้นต่ำ +ByThirdParties=โดยบุคคลที่สาม +ByUserAuthorOfInvoice=โดยผู้เขียนใบแจ้งหนี้ +AccountancyExport=การส่งออกการบัญชี +ErrorWrongAccountancyCodeForCompany=รหัสบัญชีลูกค้าที่ไม่ดีสำหรับ% s +SuppliersProductsSellSalesTurnover=ผลประกอบการที่เกิดจากการขายสินค้าของซัพพลายเออร์ +CheckReceipt=ตรวจสอบการฝากเงิน +CheckReceiptShort=ตรวจสอบการฝากเงิน +LastCheckReceiptShort=% ล่าสุดของใบเสร็จรับเงินการตรวจสอบ +NewCheckReceipt=ใหม่ส่วนลด +NewCheckDeposit=ฝากเช็คใหม่ +NewCheckDepositOn=สร้างใบเสร็จรับเงินสำหรับการฝากเงินในบัญชี:% s +NoWaitingChecks=การตรวจสอบไม่มีการรอคอยสำหรับการฝากเงิน +DateChequeReceived=ตรวจสอบวันที่แผนกต้อนรับส่วนหน้า +NbOfCheques=nb ของการตรวจสอบ +PaySocialContribution=จ่ายช่วยเหลือสังคม +ConfirmPaySocialContribution=คุณแน่ใจหรือว่าต้องการที่จะจัดผลงานนี้สังคมเป็นเงิน? +DeleteSocialContribution=ลบสังคม +ConfirmDeleteSocialContribution=คุณแน่ใจหรือว่าต้องการลบสังคม? +ExportDataset_tax_1=การมีส่วนร่วมทางสังคมและการชำระเงิน +CalcModeVATDebt=โหมด% sVAT ความมุ่งมั่นบัญชี% s +CalcModeVATEngagement=โหมด sVAT% รายได้ค่าใช้จ่าย-% s +CalcModeDebt=โหมด% sClaims-หนี้% s บัญชีกล่าวว่าความมุ่งมั่น +CalcModeEngagement=โหมด sIncomes-% ค่าใช้จ่ายใน% s กล่าวว่าบัญชีเงินสด +CalcModeLT1= โหมด% Sre ในใบแจ้งหนี้ของลูกค้า - ซัพพลายเออร์ใบแจ้งหนี้% s +CalcModeLT1Debt=โหมด% Sre ในใบแจ้งหนี้ของลูกค้า% s +CalcModeLT1Rec= โหมด% Sre ซัพพลายเออร์ในใบแจ้งหนี้% s +CalcModeLT2= โหมด% sIRPF ในใบแจ้งหนี้ของลูกค้า - ใบแจ้งหนี้ซัพพลายเออร์% s +CalcModeLT2Debt=โหมด% sIRPF ในใบแจ้งหนี้ของลูกค้า% s +CalcModeLT2Rec= โหมด% sIRPF ในใบแจ้งหนี้ซัพพลายเออร์% s +AnnualSummaryDueDebtMode=ความสมดุลของรายได้และค่าใช้จ่ายประจำปีสรุป +AnnualSummaryInputOutputMode=ความสมดุลของรายได้และค่าใช้จ่ายประจำปีสรุป +AnnualByCompaniesDueDebtMode=ความสมดุลของรายได้และค่าใช้จ่ายรายละเอียดโดยบุคคลที่สามโหมด% sClaims-หนี้% s บัญชีกล่าวว่าความมุ่งมั่น +AnnualByCompaniesInputOutputMode=ความสมดุลของรายได้และค่าใช้จ่ายรายละเอียดโดยบุคคลที่สามโหมด sIncomes-% ค่าใช้จ่ายใน% s กล่าวว่าบัญชีเงินสด +SeeReportInInputOutputMode=ดูรายงาน sIncomes-% ค่าใช้จ่ายใน% s กล่าวว่าเงินสดบัญชีสำหรับการคำนวณในการชำระเงินที่เกิดขึ้นจริงที่ทำ +SeeReportInDueDebtMode=ดูรายงาน% sClaims-หนี้% s กล่าวว่าความมุ่งมั่นในการบัญชีสำหรับการคำนวณในใบแจ้งหนี้ที่ออก +RulesAmountWithTaxIncluded=- จํานวนเงินที่แสดงเป็นกับภาษีรวมทั้งหมด +RulesResultDue=- ซึ่งจะรวมถึงใบแจ้งหนี้ค้างค่าใช้จ่ายและภาษีมูลค่าเพิ่มไม่ว่าพวกเขาจะได้รับเงินหรือไม่
- มันขึ้นอยู่กับการตรวจสอบวันที่ของใบแจ้งหนี้และภาษีมูลค่าเพิ่มและวันที่ครบกำหนดสำหรับค่าใช้จ่าย +RulesResultInOut=- ซึ่งจะรวมถึงการชำระเงินจริงทำในใบแจ้งหนี้ค่าใช้จ่ายและภาษีมูลค่าเพิ่ม
- มันขึ้นอยู่กับวันที่ชำระเงินของใบแจ้งหนี้ค่าใช้จ่ายและภาษีมูลค่าเพิ่ม +RulesCADue=- ซึ่งจะรวมถึงใบแจ้งหนี้ที่ครบกำหนดของลูกค้าไม่ว่าพวกเขาจะได้รับเงินหรือไม่
- มันขึ้นอยู่กับการตรวจสอบวันที่ของใบแจ้งหนี้เหล่านี้
+RulesCAIn=- ซึ่งจะรวมถึงทุกการชำระเงินที่มีประสิทธิภาพของใบแจ้งหนี้ที่ได้รับจากลูกค้า
- มันขึ้นอยู่กับวันที่ชำระเงินของใบแจ้งหนี้เหล่านี้
+DepositsAreNotIncluded=- ใบแจ้งหนี้หรือเงินฝากจะรวม +DepositsAreIncluded=- ใบแจ้งหนี้เงินฝากที่จะถูกรวม +LT2ReportByCustomersInInputOutputModeES=รายงานโดยบุคคลที่สาม IRPF +LT1ReportByCustomersInInputOutputModeES=รายงานโดยเรื่องของบุคคลที่สาม +VATReportByCustomersInInputOutputMode=รายงานโดยลูกค้าภาษีมูลค่าเพิ่มที่จัดเก็บและเรียกชำระแล้ว +VATReportByCustomersInDueDebtMode=รายงานโดยลูกค้าภาษีมูลค่าเพิ่มที่จัดเก็บและเรียกชำระแล้ว +VATReportByQuartersInInputOutputMode=รายงานโดยอัตราภาษีมูลค่าเพิ่มที่จัดเก็บและเรียกชำระแล้ว +LT1ReportByQuartersInInputOutputMode=รายงานโดยอัตรา RE +LT2ReportByQuartersInInputOutputMode=รายงานโดยอัตรา IRPF +VATReportByQuartersInDueDebtMode=รายงานโดยอัตราภาษีมูลค่าเพิ่มที่จัดเก็บและเรียกชำระแล้ว +LT1ReportByQuartersInDueDebtMode=รายงานโดยอัตรา RE +LT2ReportByQuartersInDueDebtMode=รายงานโดยอัตรา IRPF +SeeVATReportInInputOutputMode=ดูรายงาน% sVAT encasement% สำหรับการคำนวณมาตรฐาน +SeeVATReportInDueDebtMode=ดูรายงาน sVAT% ในกระแส% สำหรับการคำนวณที่มีตัวเลือกในการไหล +RulesVATInServices=- สำหรับการให้บริการรายงานรวมถึงกฎระเบียบของภาษีมูลค่าเพิ่มที่ได้รับจริงหรือออกบนพื้นฐานของวันที่ชำระเงิน +RulesVATInProducts=- สินทรัพย์วัสดุจะมีใบแจ้งหนี้ภาษีมูลค่าเพิ่มบนพื้นฐานของวันที่ใบแจ้งหนี้ +RulesVATDueServices=- สำหรับการให้บริการรายงานใบแจ้งหนี้รวมภาษีมูลค่าเพิ่มเนื่องจากค่าใช้จ่ายหรือไม่ขึ้นอยู่กับวันที่ใบแจ้งหนี้ +RulesVATDueProducts=- สินทรัพย์วัสดุจะมีใบแจ้งหนี้ภาษีมูลค่าเพิ่มตามวันที่ใบแจ้งหนี้ +OptionVatInfoModuleComptabilite=หมายเหตุ: สำหรับสินทรัพย์ก็ควรใช้วันที่ส่งมอบจะเป็นธรรมมากขึ้น +PercentOfInvoice=%% / ใบแจ้งหนี้ +NotUsedForGoods=ไม่ใช้สินค้า +ProposalStats=สถิติเกี่ยวกับข้อเสนอ +OrderStats=สถิติในการสั่งซื้อ +InvoiceStats=สถิติเกี่ยวกับค่าใช้จ่าย +Dispatch=การฝึกอบรม +Dispatched=ส่ง +ToDispatch=ที่จะส่ง +ThirdPartyMustBeEditAsCustomer=บุคคลที่สามจะต้องกำหนดเป็นลูกค้า +SellsJournal=วารสารการขาย +PurchasesJournal=วารสารการสั่งซื้อสินค้า +DescSellsJournal=วารสารการขาย +DescPurchasesJournal=วารสารการสั่งซื้อสินค้า +InvoiceRef=อ้างอิงใบแจ้งหนี้ +CodeNotDef=ไม่กำหนด +AddRemind=จำนวนเงินที่มีการจัดส่ง +RemainToDivide= ยังคงอยู่ในการจัดส่ง: +WarningDepositsNotIncluded=ใบแจ้งหนี้เงินฝากไม่รวมอยู่ในรุ่นที่มีโมดูลบัญชีนี้ +DatePaymentTermCantBeLowerThanObjectDate=ในระยะวันที่ชำระเงินไม่สามารถจะต่ำกว่าวันที่วัตถุ +Pcg_version=รุ่น PCG +Pcg_type=ประเภท PCG +Pcg_subtype=ชนิดย่อย PCG +InvoiceLinesToDispatch=เส้นที่จะส่งใบแจ้งหนี้ +InvoiceDispatched=ส่งใบแจ้งหนี้ +AccountancyDashboard=สรุปการบัญชี +ByProductsAndServices=โดยสินค้าและบริการ +RefExt=อ้างอิงภายนอก +ToCreateAPredefinedInvoice=การสร้างใบแจ้งหนี้ที่กำหนดไว้ล่วงหน้าสร้างมาตรฐานใบแจ้งหนี้แล้วโดยไม่ต้องตรวจสอบให้คลิกบนปุ่ม "แปลงเป็นใบแจ้งหนี้ที่กำหนดไว้ล่วงหน้า" +LinkedOrder=เชื่อมโยงการสั่งซื้อ +ReCalculate=คำนวณ +Mode1=วิธีที่ 1 +Mode2=วิธีที่ 2 +CalculationRuleDesc=ในการคำนวณภาษีมูลค่าเพิ่มรวมมีสองวิธี:
วิธีที่ 1 มีการปัดเศษถังในแต่ละบรรทัดแล้วข้อสรุปพวกเขา
วิธีที่ 2 คือข้อสรุปถังทั้งหมดในแต่ละบรรทัดแล้วผลการปัดเศษ
ผลสุดท้ายอาจจะแตกต่างจากไม่กี่เซ็นต์ โหมดเริ่มต้นคือโหมด% s +CalculationRuleDescSupplier=ตามที่ผู้ผลิตเลือกวิธีการที่เหมาะสมในการใช้กฎการคำนวณเดียวกันและได้รับผลเดียวกันโดยคาดว่าผู้จำหน่ายของคุณ +TurnoverPerProductInCommitmentAccountingNotRelevant=รายงานผลประกอบการต่อผลิตภัณฑ์เมื่อใช้โหมดการบัญชีเงินสดไม่เกี่ยวข้อง รายงานนี้จะใช้ได้เฉพาะเมื่อใช้โหมดการบัญชีการสู้รบ (ดูการตั้งค่าของโมดูลการบัญชี) +CalculationMode=โหมดการคำนวณ +AccountancyJournal=วารสารการบัญชีรหัส +ACCOUNTING_VAT_ACCOUNT=รหัสบัญชีเริ่มต้นสำหรับการจัดเก็บภาษีภาษีมูลค่าเพิ่ม +ACCOUNTING_VAT_BUY_ACCOUNT=รหัสบัญชีเริ่มต้นสำหรับการจ่ายเงินภาษีมูลค่าเพิ่ม +ACCOUNTING_ACCOUNT_CUSTOMER=รหัสบัญชีโดยเริ่มต้นสำหรับ thirdparties ลูกค้า +ACCOUNTING_ACCOUNT_SUPPLIER=รหัสบัญชีโดยเริ่มต้นสำหรับ thirdparties ผู้จัดจำหน่าย +CloneTax=โคลนสังคม +ConfirmCloneTax=ยืนยันโคลนของสังคม +CloneTaxForNextMonth=โคลนมันสำหรับเดือนถัดไป diff --git a/htdocs/langs/th_TH/contracts.lang b/htdocs/langs/th_TH/contracts.lang index d1be0e6513f..a484f345867 100644 --- a/htdocs/langs/th_TH/contracts.lang +++ b/htdocs/langs/th_TH/contracts.lang @@ -1,103 +1,103 @@ # Dolibarr language file - Source file is en_US - contracts -ContractsArea=Contracts area -ListOfContracts=List of contracts -LastModifiedContracts=Last %s modified contracts -AllContracts=All contracts -ContractCard=Contract card -ContractStatus=Contract status -ContractStatusNotRunning=Not running -ContractStatusRunning=Running -ContractStatusDraft=Draft -ContractStatusValidated=Validated -ContractStatusClosed=Closed -ServiceStatusInitial=Not running -ServiceStatusRunning=Running -ServiceStatusNotLate=Running, not expired -ServiceStatusNotLateShort=Not expired -ServiceStatusLate=Running, expired -ServiceStatusLateShort=Expired -ServiceStatusClosed=Closed -ServicesLegend=Services legend -Contracts=Contracts -ContractsAndLine=Contracts and line of contracts -Contract=Contract -NoContracts=No contracts -MenuServices=Services -MenuInactiveServices=Services not active -MenuRunningServices=Running services -MenuExpiredServices=Expired services -MenuClosedServices=Closed services -NewContract=New contract -AddContract=Create contract -SearchAContract=Search a contract -DeleteAContract=Delete a contract -CloseAContract=Close a contract -ConfirmDeleteAContract=Are you sure you want to delete this contract and all its services ? -ConfirmValidateContract=Are you sure you want to validate this contract under name %s ? -ConfirmCloseContract=This will close all services (active or not). Are you sure you want to close this contract ? -ConfirmCloseService=Are you sure you want to close this service with date %s ? -ValidateAContract=Validate a contract -ActivateService=Activate service -ConfirmActivateService=Are you sure you want to activate this service with date %s ? -RefContract=Contract reference -DateContract=Contract date -DateServiceActivate=Service activation date -DateServiceUnactivate=Service deactivation date -DateServiceStart=Date for beginning of service -DateServiceEnd=Date for end of service -ShowContract=Show contract -ListOfServices=List of services -ListOfInactiveServices=List of not active services -ListOfExpiredServices=List of expired active services -ListOfClosedServices=List of closed services -ListOfRunningContractsLines=List of running contract lines -ListOfRunningServices=List of running services -NotActivatedServices=Inactive services (among validated contracts) -BoardNotActivatedServices=Services to activate among validated contracts -LastContracts=Last %s contracts -LastActivatedServices=Last %s activated services -LastModifiedServices=Last %s modified services -EditServiceLine=Edit service line -ContractStartDate=Start date -ContractEndDate=End date -DateStartPlanned=Planned start date -DateStartPlannedShort=Planned start date -DateEndPlanned=Planned end date -DateEndPlannedShort=Planned end date -DateStartReal=Real start date -DateStartRealShort=Real start date -DateEndReal=Real end date -DateEndRealShort=Real end date -NbOfServices=Nb of services -CloseService=Close service -ServicesNomberShort=%s service(s) -RunningServices=Running services -BoardRunningServices=Expired running services -ServiceStatus=Status of service -DraftContracts=Drafts contracts -CloseRefusedBecauseOneServiceActive=Contract can't be closed as ther is at least one open service on it -CloseAllContracts=Close all contract lines -DeleteContractLine=Delete a contract line -ConfirmDeleteContractLine=Are you sure you want to delete this contract line ? -MoveToAnotherContract=Move service into another contract. -ConfirmMoveToAnotherContract=I choosed new target contract and confirm I want to move this service into this contract. -ConfirmMoveToAnotherContractQuestion=Choose in which existing contract (of same third party), you want to move this service to ? -PaymentRenewContractId=Renew contract line (number %s) -ExpiredSince=Expiration date -RelatedContracts=Related contracts -NoExpiredServices=No expired active services -ListOfServicesToExpireWithDuration=List of Services to expire in %s days -ListOfServicesToExpireWithDurationNeg=List of Services expired from more than %s days -ListOfServicesToExpire=List of Services to expire -NoteListOfYourExpiredServices=This list contains only services of contracts for third parties you are linked to as a sale representative. -StandardContractsTemplate=Standard contracts template -ContactNameAndSignature=For %s, name and signature: -OnlyLinesWithTypeServiceAreUsed=Only lines with type "Service" will be cloned. +ContractsArea=พื้นที่สัญญา +ListOfContracts=รายชื่อของสัญญา +LastModifiedContracts=% ล่าสุดของการแก้ไขสัญญา +AllContracts=สัญญาทั้งหมด +ContractCard=บัตรสัญญา +ContractStatus=สถานะสัญญา +ContractStatusNotRunning=ไม่ได้ทำงาน +ContractStatusRunning=วิ่ง +ContractStatusDraft=ร่าง +ContractStatusValidated=ผ่านการตรวจสอบ +ContractStatusClosed=ปิด +ServiceStatusInitial=ไม่ได้ทำงาน +ServiceStatusRunning=วิ่ง +ServiceStatusNotLate=ทำงานไม่หมดอายุ +ServiceStatusNotLateShort=ไม่หมดอายุ +ServiceStatusLate=ทำงานหมดอายุ +ServiceStatusLateShort=หมดอายุ +ServiceStatusClosed=ปิด +ServicesLegend=ตำนานบริการ +Contracts=สัญญา +ContractsAndLine=สัญญาและสายของสัญญา +Contract=สัญญา +NoContracts=ไม่มีสัญญา +MenuServices=บริการ +MenuInactiveServices=บริการไม่ได้ใช้งาน +MenuRunningServices=วิ่งบริการ +MenuExpiredServices=บริการหมดอายุ +MenuClosedServices=ปิดบริการ +NewContract=สัญญาฉบับใหม่ +AddContract=สร้างสัญญา +SearchAContract=ค้นหาสัญญา +DeleteAContract=ลบสัญญา +CloseAContract=ปิดสัญญา +ConfirmDeleteAContract=คุณแน่ใจหรือว่าต้องการลบสัญญานี้และบริการของตนหรือไม่ +ConfirmValidateContract=คุณแน่ใจหรือว่าต้องการตรวจสอบสัญญานี้ภายใต้ชื่อ% s? +ConfirmCloseContract=นี้จะปิดบริการทั้งหมด (ที่ใช้งานหรือไม่) คุณแน่ใจว่าคุณต้องการที่จะปิดสัญญานี้หรือไม่? +ConfirmCloseService=คุณแน่ใจหรือว่าต้องการปิดบริการนี้มี s% วันที่? +ValidateAContract=ตรวจสอบสัญญา +ActivateService=เปิดใช้งานบริการ +ConfirmActivateService=คุณแน่ใจหรือว่าต้องการที่จะเปิดใช้งานบริการนี้กับวันที่ s%? +RefContract=อ้างอิงตามสัญญา +DateContract=วันทำสัญญา +DateServiceActivate=บริการวันที่เปิดใช้งาน +DateServiceUnactivate=บริการวันเสื่อม +DateServiceStart=วันที่สำหรับการเริ่มต้นของการให้บริการ +DateServiceEnd=วันที่สำหรับการสิ้นสุดของการบริการ +ShowContract=แสดงสัญญา +ListOfServices=รายการของการบริการ +ListOfInactiveServices=รายชื่อของบริการที่ใช้งานไม่ได้ +ListOfExpiredServices=รายชื่อของบริการที่ใช้งานหมดอายุ +ListOfClosedServices=รายการของการบริการปิด +ListOfRunningContractsLines=รายชื่อของการทำงานสายสัญญา +ListOfRunningServices=รายการของการทำงาน +NotActivatedServices=บริการไม่ได้ใช้งาน (ในสัญญาการตรวจสอบ) +BoardNotActivatedServices=บริการเพื่อเปิดใช้งานในกลุ่มการตรวจสอบสัญญา +LastContracts=สัญญา% s ล่าสุด +LastActivatedServices=% s ล่าสุดเปิดใช้บริการ +LastModifiedServices=% ล่าสุดของการปรับเปลี่ยนการให้บริการ +EditServiceLine=แก้ไขสายบริการ +ContractStartDate=วันที่เริ่มต้น +ContractEndDate=วันที่สิ้นสุด +DateStartPlanned=วันที่เริ่มต้นการวางแผน +DateStartPlannedShort=วันที่เริ่มต้นการวางแผน +DateEndPlanned=วันที่สิ้นสุดการวางแผน +DateEndPlannedShort=วันที่สิ้นสุดการวางแผน +DateStartReal=วันที่เริ่มต้นจริง +DateStartRealShort=วันที่เริ่มต้นจริง +DateEndReal=วันที่สิ้นสุดจริง +DateEndRealShort=วันที่สิ้นสุดจริง +NbOfServices=nb ของการบริการ +CloseService=ปิดบริการ +ServicesNomberShort=% s บริการ (s) +RunningServices=วิ่งบริการ +BoardRunningServices=บริการทำงานหมดอายุ +ServiceStatus=สถานะของการบริการ +DraftContracts=ร่างสัญญา +CloseRefusedBecauseOneServiceActive=สัญญาจะไม่สามารถปิดเป็นบิดาอย่างน้อยหนึ่งบริการที่เปิดอยู่บนมัน +CloseAllContracts=ปิดทุกสายสัญญา +DeleteContractLine=ลบบรรทัดสัญญา +ConfirmDeleteContractLine=คุณแน่ใจหรือว่าต้องการลบบรรทัดสัญญานี้หรือไม่? +MoveToAnotherContract=ย้ายบริการทำสัญญาอีก +ConfirmMoveToAnotherContract=ฉันเลือกสัญญาเป้าหมายใหม่และยืนยันที่ฉันต้องการที่จะย้ายบริการนี​​้ในสัญญานี้ +ConfirmMoveToAnotherContractQuestion=เลือกในการทำสัญญาที่มีอยู่ (จากบุคคลที่สามที่เดียวกัน), คุณต้องการที่จะย้ายบริการนี​​้เพื่อ? +PaymentRenewContractId=ต่ออายุสัญญาสาย (หมายเลข% s) +ExpiredSince=วันหมดอายุ +RelatedContracts=สัญญาที่เกี่ยวข้อง +NoExpiredServices=ไม่มีบริการที่ใช้งานหมดอายุ +ListOfServicesToExpireWithDuration=รายชื่อของบริการที่จะหมดอายุในวันที่% s +ListOfServicesToExpireWithDurationNeg=รายชื่อบริการหมดอายุจากกว่า% s วัน +ListOfServicesToExpire=รายชื่อของบริการจะหมดอายุ +NoteListOfYourExpiredServices=รายการนี​​้มีเฉพาะบริการของสัญญาสำหรับบุคคลที่สามคุณจะเชื่อมโยงกับการเป็นตัวแทนขาย +StandardContractsTemplate=แม่แบบสัญญามาตรฐาน +ContactNameAndSignature=สำหรับ% s, ชื่อและลายเซ็น: +OnlyLinesWithTypeServiceAreUsed=สายเท่านั้นที่มีประเภท "บริการ" จะถูกโคลน ##### Types de contacts ##### -TypeContact_contrat_internal_SALESREPSIGN=Sales representative signing contract -TypeContact_contrat_internal_SALESREPFOLL=Sales representative following-up contract -TypeContact_contrat_external_BILLING=Billing customer contact -TypeContact_contrat_external_CUSTOMER=Follow-up customer contact -TypeContact_contrat_external_SALESREPSIGN=Signing contract customer contact -Error_CONTRACT_ADDON_NotDefined=Constant CONTRACT_ADDON not defined +TypeContact_contrat_internal_SALESREPSIGN=ขายสัญญาลงนามตัวแทน +TypeContact_contrat_internal_SALESREPFOLL=ตัวแทนขายสัญญาต่อไปนี้ขึ้น +TypeContact_contrat_external_BILLING=การเรียกเก็บเงินการติดต่อกับลูกค้า +TypeContact_contrat_external_CUSTOMER=ติดตามการติดต่อกับลูกค้า +TypeContact_contrat_external_SALESREPSIGN=ลงนามในสัญญาการติดต่อกับลูกค้า +Error_CONTRACT_ADDON_NotDefined=CONTRACT_ADDON คงที่ไม่ได้กำหนดไว้ diff --git a/htdocs/langs/th_TH/cron.lang b/htdocs/langs/th_TH/cron.lang index 5adc428b628..417cdc92f04 100644 --- a/htdocs/langs/th_TH/cron.lang +++ b/htdocs/langs/th_TH/cron.lang @@ -1,88 +1,88 @@ # Dolibarr language file - Source file is en_US - cron # About page -About = About -CronAbout = About Cron -CronAboutPage = Cron about page +About = เกี่ยวกับ +CronAbout = เกี่ยวกับ Cron +CronAboutPage = Cron เกี่ยวกับหน้า # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +Permission23101 = อ่านงานที่กำหนดเวลาไว้ +Permission23102 = สร้าง / การปรับปรุงกำหนดเวลางาน +Permission23103 = ลบงานที่กำหนด +Permission23104 = การดำเนินงานที่กำหนด # Admin -CronSetup= Scheduled job management setup -URLToLaunchCronJobs=URL to check and launch cron jobs if required -OrToLaunchASpecificJob=Or to check and launch a specific job -KeyForCronAccess=Security key for URL to launch cron jobs -FileToLaunchCronJobs=Command line to launch cron jobs -CronExplainHowToRunUnix=On Unix environment you should use the following crontab entry to run the command line each 5 minutes -CronExplainHowToRunWin=On Microsoft(tm) Windows environement you can use Scheduled task tools to run the command line each 5 minutes +CronSetup= กำหนดเวลาการตั้งค่าการจัดการงาน +URLToLaunchCronJobs=URL ที่จะตรวจสอบและเปิดงาน cron ถ้าจำเป็น +OrToLaunchASpecificJob=หรือเพื่อตรวจสอบและการเปิดตัวงานที่เฉพาะเจาะจง +KeyForCronAccess=กุญแจสำคัญในการรักษาความปลอดภัยสำหรับ URL ที่จะเปิดตัวงาน cron +FileToLaunchCronJobs=บรรทัดคำสั่งที่จะเปิดตัวงาน cron +CronExplainHowToRunUnix=ในสภาพแวดล้อมระบบปฏิบัติการยูนิกซ์ที่คุณควรใช้ crontab รายการต่อไปนี้เพื่อเรียกใช้บรรทัดคำสั่งแต่ละ 5 นาที +CronExplainHowToRunWin=ไมโครซอฟท์ (TM) ของ Windows environement คุณสามารถใช้เครื่องมือการจัดตารางงานที่จะเรียกใช้บรรทัดคำสั่งแต่ละ 5 นาที # Menu -CronJobs=Scheduled jobs -CronListActive=List of active/scheduled jobs -CronListInactive=List of disabled jobs +CronJobs=งานที่กำหนดเวลาไว้ +CronListActive=รายการงาน / งานที่กำหนดไว้ +CronListInactive=รายการของงานคนพิการ # Page list -CronDateLastRun=Last run -CronLastOutput=Last run output -CronLastResult=Last result code -CronListOfCronJobs=List of scheduled jobs -CronCommand=Command -CronList=Scheduled job -CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? -CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? -CronInfo=Scheduled job module allow to execute job that have been planned -CronWaitingJobs=Waiting jobs -CronTask=Job -CronNone=None -CronDtStart=Start date -CronDtEnd=End date -CronDtNextLaunch=Next execution -CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe -CronMethod=Method -CronModule=Module -CronAction=Action -CronStatus=Status -CronStatusActive=Enabled -CronStatusInactive=Disabled -CronNoJobs=No jobs registered -CronPriority=Priority -CronLabel=Description -CronNbRun=Nb. launch -CronEach=Every -JobFinished=Job launched and finished +CronDateLastRun=การทำงานที่ผ่านมา +CronLastOutput=การทำงานที่ผ่านมาการส่งออก +CronLastResult=รหัสผลล่าสุด +CronListOfCronJobs=รายการของงานที่กำหนดไว้ +CronCommand=คำสั่ง +CronList=งานที่กำหนดเวลาไว้ +CronDelete=ลบงานที่กำหนดไว้ +CronConfirmDelete=คุณแน่ใจหรือว่าต้องการลบงานที่กำหนดไว้เหล่านี้หรือไม่ +CronExecute=งานเปิดตัวที่กำหนดไว้ +CronConfirmExecute=คุณแน่ใจหรือว่าต้องการที่จะดำเนินงานที่กำหนดไว้เหล่านี้ตอนนี้หรือไม่ +CronInfo=โมดูลงานตามกำหนดการอนุญาตให้มีการดำเนินงานที่ได้รับการวางแผน +CronWaitingJobs=รองาน +CronTask=งาน +CronNone=ไม่ +CronDtStart=วันที่เริ่มต้น +CronDtEnd=วันที่สิ้นสุด +CronDtNextLaunch=การดำเนินการต่อไป +CronDtLastLaunch=การดำเนินการที่ผ่านมา +CronFrequency=ความถี่ +CronClass=ชั้น +CronMethod=วิธี +CronModule=โมดูล +CronAction=การกระทำ +CronStatus=สถานะ +CronStatusActive=ที่เปิดใช้งาน +CronStatusInactive=พิการ +CronNoJobs=ไม่มีงานที่ลงทะเบียน +CronPriority=ลำดับความสำคัญ +CronLabel=ลักษณะ +CronNbRun=nb ยิง +CronEach=ทุกๆ +JobFinished=งานเปิดตัวและจบ #Page card -CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create -CronArgs=Parameters -CronSaveSucess=Save succesfully -CronNote=Comment -CronFieldMandatory=Fields %s is mandatory -CronErrEndDateStartDt=End date cannot be before start date -CronStatusActiveBtn=Enable -CronStatusInactiveBtn=Disable -CronTaskInactive=This job is disabled -CronDtLastResult=Last result date +CronAdd= เพิ่มงาน +CronHourStart= เริ่มต้นชั่วโมงและวันที่ของงาน +CronEvery=ดำเนินงานแต่ละงาน +CronObject=อินสแตนซ์ / วัตถุที่จะสร้าง +CronArgs=พารามิเตอร์ +CronSaveSucess=ประหยัดประสบความสำเร็จ +CronNote=ความเห็น +CronFieldMandatory=ทุ่ง% s มีผลบังคับใช้ +CronErrEndDateStartDt=วันที่สิ้นสุดไม่สามารถก่อนวันเริ่มต้น +CronStatusActiveBtn=เปิดใช้งาน +CronStatusInactiveBtn=ปิดการใช้งาน +CronTaskInactive=งานนี้ถูกปิดใช้งาน +CronDtLastResult=วันที่ผลล่าสุด CronId=Id -CronClassFile=Classes (filename.class.php) -CronModuleHelp=Name of Dolibarr module directory (also work with external Dolibarr module).
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of module is product -CronClassFileHelp=The file name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is product.class.php -CronObjectHelp=The object name to load.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of class file name is Product -CronMethodHelp=The object method to launch.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of method is is fecth -CronArgsHelp=The method arguments.
For exemple to fetch method of Dolibarr Product object /htdocs/product/class/product.class.php, the value of paramters can be 0, ProductRef -CronCommandHelp=The system command line to execute. -CronCreateJob=Create new Scheduled Job +CronClassFile=การเรียนการสอน (filename.class.php) +CronModuleHelp=ชื่อของไดเรกทอรีโมดูล Dolibarr (ยังทำงานร่วมกับโมดูล Dolibarr ภายนอก)
สำหรับ exemple สามารถดึงข้อมูลวิธีการ Dolibarr วัตถุสินค้า / htdocs / ผลิตภัณฑ์ /class/product.class.php ค่าของโมดูลเป็นผลิตภัณฑ์ +CronClassFileHelp=ชื่อไฟล์ที่จะโหลด
สำหรับ exemple สามารถดึงข้อมูลวิธีการ Dolibarr วัตถุสินค้า / htdocs / สินค้า / ระดับ / product.class.php ค่าของชื่อไฟล์ระดับคือ product.class.php +CronObjectHelp=ชื่อวัตถุที่จะโหลด
สำหรับ exemple สามารถดึงข้อมูลวิธีการ Dolibarr วัตถุสินค้า /htdocs/product/class/product.class.php ค่าของชื่อไฟล์ระดับเป็นสินค้า +CronMethodHelp=วิธีวัตถุที่จะเปิดตัว
สำหรับ exemple สามารถดึงข้อมูลวิธีการ Dolibarr วัตถุสินค้า /htdocs/product/class/product.class.php ค่าของวิธีการที่เป็น fecth +CronArgsHelp=วิธีการขัดแย้ง
สำหรับ exemple สามารถดึงข้อมูลวิธีการ Dolibarr วัตถุสินค้า /htdocs/product/class/product.class.php ค่าของพารามิเตอร์สามารถ 0, ProductRef +CronCommandHelp=บรรทัดคำสั่งระบบที่จะดำเนินการ +CronCreateJob=สร้างงานใหม่กำหนด # Info -CronInfoPage=Information +CronInfoPage=ข้อมูล # Common -CronType=Task type -CronType_method=Call method of a Dolibarr Class -CronType_command=Shell command +CronType=หมวดงาน +CronType_method=วิธีการเรียกร้องของชั้น Dolibarr +CronType_command=คำสั่งเชลล์ CronMenu=Cron -CronCannotLoadClass=Cannot load class %s or object %s -UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +CronCannotLoadClass=ไม่สามารถโหลดระดับ s% หรือวัตถุ% s +UseMenuModuleToolsToAddCronJobs=ไปลงในเมนู "หน้าหลัก - เครื่องมือ Modules - รายชื่องาน" เพื่อดูและแก้ไขงานที่กำหนดไว้ +TaskDisabled=ปิดการใช้งาน diff --git a/htdocs/langs/th_TH/deliveries.lang b/htdocs/langs/th_TH/deliveries.lang index bb78c5ac7c2..452f05e4373 100644 --- a/htdocs/langs/th_TH/deliveries.lang +++ b/htdocs/langs/th_TH/deliveries.lang @@ -1,26 +1,28 @@ # Dolibarr language file - Source file is en_US - deliveries -Delivery=Delivery -Deliveries=Deliveries -DeliveryCard=Delivery card -DeliveryOrder=Delivery order -DeliveryOrders=Delivery orders -DeliveryDate=Delivery date -DeliveryDateShort=Deliv. date -CreateDeliveryOrder=Generate delivery order -QtyDelivered=Qty delivered -SetDeliveryDate=Set shipping date -ValidateDeliveryReceipt=Validate delivery receipt -ValidateDeliveryReceiptConfirm=Are you sure you want to validate this delivery receipt ? -DeleteDeliveryReceipt=Delete delivery receipt -DeleteDeliveryReceiptConfirm=Are you sure you want to delete delivery receipt %s ? -DeliveryMethod=Delivery method -TrackingNumber=Tracking number -DeliveryNotValidated=Delivery not validated +Delivery=การจัดส่งสินค้า +Deliveries=การส่งมอบ +DeliveryCard=การ์ดจัดส่งสินค้า +DeliveryOrder=ใบตราส่ง +DeliveryOrders=การสั่งซื้อการจัดส่งสินค้า +DeliveryDate=วันที่ส่งมอบ +DeliveryDateShort=deliv วันที่ +CreateDeliveryOrder=เพื่อสร้างการส่งมอบ +QtyDelivered=จำนวนการจัดส่ง +SetDeliveryDate=ตั้งวันที่จัดส่ง +ValidateDeliveryReceipt=ตรวจสอบการจัดส่งใบเสร็จรับเงิน +ValidateDeliveryReceiptConfirm=คุณแน่ใจหรือว่าต้องการตรวจสอบการจัดส่งใบเสร็จรับเงินนี้หรือไม่? +DeleteDeliveryReceipt=ลบใบเสร็จรับเงินการจัดส่ง +DeleteDeliveryReceiptConfirm=คุณแน่ใจหรือว่าต้องการลบ s ได้รับการส่งมอบ%? +DeliveryMethod=วิธีการจัดส่ง +TrackingNumber=ติดตามจำนวน +DeliveryNotValidated=การจัดส่งสินค้าไม่ได้ผ่านการตรวจสอบ # 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 +NameAndSignature=ชื่อและลายเซ็น: +ToAndDate=To___________________________________ บน ____ / _____ / __________ +GoodStatusDeclaration=ได้รับสินค้าดังกล่าวข้างต้นอยู่ในสภาพดี +Deliverer=ช่วยให้พ้น: +Sender=ผู้ส่ง +Recipient=ผู้รับ +ErrorStockIsNotEnough=มีไม่มากพอที่หุ้น +Shippable=shippable +NonShippable=ไม่ shippable diff --git a/htdocs/langs/th_TH/dict.lang b/htdocs/langs/th_TH/dict.lang index 4b724056147..e09f8c02142 100644 --- a/htdocs/langs/th_TH/dict.lang +++ b/htdocs/langs/th_TH/dict.lang @@ -1,325 +1,327 @@ # Dolibarr language file - Source file is en_US - dict -CountryFR=France -CountryBE=Belgium -CountryIT=Italy -CountryES=Spain -CountryDE=Germany -CountryCH=Switzerland -CountryGB=Great Britain -CountryUK=United Kingdom -CountryIE=Ireland -CountryCN=China -CountryTN=Tunisia -CountryUS=United States -CountryMA=Morocco -CountryDZ=Algeria -CountryCA=Canada -CountryTG=Togo -CountryGA=Gabon -CountryNL=Netherlands -CountryHU=Hungary -CountryRU=Russia -CountrySE=Sweden -CountryCI=Ivoiry Coast -CountrySN=Senegal -CountryAR=Argentina -CountryCM=Cameroon -CountryPT=Portugal -CountrySA=Saudi Arabia -CountryMC=Monaco -CountryAU=Australia -CountrySG=Singapore -CountryAF=Afghanistan -CountryAX=Åland Islands -CountryAL=Albania -CountryAS=American Samoa -CountryAD=Andorra -CountryAO=Angola -CountryAI=Anguilla -CountryAQ=Antarctica -CountryAG=Antigua and Barbuda -CountryAM=Armenia -CountryAW=Aruba -CountryAT=Austria -CountryAZ=Azerbaijan -CountryBS=Bahamas -CountryBH=Bahrain -CountryBD=Bangladesh -CountryBB=Barbados -CountryBY=Belarus -CountryBZ=Belize -CountryBJ=Benin -CountryBM=Bermuda -CountryBT=Bhutan -CountryBO=Bolivia -CountryBA=Bosnia and Herzegovina -CountryBW=Botswana -CountryBV=Bouvet Island -CountryBR=Brazil -CountryIO=British Indian Ocean Territory -CountryBN=Brunei Darussalam -CountryBG=Bulgaria -CountryBF=Burkina Faso -CountryBI=Burundi -CountryKH=Cambodia -CountryCV=Cape Verde -CountryKY=Cayman Islands -CountryCF=Central African Republic -CountryTD=Chad -CountryCL=Chile -CountryCX=Christmas Island -CountryCC=Cocos (Keeling) Islands -CountryCO=Colombia -CountryKM=Comoros -CountryCG=Congo -CountryCD=Congo, The Democratic Republic of the -CountryCK=Cook Islands -CountryCR=Costa Rica -CountryHR=Croatia -CountryCU=Cuba -CountryCY=Cyprus -CountryCZ=Czech Republic -CountryDK=Denmark -CountryDJ=Djibouti -CountryDM=Dominica -CountryDO=Dominican Republic -CountryEC=Ecuador -CountryEG=Egypt -CountrySV=El Salvador -CountryGQ=Equatorial Guinea -CountryER=Eritrea -CountryEE=Estonia -CountryET=Ethiopia -CountryFK=Falkland Islands -CountryFO=Faroe Islands -CountryFJ=Fiji Islands -CountryFI=Finland -CountryGF=French Guiana -CountryPF=French Polynesia -CountryTF=French Southern Territories -CountryGM=Gambia -CountryGE=Georgia -CountryGH=Ghana -CountryGI=Gibraltar -CountryGR=Greece -CountryGL=Greenland -CountryGD=Grenada -CountryGP=Guadeloupe -CountryGU=Guam -CountryGT=Guatemala -CountryGN=Guinea -CountryGW=Guinea-Bissau -CountryGY=Guyana +CountryFR=ฝรั่งเศส +CountryBE=ประเทศเบลเยียม +CountryIT=อิตาลี +CountryES=สเปน +CountryDE=ประเทศเยอรมัน +CountryCH=ประเทศสวิสเซอร์แลนด์ +CountryGB=บริเตนใหญ่ +CountryUK=สหราชอาณาจักร +CountryIE=ไอร์แลนด์ +CountryCN=ประเทศจีน +CountryTN=ตูนิเซีย +CountryUS=ประเทศสหรัฐอเมริกา +CountryMA=โมร็อกโก +CountryDZ=ประเทศแอลจีเรีย +CountryCA=แคนาดา +CountryTG=โตโก +CountryGA=กาบอง +CountryNL=เนเธอร์แลนด์ +CountryHU=ฮังการี +CountryRU=รัสเซีย +CountrySE=สวีเดน +CountryCI=Ivoiry ชายฝั่ง +CountrySN=ประเทศเซเนกัล +CountryAR=อาร์เจนตินา +CountryCM=แคเมอรูน +CountryPT=โปรตุเกส +CountrySA=ประเทศซาอุดีอาระเบีย +CountryMC=โมนาโก +CountryAU=ออสเตรเลีย +CountrySG=สิงคโปร์ +CountryAF=อัฟกานิสถาน +CountryAX=หมู่เกาะโอลันด์ +CountryAL=แอลเบเนีย +CountryAS=อเมริกันซามัว +CountryAD=อันดอร์รา +CountryAO=แองโกลา +CountryAI=แองกวิลลา +CountryAQ=ทวิปแอนตาร์กติกา +CountryAG=แอนติกาและบาร์บูดา +CountryAM=อาร์เมเนีย +CountryAW=อารูบา +CountryAT=ออสเตรีย +CountryAZ=อาเซอร์ไบจาน +CountryBS=บาฮามาส +CountryBH=บาห์เรน +CountryBD=บังคลาเทศ +CountryBB=บาร์เบโดส +CountryBY=เบลารุส +CountryBZ=เบลีซ +CountryBJ=ประเทศเบนิน +CountryBM=เบอร์มิวดา +CountryBT=ภูฏาน +CountryBO=ประเทศโบลิเวีย +CountryBA=บอสเนียและเฮอร์เซโก +CountryBW=บอตสวานา +CountryBV=เกาะบูเวต +CountryBR=บราซิล +CountryIO=มณฑลบริติชมหาสมุทรอินเดีย +CountryBN=บรูไนดารุสซาลาม +CountryBG=บัลแกเรีย +CountryBF=บูร์กินาฟาโซ +CountryBI=บุรุนดี +CountryKH=ประเทศกัมพูชา +CountryCV=เคปเวิร์ด +CountryKY=หมู่เกาะเคย์แมน +CountryCF=สาธารณรัฐแอฟริกากลาง +CountryTD=ชาด +CountryCL=ชิลี +CountryCX=เกาะคริสต์มาส +CountryCC=โคโคส (คีลิง) หมู่เกาะ +CountryCO=โคลอมเบีย +CountryKM=คอโมโรส +CountryCG=ประเทศคองโก +CountryCD=คองโกสาธารณรัฐประชาธิปไตย +CountryCK=หมู่เกาะคุก +CountryCR=คอสตาริกา +CountryHR=โครเอเชีย +CountryCU=คิวบา +CountryCY=ไซปรัส +CountryCZ=สาธารณรัฐเช็ก +CountryDK=เดนมาร์ก +CountryDJ=จิบูตี +CountryDM=โดมินิกา +CountryDO=สาธารณรัฐโดมินิกัน +CountryEC=เอกวาดอร์ +CountryEG=อียิปต์ +CountrySV=เอลซัลวาดอร์ +CountryGQ=ทอเรียลกินี +CountryER=เอริเทรี +CountryEE=เอสโตเนีย +CountryET=สาธารณรัฐเอธิโอเปีย +CountryFK=หมู่เกาะฟอล์คแลนด์ +CountryFO=หมู่เกาะแฟโร +CountryFJ=หมู่เกาะฟิจิ +CountryFI=ฟินแลนด์ +CountryGF=เฟรนช์เกีย +CountryPF=โปลินีเซีฝรั่งเศส +CountryTF=ดินแดนทางใต้ของฝรั่งเศส +CountryGM=แกมเบีย +CountryGE=จอร์เจีย +CountryGH=กานา +CountryGI=ยิบรอลตา +CountryGR=กรีก +CountryGL=เกาะกรีนแลนด์ +CountryGD=เกรเนดา +CountryGP=ลุป +CountryGU=กวม +CountryGT=กัวเตมาลา +CountryGN=กินี +CountryGW=กินีบิสเซา +CountryGY=กายอานา CountryHT=Haïti -CountryHM=Heard Island and McDonald -CountryVA=Holy See (Vatican City State) -CountryHN=Honduras -CountryHK=Hong Kong +CountryHM=ได้ยินและเกาะ McDonald +CountryVA=พระเห็น (นครรัฐวาติกัน) +CountryHN=ฮอนดูรัส +CountryHK=ฮ่องกง CountryIS=Icelande -CountryIN=India -CountryID=Indonesia -CountryIR=Iran -CountryIQ=Iraq -CountryIL=Israel -CountryJM=Jamaica -CountryJP=Japan -CountryJO=Jordan -CountryKZ=Kazakhstan -CountryKE=Kenya -CountryKI=Kiribati -CountryKP=North Korea -CountryKR=South Korea -CountryKW=Kuwait +CountryIN=อินเดีย +CountryID=อินโดนีเซีย +CountryIR=อิหร่าน +CountryIQ=อิรัก +CountryIL=อิสราเอล +CountryJM=เกาะจาเมกา +CountryJP=ประเทศญี่ปุ่น +CountryJO=จอร์แดน +CountryKZ=คาซัคสถาน +CountryKE=ประเทศเคนย่า +CountryKI=ประเทศคิริบาส +CountryKP=เกาหลีเหนือ +CountryKR=เกาหลีใต้ +CountryKW=คูเวต CountryKG=Kyrghyztan -CountryLA=Lao -CountryLV=Latvia -CountryLB=Lebanon -CountryLS=Lesotho -CountryLR=Liberia -CountryLY=Libyan +CountryLA=ลาว +CountryLV=ลัตเวีย +CountryLB=ประเทศเลบานอน +CountryLS=เลโซโท +CountryLR=ประเทศไลบีเรีย +CountryLY=เกี่ยวกับลิบยา CountryLI=Liechtenstein -CountryLT=Lituania -CountryLU=Luxembourg -CountryMO=Macao -CountryMK=Macedonia, the former Yugoslav of -CountryMG=Madagascar -CountryMW=Malawi -CountryMY=Malaysia -CountryMV=Maldives -CountryML=Mali -CountryMT=Malta -CountryMH=Marshall Islands -CountryMQ=Martinique -CountryMR=Mauritania -CountryMU=Mauritius -CountryYT=Mayotte -CountryMX=Mexico -CountryFM=Micronesia -CountryMD=Moldova -CountryMN=Mongolia +CountryLT=ลิทัวเนีย +CountryLU=ลักเซมเบิร์ก +CountryMO=มาเก๊า +CountryMK=มาซิโดเนียอ​​ดีตยูโกสลาเวีย +CountryMG=มาดากัสการ์ +CountryMW=มาลาวี +CountryMY=มาเลเซีย +CountryMV=มัลดีฟส์ +CountryML=มาลี +CountryMT=เกาะมอลตา +CountryMH=หมู่เกาะมาร์แชลล์ +CountryMQ=มาร์ตินีก +CountryMR=มอริเตเนีย +CountryMU=มอริเชียส +CountryYT=มายอต +CountryMX=เม็กซิโก +CountryFM=ไมโครนีเซีย +CountryMD=มอลโดวา +CountryMN=ประเทศมองโกเลีย CountryMS=Monserrat -CountryMZ=Mozambique -CountryMM=Birmania (Myanmar) -CountryNA=Namibia -CountryNR=Nauru -CountryNP=Nepal -CountryAN=Netherlands Antilles -CountryNC=New Caledonia -CountryNZ=New Zealand -CountryNI=Nicaragua -CountryNE=Niger -CountryNG=Nigeria -CountryNU=Niue -CountryNF=Norfolk Island -CountryMP=Northern Mariana Islands -CountryNO=Norway -CountryOM=Oman -CountryPK=Pakistan -CountryPW=Palau -CountryPS=Palestinian Territory, Occupied -CountryPA=Panama -CountryPG=Papua New Guinea -CountryPY=Paraguay -CountryPE=Peru -CountryPH=Philippines -CountryPN=Pitcairn Islands -CountryPL=Poland -CountryPR=Puerto Rico -CountryQA=Qatar -CountryRE=Reunion -CountryRO=Romania -CountryRW=Rwanda -CountrySH=Saint Helena -CountryKN=Saint Kitts and Nevis -CountryLC=Saint Lucia -CountryPM=Saint Pierre and Miquelon -CountryVC=Saint Vincent and Grenadines -CountryWS=Samoa -CountrySM=San Marino -CountryST=Sao Tome and Principe -CountryRS=Serbia -CountrySC=Seychelles -CountrySL=Sierra Leone -CountrySK=Slovakia -CountrySI=Slovenia -CountrySB=Solomon Islands -CountrySO=Somalia -CountryZA=South Africa -CountryGS=South Georgia and the South Sandwich Islands -CountryLK=Sri Lanka -CountrySD=Sudan -CountrySR=Suriname -CountrySJ=Svalbard and Jan Mayen -CountrySZ=Swaziland -CountrySY=Syrian -CountryTW=Taiwan -CountryTJ=Tajikistan -CountryTZ=Tanzania -CountryTH=Thailand -CountryTL=Timor-Leste -CountryTK=Tokelau -CountryTO=Tonga -CountryTT=Trinidad and Tobago -CountryTR=Turkey -CountryTM=Turkmenistan -CountryTC=Turks and Cailos Islands -CountryTV=Tuvalu -CountryUG=Uganda -CountryUA=Ukraine -CountryAE=United Arab Emirates -CountryUM=United States Minor Outlying Islands -CountryUY=Uruguay -CountryUZ=Uzbekistan -CountryVU=Vanuatu -CountryVE=Venezuela -CountryVN=Viet Nam -CountryVG=Virgin Islands, British -CountryVI=Virgin Islands, U.S. -CountryWF=Wallis and Futuna -CountryEH=Western Sahara -CountryYE=Yemen -CountryZM=Zambia -CountryZW=Zimbabwe -CountryGG=Guernsey -CountryIM=Isle of Man -CountryJE=Jersey -CountryME=Montenegro -CountryBL=Saint Barthelemy -CountryMF=Saint Martin +CountryMZ=โมซัมบิก +CountryMM=Birmania (พม่า) +CountryNA=นามิเบีย +CountryNR=นาอูรู +CountryNP=เนปาล +CountryAN=เนเธอร์แลนด์ +CountryNC=แคลิโดเนียใหม่ +CountryNZ=นิวซีแลนด์ +CountryNI=ประเทศนิการากัว +CountryNE=ประเทศไนเธอร์ +CountryNG=ประเทศไนจีเรีย +CountryNU=นีอูเอ +CountryNF=เกาะนอร์โฟล์ค +CountryMP=หมู่เกาะมาเรียนาเหนือ +CountryNO=นอร์เวย์ +CountryOM=โอมาน +CountryPK=ประเทศปากีสถาน +CountryPW=ปาเลา +CountryPS=ดินแดนปาเลสไตน์ครอบครอง +CountryPA=ปานามา +CountryPG=ปาปัวนิวกินี +CountryPY=ประเทศแพรากเว +CountryPE=เปรู +CountryPH=ฟิลิปปินส์ +CountryPN=หมู่เกาะพิตแคร์น +CountryPL=โปแลนด์ +CountryPR=เปอร์โตริโก +CountryQA=กาตาร์ +CountryRE=การรวมตัวใหม่ +CountryRO=โรมาเนีย +CountryRW=รวันดา +CountrySH=เซนต์เฮเลนา +CountryKN=เซนต์คิตส์และเนวิส +CountryLC=เซนต์ลูเซีย +CountryPM=เซนต์ปิแอร์และมีเกอลง +CountryVC=เซนต์วินเซนต์และเกรนาดีน +CountryWS=ซามัว +CountrySM=ซานมารีโน +CountryST=Sao Tome Principe และ +CountryRS=เซอร์เบีย +CountrySC=เซเชลส์ +CountrySL=เซียร์ราลีโอน +CountrySK=สโลวะเกีย +CountrySI=สโลวีเนีย +CountrySB=หมู่เกาะโซโลมอน +CountrySO=โซมาเลีย +CountryZA=แอฟริกาใต้ +CountryGS=เซาท์จอร์เจียและหมู่เกาะเซาท์แซนด์วิช +CountryLK=ศรีลังกา +CountrySD=ซูดาน +CountrySR=ซูรินาเม +CountrySJ=ฟาลบาร์และแจน +CountrySZ=สวาซิแลนด์ +CountrySY=เกี่ยวกับประเทศซีเรีย +CountryTW=ไต้หวัน +CountryTJ=ทาจิกิสถาน +CountryTZ=ประเทศแทนซาเนีย +CountryTH=ประเทศไทย +CountryTL=ติมอร์เลสเต +CountryTK=โตเกเลา +CountryTO=ตองกา +CountryTT=ตรินิแดดและโตเบโก +CountryTR=ตุรกี +CountryTM=เติร์กเมนิสถาน +CountryTC=เติกส์และหมู่เกาะ Cailos +CountryTV=ตูวาลู +CountryUG=ยูกันดา +CountryUA=ยูเครน +CountryAE=สหรัฐอาหรับเอมิ +CountryUM=สหรัฐอเมริกาหมู่เกาะรอบนอก +CountryUY=อุรุกวัย +CountryUZ=อุซเบกิ +CountryVU=วานูอาตู +CountryVE=เวเนซุเอลา +CountryVN=เวียดนาม +CountryVG=หมู่เกาะบริติชเวอร์จิน +CountryVI=หมู่เกาะเวอร์จินของสหรัฐอเมริกา +CountryWF=วาลลิสและฟุตูนา +CountryEH=ซาฮาราตะวันตก +CountryYE=เยเมน +CountryZM=แซมเบีย +CountryZW=ซิมบับเว +CountryGG=เสื้อไหมพรม +CountryIM=ไอล์ออฟแมน +CountryJE=นิวเจอร์ซีย์ +CountryME=มอนเตเนโก +CountryBL=เซนต์บาร์เธเล +CountryMF=เซนต์มาร์ติน ##### Civilities ##### -CivilityMME=Mrs. -CivilityMR=Mr. -CivilityMLE=Ms. -CivilityMTRE=Master -CivilityDR=Doctor +CivilityMME=นาง +CivilityMR=นาย +CivilityMLE=นางสาว +CivilityMTRE=เจ้านาย +CivilityDR=คุณหมอ ##### 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 +Currencyeuros=ยูโร +CurrencyAUD=ดอลลาร์ออสเตรเลีย +CurrencySingAUD=ดอลลาร์ออสเตรเลีย +CurrencyCAD=CAN ดอลลาร์ +CurrencySingCAD=ดอลลาร์ CAN +CurrencyCHF=ฟรังก์สวิส +CurrencySingCHF=ฟรังก์สวิส +CurrencyEUR=ยูโร +CurrencySingEUR=ยูโร +CurrencyFRF=ฟรังก์ฝรั่งเศส +CurrencySingFRF=ฟรังก์ฝรั่งเศส +CurrencyGBP=GB ปอนด์ +CurrencySingGBP=GB ปอนด์ +CurrencyINR=รูปีอินเดีย +CurrencySingINR=รูปีอินเดีย CurrencyMAD=Dirham CurrencySingMAD=Dirham -CurrencyMGA=Ariary -CurrencySingMGA=Ariary -CurrencyMUR=Mauritius rupees -CurrencySingMUR=Mauritius rupee -CurrencyNOK=Norwegian krones -CurrencySingNOK=Norwegian krone -CurrencyTND=Tunisian dinars -CurrencySingTND=Tunisian dinar -CurrencyUSD=US Dollars -CurrencySingUSD=US Dollar -CurrencyUAH=Hryvnia -CurrencySingUAH=Hryvnia -CurrencyXAF=CFA Francs BEAC -CurrencySingXAF=CFA Franc BEAC -CurrencyXOF=CFA Francs BCEAO -CurrencySingXOF=CFA Franc BCEAO -CurrencyXPF=CFP Francs -CurrencySingXPF=CFP Franc -CurrencyCentSingEUR=cent -CurrencyThousandthSingTND=thousandth +CurrencyMGA=มาลากาซี +CurrencySingMGA=มาลากาซี +CurrencyMUR=รูปีมอริเชียส +CurrencySingMUR=รูปีมอริเชียส +CurrencyNOK=นอร์เวย์ Krones +CurrencySingNOK=โครนนอร์เวย์ +CurrencyTND=ดินาร์ตูนิเซีย +CurrencySingTND=ดีนาร์ตูนิเซีย +CurrencyUSD=สกุลเงินดอลลาร์สหรัฐ +CurrencySingUSD=เงินดอลลาร์สหรัฐ +CurrencyUAH=ฮรีฟเนีย +CurrencySingUAH=ฮรีฟเนีย +CurrencyXAF=CFA ฟรังก์ BEAC +CurrencySingXAF=ฟรังก์ BEAC +CurrencyXOF=CFA ฟรังก์ BCEAO +CurrencySingXOF=ฟรังก์ BCEAO +CurrencyXPF=ฟรังก์ CFP +CurrencySingXPF=ฟรังก์ CFP +CurrencyCentSingEUR=ร้อย +CurrencyCentINR=paisa +CurrencyCentSingINR=เซนต์ +CurrencyThousandthSingTND=ที่พัน #### 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_INTE=อินเทอร์เน็ต +DemandReasonTypeSRC_CAMP_MAIL=แคมเปญทางไปรษณีย์ +DemandReasonTypeSRC_CAMP_EMAIL=แคมเปญการส่งอีเมล +DemandReasonTypeSRC_CAMP_PHO=แคมเปญโทรศัพท์ +DemandReasonTypeSRC_CAMP_FAX=แคมเปญโทรสาร +DemandReasonTypeSRC_COMM=ติดต่อพาณิชย์ +DemandReasonTypeSRC_SHOP=ติดต่อร้านค้า +DemandReasonTypeSRC_WOM=มุขบาฐ +DemandReasonTypeSRC_PARTNER=หุ้นส่วน +DemandReasonTypeSRC_EMPLOYEE=ลูกจ้าง +DemandReasonTypeSRC_SPONSORING=การประกัน #### 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 +PaperFormatEU4A0=รูปแบบ 4A0 +PaperFormatEU2A0=รูปแบบ 2A0 +PaperFormatEUA0=รูปแบบ A0 +PaperFormatEUA1=รูปแบบ A1 +PaperFormatEUA2=รูปแบบ A2 +PaperFormatEUA3=รูปแบบ A3 +PaperFormatEUA4=รูปแบบ A4 +PaperFormatEUA5=รูปแบบ A5 +PaperFormatEUA6=รูปแบบ A6 +PaperFormatUSLETTER=รูปแบบตัวอักษรสหรัฐ +PaperFormatUSLEGAL=รูปแบบกฎหมายสหรัฐ +PaperFormatUSEXECUTIVE=รูปแบบการบริหารของสหรัฐ +PaperFormatUSLEDGER=รูปแบบบัญชีแยกประเภท / แท็บลอยด์ +PaperFormatCAP1=รูปแบบ P1 แคนาดา +PaperFormatCAP2=รูปแบบ P2 แคนาดา +PaperFormatCAP3=รูปแบบ P3 แคนาดา +PaperFormatCAP4=รูปแบบ P4 แคนาดา +PaperFormatCAP5=รูปแบบ P5 แคนาดา +PaperFormatCAP6=รูปแบบ P6 แคนาดา diff --git a/htdocs/langs/th_TH/donations.lang b/htdocs/langs/th_TH/donations.lang index 2e9c619194f..2ed5ff592a9 100644 --- a/htdocs/langs/th_TH/donations.lang +++ b/htdocs/langs/th_TH/donations.lang @@ -1,43 +1,43 @@ # Dolibarr language file - Source file is en_US - donations -Donation=Donation -Donations=Donations -DonationRef=Donation ref. -Donor=Donor -Donors=Donors -AddDonation=Create a donation -NewDonation=New donation -DeleteADonation=Delete a donation -ConfirmDeleteADonation=Are you sure you want to delete this donation ? -ShowDonation=Show donation -DonationPromise=Gift promise -PromisesNotValid=Not validated promises -PromisesValid=Validated promises -DonationsPaid=Donations paid -DonationsReceived=Donations received -PublicDonation=Public donation -DonationsNumber=Donation number -DonationsArea=Donations area -DonationStatusPromiseNotValidated=Draft promise -DonationStatusPromiseValidated=Validated promise -DonationStatusPaid=Donation received -DonationStatusPromiseNotValidatedShort=Draft -DonationStatusPromiseValidatedShort=Validated -DonationStatusPaidShort=Received -DonationTitle=Donation receipt -DonationDatePayment=Payment date -ValidPromess=Validate promise -DonationReceipt=Donation receipt -BuildDonationReceipt=Build receipt -DonationsModels=Documents models for donation receipts -LastModifiedDonations=Last %s modified donations -SearchADonation=Search a donation -DonationRecipient=Donation recipient -ThankYou=Thank You -IConfirmDonationReception=The recipient declare reception, as a donation, of the following amount -MinimumAmount=Minimum amount is %s -FreeTextOnDonations=Free text to show in footer -FrenchOptions=Options for France -DONATION_ART200=Show article 200 from CGI if you are concerned -DONATION_ART238=Show article 238 from CGI if you are concerned -DONATION_ART885=Show article 885 from CGI if you are concerned -DonationPayment=Donation payment +Donation=การบริจาค +Donations=การบริจาค +DonationRef=อ้างอิงบริจาค +Donor=ผู้บริจาค +Donors=ผู้บริจาค +AddDonation=สร้างการบริจาค +NewDonation=บริจาคใหม่ +DeleteADonation=ลบบริจาค +ConfirmDeleteADonation=คุณแน่ใจหรือว่าต้องการลบการบริจาคครั้งนี้? +ShowDonation=แสดงบริจาค +DonationPromise=สัญญาของขวัญ +PromisesNotValid=การตรวจสอบสัญญาไม่ได้ +PromisesValid=การตรวจสอบสัญญา +DonationsPaid=บริจาคจ่าย +DonationsReceived=ได้รับการบริจาค +PublicDonation=เงินบริจาคของประชาชน +DonationsNumber=จำนวนการบริจาค +DonationsArea=พื้นที่บริจาค +DonationStatusPromiseNotValidated=ร่างสัญญา +DonationStatusPromiseValidated=การตรวจสอบสัญญา +DonationStatusPaid=ได้รับการบริจาค +DonationStatusPromiseNotValidatedShort=ร่าง +DonationStatusPromiseValidatedShort=ผ่านการตรวจสอบ +DonationStatusPaidShort=ที่ได้รับ +DonationTitle=ใบเสร็จรับเงินบริจาค +DonationDatePayment=วันที่ชำระเงิน +ValidPromess=ตรวจสอบสัญญา +DonationReceipt=ใบเสร็จรับเงินบริจาค +BuildDonationReceipt=สร้างใบเสร็จรับเงิน +DonationsModels=รูปแบบเอกสารใบเสร็จรับเงินบริจาค +LastModifiedDonations=% ของเงินบริจาคล่าสุดมีการปรับเปลี่ยน +SearchADonation=ค้นหาบริจาค +DonationRecipient=ผู้รับบริจาค +ThankYou=ขอขอบคุณคุณ +IConfirmDonationReception=ผู้รับประกาศรับบริจาคเป็นของจำนวนเงินดังต่อไปนี้ +MinimumAmount=จำนวนเงินขั้นต่ำเป็น% s +FreeTextOnDonations=ข้อความฟรีที่จะแสดงในส่วนท้าย +FrenchOptions=ตัวเลือกสำหรับฝรั่งเศส +DONATION_ART200=แสดงบทความจาก 200 CGI ถ้าคุณมีความกังวล +DONATION_ART238=แสดงบทความจาก 238 CGI ถ้าคุณมีความกังวล +DONATION_ART885=แสดงบทความจาก 885 CGI ถ้าคุณมีความกังวล +DonationPayment=การชำระเงินที่บริจาค diff --git a/htdocs/langs/th_TH/ecm.lang b/htdocs/langs/th_TH/ecm.lang index 4a1931a3217..cd60d5cc9e6 100644 --- a/htdocs/langs/th_TH/ecm.lang +++ b/htdocs/langs/th_TH/ecm.lang @@ -1,57 +1,57 @@ # Dolibarr language file - Source file is en_US - ecm -MenuECM=Documents -DocsMine=My documents -DocsGenerated=Generated documents -DocsElements=Elements documents -DocsThirdParties=Documents third parties -DocsContracts=Documents contracts -DocsProposals=Documents proposals -DocsOrders=Documents orders -DocsInvoices=Documents invoices -ECMNbOfDocs=Nb of documents in directory -ECMNbOfDocsSmall=Nb of doc. -ECMSection=Directory -ECMSectionManual=Manual directory -ECMSectionAuto=Automatic directory -ECMSectionsManual=Manual tree -ECMSectionsAuto=Automatic tree -ECMSections=Directories -ECMRoot=Root -ECMNewSection=New directory -ECMAddSection=Add directory -ECMNewDocument=New document -ECMCreationDate=Creation date -ECMNbOfFilesInDir=Number of files in directory -ECMNbOfSubDir=Number of sub-directories -ECMNbOfFilesInSubDir=Number of files in sub-directories -ECMCreationUser=Creator -ECMArea=EDM area -ECMAreaDesc=The EDM (Electronic Document Management) area allows you to save, share and search quickly all kind of documents in Dolibarr. -ECMAreaDesc2=* Automatic directories are filled automatically when adding documents from card of an element.
* Manual directories can be used to save documents not linked to a particular element. -ECMSectionWasRemoved=Directory %s has been deleted. -ECMDocumentsSection=Document of directory -ECMSearchByKeywords=Search by keywords -ECMSearchByEntity=Search by object -ECMSectionOfDocuments=Directories of documents -ECMTypeManual=Manual -ECMTypeAuto=Automatic -ECMDocsBySocialContributions=Documents linked to social contributions -ECMDocsByThirdParties=Documents linked to third parties -ECMDocsByProposals=Documents linked to proposals -ECMDocsByOrders=Documents linked to customers orders -ECMDocsByContracts=Documents linked to contracts -ECMDocsByInvoices=Documents linked to customers invoices -ECMDocsByProducts=Documents linked to products -ECMDocsByProjects=Documents linked to projects -ECMDocsByUsers=Documents linked to users -ECMDocsByInterventions=Documents linked to interventions -ECMNoDirectoryYet=No directory created -ShowECMSection=Show directory -DeleteSection=Remove directory -ConfirmDeleteSection=Can you confirm you want to delete the directory %s ? -ECMDirectoryForFiles=Relative directory for files -CannotRemoveDirectoryContainsFiles=Removed not possible because it contains some files -ECMFileManager=File manager -ECMSelectASection=Select a directory on left tree... -DirNotSynchronizedSyncFirst=This directory seems to be created or modified outside ECM module. You must click on "Refresh" button first to synchronize disk and database to get content of this directory. +MenuECM=เอกสาร +DocsMine=เอกสารของฉัน +DocsGenerated=เอกสารที่สร้างขึ้น +DocsElements=เอกสารองค์ประกอบ +DocsThirdParties=เอกสารบุคคลที่สาม +DocsContracts=เอกสารสัญญา +DocsProposals=ข้อเสนอเอกสาร +DocsOrders=เอกสารการสั่งซื้อ +DocsInvoices=ใบแจ้งหนี้เอกสาร +ECMNbOfDocs=nb ของเอกสารในไดเรกทอรี +ECMNbOfDocsSmall=nb ของเอกสาร +ECMSection=สารบบ +ECMSectionManual=สมุดคู่มือ +ECMSectionAuto=ไดเรกทอรีอัตโนมัติ +ECMSectionsManual=ต้นไม้คู่มือการใช้งาน +ECMSectionsAuto=ต้นไม้อัตโนมัติ +ECMSections=ไดเรกทอรี +ECMRoot=ราก +ECMNewSection=ไดเรกทอรีใหม่ +ECMAddSection=เพิ่มไดเรกทอรี +ECMNewDocument=เอกสารใหม่ +ECMCreationDate=วันที่สร้าง +ECMNbOfFilesInDir=จำนวนแฟ้มในไดเรกทอรี +ECMNbOfSubDir=จำนวนไดเรกทอรีย่อย +ECMNbOfFilesInSubDir=จำนวนของไฟล์ในไดเรกทอรีย่อย +ECMCreationUser=ผู้สร้าง +ECMArea=พื้นที่ EDM +ECMAreaDesc=EDM (Electronic Document Management) พื้นที่ช่วยให้คุณสามารถบันทึกแบ่งปันและค้นหาได้อย่างรวดเร็วชนิดของเอกสารใน Dolibarr ทั้งหมด +ECMAreaDesc2=* ไดเรกทอรีอัตโนมัติจะเต็มไปโดยอัตโนมัติเมื่อมีการเพิ่มเอกสารจากบัตรขององค์ประกอบ
* ไดเรกทอรีคู่มือการใช้งานสามารถใช้ในการบันทึกเอกสารไม่เชื่อมโยงกับองค์ประกอบโดยเฉพาะอย่างยิ่ง +ECMSectionWasRemoved=สารบบ% s ได้ถูกลบออก +ECMDocumentsSection=เอกสารของไดเรกทอรี +ECMSearchByKeywords=ค้นหาตามคำหลัก +ECMSearchByEntity=ค้นหาตามวัตถุ +ECMSectionOfDocuments=ไดเรกทอรีของเอกสาร +ECMTypeManual=คู่มือ +ECMTypeAuto=อัตโนมัติ +ECMDocsBySocialContributions=เอกสารที่เชื่อมโยงกับการมีส่วนร่วมทางสังคม +ECMDocsByThirdParties=เอกสารที่เชื่อมโยงกับบุคคลที่สาม +ECMDocsByProposals=เอกสารที่เชื่อมโยงกับข้อเสนอ +ECMDocsByOrders=เอกสารที่เชื่อมโยงกับคำสั่งซื้อของลูกค้า +ECMDocsByContracts=เอกสารที่เชื่อมโยงกับสัญญา +ECMDocsByInvoices=เอกสารที่เชื่อมโยงกับใบแจ้งหนี้ลูกค้า +ECMDocsByProducts=เอกสารที่เชื่อมโยงกับผลิตภัณฑ์ +ECMDocsByProjects=เอกสารที่เชื่อมโยงกับโครงการ +ECMDocsByUsers=เอกสารที่เชื่อมโยงกับผู้ใช้งาน +ECMDocsByInterventions=เอกสารที่เชื่อมโยงกับการแทรกแซง +ECMNoDirectoryYet=ไดเรกทอรีไม่มีที่สร้างขึ้น +ShowECMSection=ไดเรกทอรีแสดง +DeleteSection=ลบไดเรกทอรี +ConfirmDeleteSection=คุณสามารถยืนยันว่าคุณต้องการลบไดเรกทอรี% s? +ECMDirectoryForFiles=ไดเรกทอรีญาติไฟล์ +CannotRemoveDirectoryContainsFiles=เอาออกไปไม่ได้เพราะมันมีบางไฟล์ +ECMFileManager=จัดการไฟล์ +ECMSelectASection=เลือกไดเรกทอรีบนต้นไม้ซ้าย ... +DirNotSynchronizedSyncFirst=ไดเรกทอรีนี้ดูเหมือนว่าจะสร้างหรือปรับเปลี่ยนนอกโมดูล ECM คุณต้องคลิกที่ปุ่ม "รีเฟรช" เป็นครั้งแรกในการประสานดิสก์และฐานข้อมูลที่จะได้รับเนื้อหาของไดเรกทอรีนี้ diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index dbafde2f6e5..83f1c5c4924 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -1,192 +1,193 @@ # Dolibarr language file - Source file is en_US - errors # No errors -NoErrorCommitIsDone=No error, we commit +NoErrorCommitIsDone=ไม่มีข้อผิดพลาดที่เรากระทำ # Errors -Error=Error -Errors=Errors -ErrorButCommitIsDone=Errors found but we validate despite this -ErrorBadEMail=EMail %s is wrong -ErrorBadUrl=Url %s is wrong -ErrorLoginAlreadyExists=Login %s already exists. -ErrorGroupAlreadyExists=Group %s already exists. -ErrorRecordNotFound=Record not found. -ErrorFailToCopyFile=Failed to copy file '%s' into '%s'. -ErrorFailToRenameFile=Failed to rename file '%s' into '%s'. -ErrorFailToDeleteFile=Failed to remove file '%s'. -ErrorFailToCreateFile=Failed to create file '%s'. -ErrorFailToRenameDir=Failed to rename directory '%s' into '%s'. -ErrorFailToCreateDir=Failed to create directory '%s'. -ErrorFailToDeleteDir=Failed to delete directory '%s'. -ErrorFailedToDeleteJoinedFiles=Can not delete environment because there is some joined files. Remove join files first. -ErrorThisContactIsAlreadyDefinedAsThisType=This contact is already defined as contact for this type. -ErrorCashAccountAcceptsOnlyCashMoney=This bank account is a cash account, so it accepts payments of type cash only. -ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be different. -ErrorBadThirdPartyName=Bad value for third party name -ErrorProdIdIsMandatory=The %s is mandatory -ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar code. May be you set a bad barcode type or you defined a barcode mask for numbering that does not match value scanned. -ErrorCustomerCodeRequired=Customer code required -ErrorBarCodeRequired=Bar code required -ErrorCustomerCodeAlreadyUsed=Customer code already used -ErrorBarCodeAlreadyUsed=Bar code already used -ErrorPrefixRequired=Prefix required -ErrorUrlNotValid=The website address is incorrect -ErrorBadSupplierCodeSyntax=Bad syntax for supplier code -ErrorSupplierCodeRequired=Supplier code required -ErrorSupplierCodeAlreadyUsed=Supplier code already used -ErrorBadParameters=Bad parameters -ErrorBadValueForParameter=Wrong value '%s' for parameter incorrect '%s' -ErrorBadImageFormat=Image file has not a supported format (Your PHP does not support functions to convert images of this format) -ErrorBadDateFormat=Value '%s' has wrong date format -ErrorWrongDate=Date is not correct! -ErrorFailedToWriteInDir=Failed to write in directory %s -ErrorFoundBadEmailInFile=Found incorrect email syntax for %s lines in file (example line %s with email=%s) -ErrorUserCannotBeDelete=User can not be deleted. May be it is associated on Dolibarr entities. -ErrorFieldsRequired=Some required fields were not filled. -ErrorFailedToCreateDir=Failed to create a directory. Check that Web server user has permissions to write into Dolibarr documents directory. If parameter safe_mode is enabled on this PHP, check that Dolibarr php files owns to web server user (or group). -ErrorNoMailDefinedForThisUser=No mail defined for this user -ErrorFeatureNeedJavascript=This feature need javascript to be activated to work. Change this in setup - display. -ErrorTopMenuMustHaveAParentWithId0=A menu of type 'Top' can't have a parent menu. Put 0 in parent menu or choose a menu of type 'Left'. -ErrorLeftMenuMustHaveAParentId=A menu of type 'Left' must have a parent id. -ErrorFileNotFound=File %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) -ErrorDirNotFound=Directory %s not found (Bad path, wrong permissions or access denied by PHP openbasedir or safe_mode parameter) -ErrorFunctionNotAvailableInPHP=Function %s is required for this feature but is not available in this version/setup of PHP. -ErrorDirAlreadyExists=A directory with this name already exists. -ErrorFileAlreadyExists=A file with this name already exists. -ErrorPartialFile=File not received completely by server. -ErrorNoTmpDir=Temporary directy %s does not exists. -ErrorUploadBlockedByAddon=Upload blocked by a PHP/Apache plugin. -ErrorFileSizeTooLarge=File size is too large. -ErrorSizeTooLongForIntType=Size too long for int type (%s digits maximum) -ErrorSizeTooLongForVarcharType=Size too long for string type (%s chars maximum) -ErrorNoValueForSelectType=Please fill value for select list -ErrorNoValueForCheckBoxType=Please fill value for checkbox list -ErrorNoValueForRadioType=Please fill value for radio list -ErrorBadFormatValueList=The list value cannot have more than one come : %s, but need at least one: llave,valores -ErrorFieldCanNotContainSpecialCharacters=Field %s must not contains special characters. -ErrorFieldCanNotContainSpecialNorUpperCharacters=Field %s must not contains special characters, nor upper case characters. -ErrorNoAccountancyModuleLoaded=No accountancy module activated -ErrorExportDuplicateProfil=This profile name already exists for this export set. -ErrorLDAPSetupNotComplete=Dolibarr-LDAP matching is not complete. -ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more information on errors. -ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "statut not started" if field "done by" is also filled. -ErrorRefAlreadyExists=Ref used for creation already exists. -ErrorPleaseTypeBankTransactionReportName=Please type bank receipt name where transaction is reported (Format YYYYMM or YYYYMMDD) -ErrorRecordHasChildren=Failed to delete records since it has some childs. -ErrorRecordIsUsedCantDelete=Can't delete record. It is already used or included into other object. -ErrorModuleRequireJavascript=Javascript must not be disabled to have this feature working. To enable/disable Javascript, go to menu Home->Setup->Display. -ErrorPasswordsMustMatch=Both typed passwords must match each other -ErrorContactEMail=A technical error occured. Please, contact administrator to following email %s en provide the error code %s in your message, or even better by adding a screen copy of this page. -ErrorWrongValueForField=Wrong value for field number %s (value '%s' does not match regex rule %s) -ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) -ErrorFieldRefNotIn=Wrong value for field number %s (value '%s' is not a %s existing ref) -ErrorsOnXLines=Errors on %s source record(s) -ErrorFileIsInfectedWithAVirus=The antivirus program was not able to validate the file (file might be infected by a virus) -ErrorSpecialCharNotAllowedForField=Special characters are not allowed for field "%s" -ErrorDatabaseParameterWrong=Database setup parameter '%s' has a value not compatible to use Dolibarr (must have value '%s'). -ErrorNumRefModel=A reference exists into database (%s) and is not compatible with this numbering rule. Remove record or renamed reference to activate this module. -ErrorQtyTooLowForThisSupplier=Quantity too low for this supplier or no price defined on this product for this supplier -ErrorModuleSetupNotComplete=Setup of module looks to be uncomplete. Go on Setup - Modules to complete. -ErrorBadMask=Error on mask -ErrorBadMaskFailedToLocatePosOfSequence=Error, mask without sequence number -ErrorBadMaskBadRazMonth=Error, bad reset value -ErrorMaxNumberReachForThisMask=Max number reach for this mask -ErrorCounterMustHaveMoreThan3Digits=Counter must have more than 3 digits -ErrorSelectAtLeastOne=Error. Select at least one entry. -ErrorProductWithRefNotExist=Product with reference '%s' don't exist -ErrorDeleteNotPossibleLineIsConsolidated=Delete not possible because record is linked to a bank transation that is conciliated -ErrorProdIdAlreadyExist=%s is assigned to another third -ErrorFailedToSendPassword=Failed to send password -ErrorFailedToLoadRSSFile=Fails to get RSS feed. Try to add constant MAIN_SIMPLEXMLLOAD_DEBUG if error messages does not provide enough information. -ErrorPasswordDiffers=Passwords differs, please type them again. -ErrorForbidden=Access denied.
You try to access to a page, area or feature without being in an authenticated session or that is not allowed to your user. -ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s. -ErrorForbidden3=It seems that Dolibarr is not used through an authenticated session. Take a look at Dolibarr setup documentation to know how to manage authentications (htaccess, mod_auth or other...). -ErrorNoImagickReadimage=Class Imagick is not found in this PHP. No preview can be available. Administrators can disable this tab from menu Setup - Display. -ErrorRecordAlreadyExists=Record already exists -ErrorCantReadFile=Failed to read file '%s' -ErrorCantReadDir=Failed to read directory '%s' -ErrorFailedToFindEntity=Failed to read environment '%s' -ErrorBadLoginPassword=Bad value for login or password -ErrorLoginDisabled=Your account has been disabled -ErrorFailedToRunExternalCommand=Failed to run external command. Check it is available and runnable by your PHP server. If PHP Safe Mode is enabled, check that command is inside a directory defined by parameter safe_mode_exec_dir. -ErrorFailedToChangePassword=Failed to change password -ErrorLoginDoesNotExists=User with login %s could not be found. -ErrorLoginHasNoEmail=This user has no email address. Process aborted. -ErrorBadValueForCode=Bad value for security code. Try again with new value... -ErrorBothFieldCantBeNegative=Fields %s and %s can't be both negative -ErrorQtyForCustomerInvoiceCantBeNegative=Quantity for line into customer invoices can't be negative -ErrorWebServerUserHasNotPermission=User account %s used to execute web server has no permission for that -ErrorNoActivatedBarcode=No barcode type activated -ErrUnzipFails=Failed to unzip %s with ZipArchive -ErrNoZipEngine=No engine to unzip %s file in this PHP -ErrorFileMustBeADolibarrPackage=The file %s must be a Dolibarr zip package -ErrorFileRequired=It takes a package Dolibarr file -ErrorPhpCurlNotInstalled=The PHP CURL is not installed, this is essential to talk with Paypal -ErrorFailedToAddToMailmanList=Failed to add record %s to Mailman list %s or SPIP base -ErrorFailedToRemoveToMailmanList=Failed to remove record %s to Mailman list %s or SPIP base -ErrorNewValueCantMatchOldValue=New value can't be equal to old one -ErrorFailedToValidatePasswordReset=Failed to reinit password. May be the reinit was already done (this link can be used only one time). If not, try to restart the reinit process. -ErrorToConnectToMysqlCheckInstance=Connect to database fails. Check Mysql server is running (in most cases, you can launch it from command line with 'sudo /etc/init.d/mysql start'). -ErrorFailedToAddContact=Failed to add contact -ErrorDateMustBeBeforeToday=The date can not be greater than today -ErrorPaymentModeDefinedToWithoutSetup=A payment mode was set to type %s but setup of module Invoice was not completed to define information to show for this payment mode. -ErrorPHPNeedModule=Error, your PHP must have module %s installed to use this feature. -ErrorOpenIDSetupNotComplete=You setup Dolibarr config file to allow OpenID authentication, but URL of OpenID service is not defined into constant %s -ErrorWarehouseMustDiffers=Source and target warehouses must differs -ErrorBadFormat=Bad format! -ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=Error, this member is not yet linked to any thirdparty. Link member to an existing third party or create a new thirdparty before creating subscription with invoice. -ErrorThereIsSomeDeliveries=Error, there is some deliveries linked to this shipment. Deletion refused. -ErrorCantDeletePaymentReconciliated=Can't delete a payment that had generated a bank transaction that was conciliated -ErrorCantDeletePaymentSharedWithPayedInvoice=Can't delete a payment shared by at least one invoice with status Payed -ErrorPriceExpression1=Cannot assign to constant '%s' -ErrorPriceExpression2=Cannot redefine built-in function '%s' -ErrorPriceExpression3=Undefined variable '%s' in function definition -ErrorPriceExpression4=Illegal character '%s' -ErrorPriceExpression5=Unexpected '%s' -ErrorPriceExpression6=Wrong number of arguments (%s given, %s expected) -ErrorPriceExpression8=Unexpected operator '%s' -ErrorPriceExpression9=An unexpected error occured -ErrorPriceExpression10=Iperator '%s' lacks operand -ErrorPriceExpression11=Expecting '%s' -ErrorPriceExpression14=Division by zero -ErrorPriceExpression17=Undefined variable '%s' -ErrorPriceExpression19=Expression not found -ErrorPriceExpression20=Empty expression -ErrorPriceExpression21=Empty result '%s' -ErrorPriceExpression22=Negative result '%s' -ErrorPriceExpressionInternal=Internal error '%s' -ErrorPriceExpressionUnknown=Unknown error '%s' -ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs -ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without lot/serial information, on a product 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 -ErrorFieldMustBeAnInteger=Field %s must be an integer +Error=ความผิดพลาด +Errors=ข้อผิดพลาด +ErrorButCommitIsDone=พบข้อผิดพลาด แต่เราตรวจสอบอย่างไรก็ตามเรื่องนี้ +ErrorBadEMail=อีเมล% s ไม่ถูกต้อง +ErrorBadUrl=% s url ที่ไม่ถูกต้อง +ErrorLoginAlreadyExists=เข้าสู่ระบบ% s อยู่แล้ว +ErrorGroupAlreadyExists=s% กลุ่มที่มีอยู่แล้ว +ErrorRecordNotFound=บันทึกไม่พบ +ErrorFailToCopyFile=ไม่สามารถคัดลอกแฟ้ม '% s' เป็น '% s' +ErrorFailToRenameFile=ไม่สามารถเปลี่ยนชื่อไฟล์ '% s' เป็น '% s' +ErrorFailToDeleteFile=ไม่สามารถลบไฟล์ที่ '% s' +ErrorFailToCreateFile=ล้มเหลวในการสร้างแฟ้ม '% s' +ErrorFailToRenameDir=ไม่สามารถเปลี่ยนชื่อไดเรกทอรี '% s' เป็น '% s' +ErrorFailToCreateDir=ล้มเหลวในการสร้างไดเรกทอรี '% s' +ErrorFailToDeleteDir=ไม่สามารถลบไดเรกทอรี '% s' +ErrorFailedToDeleteJoinedFiles=ไม่สามารถลบสภาพแวดล้อมเพราะมีบางส่วนเข้าร่วมไฟล์ ลบเข้าร่วมไฟล์แรก +ErrorThisContactIsAlreadyDefinedAsThisType=ติดต่อนี้ถูกกำหนดไว้แล้วเป็นผู้ติดต่อสำหรับประเภทนี้ +ErrorCashAccountAcceptsOnlyCashMoney=บัญชีธนาคารนี้เป็นบัญ​​ชีเงินสดดังนั้นจึงยอมรับการชำระเงินของเงินสดชนิดเดียว +ErrorFromToAccountsMustDiffers=แหล่งที่มาและเป้าหมายบัญชีธนาคารจะต้องแตกต่าง +ErrorBadThirdPartyName=ค่าที่ไม่ดีสำหรับชื่อของบุคคลที่สาม +ErrorProdIdIsMandatory=% s มีผลบังคับใช้ +ErrorBadCustomerCodeSyntax=ไวยากรณ์ร้ายสำหรับรหัสลูกค้า +ErrorBadBarCodeSyntax=ไวยากรณ์ที่ไม่ดีสำหรับบาร์โค้ด คุณอาจจะกำหนดประเภทบาร์โค้ดที่ไม่ดีหรือคุณกำหนดไว้หน้ากากบาร์โค้ดสำหรับหมายเลขที่ไม่ตรงกับค่าที่สแกน +ErrorCustomerCodeRequired=รหัสลูกค้าจำเป็นต้องใช้ +ErrorBarCodeRequired=บาร์โค้ดที่จำเป็น +ErrorCustomerCodeAlreadyUsed=รหัสลูกค้าใช้อยู่แล้ว +ErrorBarCodeAlreadyUsed=บาร์โค้ดที่ใช้แล้ว +ErrorPrefixRequired=คำนำหน้าต้อง +ErrorUrlNotValid=ที่อยู่เว็บไซต์ไม่ถูกต้อง +ErrorBadSupplierCodeSyntax=ไวยากรณ์ Bad รหัสผู้จัดจำหน่าย +ErrorSupplierCodeRequired=รหัสผู้จำหน่ายต้อง +ErrorSupplierCodeAlreadyUsed=รหัสผู้จำหน่ายใช้แล้ว +ErrorBadParameters=พารามิเตอร์ที่ไม่ดี +ErrorBadValueForParameter=ค่าที่ไม่ถูกต้อง '% s' สำหรับพารามิเตอร์ไม่ถูกต้อง '% s' +ErrorBadImageFormat=ไฟล์ภาพไม่ได้เป็นรูปแบบที่ได้รับการสนับสนุน (PHP ของคุณไม่สนับสนุนฟังก์ชั่นการแปลงภาพของรูปแบบนี้) +ErrorBadDateFormat=ค่า '% s' มีรูปแบบวันที่ไม่ถูกต้อง +ErrorWrongDate=วันที่ไม่ถูกต้อง! +ErrorFailedToWriteInDir=ไม่สามารถเขียนในไดเรกทอรี% s +ErrorFoundBadEmailInFile=พบไวยากรณ์อีเมลไม่ถูกต้องสำหรับ% s บรรทัดในไฟล์ (เช่นสาย% s ด้วยอีเมล =% s) +ErrorUserCannotBeDelete=ผู้ใช้ไม่สามารถลบได้ อาจจะมีความเกี่ยวข้องในหน่วยงาน Dolibarr +ErrorFieldsRequired=ฟิลด์ที่จำเป็นบางคนไม่เต็ม +ErrorFailedToCreateDir=ล้มเหลวในการสร้างไดเรกทอรี ตรวจสอบการใช้เว็บเซิร์ฟเวอร์ที่มีสิทธิ์ในการเขียนลงในไดเรกทอรีเอกสาร Dolibarr หาก safe_mode พารามิเตอร์เปิดใช้งานบน PHP นี้ตรวจสอบว่า php ไฟล์ Dolibarr เป็นเจ้าของให้กับผู้ใช้เว็บเซิร์ฟเวอร์ (หรือกลุ่ม) +ErrorNoMailDefinedForThisUser=จดหมายไม่มีกำหนดไว้สำหรับผู้ใช้นี้ +ErrorFeatureNeedJavascript=คุณลักษณะนี้จะต้องเปิดการใช้งานได้ในการทำงาน เปลี่ยนนี้ในการตั้งค่า - การแสดงผล +ErrorTopMenuMustHaveAParentWithId0=เมนูประเภทยอด 'ไม่สามารถมีเมนูปกครอง ใส่ 0 ในเมนูปกครองหรือเลือกเมนูประเภท 'ซ้าย' +ErrorLeftMenuMustHaveAParentId=เมนูชนิด 'ซ้าย' ต้องมีรหัสผู้ปกครอง +ErrorFileNotFound=ไฟล์% s ไม่พบ (เส้นทาง Bad สิทธิ์ที่ไม่ถูกต้องหรือปฏิเสธการเข้าถึงทุก openbasedir หรือ safe_mode พารามิเตอร์) +ErrorDirNotFound=สารบบ% s ไม่พบ (เส้นทาง Bad สิทธิ์ที่ไม่ถูกต้องหรือปฏิเสธการเข้าถึงทุก openbasedir หรือ safe_mode พารามิเตอร์) +ErrorFunctionNotAvailableInPHP=% s ฟังก์ชั่นที่จำเป็นสำหรับคุณลักษณะนี้ แต่ไม่สามารถใช้ได้ในรุ่น / การตั้งค่าของ PHP นี้ +ErrorDirAlreadyExists=ไดเรกทอรีที่มีชื่อนี้อยู่แล้ว +ErrorFileAlreadyExists=ไฟล์ที่มีชื่อนี้อยู่แล้ว +ErrorPartialFile=ไฟล์ไม่ได้รับอย่างสมบูรณ์โดยเซิร์ฟเวอร์ +ErrorNoTmpDir=ชั่วคราวโดยตรงได้% s ไม่ได้มีอยู่ +ErrorUploadBlockedByAddon=อัพโหลดบล็อกโดย PHP / ปลั๊กอินอาปาเช่ +ErrorFileSizeTooLarge=ขนาดไฟล์มีขนาดใหญ่เกินไป +ErrorSizeTooLongForIntType=ขนาดยาวเกินไปสำหรับประเภท int (s% ตัวเลขสูงสุด) +ErrorSizeTooLongForVarcharType=ขนาดยาวเกินไปสำหรับประเภทสตริง (% s ตัวอักษรสูงสุด) +ErrorNoValueForSelectType=กรุณากรอกค่าส​​ำหรับรายการเลือก +ErrorNoValueForCheckBoxType=กรุณากรอกค่าส​​ำหรับรายการช่อง +ErrorNoValueForRadioType=กรุณากรอกค่าส​​ำหรับรายการวิทยุ +ErrorBadFormatValueList=มูลค่ารายการไม่สามารถมีมากกว่าหนึ่งมา:% s แต่ต้องไม่น้อยกว่าหนึ่ง Llave, valores +ErrorFieldCanNotContainSpecialCharacters=s สนาม% ไม่ต้องมีอักขระพิเศษ +ErrorFieldCanNotContainSpecialNorUpperCharacters=s สนาม% ไม่ต้องมีอักขระพิเศษหรืออักขระตัวพิมพ์ใหญ่ +ErrorNoAccountancyModuleLoaded=ไม่มีการเปิดใช้งานโมดูลบัญชี +ErrorExportDuplicateProfil=ชื่อโปรไฟล์นี้มีอยู่แล้วสำหรับการตั้งค่าการส่งออกนี้ +ErrorLDAPSetupNotComplete=การจับคู่ Dolibarr-LDAP ไม่สมบูรณ์ +ErrorLDAPMakeManualTest=ไฟล์ .ldif ได้รับการสร้างขึ้นในไดเรกทอรี% s พยายามที่จะโหลดได้ด้วยตนเองจากบรรทัดคำสั่งที่จะมีข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาด +ErrorCantSaveADoneUserWithZeroPercentage=ไม่สามารถบันทึกการดำเนินการกับ "statut ไม่ได้เริ่ม" ถ้าเขต "ทำโดย" นอกจากนี้ยังเต็มไป +ErrorRefAlreadyExists=Ref ใช้สำหรับการสร้างที่มีอยู่แล้ว +ErrorPleaseTypeBankTransactionReportName=กรุณาระบุชื่อของใบเสร็จรับเงินของธนาคารที่มีรายงานการทำธุรกรรม (รูปแบบ YYYYMM หรือ YYYYMMDD) +ErrorRecordHasChildren=ล้มเหลวในการลบระเบียนเนื่องจากมีเด็กบางคน +ErrorRecordIsUsedCantDelete=ไม่สามารถลบบันทึก มันถูกใช้ไปแล้วหรือรวมอยู่ในวัตถุอื่น +ErrorModuleRequireJavascript=จาวาสคริปต์จะต้องไม่ถูกปิดการใช้งานจะมีคุณสมบัติการทำงานนี้ เพื่อเปิด / ปิดการใช้งานจาวาสคริไปที่เมนูหน้าแรก> Setup-> จอแสดงผล +ErrorPasswordsMustMatch=ทั้งสองพิมพ์รหัสผ่านจะต้องตรงกับแต่ละอื่น ๆ +ErrorContactEMail=ข้อผิดพลาดทางเทคนิคที่เกิดขึ้น กรุณาติดต่อผู้ดูแลระบบเพื่อต่อไปนี้อีเมล en% s ให้รหัสข้อผิดพลาด% s ในข้อความของคุณหรือดียิ่งขึ้นโดยการเพิ่มสำเนาหน้าจอของหน้านี้ +ErrorWrongValueForField=ค่าที่ไม่ถูกต้องสำหรับจำนวนสนาม% s (ค่า '% s' ไม่ตรงกับกฎ% s regex) +ErrorFieldValueNotIn=ค่าที่ไม่ถูกต้องสำหรับจำนวนสนาม% s (ค่า '% s' ไม่ใช่ค่าที่มีอยู่เข้าไปในสนาม% s ของตาราง% s =% s) +ErrorFieldRefNotIn=ค่าที่ไม่ถูกต้องสำหรับจำนวนสนาม% s (ค่า '% s' ไม่ได้อ้างอิง% s ที่มีอยู่) +ErrorsOnXLines=ข้อผิดพลาดในการบันทึกแหล่ง% s (s) +ErrorFileIsInfectedWithAVirus=โปรแกรมป้องกันไวรัสที่ไม่สามารถที่จะตรวจสอบไฟล์ (ไฟล์อาจจะมีการติดเชื้อไวรัส) +ErrorSpecialCharNotAllowedForField=อักขระพิเศษไม่ได้รับอนุญาตสำหรับเขตข้อมูล "% s" +ErrorDatabaseParameterWrong=ฐานข้อมูลการตั้งค่าพารามิเตอร์ '% s' มีค่าเข้ากันไม่ได้ที่จะใช้ Dolibarr (ต้องมีค่า '% s') +ErrorNumRefModel=การอ้างอิงที่มีอยู่ในฐานข้อมูล (% s) และไม่ได้เข้ากันได้กับกฎหมายเลขนี้ ลบบันทึกการอ้างอิงหรือเปลี่ยนชื่อเพื่อเปิดใช้งานโมดูลนี้ +ErrorQtyTooLowForThisSupplier=ปริมาณต่ำเกินไปสำหรับผู้จัดหาสินค้านี้ไม่มีหรือราคาที่กำหนดไว้เกี่ยวกับผลิตภัณฑ์นี้สำหรับผู้จัดหาสินค้านี้ +ErrorModuleSetupNotComplete=การติดตั้งโมดูลดูเหมือนจะเป็น uncomplete ไปในการติดตั้ง - โมดูลที่จะเสร็จสมบูรณ์ +ErrorBadMask=ข้อผิดพลาดในหน้ากาก +ErrorBadMaskFailedToLocatePosOfSequence=ข้อผิดพลาดหน้ากากไม่มีหมายเลขลำดับ +ErrorBadMaskBadRazMonth=ข้อผิดพลาดค่าการตั้งค่าที่ไม่ดี +ErrorMaxNumberReachForThisMask=เข้าถึงจำนวนซ์หน้ากากนี้ +ErrorCounterMustHaveMoreThan3Digits=เคาน์เตอร์จะต้องมีมากกว่า 3 หลัก +ErrorSelectAtLeastOne=ความผิดพลาด เลือกอย่างน้อยหนึ่งรายการ +ErrorProductWithRefNotExist=สินค้าที่มีการอ้างอิง '% s' ไม่อยู่ +ErrorDeleteNotPossibleLineIsConsolidated=ลบไปไม่ได้เพราะการบันทึกจะเชื่อมโยงกับรายการระหว่างกันของธนาคารที่ conciliated +ErrorProdIdAlreadyExist=% s ได้รับมอบหมายให้สามอีก +ErrorFailedToSendPassword=ล้มเหลวในการส่งรหัสผ่าน +ErrorFailedToLoadRSSFile=ล้มเหลวที่จะได้รับฟีด RSS พยายามที่จะเพิ่ม MAIN_SIMPLEXMLLOAD_DEBUG คงถ้าข้อความผิดพลาดที่ไม่ได้ให้ข้อมูลที่เพียงพอ +ErrorPasswordDiffers=แตกต่างรหัสผ่านกรุณาพิมพ์พวกเขาอีกครั้ง +ErrorForbidden=ปฏิเสธการเข้าใช้
คุณพยายามที่จะเข้าถึงหน้าพื้นที่หรือคุณลักษณะโดยไม่ต้องอยู่ในเซสชั่นหรือรับรองความถูกต้องที่ไม่ได้รับอนุญาตให้ผู้ใช้ของคุณ +ErrorForbidden2=การอนุญาตให้เข้าสู่ระบบนี้สามารถกำหนดได้โดยผู้ดูแลระบบ Dolibarr ของคุณจากเมนู% s ->% s +ErrorForbidden3=ดูเหมือนว่า Dolibarr ไม่ได้ใช้ผ่านเซสชั่นการตรวจสอบสิทธิ์ ลองดูที่เอกสารการติดตั้ง Dolibarr จะทราบวิธีการจัดการ authentications (htaccess, mod_auth หรืออื่น ๆ ... ) +ErrorNoImagickReadimage=ระดับ Imagick ไม่พบใน PHP นี้ ไม่มีตัวอย่างสามารถใช้ได้ ผู้ดูแลระบบสามารถปิดการใช้งานแท็บนี้จากการตั้งค่าเมนู - จอแสดงผล +ErrorRecordAlreadyExists=บันทึกที่มีอยู่แล้ว +ErrorCantReadFile=ไม่สามารถอ่านไฟล์ '% s' +ErrorCantReadDir=ไม่สามารถอ่านไดเรกทอรี '% s' +ErrorFailedToFindEntity=ไม่สามารถอ่านสภาพแวดล้อม '% s' +ErrorBadLoginPassword=ค่าที่ไม่ดีเพื่อเข้าสู่ระบบหรือรหัสผ่าน +ErrorLoginDisabled=บัญชีของคุณถูกปิดการใช้งาน +ErrorFailedToRunExternalCommand=ไม่สามารถเรียกใช้คำสั่งภายนอก ตรวจสอบสามารถใช้ได้และที่ทำงานโดยเซิร์ฟเวอร์ PHP ของคุณ ถ้า PHP เซฟโหมดที่มีการเปิดใช้การตรวจสอบคำสั่งที่อยู่ภายในไดเรกทอรีที่กำหนดโดยพารามิเตอร์ safe_mode_exec_dir +ErrorFailedToChangePassword=ไม่สามารถเปลี่ยนรหัสผ่าน +ErrorLoginDoesNotExists=ผู้ใช้ที่มี s% เข้าสู่ระบบไม่พบ +ErrorLoginHasNoEmail=ผู้ใช้นี้ไม่มีที่อยู่อีเมล ขั้นตอนการยกเลิก +ErrorBadValueForCode=ค่าร้ายสำหรับรหัสรักษาความปลอดภัย ลองอีกครั้งด้วยค่าใหม่ ... +ErrorBothFieldCantBeNegative=ทุ่ง% s% และไม่สามารถเป็นได้ทั้งในเชิงลบ +ErrorQtyForCustomerInvoiceCantBeNegative=จำนวนบรรทัดลงในใบแจ้งหนี้ของลูกค้าที่ไม่สามารถเป็นเชิงลบ +ErrorWebServerUserHasNotPermission=บัญชีผู้ใช้% s ใช้ในการดำเนินการเว็บเซิร์ฟเวอร์มีสิทธิ์ในการที่ไม่มี +ErrorNoActivatedBarcode=ประเภทไม่มีการเปิดใช้งานบาร์โค้ด +ErrUnzipFails=ไม่สามารถเปิดเครื่องรูด% s กับ ZipArchive +ErrNoZipEngine=เครื่องยนต์ยังไม่ได้เปิดเครื่องรูดแฟ้ม% ใน PHP นี้ +ErrorFileMustBeADolibarrPackage=ไฟล์% s จะต้องเป็นแพคเกจซิป Dolibarr +ErrorFileRequired=มันต้องใช้เวลา Dolibarr ไฟล์แพคเกจ +ErrorPhpCurlNotInstalled=PHP CURL ไม่ได้ติดตั้งนี้เป็นสิ่งสำคัญที่จะพูดคุยกับ Paypal +ErrorFailedToAddToMailmanList=ไม่สามารถเพิ่มบันทึก% s% s รายการบุรุษไปรษณีย์หรือฐานหลักสูตรนานาชาติ +ErrorFailedToRemoveToMailmanList=ล้มเหลวในการลบบันทึก% s% s รายการบุรุษไปรษณีย์หรือฐานหลักสูตรนานาชาติ +ErrorNewValueCantMatchOldValue=ค่าใหม่ไม่สามารถจะเท่ากับเก่า +ErrorFailedToValidatePasswordReset=ล้มเหลวในการ reinit รหัสผ่าน อาจจะ reinit ถูกทำมาแล้ว (ลิงค์นี้สามารถใช้เพียงครั้งเดียว) ถ้าไม่ได้พยายามที่จะเริ่มต้นกระบวนการ reinit +ErrorToConnectToMysqlCheckInstance=เชื่อมต่อไปยังฐานข้อมูลล้มเหลว ตรวจสอบเซิร์ฟเวอร์ MySQL เป็นที่ทำงาน (ในกรณีส่วนใหญ่คุณสามารถเปิดได้จากบรรทัดคำสั่งด้วย 'sudo /etc/init.d/mysql เริ่มต้น) +ErrorFailedToAddContact=ล้มเหลวในการเพิ่มรายชื่อ +ErrorDateMustBeBeforeToday=วันที่ไม่สามารถจะสูงกว่าวันนี้ +ErrorPaymentModeDefinedToWithoutSetup=โหมดการชำระเงินถูกกำหนดให้พิมพ์% s แต่การตั้งค่าของโมดูลใบแจ้งหนี้ที่ยังไม่เสร็จสมบูรณ์เพื่อกำหนดข้อมูลที่จะแสดงโหมดการชำระเงินนี้ +ErrorPHPNeedModule=ข้อผิดพลาด, PHP ของคุณต้องมีโมดูล% s ที่ติดตั้งเพื่อใช้คุณลักษณะนี้ +ErrorOpenIDSetupNotComplete=คุณติดตั้ง Dolibarr ไฟล์ config ที่จะช่วยให้การตรวจสอบ OpenID แต่ URL ของ OpenID บริการไม่ได้ถูกกำหนดลงไปใน s% คงที่ +ErrorWarehouseMustDiffers=แหล่งที่มาและคลังสินค้าเป้าหมายต้องแตกต่าง +ErrorBadFormat=รูปแบบที่ไม่ดี! +ErrorMemberNotLinkedToAThirpartyLinkOrCreateFirst=ข้อผิดพลาดของสมาชิกนี้ไม่ได้เชื่อมโยงยัง thirdparty ใด ๆ สมาชิกเชื่อมโยงไปยังบุคคลที่สามที่มีอยู่หรือสร้าง thirdparty ใหม่ก่อนที่จะสร้างการสมัครสมาชิกกับใบแจ้งหนี้ +ErrorThereIsSomeDeliveries=ข้อผิดพลาดที่มีการส่งมอบบางอย่างที่เชื่อมโยงกับการจัดส่งนี้ ลบปฏิเสธ +ErrorCantDeletePaymentReconciliated=ไม่สามารถลบการชำระเงินที่ได้สร้างการทำธุรกรรมของธนาคารที่ได้รับการ conciliated +ErrorCantDeletePaymentSharedWithPayedInvoice=ไม่สามารถลบการชำระเงินที่ใช้ร่วมกันอย่างน้อยหนึ่งใบแจ้งหนี้ที่มีสถานะ payed +ErrorPriceExpression1=ไม่สามารถกำหนดให้คงที่ '% s' +ErrorPriceExpression2=ไม่สามารถกำหนดฟังก์ชั่น '% s' +ErrorPriceExpression3=ตัวแปรที่ไม่ได้กำหนด '% s' ในความหมายฟังก์ชั่น +ErrorPriceExpression4=ตัวอักษรที่ผิดกฎหมาย '% s' +ErrorPriceExpression5=ที่ไม่คาดคิด '% s' +ErrorPriceExpression6=จำนวนที่ไม่ถูกต้องของการขัดแย้ง (% s ได้รับคาดว่า% s) +ErrorPriceExpression8=ผู้ประกอบการที่ไม่คาดคิด '% s' +ErrorPriceExpression9=ข้อผิดพลาดที่ไม่คาดคิดเกิดขึ้น +ErrorPriceExpression10=Iperator '% s' ขาดตัวถูกดำเนินการ +ErrorPriceExpression11=คาดหวังว่า '% s' +ErrorPriceExpression14=หารด้วยศูนย์ +ErrorPriceExpression17=ไม่ได้กำหนดตัวแปร '% s' +ErrorPriceExpression19=ไม่พบการแสดงออก +ErrorPriceExpression20=การแสดงออกที่ว่างเปล่า +ErrorPriceExpression21=ผลที่ว่างเปล่า '% s' +ErrorPriceExpression22=ผลเชิงลบ '% s' +ErrorPriceExpressionInternal=ข้อผิดพลาดภายใน '% s' +ErrorPriceExpressionUnknown=ข้อผิดพลาดที่ไม่รู้จัก '% s' +ErrorSrcAndTargetWarehouseMustDiffers=แหล่งที่มาและคลังสินค้าเป้าหมายต้องแตกต่าง +ErrorTryToMakeMoveOnProductRequiringBatchData=ข้อผิดพลาดพยายามที่จะทำให้การเคลื่อนไหวของหุ้นโดยไม่ต้องมาก / ข้อมูลอนุกรมเกี่ยวกับผลิตภัณฑ์ที่ต้องจัดสรร / ข้อมูลแบบอนุกรม +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=ลูกเต้าที่บันทึกไว้ทั้งหมดจะต้องได้รับการตรวจสอบแล้ว (ได้รับการอนุมัติหรือปฏิเสธ) ก่อนที่จะได้รับอนุญาตให้ทำการกระทำนี้ +ErrorCantSetReceptionToTotalDoneWithReceptionDenied=ลูกเต้าที่บันทึกไว้ทั้งหมดจะต้องได้รับการตรวจสอบแล้ว (ได้รับการอนุมัติ) ก่อนที่จะได้รับอนุญาตให้ทำการกระทำนี้ +ErrorGlobalVariableUpdater0=การร้องขอ HTTP ล้มเหลวด้วยข้อผิดพลาด '% s' +ErrorGlobalVariableUpdater1=รูปแบบ JSON ไม่ถูกต้อง '% s' +ErrorGlobalVariableUpdater2=ที่ขาดหายไปพารามิเตอร์ '% s' +ErrorGlobalVariableUpdater3=ข้อมูลที่ร้องขอไม่พบในผล +ErrorGlobalVariableUpdater4=ลูกค้า SOAP ล​​้มเหลวด้วยข้อผิดพลาด '% s' +ErrorGlobalVariableUpdater5=ไม่มีตัวแปรทั่วโลกที่เลือก +ErrorFieldMustBeANumeric=s สนาม% จะต้องเป็นค่าตัวเลข +ErrorFieldMustBeAnInteger=s สนาม% ต้องเป็นจำนวนเต็ม +ErrorMandatoryParametersNotProvided=พารามิเตอร์บังคับ (s) ไม่ได้ให้ # Warnings -WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined -WarningSafeModeOnCheckExecDir=Warning, PHP option safe_mode is on so command must be stored inside a directory declared by php parameter safe_mode_exec_dir. -WarningAllowUrlFopenMustBeOn=Parameter allow_url_fopen must be set to on in filer php.ini for having this module working completely. You must modify this file manually. -WarningBuildScriptNotRunned=Script %s was not yet ran to build graphics, or there is no data to show. -WarningBookmarkAlreadyExists=A bookmark with this title or this target (URL) already exists. -WarningPassIsEmpty=Warning, database password is empty. This is a security hole. You should add a password to your database and change your conf.php file to reflect this. -WarningConfFileMustBeReadOnly=Warning, your config file (htdocs/conf/conf.php) can be overwritten by the web server. This is a serious security hole. Modify permissions on file to be in read only mode for operating system user used by Web server. If you use Windows and FAT format for your disk, you must know that this file system does not allow to add permissions on file, so can't be completely safe. -WarningsOnXLines=Warnings on %s source record(s) -WarningNoDocumentModelActivated=No model, for document generation, has been activated. A model will be choosed by default until you check your module setup. -WarningLockFileDoesNotExists=Warning, once setup is finished, you must disable install/migrate tools by adding a file install.lock into directory %s. Missing this file is a security hole. -WarningUntilDirRemoved=All security warnings (visible by admin users only) will remain active as long as the vulnerability is present (or that constant MAIN_REMOVE_INSTALL_WARNING is added in Setup->Other setup). -WarningCloseAlways=Warning, closing is done even if amount differs between source and target elements. Enable this feature with caution. -WarningUsingThisBoxSlowDown=Warning, using this box slow down seriously all pages showing the box. -WarningClickToDialUserSetupNotComplete=Setup of ClickToDial information for your user are not complete (see tab ClickToDial onto your user card). -WarningNotRelevant=Irrelevant operation for this dataset -WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=Feature disabled when display setup is optimized for blind person or text browsers. -WarningPaymentDateLowerThanInvoiceDate=Payment date (%s) is earlier than invoice date (%s) for invoice %s. -WarningTooManyDataPleaseUseMoreFilters=Too many data. Please use more filters +WarningMandatorySetupNotComplete=พารามิเตอร์การตั้งค่าบังคับไม่ได้กำหนดไว้ยัง +WarningSafeModeOnCheckExecDir=เตือนตัวเลือก PHP safe_mode อยู่ในคำสั่งดังนั้นจะต้องเก็บไว้ในไดเรคทอประกาศโดย PHP พารามิเตอร์ safe_mode_exec_dir +WarningAllowUrlFopenMustBeOn=allow_url_fopen พารามิเตอร์จะต้องตั้งค่าใน php.ini filer มีโมดูลนี้ทำงานได้อย่างสมบูรณ์ คุณต้องแก้ไขไฟล์นี้ด้วยตนเอง +WarningBuildScriptNotRunned=สคริปต์% s ยังไม่ได้วิ่งไปสร้างกราฟิกหรือไม่มีข้อมูลที่จะแสดง +WarningBookmarkAlreadyExists=บุ๊คมาร์คที่มีชื่อนี้หรือเป้าหมาย (URL) นี้อยู่แล้ว +WarningPassIsEmpty=คำเตือนรหัสผ่านฐานข้อมูลเป็นที่ว่างเปล่า นี่คือหลุมการรักษาความปลอดภัย คุณควรเพิ่มรหัสผ่านไปยังฐานข้อมูลของคุณและเปลี่ยนไฟล์ conf.php ของคุณเพื่อสะท้อนถึงนี้ +WarningConfFileMustBeReadOnly=เตือนไฟล์ config ของคุณ (htdocs / conf / conf.php) สามารถเขียนทับโดยเว็บเซิร์ฟเวอร์ นี่คือหลุมด้านความปลอดภัยร้ายแรง ปรับเปลี่ยนสิทธิ์ในแฟ้มที่จะอยู่ในโหมดอ่านอย่างเดียวสำหรับผู้ใช้ระบบปฏิบัติการที่ใช้โดยเว็บเซิร์ฟเวอร์ หากคุณใช้รูปแบบ Windows และ FAT ดิสก์ของคุณคุณจะต้องรู้ว่าระบบไฟล์นี้จะไม่อนุญาตให้มีการเพิ่มสิทธิ์ในแฟ้มจึงไม่สามารถมีความปลอดภัยอย่างสมบูรณ์ +WarningsOnXLines=คำเตือนในการบันทึกแหล่ง% s (s) +WarningNoDocumentModelActivated=รูปแบบไม่มีสำหรับการสร้างเอกสารได้รับการเปิดใช้งาน รูปแบบจะถูกเลือกโดยค่าเริ่มต้นจนกว่าคุณจะตรวจสอบการติดตั้งโมดูลของคุณ +WarningLockFileDoesNotExists=คำเตือนเมื่อการติดตั้งเสร็จแล้วคุณจะต้องปิดการใช้งานติดตั้ง / ย้ายเครื่องมือโดยการเพิ่ม install.lock ไฟล์ลงในไดเรกทอรี% s หายไปไฟล์นี้เป็นหลุมรักษาความปลอดภัย +WarningUntilDirRemoved=ทุกคำเตือนความปลอดภัย (มองเห็นได้โดยผู้ใช้ผู้ดูแลระบบเท่านั้น) จะยังคงใช้งานเป็นเวลานานเป็นช่องโหว่ที่เป็นปัจจุบัน (หรือที่ MAIN_REMOVE_INSTALL_WARNING คงที่เพิ่มเข้ามาใน Setup-> ตั้งค่าอื่น ๆ ) +WarningCloseAlways=คำเตือนปิดจะทำแม้ว่าจำนวนเงินที่แตกต่างกันระหว่างแหล่งที่มาและองค์ประกอบเป้าหมาย เปิดใช้งานคุณลักษณะนี้ด้วยความระมัดระวัง +WarningUsingThisBoxSlowDown=คำเตือนการใช้ช่องนี้ชะลอตัวลงอย่างจริงจังทุกหน้าแสดงกล่อง +WarningClickToDialUserSetupNotComplete=การตั้งค่าข้อมูล ClickToDial สำหรับผู้ใช้ของคุณจะไม่สมบูรณ์ (ดู ClickToDial แท็บลงบนบัตรผู้ใช้ของคุณ) +WarningNotRelevant=การดำเนินงานที่ไม่เกี่ยวข้องสำหรับชุดนี้ +WarningFeatureDisabledWithDisplayOptimizedForBlindNoJs=คุณสมบัติปิดการใช้งานการตั้งค่าการแสดงผลเมื่อเป็นที่เหมาะสำหรับคนตาบอดหรือข้อความเบราว์เซอร์ +WarningPaymentDateLowerThanInvoiceDate=วันที่ชำระเงิน (% s) ก่อนวันที่ใบแจ้งหนี้ (% s) สำหรับใบแจ้งหนี้% s +WarningTooManyDataPleaseUseMoreFilters=ข้อมูลจำนวนมากเกินไป กรุณาใช้ตัวกรองมากขึ้น diff --git a/htdocs/langs/th_TH/exports.lang b/htdocs/langs/th_TH/exports.lang index d79df485608..2d00b823127 100644 --- a/htdocs/langs/th_TH/exports.lang +++ b/htdocs/langs/th_TH/exports.lang @@ -1,134 +1,134 @@ # Dolibarr language file - Source file is en_US - exports -ExportsArea=Exports area -ImportArea=Import area -NewExport=New export -NewImport=New import -ExportableDatas=Exportable dataset -ImportableDatas=Importable dataset -SelectExportDataSet=Choose dataset you want to export... -SelectImportDataSet=Choose dataset you want to import... -SelectExportFields=Choose fields you want to export, or select a predefined export profile -SelectImportFields=Choose source file fields you want to import and their target field in database by moving them up and down with anchor %s, or select a predefined import profile: -NotImportedFields=Fields of source file not imported -SaveExportModel=Save this export profile if you plan to reuse it later... -SaveImportModel=Save this import profile if you plan to reuse it later... -ExportModelName=Export profile name -ExportModelSaved=Export profile saved under name %s. -ExportableFields=Exportable fields -ExportedFields=Exported fields -ImportModelName=Import profile name -ImportModelSaved=Import profile saved under name %s. -ImportableFields=Importable fields -ImportedFields=Imported fields -DatasetToExport=Dataset to export -DatasetToImport=Import file into dataset -NoDiscardedFields=No fields in source file are discarded -Dataset=Dataset -ChooseFieldsOrdersAndTitle=Choose fields order... -FieldsOrder=Fields order -FieldsTitle=Fields title -FieldOrder=Field order -FieldTitle=Field title -ChooseExportFormat=Choose export format -NowClickToGenerateToBuildExportFile=Now, select file format in combo box and click on "Generate" to build export file... -AvailableFormats=Available formats -LibraryShort=Library -LibraryUsed=Library used -LibraryVersion=Version -Step=Step -FormatedImport=Import assistant -FormatedImportDesc1=This area allows to import personalized data, using an assistant to help you in process without technical knowledge. -FormatedImportDesc2=First step is to choose a king of data you want to load, then file to load, then to choose which fields you want to load. -FormatedExport=Export assistant -FormatedExportDesc1=This area allows to export personalized data, using an assistant to help you in process without technical knowledge. -FormatedExportDesc2=First step is to choose a predefined dataset, then to choose which fields you want in your result files, and which order. -FormatedExportDesc3=When data to export are selected, you can define output file format you want to export your data to. -Sheet=Sheet -NoImportableData=No importable data (no module with definitions to allow data imports) -FileSuccessfullyBuilt=Export file generated -SQLUsedForExport=SQL Request used to build export file -LineId=Id of line -LineDescription=Description of line -LineUnitPrice=Unit price of line -LineVATRate=VAT Rate of line -LineQty=Quantity for line -LineTotalHT=Amount net of tax for line -LineTotalTTC=Amount with tax for line -LineTotalVAT=Amount of VAT for line -TypeOfLineServiceOrProduct=Type of line (0=product, 1=service) -FileWithDataToImport=File with data to import -FileToImport=Source file to import -FileMustHaveOneOfFollowingFormat=File to import must have one of following format -DownloadEmptyExample=Download example of empty source file -ChooseFormatOfFileToImport=Choose file format to use as import file format by clicking on picto %s to select it... -ChooseFileToImport=Upload file then click on picto %s to select file as source import file... -SourceFileFormat=Source file format -FieldsInSourceFile=Fields in source file -FieldsInTargetDatabase=Target fields in Dolibarr database (bold=mandatory) -Field=Field -NoFields=No fields -MoveField=Move field column number %s +ExportsArea=พื้นที่การส่งออก +ImportArea=พื้นที่นำเข้า +NewExport=การส่งออกใหม่ +NewImport=นำเข้าใหม่ +ExportableDatas=ชุดข้อมูลที่ส่งออก +ImportableDatas=ชุด importable +SelectExportDataSet=เลือกชุดข้อมูลที่คุณต้องการส่งออก ... +SelectImportDataSet=เลือกชุดข้อมูลที่คุณต้องการนำเข้า ... +SelectExportFields=เลือกสาขาที่คุณต้องการส่งออกหรือเลือกรายละเอียดการส่งออกที่กำหนดไว้ล่วงหน้า +SelectImportFields=เลือกสาขาแฟ้มแหล่งที่คุณต้องการนำเข้าและเขตเป้าหมายของพวกเขาในฐานข้อมูลโดยการย้ายขึ้นและลงด้วยสมอ% s หรือเลือกนำเข้ารายละเอียดที่กำหนดไว้ล่วงหน้า: +NotImportedFields=ทุ่งแฟ้มแหล่งที่มาไม่ได้นำเข้า +SaveExportModel=บันทึกรายละเอียดการส่งออกนี้ถ้าคุณวางแผนที่จะนำมาใช้ใหม่ได้ในภายหลัง ... +SaveImportModel=บันทึกรายละเอียดการนำเข้านี้ถ้าคุณวางแผนที่จะนำมาใช้ใหม่ได้ในภายหลัง ... +ExportModelName=ชื่อรายละเอียดการส่งออก +ExportModelSaved=รายละเอียดส่งออกภายใต้ชื่อ% s +ExportableFields=สาขาส่งออก +ExportedFields=สาขาการส่งออก +ImportModelName=ชื่อโปรไฟล์นำเข้า +ImportModelSaved=รายละเอียดบันทึกไว้นำเข้าภายใต้ชื่อ% s +ImportableFields=สาขา importable +ImportedFields=สาขาที่นำเข้า +DatasetToExport=ชุดข้อมูลในการส่งออก +DatasetToImport=ไฟล์นำเข้าชุด +NoDiscardedFields=ไม่มีสาขาในแฟ้มแหล่งที่มาจะถูกยกเลิก +Dataset=ชุดข้อมูล +ChooseFieldsOrdersAndTitle=สาขาที่เลือกสั่งซื้อ ... +FieldsOrder=ทุ่งเพื่อ +FieldsTitle=ชื่อฟิลด์ +FieldOrder=เพื่อฟิลด์ +FieldTitle=ชื่อฟิลด์ +ChooseExportFormat=เลือกรูปแบบการส่งออก +NowClickToGenerateToBuildExportFile=ตอนนี้รูปแบบไฟล์ที่เลือกในกล่องคำสั่งผสมและคลิกที่ "สร้าง" เพื่อสร้างไฟล์การส่งออก ... +AvailableFormats=รูปแบบที่ใช้ได้ +LibraryShort=ห้องสมุด +LibraryUsed=ห้องสมุดที่ใช้ +LibraryVersion=รุ่น +Step=ขั้นตอน +FormatedImport=ช่วยนำเข้า +FormatedImportDesc1=พื้นที่บริเวณนี้จะช่วยให้เพื่อนำเข้าข้อมูลส่วนบุคคลโดยใช้ผู้ช่วยที่จะช่วยให้คุณในขั้นตอนที่ไม่มีความรู้ทางเทคนิค +FormatedImportDesc2=ขั้นตอนแรกคือการเลือกพระมหากษัตริย์ของข้อมูลที่คุณต้องการโหลดแล้วไฟล์ที่จะโหลดแล้วให้เลือกเขตข้อมูลที่คุณต้องการโหลด +FormatedExport=ช่วยส่งออก +FormatedExportDesc1=บริเวณนี้จะช่วยให้การส่งออกข้อมูลส่วนบุคคลโดยใช้ผู้ช่วยที่จะช่วยให้คุณในขั้นตอนที่ไม่มีความรู้ทางเทคนิค +FormatedExportDesc2=ขั้นตอนแรกคือการเลือกชุดที่กำหนดไว้ล่วงหน้าแล้วที่จะเลือกเขตข้อมูลที่คุณต้องการในผลไฟล์ของคุณและการสั่งซื้อ +FormatedExportDesc3=เมื่อข้อมูลเพื่อการส่งออกจะถูกเลือกคุณสามารถกำหนดรูปแบบไฟล์ที่ส่งออกคุณต้องการส่งออกข้อมูลของคุณไป +Sheet=แผ่น +NoImportableData=ไม่มีข้อมูล importable (โมดูลใด ๆ กับคำจำกัดความที่จะอนุญาตให้นำเข้าข้อมูล) +FileSuccessfullyBuilt=ไฟล์ส่งออกที่สร้าง +SQLUsedForExport=SQL ขอใช้ในการสร้างไฟล์การส่งออก +LineId=Id ของสาย +LineDescription=คำอธิบายของสาย +LineUnitPrice=ราคาต่อหน่วยของสาย +LineVATRate=ภาษีมูลค่าเพิ่มอัตราสาย +LineQty=จำนวนสาย +LineTotalHT=สุทธิจำนวนภาษีสำหรับสาย +LineTotalTTC=จำนวนเงินที่มีภาษีสำหรับสาย +LineTotalVAT=จำนวนเงินภาษีมูลค่าเพิ่มสำหรับสาย +TypeOfLineServiceOrProduct=ประเภทของสาย (0 = ผลิตภัณฑ์ 1 = บริการแล้ว) +FileWithDataToImport=ไฟล์ที่มีข้อมูลที่จะนำเข้า +FileToImport=แหล่งที่มาของไฟล์ที่จะนำเข้า +FileMustHaveOneOfFollowingFormat=ไฟล์ที่จะนำเข้าต้องมีหนึ่งในรูปแบบต่อไป +DownloadEmptyExample=ดาวน์โหลดตัวอย่างของแฟ้มแหล่งที่ว่างเปล่า +ChooseFormatOfFileToImport=เลือกรูปแบบไฟล์ที่จะใช้เป็นรูปแบบไฟล์ที่นำเข้าโดยการคลิกที่ picto% s เพื่อเลือก ... +ChooseFileToImport=อัปโหลดไฟล์แล้วคลิกที่ s picto% เพื่อเลือกแฟ้มเป็นไฟล์นำเข้าแหล่งที่มา ... +SourceFileFormat=แหล่งที่มาของรูปแบบไฟล์ +FieldsInSourceFile=เขตข้อมูลในแฟ้มแหล่งที่มา +FieldsInTargetDatabase=สาขาเป้าหมายในฐานข้อมูล Dolibarr (ตัวหนา = บังคับ) +Field=สนาม +NoFields=ไม่มีสาขา +MoveField=คอลัมน์ย้ายสนามจำนวน% s ExampleOfImportFile=Example_of_import_file -SaveImportProfile=Save this import profile -ErrorImportDuplicateProfil=Failed to save this import profile with this name. An existing profile already exists with this name. -ImportSummary=Import setup summary -TablesTarget=Targeted tables -FieldsTarget=Targeted fields -TableTarget=Targeted table -FieldTarget=Targeted field -FieldSource=Source field -DoNotImportFirstLine=Do not import first line of source file -NbOfSourceLines=Number of lines in source file -NowClickToTestTheImport=Check import parameters you have defined. If they are correct, click on button "%s" to launch a simulation of import process (no data will be changed in your database, it's only a simulation for the moment)... -RunSimulateImportFile=Launch the import simulation -FieldNeedSource=This field requires data from the source file -SomeMandatoryFieldHaveNoSource=Some mandatory fields have no source from data file -InformationOnSourceFile=Information on source file -InformationOnTargetTables=Information on target fields -SelectAtLeastOneField=Switch at least one source field in the column of fields to export -SelectFormat=Choose this import file format -RunImportFile=Launch import file -NowClickToRunTheImport=Check result of import simulation. If everything is ok, launch the definitive import. -DataLoadedWithId=All data will be loaded with the following import id: %s -ErrorMissingMandatoryValue=Mandatory data is empty in source file for field %s. -TooMuchErrors=There is still %s other source lines with errors but output has been limited. -TooMuchWarnings=There is still %s other source lines with warnings but output has been limited. -EmptyLine=Empty line (will be discarded) -CorrectErrorBeforeRunningImport=You must first correct all errors before running definitive import. -FileWasImported=File was imported with number %s. -YouCanUseImportIdToFindRecord=You can find all imported records in your database by filtering on field import_key='%s'. -NbOfLinesOK=Number of lines with no errors and no warnings: %s. -NbOfLinesImported=Number of lines successfully imported: %s. -DataComeFromNoWhere=Value to insert comes from nowhere in source file. -DataComeFromFileFieldNb=Value to insert comes from field number %s in source file. -DataComeFromIdFoundFromRef=Value that comes from field number %s of source file will be used to find id of parent object to use (So the objet %s that has the ref. from source file must exists into Dolibarr). -DataComeFromIdFoundFromCodeId=Code that comes from field number %s of source file will be used to find id of parent object to use (So the code from source file must exists into dictionary %s). Note that if you know id, you can also use it into source file instead of code. Import should work in both cases. -DataIsInsertedInto=Data coming from source file will be inserted into the following field: -DataIDSourceIsInsertedInto=The id of parent object found using the data in source file, will be inserted into the following field: -DataCodeIDSourceIsInsertedInto=The id of parent line found from code, will be inserted into following field: -SourceRequired=Data value is mandatory -SourceExample=Example of possible data value -ExampleAnyRefFoundIntoElement=Any ref found for element %s -ExampleAnyCodeOrIdFoundIntoDictionary=Any code (or id) found into dictionary %s -CSVFormatDesc=Comma Separated Value file format (.csv).
This is a text file format where fields are separated by separator [ %s ]. If separator is found inside a field content, field is rounded by round character [ %s ]. Escape character to escape round character is [ %s ]. -Excel95FormatDesc=Excel file format (.xls)
This is native Excel 95 format (BIFF5). -Excel2007FormatDesc=Excel file format (.xlsx)
This is native Excel 2007 format (SpreadsheetML). -TsvFormatDesc=Tab Separated Value file format (.tsv)
This is a text file format where fields are separated by a tabulator [tab]. -ExportFieldAutomaticallyAdded=Field %s was automatically added. It will avoid you to have similar lines to be treated as duplicate records (with this field added, all lines will own their own id and will differ). -CsvOptions=Csv Options -Separator=Separator -Enclosure=Enclosure -SuppliersProducts=Suppliers Products -BankCode=Bank code -DeskCode=Desk code -BankAccountNumber=Account number -BankAccountNumberKey=Key -SpecialCode=Special code -ExportStringFilter=%% allows replacing one or more characters in the text -ExportDateFilter=YYYY, YYYYMM, YYYYMMDD : filters by one year/month/day
YYYY+YYYY, YYYYMM+YYYYMM, YYYYMMDD+YYYYMMDD : filters over a range of years/months/days
> YYYY, > YYYYMM, > YYYYMMDD : filters on all following years/months/days
< YYYY, < YYYYMM, < YYYYMMDD : filters on all previous years/months/days -ExportNumericFilter='NNNNN' filters by one value
'NNNNN+NNNNN' filters over a range of values
'>NNNNN' filters by lower values
'>NNNNN' filters by higher values +SaveImportProfile=บันทึกรายละเอียดการนำเข้านี้ +ErrorImportDuplicateProfil=ไม่สามารถบันทึกรายละเอียดการนำเข้านี้กับชื่อนี้ โปรไฟล์ที่มีอยู่แล้วกับชื่อนี้ +ImportSummary=นำเข้าสรุปการติดตั้ง +TablesTarget=ตารางกำหนดเป้​​าหมาย +FieldsTarget=สาขาที่กำหนดเป้​​าหมาย +TableTarget=ตารางกำหนดเป้​​าหมาย +FieldTarget=เขตกำหนดเป้​​าหมาย +FieldSource=ด้านแหล่งที่มา +DoNotImportFirstLine=อย่านำเข้าบรรทัดแรกของแฟ้มแหล่งที่มา +NbOfSourceLines=จำนวนบรรทัดในแฟ้มแหล่งที่มา +NowClickToTestTheImport=นำเข้าตรวจสอบพารามิเตอร์ที่คุณได้กำหนดไว้ หากพวกเขาถูกต้องคลิกที่ปุ่ม "% s" ที่จะเปิดตัวแบบจำลองของกระบวนการนำเข้า (ไม่มีข้อมูลที่จะมีการเปลี่ยนแปลงในฐานข้อมูลของคุณเป็นเพียงการจำลองในขณะนั้น) ... +RunSimulateImportFile=เปิดตัวแบบจำลองนำเข้า +FieldNeedSource=สนามนี้ต้องใช้ข้อมูลจากแฟ้มแหล่งที่มา +SomeMandatoryFieldHaveNoSource=บางสาขาบังคับมีแหล่งที่มาจากแฟ้มข้อมูลไม่มี +InformationOnSourceFile=ข้อมูลเกี่ยวกับแฟ้มแหล่งที่มา +InformationOnTargetTables=ข้อมูลเกี่ยวกับสาขาเป้าหมาย +SelectAtLeastOneField=สวิทช์ด้านแหล่งที่มาอย่างน้อยหนึ่งในคอลัมน์ของเขตข้อมูลที่จะส่งออก +SelectFormat=เลือกรูปแบบไฟล์นำเข้านี้ +RunImportFile=เปิดไฟล์นำเข้า +NowClickToRunTheImport=ตรวจสอบผลของการจำลองนำเข้า หากทุกอย่างก็โอเคเปิดนำเข้าที่ชัดเจน +DataLoadedWithId=ข้อมูลทั้งหมดจะเต็มไปด้วยรหัสนำเข้าต่อไปนี้:% s +ErrorMissingMandatoryValue=ข้อมูลที่ได้รับมอบอำนาจเป็นที่ว่างเปล่าในแฟ้มแหล่งที่มาสำหรับเขตข้อมูล% s +TooMuchErrors=ยังคงมี% s เส้นแหล่งที่มาอื่น ๆ ที่มีข้อผิดพลาด แต่การส่งออกได้รับการ จำกัด +TooMuchWarnings=ยังคงมี% s เส้นแหล่งที่มาอื่น ๆ ที่มีคำเตือน แต่การส่งออกได้รับการ จำกัด +EmptyLine=บรรทัดที่ว่างเปล่า (จะถูกยกเลิก) +CorrectErrorBeforeRunningImport=ก่อนอื่นคุณต้องแก้ไขข้อผิดพลาดทั้งหมดก่อนที่จะใช้นำเข้าที่ชัดเจน +FileWasImported=ไฟล์ถูกนำเข้าที่มีจำนวน% s +YouCanUseImportIdToFindRecord=คุณสามารถค้นหาระเบียนที่นำเข้าทั้งหมดในฐานข้อมูลของคุณโดยการกรองในเขต import_key = '% s' +NbOfLinesOK=จำนวนเส้นที่มีข้อผิดพลาดและไม่มีคำเตือน:% s +NbOfLinesImported=จำนวนของเส้นที่นำเข้ามาประสบความสำเร็จ:% s +DataComeFromNoWhere=คุ้มค่าที่จะแทรกมาจากที่ไหนเลยในแฟ้มแหล่งที่มา +DataComeFromFileFieldNb=คุ้มค่าที่จะแทรกมาจากหมายเลขสนาม% ในแฟ้มแหล่งที่มา +DataComeFromIdFoundFromRef=คุ้มค่าที่มาจากหมายเลขสนาม% ของแฟ้มแหล่งที่จะใช้ในการหารหัสของวัตถุแม่ที่จะใช้ (ดังนั้น Objet% s ที่มีการอ้างอิง. จากแฟ้มแหล่งที่มาที่มีอยู่ต้องเข้า Dolibarr) +DataComeFromIdFoundFromCodeId=รหัสที่มาจากหมายเลขสนาม% ของแฟ้มแหล่งที่จะใช้ในการหารหัสของวัตถุแม่ที่จะใช้ (ดังนั้นรหัสจากแฟ้มแหล่งที่มาต้องมีอยู่ลงในพจนานุกรม% s) โปรดทราบว่าถ้าคุณรู้รหัสนี้คุณยังสามารถใช้มันลงไปในแฟ้มแหล่งที่มาแทนรหัส นำเข้าควรจะทำงานในทั้งสองกรณี +DataIsInsertedInto=ข้อมูลที่มาจากแฟ้มแหล่งที่มาจะถูกแทรกเข้าไปในสนามต่อไปนี้: +DataIDSourceIsInsertedInto=รหัสของวัตถุแม่พบโดยใช้ข้อมูลในแฟ้มแหล่งที่มาจะถูกแทรกเข้าไปในสนามต่อไปนี้: +DataCodeIDSourceIsInsertedInto=รหัสของสายผู้ปกครองพบได้จากรหัสจะถูกแทรกเข้าไปในสนามต่อไปนี้: +SourceRequired=ค่าข้อมูลมีผลบังคับใช้ +SourceExample=ตัวอย่างของค่าข้อมูลที่เป็นไปได้ +ExampleAnyRefFoundIntoElement=อ้างอิงใด ๆ ที่พบองค์ประกอบ% s +ExampleAnyCodeOrIdFoundIntoDictionary=รหัสใด ๆ (หรือรหัส) ที่พบลงในพจนานุกรม% s +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=สวน +SuppliersProducts=ผลิตภัณฑ์ซัพพลายเออร์ +BankCode=รหัสธนาคาร +DeskCode=รหัสโต๊ะ +BankAccountNumber=เลขที่บัญชี +BankAccountNumberKey=สำคัญ +SpecialCode=รหัสพิเศษ +ExportStringFilter=%% ช่วยให้แทนที่ตัวอักษรหนึ่งหรือมากกว่าหนึ่งในข้อความ +ExportDateFilter=ปปปป YYYYMM, YYYYMMDD: กรองโดยหนึ่งปี / เดือน / วัน
ปปปปปปปป +, YYYYMM + YYYYMM, YYYYMMDD + YYYYMMDD: กรองในช่วงปี / เดือน / วัน
> ปปปป> YYYYMM> YYYYMMDD: กรองต่อไปนี้ในทุกปี / เดือน / วัน
<ปปปป 'nnnnn + nnnnn' ตัวกรองในช่วงของค่า
'> nnnnn' ตัวกรองโดยค่าที่ต่ำกว่า
'> nnnnn' ตัวกรองโดยค่าที่สูงขึ้น ## filters -SelectFilterFields=If you want to filter on some values, just input values here. +SelectFilterFields=หากคุณต้องการที่จะกรองบางค่าเพียงค่าที่ป้อนเข้าที่นี่ FilterableFields=Champs Filtrables -FilteredFields=Filtered fields -FilteredFieldsValues=Value for filter +FilteredFields=สาขากรอง +FilteredFieldsValues=ราคากรอง diff --git a/htdocs/langs/th_TH/externalsite.lang b/htdocs/langs/th_TH/externalsite.lang index da4853df0df..fcb010a6ab3 100644 --- a/htdocs/langs/th_TH/externalsite.lang +++ b/htdocs/langs/th_TH/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 -ExternalSiteModuleNotComplete=Module ExternalSite was not configured properly. -ExampleMyMenuEntry=My menu entry +ExternalSiteSetup=การติดตั้งการเชื่อมโยงไปยังเว็บไซต์ภายนอก +ExternalSiteURL=URL ของเว็บไซต์ภายนอก +ExternalSiteModuleNotComplete=โมดูล ExternalSite ไม่ได้กำหนดค่าอย่างถูกต้อง +ExampleMyMenuEntry=รายการเมนู diff --git a/htdocs/langs/th_TH/ftp.lang b/htdocs/langs/th_TH/ftp.lang index 9984ce689ee..5e0e8f85b2a 100644 --- a/htdocs/langs/th_TH/ftp.lang +++ b/htdocs/langs/th_TH/ftp.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - ftp -FTPClientSetup=FTP Client module setup -NewFTPClient=New FTP connection setup -FTPArea=FTP Area -FTPAreaDesc=This screen show you content of a FTP server view -SetupOfFTPClientModuleNotComplete=Setup of FTP client module seems to be not complete -FTPFeatureNotSupportedByYourPHP=Your PHP does not support FTP functions -FailedToConnectToFTPServer=Failed to connect to FTP server (server %s, port %s) -FailedToConnectToFTPServerWithCredentials=Failed to login to FTP server with defined login/password -FTPFailedToRemoveFile=Failed to remove file %s. -FTPFailedToRemoveDir=Failed to remove directory %s (Check permissions and that directory is empty). -FTPPassiveMode=Passive mode +FTPClientSetup=การติดตั้งโมดูล FTP ไคลเอนต์ +NewFTPClient=การตั้งค่าการเชื่อมต่อใหม่ FTP +FTPArea=พื้นที่ FTP +FTPAreaDesc=หน้าจอนี้จะแสดงให้คุณเห็นเนื้อหาในมุมมองของ FTP เซิร์ฟเวอร์ +SetupOfFTPClientModuleNotComplete=การติดตั้งโมดูลลูกค้า FTP ดูเหมือนว่าจะไม่สมบูรณ์ +FTPFeatureNotSupportedByYourPHP=PHP ของคุณไม่สนับสนุนฟังก์ชั่น FTP +FailedToConnectToFTPServer=ล้มเหลวในการเชื่อมต่อกับเซิร์ฟเวอร์ FTP (เซิร์ฟเวอร์% s พอร์ต% s) +FailedToConnectToFTPServerWithCredentials=ล้มเหลวในการเข้าสู่เซิร์ฟเวอร์ FTP ที่มีกำหนดเข้าสู่ระบบ / รหัสผ่าน +FTPFailedToRemoveFile=ไม่สามารถลบไฟล์% s +FTPFailedToRemoveDir=ไม่สามารถลบไดเรกทอรี% s (สิทธิ์ตรวจสอบไดเรกทอรีที่ว่างเปล่า) +FTPPassiveMode=โหมด Passive diff --git a/htdocs/langs/th_TH/help.lang b/htdocs/langs/th_TH/help.lang index 1bbd6e94f03..fb12f4d1a60 100644 --- a/htdocs/langs/th_TH/help.lang +++ b/htdocs/langs/th_TH/help.lang @@ -1,28 +1,28 @@ # Dolibarr language file - Source file is en_US - help -CommunitySupport=Forum/Wiki support -EMailSupport=Emails support -RemoteControlSupport=Online real time / remote support -OtherSupport=Other support -ToSeeListOfAvailableRessources=To contact/see available resources: -ClickHere=Click here -HelpCenter=Help center -DolibarrHelpCenter=Dolibarr help and support center -ToGoBackToDolibarr=Otherwise, click here to use Dolibarr -TypeOfSupport=Source of support -TypeSupportCommunauty=Community (free) -TypeSupportCommercial=Commercial -TypeOfHelp=Type -NeedHelpCenter=Need help or support ? -Efficiency=Efficiency -TypeHelpOnly=Help only -TypeHelpDev=Help+Development -TypeHelpDevForm=Help+Development+Formation -ToGetHelpGoOnSparkAngels1=Some companies can provide a fast (sometime immediate) and more efficient online support by taking control of your computer. Such helpers can be found on %s web site: -ToGetHelpGoOnSparkAngels3=You can also go to the list of all available coaches for Dolibarr, for this click on button -ToGetHelpGoOnSparkAngels2=Sometimes, there is no company available at the moment you make your search, so think to change the filter to look for "all availability". You will be able to send more requests. -BackToHelpCenter=Otherwise, click here to go back to help center home page. -LinkToGoldMember=You can call one of the coach preselected by Dolibarr for your language (%s) by clicking his Widget (status and maximum price are automatically updated): -PossibleLanguages=Supported languages -MakeADonation=Help Dolibarr project, make a donation -SubscribeToFoundation=Help Dolibarr project, subscribe to the foundation -SeeOfficalSupport=For official Dolibarr support in your language:
%s +CommunitySupport=ฟอรั่มการสนับสนุน / วิกิพีเดีย +EMailSupport=สนับสนุนอีเมล์ +RemoteControlSupport=ออนไลน์เรียลไทม์ / สนับสนุนระยะไกล +OtherSupport=การสนับสนุนอื่น ๆ +ToSeeListOfAvailableRessources=หากต้องการติดต่อ / ดูทรัพยากรที่มีอยู่: +ClickHere=คลิกที่นี่ +HelpCenter=ศูนย์ช่วยเหลือ +DolibarrHelpCenter=ช่วยเหลือ Dolibarr และศูนย์การสนับสนุน +ToGoBackToDolibarr=หรือคลิก ที่นี่เพื่อใช้ Dolibarr +TypeOfSupport=แหล่งที่มาของการสนับสนุน +TypeSupportCommunauty=ชุมชน (ฟรี) +TypeSupportCommercial=เชิงพาณิชย์ +TypeOfHelp=ชนิด +NeedHelpCenter=ต้องการความช่วยเหลือหรือการสนับสนุน? +Efficiency=ประสิทธิภาพ +TypeHelpOnly=ช่วยเหลือเท่านั้น +TypeHelpDev=ความช่วยเหลือ + พัฒนา +TypeHelpDevForm=ความช่วยเหลือ + + การพัฒนาสร้าง +ToGetHelpGoOnSparkAngels1=บาง บริษัท สามารถให้บริการได้อย่างรวดเร็ว (บางครั้งทันที) และมีประสิทธิภาพมากขึ้นการสนับสนุนทางออนไลน์โดยการควบคุมของเครื่องคอมพิวเตอร์ของคุณ ช่วยเหลือดังกล่าวสามารถพบได้บน% s เว็บไซต์: +ToGetHelpGoOnSparkAngels3=นอกจากนี้คุณยังสามารถไปที่รายชื่อของโค้ชที่มีอยู่ทั้งหมดสำหรับ Dolibarr สำหรับนี้คลิกที่ปุ่ม +ToGetHelpGoOnSparkAngels2=บางครั้งไม่มี บริษัท ที่มีอยู่ในช่วงเวลาที่คุณให้การค้นหาของคุณจึงคิดที่จะเปลี่ยนแปลงตัวกรองที่จะมองหา "ทั้งหมดพร้อมใช้งาน" คุณจะสามารถที่จะส่งคำขอเพิ่มเติม +BackToHelpCenter=หรือคลิกที่นี่เพื่อไป กลับไปช่วยหน้าบ้านศูนย์ +LinkToGoldMember=คุณสามารถเรียกหนึ่งในโค้ชไว้ล่วงหน้าโดย Dolibarr สำหรับภาษาของคุณ (% s) โดยคลิกที่เครื่องมือของเขา (สถานะและราคาสูงสุดที่มีการปรับปรุงโดยอัตโนมัติ): +PossibleLanguages=ภาษาที่รองรับ +MakeADonation=ช่วยเหลือโครงการ Dolibarr ให้บริจาค +SubscribeToFoundation=ช่วยเหลือโครงการ Dolibarr สมัครให้กับมูลนิธิ +SeeOfficalSupport=สำหรับการสนับสนุนอย่างเป็นทางการ Dolibarr ในภาษาของคุณ:
% s diff --git a/htdocs/langs/th_TH/holiday.lang b/htdocs/langs/th_TH/holiday.lang index f5b87fefb08..5506c708618 100644 --- a/htdocs/langs/th_TH/holiday.lang +++ b/htdocs/langs/th_TH/holiday.lang @@ -1,148 +1,148 @@ # Dolibarr language file - Source file is en_US - holiday -HRM=HRM -Holidays=Leaves -CPTitreMenu=Leaves -MenuReportMonth=Monthly statement -MenuAddCP=Make a leave request -NotActiveModCP=You must enable the module Leaves to view this page. -NotConfigModCP=You must configure the module Leaves to view this page. To do this, click here . -NoCPforUser=You don't have any available day. -AddCP=Make a leave request -Employe=Employee -DateDebCP=Start date -DateFinCP=End date -DateCreateCP=Creation date -DraftCP=Draft -ToReviewCP=Awaiting approval -ApprovedCP=Approved -CancelCP=Canceled -RefuseCP=Refused +HRM=ระบบบริหารจัดการทรัพยากรบุคคล +Holidays=ใบลา +CPTitreMenu=ใบลา +MenuReportMonth=คำสั่งรายเดือน +MenuAddCP=ขอลา +NotActiveModCP=คุณต้องเปิดใบโมดูลเพื่อดูหน้านี้ +NotConfigModCP=คุณต้องกำหนดค่าใบโมดูลเพื่อดูหน้านี้ การทำเช่นนี้ คลิกที่นี่ . +NoCPforUser=คุณไม่ได้มีวันใด ๆ +AddCP=ขอลา +Employe=ลูกจ้าง +DateDebCP=วันที่เริ่มต้น +DateFinCP=วันที่สิ้นสุด +DateCreateCP=วันที่สร้าง +DraftCP=ร่าง +ToReviewCP=รอการอนุมัติ +ApprovedCP=ได้รับการอนุมัติ +CancelCP=ยกเลิก +RefuseCP=ปฏิเสธ ValidatorCP=Approbator -ListeCP=List of leaves -ReviewedByCP=Will be reviewed by -DescCP=Description -SendRequestCP=Create leave request -DelayToRequestCP=Leave requests must be made at least %s day(s) before them. -MenuConfCP=Edit balance of leaves -UpdateAllCP=Update the leaves -SoldeCPUser=Leaves balance is %s days. -ErrorEndDateCP=You must select an end date greater than the start date. -ErrorSQLCreateCP=An SQL error occurred during the creation: -ErrorIDFicheCP=An error has occurred, the leave request does not exist. -ReturnCP=Return to previous page -ErrorUserViewCP=You are not authorized to read this leave request. -InfosCP=Information of the leave request -InfosWorkflowCP=Information Workflow -RequestByCP=Requested by -TitreRequestCP=Leave request -NbUseDaysCP=Number of days of vacation consumed -EditCP=Edit -DeleteCP=Delete -ActionValidCP=Validate -ActionRefuseCP=Refuse -ActionCancelCP=Cancel -StatutCP=Status -SendToValidationCP=Send to validation -TitleDeleteCP=Delete the leave request -ConfirmDeleteCP=Confirm the deletion of this leave request? -ErrorCantDeleteCP=Error you don't have the right to delete this leave request. -CantCreateCP=You don't have the right to make leave requests. -InvalidValidatorCP=You must choose an approbator to your leave request. -CantUpdate=You cannot update this leave request. -NoDateDebut=You must select a start date. -NoDateFin=You must select an end date. -ErrorDureeCP=Your leave request does not contain working day. -TitleValidCP=Approve the leave request -ConfirmValidCP=Are you sure you want to approve the leave request? -DateValidCP=Date approved -TitleToValidCP=Send leave request -ConfirmToValidCP=Are you sure you want to send the leave request? -TitleRefuseCP=Refuse the leave request -ConfirmRefuseCP=Are you sure you want to refuse the leave request? -NoMotifRefuseCP=You must choose a reason for refusing the request. -TitleCancelCP=Cancel the leave request -ConfirmCancelCP=Are you sure you want to cancel the leave request? -DetailRefusCP=Reason for refusal -DateRefusCP=Date of refusal -DateCancelCP=Date of cancellation -DefineEventUserCP=Assign an exceptional leave for a user -addEventToUserCP=Assign leave -MotifCP=Reason -UserCP=User -ErrorAddEventToUserCP=An error occurred while adding the exceptional leave. -AddEventToUserOkCP=The addition of the exceptional leave has been completed. -MenuLogCP=View logs of leave requests -LogCP=Log of updates of available vacation days -ActionByCP=Performed by -UserUpdateCP=For the user -PrevSoldeCP=Previous Balance -NewSoldeCP=New Balance -alreadyCPexist=A leave request has already been done on this period. -UserName=Name -Employee=Employee -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation -HolidaysMonthlyUpdate=Monthly update -ManualUpdate=Manual update -HolidaysCancelation=Leave request cancelation +ListeCP=รายการของใบ +ReviewedByCP=จะถูกตรวจสอบโดย +DescCP=ลักษณะ +SendRequestCP=สร้างการร้องขอลา +DelayToRequestCP=ออกจากการร้องขอจะต้องทำอย่างน้อย% s วัน (s) ก่อนหน้าพวกเขา +MenuConfCP=แก้ไขความสมดุลของใบ +UpdateAllCP=อัพเดทใบ +SoldeCPUser=สมดุลใบเป็น% s วัน +ErrorEndDateCP=คุณต้องเลือกวันที่สิ้นสุดมากกว่าวันที่เริ่มต้น +ErrorSQLCreateCP=ข้อผิดพลาดที่เกิดขึ้นในช่วง SQL สร้าง: +ErrorIDFicheCP=เกิดข้อผิดพลาดขอลาไม่อยู่ +ReturnCP=กลับไปยังหน้าก่อนหน้า +ErrorUserViewCP=คุณยังไม่ได้รับอนุญาตให้อ่านคำขอลานี้ +InfosCP=ข้อมูลการขอลา +InfosWorkflowCP=ข้อมูลเวิร์กโฟลว์ +RequestByCP=การร้องขอจาก +TitreRequestCP=คำขอฝาก +NbUseDaysCP=จำนวนวันของวันหยุดบริโภค +EditCP=แก้ไข +DeleteCP=ลบ +ActionValidCP=ตรวจสอบ +ActionRefuseCP=ปฏิเสธ +ActionCancelCP=ยกเลิก +StatutCP=สถานะ +SendToValidationCP=ส่งให้ตรวจสอบ +TitleDeleteCP=ลบคำขอลา +ConfirmDeleteCP=ยืนยันการลบคำขอออกจากนี้หรือไม่? +ErrorCantDeleteCP=ข้อผิดพลาดของคุณไม่ได้มีสิทธิ์ในการลบคำขอลานี้ +CantCreateCP=คุณไม่ได้มีสิทธิที่จะขอลา +InvalidValidatorCP=คุณต้องเลือก approbator การร้องขอการลาของคุณ +CantUpdate=คุณไม่สามารถปรับปรุงคำขอลานี้ +NoDateDebut=คุณต้องเลือกวันที่เริ่มต้น +NoDateFin=คุณต้องเลือกวันที่สิ้นสุด +ErrorDureeCP=คำขอลาของคุณไม่ได้มีวันทำงาน +TitleValidCP=อนุมัติคำขอลา +ConfirmValidCP=คุณแน่ใจว่าคุณต้องการที่จะอนุมัติคำขอลา? +DateValidCP=วันที่ได้รับการอนุมัติ +TitleToValidCP=ส่งคำขอร้องลา +ConfirmToValidCP=คุณแน่ใจว่าคุณต้องการที่จะส่งคำขอลา? +TitleRefuseCP=ปฏิเสธคำขอลา +ConfirmRefuseCP=คุณแน่ใจหรือว่าต้องการที่จะปฏิเสธคำขอลา? +NoMotifRefuseCP=คุณต้องเลือกเหตุผลสำหรับการปฏิเสธการร้องขอ +TitleCancelCP=ยกเลิกการขอลา +ConfirmCancelCP=คุณแน่ใจว่าคุณต้องการที่จะยกเลิกการขอลาหรือไม่ +DetailRefusCP=เหตุผลในการปฏิเสธ +DateRefusCP=วันที่ของการปฏิเสธ +DateCancelCP=วันที่มีการยกเลิก +DefineEventUserCP=กำหนดลาพิเศษสำหรับผู้ใช้ +addEventToUserCP=กำหนดออกจาก +MotifCP=เหตุผล +UserCP=ผู้ใช้งาน +ErrorAddEventToUserCP=เกิดข้อผิดพลาดในขณะที่เพิ่มการลาพิเศษ +AddEventToUserOkCP=นอกเหนือจากการลาพิเศษเสร็จเรียบร้อยแล้ว +MenuLogCP=ดูปูมของการร้องขอลา +LogCP=เข้าสู่ระบบการปรับปรุงวันวันหยุดใช้ได้ +ActionByCP=ดำเนินการโดย +UserUpdateCP=สำหรับผู้ใช้ +PrevSoldeCP=คงเหลือก่อนหน้า +NewSoldeCP=นิวบาลานซ์ +alreadyCPexist=คำขอลาได้ทำไปแล้วในเวลานี้ +UserName=ชื่อ +Employee=ลูกจ้าง +FirstDayOfHoliday=วันแรกของวันหยุด +LastDayOfHoliday=วันสุดท้ายของวันหยุด +HolidaysMonthlyUpdate=การปรับปรุงรายเดือน +ManualUpdate=การปรับปรุงคู่มือการใช้งาน +HolidaysCancelation=ออกจากคำขอยกเลิก ## Configuration du Module ## -ConfCP=Configuration of leave request module -DescOptionCP=Description of the option -ValueOptionCP=Value -GroupToValidateCP=Group with the ability to approve leave requests -ConfirmConfigCP=Validate the configuration -LastUpdateCP=Last automatic update of leaves allocation -UpdateConfCPOK=Updated successfully. -ErrorUpdateConfCP=An error occurred during the update, please try again. -AddCPforUsers=Please add the balance of leaves allocation of users by clicking here. -DelayForSubmitCP=Deadline to make a leave requests -AlertapprobatortorDelayCP=Prevent the approbator if the leave request does not match the deadline -AlertValidatorDelayCP=Préevent the approbator if the leave request exceed delay -AlertValidorSoldeCP=Prevent the approbator if the leave request exceed the balance -nbUserCP=Number of users supported in the module Leaves -nbHolidayDeductedCP=Number of leave days to be deducted per day of vacation taken -nbHolidayEveryMonthCP=Number of leave days added every month -Module27130Name= Management of leave requests -Module27130Desc= Management of leave requests -TitleOptionMainCP=Main settings of leave request -TitleOptionEventCP=Settings of leave requets for events -ValidEventCP=Validate -UpdateEventCP=Update events -CreateEventCP=Create -NameEventCP=Event name -OkCreateEventCP=The addition of the event went well. -ErrorCreateEventCP=Error creating the event. -UpdateEventOkCP=The update of the event went well. -ErrorUpdateEventCP=Error while updating the event. -DeleteEventCP=Delete Event -DeleteEventOkCP=The event has been deleted. -ErrorDeleteEventCP=Error while deleting the event. -TitleDeleteEventCP=Delete a exceptional leave -TitleCreateEventCP=Create a exceptional leave -TitleUpdateEventCP=Edit or delete a exceptional leave -DeleteEventOptionCP=Delete -UpdateEventOptionCP=Update -ErrorMailNotSend=An error occurred while sending email: -NoCPforMonth=No leave this month. -nbJours=Number days -TitleAdminCP=Configuration of Leaves +ConfCP=การกำหนดค่าของโมดูลคำขอลา +DescOptionCP=คำอธิบายของตัวเลือก +ValueOptionCP=มูลค่า +GroupToValidateCP=กลุ่มที่มีความสามารถในการอนุมัติการร้องขอลา +ConfirmConfigCP=ตรวจสอบการตั้งค่า +LastUpdateCP=การปรับปรุงอัตโนมัติล่าสุดของการจัดสรรใบ +UpdateConfCPOK=ปรับปรุงเรียบร้อยแล้ว +ErrorUpdateConfCP=เกิดข้อผิดพลาดในระหว่างการปรับปรุงโปรดลองอีกครั้ง +AddCPforUsers=โปรดเพิ่มความสมดุลของการจัดสรรใบของผู้ใช้โดย การคลิ๊กที่นี่ +DelayForSubmitCP=กำหนดเวลาที่จะทำให้การร้องขอลา +AlertapprobatortorDelayCP=ป้องกัน approbator ถ้าขอลาไม่ตรงกับกำหนดเส้นตาย +AlertValidatorDelayCP=Préevent approbator ถ้าขอลาเกินความล่าช้า +AlertValidorSoldeCP=ป้องกัน approbator ถ้าขอลาเกินสมดุล +nbUserCP=จำนวนผู้ใช้สนับสนุนในใบโมดูล +nbHolidayDeductedCP=จำนวนวันลาที่จะถูกหักออกต่อวันของวันหยุดถ่าย +nbHolidayEveryMonthCP=จำนวนวันลาเพิ่มทุกเดือน +Module27130Name= การบริหารจัดการของการร้องขอลา +Module27130Desc= การบริหารจัดการของการร้องขอลา +TitleOptionMainCP=การตั้งค่าหลักของการร้องขอลา +TitleOptionEventCP=การตั้งค่าของ requets ลาสำหรับการจัดกิจกรรม +ValidEventCP=ตรวจสอบ +UpdateEventCP=เหตุการณ์การปรับปรุง +CreateEventCP=สร้าง +NameEventCP=ชื่อเหตุการณ์ +OkCreateEventCP=นอกเหนือจากการจัดงานเป็นไปด้วยดี +ErrorCreateEventCP=ข้อผิดพลาดในการสร้างเหตุการณ์ +UpdateEventOkCP=การปรับปรุงการจัดงานเป็นไปด้วยดี +ErrorUpdateEventCP=ข้อผิดพลาดในขณะที่การปรับปรุงการจัดงาน +DeleteEventCP=ลบเหตุการณ์ +DeleteEventOkCP=เหตุการณ์ได้ถูกลบไปแล้ว +ErrorDeleteEventCP=ข้อผิดพลาดขณะลบเหตุการณ์ +TitleDeleteEventCP=ลบออกจากที่โดดเด่น +TitleCreateEventCP=สร้างลาพิเศษ +TitleUpdateEventCP=แก้ไขหรือลบออกจากที่โดดเด่น +DeleteEventOptionCP=ลบ +UpdateEventOptionCP=ปรับปรุง +ErrorMailNotSend=เกิดข้อผิดพลาดขณะที่การส่งอีเมล์ +NoCPforMonth=ไม่มีออกในเดือนนี้ +nbJours=จำนวนวัน +TitleAdminCP=การกำหนดค่าของใบ #Messages -Hello=Hello -HolidaysToValidate=Validate leave requests -HolidaysToValidateBody=Below is a leave request to validate -HolidaysToValidateDelay=This leave request will take place within a period of less than %s days. -HolidaysToValidateAlertSolde=The user who made this leave reques do not have enough available days. -HolidaysValidated=Validated leave requests -HolidaysValidatedBody=Your leave request for %s to %s has been validated. -HolidaysRefused=Request denied -HolidaysRefusedBody=Your leave request for %s to %s has been denied for the following reason : -HolidaysCanceled=Canceled leaved request -HolidaysCanceledBody=Your leave request for %s to %s has been canceled. -Permission20000=Read you own leave requests -Permission20001=Create/modify your leave requests -Permission20002=Create/modify leave requests for everybody -Permission20003=Delete leave requests -Permission20004=Setup users available vacation days -Permission20005=Review log of modified leave requests -Permission20006=Read leaves monthly report +Hello=สวัสดี +HolidaysToValidate=ตรวจสอบการร้องขอลา +HolidaysToValidateBody=ด้านล่างคำขอลาในการตรวจสอบคือ +HolidaysToValidateDelay=คำขอลานี้จะเกิดขึ้นภายในระยะเวลาน้อยกว่า% s วัน +HolidaysToValidateAlertSolde=ผู้ใช้ที่ทำนี้ออกจากข้อความร้องขอไม่ได้มีวันที่เพียงพอ +HolidaysValidated=การตรวจสอบการร้องขอลา +HolidaysValidatedBody=คำขอลาสำหรับ% s% s ได้รับการตรวจสอบ +HolidaysRefused=ขอปฏิเสธ +HolidaysRefusedBody=คำขอลาสำหรับ% s% s ได้รับการปฏิเสธด้วยเหตุผลต่อไปนี้: +HolidaysCanceled=ยกเลิกคำขอใบ +HolidaysCanceledBody=คำขอลาสำหรับ% s% s ได้ถูกยกเลิก +Permission20000=อ่านที่คุณเป็นเจ้าของร้องขอลา +Permission20001=สร้าง / แก้ไขการร้องขอการลาของคุณ +Permission20002=สร้าง / แก้ไขการร้องขอลาสำหรับทุกคน +Permission20003=ลบออกจากการร้องขอ +Permission20004=ผู้ใช้ติดตั้งวันวันหยุดใช้ได้ +Permission20005=บันทึกความคิดเห็นของการร้องขอการลาการแก้ไข +Permission20006=อ่านใบรายงานรายเดือน diff --git a/htdocs/langs/th_TH/incoterm.lang b/htdocs/langs/th_TH/incoterm.lang new file mode 100644 index 00000000000..fe2e3886c9d --- /dev/null +++ b/htdocs/langs/th_TH/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=เพิ่มคุณสมบัติในการจัดการ Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=ลักษณะ +IncotermSetupTitle2=สถานะ +IncotermSetup=การติดตั้งโมดูล Incoterm +IncotermFunctionDesc=เปิดใช้งานคุณสมบัติ Incoterm (Thirdparty, ข้อเสนอ, สั่งซื้อของลูกค้า, ใบแจ้งหนี้ของลูกค้า, การจัดส่งคำสั่งผลิต) diff --git a/htdocs/langs/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index dcd8df6e7db..9f80252111c 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -1,214 +1,215 @@ # Dolibarr language file - Source file is en_US - install -InstallEasy=Just follow the instructions step by step. -MiscellaneousChecks=Prerequisites check -DolibarrWelcome=Welcome to Dolibarr -ConfFileExists=Configuration file %s exists. -ConfFileDoesNotExists=Configuration file %s does not exist ! -ConfFileDoesNotExistsAndCouldNotBeCreated=Configuration file %s does not exist and could not be created ! -ConfFileCouldBeCreated=Configuration file %s could be created. -ConfFileIsNotWritable=Configuration file %s is not writable. Check permissions. For first install, your web server must be granted to be able to write into this file during configuration process ("chmod 666" for example on a Unix like OS). -ConfFileIsWritable=Configuration file %s is writable. -ConfFileReload=Reload all information from configuration file. -PHPSupportSessions=This PHP supports sessions. -PHPSupportPOSTGETOk=This PHP supports variables POST and GET. -PHPSupportPOSTGETKo=It's possible your PHP setup does not support variables POST and/or GET. Check your parameter variables_order in php.ini. -PHPSupportGD=This PHP support GD graphical functions. -PHPSupportUTF8=This PHP support UTF8 functions. -PHPMemoryOK=Your PHP max session memory is set to %s. This should be enough. -PHPMemoryTooLow=Your PHP max session memory is set to %s bytes. This should be too low. Change your php.ini to set memory_limit parameter to at least %s bytes. -Recheck=Click here for a more significative test -ErrorPHPDoesNotSupportSessions=Your PHP installation does not support sessions. This feature is required to make Dolibarr working. Check your PHP setup. -ErrorPHPDoesNotSupportGD=Your PHP installation does not support graphical function GD. No graph will be available. -ErrorPHPDoesNotSupportUTF8=Your PHP installation does not support UTF8 functions. Dolibarr can't work correctly. Solve this before installing Dolibarr. -ErrorDirDoesNotExists=Directory %s does not exist. -ErrorGoBackAndCorrectParameters=Go backward and correct wrong parameters. -ErrorWrongValueForParameter=You may have typed a wrong value for parameter '%s'. -ErrorFailedToCreateDatabase=Failed to create database '%s'. -ErrorFailedToConnectToDatabase=Failed to connect to database '%s'. -ErrorDatabaseVersionTooLow=Database version (%s) too old. Version %s or higher is required. -ErrorPHPVersionTooLow=PHP version too old. Version %s is required. -WarningPHPVersionTooLow=PHP version too old. Version %s or more is expected. This version should allow install but is not supported. -ErrorConnectedButDatabaseNotFound=Connection to server successfull but database '%s' not found. -ErrorDatabaseAlreadyExists=Database '%s' already exists. -IfDatabaseNotExistsGoBackAndUncheckCreate=If database does not exists, go back and check option "Create database". -IfDatabaseExistsGoBackAndCheckCreate=If database already exists, go back and uncheck "Create database" option. -WarningBrowserTooOld=Too old version of browser. Upgrading your browser to a recent version of Firefox, Chrome or Opera is highly recommanded. -PHPVersion=PHP Version -YouCanContinue=You can continue... -PleaseBePatient=Please be patient... -License=Using license -ConfigurationFile=Configuration file -WebPagesDirectory=Directory where web pages are stored -DocumentsDirectory=Directory to store uploaded and generated documents -URLRoot=URL Root -ForceHttps=Force secure connections (https) -CheckToForceHttps=Check this option to force secure connections (https).
This requires that the web server is configured with an SSL certificate. -DolibarrDatabase=Dolibarr Database -DatabaseChoice=Database choice -DatabaseType=Database type -DriverType=Driver type -Server=Server -ServerAddressDescription=Name or ip address for database server, usually 'localhost' when database server is hosted on same server than web server -ServerPortDescription=Database server port. Keep empty if unknown. -DatabaseServer=Database server -DatabaseName=Database name -DatabasePrefix=Database prefix table -Login=Login -AdminLogin=Login for Dolibarr database owner. -Password=Password -PasswordAgain=Retype password a second time -AdminPassword=Password for Dolibarr database owner. -CreateDatabase=Create database -CreateUser=Create owner -DatabaseSuperUserAccess=Database server - Superuser access -CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. -CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. -Experimental=(experimental) -DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. -KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) -SaveConfigurationFile=Save values -ConfigurationSaving=Saving configuration file -ServerConnection=Server connection -DatabaseConnection=Database connection -DatabaseCreation=Database creation -UserCreation=User creation -CreateDatabaseObjects=Database objects creation -ReferenceDataLoading=Reference data loading -TablesAndPrimaryKeysCreation=Tables and Primary keys creation -CreateTableAndPrimaryKey=Create table %s -CreateOtherKeysForTable=Create foreign keys and indexes for table %s -OtherKeysCreation=Foreign keys and indexes creation -FunctionsCreation=Functions creation -AdminAccountCreation=Administrator login creation -PleaseTypePassword=Please type a password, empty passwords are not allowed ! -PleaseTypeALogin=Please type a login ! -PasswordsMismatch=Passwords differs, please try again ! -SetupEnd=End of setup -SystemIsInstalled=This installation is complete. -SystemIsUpgraded=Dolibarr has been upgraded successfully. -YouNeedToPersonalizeSetup=You need to configure Dolibarr to suit your needs (appearance, features, ...). To do this, please follow the link below: -AdminLoginCreatedSuccessfuly=Dolibarr administrator login '%s' created successfuly. -GoToDolibarr=Go to Dolibarr -GoToSetupArea=Go to Dolibarr (setup area) -MigrationNotFinished=Version of your database is not completely up to date, so you'll have to run the upgrade process again. -GoToUpgradePage=Go to upgrade page again -Examples=Examples -WithNoSlashAtTheEnd=Without the slash "/" at the end -DirectoryRecommendation=It is recommanded to use a directory outside of your directory of your web pages. -LoginAlreadyExists=Already exists -DolibarrAdminLogin=Dolibarr admin login -AdminLoginAlreadyExists=Dolibarr administrator account '%s' already exists. Go back, if you want to create another one. -WarningRemoveInstallDir=Warning, for security reasons, once the install or upgrade is complete, to avoid using install tools again, you should add a file called install.lock into Dolibarr document directory, in order to avoid malicious use of it. -ThisPHPDoesNotSupportTypeBase=This PHP system does not support any interface to access database type %s -FunctionNotAvailableInThisPHP=Not available on this PHP -MigrateScript=Migration script -ChoosedMigrateScript=Choose migration script -DataMigration=Data migration -DatabaseMigration=Structure database migration -ProcessMigrateScript=Script processing -ChooseYourSetupMode=Choose your setup mode and click "Start"... -FreshInstall=Fresh install -FreshInstallDesc=Use this mode if this is your first install. If not, this mode can repair a incomplete previous install, but if you want to upgrade your version, choose "Upgrade" mode. -Upgrade=Upgrade -UpgradeDesc=Use this mode if you have replaced old Dolibarr files with files from a newer version. This will upgrade your database and data. -Start=Start -InstallNotAllowed=Setup not allowed by conf.php permissions -NotAvailable=Not available -YouMustCreateWithPermission=You must create file %s and set write permissions on it for the web server during install process. -CorrectProblemAndReloadPage=Please fix the problem and press F5 to reload page. -AlreadyDone=Already migrated -DatabaseVersion=Database version -ServerVersion=Database server version -YouMustCreateItAndAllowServerToWrite=You must create this directory and allow for the web server to write into it. -CharsetChoice=Character set choice -CharacterSetClient=Character set used for generated HTML web pages -CharacterSetClientComment=Choose character set for web display.
Default proposed character set is the one of your database. -DBSortingCollation=Character sorting order -DBSortingCollationComment=Choose page code that defines character's sorting order used by database. This parameter is also called 'collation' by some databases.
This parameter can't be defined if database already exists. -CharacterSetDatabase=Character set for database -CharacterSetDatabaseComment=Choose character set wanted for database creation.
This parameter can't be defined if database already exists. -YouAskDatabaseCreationSoDolibarrNeedToConnect=You ask to create database %s, but for this, Dolibarr need to connect to server %s with super user %s permissions. -YouAskLoginCreationSoDolibarrNeedToConnect=You ask to create database login %s, but for this, Dolibarr need to connect to server %s with super user %s permissions. -BecauseConnectionFailedParametersMayBeWrong=As connection failed, host or super user parameters must be wrong. -OrphelinsPaymentsDetectedByMethod=Orphans payment detected by method %s -RemoveItManuallyAndPressF5ToContinue=Remove it manually and press F5 to continue. -KeepDefaultValuesWamp=You use the Dolibarr setup wizard from DoliWamp, so values proposed here are already optimized. Change them only if you know what you do. -KeepDefaultValuesDeb=You use the Dolibarr setup wizard from a Linux package (Ubuntu, Debian, Fedora...), so values proposed here are already optimized. Only the password of the database owner to create must be completed. Change other parameters only if you know what you do. -KeepDefaultValuesMamp=You use the Dolibarr setup wizard from DoliMamp, so values proposed here are already optimized. Change them only if you know what you do. -KeepDefaultValuesProxmox=You use the Dolibarr setup wizard from a Proxmox virtual appliance, so values proposed here are already optimized. Change them only if you know what you do. -FieldRenamed=Field renamed -IfLoginDoesNotExistsCheckCreateUser=If login does not exists yet, you must check option "Create user" -ErrorConnection=Server "%s", database name "%s", login "%s", or database password may be wrong or PHP client version may be too old compared to database version. -InstallChoiceRecommanded=Recommended choice to install version %s from your current version %s -InstallChoiceSuggested=Install choice suggested by installer. -MigrateIsDoneStepByStep=The targeted version (%s) has a gap of several versions, so install wizard will come back to suggest next migration once this one will be finished. -CheckThatDatabasenameIsCorrect=Check that database name "%s" is correct. -IfAlreadyExistsCheckOption=If this name is correct and that database does not exist yet, you must check option "Create database". -OpenBaseDir=PHP openbasedir parameter -YouAskToCreateDatabaseSoRootRequired=You checked the box "Create database". For this, you need to provide login/password of superuser (bottom of form). -YouAskToCreateDatabaseUserSoRootRequired=You checked the box "Create database owner". For this, you need to provide login/password of superuser (bottom of form). -NextStepMightLastALongTime=Current step may last several minutes. Please wait until the next screen is shown completely before continuing. -MigrationCustomerOrderShipping=Migrate shipping for customer orders storage -MigrationShippingDelivery=Upgrade storage of shipping -MigrationShippingDelivery2=Upgrade storage of shipping 2 -MigrationFinished=Migration finished -LastStepDesc=Last step: Define here login and password you plan to use to connect to software. Do not loose this as it is the account to administer all others. -ActivateModule=Activate module %s -ShowEditTechnicalParameters=Click here to show/edit advanced parameters (expert mode) -WarningUpgrade=Warning:\nDid your run a database backup first ?\nThis is highly recommanded: for example, due to some bugs into databases systems (for example mysql version 5.5.40), some data or tables may be lost during this process, so it is highly recommanded to have a complete dump of your database before starting migration.\n\nClick OK to start migration process... -ErrorDatabaseVersionForbiddenForMigration=Your database version is %s. It has a critical bug making data loss if you make structure change on your database, like it is required by the migration process. For his reason, migration will not be allowed until you upgrade your database to a higher fixed version (list of known bugged version: %s) +InstallEasy=เพียงทำตามคำแนะนำทีละขั้นตอน +MiscellaneousChecks=สิ่งที่ต้องมีการตรวจสอบ +DolibarrWelcome=ยินดีต้อนรับสู่ Dolibarr +ConfFileExists=การกำหนดค่าไฟล์% s อยู่ +ConfFileDoesNotExists=การกำหนดค่าไฟล์% s ไม่อยู่! +ConfFileDoesNotExistsAndCouldNotBeCreated=การกำหนดค่าไฟล์% s ไม่ได้อยู่และไม่สามารถสร้าง! +ConfFileCouldBeCreated=การกำหนดค่าไฟล์% s จะถูกสร้างขึ้น +ConfFileIsNotWritable=การกำหนดค่าไฟล์% s ไม่สามารถเขียนได้ สิทธิ์ในการตรวจสอบ สำหรับการติดตั้งครั้งแรกเว็บเซิร์ฟเวอร์ของคุณต้องได้รับเพื่อให้สามารถเขียนลงในไฟล์นี้ในระหว่างขั้นตอนการตั้งค่า ("chmod 666" ตัวอย่างเช่นในระบบปฏิบัติการยูนิกซ์เช่น OS) +ConfFileIsWritable=การกำหนดค่าไฟล์% s เขียนได้ +ConfFileReload=โหลดข้อมูลจากแฟ้มการกำหนดค่า +PHPSupportSessions=PHP นี้สนับสนุนการประชุม +PHPSupportPOSTGETOk=PHP นี้สนับสนุนตัวแปร POST และ GET +PHPSupportPOSTGETKo=มันเป็นไปได้ที่การตั้งค่า PHP ของคุณไม่สนับสนุนตัวแปร POST และ / หรือได้รับ ตรวจสอบ variables_order พารามิเตอร์ใน php.ini +PHPSupportGD=การสนับสนุนนี้ PHP GD ฟังก์ชั่นกราฟิก +PHPSupportUTF8=นี้สนับสนุน PHP ฟังก์ชั่ UTF8 +PHPMemoryOK=หน่วยความจำสูงสุด PHP เซสชั่นของคุณตั้ง% s นี้ควรจะเพียงพอ +PHPMemoryTooLow=หน่วยความจำสูงสุด PHP เซสชั่นของคุณตั้ง% s ไบต์ นี้ควรจะต่ำเกินไป เปลี่ยน php.ini ของคุณเพื่อตั้งค่าพารามิเตอร์ memory_limit อย่างน้อย% s ไบต์ +Recheck=คลิกที่นี่เพื่อทดสอบเพิ่มเติม significative +ErrorPHPDoesNotSupportSessions=การติดตั้ง PHP ของคุณไม่สนับสนุนการประชุม คุณลักษณะนี้เป็นสิ่งจำเป็นที่จะทำให้การทำงาน Dolibarr ตรวจสอบการติดตั้ง PHP ของคุณ +ErrorPHPDoesNotSupportGD=การติดตั้ง PHP ของคุณไม่สนับสนุนฟังก์ชั่นกราฟิก GD กราฟจะไม่สามารถใช้ได้ +ErrorPHPDoesNotSupportUTF8=การติดตั้ง PHP ของคุณไม่สนับสนุนฟังก์ชั่น UTF8 Dolibarr ไม่สามารถทำงานได้อย่างถูกต้อง แก้ปัญหานี้ก่อนการติดตั้ง Dolibarr +ErrorDirDoesNotExists=สารบบ% s ไม่ได้อยู่ +ErrorGoBackAndCorrectParameters=ย้อนกลับไปและแก้ไขพารามิเตอร์ที่ไม่ถูกต้อง +ErrorWrongValueForParameter=คุณอาจจะพิมพ์ค่าที่ไม่ถูกต้องสำหรับพารามิเตอร์ '% s' +ErrorFailedToCreateDatabase=ไม่สามารถสร้างฐานข้อมูล '% s' +ErrorFailedToConnectToDatabase=ไม่สามารถเชื่อมต่อกับฐานข้อมูล '% s' +ErrorDatabaseVersionTooLow=รุ่นฐานข้อมูล (% s) เก่าเกินไป รุ่น s% หรือสูงกว่าที่จำเป็น +ErrorPHPVersionTooLow=PHP รุ่นเก่าเกินไป % s รุ่นจะต้อง +WarningPHPVersionTooLow=PHP รุ่นเก่าเกินไป รุ่น% s หรือมากกว่าที่คาดว่า รุ่นนี้จะช่วยให้ติดตั้งได้ แต่ไม่ได้รับการสนับสนุน +ErrorConnectedButDatabaseNotFound=เชื่อมต่อกับเซิร์ฟเวอร์ที่ประสบความสำเร็จ แต่ฐานข้อมูล '% s' ไม่พบ +ErrorDatabaseAlreadyExists=ฐานข้อมูล '% s' อยู่แล้ว +IfDatabaseNotExistsGoBackAndUncheckCreate=ถ้าฐานข้อมูลที่มีอยู่ไม่ได้กลับไปและตรวจสอบตัวเลือก "สร้างฐานข้อมูล" +IfDatabaseExistsGoBackAndCheckCreate=ถ้าฐานข้อมูลที่มีอยู่แล้วให้กลับไปและยกเลิก "สร้างฐานข้อมูลตัวเลือก" +WarningBrowserTooOld=รุ่นเก่าเกินไปของเบราว์เซอร์ เบราว์เซอร์ของคุณอัพเกรดเป็นรุ่นล่าสุดของ Firefox, Chrome หรือ Opera เป็น recommanded สูง +PHPVersion=PHP รุ่น +YouCanContinue=คุณสามารถดำเนินการต่อ ... +PleaseBePatient=กรุณาเป็นผู้ป่วย ... +License=ใช้ใบอนุญาต +ConfigurationFile=แฟ้มการกำหนดค่า +WebPagesDirectory=สารบบที่หน้าเว็บจะถูกเก็บไว้ +DocumentsDirectory=สารบบการจัดเก็บเอกสารที่อัปโหลดและสร้าง +URLRoot=URL ราก +ForceHttps=กองทัพเชื่อมต่อที่ปลอดภัย (https) +CheckToForceHttps=เลือกตัวเลือกนี้จะบังคับให้เชื่อมต่อที่ปลอดภัย (https)
นี้ต้องการให้เว็บเซิร์ฟเวอร์ที่มีการกำหนดค่าที่มีใบรับรอง SSL +DolibarrDatabase=Dolibarr ฐานข้อมูล +DatabaseChoice=ทางเลือกฐานข้อมูล +DatabaseType=ชนิดของฐานข้อมูล +DriverType=ชนิดตัวขับ +Server=เซิร์ฟเวอร์ +ServerAddressDescription=ชื่อหรือที่อยู่ IP สำหรับเซิร์ฟเวอร์ฐานข้อมูลมักจะ 'localhost' เมื่อเซิร์ฟเวอร์ฐานข้อมูลโฮสต์บนเซิร์ฟเวอร์เดียวกันกว่าเว็บเซิร์ฟเวอร์ +ServerPortDescription=ฐานข้อมูลเซิร์ฟเวอร์พอร์ต ให้ว่างเปล่าถ้าไม่รู้จัก +DatabaseServer=เซิร์ฟเวอร์ฐานข้อมูล +DatabaseName=ชื่อฐานข้อมูล +DatabasePrefix=ฐานข้อมูลตารางคำนำหน้า +Login=เข้าสู่ระบบ +AdminLogin=เข้าสู่ระบบฐานข้อมูลสำหรับเจ้าของ Dolibarr +Password=รหัสผ่าน +PasswordAgain=พิมพ์รหัสผ่านเป็นครั้งที่สอง +AdminPassword=รหัสผ่านสำหรับเจ้าของฐานข้อมูล Dolibarr +CreateDatabase=สร้างฐานข้อมูล +CreateUser=สร้างเจ้าของ +DatabaseSuperUserAccess=เซิร์ฟเวอร์ฐานข้อมูล - การเข้าถึง Superuser +CheckToCreateDatabase=กล่องตรวจสอบว่าฐานข้อมูลไม่ได้อยู่และจะต้องสร้างขึ้น
ในกรณีนี้คุณต้องกรอกข้อมูลเข้าสู่ระบบ / รหัสผ่านสำหรับบัญชี superuser ที่ด้านล่างของหน้านี้ +CheckToCreateUser=กล่องตรวจสอบว่าเจ้าของฐานข้อมูลไม่ได้อยู่และจะต้องสร้างขึ้น
ในกรณีนี้คุณต้องเลือกล็อกอินและรหัสผ่านและยังเติมเต็มการเข้าสู่ระบบ / รหัสผ่านสำหรับบัญชี superuser ที่ด้านล่างของหน้านี้ ถ้ากล่องนี้จะไม่ถูกตรวจสอบฐานข้อมูลเจ้าของและรหัสผ่านที่จะต้องมีอยู่ +Experimental=(จากการทดลอง) +Deprecated=(เลิก) +DatabaseRootLoginDescription=เข้าสู่ระบบของผู้ใช้ที่ได้รับอนุญาตในการสร้างฐานข้อมูลใหม่หรือผู้ใช้ใหม่บังคับถ้าฐานข้อมูลหรือเจ้าของของคุณไม่ได้อยู่แล้ว +KeepEmptyIfNoPassword=ปล่อยว่างไว้ถ้าผู้ใช้มีรหัสผ่านไม่ (หลีกเลี่ยงปัญหานี้) +SaveConfigurationFile=ประหยัดค่า +ConfigurationSaving=แฟ้มการกำหนดค่าการบันทึก +ServerConnection=การเชื่อมต่อเซิร์ฟเวอร์ +DatabaseConnection=เชื่อมต่อฐานข้อมูล +DatabaseCreation=การสร้างฐานข้อมูล +UserCreation=การสร้างผู้ใช้ +CreateDatabaseObjects=ฐานข้อมูลการสร้างวัตถุ +ReferenceDataLoading=การโหลดข้อมูลอ้างอิง +TablesAndPrimaryKeysCreation=ตารางและคีย์หลักในการสร้าง +CreateTableAndPrimaryKey=สร้างตาราง% s +CreateOtherKeysForTable=สร้างปุ่มต่างประเทศและดัชนีสำหรับตาราง% s +OtherKeysCreation=คีย์ต่างประเทศและการสร้างดัชนี +FunctionsCreation=ฟังก์ชั่นการสร้าง +AdminAccountCreation=ผู้ดูแลระบบเข้าสู่ระบบการสร้าง +PleaseTypePassword=กรุณาพิมพ์รหัสผ่านรห​​ัสผ่านที่ว่างเปล่าไม่ได้รับอนุญาต! +PleaseTypeALogin=กรุณาพิมพ์เข้าสู่ระบบ! +PasswordsMismatch=รหัสผ่านที่แตกต่างโปรดลองอีกครั้ง! +SetupEnd=ในตอนท้ายของการตั้งค่า +SystemIsInstalled=การติดตั้งนี้เสร็จสมบูรณ์ +SystemIsUpgraded=Dolibarr ได้รับการอัพเกรดที่ประสบความสำเร็จ +YouNeedToPersonalizeSetup=คุณต้องกำหนดค่า Dolibarr เพื่อให้เหมาะกับความต้องการของคุณ (ลักษณะคุณสมบัติ, ... ) การทำเช่นนี้โปรดทำตามลิงค์ด้านล่าง: +AdminLoginCreatedSuccessfuly=ผู้ดูแลระบบเข้าสู่ระบบ Dolibarr '% s' สร้าง successfuly +GoToDolibarr=ไปที่ Dolibarr +GoToSetupArea=ไปที่ Dolibarr (พื้นที่ติดตั้ง) +MigrationNotFinished=รุ่นของฐานข้อมูลของคุณไม่สมบูรณ์ถึงวันดังนั้นคุณจะต้องใช้กระบวนการปรับรุ่นอีกครั้ง +GoToUpgradePage=ไปที่หน้าอัพเกรดอีกครั้ง +Examples=ตัวอย่าง +WithNoSlashAtTheEnd=โดยไม่ต้องเฉือน "/" ในตอนท้าย +DirectoryRecommendation=มันเป็น recommanded ใช้ไดเรกทอรีนอกไดเรกทอรีของคุณหน้าเว็บของคุณ +LoginAlreadyExists=ที่มีอยู่แล้ว +DolibarrAdminLogin=ผู้ดูแลระบบเข้าสู่ระบบ Dolibarr +AdminLoginAlreadyExists=Dolibarr บัญชีผู้ดูแลระบบ '% s' อยู่แล้ว กลับไปถ้าคุณต้องการที่จะสร้างอีกคนหนึ่ง +WarningRemoveInstallDir=คำเตือนเพื่อความปลอดภัยเมื่อติดตั้งหรืออัพเกรดเสร็จสมบูรณ์หลีกเลี่ยงการใช้ติดตั้งเครื่องมืออีกครั้งคุณควรเพิ่มไฟล์ที่เรียกว่า install.lock ลงในไดเรกทอรีเอกสาร Dolibarr เพื่อที่จะหลีกเลี่ยงการใช้ที่เป็นอันตรายของมัน +ThisPHPDoesNotSupportTypeBase=ระบบ PHP นี้ไม่สนับสนุนอินเตอร์เฟซในการเข้าถึงของชนิดของฐานข้อมูล% ใด ๆ +FunctionNotAvailableInThisPHP=ไม่สามารถใช้ได้ใน PHP นี้ +MigrateScript=สคริปต์การย้ายถิ่น +ChoosedMigrateScript=เลือกสคริปต์การย้ายถิ่น +DataMigration=การโยกย้ายข้อมูล +DatabaseMigration=การย้ายฐานข้อมูลโครงสร้าง +ProcessMigrateScript=การประมวลผลสคริปต์ +ChooseYourSetupMode=เลือกโหมดการตั้งค่าของคุณและคลิกที่ "เริ่มต้น" ... +FreshInstall=ติดตั้งใหม่ +FreshInstallDesc=ใช้โหมดนี้ถ้านี้เป็นครั้งแรกของคุณติดตั้ง ถ้าไม่ได้โหมดนี้สามารถซ่อมแซมติดตั้งก่อนหน้านี้ไม่สมบูรณ์ แต่ถ้าคุณต้องการที่จะปรับรุ่นของคุณเลือก "การอัพเกรดโหมด" +Upgrade=อัพเกรด +UpgradeDesc=ใช้โหมดนี้ถ้าคุณได้เปลี่ยนไฟล์ Dolibarr กับไฟล์จากเวอร์ชันที่ใหม่กว่า นี้จะอัพเกรดฐานข้อมูลและข้อมูลของคุณ +Start=เริ่มต้น +InstallNotAllowed=ติดตั้งไม่ได้รับอนุญาตตามสิทธิ์ conf.php +NotAvailable=ไม่พร้อม +YouMustCreateWithPermission=คุณต้องสร้างแฟ้ม% s และกำหนดสิทธิ์ในการเขียนเกี่ยวกับมันสำหรับเว็บเซิร์ฟเวอร์ในระหว่างขั้นตอนการติดตั้ง +CorrectProblemAndReloadPage=โปรดแก้ไขปัญหาและกด F5 เพื่อโหลดหน้าเว็บ +AlreadyDone=อพยพแล้ว +DatabaseVersion=รุ่นฐานข้อมูล +ServerVersion=เซิร์ฟเวอร์ฐานข้อมูลรุ่น +YouMustCreateItAndAllowServerToWrite=คุณต้องสร้างไดเรกทอรีนี้และอนุญาตให้เว็บเซิร์ฟเวอร์ที่จะเขียนลงไป +CharsetChoice=ทางเลือกชุดอักขระ +CharacterSetClient=ชุดตัวอักษรที่ใช้ในการสร้างหน้าเว็บ HTML +CharacterSetClientComment=เลือกชุดตัวอักษรสำหรับการแสดงผลเว็บ
เริ่มต้นชุดตัวอักษรที่นำเสนอเป็นหนึ่งในฐานข้อมูลของคุณ +DBSortingCollation=เรียงลำดับตัวอักษร +DBSortingCollationComment=เลือกหน้ารหัสที่กำหนดลำดับการเรียงตัวละครที่ใช้โดยฐานข้อมูล พารามิเตอร์นี้จะเรียกว่า 'การเปรียบเทียบโดยฐานข้อมูลบางอย่าง
พารามิเตอร์นี้ไม่สามารถกำหนดถ้าฐานข้อมูลที่มีอยู่แล้ว +CharacterSetDatabase=ตัวอักษรที่กำหนดไว้สำหรับฐานข้อมูล +CharacterSetDatabaseComment=เลือกชุดตัวอักษรที่ต้องการสำหรับการสร้างฐานข้อมูล
พารามิเตอร์นี้ไม่สามารถกำหนดถ้าฐานข้อมูลที่มีอยู่แล้ว +YouAskDatabaseCreationSoDolibarrNeedToConnect=คุณถามในการสร้างฐานข้อมูล% แต่สำหรับเรื่องนี้ Dolibarr จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์% s ด้วยสิทธิ์ผู้ใช้ super% s +YouAskLoginCreationSoDolibarrNeedToConnect=คุณถามเพื่อสร้างฐานข้อมูลเข้าสู่ระบบ% แต่สำหรับเรื่องนี้ Dolibarr จำเป็นต้องเชื่อมต่อกับเซิร์ฟเวอร์% s ด้วยสิทธิ์ผู้ใช้ super% s +BecauseConnectionFailedParametersMayBeWrong=ขณะที่การเชื่อมต่อล้มเหลวโฮสต์หรือพารามิเตอร์ผู้ใช้ super ต้องผิด +OrphelinsPaymentsDetectedByMethod=การชำระเงินเด็กกำพร้าที่ตรวจพบโดยวิธี% s +RemoveItManuallyAndPressF5ToContinue=ลบออกด้วยตนเองและกด F5 เพื่อดำเนินการต่อไป +KeepDefaultValuesWamp=คุณสามารถใช้ตัวช่วยสร้างการติดตั้ง Dolibarr จาก DoliWamp ดังนั้นค่าที่นำเสนอในที่นี้จะดีที่สุดแล้ว เปลี่ยนพวกเขาเท่านั้นถ้าคุณรู้ว่าสิ่งที่คุณทำ +KeepDefaultValuesDeb=คุณสามารถใช้ตัวช่วยสร้างการติดตั้ง Dolibarr จากแพคเกจลินุกซ์ (Ubuntu, Debian, Fedora ... ) ดังนั้นค่าที่นำเสนอในที่นี้จะดีที่สุดแล้ว เฉพาะรหัสผ่านของเจ้าของฐานข้อมูลเพื่อสร้างจะต้องเสร็จสิ้น เปลี่ยนพารามิเตอร์อื่น ๆ เท่านั้นถ้าคุณรู้ว่าสิ่งที่คุณทำ +KeepDefaultValuesMamp=คุณสามารถใช้ตัวช่วยสร้างการติดตั้ง Dolibarr จาก DoliMamp ดังนั้นค่าที่นำเสนอในที่นี้จะดีที่สุดแล้ว เปลี่ยนพวกเขาเท่านั้นถ้าคุณรู้ว่าสิ่งที่คุณทำ +KeepDefaultValuesProxmox=คุณสามารถใช้ตัวช่วยสร้างการติดตั้ง Dolibarr จาก Proxmox เสมือนเครื่องเพื่อให้ค่าที่นำเสนอในที่นี้จะดีที่สุดแล้ว เปลี่ยนพวกเขาเท่านั้นถ้าคุณรู้ว่าสิ่งที่คุณทำ +FieldRenamed=เปลี่ยนชื่อสนาม +IfLoginDoesNotExistsCheckCreateUser=หากเข้าสู่ระบบไม่ได้มีอยู่ แต่คุณต้องตรวจสอบตัวเลือก "สร้างผู้ใช้" +ErrorConnection=เซิร์ฟเวอร์ "% s" ชื่อฐานข้อมูล "% s" เข้าสู่ระบบ "% s" หรือรหัสผ่านฐานข้อมูลอาจจะผิดหรือ PHP รุ่นลูกค้าอาจจะเก่าเกินไปเมื่อเทียบกับเวอร์ชันของฐานข้อมูล +InstallChoiceRecommanded=ทางเลือกที่แนะนำในการติดตั้งเวอร์ชั่น% s จากรุ่นปัจจุบันของคุณ% s +InstallChoiceSuggested=ติดตั้งทางเลือกที่แนะนำโดยการติดตั้ง +MigrateIsDoneStepByStep=รุ่นที่มีการกำหนดเป้​​าหมาย (% s) มีช่องว่างของหลายรุ่นเพื่อให้การติดตั้งตัวช่วยสร้างจะกลับมาเพื่อแสดงให้เห็นการโยกย้ายครั้งเดียวต่อไปนี้จะแล้วเสร็จ +CheckThatDatabasenameIsCorrect=ตรวจสอบชื่อของฐานข้อมูลที่ "% s" ถูกต้อง +IfAlreadyExistsCheckOption=ถ้าชื่อนี้ถูกต้องและฐานข้อมูลที่ยังไม่ปรากฏอยู่คุณต้องตรวจสอบตัวเลือก "สร้างฐานข้อมูล" +OpenBaseDir=PHP openbasedir พารามิเตอร์ +YouAskToCreateDatabaseSoRootRequired=คุณตรวจสอบกล่อง "สร้างฐานข้อมูล" สำหรับนี้คุณจำเป็นต้องให้เข้าสู่ระบบ / รหัสผ่านของ superuser (ด้านล่างของรูปแบบ) +YouAskToCreateDatabaseUserSoRootRequired=คุณตรวจสอบกล่อง "สร้างเจ้าของฐานข้อมูล" สำหรับนี้คุณจำเป็นต้องให้เข้าสู่ระบบ / รหัสผ่านของ superuser (ด้านล่างของรูปแบบ) +NextStepMightLastALongTime=ขั้นตอนปัจจุบันอาจนานหลายนาที กรุณารอสักครู่จนกระทั่งหน้าจอต่อไปคือการแสดงให้เห็นก่อนที่จะดำเนินการต่อไป +MigrationCustomerOrderShipping=โยกย้ายการจัดส่งสินค้าให้กับลูกค้าจัดเก็บข้อมูลการสั่งซื้อ +MigrationShippingDelivery=เพิ่มระดับการจัดเก็บข้อมูลในการจัดส่ง +MigrationShippingDelivery2=เพิ่มระดับการจัดเก็บข้อมูลในการจัดส่ง 2 +MigrationFinished=การโยกย้ายเสร็จ +LastStepDesc=ขั้นตอนสุดท้าย: กำหนดเข้าสู่ระบบที่นี่และรหัสผ่านที่คุณวางแผนที่จะใช้ในการเชื่อมต่อกับซอฟแวร์ ไม่หลวมนี้มันเป็นบัญ​​ชีที่จะดูแลคนอื่น ๆ ทั้งหมด +ActivateModule=เปิดใช้งานโมดูล% s +ShowEditTechnicalParameters=คลิกที่นี่เพื่อแสดง / แก้ไขพารามิเตอร์ขั้นสูง (โหมดผู้เชี่ยวชาญ) +WarningUpgrade=คำเตือน: ไม่เรียกใช้การสำรองฐานข้อมูลของคุณเป็นอันดับแรก นี้ recommanded สูง: ยกตัวอย่างเช่นเนื่องจากข้อบกพร่องบางอย่างในระบบฐานข้อมูล (ตัวอย่างเช่นรุ่น MySQL 5.5.40) ข้อมูลบางอย่างหรือตารางอาจจะหายไปในระหว่างกระบวนการนี​​้จึง recommanded สูงที่จะมีการถ่ายโอนข้อมูลที่สมบูรณ์ของฐานข้อมูลของคุณก่อน เริ่มต้นการย้ายถิ่น คลิก OK เพื่อเริ่มต้นกระบวนการการย้ายถิ่น ... +ErrorDatabaseVersionForbiddenForMigration=รุ่นฐานข้อมูลของคุณ% s แต่ก็มีข้อผิดพลาดที่สำคัญทำให้การสูญเสียข้อมูลถ้าคุณทำการเปลี่ยนแปลงโครงสร้างฐานข้อมูลของคุณเหมือนว่ามันจะถูกต้องตามกระบวนการโยกย้าย ด้วยเหตุผลของการย้ายถิ่นจะไม่ได้รับอนุญาตจนกว่าคุณจะอัพเกรดฐานข้อมูลของคุณไปเป็นรุ่นที่คงที่ที่สูงขึ้น (รายชื่อที่รู้จักกันร้องรุ่น:% s) ######### # upgrade -MigrationFixData=Fix for denormalized data -MigrationOrder=Data migration for customer's orders -MigrationSupplierOrder=Data migration for supplier's orders -MigrationProposal=Data migration for commercial proposals -MigrationInvoice=Data migration for customer's invoices -MigrationContract=Data migration for contracts -MigrationSuccessfullUpdate=Upgrade successful -MigrationUpdateFailed=Failed upgrade process -MigrationRelationshipTables=Data migration for relationship tables (%s) -MigrationPaymentsUpdate=Payment data correction -MigrationPaymentsNumberToUpdate=%s payment(s) to update -MigrationProcessPaymentUpdate=Update payment(s) %s -MigrationPaymentsNothingToUpdate=No more things to do -MigrationPaymentsNothingUpdatable=No more payments that can be corrected -MigrationContractsUpdate=Contract data correction -MigrationContractsNumberToUpdate=%s contract(s) to update -MigrationContractsLineCreation=Create contract line for contract ref %s -MigrationContractsNothingToUpdate=No more things to do -MigrationContractsFieldDontExist=Field fk_facture does not exists anymore. Nothing to do. -MigrationContractsEmptyDatesUpdate=Contract empty date correction -MigrationContractsEmptyDatesUpdateSuccess=Contract emtpy date correction done successfuly -MigrationContractsEmptyDatesNothingToUpdate=No contract empty date to correct -MigrationContractsEmptyCreationDatesNothingToUpdate=No contract creation date to correct -MigrationContractsInvalidDatesUpdate=Bad value date contract correction -MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s) -MigrationContractsInvalidDatesNumber=%s contracts modified -MigrationContractsInvalidDatesNothingToUpdate=No date with bad value to correct -MigrationContractsIncoherentCreationDateUpdate=Bad value contract creation date correction -MigrationContractsIncoherentCreationDateUpdateSuccess=Bad value contract creation date correction done succesfuly -MigrationContractsIncoherentCreationDateNothingToUpdate=No bad value for contract creation date to correct -MigrationReopeningContracts=Open contract closed by error -MigrationReopenThisContract=Reopen contract %s -MigrationReopenedContractsNumber=%s contracts modified -MigrationReopeningContractsNothingToUpdate=No closed contract to open -MigrationBankTransfertsUpdate=Update links between bank transaction and a bank transfer -MigrationBankTransfertsNothingToUpdate=All links are up to date -MigrationShipmentOrderMatching=Sendings receipt update -MigrationDeliveryOrderMatching=Delivery receipt update -MigrationDeliveryDetail=Delivery update -MigrationStockDetail=Update stock value of products -MigrationMenusDetail=Update dynamic menus tables -MigrationDeliveryAddress=Update delivery address in shipments -MigrationProjectTaskActors=Data migration for llx_projet_task_actors table -MigrationProjectUserResp=Data migration field fk_user_resp of llx_projet to llx_element_contact -MigrationProjectTaskTime=Update time spent in seconds -MigrationActioncommElement=Update data on actions -MigrationPaymentMode=Data migration for payment mode -MigrationCategorieAssociation=Migration of categories -MigrationEvents=Migration of events to add event owner into assignement table +MigrationFixData=แก้ไขข้อมูล denormalized +MigrationOrder=การโยกย้ายข้อมูลสำหรับการสั่งซื้อของลูกค้า +MigrationSupplierOrder=การโยกย้ายข้อมูลสำหรับการสั่งซื้อของซัพพลายเออร์ +MigrationProposal=การโยกย้ายข้อมูลสำหรับข้อเสนอในเชิงพาณิชย์ +MigrationInvoice=การโยกย้ายข้อมูลสำหรับใบแจ้งหนี้ของลูกค้า +MigrationContract=การโยกย้ายข้อมูลในการทำสัญญา +MigrationSuccessfullUpdate=การปรับรุ่นที่ประสบความสำเร็จ +MigrationUpdateFailed=การอัพเกรดล้มเหลว +MigrationRelationshipTables=การโยกย้ายข้อมูลสำหรับตารางความสัมพันธ์ (% s) +MigrationPaymentsUpdate=แก้ไขข้อมูลการชำระเงิน +MigrationPaymentsNumberToUpdate=% s การชำระเงิน (s) เพื่อปรับปรุง +MigrationProcessPaymentUpdate=ปรับปรุงการชำระเงิน (s)% s +MigrationPaymentsNothingToUpdate=ไม่มีสิ่งที่ต้องทำ +MigrationPaymentsNothingUpdatable=ไม่มีการชำระเงินอื่น ๆ ที่สามารถได้รับการแก้ไข +MigrationContractsUpdate=สัญญาแก้ไขข้อมูล +MigrationContractsNumberToUpdate=สัญญา% s (s) เพื่อปรับปรุง +MigrationContractsLineCreation=สร้างสายสัญญาสำหรับการอ้างอิงสัญญา% s +MigrationContractsNothingToUpdate=ไม่มีสิ่งที่ต้องทำ +MigrationContractsFieldDontExist=fk_facture สนามไม่อยู่อีกต่อไป ไม่มีอะไรที่จะทำ +MigrationContractsEmptyDatesUpdate=การแก้ไขสัญญาวันที่ว่างเปล่า +MigrationContractsEmptyDatesUpdateSuccess=สัญญาแก้ไขวัน emtpy ทำ successfuly +MigrationContractsEmptyDatesNothingToUpdate=ไม่มีวันที่ทำสัญญาที่ว่างเปล่าที่จะแก้ไข +MigrationContractsEmptyCreationDatesNothingToUpdate=วันที่สร้างสัญญายังไม่ได้แก้ไข +MigrationContractsInvalidDatesUpdate=วันที่คิดมูลค่าการแก้ไขสัญญาที่ไม่ดี +MigrationContractsInvalidDateFix=สัญญาที่ถูกต้อง% s (วันที่สัญญา =% s เริ่มต้นบริการวันที่นาที =% s) +MigrationContractsInvalidDatesNumber=สัญญา% s การแก้ไข +MigrationContractsInvalidDatesNothingToUpdate=ไม่มีวันที่มีมูลค่าที่ดีที่จะแก้ไข +MigrationContractsIncoherentCreationDateUpdate=การสร้างมูลค่าสัญญาที่ไม่ดีแก้ไขวันที่ +MigrationContractsIncoherentCreationDateUpdateSuccess=การสร้างมูลค่าสัญญาที่ไม่ดีวันที่แก้ไขทำ succesfuly +MigrationContractsIncoherentCreationDateNothingToUpdate=ไม่มีค่าที่ไม่ดีสำหรับวันที่สร้างสัญญาที่จะแก้ไข +MigrationReopeningContracts=สัญญาเปิดปิดโดยข้อผิดพลาด +MigrationReopenThisContract=เปิดสัญญา% s +MigrationReopenedContractsNumber=สัญญา% s การแก้ไข +MigrationReopeningContractsNothingToUpdate=ไม่มีการทำสัญญาในการเปิดปิด +MigrationBankTransfertsUpdate=การเชื่อมโยงระหว่างการปรับปรุงการทำธุรกรรมธนาคารและโอนเงินผ่านธนาคาร +MigrationBankTransfertsNothingToUpdate=การเชื่อมโยงทั้งหมดมีถึงวันที่ +MigrationShipmentOrderMatching=อัปเดตได้รับตอบรับ +MigrationDeliveryOrderMatching=การปรับปรุงการจัดส่งใบเสร็จรับเงิน +MigrationDeliveryDetail=การปรับปรุงการจัดส่งสินค้า +MigrationStockDetail=อัพเดตค่าหุ้นของผลิตภัณฑ์ +MigrationMenusDetail=ปรับปรุงตารางเมนูแบบไดนามิก +MigrationDeliveryAddress=ที่อยู่จัดส่งการปรับปรุงในการจัดส่ง +MigrationProjectTaskActors=การโยกย้ายข้อมูลสำหรับตาราง llx_projet_task_actors +MigrationProjectUserResp=เขตการโยกย้ายข้อมูล fk_user_resp ของ llx_projet เพื่อ llx_element_contact +MigrationProjectTaskTime=เวลาการปรับปรุงการใช้จ่ายในไม่กี่วินาที +MigrationActioncommElement=ปรับปรุงข้อมูลเกี่ยวกับการกระทำ +MigrationPaymentMode=การโยกย้ายข้อมูลสำหรับโหมดการชำระเงิน +MigrationCategorieAssociation=การย้ายถิ่นของประเภท +MigrationEvents=การย้ายถิ่นของเหตุการณ์ที่จะเพิ่มเจ้าของเหตุการณ์ลงในตาราง assignement -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=แสดงตัวเลือกที่มีอยู่ไม่ได้ +HideNotAvailableOptions=ซ่อนตัวเลือกที่มีอยู่ไม่ได้ diff --git a/htdocs/langs/th_TH/interventions.lang b/htdocs/langs/th_TH/interventions.lang index 67d4f61d9f1..19e29161782 100644 --- a/htdocs/langs/th_TH/interventions.lang +++ b/htdocs/langs/th_TH/interventions.lang @@ -1,53 +1,53 @@ # Dolibarr language file - Source file is en_US - interventions -Intervention=Intervention -Interventions=Interventions -InterventionCard=Intervention card -NewIntervention=New intervention -AddIntervention=Create intervention -ListOfInterventions=List of interventions -EditIntervention=Edit intervention -ActionsOnFicheInter=Actions on intervention -LastInterventions=Last %s interventions -AllInterventions=All interventions -CreateDraftIntervention=Create draft -CustomerDoesNotHavePrefix=Customer does not have a prefix -InterventionContact=Intervention contact -DeleteIntervention=Delete intervention -ValidateIntervention=Validate intervention -ModifyIntervention=Modify intervention -DeleteInterventionLine=Delete intervention line -ConfirmDeleteIntervention=Are you sure you want to delete this intervention ? -ConfirmValidateIntervention=Are you sure you want to validate this intervention under name %s ? -ConfirmModifyIntervention=Are you sure you want to modify this intervention ? -ConfirmDeleteInterventionLine=Are you sure you want to delete this intervention line ? -NameAndSignatureOfInternalContact=Name and signature of intervening : -NameAndSignatureOfExternalContact=Name and signature of customer : -DocumentModelStandard=Standard document model for interventions -InterventionCardsAndInterventionLines=Interventions and lines of interventions -InterventionClassifyBilled=Classify "Billed" -InterventionClassifyUnBilled=Classify "Unbilled" -StatusInterInvoiced=Billed -RelatedInterventions=Related interventions -ShowIntervention=Show intervention -SendInterventionRef=Submission of intervention %s -SendInterventionByMail=Send intervention by Email -InterventionCreatedInDolibarr=Intervention %s created -InterventionValidatedInDolibarr=Intervention %s validated -InterventionModifiedInDolibarr=Intervention %s modified -InterventionClassifiedBilledInDolibarr=Intervention %s set as billed -InterventionClassifiedUnbilledInDolibarr=Intervention %s set as unbilled -InterventionSentByEMail=Intervention %s sent by EMail -InterventionDeletedInDolibarr=Intervention %s deleted -SearchAnIntervention=Search an intervention +Intervention=การแทรกแซง +Interventions=การแทรกแซง +InterventionCard=บัตรแทรกแซง +NewIntervention=การแทรกแซงใหม่ +AddIntervention=การแทรกแซงสร้าง +ListOfInterventions=รายชื่อของการแทรกแซง +EditIntervention=การแทรกแซงแก้ไข +ActionsOnFicheInter=การดำเนินการเกี่ยวกับการแทรกแซง +LastInterventions=การแทรกแซง% s ล่าสุด +AllInterventions=การแทรกแซงทั้งหมด +CreateDraftIntervention=สร้างร่าง +CustomerDoesNotHavePrefix=ลูกค้าไม่ได้มีคำนำหน้า +InterventionContact=ติดต่อแทรกแซง +DeleteIntervention=ลบแทรกแซง +ValidateIntervention=การแทรกแซงการตรวจสอบ +ModifyIntervention=การแทรกแซงการปรับเปลี่ยน +DeleteInterventionLine=ลบเส้นแทรกแซง +ConfirmDeleteIntervention=คุณแน่ใจหรือว่าต้องการลบแทรกแซงนี้หรือไม่? +ConfirmValidateIntervention=คุณแน่ใจหรือว่าต้องการตรวจสอบการแทรกแซงนี้ภายใต้ชื่อ% s? +ConfirmModifyIntervention=คุณแน่ใจหรือว่าต้องการปรับเปลี่ยนการแทรกแซงนี้หรือไม่? +ConfirmDeleteInterventionLine=คุณแน่ใจหรือว่าต้องการลบบรรทัดแทรกแซงนี้หรือไม่? +NameAndSignatureOfInternalContact=ชื่อและลายเซ็นของการแทรกแซง: +NameAndSignatureOfExternalContact=ชื่อและลายเซ็นของลูกค้า: +DocumentModelStandard=รูปแบบเอกสารมาตรฐานสำหรับการแทรกแซง +InterventionCardsAndInterventionLines=การแทรกแซงและเส้นของการแทรกแซง +InterventionClassifyBilled=จำแนก "เรียกเก็บเงิน" +InterventionClassifyUnBilled=แยกประเภท "ยังไม่เรียกเก็บ" +StatusInterInvoiced=การเรียกเก็บเงิน +RelatedInterventions=การแทรกแซงที่เกี่ยวข้อง +ShowIntervention=การแทรกแซงการแสดง +SendInterventionRef=การส่งของการแทรกแซง% s +SendInterventionByMail=ส่งการแทรกแซงทางอีเมล +InterventionCreatedInDolibarr=s แทรกแซง% สร้าง +InterventionValidatedInDolibarr=s% แทรกแซงการตรวจสอบ +InterventionModifiedInDolibarr=s% แทรกแซงการแก้ไข +InterventionClassifiedBilledInDolibarr=ชุดแทรกแซง% s เป็นการเรียกเก็บเงิน +InterventionClassifiedUnbilledInDolibarr=การแทรกแซง% s เป็นชุดยังไม่เรียกเก็บ +InterventionSentByEMail=การแทรกแซง% s ส่งทางอีเมล +InterventionDeletedInDolibarr=s แทรกแซง% ลบ +SearchAnIntervention=ค้นหาแทรกแซง ##### Types de contacts ##### -TypeContact_fichinter_internal_INTERREPFOLL=Representative following-up intervention -TypeContact_fichinter_internal_INTERVENING=Intervening -TypeContact_fichinter_external_BILLING=Billing customer contact -TypeContact_fichinter_external_CUSTOMER=Following-up customer contact +TypeContact_fichinter_internal_INTERREPFOLL=แทนการแทรกแซงดังต่อไปนี้ขึ้น +TypeContact_fichinter_internal_INTERVENING=ที่แทรกแซง +TypeContact_fichinter_external_BILLING=การเรียกเก็บเงินการติดต่อกับลูกค้า +TypeContact_fichinter_external_CUSTOMER=ติดตามการติดต่อกับลูกค้า # Modele numérotation -ArcticNumRefModelDesc1=Generic number model -ArcticNumRefModelError=Failed to activate -PacificNumRefModelDesc1=Return numero with format %syymm-nnnn where yy is year, mm is month and nnnn is a sequence with no break and no return to 0 -PacificNumRefModelError=An intervention card starting with $syymm already exists and is not compatible with this model of sequence. Remove it or rename it to activate this module. -PrintProductsOnFichinter=Print products on intervention card -PrintProductsOnFichinterDetails=interventions generated from orders +ArcticNumRefModelDesc1=หมายเลขรุ่นทั่วไป +ArcticNumRefModelError=ไม่สามารถเปิดใช้งาน +PacificNumRefModelDesc1=กลับ Numero ที่มีรูปแบบ% syymm-nnnn ที่ yy เป็นปีเป็นเดือนมิลลิเมตรและ nnnn เป็นลำดับที่มีการหยุดพักและกลับไปที่ 0 ไม่มี +PacificNumRefModelError=บัตรเริ่มต้นด้วยการแทรกแซง $ syymm อยู่แล้วและไม่ได้เข้ากันได้กับรูปแบบของลำดับนี้ ลบหรือเปลี่ยนชื่อเพื่อเปิดใช้งานโมดูลนี้ +PrintProductsOnFichinter=ผลิตภัณฑ์ด้านการพิมพ์บนบัตรแทรกแซง +PrintProductsOnFichinterDetails=การแทรกแซงที่เกิดจากคำสั่งซื้อ diff --git a/htdocs/langs/th_TH/languages.lang b/htdocs/langs/th_TH/languages.lang index 32545205240..d49050d3126 100644 --- a/htdocs/langs/th_TH/languages.lang +++ b/htdocs/langs/th_TH/languages.lang @@ -2,71 +2,77 @@ Language_ar_AR=ภาษาอาหรับ Language_ar_SA=ภาษาอาหรับ +Language_bn_BD=ประเทศบังคลาเทศ Language_bg_BG=บัลแกเรีย -Language_bs_BA=ชาวบอสเนีย +Language_bs_BA=บอสเนีย Language_ca_ES=คาตาลัน -Language_cs_CZ=เช็ก -Language_da_DA=ภาษาเดนมาร์ก -Language_da_DK=ภาษาเดนมาร์ก -Language_de_DE=ภาษาเยอรมัน +Language_cs_CZ=สาธารณรัฐเช็ก +Language_da_DA=เดนมาร์ก +Language_da_DK=เดนมาร์ก +Language_de_DE=เยอรมัน Language_de_AT=เยอรมัน (ออสเตรีย) Language_de_CH=ภาษาเยอรมัน Language_el_GR=กรีก Language_en_AU=ภาษาอังกฤษ (ออสเตรเลีย) -Language_en_CA=English (Canada) -Language_en_GB=ภาษาอังกฤษ (สหราชอาณาจักร) +Language_en_CA=ภาษาอังกฤษ (แคนาดา) +Language_en_GB=อังกฤษ (สหราชอาณาจักร) Language_en_IN=ภาษาอังกฤษ (อินเดีย) -Language_en_NZ=ภาษาอังกฤษ (นิวซีแลนด์) -Language_en_SA=ภาษาอังกฤษ (ซาอุดีอาระเบีย) +Language_en_NZ=อังกฤษ (นิวซีแลนด์) +Language_en_SA=อังกฤษ (ซาอุดีอาระเบีย) Language_en_US=ภาษาอังกฤษ (สหรัฐอเมริกา) Language_en_ZA=ภาษาอังกฤษ (แอฟริกาใต้) -Language_es_ES=ภาษาสเปน -Language_es_DO=ภาษาสเปน +Language_es_ES=สเปน Language_es_AR=สเปน (อาร์เจนตินา) -Language_es_CL=ภาษาสเปน (ชิลี) +Language_es_CL=สเปน (ชิลี) +Language_es_CO=สเปน (โคลอมเบีย) +Language_es_DO=ภาษาสเปน Language_es_HN=สเปน (ฮอนดูรัส) Language_es_MX=สเปน (เม็กซิโก) Language_es_PY=สเปน (ปารากวัย) -Language_es_PE=สเปน (เปรู) +Language_es_PE=เสปน (เปรู) Language_es_PR=สเปน (เปอร์โตริโก) Language_et_EE=เอสโตเนีย Language_eu_ES=ชาวแบสค์ -Language_fa_IR=ชาวเปอร์เซีย +Language_fa_IR=เปอร์เซีย Language_fi_FI=ครีบ -Language_fr_BE=ฝรั่งเศส (เบลเยียม) +Language_fr_BE=ฝรั่งเศส (เบลเยี่ยม) Language_fr_CA=ฝรั่งเศส (แคนาดา) Language_fr_CH=ฝรั่งเศส (วิตเซอร์แลนด์) Language_fr_FR=ฝรั่งเศส Language_fr_NC=ฝรั่งเศส (ใหม่แคลิโดเนีย) -Language_he_IL=ภาษาฮิบ​​รู +Language_he_IL=ชาวอิสราเอล Language_hr_HR=โครเอเชีย -Language_hu_HU=ชาวฮังการี +Language_hu_HU=ฮังการี Language_id_ID=ภาษาอินโดนีเซีย Language_is_IS=ไอซ์แลนด์ -Language_it_IT=อิตาเลียน +Language_it_IT=อิตาลี Language_ja_JP=ญี่ปุ่น +Language_ka_GE=จอร์เจีย +Language_kn_IN=นาดา Language_ko_KR=เกาหลี +Language_lo_LA=ลาว Language_lt_LT=ภาษาลิธัวเนีย Language_lv_LV=ลัตเวีย Language_mk_MK=มาซิโดเนีย -Language_nb_NO=นอร์เวย์ (บ็อก) -Language_nl_BE=ดัตช์ (เบลเยียม) +Language_nb_NO=นอร์เวย์ (บ็อกมัล) +Language_nl_BE=ดัตช์ (เบลเยี่ยม) Language_nl_NL=ดัตช์ (เนเธอร์แลนด์) -Language_pl_PL=ขัด +Language_pl_PL=โปแลนด์ Language_pt_BR=โปรตุเกส (บราซิล) -Language_pt_PT=ภาษาโปรตุเกส +Language_pt_PT=โปรตุเกส Language_ro_RO=โรมาเนีย -Language_ru_RU=ชาวรัสเซีย +Language_ru_RU=รัสเซีย Language_ru_UA=รัสเซีย (ยูเครน) Language_tr_TR=ตุรกี Language_sl_SI=ภาษาสโลเวเนีย -Language_sv_SV=สวีดิช -Language_sv_SE=สวีดิช -Language_sq_AL=ภาษาอัลบาเนีย -Language_sk_SK=สโลวะเกีย -Language_th_TH=ภาษาไทย -Language_uk_UA=ภาษายูเครน -Language_uz_UZ=อุซเบกิ +Language_sv_SV=สวีเดน +Language_sv_SE=สวีเดน +Language_sq_AL=แอลเบเนีย +Language_sk_SK=สโลวาเกีย +Language_sw_SW=Kiswahili +Language_th_TH=ไทย +Language_uk_UA=ยูเครน +Language_uz_UZ=อุซเบก Language_vi_VN=เวียตนาม Language_zh_CN=จีน -Language_zh_TW=ภาษาจีน (แบบดั้งเดิม) +Language_zh_TW=จีน (ดั้งเดิม) diff --git a/htdocs/langs/th_TH/ldap.lang b/htdocs/langs/th_TH/ldap.lang index 02e457446a6..6ee527baea7 100644 --- a/htdocs/langs/th_TH/ldap.lang +++ b/htdocs/langs/th_TH/ldap.lang @@ -1,29 +1,29 @@ # Dolibarr language file - Source file is en_US - ldap -DomainPassword=Password for domain -YouMustChangePassNextLogon=Password for user %s on the domain %s must be changed. -UserMustChangePassNextLogon=User must change password on the domain %s -LdapUacf_NORMAL_ACCOUNT=User account -LdapUacf_DONT_EXPIRE_PASSWORD=Password never expires -LdapUacf_ACCOUNTDISABLE=Account is disabled in the domain %s -LDAPInformationsForThisContact=Information in LDAP database for this contact -LDAPInformationsForThisUser=Information in LDAP database for this user -LDAPInformationsForThisGroup=Information in LDAP database for this group -LDAPInformationsForThisMember=Information in LDAP database for this member -LDAPAttribute=LDAP attribute -LDAPAttributes=LDAP attributes -LDAPCard=LDAP card -LDAPRecordNotFound=Record not found in LDAP database -LDAPUsers=Users in LDAP database -LDAPGroups=Groups in LDAP database -LDAPFieldStatus=Status -LDAPFieldFirstSubscriptionDate=First subscription date -LDAPFieldFirstSubscriptionAmount=First subscription amount -LDAPFieldLastSubscriptionDate=Last subscription date -LDAPFieldLastSubscriptionAmount=Last subscription amount -SynchronizeDolibarr2Ldap=Synchronize user (Dolibarr -> LDAP) -UserSynchronized=User synchronized -GroupSynchronized=Group synchronized -MemberSynchronized=Member synchronized -ContactSynchronized=Contact synchronized -ForceSynchronize=Force synchronizing Dolibarr -> LDAP -ErrorFailedToReadLDAP=Failed to read LDAP database. Check LDAP module setup and database accessibility. +DomainPassword=รหัสผ่านสำหรับโดเมน +YouMustChangePassNextLogon=รหัสผ่านสำหรับผู้ใช้% s% s ในโดเมนต้องมีการเปลี่ยนแปลง +UserMustChangePassNextLogon=ผู้ใช้ต้องเปลี่ยนรหัสผ่านในโดเมน% s +LdapUacf_NORMAL_ACCOUNT=บัญชีผู้ใช้ +LdapUacf_DONT_EXPIRE_PASSWORD=รหัสผ่านไม่หมดอายุ +LdapUacf_ACCOUNTDISABLE=บัญชีถูกปิดใช้งานในโดเมน% s +LDAPInformationsForThisContact=ข้อมูลในฐานข้อมูล LDAP สำหรับการติดต่อนี้ +LDAPInformationsForThisUser=ข้อมูลในฐานข้อมูล LDAP สำหรับผู้ใช้นี้ +LDAPInformationsForThisGroup=ข้อมูลในฐานข้อมูล LDAP สำหรับกลุ่มนี้ +LDAPInformationsForThisMember=ข้อมูลในฐานข้อมูล LDAP ของสมาชิกนี้ +LDAPAttribute=แอตทริบิวต์ LDAP +LDAPAttributes=คุณลักษณะ LDAP +LDAPCard=บัตร LDAP +LDAPRecordNotFound=บันทึกไม่พบในฐานข้อมูล LDAP +LDAPUsers=ผู้ใช้ในฐานข้อมูล LDAP +LDAPGroups=กลุ่มในฐานข้อมูล LDAP +LDAPFieldStatus=สถานะ +LDAPFieldFirstSubscriptionDate=วันที่สมัครสมาชิกครั้งแรก +LDAPFieldFirstSubscriptionAmount=จำนวนการสมัครสมาชิกครั้งแรก +LDAPFieldLastSubscriptionDate=วันที่สมัครสมาชิกล่าสุด +LDAPFieldLastSubscriptionAmount=จำนวนการสมัครสมาชิกล่าสุด +SynchronizeDolibarr2Ldap=ประสานผู้ใช้ (Dolibarr -> LDAP) +UserSynchronized=ผู้ใช้ตรงกัน +GroupSynchronized=กลุ่มตรงกัน +MemberSynchronized=สมาชิกตรงกัน +ContactSynchronized=ติดต่อตรง +ForceSynchronize=กองทัพตรงกัน Dolibarr -> LDAP +ErrorFailedToReadLDAP=ไม่สามารถอ่านฐานข้อมูล LDAP ตรวจสอบการติดตั้งโมดูล LDAP และการเข้าถึงฐานข้อมูล diff --git a/htdocs/langs/th_TH/link.lang b/htdocs/langs/th_TH/link.lang index 8b1efb75ef3..4e284d1cb66 100644 --- a/htdocs/langs/th_TH/link.lang +++ b/htdocs/langs/th_TH/link.lang @@ -1,8 +1,8 @@ -LinkANewFile=Link a new file/document -LinkedFiles=Linked files and documents -NoLinkFound=No registered links -LinkComplete=The file has been linked successfully -ErrorFileNotLinked=The file could not be linked -LinkRemoved=The link %s has been removed -ErrorFailedToDeleteLink= Failed to remove link '%s' -ErrorFailedToUpdateLink= Failed to update link '%s' +LinkANewFile=เชื่อมโยงไฟล์ใหม่ / เอกสาร +LinkedFiles=แฟ้มที่เชื่อมโยงและเอกสาร +NoLinkFound=ไม่มีการเชื่อมโยงลงทะเบียน +LinkComplete=ไฟล์ที่ได้รับการประสบความสำเร็จในการเชื่อมโยง +ErrorFileNotLinked=ไฟล์ไม่สามารถเชื่อมโยง +LinkRemoved=การเชื่อมโยง% s ได้ถูกลบออก +ErrorFailedToDeleteLink= ล้มเหลวในการลบการเชื่อมโยง '% s' +ErrorFailedToUpdateLink= ล้มเหลวในการปรับปรุงการเชื่อมโยง '% s' diff --git a/htdocs/langs/th_TH/loan.lang b/htdocs/langs/th_TH/loan.lang new file mode 100644 index 00000000000..7616cb4acbe --- /dev/null +++ b/htdocs/langs/th_TH/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=เงินกู้ +Loans=เงินให้กู้ยืม +NewLoan=สินเชื่อใหม่ +ShowLoan=แสดงสินเชื่อ +PaymentLoan=การชำระเงินสินเชื่อ +ShowLoanPayment=แสดงการชำระเงินสินเชื่อ +Capital=เมืองหลวง +Insurance=ประกันภัย +Interest=ความสนใจ +Nbterms=จำนวนของข้อตกลง +LoanAccountancyCapitalCode=บัญชีทุนรหัส +LoanAccountancyInsuranceCode=รหัสบัญชีประกัน +LoanAccountancyInterestCode=บัญชีที่น่าสนใจรหัส +LoanPayment=การชำระเงินสินเชื่อ +ConfirmDeleteLoan=ยืนยันการลบเงินให้กู้ยืมนี้ +LoanDeleted=สินเชื่อที่ถูกลบประสบความสำเร็จ +ConfirmPayLoan=ยืนยันการจำแนกจ่ายเงินให้กู้ยืมนี้ +LoanPaid=สินเชื่อการชำระเงิน +ErrorLoanCapital=การกู้ยืมเงินจะต้องมีตัวเลขและมากกว่าศูนย์ +ErrorLoanLength=ระยะเวลาในการกู้เงินจะต้องมีตัวเลขและมากกว่าศูนย์ +ErrorLoanInterest=ที่น่าสนใจประจำปีจะต้องมีตัวเลขและมากกว่าศูนย์ +# Calc +LoanCalc=เครื่องคิดเลขสินเชื่อธนาคาร +PurchaseFinanceInfo=ข้อมูลการสั่งซื้อและการเงิน +SalePriceOfAsset=ราคาขายของสินทรัพย์ +PercentageDown=ลงร้อยละ +LengthOfMortgage=ความยาวของสินเชื่อที่อยู่อาศัย +AnnualInterestRate=อัตราดอกเบี้ยประจำปี +ExplainCalculations=อธิบายการคำนวณ +ShowMeCalculationsAndAmortization=แสดงการคำนวณและค่าตัดจำหน่าย +MortgagePaymentInformation=สินเชื่อที่อยู่อาศัยข้อมูลการชำระเงิน +DownPayment=การชำระเงินลง +DownPaymentDesc=การชำระเงินลง = ราคาของบ้านคูณด้วยอัตราร้อยละแบ่งลดลง 100 (ต่อ 5% ลดลงกลายเป็น 5/100 หรือ 0.05) +InterestRateDesc=อัตราดอกเบี้ย = ร้อยละที่น่าสนใจประจำปีหารด้วย 100 +MonthlyFactorDesc=ปัจจัยรายเดือน = ผลมาจากสูตรต่อไปนี้ +MonthlyInterestRateDesc=อัตราดอกเบี้ยรายเดือน = อัตราดอกเบี้ยประจำปีหารด้วย 12 (12 เดือนต่อปี) +MonthTermDesc=ระยะเดือนของเงินกู้ในเดือน = จำนวนปีที่คุณได้ถ่ายออกเงินกู้ครั้งที่ 12 +MonthlyPaymentDesc=การชำระเงินรายเดือนจะคิดออกโดยใช้สูตรต่อไปนี้ +AmortizationPaymentDesc=ค่าตัดจำหน่าย แบ่งลงเท่าใดของการชำระเงินรายเดือนของคุณไปสู่ความสนใจของธนาคารและวิธีการมากที่จะเข้าสู่การจ่ายเงินออกหลักของเงินกู้ของคุณ +AmountFinanced=จํานวนเงินทุน +AmortizationMonthlyPaymentOverYears=ค่าตัดจำหน่ายสำหรับการชำระเงินรายเดือน:% s% s มากกว่าปีที่ผ่านมา +Totalsforyear=ผลรวมสำหรับปี +MonthlyPayment=การชำระเงินรายเดือน +LoanCalcDesc=เครื่องคิดเลขจำนองนี้สามารถใช้ในการคิดออกชำระเงินรายเดือนของสินเชื่อจำนองบ้านขึ้นอยู่กับราคาขายบ้านของระยะเวลาของเงินกู้ที่ต้องการชำระเงินลงร้อยละของผู้ซื้อและอัตราดอกเบี้ยเงินกู้ของ
ปัจจัยเครื่องคิดเลขนี้ใน PMI (Private ประกันสินเชื่อที่อยู่อาศัย) สำหรับเงินให้สินเชื่อที่น้อยกว่า 20% จะใส่เป็นชำระเงินลง ยังนำเข้าสู่การพิจารณาเป็นภาษีทรัพย์สินเมืองและผลกระทบต่อการชำระเงินจำนองรายเดือนทั้งหมด
+GoToInterest=% s จะไปสู่​​ความสนใจ +GoToPrincipal=% s จะไปต่อที่สำคัญ +YouWillSpend=คุณจะใช้% s ในบ้านของคุณในปีที่% s +# Admin +ConfigLoan=การกำหนดค่าของเงินให้กู้ยืมโมดูล +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=ทุนการบัญชีรหัสโดยค่าเริ่มต้น +LOAN_ACCOUNTING_ACCOUNT_INTEREST=ที่น่าสนใจการบัญชีรหัสโดยค่าเริ่มต้น +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=ประกันการบัญชีรหัสโดยค่าเริ่มต้น diff --git a/htdocs/langs/th_TH/mailmanspip.lang b/htdocs/langs/th_TH/mailmanspip.lang index c85b3d60db2..e47c790f0b3 100644 --- a/htdocs/langs/th_TH/mailmanspip.lang +++ b/htdocs/langs/th_TH/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 succesfully -MailmanDeletionSuccess=Unsubscription test was executed succesfully -SynchroMailManEnabled=A Mailman update will be performed -SynchroSpipEnabled=A Spip update will be performed -DescADHERENT_MAILMAN_ADMINPW=Mailman administrator password -DescADHERENT_MAILMAN_URL=URL for Mailman subscriptions -DescADHERENT_MAILMAN_UNSUB_URL=URL for Mailman unsubscriptions -DescADHERENT_MAILMAN_LISTS=List(s) for automatic inscription of new members (separated by a comma) -SPIPTitle=SPIP Content Management System -DescADHERENT_SPIP_SERVEUR=SPIP Server -DescADHERENT_SPIP_DB=SPIP database name -DescADHERENT_SPIP_USER=SPIP database login -DescADHERENT_SPIP_PASS=SPIP database password -AddIntoSpip=Add into SPIP -AddIntoSpipConfirmation=Are you sure you want to add this member into SPIP? -AddIntoSpipError=Failed to add the user in SPIP -DeleteIntoSpip=Remove from SPIP -DeleteIntoSpipConfirmation=Are you sure you want to remove this member from SPIP? -DeleteIntoSpipError=Failed to suppress the user from SPIP -SPIPConnectionFailed=Failed to connect to SPIP -SuccessToAddToMailmanList=Add of %s to mailman list %s or SPIP database done -SuccessToRemoveToMailmanList=Removal of %s from mailman list %s or SPIP database done +MailmanSpipSetup=บุรุษไปรษณีย์และหลักสูตรนานาชาติติดตั้งโมดูล +MailmanTitle=ระบบรายชื่อผู้รับจดหมายบุรุษไปรษณีย์ +TestSubscribe=เพื่อทดสอบการสมัครสมาชิกไปยังรายการบุรุษไปรษณีย์ +TestUnSubscribe=เพื่อทดสอบการยกเลิกการเป็นสมาชิกจากรายการบุรุษไปรษณีย์ +MailmanCreationSuccess=การทดสอบการสมัครสมาชิกได้ดำเนินการประสบความสำเร็จ +MailmanDeletionSuccess=ยกเลิกการทดสอบได้ดำเนินการประสบความสำเร็จ +SynchroMailManEnabled=การปรับปรุงบุรุษไปรษณีย์จะดำเนินการ +SynchroSpipEnabled=การปรับปรุงหลักสูตรนานาชาติจะดำเนินการ +DescADHERENT_MAILMAN_ADMINPW=รหัสผ่านผู้ดูแลบุรุษไปรษณีย์ +DescADHERENT_MAILMAN_URL=URL สำหรับการสมัครสมาชิกบุรุษไปรษณีย์ +DescADHERENT_MAILMAN_UNSUB_URL=URL สำหรับ unsubscriptions บุรุษไปรษณีย์ +DescADHERENT_MAILMAN_LISTS=รายการ (s) สำหรับจารึกอัตโนมัติของสมาชิกใหม่ (คั่นด้วยเครื่องหมายจุลภาค) +SPIPTitle=หลักสูตรนานาชาติระบบการจัดการเนื้อหา +DescADHERENT_SPIP_SERVEUR=เซิร์ฟเวอร์หลักสูตรนานาชาติ +DescADHERENT_SPIP_DB=ชื่อฐานข้อมูลหลักสูตรนานาชาติ +DescADHERENT_SPIP_USER=หลักสูตรนานาชาติเข้าสู่ระบบฐานข้อมูล +DescADHERENT_SPIP_PASS=รหัสผ่านฐานข้อมูลหลักสูตรนานาชาติ +AddIntoSpip=เพิ่มเข้าไปในหลักสูตรนานาชาติ +AddIntoSpipConfirmation=คุณแน่ใจว่าคุณต้องการที่จะเพิ่มสมาชิกนี้ลงในหลักสูตรนานาชาติ? +AddIntoSpipError=ไม่สามารถเพิ่มผู้ใช้ในหลักสูตรนานาชาติ +DeleteIntoSpip=ลบออกจากหลักสูตรนานาชาติ +DeleteIntoSpipConfirmation=คุณแน่ใจว่าคุณต้องการที่จะลบสมาชิกจากหลักสูตรนานาชาตินี้หรือไม่? +DeleteIntoSpipError=ล้มเหลวในการปราบปรามผู้ใช้จากหลักสูตรนานาชาติ +SPIPConnectionFailed=ไม่สามารถเชื่อมต่อหลักสูตรนานาชาติ +SuccessToAddToMailmanList=เพิ่ม% s ในรายการ% s บุรุษไปรษณีย์หรือฐานข้อมูลหลักสูตรนานาชาติทำ +SuccessToRemoveToMailmanList=การกำจัดของ% s จากรายชื่อของบุรุษไปรษณีย์% หรือฐานข้อมูลหลักสูตรนานาชาติทำ diff --git a/htdocs/langs/th_TH/mails.lang b/htdocs/langs/th_TH/mails.lang index 89c71da9123..5d39d88f3da 100644 --- a/htdocs/langs/th_TH/mails.lang +++ b/htdocs/langs/th_TH/mails.lang @@ -1,143 +1,143 @@ # Dolibarr language file - Source file is en_US - mails -Mailing=EMailing -EMailing=EMailing +Mailing=การส่งอีเมล +EMailing=การส่งอีเมล Mailings=EMailings EMailings=EMailings -AllEMailings=All eMailings -MailCard=EMailing card -MailTargets=Targets -MailRecipients=Recipients -MailRecipient=Recipient -MailTitle=Description -MailFrom=Sender -MailErrorsTo=Errors to -MailReply=Reply to -MailTo=Receiver(s) -MailCC=Copy to -MailCCC=Cached copy to -MailTopic=EMail topic -MailText=Message -MailFile=Attached files -MailMessage=EMail body -ShowEMailing=Show emailing -ListOfEMailings=List of emailings -NewMailing=New emailing -EditMailing=Edit emailing -ResetMailing=Resend emailing -DeleteMailing=Delete emailing -DeleteAMailing=Delete an emailing -PreviewMailing=Preview emailing -PrepareMailing=Prepare emailing -CreateMailing=Create emailing -MailingDesc=This page allows you to send emailings to a group of people. -MailingResult=Sending emails result -TestMailing=Test email -ValidMailing=Valid emailing -ApproveMailing=Approve emailing -MailingStatusDraft=Draft -MailingStatusValidated=Validated -MailingStatusApproved=Approved -MailingStatusSent=Sent -MailingStatusSentPartialy=Sent partialy -MailingStatusSentCompletely=Sent completely -MailingStatusError=Error -MailingStatusNotSent=Not sent -MailSuccessfulySent=Email successfully sent (from %s to %s) -MailingSuccessfullyValidated=EMailing successfully validated -MailUnsubcribe=Unsubscribe -Unsuscribe=Unsubscribe -MailingStatusNotContact=Don't contact anymore -ErrorMailRecipientIsEmpty=Email recipient is empty -WarningNoEMailsAdded=No new Email to add to recipient's list. -ConfirmValidMailing=Are you sure you want to validate this emailing ? -ConfirmResetMailing=Warning, by reinitializing emailing %s, you allow to make a mass sending of this email another time. Are you sure you this is what you want to do ? -ConfirmDeleteMailing=Are you sure you want to delete this emailling ? -NbOfRecipients=Number of recipients -NbOfUniqueEMails=Nb of unique emails -NbOfEMails=Nb of EMails -TotalNbOfDistinctRecipients=Number of distinct recipients -NoTargetYet=No recipients defined yet (Go on tab 'Recipients') -AddRecipients=Add recipients -RemoveRecipient=Remove recipient -CommonSubstitutions=Common substitutions -YouCanAddYourOwnPredefindedListHere=To create your email selector module, see htdocs/core/modules/mailings/README. -EMailTestSubstitutionReplacedByGenericValues=When using test mode, substitutions variables are replaced by generic values -MailingAddFile=Attach this file -NoAttachedFiles=No attached files -BadEMail=Bad value for EMail -CloneEMailing=Clone Emailing -ConfirmCloneEMailing=Are you sure you want to clone this emailing ? -CloneContent=Clone message -CloneReceivers=Cloner recipients -DateLastSend=Date of last sending -DateSending=Date sending -SentTo=Sent to %s -MailingStatusRead=Read -CheckRead=Read Receipt -YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list -MailtoEMail=Hyper link to email -ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature -EMailSentToNRecipients=EMail sent to %s recipients. -XTargetsAdded=%s recipients added into target list -EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. -MailTopicSendRemindUnpaidInvoices=Reminder of invoice %s (%s) -SendRemind=Send reminder by EMails -RemindSent=%s reminder(s) sent -AllRecipientSelectedForRemind=All thirdparties selected and if an email is set (note that one mail per invoice will be sent) -NoRemindSent=No EMail reminder sent -ResultOfMassSending=Result of mass EMail reminders sending +AllEMailings=eMailings ทั้งหมด +MailCard=บัตรการส่งอีเมล +MailTargets=เป้าหมาย +MailRecipients=ผู้รับ +MailRecipient=ผู้รับ +MailTitle=ลักษณะ +MailFrom=ผู้ส่ง +MailErrorsTo=ข้อผิดพลาดที่จะ +MailReply=ตอบกลับ +MailTo=รับสัญญาณ (s) +MailCC=คัดลอกไป +MailCCC=คัดลอกเก็บไว้เพื่อ +MailTopic=หัวข้ออีเมล +MailText=ข่าวสาร +MailFile=ไฟล์ที่แนบมา +MailMessage=ร่างกายอีเมล +ShowEMailing=แสดงการส่งอีเมล +ListOfEMailings=รายการ emailings +NewMailing=ส่งอีเมลใหม่ +EditMailing=แก้ไขการส่งอีเมล +ResetMailing=ส่งการส่งอีเมล +DeleteMailing=ลบการส่งอีเมล +DeleteAMailing=ลบการส่งอีเมล +PreviewMailing=ส่งอีเมลตัวอย่าง +PrepareMailing=เตรียมการส่งอีเมล +CreateMailing=สร้างการส่งอีเมล +MailingDesc=หน้านี้ช่วยให้คุณส่ง emailings ไปยังกลุ่มคน +MailingResult=ส่งผลให้การส่งอีเมล +TestMailing=อีเมลทดสอบ +ValidMailing=การส่งอีเมลที่ถูกต้อง +ApproveMailing=อนุมัติการส่งอีเมล +MailingStatusDraft=ร่าง +MailingStatusValidated=ผ่านการตรวจสอบ +MailingStatusApproved=ได้รับการอนุมัติ +MailingStatusSent=ส่ง +MailingStatusSentPartialy=ส่ง partialy +MailingStatusSentCompletely=ส่งสมบูรณ์ +MailingStatusError=ความผิดพลาด +MailingStatusNotSent=ส่งไม่ได้ +MailSuccessfulySent=อีเมลที่ส่งประสบความสำเร็จ (จาก% s% s) +MailingSuccessfullyValidated=ตรวจสอบการส่งอีเมลที่ประสบความสำเร็จ +MailUnsubcribe=ยกเลิก +Unsuscribe=ยกเลิก +MailingStatusNotContact=ไม่ติดต่ออีกต่อไป +ErrorMailRecipientIsEmpty=ผู้รับอีเมล์เป็นที่ว่างเปล่า +WarningNoEMailsAdded=ไม่มีอีเมล์ใหม่เพื่อเพิ่มรายชื่อของผู้รับ +ConfirmValidMailing=คุณแน่ใจหรือว่าต้องการตรวจสอบการส่งอีเมลนี้หรือไม่? +ConfirmResetMailing=คำเตือนโดยการส่งอีเมล reinitializing% s, คุณอนุญาตเพื่อให้มวลส่งอีเมล์นี้อีกครั้ง คุณแน่ใจหรือว่านี่คือสิ่งที่คุณต้องการจะทำอย่างไร? +ConfirmDeleteMailing=คุณแน่ใจหรือว่าต้องการลบ emailling นี้หรือไม่? +NbOfRecipients=จำนวนผู้รับ +NbOfUniqueEMails=nb ของอีเมลที่ไม่ซ้ำกัน +NbOfEMails=nb ของอีเมล +TotalNbOfDistinctRecipients=จำนวนผู้รับที่แตกต่างกัน +NoTargetYet=ผู้รับไม่มีกำหนดเลย (ไปที่แท็บ 'ผู้รับ') +AddRecipients=เพิ่มผู้รับ +RemoveRecipient=ลบผู้รับ +CommonSubstitutions=แทนทั่วไป +YouCanAddYourOwnPredefindedListHere=การสร้างโมดูลเลือกอีเมลของคุณให้ดู htdocs / หลัก / modules / จดหมาย / README +EMailTestSubstitutionReplacedByGenericValues=เมื่อใช้โหมดการทดสอบตัวแปรแทนจะถูกแทนที่ด้วยค่าทั่วไป +MailingAddFile=แนบไฟล์นี้ +NoAttachedFiles=ไม่มีไฟล์ที่แนบมา +BadEMail=ค่าที่ไม่ดีสำหรับอีเมล +CloneEMailing=ส่งอีเมลโคลน +ConfirmCloneEMailing=คุณแน่ใจหรือว่าต้องการโคลนส่งอีเมลนี้หรือไม่? +CloneContent=ข้อความโคลน +CloneReceivers=Cloner ผู้รับ +DateLastSend=วันสุดท้ายของการส่ง +DateSending=วันที่ส่ง +SentTo=ส่งไปยัง% s +MailingStatusRead=อ่าน +CheckRead=อ่านใบเสร็จรับเงิน +YourMailUnsubcribeOK=อีเมล% s ถูกต้อง unsubcribe จากรายการทางไปรษณีย์ +MailtoEMail=การเชื่อมโยงไปยังอีเมลของ Hyper +ActivateCheckRead=อนุญาตให้มีการใช้ "Unsubcribe" การเชื่อมโยง +ActivateCheckReadKey=ที่สำคัญที่ใช้ในการเข้ารหัส URL ที่ใช้ในการ "อ่านใบเสร็จรับเงิน" และ "Unsubcribe" คุณสมบัติ +EMailSentToNRecipients=อีเมลที่ส่งไปยังผู้รับ% s +XTargetsAdded=ผู้รับ% s เพิ่มเข้าไปในรายชื่อเป้าหมาย +EachInvoiceWillBeAttachedToEmail=เอกสารที่ใช้แม่แบบเอกสารใบแจ้งหนี้ค่าเริ่มต้นจะถูกสร้างขึ้นและแนบมากับอีเมลแต่ละ +MailTopicSendRemindUnpaidInvoices=เตือนความทรงจำของใบแจ้งหนี้% (% s) +SendRemind=ส่งการแจ้งเตือนโดยอีเมล์ +RemindSent=เตือน% s (s) ส่ง +AllRecipientSelectedForRemind=thirdparties เลือกและถ้าอีเมลที่มีการตั้งค่า (โปรดทราบว่าหนึ่งอีเมลต่อใบแจ้งหนี้จะถูกส่ง) +NoRemindSent=ไม่มีการแจ้งเตือนอีเมลที่ส่ง +ResultOfMassSending=ผลการแจ้งเตือนมวลส่งอีเมล์ # Libelle des modules de liste de destinataires mailing -MailingModuleDescContactCompanies=Contacts/addresses of all third parties (customer, prospect, supplier, ...) -MailingModuleDescDolibarrUsers=Dolibarr users -MailingModuleDescFundationMembers=Foundation members with emails -MailingModuleDescEmailsFromFile=EMails from a text file (email;lastname;firstname;other) -MailingModuleDescEmailsFromUser=EMails from user input (email;lastname;firstname;other) -MailingModuleDescContactsCategories=Third parties (by category) -MailingModuleDescDolibarrContractsLinesExpired=Third parties with expired contract's lines -MailingModuleDescContactsByCompanyCategory=Contacts/addresses of third parties (by third parties category) -MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category -MailingModuleDescMembersCategories=Foundation members (by categories) -MailingModuleDescContactsByFunction=Contacts/addresses of third parties (by position/function) -LineInFile=Line %s in file -RecipientSelectionModules=Defined requests for recipient's selection -MailSelectedRecipients=Selected recipients -MailingArea=EMailings area -LastMailings=Last %s emailings -TargetsStatistics=Targets statistics -NbOfCompaniesContacts=Unique contacts/addresses -MailNoChangePossible=Recipients for validated emailing can't be changed -SearchAMailing=Search mailing -SendMailing=Send emailing -SendMail=Send email -SentBy=Sent by -MailingNeedCommand=For security reason, sending an emailing is better when performed from command line. If you have one, ask your server administrator to launch the following command to send the emailing to all recipients: -MailingNeedCommand2=You can however send them online by adding parameter MAILING_LIMIT_SENDBYWEB with value of max number of emails you want to send by session. For this, go on Home - Setup - Other. -ConfirmSendingEmailing=If you can't or prefer sending them with your www browser, please confirm you are sure you want to send emailing now from your browser ? -LimitSendingEmailing=Note: Sending of emailings from web interface is done in several times for security and timeout reasons, %s recipients at a time for each sending session. -TargetsReset=Clear list -ToClearAllRecipientsClickHere=Click here to clear the recipient list for this emailing -ToAddRecipientsChooseHere=Add recipients by choosing from the lists -NbOfEMailingsReceived=Mass emailings received -NbOfEMailingsSend=Mass emailings sent -IdRecord=ID record -DeliveryReceipt=Delivery Receipt -YouCanUseCommaSeparatorForSeveralRecipients=You can use the comma separator to specify several recipients. -TagCheckMail=Track mail opening -TagUnsubscribe=Unsubscribe link -TagSignature=Signature sending user -TagMailtoEmail=Recipient EMail +MailingModuleDescContactCompanies=รายชื่อ / ที่อยู่ของบุคคลที่สามทั้งหมด (ลูกค้าโอกาสผู้จัดจำหน่าย, ... ) +MailingModuleDescDolibarrUsers=ผู้ใช้ Dolibarr +MailingModuleDescFundationMembers=สมาชิกมูลนิธิกับอีเมล +MailingModuleDescEmailsFromFile=อีเมลจากแฟ้มข้อความ (อีเมล; นามสกุล; FirstName; อื่น ๆ ) +MailingModuleDescEmailsFromUser=อีเมลจากผู้ใช้ป้อน (อีเมล์นามสกุล; FirstName; อื่น ๆ ) +MailingModuleDescContactsCategories=บุคคลที่สาม (ตามหมวดหมู่) +MailingModuleDescDolibarrContractsLinesExpired=บุคคลที่สามที่มีเส้นที่หมดอายุสัญญา +MailingModuleDescContactsByCompanyCategory=รายชื่อ / ที่อยู่ของบุคคลที่สาม (โดยบุคคลที่สามหมวดหมู่) +MailingModuleDescContactsByCategory=รายชื่อ / ที่อยู่ของบุคคลที่สามตามหมวดหมู่ +MailingModuleDescMembersCategories=สมาชิกมูลนิธิ (ตามประเภท) +MailingModuleDescContactsByFunction=รายชื่อ / ที่อยู่ของบุคคลที่สาม (โดยตำแหน่ง / ฟังก์ชั่น) +LineInFile=สาย% s ในแฟ้ม +RecipientSelectionModules=การร้องขอที่กำหนดไว้สำหรับการเลือกผู้รับ +MailSelectedRecipients=เลือกผู้รับ +MailingArea=พื้นที่ EMailings +LastMailings=% s emailings ล่าสุด +TargetsStatistics=สถิติเป้าหมาย +NbOfCompaniesContacts=รายชื่อที่ไม่ซ้ำกัน / ที่อยู่ +MailNoChangePossible=ผู้รับการตรวจสอบสำหรับการส่งอีเมลที่ไม่สามารถเปลี่ยนแปลงได้ +SearchAMailing=ค้นหาทางไปรษณีย์ +SendMailing=ส่งการส่งอีเมล +SendMail=ส่งอีเมล +SentBy=ที่ส่งมาจาก +MailingNeedCommand=ด้วยเหตุผลด้านความปลอดภัยการส่งการส่งอีเมลที่ดีกว่าเมื่อดำเนินการจากบรรทัดคำสั่ง หากคุณมีหนึ่งขอให้ผู้ดูแลระบบเซิร์ฟเวอร์ของคุณเพื่อเปิดคำสั่งต่อไปที่จะส่งส่งอีเมลไปยังผู้รับทั้งหมด: +MailingNeedCommand2=แต่คุณสามารถส่งพวกเขาออนไลน์ด้วยการเพิ่ม MAILING_LIMIT_SENDBYWEB พารามิเตอร์ที่มีค่าจำนวนสูงสุดของอีเมลที่คุณต้องการส่งโดยเซสชั่น สำหรับเรื่องนี้ไปในหน้าแรก - การติดตั้ง - อื่น ๆ +ConfirmSendingEmailing=ถ้าคุณไม่สามารถหรือชอบส่งให้กับเบราว์เซอร์ของคุณ www โปรดยืนยันคุณแน่ใจว่าคุณต้องการที่จะส่งการส่งอีเมลในขณะนี้จากเบราว์เซอร์ของคุณหรือไม่ +LimitSendingEmailing=หมายเหตุ: การส่งของ emailings จากอินเตอร์เฟซเว็บที่จะทำในหลาย ๆ ครั้งเพื่อความปลอดภัยและเหตุผลหมดเวลาผู้รับ% s ในเวลาสำหรับแต่ละเซสชั่นการส่ง +TargetsReset=รายชื่อที่ชัดเจน +ToClearAllRecipientsClickHere=คลิกที่นี่เพื่อล้างรายชื่อผู้รับสำหรับการส่งอีเมลนี้ +ToAddRecipientsChooseHere=เพิ่มผู้รับโดยเลือกจากรายการ +NbOfEMailingsReceived=emailings มวลที่ได้รับ +NbOfEMailingsSend=emailings มวลส่ง +IdRecord=บันทึก ID +DeliveryReceipt=จัดส่งใบเสร็จรับเงิน +YouCanUseCommaSeparatorForSeveralRecipients=คุณสามารถใช้คั่นด้วยเครื่องหมายจุลภาคเพื่อระบุผู้รับหลาย +TagCheckMail=ติดตามการเปิดอีเมล +TagUnsubscribe=ยกเลิกการเชื่อมโยง +TagSignature=ลายเซ็นผู้ส่ง +TagMailtoEmail=ผู้รับอีเมล # Module Notifications -Notifications=Notifications -NoNotificationsWillBeSent=No email notifications are planned for this event and company -ANotificationsWillBeSent=1 notification will be sent by email -SomeNotificationsWillBeSent=%s notifications will be sent by email -AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets -ListOfNotificationsDone=List all email notifications sent -MailSendSetupIs=Configuration of email sending has been setup to '%s'. This mode can't be used to send mass emailing. -MailSendSetupIs2=You must first go, with an admin account, into menu %sHome - Setup - EMails%s to change parameter '%s' to use mode '%s'. With this mode, you can enter setup of the SMTP server provided by your Internet Service Provider and use Mass emailing feature. -MailSendSetupIs3=If you have any questions on how to setup your SMTP server, you can ask to %s. -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 +Notifications=การแจ้งเตือน +NoNotificationsWillBeSent=ไม่มีการแจ้งเตือนอีเมลที่มีการวางแผนสำหรับเหตุการณ์และ บริษัท นี้ +ANotificationsWillBeSent=1 การแจ้งเตือนจะถูกส่งไปทางอีเมล +SomeNotificationsWillBeSent=% s การแจ้งเตือนจะถูกส่งไปทางอีเมล +AddNewNotification=เปิดใช้งานเป้าหมายการแจ้งเตือนอีเมลใหม่ +ListOfActiveNotifications=รายชื่อเป้าหมายการแจ้งเตือนอีเมลที่ใช้งานทั้งหมด +ListOfNotificationsDone=รายการทั้งหมดแจ้งเตือนอีเมลที่ส่ง +MailSendSetupIs=การกำหนดค่าของการส่งอีเมล์ที่ได้รับการติดตั้งเพื่อ '% s' โหมดนี้ไม่สามารถใช้ในการส่งการส่งอีเมลมวล +MailSendSetupIs2=ก่อนอื่นคุณต้องไปกับบัญชีผู้ดูแลระบบลงไปในเมนู% sHome - การติดตั้ง - อีเมล์% s จะเปลี่ยนพารามิเตอร์ '% s' เพื่อใช้โหมด '% s' ด้วยโหมดนี้คุณสามารถเข้าสู่การตั้งค่าของเซิร์ฟเวอร์ที่ให้บริการโดยผู้ให้บริการอินเทอร์เน็ตของคุณและใช้คุณลักษณะการส่งอีเมลมวล +MailSendSetupIs3=หากคุณมีคำถามใด ๆ เกี่ยวกับวิธีการติดตั้งเซิร์ฟเวอร์ของคุณคุณสามารถขอให้% s +YouCanAlsoUseSupervisorKeyword=นอกจากนี้คุณยังสามารถเพิ่ม __SUPERVISOREMAIL__ คำหลักที่จะมีอีเมลถูกส่งไปยังผู้บังคับบัญชาของผู้ใช้ (ใช้งานได้เฉพาะในกรณีที่อีเมลถูกกำหนดไว้สำหรับหัวหน้างานนี้) +NbOfTargetedContacts=ปัจจุบันจำนวนของอีเมลที่ติดต่อการกำหนดเป้​​าหมาย diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index c40847a8726..478e046085f 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -4,727 +4,733 @@ 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=DejaVuSans -FONTSIZEFORPDF=8 +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 +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH: MI FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d, %Y FormatDateText=%B %d, %Y -FormatDateHourShort=%m/%d/%Y %I:%M %p -FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p +FormatDateHourShort=%d/%m/%Y %I:%M %p +FormatDateHourSecShort=%d/%m/%Y %I:%M:%S %p FormatDateHourTextShort=%b %d, %Y, %I:%M %p FormatDateHourText=%B %d, %Y, %I:%M %p -DatabaseConnection=Database connection -NoTranslation=No translation -NoRecordFound=No record found -NoError=No error -Error=Error -ErrorFieldRequired=Field '%s' is required -ErrorFieldFormat=Field '%s' has a bad value -ErrorFileDoesNotExists=File %s does not exist -ErrorFailedToOpenFile=Failed to open file %s -ErrorCanNotCreateDir=Can not create dir %s -ErrorCanNotReadDir=Can not read dir %s -ErrorConstantNotDefined=Parameter %s not defined -ErrorUnknown=Unknown error -ErrorSQL=SQL Error -ErrorLogoFileNotFound=Logo file '%s' was not found -ErrorGoToGlobalSetup=Go to 'Company/Foundation' setup to fix this -ErrorGoToModuleSetup=Go to Module setup to fix this -ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=%s) -ErrorAttachedFilesDisabled=File attaching is disabled on this server -ErrorFileNotUploaded=File was not uploaded. Check that size does not exceed maximum allowed, that free space is available on disk and that there is not already a file with same name in this directory. -ErrorInternalErrorDetected=Error detected -ErrorNoRequestRan=No request ran -ErrorWrongHostParameter=Wrong host parameter -ErrorYourCountryIsNotDefined=Your country is not defined. Go to Home-Setup-Edit and post again the form. -ErrorRecordIsUsedByChild=Failed to delete this record. This record is used by at least one child records. -ErrorWrongValue=Wrong value -ErrorWrongValueForParameterX=Wrong value for parameter %s -ErrorNoRequestInError=No request in error -ErrorServiceUnavailableTryLater=Service not available for the moment. Try again later. -ErrorDuplicateField=Duplicate value in a unique field -ErrorSomeErrorWereFoundRollbackIsDone=Some errors were found. We rollback changes. -ErrorConfigParameterNotDefined=Parameter %s is not defined inside Dolibarr config file conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Failed to find user %s in Dolibarr database. -ErrorNoVATRateDefinedForSellerCountry=Error, no vat rates defined for country '%s'. -ErrorNoSocialContributionForSellerCountry=Error, no social contribution type defined for country '%s'. -ErrorFailedToSaveFile=Error, failed to save file. -SetDate=Set date -SelectDate=Select a date -SeeAlso=See also %s -SeeHere=See here -BackgroundColorByDefault=Default background color -FileNotUploaded=The file was not uploaded -FileUploaded=The file was successfully uploaded -FileWasNotUploaded=A file is selected for attachment but was not yet uploaded. Click on "Attach file" for this. -NbOfEntries=Nb of entries -GoToWikiHelpPage=Read online help (need Internet access) -GoToHelpPage=Read help -RecordSaved=Record saved -RecordDeleted=Record deleted -LevelOfFeature=Level of features -NotDefined=Not defined -DefinedAndHasThisValue=Defined and value to -IsNotDefined=undefined -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr authentication mode is setup to %s in configuration file conf.php.
This means that password database is extern to Dolibarr, so changing this field may have no effects. -Administrator=Administrator -Undefined=Undefined -PasswordForgotten=Password forgotten ? -SeeAbove=See above -HomeArea=Home area -LastConnexion=Last connection -PreviousConnexion=Previous connection -ConnectedOnMultiCompany=Connected on environment -ConnectedSince=Connected since -AuthenticationMode=Authentification mode -RequestedUrl=Requested Url -DatabaseTypeManager=Database type manager -RequestLastAccess=Request for last database access -RequestLastAccessInError=Request for last database access in error -ReturnCodeLastAccessInError=Return code for last database access in error -InformationLastAccessInError=Information for last database access in error -DolibarrHasDetectedError=Dolibarr has detected a technical error -InformationToHelpDiagnose=This is information that can help diagnostic -MoreInformation=More information -TechnicalInformation=Technical information -NotePublic=Note (public) -NotePrivate=Note (private) -PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. -DoTest=Test -ToFilter=Filter -WarningYouHaveAtLeastOneTaskLate=Warning, you have at least one element that has exceeded the tolerance delay. -yes=yes -Yes=Yes -no=no -No=No -All=All -Home=Home -Help=Help -OnlineHelp=Online help -PageWiki=Wiki page -Always=Always -Never=Never -Under=under -Period=Period -PeriodEndDate=End date for period -Activate=Activate -Activated=Activated -Closed=Closed -Closed2=Closed -Enabled=Enabled -Deprecated=Deprecated -Disable=Disable -Disabled=Disabled -Add=Add -AddLink=Add link -Update=Update -AddActionToDo=Add event to do -AddActionDone=Add event done -Close=Close -Close2=Close -Confirm=Confirm -ConfirmSendCardByMail=Do you really want to send content of this card by mail to %s ? -Delete=Delete -Remove=Remove +DatabaseConnection=เชื่อมต่อฐานข้อมูล +NoTranslation=แปลไม่มี +NoRecordFound=บันทึกไม่พบ +NoError=ไม่มีข้อผิดพลาด +Error=ความผิดพลาด +ErrorFieldRequired=สนาม '% s' จะต้อง +ErrorFieldFormat=สนาม '% s' มีค่าที่ไม่ดี +ErrorFileDoesNotExists=ไฟล์% s ไม่ได้อยู่ +ErrorFailedToOpenFile=ไม่สามารถเปิดไฟล์% s +ErrorCanNotCreateDir=ไม่สามารถสร้าง% s dir +ErrorCanNotReadDir=ไม่สามารถอ่าน% s dir +ErrorConstantNotDefined=พารามิเตอร์% s ไม่ได้กำหนดไว้ +ErrorUnknown=ข้อผิดพลาดที่ไม่รู้จัก +ErrorSQL=ข้อผิดพลาด SQL +ErrorLogoFileNotFound=ไฟล์โลโก้ '% s' ไม่พบ +ErrorGoToGlobalSetup=ไปที่ 'บริษัท / มูลนิธิการติดตั้งการแก้ไขปัญหานี้ +ErrorGoToModuleSetup=ไปยังโมดูลการติดตั้งการแก้ไขปัญหานี้ +ErrorFailedToSendMail=ล้มเหลวในการส่งอีเมล (ส่ง =% s รับ =% s) +ErrorAttachedFilesDisabled=แนบไฟล์ถูกปิดใช้งานบนเซิร์ฟเวอร์นี้ +ErrorFileNotUploaded=ไฟล์ที่อัปโหลดไม่ได้ ตรวจสอบขนาดที่ไม่เกินสูงสุดที่อนุญาตที่พื้นที่ว่างที่มีอยู่บนดิสก์และนั่นก็คือไม่ได้อยู่แล้วไฟล์ที่มีชื่อเดียวกันในไดเรกทอรีนี้ +ErrorInternalErrorDetected=ข้อผิดพลาดที่ตรวจพบ +ErrorNoRequestRan=คำขอวิ่งไม่มี +ErrorWrongHostParameter=โฮสต์พารามิเตอร์ที่ไม่ถูกต้อง +ErrorYourCountryIsNotDefined=ประเทศของคุณจะไม่ได้กำหนดไว้ ไปที่บ้านติดตั้ง-แก้ไขและโพสต์รูปแบบอีกครั้ง +ErrorRecordIsUsedByChild=ไม่สามารถลบบันทึกนี้ บันทึกนี้ถูกนำมาใช้อย่างน้อยหนึ่งบันทึกเด็ก +ErrorWrongValue=ค่าที่ไม่ถูกต้อง +ErrorWrongValueForParameterX=ค่าที่ไม่ถูกต้องสำหรับพารามิเตอร์% s +ErrorNoRequestInError=คำขอในไม่มีข้อผิดพลาด +ErrorServiceUnavailableTryLater=ไม่มีบริการสำหรับช่วงเวลาที่ ลองใหม่อีกครั้ง +ErrorDuplicateField=ค่าที่ซ้ำกันในสนามที่ไม่ซ้ำกัน +ErrorSomeErrorWereFoundRollbackIsDone=ข้อผิดพลาดบางคนพบว่า เราย้อนกลับการเปลี่ยนแปลง +ErrorConfigParameterNotDefined=พารามิเตอร์% s ไม่ได้กำหนดไว้ภายในไฟล์ config Dolibarr conf.php +ErrorCantLoadUserFromDolibarrDatabase=ไม่พบผู้ใช้% s ในฐานข้อมูล Dolibarr +ErrorNoVATRateDefinedForSellerCountry=ข้อผิดพลาดอัตราภาษีมูลค่าเพิ่มไม่มีกำหนดสำหรับประเทศ '% s' +ErrorNoSocialContributionForSellerCountry=ข้อผิดพลาดที่ไม่มีประเภทกิจกรรมเพื่อสังคมที่กำหนดไว้สำหรับประเทศ '% s' +ErrorFailedToSaveFile=ข้อผิดพลาดล้มเหลวที่จะบันทึกไฟล์ +SetDate=วันที่ตั้ง +SelectDate=เลือกวันที่ +SeeAlso=ดูยัง% s +SeeHere=ดูที่นี่ +BackgroundColorByDefault=สีพื้นหลังเริ่มต้น +FileNotUploaded=ไฟล์ที่อัปโหลดไม่ได้ +FileUploaded=ไฟล์อัพโหลดประสบความสำเร็จ +FileWasNotUploaded=ไฟล์ที่ถูกเลือกสำหรับสิ่งที่แนบมา แต่ยังไม่ได้อัปโหลดยัง คลิกที่ "แนบไฟล์" สำหรับเรื่องนี้ +NbOfEntries=nb ของรายการ +GoToWikiHelpPage=อ่านวิธีใช้แบบออนไลน์ (ต้องเชื่อมต่ออินเทอร์เน็ต) +GoToHelpPage=อ่านความช่วยเหลือ +RecordSaved=บันทึกที่บันทึกไว้ +RecordDeleted=บันทึกลบ +LevelOfFeature=ระดับของคุณสมบัติ +NotDefined=ไม่กำหนด +DefinedAndHasThisValue=ที่กำหนดและความคุ้มค่าที่จะ +IsNotDefined=ตะคุ่ม +DolibarrInHttpAuthenticationSoPasswordUseless=โหมดการตรวจสอบ Dolibarr คือการติดตั้ง% s ในแฟ้มการกำหนด conf.php
ซึ่งหมายความว่าฐานข้อมูลรหัสผ่านเป็น extern เพื่อ Dolibarr ดังนั้นการเปลี่ยนแปลงข้อมูลนี้อาจมีผลไม่ +Administrator=ผู้บริหาร +Undefined=ตะคุ่ม +PasswordForgotten=ลืมรหัสผ่าน? +SeeAbove=ดูข้างต้น +HomeArea=พื้นที่หน้าแรก +LastConnexion=การเชื่อมต่อล่าสุด +PreviousConnexion=การเชื่อมต่อก่อนหน้า +ConnectedOnMultiCompany=ที่เชื่อมต่อกับสภาพแวดล้อม +ConnectedSince=เชื่อมต่อตั้งแต่ +AuthenticationMode=โหมด authentification +RequestedUrl=URL ที่ร้องขอ +DatabaseTypeManager=ผู้จัดการฐานข้อมูลประเภท +RequestLastAccess=ขอการเข้าถึงฐานข้อมูลที่ผ่านมา +RequestLastAccessInError=ขอการเข้าถึงฐานข้อมูลที่ผ่านมาในข้อผิดพลาด +ReturnCodeLastAccessInError=ย้อนกลับไปสำหรับการเข้าถึงฐานข้อมูลที่ผ่านมาในข้อผิดพลาด +InformationLastAccessInError=ข้อมูลสำหรับการเข้าถึงฐานข้อมูลที่ผ่านมาในข้อผิดพลาด +DolibarrHasDetectedError=Dolibarr ตรวจพบข้อผิดพลาดทางเทคนิค +InformationToHelpDiagnose=นี่คือข้อมูลที่สามารถช่วยในการวินิจฉัย +MoreInformation=ข้อมูลเพิ่มเติม +TechnicalInformation=ข้อมูลด้านเทคนิค +NotePublic=หมายเหตุ (มหาชน) +NotePrivate=หมายเหตุ (เอกชน) +PrecisionUnitIsLimitedToXDecimals=Dolibarr ถูกติดตั้งเพื่อ จำกัด แม่นยำของราคาต่อหน่วย% s ทศนิยม +DoTest=ทดสอบ +ToFilter=กรอง +WarningYouHaveAtLeastOneTaskLate=คำเตือนคุณมีอย่างน้อยองค์ประกอบหนึ่งที่ได้เกินความล่าช้าความอดทน +yes=ใช่ +Yes=ใช่ +no=ไม่ +No=ไม่ +All=ทั้งหมด +Home=บ้าน +Help=ช่วย +OnlineHelp=ความช่วยเหลือออนไลน์ +PageWiki=หน้าวิกิพีเดีย +Always=เสมอ +Never=ไม่เคย +Under=ภายใต้ +Period=ระยะเวลา +PeriodEndDate=วันที่สิ้นสุดระยะเวลา +Activate=กระตุ้น +Activated=เปิดใช้งาน +Closed=ปิด +Closed2=ปิด +Enabled=ที่เปิดใช้งาน +Deprecated=เลิกใช้ +Disable=ปิดการใช้งาน +Disabled=พิการ +Add=เพิ่ม +AddLink=เพิ่มการเชื่อมโยง +Update=ปรับปรุง +AddActionToDo=เพิ่มเหตุการณ์ที่จะทำ +AddActionDone=เพิ่มเหตุการณ์ทำ +Close=ใกล้ +Close2=ใกล้ +Confirm=ยืนยัน +ConfirmSendCardByMail=จริงๆคุณต้องการที่จะส่งเนื้อหาของการ์ดใบนี้ทางไปรษณีย์ไปยัง% s? +Delete=ลบ +Remove=เอาออก Resiliate=Resiliate -Cancel=Cancel -Modify=Modify -Edit=Edit -Validate=Validate -ValidateAndApprove=Validate and Approve -ToValidate=To validate -Save=Save -SaveAs=Save As -TestConnection=Test connection -ToClone=Clone -ConfirmClone=Choose data you want to clone : -NoCloneOptionsSpecified=No data to clone defined. -Of=of -Go=Go -Run=Run -CopyOf=Copy of -Show=Show -ShowCardHere=Show card -Search=Search -SearchOf=Search -Valid=Valid -Approve=Approve -Disapprove=Disapprove -ReOpen=Re-Open -Upload=Send file -ToLink=Link -Select=Select -Choose=Choose -ChooseLangage=Please choose your language -Resize=Resize +Cancel=ยกเลิก +Modify=แก้ไข +Edit=แก้ไข +Validate=ตรวจสอบ +ValidateAndApprove=ตรวจสอบและอนุมัติ +ToValidate=ในการตรวจสอบ +Save=บันทึก +SaveAs=บันทึกเป็น +TestConnection=ทดสอบการเชื่อมต่อ +ToClone=โคลน +ConfirmClone=เลือกข้อมูลที่คุณต้องการในการโคลน: +NoCloneOptionsSpecified=ไม่มีข้อมูลที่จะโคลนที่กำหนดไว้ +Of=ของ +Go=ไป +Run=วิ่ง +CopyOf=สำเนา +Show=แสดง +ShowCardHere=การ์ดแสดง +Search=ค้นหา +SearchOf=ค้นหา +Valid=ถูกต้อง +Approve=อนุมัติ +Disapprove=ไม่พอใจ +ReOpen=Re: เปิด +Upload=ส่งไฟล์ +ToLink=ลิงค์ +Select=เลือก +Choose=เลือก +ChooseLangage=กรุณาเลือกภาษาที่คุณ +Resize=การปรับขนาด Recenter=Recenter -Author=Author -User=User -Users=Users -Group=Group -Groups=Groups -NoUserGroupDefined=No user group defined -Password=Password -PasswordRetype=Retype your password -NoteSomeFeaturesAreDisabled=Note that a lot of features/modules are disabled in this demonstration. -Name=Name -Person=Person -Parameter=Parameter -Parameters=Parameters -Value=Value -GlobalValue=Global value -PersonalValue=Personal value -NewValue=New value -CurrentValue=Current value -Code=Code -Type=Type -Language=Language -MultiLanguage=Multi-language -Note=Note -CurrentNote=Current note -Title=Title -Label=Label -RefOrLabel=Ref. or label -Info=Log -Family=Family -Description=Description -Designation=Description -Model=Model -DefaultModel=Default model -Action=Event -About=About -Number=Number -NumberByMonth=Number by month -AmountByMonth=Amount by month -Numero=Number -Limit=Limit -Limits=Limits -DevelopmentTeam=Development Team -Logout=Logout -NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s -Connection=Connection -Setup=Setup -Alert=Alert -Previous=Previous -Next=Next -Cards=Cards -Card=Card -Now=Now -HourStart=Start hour -Date=Date -DateAndHour=Date and hour -DateStart=Date start -DateEnd=Date end -DateCreation=Creation date -DateModification=Modification date -DateModificationShort=Modif. date -DateLastModification=Last modification date -DateValidation=Validation date -DateClosing=Closing date -DateDue=Due date -DateValue=Value date -DateValueShort=Value date -DateOperation=Operation date -DateOperationShort=Oper. Date -DateLimit=Limit date -DateRequest=Request date -DateProcess=Process date -DatePlanShort=Date planed -DateRealShort=Date real. -DateBuild=Report build date -DatePayment=Date of payment -DateApprove=Approving date -DateApprove2=Approving date (second approval) -DurationYear=year -DurationMonth=month -DurationWeek=week -DurationDay=day -DurationYears=years -DurationMonths=months -DurationWeeks=weeks -DurationDays=days -Year=Year -Month=Month -Week=Week -Day=Day -Hour=Hour -Minute=Minute -Second=Second -Years=Years -Months=Months -Days=Days -days=days -Hours=Hours -Minutes=Minutes -Seconds=Seconds -Weeks=Weeks -Today=Today -Yesterday=Yesterday -Tomorrow=Tomorrow -Morning=Morning -Afternoon=Afternoon +Author=ผู้เขียน +User=ผู้ใช้งาน +Users=ผู้ใช้ +Group=กลุ่ม +Groups=กลุ่ม +NoUserGroupDefined=ไม่มีกลุ่มผู้ใช้ที่กำหนดไว้ +Password=รหัสผ่าน +PasswordRetype=พิมพ์รหัสผ่านของคุณ +NoteSomeFeaturesAreDisabled=โปรดทราบว่าจำนวนมากของคุณสมบัติ / โมดูลถูกปิดใช้งานในการสาธิตนี้ +Name=ชื่อ +Person=คน +Parameter=พารามิเตอร์ +Parameters=พารามิเตอร์ +Value=มูลค่า +GlobalValue=มูลค่าทั่วโลก +PersonalValue=ค่าส่วนบุคคล +NewValue=ค่าใหม่ +CurrentValue=มูลค่าปัจจุบัน +Code=รหัส +Type=ชนิด +Language=ภาษา +MultiLanguage=หลายภาษา +Note=บันทึก +CurrentNote=บันทึกปัจจุบัน +Title=ชื่อเรื่อง +Label=ฉลาก +RefOrLabel=อ้าง หรือฉลาก +Info=เข้าสู่ระบบ +Family=ครอบครัว +Description=ลักษณะ +Designation=ลักษณะ +Model=แบบ +DefaultModel=รูปแบบเริ่มต้น +Action=เหตุการณ์ +About=เกี่ยวกับ +Number=จำนวน +NumberByMonth=จำนวนเดือน +AmountByMonth=จํานวนเงินตามเดือน +Numero=จำนวน +Limit=จำกัด +Limits=ขีด จำกัด +DevelopmentTeam=ทีมพัฒนา +Logout=ออกจากระบบ +NoLogoutProcessWithAuthMode=ไม่มีคุณลักษณะปลดปรับใช้กับโหมดการตรวจสอบ %s +Connection=สัมพันธ์ +Setup=การติดตั้ง +Alert=เตือนภัย +Previous=ก่อน +Next=ถัดไป +Cards=การ์ด +Card=บัตร +Now=ตอนนี้ +HourStart=เริ่มต้นชั่วโมง +Date=วันที่ +DateAndHour=วันที่และชั่วโมง +DateStart=เริ่มต้นวันที่ +DateEnd=สิ้นสุดวันที่ +DateCreation=วันที่สร้าง +DateModification=วันที่แก้ไข +DateModificationShort=Modif วันที่ +DateLastModification=วันที่แก้ไขล่าสุด +DateValidation=วันที่ตรวจสอบ +DateClosing=วันปิดสมุดทะเบียน +DateDue=วันที่ครบกำหนด +DateValue=วันที่คิดมูลค่า +DateValueShort=วันที่คิดมูลค่า +DateOperation=วันที่การดำเนินงาน +DateOperationShort=โรงละครโอเปรา วันที่ +DateLimit=วัน จำกัด +DateRequest=วันที่ขอ +DateProcess=วันที่กระบวนการ +DatePlanShort=วันที่วางแผน +DateRealShort=วันจริง +DateBuild=รายงานวันที่สร้าง +DatePayment=วันที่ชำระเงิน +DateApprove=วันที่อนุมัติ +DateApprove2=วันที่อนุมัติ (ที่สองได้รับการอนุมัติ) +DurationYear=ปี +DurationMonth=เดือน +DurationWeek=สัปดาห์ +DurationDay=วัน +DurationYears=ปี +DurationMonths=เดือน +DurationWeeks=สัปดาห์ที่ผ่านมา +DurationDays=วัน +Year=ปี +Month=เดือน +Week=สัปดาห์ +Day=วัน +Hour=ชั่วโมง +Minute=นาที +Second=ที่สอง +Years=ปีที่ผ่านมา +Months=เดือน +Days=วัน +days=วัน +Hours=ชั่วโมง +Minutes=นาที +Seconds=วินาที +Weeks=สัปดาห์ที่ผ่านมา +Today=ในวันนี้ +Yesterday=เมื่อวาน +Tomorrow=วันพรุ่งนี้ +Morning=ตอนเช้า +Afternoon=บ่าย Quadri=Quadri -MonthOfDay=Month of the day +MonthOfDay=เดือนของวัน HourShort=H -MinuteShort=mn -Rate=Rate -UseLocalTax=Include tax -Bytes=Bytes -KiloBytes=Kilobytes -MegaBytes=Megabytes -GigaBytes=Gigabytes -TeraBytes=Terabytes -b=b. -Kb=Kb +MinuteShort=ล้าน +Rate=ประเมิน +UseLocalTax=รวมภาษี +Bytes=ไบต์ +KiloBytes=กิโลไบต์ +MegaBytes=เมกะไบต์ +GigaBytes=กิกะไบต์ +TeraBytes=เทราไบต์ +b=ข +Kb=กิโลไบต์ Mb=Mb Gb=Gb Tb=Tb -Cut=Cut -Copy=Copy -Paste=Paste -Default=Default -DefaultValue=Default value -DefaultGlobalValue=Global value -Price=Price -UnitPrice=Unit price -UnitPriceHT=Unit price (net) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested -PriceUTTC=U.P. -Amount=Amount -AmountInvoice=Invoice amount -AmountPayment=Payment amount -AmountHTShort=Amount (net) -AmountTTCShort=Amount (inc. tax) -AmountHT=Amount (net of tax) -AmountTTC=Amount (inc. tax) -AmountVAT=Amount tax -AmountLT1=Amount tax 2 -AmountLT2=Amount tax 3 -AmountLT1ES=Amount RE -AmountLT2ES=Amount IRPF -AmountTotal=Total amount -AmountAverage=Average amount -PriceQtyHT=Price for this quantity (net of tax) -PriceQtyMinHT=Price quantity min. (net of tax) -PriceQtyTTC=Price for this quantity (inc. tax) -PriceQtyMinTTC=Price quantity min. (inc. of tax) -Percentage=Percentage -Total=Total -SubTotal=Subtotal -TotalHTShort=Total (net) -TotalTTCShort=Total (inc. tax) -TotalHT=Total (net of tax) -TotalHTforthispage=Total (net of tax) for this page -TotalTTC=Total (inc. tax) -TotalTTCToYourCredit=Total (inc. tax) to your credit -TotalVAT=Total tax -TotalLT1=Total tax 2 -TotalLT2=Total tax 3 -TotalLT1ES=Total RE -TotalLT2ES=Total IRPF -IncludedVAT=Included tax -HT=Net of tax -TTC=Inc. tax -VAT=Sales tax +Cut=ตัด +Copy=สำเนา +Paste=แปะ +Default=ผิดนัด +DefaultValue=ค่ามาตรฐาน +DefaultGlobalValue=มูลค่าทั่วโลก +Price=ราคา +UnitPrice=ราคาต่อหน่วย +UnitPriceHT=ราคาต่อหน่วย (สุทธิ) +UnitPriceTTC=ราคาต่อหน่วย +PriceU=UP +PriceUHT=UP (สุทธิ) +AskPriceSupplierUHT=ขอขึ้นสุทธิ +PriceUTTC=UP +Amount=จำนวน +AmountInvoice=จำนวนใบแจ้งหนี้ +AmountPayment=จำนวนเงินที่ชำระ +AmountHTShort=จำนวนเงิน (สุทธิ) +AmountTTCShort=จํานวนเงิน (รวมภาษี). +AmountHT=จำนวนเงิน (สุทธิจากภาษี) +AmountTTC=จํานวนเงิน (รวมภาษี). +AmountVAT=จํานวนเงินภาษี +AmountLT1=จำนวนเงินภาษี 2 +AmountLT2=จำนวนเงินภาษี 3 +AmountLT1ES=จำนวน RE +AmountLT2ES=จำนวน IRPF +AmountTotal=จำนวนเงินรวม +AmountAverage=จำนวนเงินเฉลี่ย +PriceQtyHT=ราคานี้สำหรับปริมาณ (สุทธิจากภาษี) +PriceQtyMinHT=ปริมาณราคาต่ำสุด (สุทธิจากภาษี) +PriceQtyTTC=ราคานี้สำหรับปริมาณ (รวมภาษี). +PriceQtyMinTTC=ปริมาณราคาต่ำสุด (inc. ภาษี) +Percentage=ร้อยละ +Total=ทั้งหมด +SubTotal=ไม่ทั้งหมด +TotalHTShort=รวม (สุทธิ) +TotalTTCShort=รวม (รวมภาษี). +TotalHT=รวม (สุทธิจากภาษี) +TotalHTforthispage=รวม (สุทธิจากภาษี) สำหรับหน้านี้ +TotalTTC=รวม (รวมภาษี). +TotalTTCToYourCredit=รวม (inc. ภาษี) เพื่อเครดิตของคุณ +TotalVAT=รวมภาษี +TotalLT1=ภาษีทั้งหมด 2 +TotalLT2=ภาษีทั้งหมด 3 +TotalLT1ES=RE รวม +TotalLT2ES=IRPF รวม +IncludedVAT=รวมภาษี +HT=สุทธิจากภาษี +TTC=อิงค์ภาษี +VAT=ภาษีการขาย LT1ES=RE LT2ES=IRPF -VATRate=Tax Rate -Average=Average -Sum=Sum -Delta=Delta -Module=Module -Option=Option -List=List -FullList=Full list -Statistics=Statistics -OtherStatistics=Other statistics -Status=Status -Favorite=Favorite -ShortInfo=Info. -Ref=Ref. -ExternalRef=Ref. extern -RefSupplier=Ref. supplier -RefPayment=Ref. payment -CommercialProposalsShort=Commercial proposals -Comment=Comment -Comments=Comments -ActionsToDo=Events to do -ActionsDone=Events done -ActionsToDoShort=To do -ActionsRunningshort=Started -ActionsDoneShort=Done -ActionNotApplicable=Not applicable -ActionRunningNotStarted=To start -ActionRunningShort=Started -ActionDoneShort=Finished +VATRate=อัตราภาษี +Average=เฉลี่ย +Sum=รวม +Delta=รูปสามเหลี่ยม +Module=โมดูล +Option=ตัวเลือก +List=รายการ +FullList=รายการเต็มรูปแบบ +Statistics=สถิติ +OtherStatistics=สถิติอื่น ๆ +Status=สถานะ +Favorite=ที่ชื่นชอบ +ShortInfo=ข้อมูล +Ref=อ้าง +ExternalRef=อ้าง extern +RefSupplier=อ้าง ผู้จัดจำหน่าย +RefPayment=อ้าง การชำระเงิน +CommercialProposalsShort=ข้อเสนอเชิงพาณิชย์ +Comment=ความเห็น +Comments=ความคิดเห็น +ActionsToDo=เหตุการณ์ที่จะทำ +ActionsDone=เหตุการณ์ทำ +ActionsToDoShort=ที่จะทำ +ActionsRunningshort=เริ่มต้น +ActionsDoneShort=เสร็จสิ้น +ActionNotApplicable=ไม่สามารถใช้งาน +ActionRunningNotStarted=ในการเริ่มต้น +ActionRunningShort=เริ่มต้น +ActionDoneShort=เสร็จสิ้น ActionUncomplete=Uncomplete -CompanyFoundation=Company/Foundation -ContactsForCompany=Contacts for this third party -ContactsAddressesForCompany=Contacts/addresses for this third party -AddressesForCompany=Addresses for this third party -ActionsOnCompany=Events about this third party -ActionsOnMember=Events about this member -NActions=%s events -NActionsLate=%s late -RequestAlreadyDone=Request already recorded -Filter=Filter -RemoveFilter=Remove filter -ChartGenerated=Chart generated -ChartNotGenerated=Chart not generated -GeneratedOn=Build on %s -Generate=Generate -Duration=Duration -TotalDuration=Total duration -Summary=Summary -MyBookmarks=My bookmarks -OtherInformationsBoxes=Other information boxes -DolibarrBoard=Dolibarr board -DolibarrStateBoard=Statistics -DolibarrWorkBoard=Work tasks board -Available=Available -NotYetAvailable=Not yet available -NotAvailable=Not available -Popularity=Popularity -Categories=Tags/categories -Category=Tag/category -By=By -From=From -to=to -and=and -or=or -Other=Other -Others=Others -OtherInformations=Other informations -Quantity=Quantity -Qty=Qty -ChangedBy=Changed by -ApprovedBy=Approved by -ApprovedBy2=Approved by (second approval) -ReCalculate=Recalculate -ResultOk=Success -ResultKo=Failure -Reporting=Reporting -Reportings=Reporting -Draft=Draft -Drafts=Drafts -Validated=Validated -Opened=Opened -New=New -Discount=Discount -Unknown=Unknown -General=General -Size=Size -Received=Received -Paid=Paid -Topic=Sujet -ByCompanies=By third parties -ByUsers=By users -Links=Links -Link=Link -Receipts=Receipts -Rejects=Rejects -Preview=Preview -NextStep=Next step -PreviousStep=Previous step -Datas=Data -None=None -NoneF=None -Late=Late -Photo=Picture -Photos=Pictures -AddPhoto=Add picture -Login=Login -CurrentLogin=Current login -January=January -February=February -March=March -April=April -May=May -June=June -July=July -August=August -September=September -October=October -November=November -December=December -JanuaryMin=Jan -FebruaryMin=Feb -MarchMin=Mar -AprilMin=Apr -MayMin=May -JuneMin=Jun -JulyMin=Jul -AugustMin=Aug -SeptemberMin=Sep -OctoberMin=Oct -NovemberMin=Nov -DecemberMin=Dec -Month01=January -Month02=February -Month03=March -Month04=April -Month05=May -Month06=June -Month07=July -Month08=August -Month09=September -Month10=October -Month11=November -Month12=December -MonthShort01=Jan -MonthShort02=Feb -MonthShort03=Mar -MonthShort04=Apr -MonthShort05=May -MonthShort06=Jun -MonthShort07=Jul -MonthShort08=Aug -MonthShort09=Sep -MonthShort10=Oct -MonthShort11=Nov -MonthShort12=Dec -AttachedFiles=Attached files and documents -FileTransferComplete=File was uploaded successfuly +CompanyFoundation=บริษัท / มูลนิธิ +ContactsForCompany=สำหรับรายชื่อของบุคคลที่สามนี้ +ContactsAddressesForCompany=รายชื่อ / ที่อยู่สำหรับบุคคลที่สามนี้ +AddressesForCompany=สำหรับที่อยู่ของบุคคลที่สามนี้ +ActionsOnCompany=เหตุการณ์ที่เกิดขึ้นเกี่ยวกับบุคคลที่สามนี้ +ActionsOnMember=เหตุการณ์ที่เกิดขึ้นเกี่ยวกับสมาชิกในนี้ +NActions=% s เหตุการณ์ +NActionsLate=% s ปลาย +RequestAlreadyDone=ขอบันทึกไว้แล้ว +Filter=กรอง +RemoveFilter=ลบฟิลเตอร์ +ChartGenerated=สร้างแผนภูมิ +ChartNotGenerated=ผังไม่ได้สร้างขึ้น +GeneratedOn=สร้าง% s +Generate=ผลิต +Duration=ระยะเวลา +TotalDuration=ระยะเวลารวม +Summary=ย่อ +MyBookmarks=ฉันบุ๊คมาร์ค +OtherInformationsBoxes=กล่องข้อมูลอื่น ๆ +DolibarrBoard=คณะกรรมการ Dolibarr +DolibarrStateBoard=สถิติ +DolibarrWorkBoard=คณะกรรมการงานการทำงาน +Available=มีจำหน่าย +NotYetAvailable=ยังไม่สามารถใช้ได้ +NotAvailable=ไม่พร้อม +Popularity=ความนิยม +Categories=แท็ก / ประเภท +Category=Tag / หมวดหมู่ +By=โดย +From=จาก +to=ไปยัง +and=และ +or=หรือ +Other=อื่น ๆ +Others=คนอื่น ๆ +OtherInformations=ข้อมูลอื่น ๆ +Quantity=ปริมาณ +Qty=จำนวน +ChangedBy=เปลี่ยนแปลงได้โดย +ApprovedBy=อนุมัติโดย +ApprovedBy2=อนุมัติโดย (อนุมัติวินาที) +Approved=ได้รับการอนุมัติ +Refused=ปฏิเสธ +ReCalculate=คำนวณ +ResultOk=ความสำเร็จ +ResultKo=ความล้มเหลว +Reporting=การรายงาน +Reportings=การรายงาน +Draft=ร่าง +Drafts=ร่าง +Validated=ผ่านการตรวจสอบ +Opened=เปิด +New=ใหม่ +Discount=ส่วนลด +Unknown=ไม่ทราบ +General=ทั่วไป +Size=ขนาด +Received=ที่ได้รับ +Paid=ต้องจ่าย +Topic=sujet +ByCompanies=โดยบุคคลที่สาม +ByUsers=โดยผู้ใช้ +Links=ลิงค์ +Link=ลิงค์ +Receipts=รายรับ +Rejects=เสีย +Preview=ดูตัวอย่าง +NextStep=ขั้นตอนต่อไป +PreviousStep=ขั้นตอนก่อนหน้า +Datas=ข้อมูล +None=ไม่ +NoneF=ไม่ +Late=สาย +Photo=ภาพ +Photos=รูปภาพ +AddPhoto=เพิ่มรูปภาพ +Login=เข้าสู่ระบบ +CurrentLogin=เข้าสู่ระบบปัจจุบัน +January=มกราคม +February=กุมภาพันธ์ +March=มีนาคม +April=เมษายน +May=พฤษภาคม +June=มิถุนายน +July=กรกฎาคม +August=สิงหาคม +September=กันยายน +October=ตุลาคม +November=พฤศจิกายน +December=ธันวาคม +JanuaryMin=ม.ค. +FebruaryMin=กุมภาพันธ์ +MarchMin=ทำลาย +AprilMin=เมษายน +MayMin=พฤษภาคม +JuneMin=มิถุนายน +JulyMin=กรกฎาคม +AugustMin=สิงหาคม +SeptemberMin=กันยายน +OctoberMin=ตุลาคม +NovemberMin=พฤศจิกายน +DecemberMin=ธันวาคม +Month01=มกราคม +Month02=กุมภาพันธ์ +Month03=มีนาคม +Month04=เมษายน +Month05=พฤษภาคม +Month06=มิถุนายน +Month07=กรกฎาคม +Month08=สิงหาคม +Month09=กันยายน +Month10=ตุลาคม +Month11=พฤศจิกายน +Month12=ธันวาคม +MonthShort01=ม.ค. +MonthShort02=กุมภาพันธ์ +MonthShort03=ทำลาย +MonthShort04=เมษายน +MonthShort05=พฤษภาคม +MonthShort06=มิถุนายน +MonthShort07=กรกฎาคม +MonthShort08=สิงหาคม +MonthShort09=กันยายน +MonthShort10=ตุลาคม +MonthShort11=พฤศจิกายน +MonthShort12=ธันวาคม +AttachedFiles=ไฟล์ที่แนบมาและเอกสาร +FileTransferComplete=ไฟล์อัพโหลด successfuly DateFormatYYYYMM=YYYY-MM DateFormatYYYYMMDD=YYYY-MM-DD DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS -ReportName=Report name -ReportPeriod=Report period -ReportDescription=Description -Report=Report -Keyword=Mot clé -Legend=Legend -FillTownFromZip=Fill city from zip -Fill=Fill -Reset=Reset -ShowLog=Show log -File=File -Files=Files -NotAllowed=Not allowed -ReadPermissionNotAllowed=Read permission not allowed -AmountInCurrency=Amount in %s currency -Example=Example -Examples=Examples -NoExample=No example -FindBug=Report a bug -NbOfThirdParties=Number of third parties -NbOfCustomers=Number of customers -NbOfLines=Number of lines -NbOfObjects=Number of objects -NbOfReferers=Number of referrers -Referers=Refering objects -TotalQuantity=Total quantity -DateFromTo=From %s to %s -DateFrom=From %s -DateUntil=Until %s -Check=Check -Uncheck=Uncheck -Internal=Internal -External=External -Internals=Internal -Externals=External -Warning=Warning -Warnings=Warnings -BuildPDF=Build PDF -RebuildPDF=Rebuild PDF -BuildDoc=Build Doc -RebuildDoc=Rebuild Doc -Entity=Environment -Entities=Entities -EventLogs=Logs -CustomerPreview=Customer preview -SupplierPreview=Supplier preview -AccountancyPreview=Accountancy preview -ShowCustomerPreview=Show customer preview -ShowSupplierPreview=Show supplier preview -ShowAccountancyPreview=Show accountancy preview -ShowProspectPreview=Show prospect preview -RefCustomer=Ref. customer -Currency=Currency -InfoAdmin=Information for administrators -Undo=Undo -Redo=Redo -ExpandAll=Expand all -UndoExpandAll=Undo expand -Reason=Reason -FeatureNotYetSupported=Feature not yet supported -CloseWindow=Close window -Question=Question -Response=Response -Priority=Priority -SendByMail=Send by EMail -MailSentBy=Email sent by -TextUsedInTheMessageBody=Email body -SendAcknowledgementByMail=Send Ack. by email -NoEMail=No email -NoMobilePhone=No mobile phone -Owner=Owner -DetectedVersion=Detected version -FollowingConstantsWillBeSubstituted=The following constants will be replaced with the corresponding value. -Refresh=Refresh -BackToList=Back to list -GoBack=Go back -CanBeModifiedIfOk=Can be modified if valid -CanBeModifiedIfKo=Can be modified if not valid -RecordModifiedSuccessfully=Record modified successfully -RecordsModified=%s records modified -AutomaticCode=Automatic code -NotManaged=Not managed -FeatureDisabled=Feature disabled -MoveBox=Move box %s -Offered=Offered -NotEnoughPermissions=You don't have permission for this action -SessionName=Session name -Method=Method -Receive=Receive -PartialWoman=Partial -PartialMan=Partial -TotalWoman=Total -TotalMan=Total -NeverReceived=Never received -Canceled=Canceled -YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary -Color=Color -Documents=Linked files -DocumentsNb=Linked files (%s) -Documents2=Documents -BuildDocuments=Generated documents -UploadDisabled=Upload disabled -MenuECM=Documents +ReportName=ชื่อรายงาน +ReportPeriod=ระยะเวลาที่รายงาน +ReportDescription=ลักษณะ +Report=รายงาน +Keyword=Mot Clé +Legend=ตำนาน +FillTownFromZip=กรอกเมืองจากไปรษณีย์ +Fill=ใส่ +Reset=ตั้งใหม่ +ShowLog=แสดงการเข้าสู่ระบบ +File=ไฟล์ +Files=ไฟล์ +NotAllowed=ไม่อนุญาตให้ +ReadPermissionNotAllowed=ได้รับอนุญาตอ่านไม่ได้รับอนุญาต +AmountInCurrency=จำนวนเงินในสกุลเงิน% s +Example=ตัวอย่าง +Examples=ตัวอย่าง +NoExample=ตัวอย่างเช่นไม่มี +FindBug=รายงานข้อผิดพลาด +NbOfThirdParties=จำนวนของบุคคลที่สาม +NbOfCustomers=จำนวนของลูกค้า +NbOfLines=จำนวนของเส้น +NbOfObjects=จำนวนของวัตถุ +NbOfReferers=จำนวนการอ้างอิง +Referers=หมายวัตถุ +TotalQuantity=ปริมาณรวม +DateFromTo=จาก% s% s +DateFrom=จาก% s +DateUntil=จนกระทั่ง% s +Check=ตรวจสอบ +Uncheck=ยกเลิกการเลือก +Internal=ภายใน +External=ภายนอก +Internals=ภายใน +Externals=ภายนอก +Warning=การเตือน +Warnings=คำเตือน +BuildPDF=สร้างรูปแบบไฟล์ PDF +RebuildPDF=สร้างรูปแบบไฟล์ PDF +BuildDoc=สร้างหมอ +RebuildDoc=สร้างหมอ +Entity=สิ่งแวดล้อม +Entities=หน่วยงานที่ +EventLogs=บันทึก +CustomerPreview=ตัวอย่างลูกค้า +SupplierPreview=ตัวอย่างผู้ผลิต +AccountancyPreview=ตัวอย่างการบัญชี +ShowCustomerPreview=แสดงตัวอย่างของลูกค้า +ShowSupplierPreview=แสดงตัวอย่างผู้จัดจำหน่าย +ShowAccountancyPreview=แสดงตัวอย่างบัญชี +ShowProspectPreview=แสดงตัวอย่างโอกาส +RefCustomer=อ้าง ลูกค้า +Currency=เงินตรา +InfoAdmin=ข้อมูลสำหรับผู้ดูแล +Undo=แก้ +Redo=ทำซ้ำ +ExpandAll=ขยายทั้งหมด +UndoExpandAll=ยกเลิกการขยาย +Reason=เหตุผล +FeatureNotYetSupported=มียังไม่สนับสนุน +CloseWindow=ปิดหน้าต่าง +Question=คำถาม +Response=คำตอบ +Priority=ลำดับความสำคัญ +SendByMail=ส่งทางอีเมล +MailSentBy=อีเมล์ที่ส่งมาจาก +TextUsedInTheMessageBody=ร่างกายอีเมล์ +SendAcknowledgementByMail=ส่ง Ack โดยการส่งอีเมล์ +NoEMail=ไม่มีอีเมล +NoMobilePhone=ไม่มีโทรศัพท์มือถือ +Owner=เจ้าของ +DetectedVersion=รุ่นที่ตรวจพบ +FollowingConstantsWillBeSubstituted=ค่าคงที่ต่อไปนี้จะถูกแทนที่ด้วยค่าที่สอดคล้องกัน +Refresh=รีเฟรช +BackToList=กลับไปยังรายการ +GoBack=กลับไป +CanBeModifiedIfOk=สามารถแก้ไขได้ถ้าถูกต้อง +CanBeModifiedIfKo=สามารถแก้ไขได้ถ้าไม่ถูกต้อง +RecordModifiedSuccessfully=บันทึกแก้ไขเรียบร้อย +RecordsModified=% s บันทึกการแก้ไข +AutomaticCode=รหัสอัตโนมัติ +NotManaged=การจัดการไม่ได้ +FeatureDisabled=ปิดใช้งานคุณลักษณะ +MoveBox=ย้ายกล่อง% s +Offered=ที่นำเสนอ +NotEnoughPermissions=คุณไม่ได้รับอนุญาตสำหรับการดำเนินการนี​​้ +SessionName=ชื่อเซสชั่น +Method=วิธี +Receive=ได้รับ +PartialWoman=เป็นบางส่วน +PartialMan=เป็นบางส่วน +TotalWoman=ทั้งหมด +TotalMan=ทั้งหมด +NeverReceived=ไม่เคยได้รับ +Canceled=ยกเลิก +YouCanChangeValuesForThisListFromDictionarySetup=คุณสามารถเปลี่ยนค่าสำหรับรายชื่อจากการตั้งค่าเมนูนี้ - พจนานุกรม +Color=สี +Documents=แฟ้มที่เชื่อมโยง +DocumentsNb=แฟ้มที่เชื่อมโยง (% s) +Documents2=เอกสาร +BuildDocuments=เอกสารที่สร้างขึ้น +UploadDisabled=อัพโหลดพิการ +MenuECM=เอกสาร MenuAWStats=AWStats -MenuMembers=Members -MenuAgendaGoogle=Google agenda -ThisLimitIsDefinedInSetup=Dolibarr limit (Menu home-setup-security): %s Kb, PHP limit: %s Kb -NoFileFound=No documents saved in this directory -CurrentUserLanguage=Current language -CurrentTheme=Current theme -CurrentMenuManager=Current menu manager -DisabledModules=Disabled modules -For=For -ForCustomer=For customer -Signature=Signature -HidePassword=Show command with password hidden -UnHidePassword=Show real command with clear password -Root=Root -Informations=Informations -Page=Page -Notes=Notes -AddNewLine=Add new line -AddFile=Add file -ListOfFiles=List of available files -FreeZone=Free entry -FreeLineOfType=Free entry of type -CloneMainAttributes=Clone object with its main attributes -PDFMerge=PDF Merge -Merge=Merge -PrintContentArea=Show page to print main content area -MenuManager=Menu manager -NoMenu=No sub-menu -WarningYouAreInMaintenanceMode=Warning, you are in a maintenance mode, so only login %s is allowed to use application at the moment. -CoreErrorTitle=System error -CoreErrorMessage=Sorry, an error occurred. Check the logs or contact your system administrator. -CreditCard=Credit card -FieldsWithAreMandatory=Fields with %s are mandatory -FieldsWithIsForPublic=Fields with %s are shown on public list of members. If you don't want this, check off the "public" box. -AccordingToGeoIPDatabase=(according to GeoIP convertion) -Line=Line -NotSupported=Not supported -RequiredField=Required field -Result=Result -ToTest=Test -ValidateBefore=Card must be validated before using this feature -Visibility=Visibility -Private=Private -Hidden=Hidden -Resources=Resources -Source=Source -Prefix=Prefix -Before=Before -After=After -IPAddress=IP address -Frequency=Frequency -IM=Instant messaging -NewAttribute=New attribute -AttributeCode=Attribute code -OptionalFieldsSetup=Extra attributes setup -URLPhoto=URL of photo/logo -SetLinkToThirdParty=Link to another third party -CreateDraft=Create draft -SetToDraft=Back to draft -ClickToEdit=Click to edit -ObjectDeleted=Object %s deleted -ByCountry=By country -ByTown=By town -ByDate=By date -ByMonthYear=By month/year -ByYear=By year -ByMonth=By month -ByDay=By day -BySalesRepresentative=By sales representative -LinkedToSpecificUsers=Linked to a particular user contact -DeleteAFile=Delete a file -ConfirmDeleteAFile=Are you sure you want to delete file -NoResults=No results -ModulesSystemTools=Modules tools -Test=Test -Element=Element -NoPhotoYet=No pictures available yet -HomeDashboard=Home summary -Deductible=Deductible -from=from -toward=toward -Access=Access -HelpCopyToClipboard=Use Ctrl+C to copy to clipboard -SaveUploadedFileWithMask=Save file on server with name "%s" (otherwise "%s") -OriginFileName=Original filename -SetDemandReason=Set source -SetBankAccount=Define Bank Account -AccountCurrency=Account Currency -ViewPrivateNote=View notes -XMoreLines=%s line(s) hidden -PublicUrl=Public URL -AddBox=Add box -SelectElementAndClickRefresh=Select an element and click Refresh -PrintFile=Print File %s -ShowTransaction=Show transaction -GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. -Deny=Deny -Denied=Denied +MenuMembers=สมาชิก +MenuAgendaGoogle=วาระการประชุมของ Google +ThisLimitIsDefinedInSetup=Dolibarr ขีด จำกัด (เมนูที่บ้านการตั้งค่าการรักษาความปลอดภัย):% s Kb, PHP ขีด จำกัด :% s Kb +NoFileFound=ไม่มีเอกสารที่บันทึกไว้ในไดเรกทอรีนี้ +CurrentUserLanguage=ภาษาปัจจุบัน +CurrentTheme=รูปแบบปัจจุบัน +CurrentMenuManager=ผู้จัดการเมนูปัจจุบัน +DisabledModules=โมดูลพิการ +For=สำหรับ +ForCustomer=สำหรับลูกค้า +Signature=ลายเซ็น +HidePassword=แสดงคำสั่งที่มีรหัสผ่านที่ซ่อน +UnHidePassword=แสดงคำสั่งที่แท้จริงด้วยรหัสผ่านที่ชัดเจน +Root=ราก +Informations=ข้อมูล +Page=หน้า +Notes=หมายเหตุ +AddNewLine=เพิ่มบรรทัดใหม่ +AddFile=เพิ่มไฟล์ +ListOfFiles=รายชื่อของไฟล์ที่มีอยู่ +FreeZone=รายการฟรี +FreeLineOfType=รายการฟรีประเภท +CloneMainAttributes=วัตถุโคลนที่มีคุณลักษณะหลัก +PDFMerge=ผสานรูปแบบไฟล์ PDF +Merge=ผสาน +PrintContentArea=หน้าแสดงพื้นที่ในการพิมพ์เนื้อหาหลัก +MenuManager=ผู้จัดการเมนู +NoMenu=ไม่มีเมนูย่อย +WarningYouAreInMaintenanceMode=คำเตือนคุณอยู่ในโหมดการบำรุงรักษาดังนั้นเพียง% s เข้าสู่ระบบได้รับอนุญาตให้ใช้โปรแกรมในขณะนี้ +CoreErrorTitle=ผิดพลาดของระบบ +CoreErrorMessage=ขออภัยเกิดข้อผิดพลาด ตรวจสอบบันทึกหรือติดต่อผู้ดูแลระบบของคุณ +CreditCard=เครดิตการ์ด +FieldsWithAreMandatory=เขตข้อมูลที่มี% s มีผลบังคับใช้ +FieldsWithIsForPublic=เขตข้อมูลที่มี% s จะปรากฏอยู่ในรายชื่อของประชาชนสมาชิก ถ้าคุณไม่อยากให้เรื่องนี้, ตรวจสอบการปิดกล่อง "สาธารณะ" +AccordingToGeoIPDatabase=(ตาม GeoIP แปลง) +Line=สาย +NotSupported=ไม่สนับสนุน +RequiredField=ฟิลด์ที่จำเป็น +Result=ผล +ToTest=ทดสอบ +ValidateBefore=บัตรจะต้องถูกตรวจสอบก่อนที่จะใช้คุณลักษณะนี้ +Visibility=ความชัดเจน +Private=ส่วนตัว +Hidden=ซ่อนเร้น +Resources=ทรัพยากร +Source=แหล่ง +Prefix=อุปสรรค +Before=ก่อนที่ +After=หลังจาก +IPAddress=ที่อยู่ IP +Frequency=ความถี่ +IM=การส่งข้อความโต้ตอบแบบทันที +NewAttribute=คุณลักษณะใหม่ +AttributeCode=รหัสแอตทริบิวต์ +OptionalFieldsSetup=คุณลักษณะพิเศษติดตั้ง +URLPhoto=URL ของภาพ / โลโก้ +SetLinkToThirdParty=เชื่อมโยงไปยังบุคคลที่สามอีก +CreateDraft=สร้างร่าง +SetToDraft=กลับไปร่าง +ClickToEdit=คลิกเพื่อแก้ไข +ObjectDeleted=วัตถุ% s ลบ +ByCountry=ตามประเทศ +ByTown=โดยเมือง +ByDate=โดยวันที่ +ByMonthYear=โดยเดือน / ปี +ByYear=โดยปี +ByMonth=โดยเดือน +ByDay=โดยวันที่ +BySalesRepresentative=โดยตัวแทนฝ่ายขาย +LinkedToSpecificUsers=เชื่อมโยงกับการติดต่อผู้ใช้โดยเฉพาะอย่างยิ่ง +DeleteAFile=ลบไฟล์ +ConfirmDeleteAFile=คุณแน่ใจหรือว่าต้องการที่จะลบไฟล์ +NoResults=ไม่มีผลลัพธ์ +SystemTools=เครื่องมือของระบบ +ModulesSystemTools=เครื่องมือโมดูล +Test=ทดสอบ +Element=ธาตุ +NoPhotoYet=ภาพที่ยังไม่มี +HomeDashboard=สรุปหน้าแรก +Deductible=หัก +from=จาก +toward=ไปทาง +Access=การเข้าถึง +HelpCopyToClipboard=ใช้ Ctrl + C เพื่อคัดลอกไปที่คลิปบอร์ด +SaveUploadedFileWithMask=บันทึกไฟล์บนเซิร์ฟเวอร์ที่มีชื่อ "%s" (มิฉะนั้น "%s") +OriginFileName=ชื่อไฟล์ต้นฉบับ +SetDemandReason=แหล่งที่มาของการตั้งค่า +SetBankAccount=กำหนดบัญชีธนาคาร +AccountCurrency=สกุลเงินในบัญชี +ViewPrivateNote=ดูบันทึก +XMoreLines=% s สาย (s) ซ่อน +PublicUrl=URL ที่สาธารณะ +AddBox=เพิ่มกล่อง +SelectElementAndClickRefresh=เลือกองค์ประกอบและคลิกฟื้นฟู +PrintFile=พิมพ์ไฟล์% s +ShowTransaction=แสดงการทำธุรกรรม +GoIntoSetupToChangeLogo=ไปลงในหน้าหลัก - การติดตั้ง - บริษัท ที่จะเปลี่ยนโลโก้หรือไปลงในหน้าแรก - การติดตั้ง - จอแสดงผลที่จะซ่อน +Deny=ปฏิเสธ +Denied=ปฏิเสธ +ListOfTemplates=รายชื่อของแม่แบบ +Genderman=คน +Genderwoman=หญิง # Week day -Monday=Monday -Tuesday=Tuesday -Wednesday=Wednesday -Thursday=Thursday -Friday=Friday -Saturday=Saturday -Sunday=Sunday -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=We +Monday=วันจันทร์ +Tuesday=วันอังคาร +Wednesday=วันพุธ +Thursday=วันพฤหัสบดี +Friday=วันศุกร์ +Saturday=วันเสาร์ +Sunday=วันอาทิตย์ +MondayMin=โม +TuesdayMin=เฉิงตู +WednesdayMin=เรา ThursdayMin=Th FridayMin=Fr SaturdayMin=Sa -SundayMin=Su -Day1=Monday -Day2=Tuesday -Day3=Wednesday -Day4=Thursday -Day5=Friday -Day6=Saturday -Day0=Sunday +SundayMin=ซู +Day1=วันจันทร์ +Day2=วันอังคาร +Day3=วันพุธ +Day4=วันพฤหัสบดี +Day5=วันศุกร์ +Day6=วันเสาร์ +Day0=วันอาทิตย์ ShortMonday=M ShortTuesday=T ShortWednesday=W @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=แม่แบบอีเมลเลือก diff --git a/htdocs/langs/th_TH/margins.lang b/htdocs/langs/th_TH/margins.lang index 748b3c71f30..65ae3af6533 100644 --- a/htdocs/langs/th_TH/margins.lang +++ b/htdocs/langs/th_TH/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 -UserMargins=User margins -ProductService=Product or Service -AllProducts=All products and services -ChooseProduct/Service=Choose product or service -StartDate=Start date -EndDate=End date -Launch=Start -ForceBuyingPriceIfNull=Force buying price if null -ForceBuyingPriceIfNullDetails=if "ON", margin will be zero on line (buying price = selling price), otherwise ("OFF"), marge will be equal to selling price (buying price = 0) -MARGIN_METHODE_FOR_DISCOUNT=Margin method for global discounts -UseDiscountAsProduct=As a product -UseDiscountAsService=As a service -UseDiscountOnTotal=On subtotal -MARGIN_METHODE_FOR_DISCOUNT_DETAILS=Defines if a global discount is treated as a product, a service, or only on subtotal for margin calculation. -MARGIN_TYPE=Margin type -MargeBrute=Raw margin -MargeNette=Net margin -MARGIN_TYPE_DETAILS=Raw margin : Selling price - Buying price
Net margin : Selling price - Cost price -CostPrice=Cost price -BuyingCost=Cost price -UnitCharges=Unit charges -Charges=Charges -AgentContactType=Commercial agent contact type -AgentContactTypeDetails=Define what contact type (linked on invoices) will be used for margin report per sale representative -rateMustBeNumeric=Rate must be a numeric value -markRateShouldBeLesserThan100=Mark rate should be lower than 100 -ShowMarginInfos=Show margin infos +Margin=ขอบ +Margins=อัตรากำไรขั้นต้น +TotalMargin=มาร์จิ้นรวม +MarginOnProducts=อัตรากำไรขั้นต้น / ผลิตภัณฑ์ +MarginOnServices=อัตรากำไรขั้นต้น / บริการ +MarginRate=อัตรากำไร +MarkRate=อัตรามาร์ค +DisplayMarginRates=แสดงอัตรากำไร +DisplayMarkRates=แสดงอัตราเครื่องหมาย +InputPrice=ราคานำเข้า +margin=การจัดการกำไรอัตรากำไรขั้นต้น +margesSetup=การตั้งค่าการจัดการกำไรอัตรากำไรขั้นต้น +MarginDetails=รายละเอียดอัตรากำไรขั้นต้น +ProductMargins=อัตรากำไรขั้นต้นของผลิตภัณฑ์ +CustomerMargins=อัตรากำไรขั้นต้นของลูกค้า +SalesRepresentativeMargins=อัตรากำไรขั้นต้นเป็นตัวแทนขาย +UserMargins=อัตรากำไรขั้นต้นของผู้ใช้ +ProductService=สินค้าหรือบริการ +AllProducts=ผลิตภัณฑ์และบริการทั้งหมด +ChooseProduct/Service=เลือกสินค้าหรือบริการ +StartDate=วันที่เริ่มต้น +EndDate=วันที่สิ้นสุด +Launch=เริ่มต้น +ForceBuyingPriceIfNull=กองทัพราคาซื้อถ้า null +ForceBuyingPriceIfNullDetails=ถ้า "ON" ขอบจะเป็นศูนย์ในบรรทัด (ซื้อราคา = ราคาขาย) มิฉะนั้น ("OFF"), มาร์จจะเท่ากับราคาขาย (ซื้อราคา = 0) +MARGIN_METHODE_FOR_DISCOUNT=วิธี Margin ส่วนลดทั่วโลก +UseDiscountAsProduct=เป็นผลิตภัณฑ์ +UseDiscountAsService=เป็นบริการ +UseDiscountOnTotal=เกี่ยวกับผลรวมย่อย +MARGIN_METHODE_FOR_DISCOUNT_DETAILS=กำหนดถ้าลดราคาทั่วโลกจะถือว่าเป็นสินค้าบริการหรือเพียง แต่ในผลรวมย่อยสำหรับการคำนวณอัตรากำไรขั้นต้น +MARGIN_TYPE=ประเภทมาร์จิ้น +MargeBrute=ขอบดิบ +MargeNette=อัตรากำไรสุทธิ +MARGIN_TYPE_DETAILS=ขอบดิบ: ราคาขาย - ราคาซื้อ
อัตรากำไรสุทธิ: ราคาขาย - ราคาต้นทุน +CostPrice=ราคาทุน +BuyingCost=ราคาทุน +UnitCharges=ค่าใช้จ่ายต่อหน่วย +Charges=ค่าใช้จ่าย +AgentContactType=ตัวแทนพาณิชย์ประเภทการติดต่อ +AgentContactTypeDetails=กำหนดประเภทติดต่อ (เชื่อมโยงในใบแจ้งหนี้) จะใช้สำหรับการรายงานอัตรากำไรขั้นต้นต่อตัวแทนขาย +rateMustBeNumeric=อัตราจะต้องเป็นค่าตัวเลข +markRateShouldBeLesserThan100=อัตรามาร์คควรจะต่ำกว่า 100 +ShowMarginInfos=แสดงขอบข่าวสาร diff --git a/htdocs/langs/th_TH/members.lang b/htdocs/langs/th_TH/members.lang index 40bca8e85fb..bf8968918b9 100644 --- a/htdocs/langs/th_TH/members.lang +++ b/htdocs/langs/th_TH/members.lang @@ -1,206 +1,206 @@ # Dolibarr language file - Source file is en_US - members -MembersArea=Members area -PublicMembersArea=Public members area -MemberCard=Member card -SubscriptionCard=Subscription card -Member=Member -Members=Members -MemberAccount=Member login -ShowMember=Show member card -UserNotLinkedToMember=User not linked to a member -ThirdpartyNotLinkedToMember=Third-party not linked to a member -MembersTickets=Members Tickets -FundationMembers=Foundation members -Attributs=Attributes -ErrorMemberTypeNotDefined=Member type not defined -ListOfPublicMembers=List of public members -ListOfValidatedPublicMembers=List of validated public members -ErrorThisMemberIsNotPublic=This member is not public -ErrorMemberIsAlreadyLinkedToThisThirdParty=Another member (name: %s, login: %s) is already linked to a third party %s. Remove this link first because a third party can't be linked to only a member (and vice versa). -ErrorUserPermissionAllowsToLinksToItselfOnly=For security reasons, you must be granted permissions to edit all users to be able to link a member to a user that is not yours. -ThisIsContentOfYourCard=This is details of your card -CardContent=Content of your member card -SetLinkToUser=Link to a Dolibarr user -SetLinkToThirdParty=Link to a Dolibarr third party -MembersCards=Members business cards -MembersList=List of members -MembersListToValid=List of draft members (to be validated) -MembersListValid=List of valid members -MembersListUpToDate=List of valid members with up to date subscription -MembersListNotUpToDate=List of valid members with subscription out of date -MembersListResiliated=List of resiliated members -MembersListQualified=List of qualified members -MenuMembersToValidate=Draft members -MenuMembersValidated=Validated members -MenuMembersUpToDate=Up to date members -MenuMembersNotUpToDate=Out of date members -MenuMembersResiliated=Resiliated members -MembersWithSubscriptionToReceive=Members with subscription to receive -DateAbonment=Subscription date -DateSubscription=Subscription date -DateNextSubscription=Next subscription -DateEndSubscription=Subscription end date -EndSubscription=End subscription -SubscriptionId=Subscription id -MemberId=Member id -NewMember=New member -NewType=New member type -MemberType=Member type -MemberTypeId=Member type id -MemberTypeLabel=Member type label -MembersTypes=Members types -MembersAttributes=Members attributes -SearchAMember=Search a member -MemberStatusDraft=Draft (needs to be validated) -MemberStatusDraftShort=Draft -MemberStatusActive=Validated (waiting subscription) -MemberStatusActiveShort=Validated -MemberStatusActiveLate=subscription expired -MemberStatusActiveLateShort=Expired -MemberStatusPaid=Subscription up to date -MemberStatusPaidShort=Up to date -MemberStatusResiliated=Resiliated member +MembersArea=พื้นที่สมาชิก +PublicMembersArea=พื้นที่สาธารณะสมาชิก +MemberCard=บัตรสมาชิก +SubscriptionCard=สมัครสมาชิกบัตร +Member=สมาชิก +Members=สมาชิก +MemberAccount=เข้าสู่ระบบสมาชิก +ShowMember=แสดงบัตรสมาชิก +UserNotLinkedToMember=ผู้ใช้ไม่ได้เชื่อมโยงไปยังสมาชิก +ThirdpartyNotLinkedToMember=บุคคลที่สามไม่ได้เชื่อมโยงไปยังสมาชิก +MembersTickets=บัตรสมาชิก +FundationMembers=สมาชิกมูลนิธิ +Attributs=คุณลักษณะ +ErrorMemberTypeNotDefined=สมาชิกประเภทไม่ได้กำหนดไว้ +ListOfPublicMembers=รายชื่อสมาชิกที่สาธารณะ +ListOfValidatedPublicMembers=ตรวจสอบรายชื่อของสมาชิกในที่สาธารณะ +ErrorThisMemberIsNotPublic=สมาชิกคนนี้ไม่ได้เป็นของประชาชน +ErrorMemberIsAlreadyLinkedToThisThirdParty=สมาชิกอีกคนหนึ่ง (ชื่อ:% s, เข้าสู่ระบบ:% s) จะเชื่อมโยงกับบุคคลที่สาม% s ลบลิงค์นี้ก่อนเพราะบุคคลที่สามไม่สามารถเชื่อมโยงไปยังสมาชิกเท่านั้น (และในทางกลับกัน) +ErrorUserPermissionAllowsToLinksToItselfOnly=ด้วยเหตุผลด้านความปลอดภัยคุณต้องได้รับสิทธิ์ในการแก้ไขผู้ใช้ทุกคนที่จะสามารถที่จะเชื่อมโยงสมาชิกให้กับผู้ใช้ที่ไม่ได้เป็นของคุณ +ThisIsContentOfYourCard=นี่คือรายละเอียดของบัตรของคุณ +CardContent=เนื้อหาของบัตรสมาชิกของคุณ +SetLinkToUser=เชื่อมโยงไปยังผู้ใช้ Dolibarr +SetLinkToThirdParty=เชื่อมโยงไปยัง Dolibarr ของบุคคลที่สาม +MembersCards=สมาชิกบัตรธุรกิจ +MembersList=รายชื่อสมาชิก +MembersListToValid=รายชื่อสมาชิกร่าง (ที่จะถูกตรวจสอบ) +MembersListValid=รายชื่อสมาชิกที่ถูกต้อง +MembersListUpToDate=รายชื่อสมาชิกที่ถูกต้องที่มีถึงวันที่สมัครสมาชิก +MembersListNotUpToDate=รายชื่อสมาชิกที่ถูกต้องด้วยการสมัครสมาชิกออกจากวันที่ +MembersListResiliated=รายชื่อสมาชิก resiliated +MembersListQualified=รายชื่อสมาชิกที่ผ่านการรับรอง +MenuMembersToValidate=สมาชิกร่าง +MenuMembersValidated=สมาชิกผ่านการตรวจสอบ +MenuMembersUpToDate=ขึ้นอยู่กับสมาชิกในวันที่ +MenuMembersNotUpToDate=ออกจากสมาชิกวัน +MenuMembersResiliated=สมาชิก Resiliated +MembersWithSubscriptionToReceive=สมาชิกที่มีการสมัครสมาชิกจะได้รับ +DateAbonment=วันที่สมัครสมาชิก +DateSubscription=วันที่สมัครสมาชิก +DateNextSubscription=สมัครสมาชิกถัดไป +DateEndSubscription=วันที่สิ้นสุดการสมัครสมาชิก +EndSubscription=สมัครสมาชิก End +SubscriptionId=รหัสการจองซื้อ +MemberId=รหัสสมาชิก +NewMember=สมาชิกใหม่ +NewType=ประเภทสมาชิกใหม่ +MemberType=ประเภทสมาชิก +MemberTypeId=หมายเลขสมาชิกประเภท +MemberTypeLabel=สมาชิกป้ายพิมพ์ +MembersTypes=สมาชิกประเภท +MembersAttributes=คุณลักษณะสมาชิก +SearchAMember=ค้นหาสมาชิก +MemberStatusDraft=ร่าง (จะต้องมีการตรวจสอบ) +MemberStatusDraftShort=ร่าง +MemberStatusActive=การตรวจสอบ (รอการสมัครสมาชิก) +MemberStatusActiveShort=ผ่านการตรวจสอบ +MemberStatusActiveLate=สมัครสมาชิกหมดอายุ +MemberStatusActiveLateShort=หมดอายุ +MemberStatusPaid=สมัครสมาชิกถึงวันที่ +MemberStatusPaidShort=ถึงวันที่ +MemberStatusResiliated=สมาชิก Resiliated MemberStatusResiliatedShort=Resiliated -MembersStatusToValid=Draft members -MembersStatusToValidShort=Draft members -MembersStatusValidated=Validated members -MembersStatusPaid=Subscription up to date -MembersStatusPaidShort=Up to date -MembersStatusNotPaid=Subscription out of date -MembersStatusNotPaidShort=Out of date -MembersStatusResiliated=Resiliated members -MembersStatusResiliatedShort=Resiliated members -NewCotisation=New contribution -PaymentSubscription=New contribution payment -EditMember=Edit member -SubscriptionEndDate=Subscription's end date -MembersTypeSetup=Members type setup -NewSubscription=New subscription -NewSubscriptionDesc=This form allows you to record your subscription as a new member of the foundation. If you want to renew your subscription (if already a member), please contact foundation board instead by email %s. -Subscription=Subscription -Subscriptions=Subscriptions -SubscriptionLate=Late -SubscriptionNotReceived=Subscription never received -SubscriptionLateShort=Late -SubscriptionNotReceivedShort=Never received -ListOfSubscriptions=List of subscriptions -SendCardByMail=Send card by Email -AddMember=Create member -NoTypeDefinedGoToSetup=No member types defined. Go to menu "Members types" -NewMemberType=New member type -WelcomeEMail=Welcome e-mail -SubscriptionRequired=Subscription required -EditType=Edit member type -DeleteType=Delete -VoteAllowed=Vote allowed -Physical=Physical -Moral=Moral -MorPhy=Moral/Physical -Reenable=Reenable -ResiliateMember=Resiliate a member -ConfirmResiliateMember=Are you sure you want to resiliate this member ? -DeleteMember=Delete a member -ConfirmDeleteMember=Are you sure you want to delete this member (Deleting a member will delete all his subscriptions) ? -DeleteSubscription=Delete a subscription -ConfirmDeleteSubscription=Are you sure you want to delete this subscription ? -Filehtpasswd=htpasswd file -ValidateMember=Validate a member -ConfirmValidateMember=Are you sure you want to validate this member ? -FollowingLinksArePublic=The following links are open pages not protected by any Dolibarr permission. They are not formated pages, provided as example to show how to list members database. -PublicMemberList=Public member list -BlankSubscriptionForm=Public auto-subscription form -BlankSubscriptionFormDesc=Dolibarr can provide you a public URL to allow external visitors to ask to subscribe to the foundation. If an online payment module is enabled, a payment form will also be automatically provided. -EnablePublicSubscriptionForm=Enable the public auto-subscription form -MemberPublicLinks=Public links/pages -ExportDataset_member_1=Members and subscriptions -ImportDataset_member_1=Members -LastMembers=Last %s members -LastMembersModified=Last %s modified members -LastSubscriptionsModified=Last %s modified subscriptions -AttributeName=Attribute name -String=String -Text=Text +MembersStatusToValid=สมาชิกร่าง +MembersStatusToValidShort=สมาชิกร่าง +MembersStatusValidated=สมาชิกผ่านการตรวจสอบ +MembersStatusPaid=สมัครสมาชิกถึงวันที่ +MembersStatusPaidShort=ถึงวันที่ +MembersStatusNotPaid=สมัครสมาชิกออกจากวันที่ +MembersStatusNotPaidShort=ออกจากวันที่ +MembersStatusResiliated=สมาชิก Resiliated +MembersStatusResiliatedShort=สมาชิก Resiliated +NewCotisation=ผลงานใหม่ +PaymentSubscription=การชำระเงินผลงานใหม่ +EditMember=แก้ไขสมาชิก +SubscriptionEndDate=วันที่สิ้นสุดการสมัครสมาชิกของ +MembersTypeSetup=สมาชิกประเภทการติดตั้ง +NewSubscription=สมัครสมาชิกใหม่ +NewSubscriptionDesc=รูปแบบนี้จะช่วยให้คุณสามารถบันทึกการสมัครสมาชิกของคุณเป็นสมาชิกใหม่ของมูลนิธิ หากคุณต้องการที่จะต่ออายุการเป็นสมาชิกของคุณ (ถ้าเป็นสมาชิกอยู่แล้ว) กรุณาติดต่อคณะกรรมการมูลนิธิแทนโดยการส่งอีเมล์% s +Subscription=สมัครสมาชิก +Subscriptions=การสมัครเป็นสมาชิก +SubscriptionLate=สาย +SubscriptionNotReceived=ไม่เคยได้รับการจองซื้อ +SubscriptionLateShort=สาย +SubscriptionNotReceivedShort=ไม่เคยได้รับ +ListOfSubscriptions=รายชื่อของการสมัคร +SendCardByMail=ส่งบัตรทางอีเมล์ +AddMember=สร้างสมาชิก +NoTypeDefinedGoToSetup=ประเภทสมาชิกไม่มีกำหนด ไปที่เมนู "สมาชิกประเภท" +NewMemberType=ประเภทสมาชิกใหม่ +WelcomeEMail=ยินดีต้อนรับอีเมล +SubscriptionRequired=ต้องสมัครสมาชิก +EditType=แก้ไขประเภทสมาชิก +DeleteType=ลบ +VoteAllowed=โหวตที่ได้รับอนุญาต +Physical=กายภาพ +Moral=ศีลธรรม +MorPhy=คุณธรรม / กายภาพบำบัด +Reenable=reenable +ResiliateMember=Resiliate สมาชิก +ConfirmResiliateMember=คุณแน่ใจหรือว่าต้องการ resiliate สมาชิกนี้? +DeleteMember=ลบสมาชิก +ConfirmDeleteMember=คุณแน่ใจหรือว่าต้องการลบสมาชิกนี้ (ลบสมาชิกจะลบการสมัครสมาชิกของเขาทั้งหมด)? +DeleteSubscription=ลบการสมัครสมาชิก +ConfirmDeleteSubscription=คุณแน่ใจหรือว่าต้องการลบการสมัครสมาชิกนี้? +Filehtpasswd=ไฟล์ htpasswd +ValidateMember=ตรวจสอบสมาชิก +ConfirmValidateMember=คุณแน่ใจว่าคุณต้องการที่จะตรวจสอบสมาชิกนี้? +FollowingLinksArePublic=การเชื่อมโยงต่อไปนี้เป็นหน้าเปิดไม่ได้รับการคุ้มครองโดยได้รับอนุญาตใด ๆ Dolibarr พวกเขาจะไม่หน้าจัดรูปแบบให้เป็นตัวอย่างแสดงให้เห็นว่าในรายการฐานข้อมูลสมาชิก +PublicMemberList=รายชื่อสมาชิกสาธารณะ +BlankSubscriptionForm=ใบจองซื้อรถยนต์สาธารณะ +BlankSubscriptionFormDesc=Dolibarr สามารถให้คุณ URL ที่สาธารณะเพื่อให้ผู้เข้าชมภายนอกเพื่อขอสมัครเป็นสมาชิกมูลนิธิ ถ้าโมดูลการชำระเงินออนไลน์มีการใช้งานรูปแบบการชำระเงินจะได้รับการให้โดยอัตโนมัติ +EnablePublicSubscriptionForm=เปิดใช้งานรูปแบบการสมัครสมาชิกอัตโนมัติสาธารณะ +MemberPublicLinks=การเชื่อมโยงสาธารณะ / หน้า +ExportDataset_member_1=และการสมัครสมาชิก +ImportDataset_member_1=สมาชิก +LastMembers=ล่าสุดสมาชิก% s +LastMembersModified=% ล่าสุดสมาชิกปรับเปลี่ยน +LastSubscriptionsModified=% ล่าสุดของการปรับเปลี่ยนการสมัครสมาชิก +AttributeName=Attribute ชื่อ +String=เชือก +Text=ข้อความ Int=Int -Date=Date -DateAndTime=Date and time -PublicMemberCard=Member public card -MemberNotOrNoMoreExpectedToSubscribe=Member not or no more expected to subscribe -AddSubscription=Create subscription -ShowSubscription=Show subscription -MemberModifiedInDolibarr=Member modified in Dolibarr -SendAnEMailToMember=Send information email to member -DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=Subject of the e-mail received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_NOTIF_MAIL=E-mail received in case of auto-inscription of a guest -DescADHERENT_AUTOREGISTER_MAIL_SUBJECT=EMail subject for member autosubscription -DescADHERENT_AUTOREGISTER_MAIL=EMail for member autosubscription -DescADHERENT_MAIL_VALID_SUBJECT=EMail subject for member validation -DescADHERENT_MAIL_VALID=EMail for member validation -DescADHERENT_MAIL_COTIS_SUBJECT=EMail subject for subscription -DescADHERENT_MAIL_COTIS=EMail for subscription -DescADHERENT_MAIL_RESIL_SUBJECT=EMail subject for member resiliation -DescADHERENT_MAIL_RESIL=EMail for member resiliation -DescADHERENT_MAIL_FROM=Sender EMail for automatic emails -DescADHERENT_ETIQUETTE_TYPE=Format of labels page -DescADHERENT_ETIQUETTE_TEXT=Text printed on member address sheets -DescADHERENT_CARD_TYPE=Format of cards page -DescADHERENT_CARD_HEADER_TEXT=Text printed on top of member cards -DescADHERENT_CARD_TEXT=Text printed on member cards (align on left) -DescADHERENT_CARD_TEXT_RIGHT=Text printed on member cards (align on right) -DescADHERENT_CARD_FOOTER_TEXT=Text printed on bottom of member cards -GlobalConfigUsedIfNotDefined=Text defined in Foundation module setup will be used if not defined here -MayBeOverwrited=This text can be overwrited by value defined for member's type -ShowTypeCard=Show type '%s' -HTPasswordExport=htpassword file generation -NoThirdPartyAssociatedToMember=No third party associated to this member -ThirdPartyDolibarr=Dolibarr third party -MembersAndSubscriptions= Members and Subscriptions -MoreActions=Complementary action on recording -MoreActionsOnSubscription=Complementary action, suggested by default when recording a subscription -MoreActionBankDirect=Create a direct transaction record on account -MoreActionBankViaInvoice=Create an invoice and payment on account -MoreActionInvoiceOnly=Create an invoice with no payment -LinkToGeneratedPages=Generate visit cards -LinkToGeneratedPagesDesc=This screen allows you to generate PDF files with business cards for all your members or a particular member. -DocForAllMembersCards=Generate business cards for all members -DocForOneMemberCards=Generate business cards for a particular member -DocForLabels=Generate address sheets -SubscriptionPayment=Subscription payment -LastSubscriptionDate=Last subscription date -LastSubscriptionAmount=Last subscription amount -MembersStatisticsByCountries=Members statistics by country -MembersStatisticsByState=Members statistics by state/province -MembersStatisticsByTown=Members statistics by town -MembersStatisticsByRegion=Members statistics by region -MemberByRegion=Members by region -NbOfMembers=Number of members -NoValidatedMemberYet=No validated members found -MembersByCountryDesc=This screen show you statistics on members by countries. Graphic depends however on Google online graph service and is available only if an internet connection is is working. -MembersByStateDesc=This screen show you statistics on members by state/provinces/canton. -MembersByTownDesc=This screen show you statistics on members by town. -MembersStatisticsDesc=Choose statistics you want to read... -MenuMembersStats=Statistics -LastMemberDate=Last member date -Nature=Nature -Public=Information are public -Exports=Exports -NewMemberbyWeb=New member added. Awaiting approval -NewMemberForm=New member form -SubscriptionsStatistics=Statistics on subscriptions -NbOfSubscriptions=Number of subscriptions -AmountOfSubscriptions=Amount of subscriptions -TurnoverOrBudget=Turnover (for a company) or Budget (for a foundation) -DefaultAmount=Default amount of subscription -CanEditAmount=Visitor can choose/edit amount of its subscription -MEMBER_NEWFORM_PAYONLINE=Jump on integrated online payment page -Associations=Foundations -Collectivités=Organizations -Particuliers=Personal -Entreprises=Companies -DOLIBARRFOUNDATION_PAYMENT_FORM=To make your subscription payment using a bank transfer, see page http://wiki.dolibarr.org/index.php/Subscribe.
To pay using a Credit Card or Paypal, click on button at bottom of this page.
-ByProperties=By characteristics -MembersStatisticsByProperties=Members statistics by characteristics -MembersByNature=Members by nature -VATToUseForSubscriptions=VAT rate to use for subscriptions -NoVatOnSubscription=No TVA for subscriptions -MEMBER_PAYONLINE_SENDEMAIL=Email to warn when Dolibarr receive a confirmation of a validated payment for subscription -ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=Product used for subscription line into invoice: %s +Date=วันที่ +DateAndTime=วันที่และเวลา +PublicMemberCard=สมาชิกบัตรประชาชน +MemberNotOrNoMoreExpectedToSubscribe=สมาชิกไม่ได้หรือไม่มีเลยที่คาดว่าจะมากขึ้นในการสมัครเป็นสมาชิก +AddSubscription=สร้างการสมัครสมาชิก +ShowSubscription=แสดงการสมัครสมาชิก +MemberModifiedInDolibarr=สมาชิกปรับเปลี่ยนใน Dolibarr +SendAnEMailToMember=ส่งอีเมลข้อมูลให้กับสมาชิก +DescADHERENT_AUTOREGISTER_NOTIF_MAIL_SUBJECT=เรื่องของ e-mail ที่ได้รับในกรณีที่มีการจารึกอัตโนมัติของผู้เข้าพัก +DescADHERENT_AUTOREGISTER_NOTIF_MAIL=E-mail ที่ได้รับในกรณีที่มีการจารึกอัตโนมัติของผู้เข้าพัก +DescADHERENT_AUTOREGISTER_MAIL_SUBJECT=เรื่องอีเมลของสมาชิก autosubscription +DescADHERENT_AUTOREGISTER_MAIL=อีเมลของสมาชิก autosubscription +DescADHERENT_MAIL_VALID_SUBJECT=เรื่องอีเมลสำหรับการตรวจสอบสมาชิก +DescADHERENT_MAIL_VALID=อีเมลสำหรับการตรวจสอบสมาชิก +DescADHERENT_MAIL_COTIS_SUBJECT=เรื่องอีเมลสำหรับการสมัครสมาชิก +DescADHERENT_MAIL_COTIS=อีเมลสำหรับการสมัครสมาชิก +DescADHERENT_MAIL_RESIL_SUBJECT=เรื่องอีเมลของสมาชิก resiliation +DescADHERENT_MAIL_RESIL=อีเมลของสมาชิก resiliation +DescADHERENT_MAIL_FROM=ส่งอีเมลสำหรับอีเมลอัตโนมัติ +DescADHERENT_ETIQUETTE_TYPE=รูปแบบของหน้าป้าย +DescADHERENT_ETIQUETTE_TEXT=ข้อความที่พิมพ์อยู่บนแผ่นสมาชิก +DescADHERENT_CARD_TYPE=รูปแบบของหน้าไพ่ +DescADHERENT_CARD_HEADER_TEXT=ข้อความที่พิมพ์อยู่ด้านบนของบัตรสมาชิก +DescADHERENT_CARD_TEXT=ข้อความที่พิมพ์บนบัตรสมาชิก (จัดบนซ้าย) +DescADHERENT_CARD_TEXT_RIGHT=ข้อความที่พิมพ์บนบัตรสมาชิก (จัดบนขวา) +DescADHERENT_CARD_FOOTER_TEXT=ข้อความที่พิมพ์อยู่ด้านล่างของบัตรสมาชิก +GlobalConfigUsedIfNotDefined=ข้อความที่กำหนดไว้ในการติดตั้งโมดูลมูลนิธิจะใช้ในกรณีที่ไม่ได้กำหนดไว้ที่นี่ +MayBeOverwrited=ข้อความนี้สามารถ overwrited โดยค่าที่กำหนดไว้สำหรับประเภทของสมาชิก +ShowTypeCard=แสดงชนิด '% s' +HTPasswordExport=การสร้างแฟ้ม htpassword +NoThirdPartyAssociatedToMember=ไม่มีบุคคลที่สามที่เกี่ยวข้องกับสมาชิกนี้ +ThirdPartyDolibarr=บุคคลที่สาม Dolibarr +MembersAndSubscriptions= สมาชิกและสมัครสมาชิก +MoreActions=การกระทำประกอบการบันทึก +MoreActionsOnSubscription=การกระทำที่สมบูรณ์แนะนำโดยเริ่มต้นเมื่อมีการบันทึกการสมัครสมาชิก +MoreActionBankDirect=สร้างบันทึกรายการในบัญชีโดยตรง +MoreActionBankViaInvoice=สร้างใบแจ้งหนี้และการชำระเงินในบัญชี +MoreActionInvoiceOnly=สร้างใบแจ้งหนี้ที่มีการชำระเงินไม่มี +LinkToGeneratedPages=สร้างบัตรเข้าชม +LinkToGeneratedPagesDesc=หน้าจอนี้จะช่วยให้คุณสามารถสร้างไฟล์ PDF ด้วยนามบัตรสำหรับสมาชิกทุกคนของคุณหรือสมาชิกโดยเฉพาะอย่างยิ่ง +DocForAllMembersCards=สร้างนามบัตรสำหรับสมาชิกทุกคน +DocForOneMemberCards=สร้างนามบัตรของสมาชิกโดยเฉพาะอย่างยิ่ง +DocForLabels=สร้างแผ่นอยู่ +SubscriptionPayment=การชำระเงินการสมัครสมาชิก +LastSubscriptionDate=วันที่สมัครสมาชิกล่าสุด +LastSubscriptionAmount=จำนวนการสมัครสมาชิกล่าสุด +MembersStatisticsByCountries=สถิติสมาชิกตามประเทศ +MembersStatisticsByState=สถิติสมาชิกโดยรัฐ / จังหวัด +MembersStatisticsByTown=สถิติสมาชิกโดยเมือง +MembersStatisticsByRegion=สถิติสมาชิกตามภูมิภาค +MemberByRegion=สมาชิกตามภูมิภาค +NbOfMembers=จำนวนสมาชิก +NoValidatedMemberYet=ไม่มีสมาชิกตรวจสอบพบว่า +MembersByCountryDesc=แสดงหน้าจอนี้คุณสถิติเกี่ยวกับประเทศสมาชิก กราฟฟิค แต่ขึ้นอยู่กับบริการของ Google กราฟออนไลน์และสามารถใช้ได้เฉพาะในกรณีที่การเชื่อมต่ออินเทอร์เน็ตจะเป็นคนที่ทำงาน +MembersByStateDesc=แสดงหน้าจอนี้คุณสถิติเกี่ยวกับสมาชิกโดยรัฐ / จังหวัด / ตำบล +MembersByTownDesc=แสดงหน้าจอนี้คุณสถิติเกี่ยวกับสมาชิกเมือง +MembersStatisticsDesc=เลือกสถิติที่คุณต้องการอ่าน ... +MenuMembersStats=สถิติ +LastMemberDate=วันที่สมาชิกคนสุดท้าย +Nature=ธรรมชาติ +Public=ข้อมูลเป็นสาธารณะ +Exports=การส่งออก +NewMemberbyWeb=สมาชิกใหม่ที่เพิ่ม รอการอนุมัติ +NewMemberForm=แบบฟอร์มการสมัครสมาชิกใหม่ +SubscriptionsStatistics=สถิติเกี่ยวกับการสมัครสมาชิก +NbOfSubscriptions=จำนวนการสมัครสมาชิก +AmountOfSubscriptions=จำนวนเงินของการสมัคร +TurnoverOrBudget=มูลค่าการซื้อขาย (สำหรับ บริษัท ) หรืองบประมาณ (มูลนิธิ) +DefaultAmount=จำนวนเงินที่เริ่มต้นของการสมัครสมาชิก +CanEditAmount=ผู้เข้าชมสามารถเลือก / แก้ไขจำนวนเงินของการสมัครสมาชิก +MEMBER_NEWFORM_PAYONLINE=กระโดดขึ้นไปบนหน้าการชำระเงินออนไลน์แบบบูรณาการ +Associations=มูลนิธิ +Collectivités=องค์กร +Particuliers=ส่วนบุคคล +Entreprises=บริษัท +DOLIBARRFOUNDATION_PAYMENT_FORM=ที่จะทำให้การชำระเงินการสมัครของคุณโดยใช้การโอนเงินผ่านธนาคารดูหน้า http://wiki.dolibarr.org/index.php/Subscribe
เพื่อชำระเงินโดยใช้บัตรเครดิตหรือ Paypal คลิกที่ปุ่มด้านล่างของหน้านี้
+ByProperties=โดยลักษณะ +MembersStatisticsByProperties=สถิติสมาชิกตามลักษณะ +MembersByNature=สมาชิกโดยธรรมชาติ +VATToUseForSubscriptions=อัตราภาษีมูลค่าเพิ่มที่จะใช้สำหรับการสมัครสมาชิก +NoVatOnSubscription=ไม่มี TVA สำหรับการสมัครสมาชิก +MEMBER_PAYONLINE_SENDEMAIL=อีเมล์เตือนเมื่อ Dolibarr ได้รับการยืนยันการชำระเงินของการตรวจสอบสำหรับการสมัครสมาชิก +ADHERENT_PRODUCT_ID_FOR_SUBSCRIPTIONS=ผลิตภัณฑ์ที่ใช้สำหรับสายการสมัครสมาชิกเข้าไปในใบแจ้งหนี้:% s diff --git a/htdocs/langs/th_TH/opensurvey.lang b/htdocs/langs/th_TH/opensurvey.lang index 0b191e426ec..37fb9169fe6 100644 --- a/htdocs/langs/th_TH/opensurvey.lang +++ b/htdocs/langs/th_TH/opensurvey.lang @@ -1,66 +1,66 @@ # Dolibarr language file - Source file is en_US - opensurvey -Survey=Poll -Surveys=Polls -OrganizeYourMeetingEasily=Organize your meetings and polls easily. First select type of poll... -NewSurvey=New poll -NoSurveysInDatabase=%s poll(s) into database. -OpenSurveyArea=Polls area -AddACommentForPoll=You can add a comment into poll... -AddComment=Add comment -CreatePoll=Create poll -PollTitle=Poll title -ToReceiveEMailForEachVote=Receive an email for each vote -TypeDate=Type date -TypeClassic=Type standard -OpenSurveyStep2=Select your dates amoung the free days (grey). The selected days are green. You can unselect a day previously selected by clicking again on it -RemoveAllDays=Remove all days -CopyHoursOfFirstDay=Copy hours of first day -RemoveAllHours=Remove all hours -SelectedDays=Selected days -TheBestChoice=The best choice currently is -TheBestChoices=The best choices currently are -with=with -OpenSurveyHowTo=If you agree to vote in this poll, you have to give your name, choose the values that fit best for you and validate with the plus button at the end of the line. -CommentsOfVoters=Comments of voters -ConfirmRemovalOfPoll=Are you sure you want to remove this poll (and all votes) -RemovePoll=Remove poll -UrlForSurvey=URL to communicate to get a direct access to poll -PollOnChoice=You are creating a poll to make a multi-choice for a poll. First enter all possible choices for your poll: -CreateSurveyDate=Create a date poll -CreateSurveyStandard=Create a standard poll -CheckBox=Simple checkbox -YesNoList=List (empty/yes/no) -PourContreList=List (empty/for/against) -AddNewColumn=Add new column -TitleChoice=Choice label -ExportSpreadsheet=Export result spreadsheet -ExpireDate=Limit date -NbOfSurveys=Number of polls -NbOfVoters=Nb of voters -SurveyResults=Results -PollAdminDesc=You are allowed to change all vote lines of this poll with button "Edit". You can, as well, remove a column or a line with %s. You can also add a new column with %s. -5MoreChoices=5 more choices -Abstention=Abstention -Against=Against -YouAreInivitedToVote=You are invited to vote for this poll -VoteNameAlreadyExists=This name was already used for this poll -ErrorPollDoesNotExists=Error, poll %s does not exists. -OpenSurveyNothingToSetup=There is no specific setup to do. -PollWillExpire=Your poll will expire automatically %s days after the last date of your poll. -AddADate=Add a date -AddStartHour=Add start hour -AddEndHour=Add end hour -votes=vote(s) -NoCommentYet=No comments have been posted for this poll yet -CanEditVotes=Can change vote of others -CanComment=Voters can comment in the poll -CanSeeOthersVote=Voters can see other people's vote -SelectDayDesc=For each selected day, you can choose, or not, meeting hours in the following format :
- empty,
- "8h", "8H" or "8:00" to give a meeting's start hour,
- "8-11", "8h-11h", "8H-11H" or "8:00-11:00" to give a meeting's start and end hour,
- "8h15-11h15", "8H15-11H15" or "8:15-11:15" for the same thing but with minutes. -BackToCurrentMonth=Back to current month -ErrorOpenSurveyFillFirstSection=You haven't filled the first section of the poll creation -ErrorOpenSurveyOneChoice=Enter at least one choice -ErrorOpenSurveyDateFormat=Date must have the format YYYY-MM-DD -ErrorInsertingComment=There was an error while inserting your comment -MoreChoices=Enter more choices for the voters -SurveyExpiredInfo=The voting time of this poll has expired. -EmailSomeoneVoted=%s has filled a line.\nYou can find your poll at the link: \n%s +Survey=โพลล์ +Surveys=โพลล์ +OrganizeYourMeetingEasily=จัดประชุมและการสำรวจความคิดเห็นของคุณได้อย่างง่ายดาย เลือกชนิดแรกของการเลือกตั้ง ... +NewSurvey=โพลใหม่ +NoSurveysInDatabase=% s การสำรวจความคิดเห็น (s) ลงในฐานข้อมูล +OpenSurveyArea=พื้นที่โพลล์ +AddACommentForPoll=คุณสามารถเพิ่มความคิดเห็นลงในการสำรวจความคิดเห็น ... +AddComment=เพิ่มความคิดเห็น +CreatePoll=สร้างแบบสำรวจ +PollTitle=ชื่อเรื่องการสำรวจความคิดเห็น +ToReceiveEMailForEachVote=ได้รับอีเมลสำหรับการลงคะแนนเสียงในแต่ละ +TypeDate=วันที่ประเภท +TypeClassic=ประเภทมาตรฐาน +OpenSurveyStep2=เลือกวันที่ที่คุณ amoung วันฟรี (สีเทา) วันที่เลือกเป็นสีเขียว คุณสามารถยกเลิกการเลือกวันที่เลือกก่อนหน้านี้โดยคลิกที่มันอีกครั้ง +RemoveAllDays=ลบทุกวัน +CopyHoursOfFirstDay=คัดลอกชั่วโมงของวันแรก +RemoveAllHours=ลบทุกชั่วโมง +SelectedDays=วันที่เลือก +TheBestChoice=เลือกที่ดีที่สุดในขณะนี้ +TheBestChoices=เลือกที่ดีที่สุดขณะนี้ +with=กับ +OpenSurveyHowTo=ถ้าคุณเห็นด้วยกับการออกเสียงลงคะแนนในการสำรวจนี้คุณจะต้องให้ชื่อของคุณให้เลือกค่าที่เหมาะสมที่สุดสำหรับคุณและตรวจสอบด้วยปุ่มบวกที่ท้ายบรรทัด +CommentsOfVoters=ความคิดเห็นของผู้มีสิทธิเลือกตั้ง +ConfirmRemovalOfPoll=คุณแน่ใจหรือว่าต้องการลบโพลนี้ (และเสียงทั้งหมด) +RemovePoll=ลบสำรวจความคิดเห็น +UrlForSurvey=URL ในการสื่อสารที่จะได้รับการเข้าถึงโดยตรงไปสำรวจ +PollOnChoice=คุณกำลังสร้างการสำรวจความคิดเห็นเพื่อให้เป็นทางเลือกหลายสำหรับการสำรวจความคิดเห็น ใส่ตัวเลือกที่เป็นไปได้ทั้งหมดสำหรับการสำรวจความคิดเห็นของคุณ: +CreateSurveyDate=สร้างแบบสำรวจวัน +CreateSurveyStandard=สร้างมาตรฐานการสำรวจความคิดเห็น +CheckBox=ช่องที่เรียบง่าย +YesNoList=รายชื่อ (ที่ว่างเปล่า / ใช่ / ไม่ใช่) +PourContreList=รายชื่อ (ที่ว่างเปล่า / สำหรับ / ต่อต้าน) +AddNewColumn=เพิ่มคอลัมน์ใหม่ +TitleChoice=ป้ายทางเลือก +ExportSpreadsheet=ส่งออกผลสเปรดชีต +ExpireDate=วัน จำกัด +NbOfSurveys=จำนวนโพลล์ +NbOfVoters=nb ของผู้มีสิทธิเลือกตั้ง +SurveyResults=ผล +PollAdminDesc=คุณได้รับอนุญาตให้เปลี่ยนทุกสายการโหวตของโพลนี้ด้วยปุ่ม "แก้ไข" คุณสามารถเป็นอย่างดีเอาคอลัมน์หรือสายกับ% s นอกจากนี้คุณยังสามารถเพิ่มคอลัมน์ใหม่กับ% s +5MoreChoices=5 ทางเลือกมากขึ้น +Abstention=การงดออกเสียง +Against=กับ +YouAreInivitedToVote=คุณได้รับเชิญให้คะแนนสำหรับการสำรวจนี้ +VoteNameAlreadyExists=ชื่อนี้ถูกใช้ไปแล้วสำหรับการสำรวจนี้ +ErrorPollDoesNotExists=ข้อผิดพลาดการสำรวจ% s ไม่ได้มีอยู่ +OpenSurveyNothingToSetup=ไม่มีการติดตั้งเฉพาะที่จะทำคือ +PollWillExpire=การสำรวจความคิดเห็นของคุณจะหมดอายุโดยอัตโนมัติ% s วันหลังจากวันสุดท้ายของการสำรวจความคิดเห็นของคุณ +AddADate=เพิ่มวันที่ +AddStartHour=เพิ่มเริ่มต้นชั่วโมง +AddEndHour=เพิ่มท้ายชั่วโมง +votes=การออกเสียงลงคะแนน (s) +NoCommentYet=ไม่มีความคิดเห็นที่ได้รับการโพสต์สำหรับการสำรวจนี้ยัง +CanEditVotes=สามารถเปลี่ยนการลงคะแนนของคนอื่น ๆ +CanComment=ผู้มีสิทธิเลือกตั้งสามารถแสดงความคิดเห็นในการสำรวจ +CanSeeOthersVote=ผู้มีสิทธิเลือกตั้งสามารถดูการลงคะแนนของคนอื่น +SelectDayDesc=สำหรับแต่ละวันที่เลือกคุณสามารถเลือกหรือไม่ประชุมชั่วโมงในรูปแบบต่อไปนี้:
- ที่ว่างเปล่า
- "8h", "8H" หรือ "08:00" เพื่อให้ชั่วโมงการเริ่มต้นการประชุม,
- "8-11", "8h-11h", "8H-11H" หรือ "8: 00-11: 00" เพื่อให้เริ่มต้นการประชุมและสิ้นสุดชั่วโมง
- "8h15-11h15", "8H15-11H15" หรือ "8: 15-11: 15" สำหรับสิ่งเดียวกัน แต่มีไม่กี่นาที +BackToCurrentMonth=กลับไปเดือนปัจจุบัน +ErrorOpenSurveyFillFirstSection=คุณยังไม่ได้เต็มไปส่วนแรกของการสร้างแบบสำรวจความคิดเห็น +ErrorOpenSurveyOneChoice=ใส่อย่างน้อยหนึ่งทางเลือก +ErrorOpenSurveyDateFormat=วันที่จะต้องมีรูปแบบ YYYY-MM-DD +ErrorInsertingComment=มีข้อผิดพลาดในขณะที่การใส่ความคิดเห็นของคุณ +MoreChoices=ใส่เลือกมากขึ้นสำหรับผู้มีสิทธิเลือกตั้ง +SurveyExpiredInfo=เวลาออกเสียงทั้งหมดของการสำรวจนี้ได้หมดอายุแล้ว +EmailSomeoneVoted=% s ที่เต็มไปด้วยเส้น คุณสามารถค้นหาการสำรวจความคิดเห็นของคุณได้ที่ลิงค์:% s diff --git a/htdocs/langs/th_TH/orders.lang b/htdocs/langs/th_TH/orders.lang index 044bcc0eb01..6e6b5d50610 100644 --- a/htdocs/langs/th_TH/orders.lang +++ b/htdocs/langs/th_TH/orders.lang @@ -1,172 +1,173 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Customers orders area -SuppliersOrdersArea=Suppliers orders area -OrderCard=Order card -OrderId=Order Id -Order=Order -Orders=Orders -OrderLine=Order line -OrderFollow=Follow up -OrderDate=Order date -OrderToProcess=Order to process -NewOrder=New order -ToOrder=Make order -MakeOrder=Make order -SupplierOrder=Supplier order -SuppliersOrders=Suppliers orders -SuppliersOrdersRunning=Current suppliers orders -CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process -StatusOrderCanceledShort=Canceled -StatusOrderDraftShort=Draft -StatusOrderValidatedShort=Validated -StatusOrderSentShort=In process -StatusOrderSent=Shipment in process -StatusOrderOnProcessShort=Ordered -StatusOrderProcessedShort=Processed -StatusOrderToBillShort=Delivered -StatusOrderToBill2Short=To bill -StatusOrderApprovedShort=Approved -StatusOrderRefusedShort=Refused -StatusOrderToProcessShort=To process -StatusOrderReceivedPartiallyShort=Partially received -StatusOrderReceivedAllShort=Everything received -StatusOrderCanceled=Canceled -StatusOrderDraft=Draft (needs to be validated) -StatusOrderValidated=Validated -StatusOrderOnProcess=Ordered - Standby reception -StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation -StatusOrderProcessed=Processed -StatusOrderToBill=Delivered -StatusOrderToBill2=To bill -StatusOrderApproved=Approved -StatusOrderRefused=Refused -StatusOrderReceivedPartially=Partially received -StatusOrderReceivedAll=Everything received -ShippingExist=A shipment exists -ProductQtyInDraft=Product quantity into draft orders -ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered -DraftOrWaitingApproved=Draft or approved not yet ordered -DraftOrWaitingShipped=Draft or validated not yet shipped -MenuOrdersToBill=Orders delivered -MenuOrdersToBill2=Billable orders -SearchOrder=Search order -SearchACustomerOrder=Search a customer order -SearchASupplierOrder=Search a supplier order -ShipProduct=Ship product -Discount=Discount -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 -AddOrder=Create order -AddToMyOrders=Add to my orders -AddToOtherOrders=Add to other orders -AddToDraftOrders=Add to draft order -ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders -NoDraftOrders=No draft orders -OtherOrders=Other orders -LastOrders=Last %s customer orders -LastCustomerOrders=Last %s customer orders -LastSupplierOrders=Last %s supplier orders -LastModifiedOrders=Last %s modified orders -LastClosedOrders=Last %s closed orders -AllOrders=All orders -NbOfOrders=Number of orders -OrdersStatistics=Order's statistics -OrdersStatisticsSuppliers=Supplier order's statistics -NumberOfOrdersByMonth=Number of orders by month -AmountOfOrdersByMonthHT=Amount of orders by month (net of tax) -ListOfOrders=List of orders -CloseOrder=Close order -ConfirmCloseOrder=Are you sure you want to set this order to deliverd ? Once an order is delivered, it can be set to billed. -ConfirmCloseOrderIfSending=Are you sure you want to close this order ? You must close an order only when all shipping are done. -ConfirmDeleteOrder=Are you sure you want to delete this order ? -ConfirmValidateOrder=Are you sure you want to validate this order under name %s ? -ConfirmUnvalidateOrder=Are you sure you want to restore order %s to draft status ? -ConfirmCancelOrder=Are you sure you want to cancel this order ? -ConfirmMakeOrder=Are you sure you want to confirm you made this order on %s ? -GenerateBill=Generate invoice -ClassifyShipped=Classify delivered -ClassifyBilled=Classify billed -ComptaCard=Accountancy card -DraftOrders=Draft orders -RelatedOrders=Related orders -RelatedCustomerOrders=Related customer orders -RelatedSupplierOrders=Related supplier orders -OnProcessOrders=In process orders -RefOrder=Ref. order -RefCustomerOrder=Ref. customer order -RefCustomerOrderShort=Ref. cust. order -SendOrderByMail=Send order by mail -ActionsOnOrder=Events on order -NoArticleOfTypeProduct=No article of type 'product' so no shippable article for this order -OrderMode=Order method -AuthorRequest=Request author -UseCustomerContactAsOrderRecipientIfExist=Use customer contact address if defined instead of third party address as order recipient address -RunningOrders=Orders on process -UserWithApproveOrderGrant=Users granted with "approve orders" permission. -PaymentOrderRef=Payment of order %s -CloneOrder=Clone order -ConfirmCloneOrder=Are you sure you want to clone this order %s ? -DispatchSupplierOrder=Receiving supplier order %s -FirstApprovalAlreadyDone=First approval already done +OrdersArea=ลูกค้าที่สั่งซื้อในพื้นที่ +SuppliersOrdersArea=ซัพพลายเออร์ในพื้นที่การสั่งซื้อ +OrderCard=สั่งซื้อบัตร +OrderId=รหัสการสั่งซื้อ +Order=สั่งซื้อ +Orders=คำสั่งซื้อ +OrderLine=สายการสั่งซื้อ +OrderFollow=ติดตาม +OrderDate=วันที่สั่งซื้อ +OrderToProcess=เพื่อที่จะดำเนินการ +NewOrder=คำสั่งซื้อใหม่ +ToOrder=ทำให้การสั่งซื้อ +MakeOrder=ทำให้การสั่งซื้อ +SupplierOrder=เพื่อที่ผู้ผลิต +SuppliersOrders=คำสั่งซัพพลายเออร์ +SuppliersOrdersRunning=ซัพพลายเออร์ที่ปัจจุบันคำสั่งซื้อ +CustomerOrder=สั่งซื้อของลูกค้า +CustomersOrders=สั่งซื้อของลูกค้า +CustomersOrdersRunning=สั่งซื้อของลูกค้าในปัจจุบัน +CustomersOrdersAndOrdersLines=สั่งซื้อของลูกค้าและสายการสั่งซื้อ +OrdersToValid=สั่งซื้อของลูกค้าในการตรวจสอบ +OrdersToBill=สั่งซื้อของลูกค้าที่ส่งมอบ +OrdersInProcess=สั่งซื้อของลูกค้าในกระบวนการ +OrdersToProcess=สั่งซื้อของลูกค้าในการประมวลผล +SuppliersOrdersToProcess=คำสั่งผู้ผลิตในการประมวลผล +StatusOrderCanceledShort=ยกเลิก +StatusOrderDraftShort=ร่าง +StatusOrderValidatedShort=ผ่านการตรวจสอบ +StatusOrderSentShort=ในกระบวนการ +StatusOrderSent=ในขั้นตอนการจัดส่ง +StatusOrderOnProcessShort=ได้รับคำสั่ง +StatusOrderProcessedShort=การประมวลผล +StatusOrderToBillShort=จัดส่ง +StatusOrderToBill2Short=เพื่อเรียกเก็บเงิน +StatusOrderApprovedShort=ได้รับการอนุมัติ +StatusOrderRefusedShort=ปฏิเสธ +StatusOrderToProcessShort=ในการประมวลผล +StatusOrderReceivedPartiallyShort=ได้รับบางส่วน +StatusOrderReceivedAllShort=ทุกอย่างที่ได้รับ +StatusOrderCanceled=ยกเลิก +StatusOrderDraft=ร่าง (จะต้องมีการตรวจสอบ) +StatusOrderValidated=ผ่านการตรวจสอบ +StatusOrderOnProcess=ได้รับคำสั่ง - พนักงานต้อนรับสแตนด์บาย +StatusOrderOnProcessWithValidation=ได้รับคำสั่ง - พนักงานต้อนรับสแตนด์บายหรือการตรวจสอบ +StatusOrderProcessed=การประมวลผล +StatusOrderToBill=จัดส่ง +StatusOrderToBill2=เพื่อเรียกเก็บเงิน +StatusOrderApproved=ได้รับการอนุมัติ +StatusOrderRefused=ปฏิเสธ +StatusOrderReceivedPartially=ได้รับบางส่วน +StatusOrderReceivedAll=ทุกอย่างที่ได้รับ +ShippingExist=การจัดส่งสินค้าที่มีอยู่ +ProductQtyInDraft=ปริมาณการสั่งซื้อสินค้าเข้ามาในร่าง +ProductQtyInDraftOrWaitingApproved=ปริมาณสินค้าเข้าร่างหรือคำสั่งได้รับการอนุมัติยังไม่ได้รับคำสั่ง +DraftOrWaitingApproved=ร่างหรือได้รับการอนุมัติยังไม่ได้รับคำสั่ง +DraftOrWaitingShipped=ร่างหรือการตรวจสอบไม่ได้ส่งเลย +MenuOrdersToBill=ส่งคำสั่งซื้อ +MenuOrdersToBill2=คำสั่งที่เรียกเก็บเงิน +SearchOrder=เพื่อค้นหา +SearchACustomerOrder=ค้นหาคำสั่งของลูกค้า +SearchASupplierOrder=เพื่อค้นหาผู้จัดจำหน่าย +ShipProduct=เรือสินค้า +Discount=ส่วนลด +CreateOrder=สร้างใบสั่ง +RefuseOrder=ปฏิเสธการสั่งซื้อ +ApproveOrder=อนุมัติคำสั่งซื้อ +Approve2Order=อนุมัติคำสั่งซื้อ (ระดับที่สอง) +ValidateOrder=ตรวจสอบการสั่งซื้อ +UnvalidateOrder=เพื่อ Unvalidate +DeleteOrder=เพื่อลบ +CancelOrder=ยกเลิกคำสั่งซื้อ +AddOrder=สร้างใบสั่ง +AddToMyOrders=เพิ่มลงในคำสั่งซื้อของฉัน +AddToOtherOrders=เพิ่มคำสั่งอื่น ๆ +AddToDraftOrders=เพิ่มลงในร่างคำสั่ง +ShowOrder=เพื่อแสดง +OrdersOpened=คำสั่งในการประมวลผล +NoOpenedOrders=ไม่มีคำสั่งเปิด +NoOtherOpenedOrders=ไม่มีคำสั่งอื่น ๆ ที่เปิด +NoDraftOrders=ไม่มีคำสั่งร่าง +OtherOrders=คำสั่งอื่น ๆ +LastOrders=% s ล่าสุดสั่งซื้อของลูกค้า +LastCustomerOrders=% s ล่าสุดสั่งซื้อของลูกค้า +LastSupplierOrders=% s ล่าสุดคำสั่งผู้จัดจำหน่าย +LastModifiedOrders=% ล่าสุดของคำสั่งการปรับเปลี่ยน +LastClosedOrders=% s ล่าสุดปิดคำสั่งซื้อ +AllOrders=คำสั่งซื้อทั้งหมด +NbOfOrders=จำนวนการสั่งซื้อ +OrdersStatistics=การสั่งซื้อของสถ​​ิติ +OrdersStatisticsSuppliers=เพื่อที่ผู้ผลิตสถิติ +NumberOfOrdersByMonth=จำนวนการสั่งซื้อโดย +AmountOfOrdersByMonthHT=จำนวนเงินของการสั่งซื้อตามเดือน (สุทธิจากภาษี) +ListOfOrders=รายชื่อของคำสั่ง +CloseOrder=ปิดการสั่งซื้อ +ConfirmCloseOrder=คุณแน่ใจหรือว่าต้องการตั้งค่าเพื่อ deliverd นี้หรือไม่? เมื่อสั่งซื้อจะถูกส่งก็สามารถกำหนดให้เรียกเก็บเงิน +ConfirmCloseOrderIfSending=คุณแน่ใจหรือว่าต้องการที่จะปิดการสั่งซื้อนี้? คุณต้องปิดคำสั่งเฉพาะเมื่อการจัดส่งสินค้าทั้งหมดจะทำ +ConfirmDeleteOrder=คุณแน่ใจหรือว่าต้องการลบคำสั่งนี้? +ConfirmValidateOrder=คุณแน่ใจหรือว่าต้องการตรวจสอบการสั่งซื้อภายใต้ชื่อ% s นี้หรือไม่? +ConfirmUnvalidateOrder=คุณแน่ใจหรือว่าต้องการเรียกคืนสินค้า% s ร่างสถานะ? +ConfirmCancelOrder=คุณแน่ใจหรือว่าต้องการที่จะยกเลิกคำสั่งนี้หรือไม่? +ConfirmMakeOrder=คุณแน่ใจหรือว่าต้องการที่จะยืนยันว่าคุณทำคำสั่งนี้ใน% s? +GenerateBill=สร้างใบแจ้งหนี้ +ClassifyShipped=จำแนกส่ง +ClassifyBilled=แบ่งประเภทเรียกเก็บเงิน +ComptaCard=บัตรบัญชี +DraftOrders=ร่างคำสั่ง +RelatedOrders=คำสั่งที่เกี่ยวข้อง +RelatedCustomerOrders=สั่งซื้อของลูกค้าที่เกี่ยวข้อง +RelatedSupplierOrders=คำสั่งผู้จัดจำหน่ายที่เกี่ยวข้อง +OnProcessOrders=ขั้นตอนในการสั่งซื้อ +RefOrder=อ้าง สั่งซื้อ +RefCustomerOrder=อ้าง สั่งซื้อของลูกค้า +RefCustomerOrderShort=อ้าง cust สั่งซื้อ +SendOrderByMail=ส่งคำสั่งซื้อทางไปรษณีย์ +ActionsOnOrder=เหตุการณ์ที่เกิดขึ้นในการสั่งซื้อ +NoArticleOfTypeProduct=บทความไม่มีชนิด 'สินค้า' จึงไม่มีบทความ shippable สำหรับการสั่งซื้อนี้ +OrderMode=วิธีการสั่งซื้อ +AuthorRequest=ผู้เขียนขอ +UseCustomerContactAsOrderRecipientIfExist=ใช้ที่อยู่การติดต่อกับลูกค้าถ้ากำหนดไว้แทนการที่อยู่ของบุคคลที่สามเป็นที่อยู่ของผู้รับคำสั่ง +RunningOrders=สั่งซื้อเกี่ยวกับกระบวนการ +UserWithApproveOrderGrant=ผู้ใช้งานที่ได้รับด้วย "อนุมัติคำสั่ง" ได้รับอนุญาต +PaymentOrderRef=การชำระเงินของการสั่งซื้อ% s +CloneOrder=เพื่อโคลน +ConfirmCloneOrder=คุณแน่ใจหรือว่าต้องการโคลน% s สั่งซื้อนี้? +DispatchSupplierOrder=ผู้จัดจำหน่ายที่ได้รับการสั่งซื้อ% s +FirstApprovalAlreadyDone=ได้รับการอนุมัติครั้งแรกที่ทำมาแล้ว ##### Types de contacts ##### -TypeContact_commande_internal_SALESREPFOLL=Representative following-up customer order -TypeContact_commande_internal_SHIPPING=Representative following-up shipping -TypeContact_commande_external_BILLING=Customer invoice contact -TypeContact_commande_external_SHIPPING=Customer shipping contact -TypeContact_commande_external_CUSTOMER=Customer contact following-up order -TypeContact_order_supplier_internal_SALESREPFOLL=Representative following-up supplier order -TypeContact_order_supplier_internal_SHIPPING=Representative following-up shipping -TypeContact_order_supplier_external_BILLING=Supplier invoice contact -TypeContact_order_supplier_external_SHIPPING=Supplier shipping contact -TypeContact_order_supplier_external_CUSTOMER=Supplier contact following-up order +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=แทนต่อไปนี้ขึ้นเพื่อจัดจำหน่าย +TypeContact_order_supplier_internal_SHIPPING=แทนการจัดส่งสินค้าต่อไปนี้ขึ้น +TypeContact_order_supplier_external_BILLING=ติดต่อผู้ผลิตใบแจ้งหนี้ +TypeContact_order_supplier_external_SHIPPING=ติดต่อผู้ผลิตจัดส่งสินค้า +TypeContact_order_supplier_external_CUSTOMER=ติดต่อผู้ผลิตลำดับต่อไปนี้ขึ้น -Error_COMMANDE_SUPPLIER_ADDON_NotDefined=Constant COMMANDE_SUPPLIER_ADDON not defined -Error_COMMANDE_ADDON_NotDefined=Constant COMMANDE_ADDON not defined -Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=Failed to load module file '%s' -Error_FailedToLoad_COMMANDE_ADDON_File=Failed to load module file '%s' -Error_OrderNotChecked=No orders to invoice selected +Error_COMMANDE_SUPPLIER_ADDON_NotDefined=COMMANDE_SUPPLIER_ADDON คงที่ไม่ได้กำหนดไว้ +Error_COMMANDE_ADDON_NotDefined=COMMANDE_ADDON คงที่ไม่ได้กำหนดไว้ +Error_FailedToLoad_COMMANDE_SUPPLIER_ADDON_File=ไม่สามารถโหลดไฟล์โมดูล '% s' +Error_FailedToLoad_COMMANDE_ADDON_File=ไม่สามารถโหลดไฟล์โมดูล '% s' +Error_OrderNotChecked=คำสั่งซื้อที่ยังไม่ได้ออกใบแจ้งหนี้ที่เลือก # Sources -OrderSource0=Commercial proposal -OrderSource1=Internet -OrderSource2=Mail campaign -OrderSource3=Phone compaign -OrderSource4=Fax campaign -OrderSource5=Commercial -OrderSource6=Store -QtyOrdered=Qty ordered -AddDeliveryCostLine=Add a delivery cost line indicating the weight of the order +OrderSource0=ข้อเสนอเชิงพาณิชย์ +OrderSource1=อินเทอร์เน็ต +OrderSource2=แคมเปญจดหมาย +OrderSource3=โทรศัพท์ compaign +OrderSource4=แคมเปญโทรสาร +OrderSource5=เชิงพาณิชย์ +OrderSource6=ร้านค้า +QtyOrdered=จำนวนที่สั่งซื้อ +AddDeliveryCostLine=เพิ่มเส้นค่าจัดส่งที่ระบุน้ำหนักของการสั่งซื้อ # Documents models -PDFEinsteinDescription=A complete order model (logo...) -PDFEdisonDescription=A simple order model -PDFProformaDescription=A complete proforma invoice (logo…) +PDFEinsteinDescription=รูปแบบการสั่งซื้อฉบับสมบูรณ์ (โลโก้ ... ) +PDFEdisonDescription=รูปแบบการสั่งซื้อที่ง่าย +PDFProformaDescription=ใบแจ้งหนี้เสมือนฉบับสมบูรณ์ (โลโก้ ... ) # Orders modes -OrderByMail=Mail -OrderByFax=Fax -OrderByEMail=EMail -OrderByWWW=Online -OrderByPhone=Phone -CreateInvoiceForThisCustomer=Bill orders -NoOrdersToInvoice=No orders billable -CloseProcessedOrdersAutomatically=Classify "Processed" all selected orders. -OrderCreation=Order creation -Ordered=Ordered -OrderCreated=Your orders have been created -OrderFail=An error happened during your orders creation -CreateOrders=Create orders -ToBillSeveralOrderSelectCustomer=To create an invoice for several orders, click first onto customer, then choose "%s". +OrderByMail=จดหมาย +OrderByFax=แฟกซ์ +OrderByEMail=อีเมล +OrderByWWW=ออนไลน์ +OrderByPhone=โทรศัพท์ +CreateInvoiceForThisCustomer=บิลสั่งซื้อ +NoOrdersToInvoice=ไม่มีการเรียกเก็บเงินการสั่งซื้อ +CloseProcessedOrdersAutomatically=จำแนก "แปรรูป" คำสั่งที่เลือกทั้งหมด +OrderCreation=การสร้างการสั่งซื้อ +Ordered=ได้รับคำสั่ง +OrderCreated=คำสั่งของคุณได้ถูกสร้างขึ้น +OrderFail=ข้อผิดพลาดที่เกิดขึ้นในระหว่างการสร้างคำสั่งของคุณ +CreateOrders=สร้างคำสั่งซื้อ +ToBillSeveralOrderSelectCustomer=การสร้างใบแจ้งหนี้สำหรับการสั่งซื้อหลายคลิกแรกบนลูกค้าแล้วเลือก "% s" diff --git a/htdocs/langs/th_TH/other.lang b/htdocs/langs/th_TH/other.lang index 819005d4f4a..1ae66888047 100644 --- a/htdocs/langs/th_TH/other.lang +++ b/htdocs/langs/th_TH/other.lang @@ -1,240 +1,242 @@ # Dolibarr language file - Source file is en_US - other -SecurityCode=Security code -Calendar=Calendar -Tools=Tools -ToolsDesc=This area is dedicated to group miscellaneous tools not available into other menu entries.

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

__SIGNATURE__ -PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nWe would like to warn you that the invoice __FACREF__ seems to not being payed. So this is the invoice in attachment again, as a reminder.\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nYou will find here the commercial proposal __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nYou will find here the order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYou will find here our order __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nYou will find here the invoice __FACREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendShipping=__CONTACTCIVNAME__\n\nYou will find here the shipping __SHIPPINGREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentSendFichInter=__CONTACTCIVNAME__\n\nYou will find here the intervention __FICHINTERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ -PredefinedMailContentThirdparty=__CONTACTCIVNAME__\n\n__PERSONALIZED__\n\n__SIGNATURE__ -DemoDesc=Dolibarr is a compact ERP/CRM composed by several functional modules. A demo that includes all modules does not mean anything as this never occurs. So, several demo profiles are available. -ChooseYourDemoProfil=Choose the demo profile that match your activity... -DemoFundation=Manage members of a foundation -DemoFundation2=Manage members and bank account of a foundation -DemoCompanyServiceOnly=Manage a freelance activity selling service only -DemoCompanyShopWithCashDesk=Manage a shop with a cash desk -DemoCompanyProductAndStocks=Manage a small or medium company selling products -DemoCompanyAll=Manage a small or medium company with multiple activities (all main modules) -GoToDemo=Go to demo -CreatedBy=Created by %s -ModifiedBy=Modified by %s -ValidatedBy=Validated by %s -CanceledBy=Canceled by %s -ClosedBy=Closed by %s -CreatedById=User id who created -ModifiedById=User id who made last change -ValidatedById=User id who validated -CanceledById=User id who canceled -ClosedById=User id who closed -CreatedByLogin=User login who created -ModifiedByLogin=User login who made last change -ValidatedByLogin=User login who validated -CanceledByLogin=User login who canceled -ClosedByLogin=User login who closed -FileWasRemoved=File %s was removed -DirWasRemoved=Directory %s was removed -FeatureNotYetAvailableShort=Available in a next version -FeatureNotYetAvailable=Feature not yet available in this version -FeatureExperimental=Experimental feature. Not stable in this version -FeatureDevelopment=Development feature. Not stable in this version -FeaturesSupported=Features supported -Width=Width -Height=Height -Depth=Depth -Top=Top -Bottom=Bottom -Left=Left -Right=Right -CalculatedWeight=Calculated weight -CalculatedVolume=Calculated volume -Weight=Weight -TotalWeight=Total weight -WeightUnitton=tonnes -WeightUnitkg=kg -WeightUnitg=g -WeightUnitmg=mg -WeightUnitpound=pound -Length=Length -LengthUnitm=m -LengthUnitdm=dm -LengthUnitcm=cm -LengthUnitmm=mm -Surface=Area +SecurityCode=รหัสรักษาความปลอดภัย +Calendar=ปฏิทิน +Tools=เครื่องมือ +ToolsDesc=บริเวณนี้เป็นที่ทุ่มเทให้กับกลุ่มเครื่องมืออื่น ๆ ที่ไม่สามารถใช้ได้เข้าไปในรายการเมนูอื่น ๆ

เครื่องมือเหล่านั้นสามารถเข้าถึงได้จากเมนูด้านข้าง +Birthday=วันเกิด +BirthdayDate=วันเกิด +DateToBirth=วันเกิด +BirthdayAlertOn= การแจ้งเตือนการใช้งานวันเกิด +BirthdayAlertOff= การแจ้งเตือนวันเกิดไม่ได้ใช้งาน +Notify_FICHINTER_VALIDATE=การแทรกแซงการตรวจสอบ +Notify_FICHINTER_SENTBYMAIL=การแทรกแซงส่งทางไปรษณีย์ +Notify_BILL_VALIDATE=ตรวจสอบใบแจ้งหนี้ของลูกค้า +Notify_BILL_UNVALIDATE=ใบแจ้งหนี้ของลูกค้า unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=เพื่อที่ผู้ผลิตบันทึก +Notify_ORDER_SUPPLIER_APPROVE=เพื่อที่ผู้ผลิตได้รับการอนุมัติ +Notify_ORDER_SUPPLIER_REFUSE=เพื่อที่ผู้ผลิตไม่ยอม +Notify_ORDER_VALIDATE=การตรวจสอบการสั่งซื้อของลูกค้า +Notify_PROPAL_VALIDATE=ข้อเสนอของลูกค้าผ่านการตรวจสอบ +Notify_PROPAL_CLOSE_SIGNED=propal ลูกค้าปิดลงนาม +Notify_PROPAL_CLOSE_REFUSED=propal ลูกค้าไม่ยอมปิด +Notify_WITHDRAW_TRANSMIT=ถอนการส่ง +Notify_WITHDRAW_CREDIT=ถอนเครดิต +Notify_WITHDRAW_EMIT=ดำเนินการถอนตัว +Notify_ORDER_SENTBYMAIL=สั่งซื้อของลูกค้าส่งทางไปรษณีย์ +Notify_COMPANY_CREATE=บุคคลที่สามสร้าง +Notify_COMPANY_SENTBYMAIL=อีเมลที่ส่งจากบัตรของบุคคลที่สาม +Notify_PROPAL_SENTBYMAIL=ข้อเสนอเชิงพาณิชย์ส่งทางไปรษณีย์ +Notify_BILL_PAYED=ใบแจ้งหนี้ของลูกค้า payed +Notify_BILL_CANCEL=ยกเลิกใบแจ้งหนี้ของลูกค้า +Notify_BILL_SENTBYMAIL=ใบแจ้งหนี้ของลูกค้าส่งทางไปรษณีย์ +Notify_ORDER_SUPPLIER_VALIDATE=เพื่อที่ผู้ผลิตบันทึก +Notify_ORDER_SUPPLIER_SENTBYMAIL=เพื่อที่ผู้ผลิตส่งทางไปรษณีย์ +Notify_BILL_SUPPLIER_VALIDATE=ผู้ผลิตตรวจสอบใบแจ้งหนี้ +Notify_BILL_SUPPLIER_PAYED=ใบแจ้งหนี้ผู้ผลิต payed +Notify_BILL_SUPPLIER_SENTBYMAIL=ใบแจ้งหนี้ที่ผู้ผลิตส่งทางไปรษณีย์ +Notify_BILL_SUPPLIER_CANCELED=ผู้ผลิตยกเลิกใบแจ้งหนี้ +Notify_CONTRACT_VALIDATE=การตรวจสอบสัญญา +Notify_FICHEINTER_VALIDATE=การแทรกแซงการตรวจสอบ +Notify_SHIPPING_VALIDATE=การจัดส่งสินค้าผ่านการตรวจสอบ +Notify_SHIPPING_SENTBYMAIL=การจัดส่งสินค้าส่งทางไปรษณีย์ +Notify_MEMBER_VALIDATE=สมาชิกผ่านการตรวจสอบ +Notify_MEMBER_MODIFY=สมาชิกมีการปรับเปลี่ยน +Notify_MEMBER_SUBSCRIPTION=สมัครสมาชิก +Notify_MEMBER_RESILIATE=สมาชิก resiliated +Notify_MEMBER_DELETE=สมาชิกที่ถูกลบ +Notify_PROJECT_CREATE=การสร้างโครงการ +Notify_TASK_CREATE=งานที่สร้างขึ้น +Notify_TASK_MODIFY=งานการแก้ไข +Notify_TASK_DELETE=งานที่ถูกลบ +SeeModuleSetup=ดูการตั้งค่าของโมดูล% s +NbOfAttachedFiles=จำนวนแนบไฟล์ / เอกสาร +TotalSizeOfAttachedFiles=ขนาดของไฟล์ที่แนบมา / เอกสาร +MaxSize=ขนาดสูงสุด +AttachANewFile=แนบไฟล์ใหม่ / เอกสาร +LinkedObject=วัตถุที่เชื่อมโยง +Miscellaneous=เบ็ดเตล็ด +NbOfActiveNotifications=จำนวนการแจ้งเตือน (nb ของอีเมลผู้รับ) +PredefinedMailTest=นี่คือการทดสอบอีเมล สองสายแยกจากกันโดยกลับรถ __SIGNATURE__ +PredefinedMailTestHtml=นี่คือจดหมายทดสอบ (ทดสอบคำว่าจะต้องอยู่ในตัวหนา)
สองสายแยกจากกันโดยกลับรถ

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

In both cases, permissions defines rights on Dolibarr, also external user can have a different menu manager than internal user (See Home - Setup - Display) -PermissionInheritedFromAGroup=Permission granted because inherited from one of a user's group. -Inherited=Inherited -UserWillBeInternalUser=Created user will be an internal user (because not linked to a particular third party) -UserWillBeExternalUser=Created user will be an external user (because linked to a particular third party) -IdPhoneCaller=Id phone caller -UserLogged=User %s login -UserLogoff=User %s logout -NewUserCreated=User %s created -NewUserPassword=Password change for %s -EventUserModified=User %s modified -UserDisabled=User %s disabled -UserEnabled=User %s activated -UserDeleted=User %s removed -NewGroupCreated=Group %s created -GroupModified=Group %s modified -GroupDeleted=Group %s removed -ConfirmCreateContact=Are you sure you want to create a Dolibarr account for this contact ? -ConfirmCreateLogin=Are you sure you want to create a Dolibarr account for this member ? -ConfirmCreateThirdParty=Are you sure you want to create a third party for this member ? -LoginToCreate=Login to create -NameToCreate=Name of third party to create -YourRole=Your roles -YourQuotaOfUsersIsReached=Your quota of active users is reached ! -NbOfUsers=Nb of users -DontDowngradeSuperAdmin=Only a superadmin can downgrade a superadmin -HierarchicalResponsible=Supervisor -HierarchicView=Hierarchical view -UseTypeFieldToChange=Use field Type to change -OpenIDURL=OpenID URL -LoginUsingOpenID=Use OpenID to login -WeeklyHours=Weekly hours -ColorUser=Color of the user +HRMArea=พื้นที่การบริหารทรัพยากรมนุษย์ +UserCard=ผู้ใช้บัตร +ContactCard=บัตรรายชื่อ +GroupCard=การ์ดกลุ่ม +NoContactCard=บัตรในหมู่ผู้ติดต่อไม่มี +Permission=การอนุญาต +Permissions=สิทธิ์ +EditPassword=แก้ไขรหัสผ่าน +SendNewPassword=งอกใหม่และส่งรหัสผ่าน +ReinitPassword=งอกใหม่รหัสผ่าน +PasswordChangedTo=เปลี่ยนรหัสผ่านในการ:% s +SubjectNewPassword=รหัสผ่านใหม่ของคุณสำหรับ Dolibarr +AvailableRights=สิทธิ์ที่มีจำหน่าย +OwnedRights=สิทธิ์ในการเป็นเจ้าของ +GroupRights=สิทธิ์ของกลุ่ม +UserRights=สิทธิ์ของผู้ใช้ +UserGUISetup=หน้าจอที่ใช้ติดตั้ง +DisableUser=ปิดการใช้งาน +DisableAUser=ปิดการใช้งานของผู้ใช้ +DeleteUser=ลบ +DeleteAUser=ลบผู้ใช้ +DisableGroup=ปิดการใช้งาน +DisableAGroup=ปิดการใช้งานกลุ่ม +EnableAUser=เปิดการใช้งานของผู้ใช้ +EnableAGroup=เปิดใช้งานกลุ่ม +DeleteGroup=ลบ +DeleteAGroup=ลบกลุ่ม +ConfirmDisableUser=คุณแน่ใจหรือว่าต้องการที่จะปิดการใช้งานของผู้ใช้% s? +ConfirmDisableGroup=คุณแน่ใจหรือว่าต้องการที่จะปิดการใช้งานกลุ่ม% s? +ConfirmDeleteUser=คุณแน่ใจหรือว่าต้องการลบผู้ใช้% s? +ConfirmDeleteGroup=คุณแน่ใจหรือว่าต้องการลบกลุ่ม% s? +ConfirmEnableUser=คุณแน่ใจหรือว่าต้องการที่จะช่วยให้ผู้ใช้% s? +ConfirmEnableGroup=คุณแน่ใจหรือว่าต้องการเปิดใช้งานกลุ่ม% s? +ConfirmReinitPassword=คุณแน่ใจหรือว่าต้องการที่จะสร้างรหัสผ่านใหม่สำหรับผู้ใช้% s? +ConfirmSendNewPassword=คุณแน่ใจหรือว่าต้องการที่จะสร้างและส่งรหัสผ่านใหม่สำหรับผู้ใช้% s? +NewUser=ผู้ใช้ใหม่ +CreateUser=สร้างผู้ใช้ +SearchAGroup=ค้นหากลุ่ม +SearchAUser=ค้นหาผู้ใช้ +LoginNotDefined=เข้าสู่ระบบไม่ได้กำหนดไว้ +NameNotDefined=ชื่อไม่ได้กำหนดไว้ +ListOfUsers=รายการของผู้ใช้ +Administrator=ผู้บริหาร +SuperAdministrator=ผู้ดูแลระบบซูเปอร์ +SuperAdministratorDesc=ผู้ดูแลระบบทั่วโลก +AdministratorDesc=นิติบุคคลของผู้ดูแลระบบ +DefaultRights=สิทธิ์เริ่มต้น +DefaultRightsDesc=ที่นี่กำหนดสิทธิ์เริ่มต้นที่จะได้รับโดยอัตโนมัติไปยังผู้ใช้ที่สร้างใหม่ (ไปในบัตรผู้ใช้สามารถเปลี่ยนได้รับอนุญาตจากผู้ใช้ที่มีอยู่) +DolibarrUsers=ผู้ใช้ Dolibarr +LastName=ชื่อ +FirstName=ชื่อแรก +ListOfGroups=รายชื่อของกลุ่ม +NewGroup=กลุ่มใหม่ +CreateGroup=สร้างกลุ่ม +RemoveFromGroup=ลบออกจากกลุ่ม +PasswordChangedAndSentTo=เปลี่ยนรหัสผ่านและส่งไปยัง% s +PasswordChangeRequestSent=ขอเปลี่ยนรหัสผ่านสำหรับ% s ส่งไปยัง% s +MenuUsersAndGroups=ผู้ใช้และกลุ่ม +MenuMyUserCard=บัตรผู้ใช้ของฉัน +LastGroupsCreated=% s ล่าสุดสร้างกลุ่ม +LastUsersCreated=ผู้ใช้% s ล่าสุดที่สร้างขึ้น +ShowGroup=แสดงกลุ่ม +ShowUser=แสดงผู้ใช้ +NonAffectedUsers=ผู้ใช้ที่ได้รับมอบหมายไม่ +UserModified=ผู้ประสบความสำเร็จในการปรับเปลี่ยน +PhotoFile=ไฟล์ภาพ +UserWithDolibarrAccess=ผู้ใช้ที่มีการเข้าถึง Dolibarr +ListOfUsersInGroup=รายการของผู้ใช้ในกลุ่มนี้ +ListOfGroupsForUser=รายชื่อของกลุ่มสำหรับผู้ใช้นี้ +UsersToAdd=ผู้ใช้สามารถเพิ่มไปยังกลุ่มนี้ +GroupsToAdd=กลุ่มที่จะเพิ่มผู้ใช้รายนี้ +NoLogin=เข้าสู่ระบบไม่ +LinkToCompanyContact=เชื่อมโยงไปยังบุคคลที่สาม / ติดต่อ +LinkedToDolibarrMember=เชื่อมโยงไปยังสมาชิก +LinkedToDolibarrUser=เชื่อมโยงไปยังผู้ใช้ Dolibarr +LinkedToDolibarrThirdParty=เชื่อมโยงไปยังบุคคลที่สาม Dolibarr +CreateDolibarrLogin=สร้างผู้ใช้ +CreateDolibarrThirdParty=สร้างของบุคคลที่สาม +LoginAccountDisable=บัญชีผู้พิการ, นำเข้าสู่ระบบใหม่ที่จะเปิดใช้งานได้ +LoginAccountDisableInDolibarr=บัญชีปิดใช้งานใน Dolibarr +LoginAccountDisableInLdap=บัญชีปิดการใช้งานในโดเมน +UsePersonalValue=ใช้ค่าส่วนบุคคล +GuiLanguage=อินเตอร์เฟซภาษา +InternalUser=ผู้ใช้งานภายใน +MyInformations=ข้อมูลของฉัน +ExportDataset_user_1=ผู้ใช้ Dolibarr และคุณสมบัติ +DomainUser=โดเมนของผู้ใช้% s +Reactivate=ฟื้นฟู +CreateInternalUserDesc=รูปแบบนี้จะช่วยให้คุณสามารถสร้างผู้ใช้ภายใน บริษัท ของคุณ / มูลนิธิ ในการสร้างผู้ใช้ภายนอก (ลูกค้าผู้จัดจำหน่าย, ... ) ใช้ปุ่ม 'สร้างผู้ใช้ Dolibarr จากบัตรรายชื่อของบุคคลที่สาม +InternalExternalDesc=ผู้ใช้งานภายในเป็นผู้ใช้ที่เป็นส่วนหนึ่งของ บริษัท ของคุณ / มูลนิธิ
ผู้ใช้ภายนอกเป็นลูกค้าซัพพลายเออร์หรืออื่น

ในทั้งสองกรณีสิทธิ์กำหนดสิทธิใน Dolibarr ผู้ใช้ภายนอกยังสามารถมีผู้จัดการเมนูที่แตกต่างจากผู้ใช้ภายใน (ดูหน้าแรก - การติดตั้ง - จอแสดงผล) +PermissionInheritedFromAGroup=ได้รับอนุญาตเพราะรับมาจากหนึ่งในกลุ่มของผู้ใช้ +Inherited=ที่สืบทอด +UserWillBeInternalUser=ผู้ใช้ที่สร้างจะเป็นผู้ใช้งานภายใน (เพราะไม่เชื่อมโยงกับบุคคลที่สามโดยเฉพาะ) +UserWillBeExternalUser=ผู้ใช้ที่สร้างจะเป็นผู้ใช้ภายนอก (เพราะเชื่อมโยงกับบุคคลที่สามโดยเฉพาะ) +IdPhoneCaller=id โทรโทรศัพท์ +UserLogged=ผู้ใช้% s เข้าสู่ระบบ +UserLogoff=ผู้ใช้% s ออกจากระบบ +NewUserCreated=% s ผู้ใช้สร้างขึ้น +NewUserPassword=เปลี่ยนรหัสผ่านสำหรับ% s +EventUserModified=% s ผู้ใช้ปรับเปลี่ยน +UserDisabled=ผู้ใช้% s พิการ +UserEnabled=% s ผู้ใช้เปิดใช้งาน +UserDeleted=ผู้ใช้% s ลบออก +NewGroupCreated=s% กลุ่มที่สร้างขึ้น +GroupModified=กลุ่ม% s การแก้ไข +GroupDeleted=กลุ่ม% s ลบออก +ConfirmCreateContact=คุณแน่ใจว่าคุณต้องการที่จะสร้างบัญชี Dolibarr ติดต่อนี้หรือไม่? +ConfirmCreateLogin=คุณแน่ใจว่าคุณต้องการที่จะสร้างบัญชี Dolibarr สมาชิกนี้? +ConfirmCreateThirdParty=คุณแน่ใจว่าคุณต้องการที่จะสร้างบุคคลที่สามของสมาชิกนี้? +LoginToCreate=เข้าสู่ระบบที่จะสร้าง +NameToCreate=ชื่อของบุคคลที่สามในการสร้าง +YourRole=บทบาทของคุณ +YourQuotaOfUsersIsReached=โควต้าของคุณของผู้ใช้ที่ใช้งานถึง! +NbOfUsers=nb ของผู้ใช้ +DontDowngradeSuperAdmin=เพียง superadmin สามารถปรับลด superadmin +HierarchicalResponsible=ผู้ดูแล +HierarchicView=มุมมองลำดับชั้น +UseTypeFieldToChange=ใช้ประเภทเพื่อเปลี่ยน +OpenIDURL=URL OpenID +LoginUsingOpenID=ใช้ OpenID เข้าสู่ระบบ +WeeklyHours=สัปดาห์ชั่วโมง +ColorUser=สีของผู้ใช้ diff --git a/htdocs/langs/th_TH/withdrawals.lang b/htdocs/langs/th_TH/withdrawals.lang index c36ffbf025a..30f5a9ef2a9 100644 --- a/htdocs/langs/th_TH/withdrawals.lang +++ b/htdocs/langs/th_TH/withdrawals.lang @@ -1,97 +1,97 @@ # Dolibarr language file - Source file is en_US - withdrawals -StandingOrdersArea=Standing orders area -CustomersStandingOrdersArea=Customers standing orders area -StandingOrders=Standing orders -StandingOrder=Standing orders -NewStandingOrder=New standing order -StandingOrderToProcess=To process -StandingOrderProcessed=Processed -Withdrawals=Withdrawals -Withdrawal=Withdrawal -WithdrawalsReceipts=Withdrawal receipts -WithdrawalReceipt=Withdrawal receipt -WithdrawalReceiptShort=Receipt -LastWithdrawalReceipts=Last %s withdrawal receipts -WithdrawedBills=Withdrawn invoices -WithdrawalsLines=Withdrawal lines -RequestStandingOrderToTreat=Request for standing orders to process -RequestStandingOrderTreated=Request for standing orders processed -NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. -CustomersStandingOrders=Customer standing orders -CustomerStandingOrder=Customer standing order -NbOfInvoiceToWithdraw=Nb. of invoice with withdraw request -NbOfInvoiceToWithdrawWithInfo=Nb. of invoice with withdraw request for customers having defined bank account information -InvoiceWaitingWithdraw=Invoice waiting for withdraw -AmountToWithdraw=Amount to withdraw -WithdrawsRefused=Withdraws refused -NoInvoiceToWithdraw=No customer invoice in payment mode "withdraw" is waiting. Go on 'Withdraw' tab on invoice card to make a request. -ResponsibleUser=Responsible user -WithdrawalsSetup=Withdrawal setup -WithdrawStatistics=Withdraw's statistics -WithdrawRejectStatistics=Withdraw reject's statistics -LastWithdrawalReceipt=Last %s withdrawing receipts -MakeWithdrawRequest=Make a withdraw request -ThirdPartyBankCode=Third party bank code -ThirdPartyDeskCode=Third party desk code -NoInvoiceCouldBeWithdrawed=No invoice withdrawed with success. Check that invoice are on companies with a valid BAN. -ClassCredited=Classify credited -ClassCreditedConfirm=Are you sure you want to classify this withdrawal receipt as credited on your bank account? -TransData=Transmission date -TransMetod=Transmission method -Send=Send -Lines=Lines -StandingOrderReject=Issue a rejection -WithdrawalRefused=Withdrawal refused -WithdrawalRefusedConfirm=Are you sure you want to enter a withdrawal rejection for society -RefusedData=Date of rejection -RefusedReason=Reason for rejection -RefusedInvoicing=Billing the rejection -NoInvoiceRefused=Do not charge the rejection -InvoiceRefused=Invoice refused (Charge the rejection to customer) -Status=Status -StatusUnknown=Unknown -StatusWaiting=Waiting -StatusTrans=Sent -StatusCredited=Credited -StatusRefused=Refused -StatusMotif0=Unspecified -StatusMotif1=Insufficient funds -StatusMotif2=Request contested -StatusMotif3=No Withdrawal order -StatusMotif4=Customer Order -StatusMotif5=RIB unusable -StatusMotif6=Account without balance -StatusMotif7=Judicial Decision -StatusMotif8=Other reason -CreateAll=Withdraw all -CreateGuichet=Only office -CreateBanque=Only bank -OrderWaiting=Waiting for treatment -NotifyTransmision=Withdrawal Transmission -NotifyEmision=Withdrawal Emission -NotifyCredit=Withdrawal Credit -NumeroNationalEmetter=National Transmitter Number -PleaseSelectCustomerBankBANToWithdraw=Select information about customer bank account to withdraw -WithBankUsingRIB=For bank accounts using RIB -WithBankUsingBANBIC=For bank accounts using IBAN/BIC/SWIFT -BankToReceiveWithdraw=Bank account to receive withdraws -CreditDate=Credit on -WithdrawalFileNotCapable=Unable to generate withdrawal receipt file for your country %s (Your country is not supported) -ShowWithdraw=Show Withdraw -IfInvoiceNeedOnWithdrawPaymentWontBeClosed=However, if invoice has at least one withdrawal payment not yet processed, it won't be set as paid to allow prior withdrawal management. -DoStandingOrdersBeforePayments=This tab allows you to request a standing order. Once done, go into menu Bank->Withdrawal to manage the standing order. When standing order is closed, payment on invoice will be automatically recorded, and invoice closed if remainder to pay is null. -WithdrawalFile=Withdrawal file -SetToStatusSent=Set to status "File Sent" -ThisWillAlsoAddPaymentOnInvoice=This will also apply payments to invoices and will classify them as "Paid" -StatisticsByLineStatus=Statistics by status of lines +StandingOrdersArea=พื้นที่ยืนคำสั่งซื้อ +CustomersStandingOrdersArea=ลูกค้าที่ยืนอยู่ในพื้นที่การสั่งซื้อ +StandingOrders=ยืนคำสั่งซื้อ +StandingOrder=ยืนคำสั่งซื้อ +NewStandingOrder=เพื่อยืนใหม่ +StandingOrderToProcess=ในการประมวลผล +StandingOrderProcessed=การประมวลผล +Withdrawals=การถอนเงิน +Withdrawal=การถอนตัว +WithdrawalsReceipts=ใบเสร็จรับเงินการถอนเงิน +WithdrawalReceipt=ใบเสร็จรับเงินการถอนเงิน +WithdrawalReceiptShort=ใบเสร็จรับเงิน +LastWithdrawalReceipts=% ล่าสุดของใบเสร็จรับเงินการเบิกถอน +WithdrawedBills=ใบแจ้งหนี้การถอดถอน +WithdrawalsLines=การถอนเส้น +RequestStandingOrderToTreat=ขอยืนคำสั่งในการประมวลผล +RequestStandingOrderTreated=ขอยืนสั่งการประมวลผล +NotPossibleForThisStatusOfWithdrawReceiptORLine=ยังไม่ได้เป็นไปได้ สถานะถอนจะต้องตั้งค่า 'เครดิต' ก่อนที่จะประกาศปฏิเสธสายที่เฉพาะเจาะจง +CustomersStandingOrders=ยืนสั่งของลูกค้า +CustomerStandingOrder=ลูกค้าเพื่อยืน +NbOfInvoiceToWithdraw=nb ของใบแจ้งหนี้ถอนคำขอ +NbOfInvoiceToWithdrawWithInfo=nb ของใบแจ้งหนี้ถอนคำขอสำหรับลูกค้าที่มีข้อมูลบัญชีธนาคารที่กำหนดไว้ +InvoiceWaitingWithdraw=ใบแจ้งหนี้รอให้ถอนตัว +AmountToWithdraw=จำนวนเงินที่จะถอนตัว +WithdrawsRefused=ปฏิเสธที่จะถอนตัวออก +NoInvoiceToWithdraw=ไม่มีใบแจ้งหนี้ลูกค้าในโหมดการชำระเงิน "ถอนตัว" กำลังรอ ไปที่แท็บ 'ถอน' บนการ์ดใบแจ้งหนี้ที่จะทำให้การร้องขอ +ResponsibleUser=ผู้ใช้ที่มีความรับผิดชอบ +WithdrawalsSetup=การถอนการติดตั้ง +WithdrawStatistics=ถอนสถิติ +WithdrawRejectStatistics=ถอนสถิติปฏิเสธของ +LastWithdrawalReceipt=% s ล่าสุดถอนใบเสร็จรับเงิน +MakeWithdrawRequest=จะขอถอนตัว +ThirdPartyBankCode=รหัสธนาคารของบุคคลที่สาม +ThirdPartyDeskCode=รหัสแผนกบุคคลที่สาม +NoInvoiceCouldBeWithdrawed=ใบแจ้งหนี้ไม่มี withdrawed กับความสำเร็จ ตรวจสอบใบแจ้งหนี้ที่อยู่ใน บริษัท ที่มีบ้านที่ถูกต้อง +ClassCredited=จำแนกเครดิต +ClassCreditedConfirm=คุณแน่ใจว่าคุณต้องการที่จะจำแนกได้รับการถอนนี้เป็นเครดิตในบัญชีธนาคารของคุณ? +TransData=วันที่ส่ง +TransMetod=วิธีการส่ง +Send=ส่ง +Lines=เส้น +StandingOrderReject=ออกปฏิเสธ +WithdrawalRefused=ปฏิเสธการถอนเงิน +WithdrawalRefusedConfirm=คุณแน่ใจหรือว่าต้องการที่จะเข้าสู่การปฏิเสธการถอนสังคม +RefusedData=วันที่ของการปฏิเสธ +RefusedReason=เหตุผลในการปฏิเสธ +RefusedInvoicing=การเรียกเก็บเงินการปฏิเสธ +NoInvoiceRefused=ไม่คิดค่าบริการการปฏิเสธ +InvoiceRefused=ใบแจ้งหนี้ไม่ยอม (ชาร์จปฏิเสธให้กับลูกค้า) +Status=สถานะ +StatusUnknown=ไม่ทราบ +StatusWaiting=ที่รอ +StatusTrans=ส่ง +StatusCredited=เครดิต +StatusRefused=ปฏิเสธ +StatusMotif0=ยังไม่ระบุ +StatusMotif1=เงินไม่เพียงพอ +StatusMotif2=ขอเข้าร่วมแข่งขัน +StatusMotif3=ไม่มีการถอนคำสั่ง +StatusMotif4=สั่งซื้อของลูกค้า +StatusMotif5=RIB ใช้ไม่ได้ +StatusMotif6=บัญชีโดยไม่สมดุล +StatusMotif7=การตัดสินใจการพิจารณาคดี +StatusMotif8=เหตุผลอื่น ๆ +CreateAll=ถอนทั้งหมด +CreateGuichet=สำนักงานเท่านั้น +CreateBanque=เฉพาะธนาคาร +OrderWaiting=กำลังรอการรักษา +NotifyTransmision=การถอนตัวส่ง +NotifyEmision=การถอนการปล่อย +NotifyCredit=การถอนเครดิต +NumeroNationalEmetter=จำนวนเครื่องส่งสัญญาณแห่งชาติ +PleaseSelectCustomerBankBANToWithdraw=เลือกข้อมูลเกี่ยวกับบัญชีธนาคารของลูกค้าที่จะถอนตัว +WithBankUsingRIB=สำหรับบัญชีเงินฝากธนาคารโดยใช้ RIB +WithBankUsingBANBIC=สำหรับบัญชีเงินฝากธนาคารโดยใช้ IBAN / BIC / SWIFT +BankToReceiveWithdraw=บัญชีธนาคารที่จะได้รับถอนตัว +CreditDate=เกี่ยวกับบัตรเครดิต +WithdrawalFileNotCapable=ไม่สามารถสร้างไฟล์ใบเสร็จรับเงินการถอนเงินสำหรับประเทศ% s ของคุณ (ประเทศของคุณไม่ได้รับการสนับสนุน) +ShowWithdraw=แสดงถอน +IfInvoiceNeedOnWithdrawPaymentWontBeClosed=แต่ถ้าใบแจ้งหนี้ที่มีอย่างน้อยหนึ่งการชำระเงินการถอนเงินยังไม่ได้ดำเนินการก็จะไม่ได้รับการกำหนดให้เป็นจ่ายเพื่อให้การจัดการถอนก่อน +DoStandingOrdersBeforePayments=แท็บนี้จะช่วยให้คุณสามารถที่จะขอคำสั่งยืน เมื่อเสร็จแล้วให้ไปที่เมนู Bank-> การถอนตัวในการจัดการคำสั่งยืน เมื่อยืนอยู่เพื่อที่จะปิดการชำระเงินในใบแจ้งหนี้จะถูกบันทึกไว้โดยอัตโนมัติและใบแจ้งหนี้ที่เหลือถ้าปิดจะจ่ายเป็นโมฆะ +WithdrawalFile=ไฟล์ถอนเงิน +SetToStatusSent=ตั้งสถานะ "แฟ้มส่ง" +ThisWillAlsoAddPaymentOnInvoice=นอกจากนี้ยังจะใช้การชำระเงินให้กับใบแจ้งหนี้และจะจัดให้เป็น "การชำระเงิน" +StatisticsByLineStatus=สถิติตามสถานะของสาย ### Notifications -InfoCreditSubject=Payment of standing order %s by the bank -InfoCreditMessage=The standing order %s has been paid by the bank
Data of payment: %s -InfoTransSubject=Transmission of standing order %s to bank -InfoTransMessage=The standing order %s has been sent to bank by %s %s.

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

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

--
%s -ModeWarning=Option for real mode was not set, we stop after this simulation +InfoCreditSubject=การชำระเงินเพื่อการยืน% s โดยธนาคาร +InfoCreditMessage=เพื่อยืน% s ได้รับการชำระเงินจากธนาคาร
ข้อมูลการชำระเงิน:% s +InfoTransSubject=การส่งคำสั่งยืน% s ไปที่ธนาคาร +InfoTransMessage=เพื่อยืน% s ได้ถูกส่งไปยังธนาคารโดย% s% s

+InfoTransData=จำนวนเงิน:% s
วิธีการ:% s
วันที่:% s +InfoFoot=นี่คือข้อความที่ถูกส่งโดยอัตโนมัติ Dolibarr +InfoRejectSubject=เพื่อยืนปฏิเสธ +InfoRejectMessage=สวัสดี

เพื่อยืนใบแจ้งหนี้% s ที่เกี่ยวข้องกับ บริษัท % s ที่มีปริมาณของ% s ได้รับการปฏิเสธจากธนาคาร

-
% s +ModeWarning=ตัวเลือกสำหรับโหมดจริงไม่ได้ตั้งค่าเราหยุดหลังจากจำลองนี้ diff --git a/htdocs/langs/th_TH/workflow.lang b/htdocs/langs/th_TH/workflow.lang index 17c8dd3aafa..688766b7dd2 100644 --- a/htdocs/langs/th_TH/workflow.lang +++ b/htdocs/langs/th_TH/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin -WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid -descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid -descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated +WorkflowSetup=เวิร์กโฟลว์การติดตั้งโมดูล +WorkflowDesc=โมดูลนี้ถูกออกแบบมาเพื่อปรับเปลี่ยนพฤติกรรมของการกระทำโดยอัตโนมัติลงในใบสมัคร โดยค่าเริ่มต้นขั้นตอนการทำงานจะเปิด (คุณสามารถทำสิ่งที่อยู่ในลำดับที่คุณต้องการ) คุณสามารถเปิดใช้การกระทำโดยอัตโนมัติคุณมีความสนใจใน +ThereIsNoWorkflowToModify=ไม่มีขั้นตอนการทำงานคือการปรับเปลี่ยนสำหรับโมดูลเปิดใช้งาน +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=โดยอัตโนมัติสร้างคำสั่งของลูกค้าหลังจากที่ข้อเสนอในเชิงพาณิชย์มีการลงนาม +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically สร้างใบแจ้งหนี้ลูกค้าหลังจากที่ข้อเสนอในเชิงพาณิชย์มีการลงนาม +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically สร้างใบแจ้งหนี้ลูกค้าหลังจากที่สัญญาจะถูกตรวจสอบ +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically สร้างใบแจ้งหนี้ลูกค้าหลังจากที่สั่งซื้อของลูกค้าจะถูกปิด +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=จำแนกข้อเสนอแหล่งที่มาเชื่อมโยงกับการเรียกเก็บเงินเมื่อสั่งซื้อของลูกค้ามีการตั้งค่าที่จะจ่ายเงิน +descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=จำแนกแหล่งที่มาสั่งซื้อของลูกค้าที่เชื่อมโยง (s) เพื่อเรียกเก็บเงินเมื่อใบแจ้งหนี้ลูกค้าถูกตั้งค่าให้จ่าย +descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=จำแนกแหล่งที่มาสั่งซื้อของลูกค้าที่เชื่อมโยง (s) เพื่อเรียกเก็บเงินเมื่อใบแจ้งหนี้ของลูกค้าจะถูกตรวจสอบ diff --git a/htdocs/langs/tr_TR/accountancy.lang b/htdocs/langs/tr_TR/accountancy.lang index c44f2e423b1..ea96949d2dd 100644 --- a/htdocs/langs/tr_TR/accountancy.lang +++ b/htdocs/langs/tr_TR/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +ACCOUNTING_EXPORT_SEPARATORCSV=Dışaaktarma dosyası için sütun ayırıcısı +ACCOUNTING_EXPORT_DATE=Dışaaktarma dosyası için tarih biçimi +ACCOUNTING_EXPORT_PIECE=Dışaaktarılacak parça sayısı ? +ACCOUNTING_EXPORT_GLOBAL_ACCOUNT=Genel hesapla mı dışaaktarılsın? +ACCOUNTING_EXPORT_LABEL=Etiket dışaaktarılsın mı? +ACCOUNTING_EXPORT_AMOUNT=Tutar dışaaktarılsın mı? +ACCOUNTING_EXPORT_DEVISE=Aygıt dışaaktarılsın mı? Accounting=Muhasebe Globalparameters=Genel parametreler @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Üçüncü parti hesaplarının uzunluğu ACCOUNTING_SELL_JOURNAL=Satış günlüğü ACCOUNTING_PURCHASE_JOURNAL=Alış günlüğü -ACCOUNTING_BANK_JOURNAL=Banka günlüğü -ACCOUNTING_CASH_JOURNAL=Kasa günlüğü ACCOUNTING_MISCELLANEOUS_JOURNAL=Çeşitli günlük +ACCOUNTING_EXPENSEREPORT_JOURNAL=Rapor günlüğü dışaaktarılsın mı? ACCOUNTING_SOCIAL_JOURNAL=Sosyal günlük ACCOUNTING_ACCOUNT_TRANSFER_CASH=Transfer hesabı diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 0ecef063e94..7acd6b21b52 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Kullanıcı menüsü LangFile=.lang dosyası System=Sistem SystemInfo=Sistem bilgileri -SystemTools=Sistem araçları SystemToolsArea=Sistem araçları alanı SystemToolsAreaDesc=Bu alan yönetimsel özellikler sağlar. Aradığınız özelliği seçmek için menüyü kullanın. Purge=Temizleme @@ -232,8 +231,8 @@ Security=Güvenlik Passwords=Parolalar DoNotStoreClearPassword=Parolaları veritabanında saklamayın silin, yalnızca şifreli değerleri saklayın (Etkinleştirme önerilir) MainDbPasswordFileConfEncrypted=Veritabanı parolaları conf.php de şifrelendirilmiştir. (Etkinleştirme önerilir) -InstrucToEncodePass=Parolaları conf.php dosyasına şifrelendirilmek için
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="şifrelendi:%s" satırını değiştirin -InstrucToClearPass=Parolaları conf.php dosyasına çözmek için
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="şifrelendi:%s" satırını değiştirin +InstrucToEncodePass=Parolayı conf.php dosyasına kodlamak için
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; satırını değiştirin +InstrucToClearPass=Parolayı conf.php dosyasına kodlamak (temiz) için
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; satırını değiştirin ProtectAndEncryptPdfFiles=Oluşturulan pdf dosyalarının korunması (Etkinleştirme önerilmez) toplu pdf oluşumunu bozar ProtectAndEncryptPdfFilesDesc=Bir PDF belgesinin korunması dosyanın herhangi bir PDF tarayıcısında okunmasını ve yazdırılmasını sağlar. Bundan düzenleme ve kopyalama olanaksızdır. Bu özelliği kulanmanın çalışmayan genel kümülatif pdf oluşturduğuna dikkat edin (ödenmemiş faturalar gibi). Feature=Özellik @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Bu ayarlama işlemidir: ThisIsAlternativeProcessToFollow=Bu bir alternatif işlem ayarıdır: StepNb=Adım %s FindPackageFromWebSite=İstediğiniz özelliği sağlayan bir paket bulun (örneğin; resmi web sitesinden %s). -DownloadPackageFromWebSite=%s Paketini indir. -UnpackPackageInDolibarrRoot=Paket dosyasını dış modüllere ayrılmış dizin içine aç: %s +DownloadPackageFromWebSite=Paketi indir (örneğin resmi web sitesinden %s). +UnpackPackageInDolibarrRoot=Dosya paketini dış modüllere adanmış Dolibarr sunucusu dizinin içine ayıklayın: %s SetupIsReadyForUse=Kurma işlemi bitmiştir ve Dolibarr bu yeni bileşeni ile kullanıma hazırdır. NotExistsDirect=Alternatif kök dizin tanımlanmamış.
InfDirAlt=Sürüm 3 ten beri bir alternatif kök dizin tanımlanabiliyor. Bu sizin bir miktar boşluk, eklentiler ve özel şablonlar depolamanızı sağlar.
Yalnızca Dolibarr kökünde bir dizin oluşturun (örn. özel).
InfDirExample=
Sonra bunu conf.php dosyasında belirtin
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*Bu satırlar "#" karakteri ile yorumlanır, yorumu kaldırmak için sadece bu karakteri kaldırın. -YouCanSubmitFile=Modül seç: +YouCanSubmitFile=Bu adımda paketi göndermek için kullanacağınız araç: Modül dosyasını seç CurrentVersion=Dolibarr geçerli sürümü CallUpdatePage=Veritabanı yapısını ve verileri güncelleyen sayfaya git: %s. LastStableVersion=Son kararlı sürüm @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parametre listesi bir tablodan gelir
Sözdizimi : ExtrafieldParamHelpchkbxlst=Parametre listesi bir tablodan gelir
Sözdizimi : table_name:label_field:id_field::filter
Örnek: c_typent:libelle:id::filter

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

Başkasına dayalı listeyi almak için :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=PDF oluşturmada kullanılan kütüphane WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Bazı ülkelerde her fatura satırına 2 ya da 3 tane vergi uygulanır. Böyle bir durum varsa, ikinci ve üçüncü vergi türünü ve oranını seçin. Olası türler:
1 : ürün ve hizmetlere uygulanan kdv siz yerel vergi (yerel vergi tutar üzerinden kdv siz olarak hesaplanır))
2 : ürün ve hizmetlere kdv dahil olarak hesaplanan yerel vergi (yerel vergi tutar + ana vergi üzerinden hesaplanır)
3 : ürünlere uygulanan kdv siz yerel vergi (yerel vergi tutar üzerinden kdv hariç hesaplanır))
4 : yerel vergi ürünlerde kdv dahil uygulanır (kdv tutar + ana kdv üzerinden hesaplanır)
5 : yerel vergi ürünlerde kdv siz olarak uygulanır (yerel vergi tutar üzerinden kdv siz olarak hesaplanır)
6 : yerel vergi hizmetlere kdv dahil uygulanır (yeel vergi tutar + vergi üzerinden hesaplanır) +LocalTaxDesc=Bazı ülkelerde her fatura satırına 2 ya da 3 tane vergi uygulanır. Böyle bir durum varsa, ikinci ve üçüncü vergi türünü ve oranını seçin. Olası türler:
1 : ürün ve hizmetlere uygulanan kdv siz yerel vergi (yerel vergi tutar üzerinden kdv siz olarak hesaplanır))<br>2 : ürün ve hizmetlere kdv dahil olarak hesaplanan yerel vergi (yerel vergi tutar + ana vergi üzerinden hesaplanır)
3 : ürünlere uygulanan kdv siz yerel vergi (yerel vergi tutar üzerinden kdv hariç hesaplanır)
4 : yerel vergi ürünlerde kdv dahil uygulanır (kdv tutar + ana kdv üzerinden hesaplanır)
5 : yerel vergi ürünlerde kdv siz olarak uygulanır (yerel vergi tutar üzerinden kdv siz olarak hesaplanır)
6 : yerel vergi hizmetlere kdv dahil uygulanır (yeel vergi tutar + vergi üzerinden hesaplanır) SMS=SMS LinkToTestClickToDial=Kullanıcı %s için ClickTodial url denemesi yapmak üzere gösterilecek bağlantıyı aramak için bir telefon numarası gir RefreshPhoneLink=Bağlantıyı yenile @@ -492,8 +491,8 @@ Module400Name=Projeler/Fırsatlar/Adaylar Module400Desc=Projlerin, fırsatların ve adayların yönetimi. Daha sonra bir projeye herhangi bir unsur (fatura, sipariş, teklif, müdahale, ...) atayabilirsiniz ve proje görünümünde bir çapraz bir görünüm elde edebilirsiniz. Module410Name=Web Takvimi Module410Desc=WebT akvimi entegrasyonu -Module500Name=Özel giderler (vergi, sosyal katkı payları, temettüler) -Module500Desc=Vergiler, sosyal katkı payları, temettüler ve maaşlar gibi özel giderlerin yönetimi +Module500Name=Özel giderler +Module500Desc=Özel giderlerin yönetimi (vergiler, sosyal katkı payları, paylar) Module510Name=Ücretler Module510Desc=Çalışanların maaş ve ödeme yönetimi Module520Name=Borç @@ -524,8 +523,10 @@ Module2400Name=Gündem Module2400Desc=Etkinlikler/görevler ve gündem yönetimi Module2500Name=Elektronik İçerik Yönetimi Module2500Desc=Belgeleri saklayın ve yönetin -Module2600Name=Web Hizmetleri -Module2600Desc=Dolibarr web hizmetleri sunucusunu etkinleştirin +Module2600Name=API hizmetleri (SOAP web hizmetleri) +Module2600Desc=API hizmetlerini sağlayan Dolibarr SOAP sunucusunu etkinleştir +Module2610Name=API hizmetleri (REST Web hizmetleri) +Module2610Desc=API hizmetlerini sağlayan Dolibarr REST sunucusunu etkinleştir Module2650Name=WebHizmetleri (istemci) Module2650Desc=Dolibarr web hizmetleri istemcisini etkinleştir (Dış sunuculara veri/istek iteklemek için kullanılabilir. Tedarikçi siparişleri yalnızca anında desteklenir Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Teklifin/siparişin kökeni DictionaryAccountancyplan=Hesap planı DictionaryAccountancysystem=Hesap planı modelleri DictionaryEMailTemplates=Eposta şablonları +DictionaryUnits=Birimler +DictionaryProspectStatus=Aday durumu SetupSaved=Kurulum kaydedildi BackToModuleList=Modül listesine geri git BackToDictionaryList=Sözlük listesine dön @@ -936,13 +939,14 @@ CompanyZip=Posta Kodu CompanyTown=İlçesi CompanyCountry=Ülkesi CompanyCurrency=Ana para birimi +CompanyObject=Firmaya ait öğe Logo=Logo DoNotShow=Gösterme DoNotSuggestPaymentMode=Önerme NoActiveBankAccountDefined=Tanımlı etkin banka hesabı yok OwnerOfBankAccount=Banka hesabı sahibi %s BankModuleNotActive=Banka hesapları modülü etkin değil -ShowBugTrackLink=”Hata bildir” bağlantısını göster +ShowBugTrackLink=Bu bağlantıyı göster "%s" ShowWorkBoard=Çalışma tezgahını ana sayfada göster Alerts=Uyarılar Delays=Süreler @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Birim fiyatlar için ençok ondalık MAIN_MAX_DECIMALS_TOT=Toplam fiyatlar için ençok ondalık MAIN_MAX_DECIMALS_SHOWN=Fiyatlar için ençok ondalık ekranda görüntülenir (isterseniz bu sayıdan sonra görmek istediğiniz kırpılmış ... ekleyin) MAIN_DISABLE_PDF_COMPRESSION=Oluşturulan PDF dosyaları için PDF sıkıştırması kullanın. -MAIN_ROUNDING_RULE_TOT= Yuvarlama aralığı Boyutu (nadir ülkelerde 10 tabanından başka yuvarlama yapılır) +MAIN_ROUNDING_RULE_TOT=Yuvarlama oranı basamağı (10 tabanından farklı yuvarlama ülkeler için. Örneğin eğer yuvarlama 0.05 olacaksa 0.05 koyun) UnitPriceOfProduct=Bir ürünün net birim fiyatı TotalPriceAfterRounding=Yuvarlama sonrası toplam fiyat (net/KDV/vergi dahil) ParameterActiveForNextInputOnly=Yalnız sonraki giriş için etkili Parametre @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Toplam etkin özel modül sayısı: %s YouMustEnableOneModule=Enaz 1 modül etkinleştirmelisiniz ClassNotFoundIntoPathWarning=Sınıf %s PHP youlnda bulunamadı YesInSummer=Yazın evet -OnlyFollowingModulesAreOpenedToExternalUsers=Not, yalnızca aşağıdaki modüller dış kullanıcılara açıktır (bu tür kullanıcıların izinleri ne olursa olsun): +OnlyFollowingModulesAreOpenedToExternalUsers=Not, yalnızca aşağıdaki modüller dış kullanıcılara açıktır (böyle kullanıcıların izinleri ne olursa olsun): SuhosinSessionEncrypt=Oturum depolaması Suhosin tarafından şifrelendi ConditionIsCurrently=Koşul şu anda %s durumunda YouUseBestDriver=Kullandığınız sürücü %s şu anda en iyi sürücüdür. @@ -1298,11 +1302,11 @@ LDAPSetupForVersion3=LDAP sunucusu sürüm 3 için yapılandırılmış LDAPSetupForVersion2=LDAP sunucusu sürüm 2 için yapılandırılmış LDAPDolibarrMapping=Dolibarr Eşleme LDAPLdapMapping=LDAP Eşleme -LDAPFieldLoginUnix=Oturum açma (Unix) +LDAPFieldLoginUnix=Oturum aç (Unix) LDAPFieldLoginExample=Örnek: uid LDAPFilterConnection=Arama süzgeçi LDAPFilterConnectionExample=Örnek: &(objectClass = InetOrgPerson) -LDAPFieldLoginSamba=Oturum açma (samba, activedirectory) +LDAPFieldLoginSamba=Oturum aç (samba, activedirectory) LDAPFieldLoginSambaExample=Örnek: sAMAccountName LDAPFieldFullname=İlk Adı LDAPFieldFullnameExample=Örnek: cn @@ -1384,12 +1388,14 @@ NumberOfProductShowInSelect=Açılır seçim (combo) listelerindeki ençok ürü ConfirmDeleteProductLineAbility=Formlardan ürün satırı silerken onaylama ModifyProductDescAbility=Formlarda ürün tanımlamalarının kişiselleştirilmesi ViewProductDescInFormAbility=Formlarda ürün tanımlarının görselleştirilmesi (aksi durumda açılır araç ipucu olarak) +MergePropalProductCard=Eğer ürün/hizmet teklifte varsa Ekli Dosyalar sekmesinde ürün/hizmet seçeneğini etkinleştirin, böylece ürün PDF belgesini PDF azur teklifine birleştirirsiniz ViewProductDescInThirdpartyLanguageAbility=Ürün açıklamalarının üçüncü partilerin dilinde gösterilmesi UseSearchToSelectProductTooltip=Ayrıca çok fazla sayıda ürününüz varsa (>100 000), Kurulum->Diğer den PRODUCT_DONOTSEARCH_ANYWHERE değişmezini 1 e ayarlayarak hızı arttırabilirsiniz. Sonra arama dizenin başlamasıyla sınırlı olacaktır. UseSearchToSelectProduct=Bir ürün seçmek için arama formu kullanın (liste kutusu yerine). UseEcoTaxeAbility=Eko-Vergi Desteği (WEEE) SetDefaultBarcodeTypeProducts=Ürünler için kullanılacak varsayılan barkod türü SetDefaultBarcodeTypeThirdParties=Üçüncü partiler için kullanılacak varsayılan barkod tipi +UseUnits=Birimleri destekler ProductCodeChecker= Ürün kodu oluşturma ve denetimi modülü (ürün ya da hizmet) ProductOtherConf= Ürün / Hizmet yapılandırma ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=Barkod türü UPC BarcodeDescISBN=Barkod türü ISBN BarcodeDescC39=Barkod türü C39 BarcodeDescC128=Barkod türü C128 +BarcodeDescDATAMATRIX=Datamatrix türü barkod +BarcodeDescQRCODE=QR kodu türü barkod GenbarcodeLocation=Bar kodu oluşturma komut satırı aracı (bazı bar kodu türleri için iç motor tarafından kullanılır). "genbarcode" ile uyumlu olmalıdır.
Örneğin: /usr/local/bin/genbarcode BarcodeInternalEngine=İç motor BarCodeNumberManager=Barkod sayılarını otomatik olarak tanımlayacak yönetici @@ -1552,6 +1560,13 @@ WebServicesSetup=WebHizmetleri modülü kurulumu WebServicesDesc=Bu modül etkinleştirilrek, Dolibarr’ın çeşitli web servisleri sağlayan bir web hizmeti sunucusu haline gelmesi sağlanır. WSDLCanBeDownloadedHere=Servis sağlayıcılarına ait WSDL tanımlayıcı dosyaları buradan indirebilirsiniz EndPointIs=SOAP istemcileri isteklerini URL de varolan Dolibarr uç noktasına göndermelidir. +##### API #### +ApiSetup=API modül ayarları +ApiDesc=Bu modül etkinleştirilerek Dolibarr çeşitli web hizmetlerini sağlayan bir REST sunucusu haline getirilir. +KeyForApiAccess=API kullanmak için anahtar (parametre "api_key") +ApiEndPointIs=API erişimi için url +ApiExporerIs=API incelemesi için url +OnlyActiveElementsAreExposed=Yalnızca etkin modüllerdeki öğeler gösterilir ##### Bank ##### BankSetupModule=Banka modülü kurulumu FreeLegalTextOnChequeReceipts=Çek makbuzlarının üzerinde serbest metin @@ -1594,7 +1609,7 @@ OpenFiscalYear=Açık mali yıl CloseFiscalYear=Kapalı mali yıl DeleteFiscalYear=Mali yıl sil ConfirmDeleteFiscalYear=Bu mali yılın silmek istediğinizden emin misiniz? -Opened=Açık +Opened=Aç Closed=Kapalı AlwaysEditable=Her zaman düzenlenebilir MAIN_APPLICATION_TITLE=Uygulamanın görünür adına zorla (uyarı: burada kendi adınızı ayarlamanız, DoliDoid mobil uygulamasını kullanırken, kullanıcı adını oto doldur özelliğini durdurabilir) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Web arayüzünden dış modül kurulumu a SomethingMakeInstallFromWebNotPossible2=Bu nedenle, burada anlatılan yükseltme işlemi yalnızca ayrıcalıklı bir kullanıcın elle atacağı adımlardır. InstallModuleFromWebHasBeenDisabledByFile=Dış modülün uygulama içerisinden kurulumu yöneticiniz tarafından engellenmiştir. Bu özelliğe izin verilmesi için ondan %s dosyasını kaldırmasını istemelisiniz. ConfFileMuseContainCustom=Uygulama içerisinden dış modül kurarken modül dosyalarını %s dizini içinde kaydedin. Bu dizinin Dolibarr tarafından işlenebilmesi için conf/conf.php nizi ayarlayın
- $dolibarr_main_url_root_alt seçeneğini elde etmek için değeri buna $dolibarr_main_url_root_alt="/custom" etkinleştirin
- $dolibarr_main_document_root_alt değerini ise "%s/custom" a etkinleştirin. +HighlightLinesOnMouseHover=Tablo satırlarını fare üzerine geldiğinde vurgula +PressF5AfterChangingThis=Bu değeri değiştirdikten sonra etkin olması için klavyede F5 tuşuna basın +NotSupportedByAllThemes=Yalnızca eldy teması ile çalışır ancak tüm temalar tarafından desteklenmez diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 6c21db8419d..3c17aaabb75 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -94,12 +94,12 @@ Conciliate=Uzlaştır Conciliation=Uzlaşma ConciliationForAccount=Bu hesabı uzlaştır IncludeClosedAccount=Kapalı hesapları içer -OnlyOpenedAccount=Sadece açık hesapları +OnlyOpenedAccount=Yalnızca açık hesaplar AccountToCredit=Alacak hesabı AccountToDebit=Borç hesabı DisableConciliation=Bu hesap için uzlaşma özelliğini engelle ConciliationDisabled=Uzlaşma özelliği engelli -StatusAccountOpened=Açık +StatusAccountOpened=Aç StatusAccountClosed=Kapalı AccountIdShort=Numarası EditBankRecord=Kayıt düzenle diff --git a/htdocs/langs/tr_TR/boxes.lang b/htdocs/langs/tr_TR/boxes.lang index 36df7f25b96..6ce44bc77ea 100644 --- a/htdocs/langs/tr_TR/boxes.lang +++ b/htdocs/langs/tr_TR/boxes.lang @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Son %s üye BoxTitleLastFicheInter=Değiştirilen son %s müdahale BoxTitleOldestUnpaidCustomerBills=En eski ödenmemiş %s müşteri faturası BoxTitleOldestUnpaidSupplierBills=En eski ödenmemiş %s tedarikçi faturası -BoxTitleCurrentAccounts=Açık hesabın bakiyesi +BoxTitleCurrentAccounts=Açık hesap bakiyeleri BoxTitleSalesTurnover=Satış cirosu BoxTitleTotalUnpaidCustomerBills=Ödenmemiş müşteri faturaları BoxTitleTotalUnpaidSuppliersBills=Ödenmemiş tedarikçi faturaları diff --git a/htdocs/langs/tr_TR/categories.lang b/htdocs/langs/tr_TR/categories.lang index a7b45308d55..8c7a11b5cd0 100644 --- a/htdocs/langs/tr_TR/categories.lang +++ b/htdocs/langs/tr_TR/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Etiketin/kategorinin eklenmesi olanaksız ImpossibleAssociateCategory=Etiketin/kategorinin şununla ilişkilendirilmesi olanaksız: WasAddedSuccessfully=%s başarıyla eklendi. ObjectAlreadyLinkedToCategory=Öğe zaten bu etiketle/kategoriyle ilişkilendirilmiş -CategorySuccessfullyCreated=Bu etiket/kategori %s başarıyla eklendi -ProductIsInCategories=Ürün/hizmet bu etikete/kategoriye sahiptir -SupplierIsInCategories=Üçüncü parti bu tedarikçi etiketine/kategorisine sahip -CompanyIsInCustomersCategories=Bu üçüncü parti aşağıdaki müşteri/aday etiketlerine/kategorilerine sahiptir -CompanyIsInSuppliersCategories=Bu üçüncü parti aşağıdaki tedarikçi etiketlerine/kategorilerine sahiptir -MemberIsInCategories=Bu üye aşağıdaki üye etiketlerine/kategorilerine sahiptir -ContactIsInCategories=Bu kişi şu etiketlere/kategorilere sahip +CategorySuccessfullyCreated=%s etiketi/kategorisi başarıyla eklendi. +ProductIsInCategories=Ürün/hizmet aşağıdaki etiketlere/kategorilere bağlantılandı +SupplierIsInCategories=Üçüncü parti bu aşağıdaki tedarikçi etiketlerine/kategorilerine bağlantılandı +CompanyIsInCustomersCategories=Bu üçüncü parti aşağıdaki müşteri/aday etiketlerine/kategorilerine bağlantılandı +CompanyIsInSuppliersCategories=Bu üçüncü parti aşağıdaki tedarikçi etiketlerine/kategorilerine bağlantılandı +MemberIsInCategories=Bu üye aşağıdaki üye etiketlerine/kategorilerine bağlantılandı +ContactIsInCategories=Bu kişi aşağıdaki kişi etiketlerine/kategorilerine bağlantılı ProductHasNoCategory=Bu ürün/hizmet hiçbir etikette/kategoride yoktur SupplierHasNoCategory=Bu tedarikçi hiçbir etikette/kategoride yoktur -CompanyHasNoCategory=Bu firma hiçbir etikette/kategoride yoktur +CompanyHasNoCategory=Bu üçüncü parti hiç bir etikette/kategoride yok MemberHasNoCategory=Bu üye hiçbir etikette/kategoride yoktur ContactHasNoCategory=Bu kişi hiçbir etikette/kategoride yok -ClassifyInCategory=Etikette/kategoride sınıflandır +ClassifyInCategory=Etikete/kategoriye ekle NoneCategory=Hiçbiri NotCategorized=Etiketsiz/kategorisiz CategoryExistsAtSameLevel=Bu kategori zaten bu ilgi ile var @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=İçerik herkes tarafından görülemez CategoriesTree=Etiket/kategori ağacı DeleteCategory=Etiket/kategori sil ConfirmDeleteCategory=Bu etiketi/kategoriyi silmek istediğinizden emin misiniz? -RemoveFromCategory=Bağlantıyı etiketi/kategorisi ile birlikte kaldır -RemoveFromCategoryConfirm=İşlem ve etiket/kategori arasındaki bağlantıyı kaldırmak istediğinizden emin misiniz? +RemoveFromCategory=Etiket/kategori bağlantısını kaldır +RemoveFromCategoryConfirm=İşlemin etiket/kategori bağlantısını kaldırmak istediğinizden emin misiniz? NoCategoriesDefined=Tanımlı etiket/kategori yok -SuppliersCategoryShort=Tedarikçi etiketleri/kategorisi -CustomersCategoryShort=Müşteri etiketleri/kategorisi -ProductsCategoryShort=Ürün etiketleri/kategorisi -MembersCategoryShort=Üye etiketleri/kategorisi +SuppliersCategoryShort=Tedarikçi etiketi/kategorisi +CustomersCategoryShort=Müşteri etiketi/kategorisi +ProductsCategoryShort=Ürün etiketi/kategorisi +MembersCategoryShort=Üye etiketi/kategorisi SuppliersCategoriesShort=Tedarikçi etiketleri/kategorileri CustomersCategoriesShort=Müşteri etiketleri/kategorileri CustomersProspectsCategoriesShort=Müşt./aday kategorileri @@ -94,7 +94,7 @@ CatSupList=Tedarikçi etiketleri/kategorileri listesi CatCusList=Müşteri/aday etiketleri/kategorileri listesi CatProdList=Ürün etiketleri/kategorileri listesi CatMemberList=Üye etiketleri/kategorileri listesi -CatContactList=Kişi etiketleri/kategorileri ve kişi listesi +CatContactList=Kişi etiketleri/kategorileri listesi CatSupLinks=Tedarikçiler ve etiketler/kategoriler arasındaki bağlantılar CatCusLinks=Müşteriler/adaylar ve etiketler/kategoriler arasındaki bağlantılar CatProdLinks=Ürünler/hizmetler ve etiketler/kategoriler arasındaki bağlantılar diff --git a/htdocs/langs/tr_TR/commercial.lang b/htdocs/langs/tr_TR/commercial.lang index 6666aa25183..11d7368c400 100644 --- a/htdocs/langs/tr_TR/commercial.lang +++ b/htdocs/langs/tr_TR/commercial.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - commercial -Commercial=Ticaret -CommercialArea=Ticaret alanı -CommercialCard=Ticaret kartı +Commercial=Ticari +CommercialArea=Ticari alan +CommercialCard=Ticari kart CustomerArea=Müşteriler alanı Customer=Müşteri Customers=Müşteriler diff --git a/htdocs/langs/tr_TR/companies.lang b/htdocs/langs/tr_TR/companies.lang index 41110ac4357..1d68c93431c 100644 --- a/htdocs/langs/tr_TR/companies.lang +++ b/htdocs/langs/tr_TR/companies.lang @@ -365,7 +365,7 @@ NoParentCompany=Hiçbiri ExportImport=İçeaktar-Dışaaktar ExportCardToFormat=Biçimlenip dışaaktarılacak kart ContactNotLinkedToCompany=Kişi herhangi bir üçüncü partiye bağlı değil -DolibarrLogin=Dolibarr oturumu açma +DolibarrLogin=Dolibarr kullanıcı adı NoDolibarrAccess=Dolibarr erişimi yok ExportDataset_company_1=Üçüncü partiler (Firmalar/dernekler/kişiler) ve özellikleri ExportDataset_company_2=Kişiler ve özellikleri @@ -412,3 +412,8 @@ LeopardNumRefModelDesc=Müşteri/tedarikçi kodu serbesttir. Bu kod herhangi bir ManagingDirectors=Yönetici(lerin) adı (CEO, müdür, başkan...) SearchThirdparty=Üçüncü parti ara SearchContact=Kişi ara +MergeOriginThirdparty=Çifte üçüncü parti (silmek istediğiniz üçüncü parti) +MergeThirdparties=Üçüncü partileri birleştir +ConfirmMergeThirdparties=Bu üçüncü partiyi geçerli olanla birleştirmek istediğinizden emin misiniz? Bütün bağlantılı öğeler (faturalar, siparişler, ...) geçerli olan üçüncü partiye taşınacaktır, böylece ikinciyi silebileceksiniz. +ThirdpartiesMergeSuccess=Üçüncü partiler birleştirilmiştir +ErrorThirdpartiesMerge=Üçüncü partiler silinirken bir hata oluştu. Lütfen günlüğü denetleyin. Değişiklikler ger, geri dönüştürülmüştür. diff --git a/htdocs/langs/tr_TR/cron.lang b/htdocs/langs/tr_TR/cron.lang index e42fd7a0d57..4f65fa2603f 100644 --- a/htdocs/langs/tr_TR/cron.lang +++ b/htdocs/langs/tr_TR/cron.lang @@ -4,10 +4,10 @@ About = Hakkında CronAbout = Cron hakkında CronAboutPage = Cron hakkında sayfası # Right -Permission23101 = Planlı görev oku -Permission23102 = Planlı görev oluştur/güncelle -Permission23103 = Planlı görev sil -Permission23104 = Planlı görev yürüt +Permission23101 = Planlı işleri oku +Permission23102 = Planlı iş oluştur/güncelle +Permission23103 = Planlı iş sil +Permission23104 = Planlı iş yürüt # Admin CronSetup= Planlı iş yönetimi ayarları URLToLaunchCronJobs=Gerekliyse, Cron işlerini denetleyen ve başlatan İnternet adresi @@ -26,11 +26,11 @@ CronLastOutput=Son çalıştırma çıktısı CronLastResult=Son sonuç kodu CronListOfCronJobs=Planlı işler listesi CronCommand=Komut -CronList=Planlı iş +CronList=Planlı işler CronDelete=Planlı işleri sil -CronConfirmDelete=Bu planlı işi silmek istediğinizden emin misiniz? +CronConfirmDelete=Bu planlı işleri silmek istediğinizden emin misiniz? CronExecute=Planlı işleri yükle -CronConfirmExecute=Bu planlı işi şimdi yürütmek istediğinizden emin misiniz? +CronConfirmExecute=Bu planlı işleri şimdi yürütmek istediğinizden emin misiniz? CronInfo=Planlı iş modülü planlanmış işlerin yürütülmesini sağlar CronWaitingJobs=İş bekliyor CronTask=İş @@ -55,9 +55,9 @@ CronEach=Her JobFinished=İş başlatıldı ve bitirildi #Page card CronAdd= İş ekle -CronHourStart= Görevin başlama saati ve tarihi -CronEvery= Ve her işi yürüt -CronObject= Oluşturulacak durum/nesne +CronHourStart= İşin başlama saati ve tarihi +CronEvery=İş yürütme zamanı +CronObject=Oluşturulacak durum/nesne CronArgs=Parametreler CronSaveSucess=Kayıt başarılı CronNote=Yorum @@ -79,10 +79,10 @@ CronCreateJob=Yeni Planlı İş oluştur # Info CronInfoPage=Bilgi # Common -CronType=Görev türü +CronType=İş türü CronType_method=Dolibarr Sınıfı çağırma yöntemi CronType_command=Kabuk komutu CronMenu=Kron CronCannotLoadClass=%s sınıfı ya da %s nesnesi yüklenemiyor UseMenuModuleToolsToAddCronJobs=Planlı işleri görmek ve düzenlemek için "Giriş - Modül araçları - İş listesi" menüsüne gidin. -TaskDisabled=Görev engellendi +TaskDisabled=İş engellendi diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index becb10f7a43..e52d161d99c 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP istemcisinde '%s' hatası ErrorGlobalVariableUpdater5=Seçilmiş genel değişken yok ErrorFieldMustBeANumeric=%s alanı sayısal bir değer olmalıdır ErrorFieldMustBeAnInteger=%s alanı tamsayı olmalıdır +ErrorMandatoryParametersNotProvided=Zorunlu parametre(ler) girilmemiş # Warnings WarningMandatorySetupNotComplete=Zorunlu kurulum parametreleri henüz tanımlanmamış diff --git a/htdocs/langs/tr_TR/incoterm.lang b/htdocs/langs/tr_TR/incoterm.lang new file mode 100644 index 00000000000..51edecfc108 --- /dev/null +++ b/htdocs/langs/tr_TR/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Uluslararası ticari terimleri +Module62000Desc=Uluslararası ticari terimleri yönetmek için özellik ekle +IncotermLabel=Uluslararası Ticaret Terimleri +IncotermSetupTitle1=Özellik +IncotermSetupTitle2=Durum +IncotermSetup=Uluslararası Ticaret Terimi modülü Ayarları +IncotermFunctionDesc=Uluslararası Ticaret Terimi özelliğini etkinleştir (Üçüncü parti, Teklif, Müşteri Siparişi, Müşteri Faturası, Sevkiyat, Tedarikçi siparişi) diff --git a/htdocs/langs/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index 4fdb366c95d..11978483527 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -53,8 +53,8 @@ ServerPortDescription=Veritabanı sunucusu bağlantı noktası. Eğer bilinmiyor DatabaseServer=Veritabanı sunucusu DatabaseName=Veritabanı adı DatabasePrefix=Veritabanı tablo öneki -Login=Oturum açma -AdminLogin=Dolibarr veritabanı oturum açma. +Login=Kullanıcı adı +AdminLogin=Dolibarr veritabanı kullanıcı adı. Password=Parola PasswordAgain=Parolayı ikinci kez yeniden yaz AdminPassword=Dolibarr veritabanı sahibi parolası. @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Veritabanı sunucusu - süperkullanıcı erişimi CheckToCreateDatabase=Eğer veritabanı yoksa ve oluşturulması gerekiyorsa kutuyu işaretleyin.
Bu durumda, bu sayfanın altına süperkullanıcı hesabı için kullanıcı adı/parola girmelisiniz. CheckToCreateUser=Veritabanı sahibi yoksa ve oluşturulması gerekiyorsa kutuyu işaretleyin.
Bu durumda, kullanıcı adı ve parola seçmelisiniz ve bu sayfanın altına süperkullanıcı hesabı için kullanıcı adı/parola girmelisiniz. Bu kutu işaretlenmemiş ise, veritabanı sahibi ve parolaları vardır. Experimental=(deneysel) +Deprecated=(artık kullanılmayan) DatabaseRootLoginDescription=Yeni veritabanı ve yeni kullanıcı oluşturabilecek kullanıcı girişi, veritabanınız ve veritabanı girişiniz zaten varsa gereksizdir (sanki bir web sağlayıcı tarafından barındırılıyor gibi). KeepEmptyIfNoPassword=Eğer kullanıcının herhangi bir parolası yoksa boş bırakın (bundan kaçının) SaveConfigurationFile=Değerleri saklayın @@ -140,7 +141,7 @@ FieldRenamed=Alan yeniden adlandırıldı IfLoginDoesNotExistsCheckCreateUser=Eğer kullanıcı adı henüz yoksa , "kullanıcı oluştur" seçeneğini işaretlemelisiniz ErrorConnection=Sunucu "%s" veritabanı adı "%s", kullanıcı adı "%s" ya da veritabanı parolası yanlış olabilir ya da PHP istemci sürümü veritabanı sürümüne göre çok eski olabilir. InstallChoiceRecommanded=%s Geçerli sürümünüzden %s sürümünü kurmak için önerilen seçim -InstallChoiceSuggested=Kurulumcu tarafından önerilen seçimi kurun. +InstallChoiceSuggested=Kurulum tarafından önerilen seçimi kur. MigrateIsDoneStepByStep=Hedeflenen sürümde (%s) çeşitli sürüm boşlukları var, bu nedenle sihirbaz bunun tamamlanması için geri dönecektir. CheckThatDatabasenameIsCorrect=Veritabanı adı "%s" nin doğruluğunu denetleyin. IfAlreadyExistsCheckOption=Eğer bu isim doğru ise ve veritabanı henüz mevcut değilse, "Veritabanı oluştur" seçeneğini işaretlemelisiniz. diff --git a/htdocs/langs/tr_TR/languages.lang b/htdocs/langs/tr_TR/languages.lang index 8d8a07b3553..7da23b21844 100644 --- a/htdocs/langs/tr_TR/languages.lang +++ b/htdocs/langs/tr_TR/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arapça Language_ar_SA=Arapça +Language_bn_BD=Bengalce Language_bg_BG=Bulgarca Language_bs_BA=Boşnakça Language_ca_ES=Katalanca @@ -21,9 +22,10 @@ Language_en_SA=İngilizce (Suudi Arabistan) Language_en_US=İngilizce (ABD) Language_en_ZA=İngilizce (Güney Afrika) Language_es_ES=İspanyolca -Language_es_DO=İspanyolca (Dominik Cumhuriyeti) Language_es_AR=İspanyolca (Arjantin) Language_es_CL=İspanyolca (Şilil) +Language_es_CO=İspanyolca (Kolombiya) +Language_es_DO=İspanyolca (Dominik Cumhuriyeti) Language_es_HN=İspanyolca (Honduras) Language_es_MX=İspanyolca (Meksika) Language_es_PY=İspanyolca (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Endonezca Language_is_IS=İzlandaca Language_it_IT=İtalyanca Language_ja_JP=Japonca +Language_ka_GE=Gürcüce +Language_kn_IN=Kannadaca Language_ko_KR=Korece +Language_lo_LA=Laoca Language_lt_LT=Litvanyaca Language_lv_LV=Letonyaca Language_mk_MK=Makedonca @@ -64,6 +69,7 @@ Language_sv_SV=İsveçce Language_sv_SE=İsveçce Language_sq_AL=Arnavutça Language_sk_SK=Slovakça +Language_sw_SW=Kisvahilice Language_th_TH=Taice Language_uk_UA=Ukraynaca Language_uz_UZ=Özbek diff --git a/htdocs/langs/tr_TR/loan.lang b/htdocs/langs/tr_TR/loan.lang new file mode 100644 index 00000000000..33bb6bd62ce --- /dev/null +++ b/htdocs/langs/tr_TR/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Kredi +Loans=Krediler +NewLoan=Yeni Kredi +ShowLoan=Kredi Göster +PaymentLoan=Kredi ödemesi +ShowLoanPayment=Kredi Ödemesi Göster +Capital=Sermaye +Insurance=Sigorta +Interest=Faiz +Nbterms=Koşul sayısı +LoanAccountancyCapitalCode=Sermaye hesap kodu +LoanAccountancyInsuranceCode=Sigorta hesap kodu +LoanAccountancyInterestCode=Faiz hesap kodu +LoanPayment=Kredi ödemesi +ConfirmDeleteLoan=Bu kredinin silinmesini onayla +LoanDeleted=Kredi Başarıyla Silindi +ConfirmPayLoan=Bu krediyi ödendi olarak sınıflandırmayı onayla +LoanPaid=Kredi Ödendi +ErrorLoanCapital=Kredi tutarı sayısal ve sıfırdan büyük olmalı. +ErrorLoanLength=Kredi süresi sayısal ve sıfırdan büyük olmalı. +ErrorLoanInterest=Yıllık faiz sayısal ve sıfırdan büyük olmalı. +# Calc +LoanCalc=Banka Kredisi Hesaplayıcısı +PurchaseFinanceInfo=Alış & Finansman Bilgisi +SalePriceOfAsset=Varlığın Satış Fiyatı +PercentageDown=Peşinat Yüzdesi +LengthOfMortgage=İpotek Süresi +AnnualInterestRate=Yıllık Faiz Oranı +ExplainCalculations=Hesaplama Açıklaması +ShowMeCalculationsAndAmortization=Hesaplamaları ve amortismanı göster bana +MortgagePaymentInformation=İpotek Kredisi Ödeme Bilgisi +DownPayment=Peşinat +DownPaymentDesc=Peşinat ödemesi = Evin fiyatı, peşinat yüzdesinin 100 e bölünmüş değeri ile çarpılır (%5 için peşinat 5/100 ya da 0.05) +InterestRateDesc=Faiz oranı = Yıllık faiz yüzdesinin 100 e bölünmesi +MonthlyFactorDesc=Aylık katsayı = Aşağıdaki formülün sonucu +MonthlyInterestRateDesc= = Yıllık faiz oranı 12 ye bölünür (yılda 12 ay olduğuna göre) +MonthTermDesc=Kredinin ay olarak ay sayısı = Krediyi aldığınız yıl sayısı çarpı 12 +MonthlyPaymentDesc=Aylık ödeme aşağıdaki formül kullanılarak bulunur +AmortizationPaymentDesc=amortisman aylık ödemelerinizin ne kadarının banka faizine gittiğini ve ne kadarının ana para ödemesine gittiğini ayrıştırır. +AmountFinanced=Finanse edilen tutar +AmortizationMonthlyPaymentOverYears=Aylık Ödeme Amortismanı: %s %s yılın üzerinde +Totalsforyear=Toplamı alınan yıl +MonthlyPayment=Aylık Ödeme +LoanCalcDesc=Bu ipotek hesaplayıcısı evin satış fiyatına, istenilen kredinin süresine, alıcının peşinat oranına ve kredinin faizine dayalı olarak bir ipotek kredisinin aylık ödemelerinin belirlenmesinde kullanılır.
Bu hesaplayıcı, peşin ödemesi 20% den düşük olan krediler için ÖİS (Özel İpotek Sigortası) komisyonunu belirler. Aynı zamanda yerel emlak vergileri ve toplam aylık ipotek ödemelerine olan etkisini de dikkate alır.
+GoToInterest=%s FAİZE gidecek +GoToPrincipal=%s ANA PARAYA gidecek +YouWillSpend=Eviniz için %s tutarındaki parayı %s yılda harcayacaksınız +# Admin +ConfigLoan=Kredi modülünün yapılandırılması +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Varsayılan sermaye muhasebe kodu +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Varsayılan faiz muhasebe kodu +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Varsayılan sigorta muhasebe kodu diff --git a/htdocs/langs/tr_TR/mails.lang b/htdocs/langs/tr_TR/mails.lang index d2e5c102f2c..7eaecd4d710 100644 --- a/htdocs/langs/tr_TR/mails.lang +++ b/htdocs/langs/tr_TR/mails.lang @@ -77,7 +77,7 @@ CheckRead=Okundu bilgisi YourMailUnsubcribeOK=%s Epostası postalama listesinden başarıyla çıkarıldı MailtoEMail=Eposta hiper bağlantısı ActivateCheckRead="Alıcı oku" izleyicisini ve "Aboneliği kaldır" linkinin kullanılmasına izin ver -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey="Okuma Alındısı" ve "Abonelik İptali" için kullanılan URL şifrelemesi içi Anahtar EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s alıcılar listesine eklendi EachInvoiceWillBeAttachedToEmail=Varsayılan fatura belgesi şablonu kullanan bir belge oluşturulacak ve her epostaya eklenecektir. diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index 33fa2873a3b..c5b6d09386c 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Birim fiyat (net) UnitPriceTTC=Birim fiyat PriceU=B.F. PriceUHT=B.F. (net) -AskPriceSupplierUHT=P.U. HT Gerekiyor +AskPriceSupplierUHT=İstenen U.P. ağı PriceUTTC=B.F. Amount=Tutar AmountInvoice=Fatura tutarı @@ -413,6 +413,8 @@ Qty=Mik ChangedBy=Değiştiren ApprovedBy=Onaylayan ApprovedBy2=Onaylayan (ikinci onay) +Approved=Onaylı +Refused=Reddedildi ReCalculate=Yeniden hesapla ResultOk=Başarılı ResultKo=Başarısız @@ -421,7 +423,7 @@ Reportings=Raporlama Draft=Taslak Drafts=Taslaklar Validated=Doğrulanmış -Opened=Açık +Opened=Aç New=Yeni Discount=İndirim Unknown=Bilinmeyen @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Belirli bir kullanıcı kişisine bağlantılı DeleteAFile=Bir dosya sil ConfirmDeleteAFile=Dosya silmek istediğinizden emin misiniz NoResults=Sonuç yok +SystemTools=Sistem araçları ModulesSystemTools=Modül araçları Test=Deneme Element=Unsur @@ -703,6 +706,9 @@ ShowTransaction=İşlemi göster GoIntoSetupToChangeLogo=Logoyu değiştirmek için Giriş - Ayarlar - Firma menüsüne ya da gizlemek için Giriş - Ayarlar - Görünüm menüsüne git. Deny=Ret Denied=Reddedildi +ListOfTemplates=Şablon listesi +Genderman=Adam +Genderwoman=Kadın # Week day Monday=Pazartesi Tuesday=Salı @@ -732,3 +738,4 @@ ShortThursday=Pe ShortFriday=Cu ShortSaturday=Ct ShortSunday=Pa +SelectMailModel=Eposta şablonu seç diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index daacf401314..99e06c2824e 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -17,10 +17,10 @@ SuppliersOrders=Tedarikçi siparişleri SuppliersOrdersRunning=Mevcut tedarikçi siparişleri CustomerOrder=Müşteri siparişi CustomersOrders=Müşteri siparişleri -CustomersOrdersRunning=Mevcut müşteri siparişleri +CustomersOrdersRunning=Geçerli müşteri siparişleri CustomersOrdersAndOrdersLines=Müşteri siparişleri ve sipariş kalemleri OrdersToValid=Doğrulanacak müşteri siparişleri -OrdersToBill=Sevkedilen müşteri siparişleri +OrdersToBill=Teslim edilecek müşteri siparişleri OrdersInProcess=İşlemde olan müşteri siparişleri OrdersToProcess=İşlenecek müşteri siparişleri SuppliersOrdersToProcess=İşlenecek tedarikçi siparişleri @@ -75,6 +75,7 @@ AddToMyOrders=Siparişlerime ekle AddToOtherOrders=Diğer siparişlere ekle AddToDraftOrders=Taslak siparişe ekle ShowOrder=Siparişi göster +OrdersOpened=İşlenecek siparişler NoOpenedOrders=Açık sipariş yok NoOtherOpenedOrders=Başka açık sipariş yok NoDraftOrders=Taslak sipariş yok diff --git a/htdocs/langs/tr_TR/other.lang b/htdocs/langs/tr_TR/other.lang index 2791df31cfc..fbbc07c0371 100644 --- a/htdocs/langs/tr_TR/other.lang +++ b/htdocs/langs/tr_TR/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Müdahale doğrulandı Notify_FICHINTER_SENTBYMAIL=Müdahale posta ile gönderildi Notify_BILL_VALIDATE=Müşteri faturası onaylandı Notify_BILL_UNVALIDATE=Müşteri faturasından doğrulama kaldırıldı +Notify_ORDER_SUPPLIER_VALIDATE=Tedarikçi siparişi kaydedildi. Notify_ORDER_SUPPLIER_APPROVE=Tedarikçi siparişi onaylandı Notify_ORDER_SUPPLIER_REFUSE=Tedarikçi siparişi reddedildi Notify_ORDER_VALIDATE=Müşteri siparişi onaylandı @@ -203,6 +204,7 @@ ClickHereToGoTo=%s e gitmek için buraya tıkla YouMustClickToChange=Ancak önce bu şifre değiştirmeyi doğrulamak için aşağıdaki linke tıklamanız gerekir ForgetIfNothing=Bu değiştirmeyi istemediyseniz, bu epostayı unutun. Kimlik bilgilerinizi güvenli tutulur. IfAmountHigherThan=Eğer tutar %s den büyükse +SourcesRepository=Kaynaklar için havuz ##### Calendar common ##### AddCalendarEntry=% Takvimine giriş ekleyin diff --git a/htdocs/langs/tr_TR/printing.lang b/htdocs/langs/tr_TR/printing.lang new file mode 100644 index 00000000000..9b45394f8e4 --- /dev/null +++ b/htdocs/langs/tr_TR/printing.lang @@ -0,0 +1,73 @@ +# Dolibarr language file - Source file is en_US - printing +Module64000Name=Doğrudan Yazdırma +Module64000Desc=Doğrudan Yazdırma Sistemini etkinleştir +PrintingSetup=Doğrudan Yazdırma Sistemi Ayarları +PrintingDesc=Bu modül, çeşitli modüllerde belgeleri doğrudan yazıcıya göndermek için bir Yazdırma tuşu ekler (belge uygulamada açılmadan) +ModuleDriverSetup=Modül Sürücüsü Ayarları +PrintingDriverDesc=Yazıcı sürücüsü değişkenlerinin ayarları +ListDrivers=Sürücü listesi +PrintTestDesc=Yazıcı Listesi +FileWasSentToPrinter=%s Dosyası yazıcıya gönderilmiştir +NoActivePrintingModuleFound=Belge yazdıracak etkin modül yok +PleaseSelectaDriverfromList=Lütfen listeden bir sürücü seçin. +SetupDriver=Sürücü kurulumu +TestDriver=Test +TargetedPrinter=Hedeflenen yazıcı +UserConf=Kişi başına ayarlar +PRINTGCP=Google Bulut Yazdırma +PrintGCPDesc=Bu sürücü belgelerin Google Bulut Yazdırma ile doğrudan bir yazıcıya gönderilmesini sağlar. +PrintingDriverDescprintgcp=Google Bulut Yazdırmanın yazıcı sürücüsü yapılandırma değişkenleri. +PrintTestDescprintgcp=Google Bulut Yazdırma için Yazıcı Listesi. +PRINTGCP_LOGIN=Google Hesabı Oturum Açma +PRINTGCP_PASSWORD=Google Hesabı Parolası +STATE_ONLINE=Çevrimiçi +STATE_UNKNOWN=Bilinmeyen +STATE_OFFLINE=Çevrimdışı +STATE_DORMANT=Uzunca bir süre Çevrimdışı +TYPE_GOOGLE=Google +TYPE_HP=HP Yazıcı +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Adı +GCP_displayName=Adı göster +GCP_Id=Yazıcı ID +GCP_OwnerName=Sahip Adı +GCP_State=Yazıcı Durumu +GCP_connectionStatus=Çevrimiçi Durumu +GCP_Type=Yazıcı Türü +PRINTIPP=PrintIPP Sürücüsü +PrintIPPSetup=Doğrudan Yazdırma modülü kurulumu +PrintIPPDesc=Bu sürücü belgelerin doğrudan yazıcıya gönderilmesini sağlar. Bu işlem CUPS kurulu bir Linux sistemi gerektirir. +PrintingDriverDescprintipp=Yazdırma sürücüsü PrintIPP için yapılandırma değişkenleri. +PrintTestDescprintipp=PrintIPP sürücüsü için Yazıcı Listesi. +PRINTIPP_ENABLED=Belgele listelerinde "Doğrudan yazdır" simgesini göster +PRINTIPP_HOST=Yazma sunucusu +PRINTIPP_PORT=Port +PRINTIPP_USER=Oturum açma +PRINTIPP_PASSWORD=Parola +NoPrinterFound=Yazıcı bulunamadı (CUPS ayarlarınızı denetleyin) +NoDefaultPrinterDefined=Tanımlı varsayılan yazıcı yok +DefaultPrinter=Varsayılan yazıcı +Printer=Yazıcı +CupsServer=CUPS sunucusu +IPP_Uri=Uri Yazıcısı +IPP_Name=Yazıcı Adı +IPP_State=Yazıcı Durumu +IPP_State_reason=Durum nedeni +IPP_State_reason1=Durum nedeni1 +IPP_BW=SB +IPP_Color=Renkli +IPP_Device=Aygıt +IPP_Media=Yazıcı ortamı +IPP_Supported=Ortam türü +STATE_IPP_idle=Boşta +STATE_IPP_stopped=Durduruldu +STATE_IPP_paused=Bekletildi +STATE_IPP_toner-low-report=Toner Azaldı +STATE_IPP_none=Hiçbiri +MEDIA_IPP_stationery=Antetli kağıt +MEDIA_IPP_thermal=Termal +IPP_COLOR_print-black=SB Yazıcı diff --git a/htdocs/langs/tr_TR/productbatch.lang b/htdocs/langs/tr_TR/productbatch.lang index 2c25b7e592b..0ac7a112fac 100644 --- a/htdocs/langs/tr_TR/productbatch.lang +++ b/htdocs/langs/tr_TR/productbatch.lang @@ -19,4 +19,4 @@ printQty=Mik: %d AddDispatchBatchLine=Dağıtımda bir Raf Ömrü satırı ekle BatchDefaultNumber=Tanımlanmamış WhenProductBatchModuleOnOptionAreForced=Parti/Seri modülü açıkken, stok arttırma/eksiltme modu son seçime zorlanır ve düzenlenemez. Diğer seçenekler isteğinize göre düzenlenebilir. -ProductDoesNotUseBatchSerial=Bu ürün parti/seri numarası kullanmaz +ProductDoesNotUseBatchSerial=Bu ürün parti/seri numarası kullanmıyor diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index d49a3fffe8d..e26bdca2c0f 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -23,14 +23,14 @@ ProductOrService=Ürün veya Hizmet ProductsAndServices=Ürünler ve Hizmetler ProductsOrServices=Ürünler veya hizmetler ProductsAndServicesOnSell=Satılır ya da alınır Ürünler ve Hizmetler -ProductsAndServicesNotOnSell=Satış dışı Ürünler ve Hizmetler +ProductsAndServicesNotOnSell=Satılık olmayan Ürünler ve Hizmetler ProductsAndServicesStatistics=Ürün ve Hizme istatistikleri ProductsStatistics=Ürün istatistikleri -ProductsOnSell=Satılır ya da satınalınır ürün -ProductsNotOnSell=Satılmaz ya da alınmaz ürün +ProductsOnSell=Satılır ya da satın alınır ürün +ProductsNotOnSell=Satılık olmayan ve satın alınmayan ürün ProductsOnSellAndOnBuy=Satılır ve alınır ürünler ServicesOnSell=Satılır veya alınır Hizmetler -ServicesNotOnSell=Satılmayan hizmetler +ServicesNotOnSell=Satılık olmayan hizmetler ServicesOnSellAndOnBuy=Satılır ve alınır hizmetler InternalRef=İç referans LastRecorded=Satışta kaydedilen son ürünler/hizmetler @@ -72,20 +72,20 @@ PublicPrice=Perakende fiyatı CurrentPrice=Güncel fiyat NewPrice=Yeni fiyat MinPrice=Enaz satış fiyatı -MinPriceHT=Minimum satış tutarı (vergi hariç) -MinPriceTTC=Minimum satış tutarı (vergi dahil) +MinPriceHT=Enaz satış fiyatı (vergisiz net) +MinPriceTTC=Enaz satış fiyatı (vergi dahil) CantBeLessThanMinPrice=Satış fiyatı bu ürün için izin verilenden enaz fiyattan düşük olamaz (%s vergi hariç). Bu mesaj, çok fazla indirim yazarsanız da belirir. ContractStatus=Sözleşme durumu ContractStatusClosed=Kapalı -ContractStatusRunning=Yürürlükte +ContractStatusRunning=Sürüyor ContractStatusExpired=süresi doldu -ContractStatusOnHold=Yürürlükte değil -ContractStatusToRun=Yürülüğe alınacak -ContractNotRunning=Bu sözleşme çalışmıyor +ContractStatusOnHold=Beklemede +ContractStatusToRun=Sürüyor yap +ContractNotRunning=Bu sözleşme sürmüyor ErrorProductAlreadyExists=%s Referanslı bir ürün zaten var var. ErrorProductBadRefOrLabel=Referans veya etiket için yanlış değer. ErrorProductClone=Ürün ya da hizmetin klonlanmasına çalışılırken bir sorun oluştu. -ErrorPriceCantBeLowerThanMinPrice=Hata! Fiyat Enaz Fiyattan düşük olamaz +ErrorPriceCantBeLowerThanMinPrice=Hata, fiyat enaz fiyattan daha düşük olamaz. Suppliers=Tedarikçiler SupplierRef=Tedarikçi ürün ref. ShowProduct=Ürün Göster @@ -117,12 +117,12 @@ ServiceLimitedDuration=Eğer ürün sınırlı süreli bir hizmetse: MultiPricesAbility=Ürünler/hizmetler için çok seviyeli fiyat MultiPricesNumPrices=Fiyat sayısı MultiPriceLevelsName=Fiyat kategorileri -AssociatedProductsAbility=Sanal paket özelliğini etkinleştir +AssociatedProductsAbility=Paket özelliğini etkinleştir AssociatedProducts=Paket ürün -AssociatedProductsNumber=Bu sanal paket ürünü oluşturan ürün sayısı +AssociatedProductsNumber=Bu ürün paketini oluşturan ürün sayısı ParentProductsNumber=Ana paket ürünü sayısı -IfZeroItIsNotAVirtualProduct=Eğer 0 ise, bu ürün bir sanal paket ürünü değildir -IfZeroItIsNotUsedByVirtualProduct=Eğer 0 ise, bu ürün her hangi bir sanal paket ürünü tarafından kullanılmaz +IfZeroItIsNotAVirtualProduct=Sıfırsa, bu ürün bir paket ürünü değil +IfZeroItIsNotUsedByVirtualProduct=Sıfırsa, bu ürün hiçbir ürün paketi tarafından kullanılmamaktadır EditAssociate=Ilişkilendir Translation=Çeviri KeywordFilter=Anahtar kelime süzgeçi @@ -131,7 +131,7 @@ ProductToAddSearch=Eklemek için ürün ara AddDel=Ekle/Sil Quantity=Miktar NoMatchFound=Eşleşme bulunamadı -ProductAssociationList=İlgili ürün/hizmet listesi: ürün/hizmet adı (miktar etkilenir) +ProductAssociationList=Bu sanal ürünü/paketin bileşeni olan ürünler/hizmetler listesi ProductParentList=Bu ürünü bir bileşen olarak kullanan ürünlerin/hizmetlerin listesi ErrorAssociationIsFatherOfThis=Seçilen üründen biri güncel ürünün üstü konumundadır DeleteProduct=Bir ürün/hizmet sil @@ -179,16 +179,41 @@ CloneProduct=Ürün veya hizmet klonla ConfirmCloneProduct=Ürün veya hizmet klonlamak istediğinizden emin misiniz %s ? CloneContentProduct=Ürünün/hizmet bütün temel bilgilerini klonla ClonePricesProduct=Ana bilgileri ve fiyatları klonla -CloneCompositionProduct=Paket ürünü/hizmeti kopyala +CloneCompositionProduct=Paketlenmiş ürünü/hizmeti kopyala ProductIsUsed=Bu ürün kullanılır. NewRefForClone=Yeni ürün/hizmet ref. CustomerPrices=Müşteri fiyatları -SuppliersPrices=Tedarikçi Fiyatları -SuppliersPricesOfProductsOrServices=Tedarikçi fiyatları (ürünlerin veya servislerin) +SuppliersPrices=Tedarikçi fiyatları +SuppliersPricesOfProductsOrServices=Tedarikçi fiyatları (ürünlerin ya da hizmetlerin) CustomCode=Özel kod CountryOrigin=Menşei ülke HiddenIntoCombo=Seçme listeleri içine gizle Nature=Niteliği +ShortLabel=Kısa etiket +Unit=Birim +p=b. +set=takım +se=takım +second=saniye +s=sn +hour=saat +h=s +day=gün +d=g +kilogram=kilogram +kg=Kg +gram=gram +g=g +meter=metre +m=m +linear metre=lineer metre +lm=lm +square metre=metre kare +m2=m² +cubic metre=metre küp +m3=m³ +liter=litre +l=L ProductCodeModel=Ürün ref şablonu ServiceCodeModel=Hizmet ref şablonu AddThisProductCard=Ürün kartı oluştur @@ -214,7 +239,7 @@ CostPmpHT=Net toplam HAOF ProductUsedForBuild=Üretim tarafından kendiliğinden tüketilir ProductBuilded=Üretim tamamlandı ProductsMultiPrice=Ürün çoklu fiyatı -ProductsOrServiceMultiPrice=Müşteri fiyatları (ürünlerin veya servislerin , çoklu-fiyatlar) +ProductsOrServiceMultiPrice=Müşteri fiyatları (ürünlerin ya da hizmetlerin, çoklu fiyatlar) ProductSellByQuarterHT=Ürün üç aylık cirosu HAOF ServiceSellByQuarterHT=Hizmet üç aylık cirosu HAOF Quarter1=1. Çeyrek @@ -237,7 +262,7 @@ ResetBarcodeForAllRecords=Bütün kayıtlar için barkod değeri tanımla (bu i PriceByCustomer=Her müşteri için farklı fiyat PriceCatalogue=Ürün/Servis için birim fiyat PricingRule=Müşteri fiyatları kuralları -AddCustomerPrice=Müşteriler için fiyat ekle +AddCustomerPrice=Müşteriye göre fiyat ekle ForceUpdateChildPriceSoc=Müşterinin ortaklılarına aynı fiyatı uygula PriceByCustomerLog=Müşteri fiyat günlüğü MinimumPriceLimit=Enaz fiyat bundan düşük olamaz %s @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=biçimi {"URL": "http://example.com/urlofws", " UpdateInterval=Güncelleme aralığı (dakika) LastUpdated=Son güncelleme CorrectlyUpdated=Doru olarak güncellendi +PropalMergePdfProductActualFile=PDF Azur'a eklenmek için kullanılacak dosya/lar +PropalMergePdfProductChooseFile=PDF dosyası seç diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index 93f75815e60..a4bdfc65562 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Bu görünüm okuma izininiz olan tüm projeleri içerir. ProjectsPublicTaskDesc=Bu görünüm, okumanıza izin verilen tüm proje ve görevleri sunar. ProjectsDesc=Bu görünüm tüm projeleri içerir (size verilen kullanıcı izinleri her şeyi görmenizi sağlar). MyTasksDesc=Bu görünüm ilgilisi olduğunuz projelerle ya da görevlerle sınırlıdır (türü ne olursa olsun). -OnlyOpenedProject=Yalnızca açık projeler görünürdür (taslak ya da kapalı durumdaki projeler görünmez) +OnlyOpenedProject=Yalnızca açık projeler görünür (taslak ya da kapalı durumdaki projeler görünmez) TasksPublicDesc=Bu görünüm okuma izininiz olan tüm projeleri ve görevleri içerir. TasksDesc=Bu görünüm tüm projeleri ve görevleri içerir (size verilen kullanıcı izinleri her şeyi görmenizi sağlar). AllTaskVisibleButEditIfYouAreAssigned=Böyle bir proje için tüm görevler görünürdür, ama yalnızca atanmış olduğunuz görev için zaman girişi yapabilirsiniz. @@ -29,7 +29,7 @@ ProjectsList=Proje listesi ShowProject=Proje göster SetProject=Proje ayarla NoProject=Tanımlı ya da sahip olunan hiçbir proje yok -NbOpenTasks=Açık görev sayısı +NbOpenTasks=Açık olan görev sayısı NbOfProjects=Proje sayısı TimeSpent=Harcanan süre TimeSpentByYou=Tarafınızdan harcanan süre @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Proje ile ilgili müdahalelerin listesi ListExpenseReportsAssociatedProject=Bu proje ile ilişkili gider raporları listesi ListDonationsAssociatedProject=Bu proje ile ilişkilendirilmiş bağış listesi ListActionsAssociatedProject=Proje ile ilgili etkinliklerin listesi +ListTaskTimeUserProject=Projelere harcanan sürelerin listesi ActivityOnProjectThisWeek=Projede bu haftaki etkinlik ActivityOnProjectThisMonth=Projede bu ayki etkinlik ActivityOnProjectThisYear=Projede bu yılki etkinlik @@ -139,8 +140,12 @@ ProjectReferers=Yönlendirme nesneleri SearchAProject=Bir proje ara ProjectMustBeValidatedFirst=Projeler önce doğrulanmalıdır ProjectDraft=Taslak projeler -FirstAddRessourceToAllocateTime=Zaman ayırmak için bir kaynak ilişkilendirin +FirstAddRessourceToAllocateTime=Zaman tahsisi için bir kaynak ilişkilendir InputPerDay=Günlük giriş InputPerWeek=Haftalık giriş InputPerAction=Eylem başına giriş TimeAlreadyRecorded=Bu görev ve kullanıcı %s için harcanan süre zaten kayıtlı +ProjectsWithThisUserAsContact=İlgili olarak bu kullanıcı olan projeler +TasksWithThisUserAsContact=Bu kullanıcıya atanmış görevler +ResourceNotAssignedToProject=Projeye atanmamış +ResourceNotAssignedToTask=Göreve atanmamış diff --git a/htdocs/langs/tr_TR/propal.lang b/htdocs/langs/tr_TR/propal.lang index d06f3c3525b..e277d5357b3 100644 --- a/htdocs/langs/tr_TR/propal.lang +++ b/htdocs/langs/tr_TR/propal.lang @@ -16,7 +16,7 @@ Prospect=Aday ProspectList=Aday listesi DeleteProp=Teklif sil ValidateProp=Teklif doğrula -AddProp=Teklif ekle +AddProp=Teklif oluştur ConfirmDeleteProp=Bu teklifi silmek istediğinizden emin misiniz? ConfirmValidateProp=Bu teklifi doğrulamak istediğinizden emin misiniz? LastPropals=Son %s teklif @@ -24,14 +24,14 @@ LastClosedProposals=Son %s kapalı teklif LastModifiedProposals=Değiştirilen son %s teklif AllPropals=Tüm teklifler LastProposals=Son teklifler -SearchAProposal=Bir teklif ara +SearchAProposal=Teklif ara ProposalsStatistics=Teklif istatistikleri NumberOfProposalsByMonth=Aylara göre sayısı AmountOfProposalsByMonthHT=Aylık tutar (vergi hariç) NbOfProposals=Teklif sayısı ShowPropal=Teklif göster PropalsDraft=Taslaklar -PropalsOpened=Açık +PropalsOpened=Aç PropalsNotBilled=Kapalı faturalanmamış PropalStatusDraft=Taslak (doğrulanması gerekir) PropalStatusValidated=Onaylı (teklif açık) @@ -42,7 +42,7 @@ PropalStatusNotSigned=İmzalanmamış (kapalı) PropalStatusBilled=Faturalanmış PropalStatusDraftShort=Taslak PropalStatusValidatedShort=Doğrulanmış -PropalStatusOpenedShort=Açık +PropalStatusOpenedShort=Aç PropalStatusClosedShort=Kapalı PropalStatusSignedShort=İmzalı PropalStatusNotSignedShort=İmzalanmamış @@ -50,13 +50,11 @@ PropalStatusBilledShort=Faturalanmış PropalsToClose=Kapatılacak teklifler PropalsToBill=Faturalanacak imzalı teklifler ListOfProposals=Teklif listesi -ActionsOnPropal=Tekliler için yapılan eylemler +ActionsOnPropal=Tekliler için yapılan etkinlikler NoOpenedPropals=Açık teklif yok -NoOtherOpenedPropals=Başka hiçbir açık teklif yok +NoOtherOpenedPropals=Başka açık teklif yok RefProposal=Teklif ref SendPropalByMail=Teklifi postayla gönder -FileNotUploaded=Dosya yüklenemedi -FileUploaded=Dosya başarıyla yüklendi AssociatedDocuments=Bu teklif ile ilişkili belgeler: ErrorCantOpenDir=Dizin açılamıyor DatePropal=Teklif tarihi @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune teklif modeli DefaultModelPropalCreate=Varsayılan model oluşturma DefaultModelPropalToBill=Bir teklifi kapatma sırasında varsayılan şablon (faturalanacak) DefaultModelPropalClosed=Bir teklifi kapatma sırasında varsayılan şablon (faturalanmamış) +ProposalCustomerSignature=Yazılı kabul, firma kaşesi, tarih ve imza diff --git a/htdocs/langs/tr_TR/salaries.lang b/htdocs/langs/tr_TR/salaries.lang index 4bc47248b7f..0f8326dfbc0 100644 --- a/htdocs/langs/tr_TR/salaries.lang +++ b/htdocs/langs/tr_TR/salaries.lang @@ -11,3 +11,5 @@ 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 tüketilen sürenin maliyetinin hesaplanması için kullanılır +TJMDescription=Bu değer yalnızca bilgi amaçlı olup hiçbir hesaplamada kulanılmaz diff --git a/htdocs/langs/tr_TR/sendings.lang b/htdocs/langs/tr_TR/sendings.lang index 3881d64ef9b..a394748b645 100644 --- a/htdocs/langs/tr_TR/sendings.lang +++ b/htdocs/langs/tr_TR/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Basit belge modeli DocumentModelMerou=Merou A5 modeli WarningNoQtyLeftToSend=Uyarı, sevkiyat için bekleyen herhangi bir ürün yok. StatsOnShipmentsOnlyValidated=İstatistikler yalnızca doğrulanmış sevkiyatlarda yapılmıştır. Kullanılan tarih sevkiyat doğrulama tarihidir (planlanan teslim tarihi her zaman bilinemez) -DateDeliveryPlanned=Planlanan teslim tarihi +DateDeliveryPlanned=Teslimat için planlanan tarih DateReceived=Teslim alınan tarih SendShippingByEMail=Sevkiyatı EPostayla gönder SendShippingRef=% Nakliyatının yapılması @@ -67,7 +67,7 @@ SendingRunning=Sipariş edilmiş müşteri sparişindeki ürün SuppliersReceiptRunning=Sipariş edilmiş tedarikçi sparişindeki ürün ProductQtyInCustomersOrdersRunning=Açık müşteri siparişlerindeki ürün miktarı ProductQtyInSuppliersOrdersRunning=Açık tedarikçi siparişlerindeki ürün miktarı -ProductQtyInShipmentAlreadySent=Açık müşteri siparişlerindeki halihazırda gönderilmiş ürün miktarı +ProductQtyInShipmentAlreadySent=Gönderilmiş olan ve açık durumdaki müşteri siparişindeki miktar ProductQtyInSuppliersShipmentAlreadyRecevied=Açık tedarikçi siparişlerindeki halihazırda teslim alınmış ürün miktarı # Sending methods diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index 5ab213a1ed3..3e2f63963b7 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Stok azaltılması için kullanmak üzere depo s SelectWarehouseForStockIncrease=Stok artışı için kullanılacak depo seçin NoStockAction=Stok işlemi yok LastWaitingSupplierOrders=Kabul için bekleyen siparişler -DesiredStock=İstenen stok +DesiredStock=İstenen enaz stok +DesiredMaxStock=İstenen ençok stok StockToBuy=Sipariş edilecek Replenishment=İkmal ReplenishmentOrders=İkmal siparişleri -VirtualDiffersFromPhysical=Stok arttırma/azaltma seçeneklerine göre fiziksel stok ve sanal stok (fiziksel + mevcut siparişler) farklılık gösterebilir +VirtualDiffersFromPhysical=Stok arttırma/eksiltme seçeneklerine göre, fiziksel stok ve sanal stok (fiziksel + geçerli siparişler) farklı olmalı UseVirtualStockByDefault=Tamamlama özelliği için fiziksel stok yerine varsayıla olarak sanal stok kullanın UseVirtualStock=Sanal stok kullan UsePhysicalStock=Fiziksel stok kullan -CurentSelectionMode=Geçerli seçim biçimi +CurentSelectionMode=Geçerli seçim modu CurentlyUsingVirtualStock=Sanal stok CurentlyUsingPhysicalStock=Fiziksel stok RuleForStockReplenishment=Stok ikmal kuralı @@ -112,8 +113,8 @@ AlertOnly= Yalnızca uyarılar WarehouseForStockDecrease=%s deposu stok eksiltme için kullanılacaktır WarehouseForStockIncrease=%s deposu stok arttırma için kullanılacaktır ForThisWarehouse=Bu depo için -ReplenishmentStatusDesc=Bu liste istenen stoktan daha az stoklu bütün ürünler içindir (ya da eğer onay kutusunda "yalnızca uyarı" işaretliyse, uyarı değerinden az olan) ve bu farkı kapatmanız için tedarikçi siparişi oluşturmanızı önerir. -ReplenishmentOrdersDesc=Bu, öntanımlı ürünleri de içeren tüm açık tedarikçi siparişleri listesidir. Burada yalnızca öntanımlı ürünleri içeren açık siparişler, stokları etkileyebilir, görünür. +ReplenishmentStatusDesc=Bu, istenen stoktan daha az stoklu ürünlerin bir listesidir (ya da uyarı değerinden daha düşük, eğer onay kutusunda "yalnızca uyar" işaretliyse), ve size farkı doldurmak üzere tedarikçi siparişi oluşturmanızı önerir. +ReplenishmentOrdersDesc=Bu, öntanımlı ürünleri içeren tüm açık tedarikçi siparişlerinin bir listesidir. Yalnızca öntanımlı ürünlü açık siparişler burada görünür, yani stokları etkileyen siparişler. Replenishments=İkmal NbOfProductBeforePeriod=Stoktaki %s ürününün, seçilen dönemden (<%s) önceki miktarıdır NbOfProductAfterPeriod=Stoktaki %s ürününün, seçilen dönemden (<%s) sonraki miktarıdır @@ -124,16 +125,16 @@ RecordMovement=Kayıt aktarımı ReceivingForSameOrder=Bu siparişten yapılan kabuller StockMovementRecorded=Stok hareketleri kaydedildi RuleForStockAvailability=Stok gereksinimi kuralları -StockMustBeEnoughForInvoice=Faturaya ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır -StockMustBeEnoughForOrder=Siparişe ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır -StockMustBeEnoughForShipment= Sevkiyata ürün/hizmet eklemek için stok düzeyi yeterli olmalıdır +StockMustBeEnoughForInvoice=Stok düzeyi faturaya ürün/hizmet eklemeye yeterli olmalı +StockMustBeEnoughForOrder=Stok düzeyi siparişe ürün/hizmet eklemeye yeterli olmalı +StockMustBeEnoughForShipment= Stok düzeyi sevkiyata ürün/hizmet eklemeye yeterli olmalı MovementLabel=Hareket etiketi InventoryCode=Hareket veya stok kodu IsInPackage=Pakette içerilir ShowWarehouse=Depo göster -MovementCorrectStock=%s ürünü için stok içeriği düzeltmesi +MovementCorrectStock=Stok düzeltme yapılacak ürün %s MovementTransferStock=%s ürününün başka bir depoya stok aktarılması -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn="ürün partisi" açıkken kaynak depo burada tanımlanmalıdır. Hareket için parti/seri gerektiren ürün için hangi partinin/serinin uygun olduğunun listelenmesi için kullanılacaktır. Farklı depolardan ürün göndermek isterseniz yalnızca bir kaç adımda sevkiyat yapın. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn="Ürün partisi" modülü açık ise kaynak depo burada tanımlanmalıdır. Hareket için parti/seri gerektiren ürün için hangi partinin/serinin uygun olduğunun listelenmesi için kullanılacaktır. Farklı depolardan ürün göndermek isterseniz bir kaç adımda sevkiyat yapın. InventoryCodeShort=Inv./Mov. kodu -NoPendingReceptionOnSupplierOrder=Açılmış tedarikçi siparişi nedeniyle bekleyen kabul yok +NoPendingReceptionOnSupplierOrder=Açık tedarikçi siparişlerinde bekleyen kabul yok ThisSerialAlreadyExistWithDifferentDate=Bu parti/seri numarası (%s) zaten var fakat farklı tüketme ya da satma tarihli bulundu (%s ama sizin girdiğiniz bu %s). diff --git a/htdocs/langs/tr_TR/suppliers.lang b/htdocs/langs/tr_TR/suppliers.lang index ccaf0938eee..eb16289ef76 100644 --- a/htdocs/langs/tr_TR/suppliers.lang +++ b/htdocs/langs/tr_TR/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Tedarikçilere gönderilen ListOfSupplierOrders=Tedarikçi siparişleri listesi MenuOrdersSupplierToBill=Faturalanacak tedarikçi siparişleri NbDaysToDelivery=Gün olarak teslim süresi -DescNbDaysToDelivery=Sipariş ürün listesindeki en uzun teslim süresi +DescNbDaysToDelivery=Bu siparişteki en büyük teslimat gecikmesi olan ürünler UseDoubleApproval=İkili onay kullanın (ikinci onay özel izinli herhangi bir kullanıcı tarafından yapılabilir) diff --git a/htdocs/langs/tr_TR/trips.lang b/htdocs/langs/tr_TR/trips.lang index a0b9a259ab9..e64dfe67861 100644 --- a/htdocs/langs/tr_TR/trips.lang +++ b/htdocs/langs/tr_TR/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Giderler raporları TripsAndExpensesStatistics=Gider raporları istatistkleri TripCard=Gider raporu kartı AddTrip=Gider raporu oluştur -ListOfTrips=Gider raporu listesi +ListOfTrips=Gider raporları listesi ListOfFees=Ücretler listesi NewTrip=Yeni gider raporu CompanyVisited=Ziyaret edilen firma/kuruluş @@ -40,11 +40,10 @@ TF_BUS=Otobüs TF_CAR=Araba TF_PEAGE=Geçiş parası TF_ESSENCE=Yakıt -TF_HOTEL=Hostel +TF_HOTEL=Otel TF_TAXI=Taksi ErrorDoubleDeclaration=Benzer bir tarih aralığı için başka bir gider raporu bildirdiniz. -ListTripsAndExpenses=Giderler raporları listesi AucuneNDF=Bu kriter uyan hiç gider raporu bulunamadı AucuneLigne=Bildirilen hiç gider raporu yok AddLine=Satır ekle @@ -56,12 +55,12 @@ ModePaiement=Ödeme biçimi Note=Not Project=Proje -VALIDATOR=Onama için bilgilendirilecek kullanıcı +VALIDATOR=Onaylama için sorumlu kişi VALIDOR=Onaylayan AUTHOR=Kaydeden AUTHORPAIEMENT=Ödeyen REFUSEUR=Reddeden -CANCEL_USER=İptal eden +CANCEL_USER=Silen MOTIF_REFUS=Neden MOTIF_CANCEL=Neden @@ -74,7 +73,7 @@ DATE_PAIEMENT=Ödeme tarihi TO_PAID=Öde BROUILLONNER=Yeniden aç -SendToValid=Onay için gönder +SendToValid=Onay üzerine gönderilmiş ModifyInfoGen=Düzenle ValidateAndSubmit=Doğrula ve onay için gönder @@ -93,7 +92,7 @@ ConfirmPaidTrip=Bu gider raporunun durumunu "Ödendi" olarak değiştirmek isted CancelTrip=Bir gider raporu iptal et ConfirmCancelTrip=Bu gider raporunu iptal etmek istediğinizden emin misiniz? -BrouillonnerTrip=Gider raporun geri "Taslak" durumuna döndür +BrouillonnerTrip=Gider raporu durumunu yeniden "Taslak" durumuna getir ConfirmBrouillonnerTrip=Bu gider raporunu "Taslak" durumuna döndürmek istediğinizden emin misiniz? SaveTrip=Gider raporunu doğrula diff --git a/htdocs/langs/tr_TR/users.lang b/htdocs/langs/tr_TR/users.lang index fdecda7541b..19ef60b14d2 100644 --- a/htdocs/langs/tr_TR/users.lang +++ b/htdocs/langs/tr_TR/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Gruptan kaldır PasswordChangedAndSentTo=Parola değiştirildi ve %s e gönderildi. PasswordChangeRequestSent=Parola değiştirildi ve %s e gönderildi. MenuUsersAndGroups=Kullanıcılar ve Gruplar +MenuMyUserCard=Kullanıcı kartım LastGroupsCreated=Son olarak %s grup oluşturuldu LastUsersCreated=Son olarak %s kullanıcı oluşturuldu ShowGroup=Grubu göster diff --git a/htdocs/langs/tr_TR/workflow.lang b/htdocs/langs/tr_TR/workflow.lang index e6d92e4ecda..371a95f2f4c 100644 --- a/htdocs/langs/tr_TR/workflow.lang +++ b/htdocs/langs/tr_TR/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=İş Akışı modülü kurulumu -WorkflowDesc=Bu modül uygulamalardaki otomatik eylemlerin davranışlarını değiştirmek için tasarlanmıştır. Varsayılan olarak, iş akışı açılır (istediğiniz şeyleri yaparsınız). İlgi duyduğunuz otomatik eylemleri etkinleştirebilirsiniz. -ThereIsNoWorkflowToModify=Etkinleştirdiğiniz bu modül için değişitirilebilecek bir iş akışı yok. +WorkflowDesc=Bu modül, uygulamadaki otomatik eylemlerin davranışlarını değiştirilmek için tasarlanmıştır. Varsayılan olarak, iş akışı açıktır (işleri istediğiniz sıraya göre yapabilirsiniz). İlgilendiğiniz otomatik eylemleri etkinleştirebilirsiniz. +ThereIsNoWorkflowToModify=Etkin modül için değiştirilecek iş akışı yok. descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Bir teklif imzalandıktan sonra kendiliğinden müşteri siparişi oluşturulsun -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Bir teklif imzalandıktan sonra kendiliğinden müşteri faturası oluşturulsun -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Bir sözleşme onaylandıktan sonra kendiliğinden müşteri faturası oluşturulsun -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Bir müşteri siparişi kapatıldıktan sonra kendiliğinden müşteri faturası oluşturulsun +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically Bir teklif imzalandıktan sonra kendiliğinden müşteri faturası oluşturulsun +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically Bir sözleşme doğrulandıktan sonra kendiliğinden müşteri faturası oluşturulsun +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically Bir müşteri siparişi kapatıldıktan sonra kendiliğinden müşteri faturası oluşturulsun descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Bir müşteri siparişi ödenmiş olarak güncellendiğinde ilgili kaynak teklif faturalandı olarak dosyalansın descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Müşteri faturası ödendi olarak ayarlandığında bağlantılı kaynak sipariş(ler)ini faturalandı olarak sınıflandır descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Müşteri faturası doğrulandığında bağlantılı kaynak sipariş(ler)ini faturalandı olarak sınıflandır diff --git a/htdocs/langs/uk_UA/accountancy.lang b/htdocs/langs/uk_UA/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/uk_UA/accountancy.lang +++ b/htdocs/langs/uk_UA/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index a24e57c3336..79e32b442ab 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/uk_UA/banks.lang b/htdocs/langs/uk_UA/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/uk_UA/banks.lang +++ b/htdocs/langs/uk_UA/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index 288f54be283..7670ebc72b5 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Фінальний і основний рахунок diff --git a/htdocs/langs/uk_UA/boxes.lang b/htdocs/langs/uk_UA/boxes.lang index 6fd5e90e8c5..9c6803c4fcb 100644 --- a/htdocs/langs/uk_UA/boxes.lang +++ b/htdocs/langs/uk_UA/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Останні контракти BoxLastContacts=Останні контакти / адреси BoxLastMembers=Останні учасники BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Несплачені рахунки клієнта BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/uk_UA/categories.lang b/htdocs/langs/uk_UA/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/uk_UA/categories.lang +++ b/htdocs/langs/uk_UA/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/uk_UA/companies.lang b/htdocs/langs/uk_UA/companies.lang index 5580d87b517..ad9980cb055 100644 --- a/htdocs/langs/uk_UA/companies.lang +++ b/htdocs/langs/uk_UA/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/uk_UA/cron.lang b/htdocs/langs/uk_UA/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/uk_UA/cron.lang +++ b/htdocs/langs/uk_UA/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/uk_UA/incoterm.lang b/htdocs/langs/uk_UA/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/uk_UA/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/uk_UA/languages.lang b/htdocs/langs/uk_UA/languages.lang index 5d8cdfc0649..08be694db79 100644 --- a/htdocs/langs/uk_UA/languages.lang +++ b/htdocs/langs/uk_UA/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Арабська Language_ar_SA=Арабська +Language_bn_BD=Bengali Language_bg_BG=Болгарська Language_bs_BA=Боснійська Language_ca_ES=Каталонський @@ -13,7 +14,7 @@ Language_de_AT=Німецька (Австрія) Language_de_CH=Німецька (Швейцарія) Language_el_GR=Грецький Language_en_AU=Англійська (Австралія) -Language_en_CA=English (Canada) +Language_en_CA=Англійська (Канада) Language_en_GB=Англійська (Великобританія) Language_en_IN=Англійська (Індія) Language_en_NZ=Англійська (Нова Зеландія) @@ -21,9 +22,10 @@ Language_en_SA=Англійська (Саудівська Аравія) Language_en_US=Англійська (США) Language_en_ZA=Англійська (Південна Африка) Language_es_ES=Іспанська -Language_es_DO=Іспанська (Домініканська Республіка) Language_es_AR=Іспанська (Аргентина) Language_es_CL=Іспанська (Чілі) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Іспанська (Домініканська Республіка) Language_es_HN=Іспанська (Гондурас) Language_es_MX=Іспанська (Мексика) Language_es_PY=Іспанська (Парагвай) @@ -45,7 +47,10 @@ Language_id_ID=Індонезійська Language_is_IS=Ісландський Language_it_IT=Італійський Language_ja_JP=Японський +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Корейська +Language_lo_LA=Lao Language_lt_LT=Литовський Language_lv_LV=Латвійська Language_mk_MK=Македонський @@ -64,6 +69,7 @@ Language_sv_SV=Шведська Language_sv_SE=Шведська Language_sq_AL=Албанська Language_sk_SK=Словаччини +Language_sw_SW=Kiswahili Language_th_TH=Тайська Language_uk_UA=Український Language_uz_UZ=Узбецький diff --git a/htdocs/langs/uk_UA/loan.lang b/htdocs/langs/uk_UA/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/uk_UA/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/uk_UA/mails.lang b/htdocs/langs/uk_UA/mails.lang index 957c62b923c..f60eac679ab 100644 --- a/htdocs/langs/uk_UA/mails.lang +++ b/htdocs/langs/uk_UA/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 13f82db52fd..f4eb37bafbd 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/uk_UA/orders.lang b/htdocs/langs/uk_UA/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/uk_UA/orders.lang +++ b/htdocs/langs/uk_UA/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/uk_UA/other.lang b/htdocs/langs/uk_UA/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/uk_UA/other.lang +++ b/htdocs/langs/uk_UA/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/uk_UA/printing.lang b/htdocs/langs/uk_UA/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/uk_UA/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/uk_UA/productbatch.lang b/htdocs/langs/uk_UA/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/uk_UA/productbatch.lang +++ b/htdocs/langs/uk_UA/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/uk_UA/propal.lang b/htdocs/langs/uk_UA/propal.lang index d17bc952b7d..d10dbb15122 100644 --- a/htdocs/langs/uk_UA/propal.lang +++ b/htdocs/langs/uk_UA/propal.lang @@ -1,102 +1,101 @@ # Dolibarr language file - Source file is en_US - propal -# Proposals=Commercial proposals -# Proposal=Commercial proposal -# ProposalShort=Proposal -# ProposalsDraft=Draft commercial proposals -# ProposalDraft=Draft commercial proposal -# ProposalsOpened=Opened commercial proposals -# Prop=Commercial proposals -# CommercialProposal=Commercial proposal -# CommercialProposals=Commercial proposals -# ProposalCard=Proposal card -# NewProp=New commercial proposal -# NewProposal=New commercial proposal -# NewPropal=New proposal -# Prospect=Prospect -# ProspectList=Prospect list -# DeleteProp=Delete commercial proposal -# ValidateProp=Validate commercial proposal -# AddProp=Add proposal -# ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? -# ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? -# LastPropals=Last %s proposals -# LastClosedProposals=Last %s closed proposals -# LastModifiedProposals=Last %s modified proposals -# AllPropals=All proposals -# LastProposals=Last proposals -# SearchAProposal=Search a proposal -# ProposalsStatistics=Commercial proposal's statistics -# NumberOfProposalsByMonth=Number by month -# AmountOfProposalsByMonthHT=Amount by month (net of tax) -# NbOfProposals=Number of commercial proposals -# ShowPropal=Show proposal -# PropalsDraft=Drafts -# PropalsOpened=Opened -# PropalsNotBilled=Closed not billed -# PropalStatusDraft=Draft (needs to be validated) -# PropalStatusValidated=Validated (proposal is open) -# PropalStatusOpened=Validated (proposal is open) -# PropalStatusClosed=Closed -# PropalStatusSigned=Signed (needs billing) -# PropalStatusNotSigned=Not signed (closed) -# PropalStatusBilled=Billed -# PropalStatusDraftShort=Draft -# PropalStatusValidatedShort=Validated -# PropalStatusOpenedShort=Opened -# PropalStatusClosedShort=Closed -# PropalStatusSignedShort=Signed -# PropalStatusNotSignedShort=Not signed -# PropalStatusBilledShort=Billed -# PropalsToClose=Commercial proposals to close -# PropalsToBill=Signed commercial proposals to bill -# ListOfProposals=List of commercial proposals -# ActionsOnPropal=Events on proposal -# NoOpenedPropals=No opened commercial proposals -# NoOtherOpenedPropals=No other opened commercial proposals -# RefProposal=Commercial proposal ref -# SendPropalByMail=Send commercial proposal by mail -# FileNotUploaded=The file was not uploaded -# FileUploaded=The file was successfully uploaded -# AssociatedDocuments=Documents associated with the proposal: -# ErrorCantOpenDir=Can't open directory -# DatePropal=Date of proposal -# DateEndPropal=Validity ending date -# DateEndPropalShort=Date end -# ValidityDuration=Validity duration -# CloseAs=Close with status -# ClassifyBilled=Classify billed -# BuildBill=Build invoice -# ErrorPropalNotFound=Propal %s not found -# Estimate=Estimate : -# EstimateShort=Estimate -# OtherPropals=Other proposals -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals -# CopyPropalFrom=Create commercial proposal by copying existing proposal -# CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services -# DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) -# UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address -# ClonePropal=Clone commercial proposal -# ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? -# ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? -# ProposalsAndProposalsLines=Commercial proposal and lines -# ProposalLine=Proposal line -# AvailabilityPeriod=Availability delay -# SetAvailability=Set availability delay -# AfterOrder=after order +Proposals=Commercial proposals +Proposal=Commercial proposal +ProposalShort=Proposal +ProposalsDraft=Draft commercial proposals +ProposalDraft=Draft commercial proposal +ProposalsOpened=Open commercial proposals +Prop=Commercial proposals +CommercialProposal=Commercial proposal +CommercialProposals=Commercial proposals +ProposalCard=Proposal card +NewProp=New commercial proposal +NewProposal=New commercial proposal +NewPropal=New proposal +Prospect=Prospect +ProspectList=Prospect list +DeleteProp=Delete commercial proposal +ValidateProp=Validate commercial proposal +AddProp=Create proposal +ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? +ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? +LastPropals=Last %s proposals +LastClosedProposals=Last %s closed proposals +LastModifiedProposals=Last %s modified proposals +AllPropals=All proposals +LastProposals=Last proposals +SearchAProposal=Search a proposal +ProposalsStatistics=Commercial proposal's statistics +NumberOfProposalsByMonth=Number by month +AmountOfProposalsByMonthHT=Amount by month (net of tax) +NbOfProposals=Number of commercial proposals +ShowPropal=Show proposal +PropalsDraft=Drafts +PropalsOpened=Open +PropalsNotBilled=Closed not billed +PropalStatusDraft=Draft (needs to be validated) +PropalStatusValidated=Validated (proposal is open) +PropalStatusOpened=Validated (proposal is open) +PropalStatusClosed=Closed +PropalStatusSigned=Signed (needs billing) +PropalStatusNotSigned=Not signed (closed) +PropalStatusBilled=Billed +PropalStatusDraftShort=Draft +PropalStatusValidatedShort=Validated +PropalStatusOpenedShort=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 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals +RefProposal=Commercial proposal ref +SendPropalByMail=Send commercial proposal by mail +AssociatedDocuments=Documents associated with the proposal: +ErrorCantOpenDir=Can't open directory +DatePropal=Date of proposal +DateEndPropal=Validity ending date +DateEndPropalShort=Date end +ValidityDuration=Validity duration +CloseAs=Close with status +ClassifyBilled=Classify billed +BuildBill=Build invoice +ErrorPropalNotFound=Propal %s not found +Estimate=Estimate : +EstimateShort=Estimate +OtherPropals=Other proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals +CopyPropalFrom=Create commercial proposal by copying existing proposal +CreateEmptyPropal=Create empty commercial proposals vierge or from list of products/services +DefaultProposalDurationValidity=Default commercial proposal validity duration (in days) +UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address +ClonePropal=Clone commercial proposal +ConfirmClonePropal=Are you sure you want to clone the commercial proposal %s ? +ConfirmReOpenProp=Are you sure you want to open back the commercial proposal %s ? +ProposalsAndProposalsLines=Commercial proposal and lines +ProposalLine=Proposal line +AvailabilityPeriod=Availability delay +SetAvailability=Set availability delay +AfterOrder=after order ##### Availability ##### -# AvailabilityTypeAV_NOW=Immediate -# AvailabilityTypeAV_1W=1 week -# AvailabilityTypeAV_2W=2 weeks -# AvailabilityTypeAV_3W=3 weeks -# AvailabilityTypeAV_1M=1 month +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_internal_SALESREPFOLL=Representative following-up proposal +TypeContact_propal_external_BILLING=Customer invoice contact +TypeContact_propal_external_CUSTOMER=Customer contact following-up proposal # Document models -# DocModelAzurDescription=A complete proposal model (logo...) -# DocModelJauneDescription=Jaune proposal model -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +DocModelAzurDescription=A complete proposal model (logo...) +DocModelJauneDescription=Jaune proposal model +DefaultModelPropalCreate=Default model creation +DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) +DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/uk_UA/salaries.lang b/htdocs/langs/uk_UA/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/uk_UA/salaries.lang +++ b/htdocs/langs/uk_UA/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/uk_UA/sendings.lang b/htdocs/langs/uk_UA/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/uk_UA/sendings.lang +++ b/htdocs/langs/uk_UA/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/uk_UA/suppliers.lang b/htdocs/langs/uk_UA/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/uk_UA/suppliers.lang +++ b/htdocs/langs/uk_UA/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/uk_UA/trips.lang b/htdocs/langs/uk_UA/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/uk_UA/trips.lang +++ b/htdocs/langs/uk_UA/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/uk_UA/users.lang b/htdocs/langs/uk_UA/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/uk_UA/users.lang +++ b/htdocs/langs/uk_UA/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/uk_UA/workflow.lang b/htdocs/langs/uk_UA/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/uk_UA/workflow.lang +++ b/htdocs/langs/uk_UA/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/uz_UZ/accountancy.lang b/htdocs/langs/uz_UZ/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/uz_UZ/accountancy.lang +++ b/htdocs/langs/uz_UZ/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index e823d364258..1af79f8b17a 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu for users LangFile=.lang file System=System SystemInfo=System information -SystemTools=System tools SystemToolsArea=System tools area SystemToolsAreaDesc=This area provides administration features. Use the menu to choose the feature you're looking for. Purge=Purge @@ -232,8 +231,8 @@ Security=Security Passwords=Passwords DoNotStoreClearPassword=Do no store clear passwords in database but store only encrypted value (Activated recommended) MainDbPasswordFileConfEncrypted=Database password encrypted in conf.php (Activated recommended) -InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="..."
by
$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:..."
by
$dolibarr_main_db_pass="%s" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Feature @@ -300,13 +299,13 @@ ThisIsProcessToFollow=This is setup to process: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=Step %s FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Install is finished and Dolibarr is ready to use with this new component. NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr current version CallUpdatePage=Go to the page that updates the database structure and datas: %s. LastStableVersion=Last stable version @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar integration -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management Module2500Desc=Save and share documents -Module2600Name=WebServices -Module2600Desc=Enable the Dolibarr web services server +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Setup saved BackToModuleList=Back to modules list BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Town CompanyCountry=Country CompanyCurrency=Main currency +CompanyObject=Object of the company Logo=Logo DoNotShow=Do not show DoNotSuggestPaymentMode=Do not suggest NoActiveBankAccountDefined=No active bank account defined OwnerOfBankAccount=Owner of bank account %s BankModuleNotActive=Bank accounts module not enabled -ShowBugTrackLink=Show link "Report a bug" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Show "workbench" on homepage Alerts=Alerts Delays=Delays @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Max decimals for unit prices MAIN_MAX_DECIMALS_TOT=Max decimals for total prices MAIN_MAX_DECIMALS_SHOWN=Max decimals for prices shown on screen (Add ... after this number if you want to see ... when number is truncated when shown on screen) MAIN_DISABLE_PDF_COMPRESSION=Use PDF compression for generated PDF files. -MAIN_ROUNDING_RULE_TOT= Size of rounding range (for rare countries where rounding is done on something else than base 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else 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 (net/vat/incl tax) after rounding ParameterActiveForNextInputOnly=Parameter effective for next input only @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Default barcode type to use for products SetDefaultBarcodeTypeThirdParties=Default barcode type to use for third parties +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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 @@ -1552,6 +1560,13 @@ 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. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Bank module setup FreeLegalTextOnChequeReceipts=Free text on cheque receipts @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/uz_UZ/banks.lang b/htdocs/langs/uz_UZ/banks.lang index 72639883e1a..f363ffa56c6 100644 --- a/htdocs/langs/uz_UZ/banks.lang +++ b/htdocs/langs/uz_UZ/banks.lang @@ -94,12 +94,12 @@ Conciliate=Reconcile Conciliation=Reconciliation ConciliationForAccount=Reconcile this account IncludeClosedAccount=Include closed accounts -OnlyOpenedAccount=Only opened accounts +OnlyOpenedAccount=Only open accounts AccountToCredit=Account to credit AccountToDebit=Account to debit DisableConciliation=Disable reconciliation feature for this account ConciliationDisabled=Reconciliation feature disabled -StatusAccountOpened=Opened +StatusAccountOpened=Open StatusAccountClosed=Closed AccountIdShort=Number EditBankRecord=Edit record diff --git a/htdocs/langs/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index 014996eee65..b5c8d3b6653 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=Immediate @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/uz_UZ/boxes.lang b/htdocs/langs/uz_UZ/boxes.lang index c0180bebdaa..b61cf77019f 100644 --- a/htdocs/langs/uz_UZ/boxes.lang +++ b/htdocs/langs/uz_UZ/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Last contracts BoxLastContacts=Last contacts/addresses BoxLastMembers=Last members BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Sales turnover BoxTotalUnpaidCustomerBills=Total unpaid customer's invoices BoxTotalUnpaidSuppliersBills=Total unpaid supplier's invoices @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Sales turnover BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/uz_UZ/categories.lang b/htdocs/langs/uz_UZ/categories.lang index 7c293065433..9c3a956727e 100644 --- a/htdocs/langs/uz_UZ/categories.lang +++ b/htdocs/langs/uz_UZ/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s was added successfully. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=None NotCategorized=Without tag/category CategoryExistsAtSameLevel=This category already exists with this ref @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Contents not visible by all CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo./Prosp. categories @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/uz_UZ/companies.lang b/htdocs/langs/uz_UZ/companies.lang index 5580d87b517..ad9980cb055 100644 --- a/htdocs/langs/uz_UZ/companies.lang +++ b/htdocs/langs/uz_UZ/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Absolute discounts available DiscountNone=None Supplier=Supplier CompanyList=Company's list -AddContact=Add contact -AddContactAddress=Add contact/address +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=Edit contact EditContactAddress=Edit contact/address Contact=Contact @@ -268,8 +268,8 @@ ContactsAddresses=Contacts/Addresses NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=No contact defined DefaultContact=Default contact/address -AddCompany=Add company -AddThirdParty=Add third party +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=Delete a company PersonalInformations=Personal data AccountancyCode=Accountancy code @@ -379,8 +379,8 @@ DeliveryAddressLabel=Delivery address label DeleteDeliveryAddress=Delete a delivery address ConfirmDeleteDeliveryAddress=Are you sure you want to delete this delivery address? NewDeliveryAddress=New delivery address -AddDeliveryAddress=Add address -AddAddress=Add address +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=No alternative delivery address defined SupplierCategory=Supplier category JuridicalStatus200=Independant @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=The code is free. This code can be modified at any time. ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/uz_UZ/cron.lang b/htdocs/langs/uz_UZ/cron.lang index 5adc428b628..f4a33f42b6b 100644 --- a/htdocs/langs/uz_UZ/cron.lang +++ b/htdocs/langs/uz_UZ/cron.lang @@ -4,10 +4,10 @@ About = About CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Method CronModule=Module CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=Parameters CronSaveSucess=Save succesfully CronNote=Comment @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index dbafde2f6e5..b0710902b3d 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/uz_UZ/incoterm.lang b/htdocs/langs/uz_UZ/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/uz_UZ/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index dcd8df6e7db..64d14c6445d 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Database server - Superuser access CheckToCreateDatabase=Check box if database does not exist and must be created.
In this case, you must fill the login/password for superuser account at the bottom of this page. CheckToCreateUser=Check box if database owner does not exist and must be created.
In this case, you must choose its login and password and also fill the login/password for the superuser account at the bottom of this page. If this box is unchecked, owner database and its passwords must exists. Experimental=(experimental) +Deprecated=(deprecated) DatabaseRootLoginDescription=Login of the user allowed to create new databases or new users, mandatory if your database or its owner does not already exists. KeepEmptyIfNoPassword=Leave empty if user has no password (avoid this) SaveConfigurationFile=Save values diff --git a/htdocs/langs/uz_UZ/languages.lang b/htdocs/langs/uz_UZ/languages.lang index d20aab00146..aaeeb235544 100644 --- a/htdocs/langs/uz_UZ/languages.lang +++ b/htdocs/langs/uz_UZ/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Arabic Language_ar_SA=Arabic +Language_bn_BD=Bengali Language_bg_BG=Bulgarian Language_bs_BA=Bosnian Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=English (Saudi Arabia) Language_en_US=English (United States) Language_en_ZA=English (South Africa) Language_es_ES=Spanish -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=Spanish (Argentina) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=Spanish (Honduras) Language_es_MX=Spanish (Mexico) Language_es_PY=Spanish (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=Icelandic Language_it_IT=Italian Language_ja_JP=Japanese +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Korean +Language_lo_LA=Lao Language_lt_LT=Lithuanian Language_lv_LV=Latvian Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Swedish Language_sv_SE=Swedish Language_sq_AL=Albanian Language_sk_SK=Slovakian +Language_sw_SW=Kiswahili Language_th_TH=Thai Language_uk_UA=Ukrainian Language_uz_UZ=Uzbek diff --git a/htdocs/langs/uz_UZ/loan.lang b/htdocs/langs/uz_UZ/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/uz_UZ/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/uz_UZ/mails.lang b/htdocs/langs/uz_UZ/mails.lang index 89c71da9123..001b237ca8c 100644 --- a/htdocs/langs/uz_UZ/mails.lang +++ b/htdocs/langs/uz_UZ/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index d87c45109c0..d26e6842b19 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Unit price (net) UnitPriceTTC=Unit price PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Amount AmountInvoice=Invoice amount @@ -413,6 +413,8 @@ Qty=Qty ChangedBy=Changed by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=Success ResultKo=Failure @@ -421,7 +423,7 @@ Reportings=Reporting Draft=Draft Drafts=Drafts Validated=Validated -Opened=Opened +Opened=Open New=New Discount=Discount Unknown=Unknown @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Monday Tuesday=Tuesday @@ -732,3 +738,4 @@ ShortThursday=T ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 044bcc0eb01..55802b4bb48 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Supplier order SuppliersOrders=Suppliers orders SuppliersOrdersRunning=Current suppliers orders CustomerOrder=Customer order -CustomersOrders=Customers orders -CustomersOrdersRunning=Current customer's orders -CustomersOrdersAndOrdersLines=Customer orders and order's lines -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=Supplier's orders to process +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Canceled StatusOrderDraftShort=Draft StatusOrderValidatedShort=Validated @@ -75,8 +75,9 @@ AddToMyOrders=Add to my orders AddToOtherOrders=Add to other orders AddToDraftOrders=Add to draft order ShowOrder=Show order -NoOpenedOrders=No opened orders -NoOtherOpenedOrders=No other opened orders +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=Other orders LastOrders=Last %s customer orders diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 819005d4f4a..c49606b8f75 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Intervention validated Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=Customer invoice validated Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Supplier order approved Notify_ORDER_SUPPLIER_REFUSE=Supplier order refused Notify_ORDER_VALIDATE=Customer order validated @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Add entry in calendar %s diff --git a/htdocs/langs/uz_UZ/printing.lang b/htdocs/langs/uz_UZ/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/uz_UZ/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/uz_UZ/productbatch.lang b/htdocs/langs/uz_UZ/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/uz_UZ/productbatch.lang +++ b/htdocs/langs/uz_UZ/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index c29232087b9..f0d56c49049 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -23,14 +23,14 @@ ProductOrService=Product or Service ProductsAndServices=Products and Services ProductsOrServices=Products or Services ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Products and Services statistics ProductsStatistics=Products statistics -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=Internal reference LastRecorded=Last products/services on sell recorded @@ -44,7 +44,7 @@ CardProduct1=Service card CardContract=Contract card Warehouse=Warehouse Warehouses=Warehouses -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed Stock=Stock Stocks=Stocks @@ -71,21 +71,21 @@ SellingPriceTTC=Selling price (inc. tax) PublicPrice=Public price CurrentPrice=Current price NewPrice=New price -MinPrice=Minim. selling price -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=The selling price can't be lower than minimum allowed for this product (%s without tax). This message can also appears if you type a too important discount. ContractStatus=Contract status ContractStatusClosed=Closed -ContractStatusRunning=Running +ContractStatusRunning=Ongoing ContractStatusExpired=expired -ContractStatusOnHold=Not running -ContractStatusToRun=To get running -ContractNotRunning=This contract is not running +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing 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. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Suppliers SupplierRef=Supplier's product ref. ShowProduct=Show product @@ -117,12 +117,12 @@ ServiceLimitedDuration=If product is a service with limited duration: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=Number of prices MultiPriceLevelsName=Price categories -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=Associate Translation=Translation KeywordFilter=Keyword filter @@ -131,7 +131,7 @@ ProductToAddSearch=Search product to add AddDel=Add/Delete Quantity=Quantity NoMatchFound=No match found -ProductAssociationList=List of related products/services: name of product/service (quantity affected) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=One of selected product is parent with current product DeleteProduct=Delete a product/service @@ -179,16 +179,41 @@ CloneProduct=Clone product or service ConfirmCloneProduct=Are you sure you want to clone product or service %s ? CloneContentProduct=Clone all main informations of product/service ClonePricesProduct=Clone main informations and prices -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=This product is used NewRefForClone=Ref. of new product/service -CustomerPrices=Customers prices -SuppliersPrices=Suppliers prices -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Customs code CountryOrigin=Origin country HiddenIntoCombo=Hidden into select lists Nature=Nature +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index eac0f41d321..4f8c3d6eb2a 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=This view presents all 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). MyTasksDesc=This view is limited to projects or tasks you are a contact for (whatever is the type). -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status 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 such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=List of projects ShowProject=Show project SetProject=Set project NoProject=No project defined or owned -NbOpenTasks=Nb of opened tasks +NbOpenTasks=Nb of open tasks NbOfProjects=Nb of projects TimeSpent=Time spent TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=New time spent MyTimeSpent=My time spent @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=List of interventions associated with the project ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=List of events associated with the project +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month ActivityOnProjectThisYear=Activity on project this year @@ -95,7 +96,7 @@ DeleteATimeSpent=Delete time spent ConfirmDeleteATimeSpent=Are you sure you want to delete this time spent ? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=Ressources +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Projects dedicated to this third party NoTasks=No tasks for this project LinkedToAnotherCompany=Linked to other third party @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/uz_UZ/propal.lang b/htdocs/langs/uz_UZ/propal.lang index 8970d1eb2df..d10dbb15122 100644 --- a/htdocs/langs/uz_UZ/propal.lang +++ b/htdocs/langs/uz_UZ/propal.lang @@ -4,7 +4,7 @@ Proposal=Commercial proposal ProposalShort=Proposal ProposalsDraft=Draft commercial proposals ProposalDraft=Draft commercial proposal -ProposalsOpened=Opened commercial proposals +ProposalsOpened=Open commercial proposals Prop=Commercial proposals CommercialProposal=Commercial proposal CommercialProposals=Commercial proposals @@ -16,7 +16,7 @@ Prospect=Prospect ProspectList=Prospect list DeleteProp=Delete commercial proposal ValidateProp=Validate commercial proposal -AddProp=Add proposal +AddProp=Create proposal ConfirmDeleteProp=Are you sure you want to delete this commercial proposal ? ConfirmValidateProp=Are you sure you want to validate this commercial proposal under name %s ? LastPropals=Last %s proposals @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Amount by month (net of tax) NbOfProposals=Number of commercial proposals ShowPropal=Show proposal PropalsDraft=Drafts -PropalsOpened=Opened +PropalsOpened=Open PropalsNotBilled=Closed not billed PropalStatusDraft=Draft (needs to be validated) PropalStatusValidated=Validated (proposal is open) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Not signed (closed) PropalStatusBilled=Billed PropalStatusDraftShort=Draft PropalStatusValidatedShort=Validated -PropalStatusOpenedShort=Opened +PropalStatusOpenedShort=Open PropalStatusClosedShort=Closed PropalStatusSignedShort=Signed PropalStatusNotSignedShort=Not signed @@ -51,12 +51,10 @@ PropalsToClose=Commercial proposals to close PropalsToBill=Signed commercial proposals to bill ListOfProposals=List of commercial proposals ActionsOnPropal=Events on proposal -NoOpenedPropals=No opened commercial proposals -NoOtherOpenedPropals=No other opened commercial proposals +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Commercial proposal ref SendPropalByMail=Send commercial proposal by mail -FileNotUploaded=The file was not uploaded -FileUploaded=The file was successfully uploaded AssociatedDocuments=Documents associated with the proposal: ErrorCantOpenDir=Can't open directory DatePropal=Date of proposal @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune proposal model DefaultModelPropalCreate=Default model creation DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/uz_UZ/salaries.lang b/htdocs/langs/uz_UZ/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/uz_UZ/salaries.lang +++ b/htdocs/langs/uz_UZ/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/uz_UZ/sendings.lang b/htdocs/langs/uz_UZ/sendings.lang index 84088c3e023..1dc182c6fdc 100644 --- a/htdocs/langs/uz_UZ/sendings.lang +++ b/htdocs/langs/uz_UZ/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Simple document model DocumentModelMerou=Merou A5 model WarningNoQtyLeftToSend=Warning, no products waiting to be shipped. StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=Planed date of delivery +DateDeliveryPlanned=Planned date of delivery DateReceived=Date delivery received SendShippingByEMail=Send shipment by EMail SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index c2b432d7f9b..7aeef1c9641 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Warehouses NewWarehouse=New warehouse / Stock area WarehouseEdit=Modify warehouse MenuNewWarehouse=New warehouse -WarehouseOpened=Warehouse opened +WarehouseOpened=Warehouse open WarehouseClosed=Warehouse closed WarehouseSource=Source warehouse WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Choose warehouse to use for stock decrease SelectWarehouseForStockIncrease=Choose warehouse to use for stock increase NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/uz_UZ/suppliers.lang b/htdocs/langs/uz_UZ/suppliers.lang index e0552c064e8..5388a4867c7 100644 --- a/htdocs/langs/uz_UZ/suppliers.lang +++ b/htdocs/langs/uz_UZ/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/uz_UZ/trips.lang b/htdocs/langs/uz_UZ/trips.lang index 76b214abdb7..b7b726bcebe 100644 --- a/htdocs/langs/uz_UZ/trips.lang +++ b/htdocs/langs/uz_UZ/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=List of fees NewTrip=New expense report CompanyVisited=Company/foundation visited @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/uz_UZ/users.lang b/htdocs/langs/uz_UZ/users.lang index baf209f9d1c..b4df936bff7 100644 --- a/htdocs/langs/uz_UZ/users.lang +++ b/htdocs/langs/uz_UZ/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Remove from group PasswordChangedAndSentTo=Password changed and sent to %s. PasswordChangeRequestSent=Request to change password for %s sent to %s. MenuUsersAndGroups=Users & Groups +MenuMyUserCard=My user card LastGroupsCreated=Last %s created groups LastUsersCreated=Last %s users created ShowGroup=Show group diff --git a/htdocs/langs/uz_UZ/workflow.lang b/htdocs/langs/uz_UZ/workflow.lang index 17c8dd3aafa..fe8791515c2 100644 --- a/htdocs/langs/uz_UZ/workflow.lang +++ b/htdocs/langs/uz_UZ/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Workflow module setup -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=There is no workflow you can modify for module you have activated. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Create a customer order automatically after a commercial proposal is signed -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Create a customer invoice automatically after a commercial proposal is signed -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Create a customer invoice automatically after a contract is validated -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Create a customer invoice automatically after a customer order is closed +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/vi_VN/accountancy.lang b/htdocs/langs/vi_VN/accountancy.lang index 9d0f82a4cb0..02b9d6320a3 100644 --- a/htdocs/langs/vi_VN/accountancy.lang +++ b/htdocs/langs/vi_VN/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Kế toán Globalparameters=Các thông số toàn cầu @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Chiều dài của các tài khoản của bên thứ ACCOUNTING_SELL_JOURNAL=Bán tạp chí ACCOUNTING_PURCHASE_JOURNAL=Mua tạp chí -ACCOUNTING_BANK_JOURNAL=Tạp chí Ngân hàng -ACCOUNTING_CASH_JOURNAL=Tạp chí tiền mặt ACCOUNTING_MISCELLANEOUS_JOURNAL=Linh tinh tạp chí +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Tạp chí Xã hội ACCOUNTING_ACCOUNT_TRANSFER_CASH=Tài khoản chuyển nhượng diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index bd5b3285f66..fea02b19e70 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=Menu cho người dùng LangFile=tập tin .lang System=Hệ thống SystemInfo=Thông tin hệ thống -SystemTools=Công cụ hệ thống SystemToolsArea=Khu vực công cụ hệ thống SystemToolsAreaDesc=Khu vực này cung cấp các tính năng quản trị. Sử dụng menu để chọn tính năng mà bạn đang muốn thao tác. Purge=Thanh lọc @@ -232,8 +231,8 @@ Security=Bảo mật Passwords=Mật khẩu DoNotStoreClearPassword=Không chứa mật khẩu đã xóa trong cơ sở dữ liệu nhưng chỉ chứa giá trị được mã hóa (Đã kích hoạt được khuyến nghị) MainDbPasswordFileConfEncrypted=Cơ sở dữ liệu mật khẩu được mã hóa trong conf.php (Đã kích hoạt được Khuyến nghị) -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" +InstrucToEncodePass=To have password encoded into the conf.php file, replace the line
$dolibarr_main_db_pass="...";
by
$dolibarr_main_db_pass="crypted:%s"; +InstrucToClearPass=To have password decoded (clear) into the conf.php file, replace the line
$dolibarr_main_db_pass="crypted:...";
by
$dolibarr_main_db_pass="%s"; ProtectAndEncryptPdfFiles=Protection of generated pdf files (Activated NOT recommended, breaks mass pdf generation) ProtectAndEncryptPdfFilesDesc=Protection of a PDF document keeps it available to read and print with any PDF browser. However, editing and copying is not possible anymore. Note that using this feature make building of a global cumulated pdf not working (like unpaid invoices). Feature=Đặc tính @@ -300,13 +299,13 @@ ThisIsProcessToFollow=Đây là cài đặt cho quy trình: ThisIsAlternativeProcessToFollow=Đây là cài đặt thay thế cho quy trình: StepNb=Bước %s FindPackageFromWebSite=Tìm một gói phần mềm cung cấp các tính năng mà bạn muốn (ví dụ như trên trang web chính thức %s). -DownloadPackageFromWebSite=Gói tải về %s. -UnpackPackageInDolibarrRoot=Giải nèn file gói dữ liệu vào thư mục được chỉ định vào module bên ngoài: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=Cài đặt xong và Dolibarr đã sẵn sàng để sử dụng với thành phần mới này. NotExistsDirect=Các thư mục gốc thay thế không được định nghĩa.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Chọn module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Phiên bản hiện tại Dolibarr CallUpdatePage=Tới trang cập nhật các cấu trúc cơ sở dữ liệu và dữ liệu: %s. LastStableVersion=Phiên bản ổn định mới nhất @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Thư viện được sử dụng để xây dựng PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=Làm mới liên kết @@ -492,8 +491,8 @@ Module400Name=Dự án/Cơ hội/Đầu mối Module400Desc=Quản lý dự án, cơ hội hoặc đầu mối. Bạn có thể chỉ định bất kỳ thành phần nào sau đó (hóa đơn, đơn hàng, đơn hàng đề xuất, intervention, ...) để dự án và hiển thị chiều ngang từ hiển thị dự án. Module410Name=Lịch trên web Module410Desc=Tích hợp lịch trên web -Module500Name=Chi phí đặc biệt (thuế, đóng góp xã hội, cổ tức) -Module500Desc=Quản lý chi phí đặc biệt như thuế, đóng góp xã hội, cổ tức và tiền lương +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Lương Module510Desc=Quản lý lương nhân viên và thanh toán Module520Name=Cho vay @@ -524,8 +523,10 @@ Module2400Name=Chương trình nghị sự Module2400Desc=Quản lý Sự kiện/Tác vụ và chương trình nghị sự Module2500Name=Quản lý nội dung điện tử Module2500Desc=Lưu và chia sẻ tài liệu -Module2600Name=WebServices -Module2600Desc=Cho phép các máy chủ dịch vụ web Dolibarr +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Kích hoạt các dịch vụ web Dolibarr client (có thể được sử dụng để đẩy dữ liệu / yêu cầu đến các máy chủ bên ngoài. Đơn hàng Nhà cung cấp chỉ được hỗ trợ cho thời điểm này) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Chứng từ gốc của đơn hàng đề xuất/đơn hàng DictionaryAccountancyplan=Biểu đồ tài khoản DictionaryAccountancysystem=Kiểu biểu đồ tài khoản DictionaryEMailTemplates=Mẫu email +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=Cài đặt đã lưu BackToModuleList=Trở lại danh sách module BackToDictionaryList=Trở lại danh sách từ điển @@ -936,13 +939,14 @@ CompanyZip=Zip CompanyTown=Thành phố CompanyCountry=Quốc gia CompanyCurrency=Tiền tệ chính +CompanyObject=Object of the company Logo=Logo DoNotShow=Không hiển thị DoNotSuggestPaymentMode=Không đề nghị NoActiveBankAccountDefined=Không có tài khoản ngân hàng hoạt động được xác định OwnerOfBankAccount=Chủ sở hữu của tài khoản ngân hàng %s BankModuleNotActive=Module tài khoản ngân hàng chưa được mở -ShowBugTrackLink=Hiển thị liên kết "Báo cáo lỗi" +ShowBugTrackLink=Show link "%s" ShowWorkBoard=Xem "workbench" trên trang chủ Alerts=Cảnh báo Delays=Trì hoãn @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=Số thập phân tối đa cho đơn giá MAIN_MAX_DECIMALS_TOT=Số thập phân tối đa cho tổng giá MAIN_MAX_DECIMALS_SHOWN=Max số thập phân cho giá được hiển thị trên màn hình (Add ... sau khi con số này nếu bạn muốn xem ... khi số là cắt ngắn khi hiển thị trên màn hình) MAIN_DISABLE_PDF_COMPRESSION=Sử dụng PDF nén các file PDF được tạo ra. -MAIN_ROUNDING_RULE_TOT= Kích thước của phạm vi làm tròn (đối với các quốc gia hiếm hoi mà làm tròn được thực hiện trên một cái gì đó khác hơn so với cơ số 10) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=Đơn giá chưa thuế của một sản phẩm TotalPriceAfterRounding=Tổng giá (chưa thuế/VAT/bao gồm thuế) sau khi làm tròn ParameterActiveForNextInputOnly=Thông số hiệu quả cho chỉ đầu vào kế tiếp @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 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=Sử dụng một form tìm kiếm để chọn một sản phẩm (chứ không phải là một danh sách thả xuống). UseEcoTaxeAbility=Support Eco-Taxe (WEEE) SetDefaultBarcodeTypeProducts=Loại mã vạch mặc định để sử dụng cho các sản phẩm SetDefaultBarcodeTypeThirdParties=Loại mã vạch mặc định để sử dụng cho các bên thứ ba +UseUnits=Support units ProductCodeChecker= Module để sinh ra mã sản phẩm và kiểm tra (sản phẩm hoặc dịch vụ) ProductOtherConf= Cấu hình Sản phẩm / Dịch vụ ##### Syslog ##### @@ -1420,6 +1426,8 @@ 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=Engine nội bộ BarCodeNumberManager=Quản lý số mã vạch xác định tự động @@ -1552,6 +1560,13 @@ WebServicesSetup=Cài đặt module webservices WebServicesDesc=Bằng cách cho phép mô-đun này, Dolibarr trở thành một máy chủ dịch vụ web để cung cấp dịch vụ web linh tinh. WSDLCanBeDownloadedHere=Các tập tin mô tả WSDL của dịch vụ cung cấp có thể được tải về tại đây EndPointIs=SOAP khách hàng phải gửi yêu cầu tới các thiết bị đầu cuối Dolibarr tại Url +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=Cài đặt module Ngân hàng FreeLegalTextOnChequeReceipts=Free text trên biên nhận Séc @@ -1594,7 +1609,7 @@ OpenFiscalYear=Mở năm tài chính CloseFiscalYear=Đóng năm tài chính DeleteFiscalYear=Xóa năm tài chính ConfirmDeleteFiscalYear=Bạn chắc muốn xóa năm tài chính này? -Opened=Đã mở +Opened=Open Closed=Đã đóng AlwaysEditable=Luôn luôn có thể được chỉnh sửa MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Cài đặt module bên ngoài là không SomethingMakeInstallFromWebNotPossible2=Vì lý do này, quá trình nâng cấp để mô tả ở đây là chỉ là bước thủ công một người dùng có đặc quyền có thể làm. InstallModuleFromWebHasBeenDisabledByFile=Cài đặt các module bên ngoài từ các ứng dụng đã bị vô hiệu bởi quản trị viên của bạn. Bạn phải yêu cầu ông phải loại bỏ các tập tin %s để cho phép tính năng này. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/vi_VN/banks.lang b/htdocs/langs/vi_VN/banks.lang index c610b4fe77e..7ab8d387764 100644 --- a/htdocs/langs/vi_VN/banks.lang +++ b/htdocs/langs/vi_VN/banks.lang @@ -94,12 +94,12 @@ Conciliate=Hòa giải Conciliation=Hòa giải ConciliationForAccount=Đối chiếu tài khoản này IncludeClosedAccount=Bao gồm các tài khoản đã đóng -OnlyOpenedAccount=Chỉ có tài khoản mở +OnlyOpenedAccount=Only open accounts AccountToCredit=Tài khoản tín dụng AccountToDebit=Tài khoản ghi nợ DisableConciliation=Vô hiệu hoá tính năng hòa giải cho tài khoản này ConciliationDisabled=Tính năng hòa giải bị vô hiệu hóa -StatusAccountOpened=Mở +StatusAccountOpened=Open StatusAccountClosed=Đóng AccountIdShort=Số EditBankRecord=Sửa kỷ lục diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index a0d6d23d904..0baec68235d 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -430,5 +430,5 @@ NotLastInCycle=Hoá đơn này không phải là cuối cùng trong chu kỳ và DisabledBecauseNotLastInCycle=Tình huống tiếp theo đã tồn tại DisabledBecauseFinal=Tình huống này là cuối cùng CantBeLessThanMinPercent=Tiến trình này không thể nhỏ hơn giá trị của nó trong tình huống trước. -NoSituations=Không có tình huống nào đã mở +NoSituations=No open situations InvoiceSituationLast=Hóa đơn cuối cùng và tổng hợp diff --git a/htdocs/langs/vi_VN/boxes.lang b/htdocs/langs/vi_VN/boxes.lang index b8de141bfad..3ee363b9d13 100644 --- a/htdocs/langs/vi_VN/boxes.lang +++ b/htdocs/langs/vi_VN/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=Hợp đồng cuối cùng BoxLastContacts=Địa chỉ liên lạc cuối cùng / địa chỉ BoxLastMembers=Thành viên cuối cùng BoxFicheInter=Can thiệp cuối cùng -BoxCurrentAccounts=Mở tài khoản ngoại +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=Doanh thu bán hàng BoxTotalUnpaidCustomerBills=Tổng số khách hàng chưa thanh toán hoá đơn của BoxTotalUnpaidSuppliersBills=Tổng số nhà cung cấp hoá đơn chưa thanh toán của @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Thành viên cuối %s BoxTitleLastFicheInter=Can thiệp đã sửa cuối cùng %s BoxTitleOldestUnpaidCustomerBills=Hoá đơn chưa thanh toán của khách hàng lâu đời nhất %s BoxTitleOldestUnpaidSupplierBills=Cũ nhất%s nhà cung cấp hoá đơn chưa thanh toán -BoxTitleCurrentAccounts=Số dư tài khoản mở của +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=Doanh thu bán hàng BoxTitleTotalUnpaidCustomerBills=Hóa đơn khách hàng chưa thanh toán BoxTitleTotalUnpaidSuppliersBills=Nhà cung cấp hoá đơn chưa thanh toán diff --git a/htdocs/langs/vi_VN/categories.lang b/htdocs/langs/vi_VN/categories.lang index 329e7329918..156e7997436 100644 --- a/htdocs/langs/vi_VN/categories.lang +++ b/htdocs/langs/vi_VN/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s đã được thêm thành công. ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=Không NotCategorized=Without tag/category CategoryExistsAtSameLevel=Thể loại này đã tồn tại với ref này @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=Nội dung không thể nhìn thấy bởi tất c CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / Prosp. loại @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/vi_VN/companies.lang b/htdocs/langs/vi_VN/companies.lang index 914be1b57b8..f41416344cc 100644 --- a/htdocs/langs/vi_VN/companies.lang +++ b/htdocs/langs/vi_VN/companies.lang @@ -410,5 +410,10 @@ OutstandingBillReached=Đã đạt công nợ tối đa MonkeyNumRefModelDesc=Return numero with format %syymm-nnnn for customer code and %syymm-nnnn for supplier code where yy is year, mm is month and nnnn is a sequence with no break and no return to 0. LeopardNumRefModelDesc=Mã này tự do. Mã này có thể được sửa đổi bất cứ lúc nào. ManagingDirectors=Tên quản lý (CEO, giám đốc, chủ tịch...) -SearchThirdparty=Tìm kiếm bên thứ ba +SearchThirdparty=Search third party SearchContact=Tìm kiếm liên lạc +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/vi_VN/cron.lang b/htdocs/langs/vi_VN/cron.lang index 1698b670d91..4973aa32449 100644 --- a/htdocs/langs/vi_VN/cron.lang +++ b/htdocs/langs/vi_VN/cron.lang @@ -4,10 +4,10 @@ About = Về CronAbout = Về Cron CronAboutPage = Định kỳ về trang web # Right -Permission23101 = Đọc nhiệm vụ theo lịch trình -Permission23102 = Tạo / cập nhật theo lịch trình công việc -Permission23103 = Xóa nhiệm vụ theo lịch trình -Permission23104 = Thực hiện nhiệm vụ theo lịch trình +Permission23101 = Read Scheduled job +Permission23102 = Create/update Scheduled job +Permission23103 = Delete Scheduled job +Permission23104 = Execute Scheduled job # Admin CronSetup= Theo lịch trình thiết lập quản lý công việc URLToLaunchCronJobs=URL để kiểm tra và khởi động công việc cron nếu được yêu cầu @@ -26,11 +26,11 @@ CronLastOutput=Bài đầu ra chạy CronLastResult=Cuối mã kết quả CronListOfCronJobs=Danh sách công việc dự kiến CronCommand=Lệnh -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Công việc @@ -39,8 +39,8 @@ CronDtStart=Ngày bắt đầu CronDtEnd=Ngày kết thúc CronDtNextLaunch=Thực hiện tiếp theo CronDtLastLaunch=Thực hiện cuối -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=Phương pháp CronModule=Mô-đun CronAction=Hành động @@ -55,9 +55,9 @@ CronEach=Mỗi JobFinished=Việc đưa ra và hoàn thành #Page card CronAdd= Thêm công việc -CronHourStart= Bắt đầu giờ và ngày nhiệm vụ -CronEvery= Và thực hiện nhiệm vụ mỗi -CronObject= Ví dụ / đối tượng để tạo ra +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Ví dụ / đối tượng để tạo ra CronArgs=Các thông số CronSaveSucess=Lưu thành công CronNote=Nhận xét @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Thông tin # Common -CronType=Loại nhiệm vụ +CronType=Job type CronType_method=Gọi phương thức của một lớp Dolibarr CronType_command=Shell lệnh CronMenu=Cron CronCannotLoadClass=Không thể tải lớp% s hoặc đối tượng% s UseMenuModuleToolsToAddCronJobs=Đi vào menu "Trang chủ - module công cụ - danh sách công việc" để xem và chỉnh sửa các công việc theo lịch trình. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index 72d63d6336e..243e9690e7a 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Thiết lập các thông số bắt buộc chưa được xác định diff --git a/htdocs/langs/vi_VN/incoterm.lang b/htdocs/langs/vi_VN/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/vi_VN/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index 168fcac4a45..2567bb2fb4c 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=Máy chủ cơ sở dữ liệu - truy cập superuser CheckToCreateDatabase=Kiểm tra hộp nếu cơ sở dữ liệu không tồn tại và phải được tạo ra.
Trong trường hợp này, bạn phải điền tên đăng nhập / mật khẩu cho tài khoản superuser ở dưới cùng của trang này. CheckToCreateUser=Kiểm tra hộp nếu chủ sở hữu cơ sở dữ liệu không tồn tại và phải được tạo ra.
Trong trường hợp này, bạn phải chọn tên đăng nhập và mật khẩu của mình và cũng có thể điền tên đăng nhập / mật khẩu cho tài khoản superuser ở dưới cùng của trang này. Nếu hộp này được đánh dấu, cơ sở dữ liệu và mật khẩu chủ sở hữu của nó phải tồn tại. Experimental=(Thử nghiệm) +Deprecated=(deprecated) DatabaseRootLoginDescription=Đăng nhập của người dùng được phép để tạo ra cơ sở dữ liệu mới hoặc người dùng mới, bắt buộc nếu cơ sở dữ liệu của bạn hoặc chủ sở hữu của nó không đã tồn tại. KeepEmptyIfNoPassword=Để trống nếu người dùng không có mật khẩu (tránh điều này) SaveConfigurationFile=Lưu giá trị diff --git a/htdocs/langs/vi_VN/languages.lang b/htdocs/langs/vi_VN/languages.lang index dda345c1b78..05a518b6b01 100644 --- a/htdocs/langs/vi_VN/languages.lang +++ b/htdocs/langs/vi_VN/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=Ả Rập Language_ar_SA=Ả Rập +Language_bn_BD=Bengali Language_bg_BG=Bungari Language_bs_BA=Bosnia Language_ca_ES=Catalan @@ -21,9 +22,10 @@ Language_en_SA=Anh (Ả rập Saudi) Language_en_US=Anh (Hoa Kỳ) Language_en_ZA=Anh (Nam Phi) Language_es_ES=Tây Ban Nha -Language_es_DO=Tây Ban Nha (Cộng hòa Dominica) Language_es_AR=Tây Ban Nha (Argentina) Language_es_CL=Tây Ban Nha (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Tây Ban Nha (Cộng hòa Dominica) Language_es_HN=Tây Ban Nha (Honduras) Language_es_MX=Tây Ban Nha (Mexico) Language_es_PY=Tây Ban Nha (Paraguay) @@ -45,7 +47,10 @@ Language_id_ID=Indonesia Language_is_IS=Iceland Language_it_IT=Ý Language_ja_JP=Nhật Bản +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=Hàn Quốc +Language_lo_LA=Lao Language_lt_LT=Lithuania Language_lv_LV=Latvia Language_mk_MK=Macedonian @@ -64,6 +69,7 @@ Language_sv_SV=Thụy Điển Language_sv_SE=Thụy Điển Language_sq_AL=Albania Language_sk_SK=Slovakia +Language_sw_SW=Kiswahili Language_th_TH=Thái Lan Language_uk_UA=Ukraina Language_uz_UZ=Uzbek diff --git a/htdocs/langs/vi_VN/loan.lang b/htdocs/langs/vi_VN/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/vi_VN/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/vi_VN/mails.lang b/htdocs/langs/vi_VN/mails.lang index 3bec956d767..79141a206d5 100644 --- a/htdocs/langs/vi_VN/mails.lang +++ b/htdocs/langs/vi_VN/mails.lang @@ -77,7 +77,7 @@ CheckRead=Đọc nhận YourMailUnsubcribeOK=Email %s là đúng unsubcribe từ danh sách gửi thư MailtoEMail=Siêu liên kết email ActivateCheckRead=Cho phép sử dụng "Unsubcribe" liên kết -ActivateCheckReadKey=Sử dụng chìa khóa để sử dụng mã hóa URL cho "Đọc Tiếp nhận" và "Unsubcribe" tính năng +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=Thư điện tử gửi đến người nhận %s. XTargetsAdded=Người nhận %s thêm vào danh sách mục tiêu EachInvoiceWillBeAttachedToEmail=Một tài liệu mặc định sử dụng hóa đơn mẫu tài liệu sẽ được tạo ra và gắn liền với mỗi email. diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index 40fa0296d36..39dc502da7a 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=Đơn giá (chưa thuế) UnitPriceTTC=Đơn giá PriceU=U.P. PriceUHT=U.P. (net) -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=U.P. Amount=Số tiền AmountInvoice=Số tiền hóa đơn @@ -413,6 +413,8 @@ Qty=Số lượng ChangedBy=Thay đổi bằng ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Tính toán lại ResultOk=Thành công ResultKo=Thất bại @@ -421,7 +423,7 @@ Reportings=Việc báo cáo Draft=Dự thảo Drafts=Dự thảo Validated=Đã xác nhận -Opened=Đã mở +Opened=Open New=Mới Discount=Giảm giá Unknown=Không biết @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Đã liên kết với một số liên lạc người dù DeleteAFile=Xóa một tập tin ConfirmDeleteAFile=Bạn có chắc muốn xóa tập tin NoResults=Không có kết quả +SystemTools=System tools ModulesSystemTools=Module công cụ Test=Kiểm tra Element=Yếu tố @@ -703,6 +706,9 @@ ShowTransaction=Hiển thị giao dịch GoIntoSetupToChangeLogo=Vào Nhà-Thiết lập-Công ty để đổi logo hoặc vào Nhà-Thiết lập-Hiển thị để ẩn. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=Thứ Hai Tuesday=Thứ Ba @@ -732,3 +738,4 @@ ShortThursday=N ShortFriday=S ShortSaturday=B ShortSunday=C +SelectMailModel=Select email template diff --git a/htdocs/langs/vi_VN/orders.lang b/htdocs/langs/vi_VN/orders.lang index 23623723cd2..429e10d9c5c 100644 --- a/htdocs/langs/vi_VN/orders.lang +++ b/htdocs/langs/vi_VN/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=Đơn hàng nhà cung cấp SuppliersOrders=Đơn hàng nhà cung cấp SuppliersOrdersRunning=Đơn hàng nhà cung cấp hiện tại CustomerOrder=Đơn hàng khách hàng -CustomersOrders=Đơn hàng khách hàng -CustomersOrdersRunning=Đơn hàng khách hàng hiện tại -CustomersOrdersAndOrdersLines=Đơn hàng khách hàng và chi tiết đơn hàng -OrdersToValid=Đơn hàng khách hàng cần xác nhận -OrdersToBill=Đơn hàng khách hàng đã gửi -OrdersInProcess=Đơn hàng khách hàng đang xử lý -OrdersToProcess=Đơn hàng khách hàng để xử lý -SuppliersOrdersToProcess=Đơn hàng nhà cung cấp để xử lý +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=Đã hủy bỏ StatusOrderDraftShort=Dự thảo StatusOrderValidatedShort=Đã xác nhận @@ -75,8 +75,9 @@ AddToMyOrders=Thêm vào đơn hàng của tôi AddToOtherOrders=Thêm vào đơn hàng khác AddToDraftOrders=Thêm vào đơn hàng dự thảo ShowOrder=Hiển thị đơn hàng -NoOpenedOrders=Không có đơn hàng đã mở -NoOtherOpenedOrders=Không có đơn hàng đã mở khác +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=Không có đơn hàng dự thảo OtherOrders=Đơn hàng khác LastOrders=Last %s customer orders diff --git a/htdocs/langs/vi_VN/other.lang b/htdocs/langs/vi_VN/other.lang index 63de4507754..9dc00dcec59 100644 --- a/htdocs/langs/vi_VN/other.lang +++ b/htdocs/langs/vi_VN/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=Can thiệp xác nhận Notify_FICHINTER_SENTBYMAIL=Can thiệp gửi qua đường bưu điện Notify_BILL_VALIDATE=Hóa đơn khách hàng xác nhận Notify_BILL_UNVALIDATE=Hóa đơn của khách hàng unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=Để nhà cung cấp đã được phê duyệt Notify_ORDER_SUPPLIER_REFUSE=Để nhà cung cấp từ chối Notify_ORDER_VALIDATE=Đơn đặt hàng được xác nhận @@ -203,6 +204,7 @@ ClickHereToGoTo=Click vào đây để đi đến% s YouMustClickToChange=Tuy nhiên, trước tiên bạn phải nhấp vào liên kết sau đây để xác nhận thay đổi mật khẩu này ForgetIfNothing=Nếu bạn không yêu cầu thay đổi này, chỉ cần quên email này. Thông tin của bạn được lưu giữ an toàn. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=Thêm phần trong lịch% s diff --git a/htdocs/langs/vi_VN/printing.lang b/htdocs/langs/vi_VN/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/vi_VN/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/vi_VN/productbatch.lang b/htdocs/langs/vi_VN/productbatch.lang index 38902b9949b..afd1d6ab7f4 100644 --- a/htdocs/langs/vi_VN/productbatch.lang +++ b/htdocs/langs/vi_VN/productbatch.lang @@ -19,4 +19,4 @@ printQty=SL: %d AddDispatchBatchLine=Thêm 1 line cho Shelf Life dispatching BatchDefaultNumber=Không định nghĩa WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index 45d964cbe14..ce091872df6 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -1,12 +1,12 @@ # Dolibarr language file - Source file is en_US - products -ProductRef=Ref sản phẩm. +ProductRef=Tham chiếu sản phẩm. ProductLabel=Nhãn sản phẩm -ProductServiceCard=Sản phẩm / dịch vụ thẻ +ProductServiceCard=Thẻ Sản phẩm/Dịch vụ Products=Sản phẩm Services=Dịch vụ Product=Sản phẩm Service=Dịch vụ -ProductId=Số ID Sản phẩm/dịch vụ +ProductId=Mã Sản phẩm/Dịch vụ Create=Tạo Reference=Tham chiếu NewProduct=Sản phẩm mới @@ -14,256 +14,283 @@ NewService=Dịch vụ mới ProductCode=Mã sản phẩm ServiceCode=Mã dịch vụ ProductVatMassChange=Thay đổi thuế GTGT hàng loạt -ProductVatMassChangeDesc=Trang này có thể được sử dụng để sửa đổi một thuế suất thuế GTGT được xác định trên sản phẩm hoặc dịch vụ từ một giá trị khác. Cảnh báo, sự thay đổi này được thực hiện trên tất cả các cơ sở dữ liệu. -MassBarcodeInit=Khối lượng mã vạch init -MassBarcodeInitDesc=Trang này có thể được sử dụng để khởi tạo một mã vạch trên các đối tượng mà không có mã vạch xác định. Kiểm tra trước đó thiết lập các mô-đun mã vạch hoàn tất. +ProductVatMassChangeDesc=Trang này có thể được dùng để điều chỉnh một thuế suất thuế GTGT được xác định trên sản phẩm hoặc dịch vụ từ một giá trị khác. Cảnh báo, sự thay đổi này được thực hiện trên tất cả các cơ sở dữ liệu. +MassBarcodeInit=Mass barcode init +MassBarcodeInitDesc=Trang này có thể được sử dụng để khởi tạo một mã vạch trên các đối tượng mà không có mã vạch xác định. Kiểm tra xem trước đó thiết lập các mô-đun mã vạch hoàn tất chưa. ProductAccountancyBuyCode=Mã kế toán (mua) ProductAccountancySellCode=Mã kế toán (bán) ProductOrService=Sản phẩm hoặc dịch vụ ProductsAndServices=Sản phẩm và dịch vụ ProductsOrServices=Sản phẩm hoặc dịch vụ -ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesOnSell=Sản phẩm và Dịch vụ để bán hoặc mua +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=Thống kê Sản phẩm và Dịch vụ ProductsStatistics=Thống kê Sản phẩm -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase -ProductsOnSellAndOnBuy=Products for sale and for purchase -ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale -ServicesOnSellAndOnBuy=Services for sale and for purchase -InternalRef=Tham khảo nội bộ -LastRecorded=Sản phẩm/dịch vụ được bán cuối cùng -LastRecordedProductsAndServices=Sản phẩm/dịch vụ %s được ghi cuối cùng -LastModifiedProductsAndServices=Sản phẩm/dịch vụ %s được sửa cuối cùng -LastRecordedProducts=Sản phẩm %s cuối cùng được ghi -LastRecordedServices=Dịch vụ %s cuối cùng được ghi -LastProducts=Sản phẩm cuối cùng +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase +ProductsOnSellAndOnBuy=Sản phẩm để bán và mua +ServicesOnSell=Dịch vụ để bán hoặc để mua +ServicesNotOnSell=Services not for sale +ServicesOnSellAndOnBuy=Dịch vụ để bán và mua +InternalRef=Tham chiếu nội bộ +LastRecorded=Sản phẩm/Dịch vụ bán được ghi nhận cuối +LastRecordedProductsAndServices=%s Sản phẩm/Dịch vụ được ghi cuối +LastModifiedProductsAndServices=%s Sản phẩm/Dịch vụ được điều chỉnh cuối +LastRecordedProducts=% Sản phẩm được ghi cuối +LastRecordedServices=%s Dịch vụ được ghi cuối +LastProducts=Sản phẩm cuối CardProduct0=Thẻ Sản phẩm CardProduct1=Thẻ Dịch vụ CardContract=Thẻ Hợp đồng -Warehouse=Kho +Warehouse=Kho hàng Warehouses=Các kho hàng -WarehouseOpened=Kho mở -WarehouseClosed=Kho đóng -Stock=tồn kho -Stocks=tồn kho phiếu +WarehouseOpened=Warehouse open +WarehouseClosed=Kho đã đóng +Stock=Tồn kho +Stocks=Tồn kho Movement=Chuyển kho Movements=Danh sách chuyển kho -Sell=Bán hàng +Sell=Bán Buy=Mua OnSell=Để bán -OnBuy=Để Mua -NotOnSell=Không phải để bán +OnBuy=Để mua +NotOnSell=Không bán ProductStatusOnSell=Để bán -ProductStatusNotOnSell=Không dành để bán +ProductStatusNotOnSell=Không bán ProductStatusOnSellShort=Để bán -ProductStatusNotOnSellShort=Không dành để bán -ProductStatusOnBuy=Để Mua -ProductStatusNotOnBuy=Không dành để Mua -ProductStatusOnBuyShort=Để Mua -ProductStatusNotOnBuyShort=Không dành để Mua -UpdatePrice=Cập nhật Giá +ProductStatusNotOnSellShort=Không bán +ProductStatusOnBuy=Để mua +ProductStatusNotOnBuy=Không mua +ProductStatusOnBuyShort=Để mua +ProductStatusNotOnBuyShort=Không mua +UpdatePrice=Cập nhật giá AppliedPricesFrom=Giá áp dụng từ SellingPrice=Giá bán -SellingPriceHT=Giá bán (đã trừ thuế) -SellingPriceTTC=Giá bán (bao thuế.) +SellingPriceHT=Giá bán (chưa thuế) +SellingPriceTTC=Giá bán (đã có thuế.) PublicPrice=Giá niêm yết CurrentPrice=Giá hiện tại NewPrice=Giá mới -MinPrice=Giá bán tối thiểu -MinPriceHT=Giọt. giá bán (đã trừ thuế) -MinPriceTTC=Giọt. giá bán (bao thuế.) -CantBeLessThanMinPrice=Giá bán không thấp hơn mức cho phép cho sản phẩm này (%s không có thuế) tối thiểu. Thông báo này cũng có thể xuất hiện khi bạn nhập một giảm quá quan trọng. +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) +CantBeLessThanMinPrice=Giá bán không thấp hơn mức tối thiểu được cho phép của sản phẩm này (%s chưa thuế). Thông điệp này chỉ xuất hiện khi bạn nhập giảm giá quá lớn. ContractStatus=Tình trạng hợp đồng ContractStatusClosed=Đã đóng -ContractStatusRunning=Đang chạy +ContractStatusRunning=Ongoing ContractStatusExpired=Đã hết hạn -ContractStatusOnHold=Không chạy -ContractStatusToRun=Để được chạy -ContractNotRunning=Hợp đồng này không hoạt động +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=Một sản phẩm với tham chiếu %s đã tồn tại. -ErrorProductBadRefOrLabel=Sai giá trị tham khảo hoặc nhãn -ErrorProductClone=Có một vấn đề trong khi cố gắng để sao chép các sản phẩm hoặc dịch vụ. -ErrorPriceCantBeLowerThanMinPrice=Lỗi giá không thể thấp hơn giá tối thiểu. +ErrorProductBadRefOrLabel=Sai giá trị tham chiếu hoặc nhãn +ErrorProductClone=Có một vấn đề trong khi cố sao chép sản phẩm hoặc dịch vụ. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=Nhà cung cấp -SupplierRef=Ref sản phẩm của nhà cung cấp. +SupplierRef=Tham chiếu sản phẩm nhà cung cấp. ShowProduct=Hiện sản phẩm ShowService=Hiện dịch vụ ProductsAndServicesArea=Khu vực Sản phẩm và DỊch vụ ProductsArea=Khu vực sản phẩm ServicesArea=Khu vực dịch vụ -AddToMyProposals=Thêm vào đề nghị của tôi -AddToOtherProposals=Thêm vào các đề xuất khác +AddToMyProposals=Thêm vào đề xuất của tôi +AddToOtherProposals=Thêm vào đề xuất khác AddToMyBills=Thêm vào hóa đơn của tôi AddToOtherBills=Thêm vào hóa đơn khác -CorrectStock=Chính xác tồn kho +CorrectStock=Điều chỉnh tồn kho AddPhoto=Thêm hình ảnh ListOfStockMovements=Danh sách chuyển tồn kho BuyingPrice=Giá mua -SupplierCard=Thẻ Nhà cung cấp +SupplierCard=Thẻ nhà cung cấp CommercialCard=Thẻ Thương mại AllWays=Đường dẫn để tìm sản phẩm của bạn trong kho -NoCat=Sản phẩm của bạn không có trong bất kỳ ngành nào +NoCat=Sản phẩm của bạn không có trong bất kỳ phân nhóm nào PrimaryWay=Đường dẫn chính -PriceRemoved=Giá đã bị xóa +PriceRemoved=Giá đã xóa BarCode=Mã vạch BarcodeType=Loại mã vạch -SetDefaultBarcodeType=Đặt mã vạch loại +SetDefaultBarcodeType=Đặt loại mã vạch BarcodeValue=Giá trị mã vạch -NoteNotVisibleOnBill=Lưu ý (không hiển thị trên hóa đơn, đề nghị ...) +NoteNotVisibleOnBill=Ghi chú (không hiển thị trên hóa đơn, đơn hàng đề xuất ...) CreateCopy=Tạo bản sao -ServiceLimitedDuration=Nếu sản phẩm là một dịch vụ với thời gian hạn chế: -MultiPricesAbility=Một số mức giá cho mỗi sản phẩm / dịch vụ -MultiPricesNumPrices=Số của Giá -MultiPriceLevelsName=Loại giá -AssociatedProductsAbility=Kích hoạt tính năng bao bì ảo -AssociatedProducts=Bao bì sản phẩm -AssociatedProductsNumber=Số lượng sản phẩm được tạo bao bì ảo -ParentProductsNumber=Số sản phẩm bao bì gốc -IfZeroItIsNotAVirtualProduct=Nếu bằng 0, sản phẩm này không phải là một sản phẩm bao bì ảo -IfZeroItIsNotUsedByVirtualProduct=Nếu bằng 0, sản phẩm này không được sử dụng bởi bất kỳ sản phẩm bao bì ảo -EditAssociate=Phụ kiện +ServiceLimitedDuration=Nếu sản phẩm là một dịch vụ có giới hạn thời gian: +MultiPricesAbility=Nhiều mức giá cho một sản phẩm/dịch vụ +MultiPricesNumPrices=Số lượng Giá +MultiPriceLevelsName=Phân nhóm giá +AssociatedProductsAbility=Activate the package feature +AssociatedProducts=Gói sản phẩm +AssociatedProductsNumber=Number of products composing this package product +ParentProductsNumber=Số lượng của gói sản phẩm gốc +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product +EditAssociate=Liên kết Translation=Dịch KeywordFilter=Bộ lọc từ khóa -CategoryFilter=Bộ lọc danh mục +CategoryFilter=Bộ lọc phân nhóm ProductToAddSearch=Tìm kiếm sản phẩm để thêm -AddDel=Thêm / Xóa +AddDel=Thêm/Xóa Quantity=Số lượng NoMatchFound=Không tìm thấy -ProductAssociationList=Danh sách sản phẩm/dịch vụ liên quan: tên của sản phẩm/dịch vụ (số lượng bị ảnh hưởng) -ProductParentList=Danh sách bao bì sản phẩm/dịch vụ với sản phẩm này như là một thành phần -ErrorAssociationIsFatherOfThis=Một trong những sản phẩm được lựa chọn là gốc của sản phẩm hiện tại +ProductAssociationList=List of products/services that are component of this virtual product/package +ProductParentList=Danh sách gói sản phẩm/dịch vụ mà sản phẩm này là một thành phần +ErrorAssociationIsFatherOfThis=Một trong những sản phẩm được chọn là gốc của sản phẩm hiện tại DeleteProduct=Xóa một sản phẩm/dịch vụ -ConfirmDeleteProduct=Bạn Bạn có chắc chắn muốn xóa sản phẩm này/dịch vụ? -ProductDeleted=Sản phẩm / dịch vụ "%s" sẽ bị xóa khỏi cơ sở dữ liệu. +ConfirmDeleteProduct=Bạn có chắc muốn xóa sản phẩm/dịch vụ này ? +ProductDeleted=Sản phẩm/Dịch vụ "%s" đã bị xóa khỏi cơ sở dữ liệu. DeletePicture=Xóa một hình -ConfirmDeletePicture=Bạn có chắc chắn muốn xóa hình này? +ConfirmDeletePicture=Bạn có chắc muốn xóa hình này? ExportDataset_produit_1=Sản phẩm ExportDataset_service_1=Dịch vụ ImportDataset_produit_1=Sản phẩm ImportDataset_service_1=Dịch vụ DeleteProductLine=Xóa dòng sản phẩm ConfirmDeleteProductLine=Bạn Bạn có chắc chắn muốn xóa dòng sản phẩm này? -NoProductMatching=Không có sản phẩm / dịch vụ phù hợp với tiêu chí của bạn -MatchingProducts=Sản phẩm / dịch vụ trùng khớp -NoStockForThisProduct=Không có tồn kho nào cho sản phẩm này -NoStock=Không tồn kho -Restock=Restock +NoProductMatching=Không có sản phẩm/dịch vụ khớp với tiêu chí của bạn +MatchingProducts=Khớp sản phẩm/dịch vụ +NoStockForThisProduct=Không có tồn kho cho sản phẩm này +NoStock=Không có tồn kho +Restock=Trả lại tồn kho ProductSpecial=Đặc biệt QtyMin=Số lượng tối thiểu PriceQty=Giá cho số lượng này -PriceQtyMin=Giá cho tối SL thiểu này (không giảm giá) -VATRateForSupplierProduct=Tỷ lệ thuế GTGT (đối với nhà cung cấp / sản phẩm) -DiscountQtyMin=Mặc định giảm giá cho SL -NoPriceDefinedForThisSupplier=Không có giá / SL xác định cho nhà cung cấp / sản phẩm -NoSupplierPriceDefinedForThisProduct=Không có giá nhà cung cấp / SL được xác định cho sản phẩm này -RecordedProducts=Sản phẩm được ghi -RecordedServices=Dịch vụ được ghi -RecordedProductsAndServices=Sản phẩm / dịch vụ được ghi nhận -PredefinedProductsToSell=Sản phẩm được xác định trước để bán -PredefinedServicesToSell=Dịch vụ được xác định trước để bán -PredefinedProductsAndServicesToSell=Sản phẩm được xác định trước / dịch vụ để bán -PredefinedProductsToPurchase=Sản phẩm được xác định trước để mua hàng -PredefinedServicesToPurchase=Dịch vụ được xác định trước để mua hàng -PredefinedProductsAndServicesToPurchase=Sản phẩm được xác định trước / dịch vụ để puchase -GenerateThumb=Generate thumb -ProductCanvasAbility=Sử dụng phần mở rộng "canvas" đặc biệt -ServiceNb=Dịch vụ #% s -ListProductServiceByPopularity=Danh sách sản phẩm / dịch vụ phổ biến +PriceQtyMin=Giá cho tối SL thiểu này (chưa giảm giá) +VATRateForSupplierProduct=Tỷ lệ thuế GTGT (cho nhà cung cấp/sản phẩm) +DiscountQtyMin=Giảm giá mặc định cho số lượng +NoPriceDefinedForThisSupplier=Không có giá/số lượng đã xác định cho nhà cung cấp/sản phẩm +NoSupplierPriceDefinedForThisProduct=Không có giá nhà cung cấp/số lượng đã xác định cho sản phẩm này +RecordedProducts=Sản phẩm đã ghi +RecordedServices=Dịch vụ đã ghi +RecordedProductsAndServices=Sản phẩm/dịch vụ đã ghi +PredefinedProductsToSell=Sản phẩm đã định sẵn để bán +PredefinedServicesToSell=Dịch vụ đã định sẵn để bán +PredefinedProductsAndServicesToSell=Sản phẩm/dịch vụ định sẵn để bán +PredefinedProductsToPurchase=Sản phẩm đã định sẵn để mua hàng +PredefinedServicesToPurchase=Dịch vụ định sẵn để mua hàng +PredefinedProductsAndServicesToPurchase=Sản phẩm/dịch vụ đã định sẵn để puchase +GenerateThumb=Xuất tạo thumb +ProductCanvasAbility=Dụng phần mở rộng "canvas" đặc biệt +ServiceNb=Dịch vụ #%s +ListProductServiceByPopularity=Danh sách sản phẩm/dịch vụ phổ biến ListProductByPopularity=Danh sách sản phẩm phổ biến ListServiceByPopularity=Danh sách các dịch vụ phổ biến -Finished=Sản phẩm sản xuất +Finished=Thành phẩm RowMaterial=Nguyên liệu CloneProduct=Sao chép sản phẩm hoặc dịch vụ -ConfirmCloneProduct=Bạn có chắc chắn bạn muốn sao chép sản phẩm hoặc dịch vụ %s? -CloneContentProduct=Sao chép tất cả thông tin chính của sản phẩm / dịch vụ -ClonePricesProduct=Sao chép Thông tin chính và giá cả -CloneCompositionProduct=Sao chép bao bì sản phẩm/dịch vụ -ProductIsUsed=Sản phẩm này được sử dụng -NewRefForClone=Số tham chiếu các sản phẩm/dịch vụ mới -CustomerPrices=Giá khách hàng -SuppliersPrices=Giá nhà cung cấp -SuppliersPricesOfProductsOrServices=Giá nhà cung cấp (các sản phẩm hoặc dịch vụ) +ConfirmCloneProduct=Bạn có chắc muốn sao chép sản phẩm hoặc dịch vụ %s ? +CloneContentProduct=Sao chép tất cả thông tin chính của sản phẩm/dịch vụ +ClonePricesProduct=Sao chép thông tin chính và giá cả +CloneCompositionProduct=Clone packaged product/service +ProductIsUsed=Sản phẩm này đã được dùng +NewRefForClone=Tham chiếu sản phẩm/dịch vụ mới +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=Mã hải quan CountryOrigin=Nước xuất xứ HiddenIntoCombo=Ẩn vào danh sách chọn Nature=Tự nhiên +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Mẫu tham chiếu Sản phẩm -ServiceCodeModel=MẪu tham chiếu dịch vụ +ServiceCodeModel=Mẫu tham chiếu dịch vụ AddThisProductCard=Tạo thẻ Sản phẩm HelpAddThisProductCard=Tùy chọn này cho phép bạn tạo ra hoặc sao chép một sản phẩm nếu nó không tồn tại. AddThisServiceCard=Tạo thẻ Dịch vụ HelpAddThisServiceCard=Tùy chọn này cho phép bạn tạo ra hoặc sao chép một dịch vụ nếu nó không tồn tại. CurrentProductPrice=Giá hiện tại -AlwaysUseNewPrice=Luôn luôn sử dụng giá hiện tại của sản phẩm / dịch vụ +AlwaysUseNewPrice=Luôn sử dụng giá hiện tại của sản phẩm / dịch vụ AlwaysUseFixedPrice=Sử dụng giá cố định -PriceByQuantity=Different prices by quantity +PriceByQuantity=Giá thay đổi theo số lượng PriceByQuantityRange=Phạm vi số lượng ProductsDashboard=Tóm tắt Sản phẩm / dịch vụ -UpdateOriginalProductLabel=Sửa đổi nhãn gốc -HelpUpdateOriginalProductLabel=Cho phép chỉnh sửa tên của sản phẩm +UpdateOriginalProductLabel=Điều chỉnh nhãn gốc +HelpUpdateOriginalProductLabel=Cho phép sửa tên của sản phẩm ### composition fabrication -Building=Sản xuất và các mặt hàng điều phối +Building=Sản xuất và điều phối các mặt hàng Build=Sản xuất BuildIt=Sản xuất & điều phối -BuildindListInfo=Số lượng có sẵn để sản xuất mỗi kho (đặt nó là 0 nếu không có hành động tiếp theo) +BuildindListInfo=Số lượng sẵn có để sản xuất cho mỗi kho hàng (đặt nó là 0 nếu không có hành động tiếp theo) QtyNeed=Số lượng -UnitPmp=Đơn vị VWAP Net -CostPmpHT=Tổng VWAP Net -ProductUsedForBuild=Tự động tiêu thụ bởi sản xuất +UnitPmp=Net unit VWAP +CostPmpHT=Net total VWAP +ProductUsedForBuild=Được tiêu thụ tự động bởi sản xuất ProductBuilded=Sản xuất hoàn thành -ProductsMultiPrice=Sản phẩm đa giá -ProductsOrServiceMultiPrice=Giá của khách hàng (những sản phẩm, dịch vụ, đa giá) -ProductSellByQuarterHT=Sản phẩm doanh thu quý VWAP -ServiceSellByQuarterHT=Dịch vụ doanh thu quý VWAP +ProductsMultiPrice=Sản phẩm nhiều giá +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) +ProductSellByQuarterHT=Products turnover quarterly VWAP +ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=Quý 1 Quarter2=Quý 2 Quarter3=Quý 3 Quarter4=Quý 4 BarCodePrintsheet=In mã vạch PageToGenerateBarCodeSheets=Với công cụ này, bạn có thể in tờ dán mã vạch. Chọn định dạng của trang nhãn dán của bạn, loại mã vạch và giá trị của mã vạch, sau đó nhấn vào nút %s. -NumberOfStickers=Số nhãn để in trên trang +NumberOfStickers=Số lượng nhãn để in trên trang PrintsheetForOneBarCode=In nhiều nhãn cho một mã vạch -BuildPageToPrint=Tạo trang in +BuildPageToPrint=Xuất trang để in FillBarCodeTypeAndValueManually=Điền loại mã vạch và giá trị bằng tay. FillBarCodeTypeAndValueFromProduct=Điền loại mã vạch và giá trị từ mã vạch của sản phẩm. FillBarCodeTypeAndValueFromThirdParty=Điền loại mã vạch và giá trị từ mã vạch của một của bên thứ ba. -DefinitionOfBarCodeForProductNotComplete=Định nghĩa của loại hoặc giá trị của mã vạch không đầy đủ cho các sản phẩm %s. +DefinitionOfBarCodeForProductNotComplete=Định nghĩa của loại hoặc giá trị của mã vạch không đầy đủ cho sản phẩm %s. DefinitionOfBarCodeForThirdpartyNotComplete=Định nghĩa của loại hoặc giá trị của mã vạch không hoàn chỉnh cho %s của bên thứ ba. BarCodeDataForProduct=Thông tin mã vạch của sản phẩm %s: BarCodeDataForThirdparty=Thông tin mã vạch của bên thứ ba của %s: -ResetBarcodeForAllRecords=Xác định giá trị mã vạch cho tất cả các hồ sơ (cũng sẽ thiết lập lại giá trị này đã được xác định mã vạch với các giá trị mới) -PriceByCustomer=Different price for each customer -PriceCatalogue=Giá duy nhất cho mỗi sản phẩm / dịch vụ -PricingRule=Rules for customer prices -AddCustomerPrice=Thêm giá của khách hàng -ForceUpdateChildPriceSoc=Đặt giá trên cùng một công ty con của khách hàng -PriceByCustomerLog=Giá bán của khách hàng đăng nhập -MinimumPriceLimit=Giá tối thiểu không thấp hơn %s -MinimumRecommendedPrice=Giá đề nghị tối thiểu là: %s -PriceExpressionEditor=Price expression editor -PriceExpressionSelected=Selected price expression +ResetBarcodeForAllRecords=Xác định giá trị mã vạch cho tất cả các bản ghi (điều này cũng sẽ cài lại giá trị mã vạch đã xác định với các giá trị mới) +PriceByCustomer=Nhiều giá cho mỗi khách hàng +PriceCatalogue=Giá duy nhất cho mỗi sản phẩm/dịch vụ +PricingRule=Quy tắc cho giá khách hàng +AddCustomerPrice=Add price by customer +ForceUpdateChildPriceSoc=Đặt giá giống nhau trên nhóm khách hàng phụ thuộc +PriceByCustomerLog=Sổ ghi giá theo khách hàng +MinimumPriceLimit=Minimum price can't be lower then %s +MinimumRecommendedPrice=Giá tối thiểu đề nghị là: %s +PriceExpressionEditor=Soạn thảo biểu giá +PriceExpressionSelected=Biểu giá được chọn 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 supplier prices there are these variables available:
#tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# PriceExpressionEditorHelp4=In product/service price only: #supplier_min_price#
In supplier prices only: #supplier_quantity# and #supplier_tva_tx# -PriceExpressionEditorHelp5=Available global values: -PriceMode=Price mode -PriceNumeric=Number -DefaultPrice=Default price -ComposedProductIncDecStock=Increase/Decrease stock on parent change -ComposedProduct=Sub-product -MinSupplierPrice=Minimum supplier price -DynamicPriceConfiguration=Dynamic price configuration -GlobalVariables=Global variables -GlobalVariableUpdaters=Global variable updaters +PriceExpressionEditorHelp5=Giá trị toàn cầu sẵn có: +PriceMode=Chế độ giá +PriceNumeric=Số +DefaultPrice=giá mặc định +ComposedProductIncDecStock=Tăng/Giảm tồn kho trên thay đổi gốc +ComposedProduct=Sản phẩm con +MinSupplierPrice=Giá tối thiểu nhà cung cấp +DynamicPriceConfiguration=Cấu hình giá linh hoạt +GlobalVariables=Biến toàn cầu +GlobalVariableUpdaters=Cập nhật biến toàn cầu GlobalVariableUpdaterType0=JSON data GlobalVariableUpdaterHelp0=Parses JSON data from specified URL, VALUE specifies the location of relevant value, GlobalVariableUpdaterHelpFormat0=format is {"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 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=Last updated -CorrectlyUpdated=Correctly updated +UpdateInterval=Cập nhật khoảng thời gian (phút) +LastUpdated=Đã cập nhật cuối +CorrectlyUpdated=Đã cập nhật chính xác +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index 79744e83f0f..b258b6cbbfb 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=Phần xem này hiển thị tất cả các dự án mà b ProjectsPublicTaskDesc=Phần xem này hiển thị tất cả dự án và tác vụ mà bạn được phép đọc. ProjectsDesc=Phần xem này hiển thị tất cả các dự án (quyền người dùng cấp cho bạn được phép xem mọi thứ). MyTasksDesc=Phần xem này bị giới hạn với các dự án hoặc tác vụ mà bạn có mối liên hệ với (bất kỳ loại dự án nào). -OnlyOpenedProject=Chỉ dự án đã mở mới hiển thị (dự án trạng thái dự thảo hoặc đã đóng thì không hiển thị). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=Phần xem này hiển thị tất cả dự án và tác vụ mà bạn được phép đọc. TasksDesc=Phần xem này hiển thị tất cả các dự án và tác vụ (quyền người dùng của bạn hiện đang cho phép bạn xem tất cả thông tin). AllTaskVisibleButEditIfYouAreAssigned=Tất cả tác vụ cho dự án như vậy được hiển thị, nhưng bạn chỉ có thể nhập vào thời gian cho tác vụ mà bạn được giao. @@ -29,7 +29,7 @@ ProjectsList=Danh sách dự án ShowProject=Hiển thị dự án SetProject=Lập dự án NoProject=Không có dự án được xác định hoặc tự tạo -NbOpenTasks=Nb của tác vụ được mở +NbOpenTasks=Nb of open tasks NbOfProjects=Nb của dự án TimeSpent=Thời gian đã qua TimeSpentByYou=Thời gian đã qua bởi bạn @@ -41,7 +41,7 @@ TaskTimeSpent=Thời gian đã qua trên tác vụ TaskTimeUser=Người dùng TaskTimeNote=Ghi chú TaskTimeDate=Ngày -TasksOnOpenedProject=Tác vụ đã mở trong dự án +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Khối lượng công việc chưa xác định NewTimeSpent=Thời gian đã qua mới MyTimeSpent=Thời gian đã qua của tôi @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=Danh sách các sự can thiệp được gắn v ListExpenseReportsAssociatedProject=Danh sách các báo cáo chi phí liên quan đến dự án ListDonationsAssociatedProject=Danh sách hiến tặng liên quan đến dự án ListActionsAssociatedProject=Danh sách các hoạt động được gắn với dự án +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=Hoạt động của dự án trong tuần này ActivityOnProjectThisMonth=Hoạt động của dự án trong tháng này ActivityOnProjectThisYear=Hoạt động của dự án trong năm này @@ -95,7 +96,7 @@ DeleteATimeSpent=Xóa thời gian đã qua ConfirmDeleteATimeSpent=Bạn có chắc muốn xóa thời gian đã qua này? DoNotShowMyTasksOnly=Xem thêm tác vụ không được gán cho tôi ShowMyTasksOnly=Xem chỉ tác vụ được gán cho tôi -TaskRessourceLinks=Tài nguyên +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=Các dự án được dành riêng cho bên thứ ba này 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 @@ -139,8 +140,12 @@ ProjectReferers=Các đối tượng tham chiếu SearchAProject=Tìm kiếm một dự án ProjectMustBeValidatedFirst=Dự án phải được xác nhận trước ProjectDraft=Dự án dự thảo -FirstAddRessourceToAllocateTime=Liên kết tài nguyên để phân bổ thời gian +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Đầu vào mỗi ngày InputPerWeek=Đầu vào mỗi tuần InputPerAction=Đầu vào mỗi hành động TimeAlreadyRecorded=Thời gian đã qua được ghi nhận cho tác vụ/ngày này và người dùng %s +ProjectsWithThisUserAsContact=Projects with this user as contact +TasksWithThisUserAsContact=Tasks assigned to this user +ResourceNotAssignedToProject=Not assigned to project +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/vi_VN/propal.lang b/htdocs/langs/vi_VN/propal.lang index f6fdefe90ce..aba3161bda5 100644 --- a/htdocs/langs/vi_VN/propal.lang +++ b/htdocs/langs/vi_VN/propal.lang @@ -4,7 +4,7 @@ Proposal=Đơn hàng đề xuất ProposalShort=Đơn hàng đề xuất ProposalsDraft=Dự thảo đơn hàng đề xuất ProposalDraft=Dự thảo đơn hàng đề xuất -ProposalsOpened=Đơn hàng đề xuất đã mở +ProposalsOpened=Open commercial proposals Prop=Đơn hàng đề xuất CommercialProposal=Đơn hàng đề xuất CommercialProposals=Đơn hàng đề xuất @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=Số tiền theo tháng (chưa thuế) NbOfProposals=Số lượng đơn hàng đề xuất ShowPropal=Hiện đơn hàng đề xuất PropalsDraft=Dự thảo -PropalsOpened=Đã mở +PropalsOpened=Open PropalsNotBilled=Đã đóng chưa ra hóa đơn PropalStatusDraft=Dự thảo (cần được xác nhận) PropalStatusValidated=Xác nhận (đề xuất mở) @@ -42,7 +42,7 @@ PropalStatusNotSigned=Không ký (đã đóng) PropalStatusBilled=Đã ra hóa đơn PropalStatusDraftShort=Dự thảo PropalStatusValidatedShort=Đã xác nhận -PropalStatusOpenedShort=Đã mở +PropalStatusOpenedShort=Open PropalStatusClosedShort=Đã đóng PropalStatusSignedShort=Đã ký PropalStatusNotSignedShort=Không ký @@ -51,8 +51,8 @@ PropalsToClose=Đơn hàng đề xuất đóng PropalsToBill=Đơn hàng đề xuất đã ký cần ra hóa đơn ListOfProposals=Danh sách các đơn hàng đề xuất ActionsOnPropal=Sự kiện về đơn hàng đề xuất -NoOpenedPropals=Không có đơn hàng đề xuất đã mở -NoOtherOpenedPropals=Không có đơn hàng đề xuất đã mở khác +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=Đơn hàng đề xuất tham chiếu SendPropalByMail=Gửi đơn hàng đề xuất qua thư AssociatedDocuments=Chứng từ liên quan đến đơn hàng đề xuất: @@ -98,3 +98,4 @@ DocModelJauneDescription=Mô hình đề nghị Jaune DefaultModelPropalCreate=Tạo mô hình mặc định DefaultModelPropalToBill=Mặc định mẫu khi đóng cửa một đề xuất kinh doanh (được lập hoá đơn) DefaultModelPropalClosed=Mặc định mẫu khi đóng cửa một đề xuất kinh doanh (chưa lập hoá đơn) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/vi_VN/salaries.lang b/htdocs/langs/vi_VN/salaries.lang index 0568daa4efe..0ccf5ca5d62 100644 --- a/htdocs/langs/vi_VN/salaries.lang +++ b/htdocs/langs/vi_VN/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Hiện thanh toán tiền lương THM=Giá trung bình theo giờ TJM=Giá trung bình hàng ngày CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/vi_VN/sendings.lang b/htdocs/langs/vi_VN/sendings.lang index 567a4ba2f52..6728e0a8df3 100644 --- a/htdocs/langs/vi_VN/sendings.lang +++ b/htdocs/langs/vi_VN/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=Mô hình tài liệu đơn giản DocumentModelMerou=Mô hình Merou A5 WarningNoQtyLeftToSend=Cảnh báo, không có sản phẩm chờ đợi để được vận chuyển. StatsOnShipmentsOnlyValidated=Thống kê tiến hành với các chuyến hàng chỉ xác nhận. Ngày sử dụng là ngày xác nhận giao hàng (dự ngày giao hàng không phải luôn luôn được biết đến). -DateDeliveryPlanned=Ngày quy hoạch giao hàng +DateDeliveryPlanned=Planned date of delivery DateReceived=Ngày giao nhận SendShippingByEMail=Gửi hàng bằng thư điện tử SendShippingRef=Nộp hàng% s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index 2954e893b45..67488654b3d 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -5,7 +5,7 @@ Warehouses=Các kho hàng NewWarehouse=Kho mới / khu vực kho WarehouseEdit=Sửa kho MenuNewWarehouse=Kho mới -WarehouseOpened=Kho mở +WarehouseOpened=Warehouse open WarehouseClosed=Kho đóng WarehouseSource=Nguồn kho WarehouseSourceNotDefined=Không có kho được xác định, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=Chọn nhà kho để sử dụng cho kho giảm SelectWarehouseForStockIncrease=Chọn nhà kho để sử dụng cho kho tăng NoStockAction=Không có hành động kho LastWaitingSupplierOrders=Đơn đặt hàng chờ đợi để tiếp khách -DesiredStock=Tồn kho mong muốn +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=Để đặt hàng Replenishment=Bổ sung ReplenishmentOrders=Đơn đặt hàng bổ sung -VirtualDiffersFromPhysical=Theo để tăng / giảm lựa chọn tồn kho, kho vật chất và kho ảo (vật lý + đơn đặt hàng hiện tại) có thể có khác nhau +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Sử dụng kho ảo theo mặc định, thay vì cổ vật lý, cho các tính năng bổ sung UseVirtualStock=Sử dụng kho ảo UsePhysicalStock=Sử dụng vật lý tồn kho -CurentSelectionMode=Dòng định mức chế độ lựa chọn +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Tồn kho ảo CurentlyUsingPhysicalStock=Tồn kho vật lý RuleForStockReplenishment=Quy tắc cho tồn kho bổ sung @@ -112,8 +113,8 @@ AlertOnly= Cảnh báo chỉ WarehouseForStockDecrease=Kho% s sẽ được sử dụng cho kho giảm WarehouseForStockIncrease=Kho% s sẽ được sử dụng cho kho tăng ForThisWarehouse=Đối với kho này -ReplenishmentStatusDesc=Đây là danh sách của tất cả các sản phẩm với một tồn kho thấp hơn so với tồn kho mong muốn (hoặc thấp hơn giá trị cảnh báo nếu hộp kiểm "cảnh báo chỉ" được chọn), và đề nghị bạn để tạo ra các đơn đặt hàng nhà cung cấp để lấp đầy sự khác biệt. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened orders with predefined products, so orders that may affect stocks, are visible here. Replenishments=Replenishments NbOfProductBeforePeriod=Số lượng sản phẩm% s trong kho trước khi thời gian được lựa chọn (<% s) NbOfProductAfterPeriod=Số lượng sản phẩm% s trong kho sau khi được lựa chọn thời gian (>% s) @@ -124,16 +125,16 @@ RecordMovement=Ghi transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Chuyển động kho được ghi nhận RuleForStockAvailability=Quy định về yêu cầu kho -StockMustBeEnoughForInvoice=Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào hóa đơn -StockMustBeEnoughForOrder=Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào nề nếp -StockMustBeEnoughForShipment= Mức tồn kho phải đủ để thêm sản phẩm / dịch vụ vào lô hàng +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/vi_VN/suppliers.lang b/htdocs/langs/vi_VN/suppliers.lang index d206fd52de7..fdaa269afa3 100644 --- a/htdocs/langs/vi_VN/suppliers.lang +++ b/htdocs/langs/vi_VN/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Đã gửi đến nhà cung cấp ListOfSupplierOrders=Danh sách các đơn hàng nhà cung cấp MenuOrdersSupplierToBill=Chuyển các đơn hàng nhà cung cấp sang hóa đơn NbDaysToDelivery=Số ngày giao hàng -DescNbDaysToDelivery=Thời gian chậm nhất được hiển thị trong danh sách sản phẩm đặt hàng +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/vi_VN/trips.lang b/htdocs/langs/vi_VN/trips.lang index f9c0f5dbaf0..572c0f3679b 100644 --- a/htdocs/langs/vi_VN/trips.lang +++ b/htdocs/langs/vi_VN/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=Danh sách phí NewTrip=New expense report CompanyVisited=Công ty / cơ sở thăm @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/vi_VN/users.lang b/htdocs/langs/vi_VN/users.lang index 632bfcf2d90..24f50f377fb 100644 --- a/htdocs/langs/vi_VN/users.lang +++ b/htdocs/langs/vi_VN/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=Xóa khỏi nhóm PasswordChangedAndSentTo=Mật khẩu thay đổi và gửi đến %s. PasswordChangeRequestSent=Yêu cầu thay đổi mật khẩu cho %s đã gửi đến % s. MenuUsersAndGroups=Người dùng & Nhóm +MenuMyUserCard=My user card LastGroupsCreated=%s Nhóm được tạo ra cuối LastUsersCreated=%s người dùng được tạo ra cuối ShowGroup=Hiển thị nhóm diff --git a/htdocs/langs/vi_VN/workflow.lang b/htdocs/langs/vi_VN/workflow.lang index b54583b5294..9defbfbd771 100644 --- a/htdocs/langs/vi_VN/workflow.lang +++ b/htdocs/langs/vi_VN/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Thiết lập mô-đun công việc -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=Không có công việc, bạn có thể thay đổi cho mô-đun bạn đã kích hoạt. -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Tạo ra một đơn đặt hàng tự động sau một đề nghị thương mại được ký kết -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Tạo ra một hóa đơn khách hàng tự động sau một đề nghị thương mại được ký kết -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=Tạo ra một hóa đơn khách hàng tự động sau khi hợp đồng được xác nhận -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=Tạo ra một hóa đơn khách hàng tự động sau khi một đơn đặt hàng bị đóng +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Phân loại đề xuất nguồn liên quan đến hóa đơn khi đơn đặt hàng được thiết lập để trả descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Phân loại đơn đặt hàng nguồn liên kết (s) để tính tiền khi hóa đơn khách hàng được thiết lập để trả descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Phân loại theo thứ tự liên kết nguồn khách hàng (s) để tính tiền khi hóa đơn của khách hàng được xác nhận diff --git a/htdocs/langs/zh_CN/accountancy.lang b/htdocs/langs/zh_CN/accountancy.lang index 47bd7f800b4..3a8b31c50f0 100644 --- a/htdocs/langs/zh_CN/accountancy.lang +++ b/htdocs/langs/zh_CN/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=会计 Globalparameters=全局参数 @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=转账账户 diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index bc56fe2e18e..a3a204101e1 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=用户菜单 LangFile=.lang 文件 System=系统 SystemInfo=系统信息 -SystemTools=系统工具 SystemToolsArea=系统工具区 SystemToolsAreaDesc=此区域提供管理员功能。请点选菜单来管理你想要的内容。 Purge=清空 @@ -232,8 +231,8 @@ Security=安全 Passwords=密码 DoNotStoreClearPassword=不在数据库中储存明文密码,只存储加密后的密码(建议启用) MainDbPasswordFileConfEncrypted=加密 conf.php 中的数据库密码(推荐启用) -InstrucToEncodePass=要将 conf.php 文件中的密码加密,替换行
$ dolibarr_main_db_pass="..."

$dolibarr_main_db_pass="crypted:%s" -InstrucToClearPass=要在conf.php文件中使用将明文密码,替换行
$ dolibarr_main_db_pass="crypted:..."

$dolibarr_main_db_pass="%s" +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=保护生成的PDF文件(推荐*不*启用,影响PDF的批量生成) ProtectAndEncryptPdfFilesDesc=PDF保护允许在PDF浏览器中阅读和打印PDF,但无法编辑和复制内容。请注意,此功能让追加生成多页PDF的功能无法使用(例如未支付账单)。 Feature=功能特色 @@ -300,13 +299,13 @@ ThisIsProcessToFollow=以下为软体的安装过程: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=第 %s 步骤 FindPackageFromWebSite=搜索你需要的功能(例如在官方 %s )。 -DownloadPackageFromWebSite=下载包 %S。 -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=安装完成,Dolibarr 已可以使用此新组件。 NotExistsDirect=未设置可选备用根目录。
InfDirAlt=自 v3 开始,Dolibarr 可以定义备用根目录。这令您可以将插件和自定义模板保存至同一位置。
您只需在Dolibarr的根目录下创建一个目录(例如custom)。
InfDirExample=
然后在 conf.php 中声明它
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*这些行已存在,移除注释符"#"即可。 -YouCanSubmitFile=选择模块: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=Dolibarr 当前版本 CallUpdatePage=请到数据库的结构和数据更新页面:%s。 LastStableVersion=最新的稳定版本 @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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=刷新链接 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar 整合 -Module500Name=特别费用(税,社会公益,股息) -Module500Desc=特别费用如税收,社会公益,分红及工资管理 +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=日程 Module2400Desc=事件/任务和日程管理 Module2500Name=电子内容管理 Module2500Desc=保存和共享文件 -Module2600Name=SOAP WebServices -Module2600Desc=启用 Dolibarr Web 服务的服务器 +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=设定值已储存 BackToModuleList=返回模块列表 BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=邮编 CompanyTown=城镇 CompanyCountry=国家 CompanyCurrency=主要货币 +CompanyObject=Object of the company Logo=标志 DoNotShow=不显示 DoNotSuggestPaymentMode=不提示 NoActiveBankAccountDefined=没有定义有效的银行帐户 OwnerOfBankAccount=银行帐户 %s 的户主 BankModuleNotActive=银行账户模块没有启用 -ShowBugTrackLink=显示连结“报告错误” +ShowBugTrackLink=Show link "%s" ShowWorkBoard=主页面显示“工作台” Alerts=其他提醒 Delays=延误 @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=单价小数位 MAIN_MAX_DECIMALS_TOT=总价小数位 MAIN_MAX_DECIMALS_SHOWN=屏幕显示小数位(如果你希望系统内部数值显示时遇到小数位截断的情况下显示...,请在此数值后加上...) MAIN_DISABLE_PDF_COMPRESSION=压缩生成的 PDF 文件。 -MAIN_ROUNDING_RULE_TOT= 四舍五入的取舍值 (仅适用于个别不按10取舍的国家) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=产品单价 (税前) TotalPriceAfterRounding=四舍五入的总价 (税前价/增值税/税后价) ParameterActiveForNextInputOnly=参数仅在下次输入数值起生效。 @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 10万),你可以通过设置 - >其他不变PRODUCT_DONOTSEARCH_ANYWHERE设置为1,提高速度。搜索将被限制在开始的字符串。 UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=支持生态附加税 (WEEE) SetDefaultBarcodeTypeProducts=默认的条码类型 SetDefaultBarcodeTypeThirdParties=第三方用默认条码类型 +UseUnits=Support units ProductCodeChecker= 产品/服务编号的生成与检查模块 ProductOtherConf= 产品/服务 配置 ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=通用产品条码(UPC) BarcodeDescISBN=ISBN 书籍条码 BarcodeDescC39=Code 39 条码 BarcodeDescC128=Code 128 条码 +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=内部引擎 BarCodeNumberManager=Manager to auto define barcode numbers @@ -1552,6 +1560,13 @@ WebServicesSetup=SOAP Webservice 模块设置 WebServicesDesc=启用此模块,Dolibarr成为Web服务器提供其他Web服务。 WSDLCanBeDownloadedHere=提供服务的 WSDL描述文件可以从此处下载 EndPointIs=SOAP客户端发送请求至 Dolibarr 的必需通过链接 +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=银行模块设置 FreeLegalTextOnChequeReceipts=支票回执中的额外说明文本 @@ -1594,7 +1609,7 @@ OpenFiscalYear=打开财务年度 CloseFiscalYear=关闭财务年度 DeleteFiscalYear=删除财务年度 ConfirmDeleteFiscalYear=您确定要删除本财年? -Opened=启动 +Opened=Open Closed=关闭 AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/zh_CN/banks.lang b/htdocs/langs/zh_CN/banks.lang index 2174b43f498..2fdf7783020 100644 --- a/htdocs/langs/zh_CN/banks.lang +++ b/htdocs/langs/zh_CN/banks.lang @@ -94,12 +94,12 @@ Conciliate=调和 Conciliation=和解 ConciliationForAccount=此帐户核对 IncludeClosedAccount=包括关闭账户 -OnlyOpenedAccount=只有开立帐户 +OnlyOpenedAccount=Only open accounts AccountToCredit=帐户信用 AccountToDebit=帐户转帐 DisableConciliation=此帐户的禁用和解功能 ConciliationDisabled=和解功能禁用 -StatusAccountOpened=开业 +StatusAccountOpened=Open StatusAccountClosed=关闭 AccountIdShort=数 EditBankRecord=编辑记录 diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index aba7e1595c3..d84e38b0db9 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=即时 @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/zh_CN/boxes.lang b/htdocs/langs/zh_CN/boxes.lang index 62e78b17bd0..a60c4dd19d7 100644 --- a/htdocs/langs/zh_CN/boxes.lang +++ b/htdocs/langs/zh_CN/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=最近的合同 BoxLastContacts=最近的联系人/地址 BoxLastMembers=最近的成员 BoxFicheInter=最近的干预 -BoxCurrentAccounts=开户账号余额 +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=销售营业额 BoxTotalUnpaidCustomerBills=待收款的销售账单总额 BoxTotalUnpaidSuppliersBills=待支付的采购账单总额 @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=最近更新的 %s 个交易干预 BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=销售营业额 BoxTitleTotalUnpaidCustomerBills=客户未付发票 BoxTitleTotalUnpaidSuppliersBills=未付供应商发票 diff --git a/htdocs/langs/zh_CN/categories.lang b/htdocs/langs/zh_CN/categories.lang index 69bd75a4ac8..8acab7ee890 100644 --- a/htdocs/langs/zh_CN/categories.lang +++ b/htdocs/langs/zh_CN/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s是添加成功。 ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=无 NotCategorized=Without tag/category CategoryExistsAtSameLevel=此类别已存在此号 @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=所有内容不可见 CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=Custo. / Prosp。类别 @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/zh_CN/companies.lang b/htdocs/langs/zh_CN/companies.lang index bef78d52342..b01edf5579a 100644 --- a/htdocs/langs/zh_CN/companies.lang +++ b/htdocs/langs/zh_CN/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=绝对可用折扣 DiscountNone=无 Supplier=供应商 CompanyList=,公司就名单 -AddContact=新增联络人/地址 -AddContactAddress=添加联系人/地址 +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=编辑联系人/地址 EditContactAddress=编辑联系人/地址 Contact=联系 @@ -268,8 +268,8 @@ ContactsAddresses=联系方式/地址 NoContactDefinedForThirdParty=这个第三方没有确定的联系人 NoContactDefined=没有联系确定了这个第三方 DefaultContact=默认接触 -AddCompany=添加公司 -AddThirdParty=添加第三方 +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=删除公司 PersonalInformations=个人资料 AccountancyCode=会计代码 @@ -379,8 +379,8 @@ DeliveryAddressLabel=送货地址标签 DeleteDeliveryAddress=删除一个送货地址 ConfirmDeleteDeliveryAddress=你确定要删除这个送货地址? NewDeliveryAddress=新的送货地址 -AddDeliveryAddress=添加地址 -AddAddress=添加地址 +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=没有办法送货地址定义 SupplierCategory=供应商类别 JuridicalStatus200=独立 @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=返回格式%syymm为客户代码以及%syymm -○○○○供应商代码其中YY是年numero,MM是月,nnnn是一个没有休息,没有为0返回序列。 LeopardNumRefModelDesc=客户/供应商代码是免费的。此代码可以随时修改。 ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/zh_CN/cron.lang b/htdocs/langs/zh_CN/cron.lang index 1d91917d229..e7caf167452 100644 --- a/htdocs/langs/zh_CN/cron.lang +++ b/htdocs/langs/zh_CN/cron.lang @@ -4,10 +4,10 @@ About = 关于 CronAbout = 关于cron CronAboutPage = cron的“关于”页面 # Right -Permission23101 = 阅读计划任务 -Permission23102 = 创建/更新计划任务 -Permission23103 = 删除计划任务 -Permission23104 = 执行计划任务 +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=最后运行结果 CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=命令 -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=开始日期 CronDtEnd=结束日期 CronDtNextLaunch=接下来执行 CronDtLastLaunch=最后执行 -CronFrequency=频率 -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=方法 CronModule=模 CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=参数 CronSaveSucess=保存成功 CronNote=评论 @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=信息 # Common -CronType=任务类型 +CronType=Job type CronType_method=一个Dolibarr类的调用方法 CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index f3c3a51c4e8..fea52dc34f5 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=强制设置参数尚未定义 diff --git a/htdocs/langs/zh_CN/incoterm.lang b/htdocs/langs/zh_CN/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/zh_CN/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index 9b2b50d9249..5b608dd7c00 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=数据库服务器 - 超级用户 CheckToCreateDatabase=检查中,如果数据库不存在,必须创建。
在这种情况下,必须填写登录/密码为超级用户帐户在本页面底部。 CheckToCreateUser=如果数据库所有者复选框不存在,必须创建。
在这种情况下,必须选择自己的登录名和密码,并填写在本页面底部的登录/为超级用户帐户的密码。如果此框未被选中,业主数据库及其密码必须存在。 Experimental=(实验) +Deprecated=(deprecated) DatabaseRootLoginDescription=允许创建新的数据库或新用户,无用的,如果你的数据库和数据库登录已经存在就像当你在一个网站举办的托管服务提供商是(用户登录)。 KeepEmptyIfNoPassword=给空如果用户没有密码(避免这种情况) SaveConfigurationFile=保存价值 @@ -89,7 +90,7 @@ SystemIsUpgraded=Dolibarr已经升级成功。 YouNeedToPersonalizeSetup=您需要配置Dolibarr以满足您的需求(外观,功能,...).要做到这一点,请按照以下链接: AdminLoginCreatedSuccessfuly=Dolibarr管理员登录'%s'的创建successfuly。 GoToDolibarr=前往Dolibarr -GoToSetupArea=前往Dolibarr(安装面积) +GoToSetupArea=去dolibarr(设置区域) MigrationNotFinished=您的数据库的版本是不完全最新的,所以你必须再次运行升级过程。 GoToUpgradePage=转到页再次升级 Examples=范例 diff --git a/htdocs/langs/zh_CN/languages.lang b/htdocs/langs/zh_CN/languages.lang index 9de9d6802f6..cf46fe5fdd0 100644 --- a/htdocs/langs/zh_CN/languages.lang +++ b/htdocs/langs/zh_CN/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=阿拉伯语 Language_ar_SA=阿拉伯语 +Language_bn_BD=Bengali Language_bg_BG=保加利亚语 Language_bs_BA=波斯尼亚 Language_ca_ES=加泰罗尼亚 @@ -21,9 +22,10 @@ Language_en_SA=英语(沙特阿拉伯) Language_en_US=英语(美国) Language_en_ZA=英语(南非) Language_es_ES=西班牙语 -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=西班牙语(阿根廷) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=西班牙语(洪都拉斯) Language_es_MX=西班牙语(墨西哥) Language_es_PY=西班牙语(巴拉圭) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=冰岛 Language_it_IT=意大利语 Language_ja_JP=日语 +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=韩国语 +Language_lo_LA=Lao Language_lt_LT=立陶宛 Language_lv_LV=拉脱维亚 Language_mk_MK=马其顿 @@ -64,6 +69,7 @@ Language_sv_SV=瑞典 Language_sv_SE=瑞典 Language_sq_AL=Albanian Language_sk_SK=斯洛伐克 +Language_sw_SW=Kiswahili Language_th_TH=泰国 Language_uk_UA=乌克兰 Language_uz_UZ=乌兹别克 diff --git a/htdocs/langs/zh_CN/loan.lang b/htdocs/langs/zh_CN/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/zh_CN/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/zh_CN/mails.lang b/htdocs/langs/zh_CN/mails.lang index f285247cb51..fb5df49c6a6 100644 --- a/htdocs/langs/zh_CN/mails.lang +++ b/htdocs/langs/zh_CN/mails.lang @@ -77,7 +77,7 @@ CheckRead=已读回执 YourMailUnsubcribeOK=电子邮件%s被正确地从邮件列表中退定 MailtoEMail=超链接的电子邮件 ActivateCheckRead=允许使用“取消订阅”链接 -ActivateCheckReadKey=“读回执”和“取消订阅”功能键用于加密URL使用 +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=电子邮件发送到 %s 的收件人。 XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index fdbb167fc60..f76f8b7842c 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=单位价格(净值) UnitPriceTTC=单价 PriceU=向上 PriceUHT=不含税价格 -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=向上 Amount=金额 AmountInvoice=发票金额 @@ -413,6 +413,8 @@ Qty=数量 ChangedBy=改变 ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=重新计算 ResultOk=成功 ResultKo=失败 @@ -421,7 +423,7 @@ Reportings=报告 Draft=草案 Drafts=草稿 Validated=验证 -Opened=开业 +Opened=Open New=新 Discount=折扣 Unknown=未知 @@ -678,6 +680,7 @@ LinkedToSpecificUsers=链接到一个特定的用户 DeleteAFile=删除文件 ConfirmDeleteAFile=你确定要删除文件? NoResults=没有结果 +SystemTools=System tools ModulesSystemTools=模块工具 Test=测试 Element=元素 @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=星期一 Tuesday=星期二 @@ -732,3 +738,4 @@ ShortThursday=Ŧ ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/zh_CN/orders.lang b/htdocs/langs/zh_CN/orders.lang index 0cf7849dc12..0fd370b2dd9 100644 --- a/htdocs/langs/zh_CN/orders.lang +++ b/htdocs/langs/zh_CN/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=供应商的订单 SuppliersOrders=供应商的订单 SuppliersOrdersRunning=当前供应商的订单 CustomerOrder=客户订单 -CustomersOrders=Customers orders -CustomersOrdersRunning=当前客户的订单 -CustomersOrdersAndOrdersLines=客户订单和订单行 -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=待处理供应商订单 +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=已取消 StatusOrderDraftShort=草案 StatusOrderValidatedShort=已验证 @@ -75,8 +75,9 @@ AddToMyOrders=添加到我的订单 AddToOtherOrders=添加到其他订单 AddToDraftOrders=添加订单草案 ShowOrder=显示订单 -NoOpenedOrders=没有打开的订单 -NoOtherOpenedOrders=没有其他打开的订单 +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=没有订单草案 OtherOrders=其他订单 LastOrders=Last %s customer orders diff --git a/htdocs/langs/zh_CN/other.lang b/htdocs/langs/zh_CN/other.lang index 3cb14b26008..e34b3180862 100644 --- a/htdocs/langs/zh_CN/other.lang +++ b/htdocs/langs/zh_CN/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=干预验证 Notify_FICHINTER_SENTBYMAIL=通过邮件发送的干预 Notify_BILL_VALIDATE=客户发票验证 Notify_BILL_UNVALIDATE=未经验证客户发票 +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=供应商为了批准 Notify_ORDER_SUPPLIER_REFUSE=供应商的订单被拒绝 Notify_ORDER_VALIDATE=验证客户订单 @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=日历项中添加%s的 diff --git a/htdocs/langs/zh_CN/printing.lang b/htdocs/langs/zh_CN/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/zh_CN/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/zh_CN/productbatch.lang b/htdocs/langs/zh_CN/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/zh_CN/productbatch.lang +++ b/htdocs/langs/zh_CN/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index 0f455e6b8a9..1a503742aac 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -23,14 +23,14 @@ ProductOrService=产品/服务 ProductsAndServices=产品和服务 ProductsOrServices=产品或服务 ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=产品和服务统计 ProductsStatistics=产品统计数据 -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=内部编号 LastRecorded=最近销售的产品/服务 @@ -44,7 +44,7 @@ CardProduct1=服务 信息卡 CardContract=合同 信息卡 Warehouse=仓库 Warehouses=仓库 -WarehouseOpened=仓库已开放 +WarehouseOpened=Warehouse open WarehouseClosed=仓库已关闭 Stock=库存 Stocks=库存 @@ -71,21 +71,21 @@ SellingPriceTTC=售价(税后) PublicPrice=公开价格 CurrentPrice=当前价格 NewPrice=新增价格 -MinPrice=最低售价 -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=售价不能低于此产品的最低价格 (%s 税前)。此消息也可能在您输入折扣巨大时出现 ContractStatus=合同状态 ContractStatusClosed=已关闭 -ContractStatusRunning=* 执行中/running +ContractStatusRunning=Ongoing ContractStatusExpired=已过期 -ContractStatusOnHold=* 未执行/running -ContractStatusToRun=To get running -ContractNotRunning=此合同目前未执行 +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=编号为 %s 的产品已存在。 ErrorProductBadRefOrLabel=输入的编号或标签无效,请输入符合要求的编号或标签。 ErrorProductClone=试图同时克隆该产品或服务会有一个问题。 -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=供应商 SupplierRef=供应商的产品编号 ShowProduct=显示产品 @@ -117,12 +117,12 @@ ServiceLimitedDuration=如果产品是有限期的服务: MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=价格个数 MultiPriceLevelsName=价格分类 -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=关联 Translation=翻译 KeywordFilter=关键词筛选 @@ -131,7 +131,7 @@ ProductToAddSearch=搜索要添加的产品 AddDel=添加/删除 Quantity=数量 NoMatchFound=未发现匹配项目 -ProductAssociationList=相关产品/服务列表: 产品/服务名称 (按数量) +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=所选产品中有当前产品的父产品 DeleteProduct=删除产品/服务 @@ -179,16 +179,41 @@ CloneProduct=复制产品/服务 ConfirmCloneProduct=您确定要复制产品或服务 %s 吗? CloneContentProduct=复制产品/服务的所有主要信息 ClonePricesProduct=复制主要信息/价格 -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=此产品已使用 NewRefForClone=新产品/服务的编号 -CustomerPrices=销售价格 -SuppliersPrices=采购价格 -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=海关编码 CountryOrigin=产地国 HiddenIntoCombo=Hidden into select lists Nature=属性 +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=创建产品信息卡 @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=因生产自动消耗 ProductBuilded=生产完成 ProductsMultiPrice=产品多重价格 -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=第1季度 @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 8e07926c60a..f751cb255c9 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=这种观点提出了所有你被允许阅读的项目。 ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=这种观点提出的所有项目(你的用户权限批准你认为一切)。 MyTasksDesc=这种观点是有限的项目或任务你是一个接触(不管是类型)。 -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=这种观点提出的所有项目,您可阅读任务。 TasksDesc=这种观点提出的所有项目和任务(您的用户权限批准你认为一切)。 AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=项目名单 ShowProject=显示项目 SetProject=设置项目 NoProject=没有项目或拥有的定义 -NbOpenTasks=铌打开任务 +NbOpenTasks=Nb of open tasks NbOfProjects=铌项目 TimeSpent=花费的时间 TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=新的时间 MyTimeSpent=我的时间花 @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=名单与项目相关的干预措施 ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=名单与项目有关的行动 +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=对项目活动周 ActivityOnProjectThisMonth=本月初对项目活动 ActivityOnProjectThisYear=今年对项目活动 @@ -95,7 +96,7 @@ DeleteATimeSpent=删除的时间 ConfirmDeleteATimeSpent=你确定要删除这个花的时间? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=资源的整合 +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=这个项目致力于第三方 NoTasks=该项目没有任务 LinkedToAnotherCompany=链接到其他第三方 @@ -139,8 +140,12 @@ ProjectReferers=参考对象 SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/zh_CN/propal.lang b/htdocs/langs/zh_CN/propal.lang index f2cf63aebf5..d8d8578910a 100644 --- a/htdocs/langs/zh_CN/propal.lang +++ b/htdocs/langs/zh_CN/propal.lang @@ -4,7 +4,7 @@ Proposal=报价单 ProposalShort=报价 ProposalsDraft=起草报价单 ProposalDraft=起草报价单 -ProposalsOpened=未关闭的报价单 +ProposalsOpened=Open commercial proposals Prop=报价单 CommercialProposal=报价单 CommercialProposals=报价单 @@ -16,7 +16,7 @@ Prospect=潜在客户 ProspectList=潜在客户列表 DeleteProp=删除报价单 ValidateProp=确定报价单 -AddProp=添加报价 +AddProp=Create proposal ConfirmDeleteProp=您确定要删除此报价单吗? ConfirmValidateProp=您确定要制定报价%s吗? LastPropals=最近的 %s 个报价单 @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=金额 (税前)/每月 NbOfProposals=报价单数量 ShowPropal=显示报价 PropalsDraft=草稿 -PropalsOpened=已打开 +PropalsOpened=Open PropalsNotBilled=已关闭未付款 PropalStatusDraft=草案(需要验证) PropalStatusValidated=已确定(打开的报价单) @@ -42,7 +42,7 @@ PropalStatusNotSigned=未签署(已关闭) PropalStatusBilled=已到账 PropalStatusDraftShort=草稿 PropalStatusValidatedShort=已确定 -PropalStatusOpenedShort=已打开 +PropalStatusOpenedShort=Open PropalStatusClosedShort=已关闭 PropalStatusSignedShort=已签署 PropalStatusNotSignedShort=未签署 @@ -51,12 +51,10 @@ PropalsToClose=待关闭的报价单 PropalsToBill=待支付的已签订报价 ListOfProposals=报价列表 ActionsOnPropal=报价相关事件 -NoOpenedPropals=无未关闭的报价单 -NoOtherOpenedPropals=无其他未关闭的报价单 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=报价单编号 SendPropalByMail=通过电邮发送报价单 -FileNotUploaded=文件上传失败 -FileUploaded=文件上传成功 AssociatedDocuments=报价单关联的文档: ErrorCantOpenDir=无法打开目录 DatePropal=报价日期 @@ -100,3 +98,4 @@ DocModelJauneDescription=Jaune 报价模板 DefaultModelPropalCreate=设置默认模板 DefaultModelPropalToBill=关闭订单时使用的默认模板(待生成账单) DefaultModelPropalClosed=关闭订单时使用的默认模板(待付款) +ProposalCustomerSignature=Written acceptance, company stamp, date and signature diff --git a/htdocs/langs/zh_CN/salaries.lang b/htdocs/langs/zh_CN/salaries.lang index 1aab039ba50..7159127cf32 100644 --- a/htdocs/langs/zh_CN/salaries.lang +++ b/htdocs/langs/zh_CN/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/zh_CN/sendings.lang b/htdocs/langs/zh_CN/sendings.lang index 875bb69e4a4..35a5cdf0f01 100644 --- a/htdocs/langs/zh_CN/sendings.lang +++ b/htdocs/langs/zh_CN/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=简单的文档模型 DocumentModelMerou=梅鲁河五大模式 WarningNoQtyLeftToSend=警告,没有产品等待装运。 StatsOnShipmentsOnlyValidated=对货物进行统计验证。使用的数据的验证的装运日期(计划交货日期并不总是已知)。 -DateDeliveryPlanned=刨交货日期 +DateDeliveryPlanned=Planned date of delivery DateReceived=交货日期收到 SendShippingByEMail=通过电子邮件发送货物 SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index 472cff19161..cbb0fae57d9 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -5,7 +5,7 @@ Warehouses=仓库 NewWarehouse=新仓库/库存区 WarehouseEdit=修改仓库 MenuNewWarehouse=新仓库 -WarehouseOpened=打开仓库 +WarehouseOpened=Warehouse open WarehouseClosed=仓库关闭 WarehouseSource=来源仓库 WarehouseSourceNotDefined=没有定义仓库, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=选择仓库库存减少使用 SelectWarehouseForStockIncrease=选择使用库存增加的仓库 NoStockAction=暂无现货的行动 LastWaitingSupplierOrders=订单等待招待会 -DesiredStock=所需库存 +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=要订购 Replenishment=补货 ReplenishmentOrders=补货订单 -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=库存补充规则 @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/zh_CN/suppliers.lang b/htdocs/langs/zh_CN/suppliers.lang index 3985b1cdf67..b3dd7d3499c 100644 --- a/htdocs/langs/zh_CN/suppliers.lang +++ b/htdocs/langs/zh_CN/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=发送到供应商 ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/zh_CN/trips.lang b/htdocs/langs/zh_CN/trips.lang index 2c0fc087aa7..4cd5a9f57fa 100644 --- a/htdocs/langs/zh_CN/trips.lang +++ b/htdocs/langs/zh_CN/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=费用清单 NewTrip=New expense report CompanyVisited=公司/基础访问 @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/zh_CN/users.lang b/htdocs/langs/zh_CN/users.lang index ba1a3ecec4d..5080f998b8f 100644 --- a/htdocs/langs/zh_CN/users.lang +++ b/htdocs/langs/zh_CN/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=从组中删除 PasswordChangedAndSentTo=密码更改,发送到%s。 PasswordChangeRequestSent=要求更改密码的S%发送到%s。 MenuUsersAndGroups=用户和组 +MenuMyUserCard=My user card LastGroupsCreated=最后创建%s的团体 LastUsersCreated=上次%s的用户创建 ShowGroup=显示组 diff --git a/htdocs/langs/zh_CN/workflow.lang b/htdocs/langs/zh_CN/workflow.lang index 8312fbfea84..fde667e5a3a 100644 --- a/htdocs/langs/zh_CN/workflow.lang +++ b/htdocs/langs/zh_CN/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=工作流模块的设置 -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=没有工作流程,您可以修改你已激活的模块。 -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商业提案签署后自动创建一个客户订单 -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商业提案签署后自动创建一个客户发票 -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=创建一个客户发票,合同验证后自动 -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=创建一个客户发票,客户订单后自动关闭 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=分类链接来源建议,建立客户订单时设置支付 descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/langs/zh_TW/accountancy.lang b/htdocs/langs/zh_TW/accountancy.lang index bb9b358c045..40e2b65db42 100644 --- a/htdocs/langs/zh_TW/accountancy.lang +++ b/htdocs/langs/zh_TW/accountancy.lang @@ -1,5 +1,12 @@ # Dolibarr language file - en_US - Accounting Expert CHARSET=UTF-8 +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 the label ? +ACCOUNTING_EXPORT_AMOUNT=Export the amount ? +ACCOUNTING_EXPORT_DEVISE=Export the devise ? Accounting=Accounting Globalparameters=Global parameters @@ -81,9 +88,8 @@ ACCOUNTING_LENGTH_AACCOUNT=Length of the third party accounts ACCOUNTING_SELL_JOURNAL=Sell journal ACCOUNTING_PURCHASE_JOURNAL=Purchase journal -ACCOUNTING_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal +ACCOUNTING_EXPENSEREPORT_JOURNAL=Expense report journal ACCOUNTING_SOCIAL_JOURNAL=Social journal ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index bcb0dec0a34..6b490c462c4 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -149,7 +149,6 @@ MenuForUsers=用戶菜單 LangFile=文件。郎 System=系統 SystemInfo=系統資訊 -SystemTools=系統工具 SystemToolsArea=系統工具區 SystemToolsAreaDesc=此區提供了管理功能,請點選選單來管理你想要的內容。 Purge=Purge @@ -232,8 +231,8 @@ Security=安全 Passwords=密碼 DoNotStoreClearPassword=難道沒有明確的密碼存儲在數據庫,但只存儲加密值(活性炭推薦) MainDbPasswordFileConfEncrypted=數據庫密碼conf.php加密(活性炭推薦) -InstrucToEncodePass=為了有密碼編碼到conf.php文件,替換行
$ dolibarr_main_db_pass ="..."

$ dolibarr_main_db_pass =“加密的:%s的” -InstrucToClearPass=為了有密碼破譯(清除)到conf.php文件,替換行
$ dolibarr_main_db_pass =“加密的:..."

$ dolibarr_main_db_pass =“%的” +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=保護生成的PDF文件(活性不推薦,休息質量PDF生成) ProtectAndEncryptPdfFilesDesc=一個PDF文檔保護不斷提供給閲讀和打印任何的PDF瀏覽器。然而,編輯和複製是不可能的了。請注意,使用此功能使全球累計PDF格式的建設工作不喜歡未付發票()。 Feature=功能特色 @@ -300,13 +299,13 @@ ThisIsProcessToFollow=以下為軟體安裝的過程: ThisIsAlternativeProcessToFollow=This is an alternative setup to process: StepNb=第 %s 步驟 FindPackageFromWebSite=從網站尋找你想要擴充的主題、模組(可上 %s 網站參考)。 -DownloadPackageFromWebSite=Download package %s. -UnpackPackageInDolibarrRoot=Unpack package file into directory dedicated to external modules: %s +DownloadPackageFromWebSite=Download package (for example from official web site %s). +UnpackPackageInDolibarrRoot=Unpack package file into Dolibarr server directory dedicated to external modules: %s SetupIsReadyForUse=安裝完成,此時此系統軟體已經可以開始使用擴充的部分。 NotExistsDirect=The alternative root directory is not defined.
InfDirAlt=Since version 3 it is possible to define an alternative root directory.This allows you to store, same place, plug-ins and custom templates.
Just create a directory at the root of Dolibarr (eg: custom).
InfDirExample=
Then declare it in the file conf.php
$dolibarr_main_url_root_alt='http://myserver/custom'
$dolibarr_main_document_root_alt='/path/of/dolibarr/htdocs/custom'
*These lines are commented with "#", to uncomment only remove the character. -YouCanSubmitFile=Select module: +YouCanSubmitFile=For this step, you can send package using this tool: Select module file CurrentVersion=此系統軟體(Dolibarr)目前版本 CallUpdatePage=請到 %s 網頁更新資料庫結構及其資料。 LastStableVersion=最新的穩定版本 @@ -398,7 +397,7 @@ ExtrafieldParamHelpsellist=Parameters list comes from a table
Syntax : table_ ExtrafieldParamHelpchkbxlst=Parameters list comes from a table
Syntax : table_name:label_field:id_field::filter
Example : c_typent:libelle:id::filter

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

In order to have the list depending on another :
c_typent:libelle:id:parent_list_code|parent_column:filter LibraryToBuildPDF=Library used to build PDF WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pdf_force_fpdf=1. This means you use the FPDF library to generate PDF files. This library is old and does not support a lot of features (Unicode, image transparency, cyrillic, arab and asiatic languages, ...), so you may experience errors during PDF generation.
To solve this and have a full support of PDF generation, please download TCPDF library, then comment or remove the line $dolibarr_pdf_force_fpdf=1, and add instead $dolibarr_lib_TCPDF_PATH='path_to_TCPDF_dir' -LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 (vat 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) +LocalTaxDesc=Some countries apply 2 or 3 taxes on each invoice line. If this is the case, choose type for second and third tax and its rate. Possible type are:
1 : local tax apply on products and services without vat (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 @@ -492,8 +491,8 @@ Module400Name=Projects/Opportunities/Leads Module400Desc=Management of projects, opportunities or leads. You can then assign any element (invoice, order, proposal, intervention, ...) to a project and get a transversal view from the project view. Module410Name=Webcalendar Module410Desc=Webcalendar一體化 -Module500Name=Special expenses (tax, social contributions, dividends) -Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries +Module500Name=Special expenses +Module500Desc=Management of special expenses (taxes, social contribution, dividends) Module510Name=Salaries Module510Desc=Management of employees salaries and payments Module520Name=Loan @@ -524,8 +523,10 @@ Module2400Name=議程 Module2400Desc=行動/任務和議程管理 Module2500Name=電子內容管理 Module2500Desc=保存和共享文件 -Module2600Name=的WebServices -Module2600Desc=啟用Web服務的服務器Dolibarr +Module2600Name=API services (Web services SOAP) +Module2600Desc=Enable the Dolibarr SOAP server providing API services +Module2610Name=API services (Web services REST) +Module2610Desc=Enable the Dolibarr REST server providing API services Module2650Name=WebServices (client) Module2650Desc=Enable the Dolibarr web services client (Can be used to push data/requests to external servers. Supplier orders supported only for the moment) Module2700Name=的Gravatar @@ -817,6 +818,8 @@ DictionarySource=Origin of proposals/orders DictionaryAccountancyplan=Chart of accounts DictionaryAccountancysystem=Models for chart of accounts DictionaryEMailTemplates=Emails templates +DictionaryUnits=Units +DictionaryProspectStatus=Prospection status SetupSaved=設定值已儲存 BackToModuleList=返回模組列表 BackToDictionaryList=Back to dictionaries list @@ -936,13 +939,14 @@ CompanyZip=郵遞區號 CompanyTown=鎮 CompanyCountry=國家 CompanyCurrency=主要貨幣 +CompanyObject=Object of the company Logo=Logo DoNotShow=不顯示 DoNotSuggestPaymentMode=不建議 NoActiveBankAccountDefined=沒有定義有效的銀行帳戶 OwnerOfBankAccount=銀行帳戶%342 BankModuleNotActive=銀行模組沒有啟用 -ShowBugTrackLink=顯示連結“報告錯誤” +ShowBugTrackLink=Show link "%s" ShowWorkBoard=顯示“工作台”的網頁 Alerts=其他快訊資訊 Delays=延誤 @@ -1009,7 +1013,7 @@ MAIN_MAX_DECIMALS_UNIT=單位價格最高為小數 MAIN_MAX_DECIMALS_TOT=總價格的最高位小數 MAIN_MAX_DECIMALS_SHOWN=屏幕(最大顯示價格小數就新增...這個號碼後,如果你想看到...當數被截斷時,屏幕上顯示) MAIN_DISABLE_PDF_COMPRESSION=使用PDF壓縮生成的PDF文件。 -MAIN_ROUNDING_RULE_TOT= 四捨五入的範圍大小(如申請人是四捨五入的東西比其他10個基地進行罕見的國家) +MAIN_ROUNDING_RULE_TOT=Step of rounding range (for countries where rounding is done on something else than base 10. For example, put 0.05 if rounding is done by 0.05 steps) UnitPriceOfProduct=一種產品的單位價格網 TotalPriceAfterRounding=總價格(淨值/增值稅/含稅)後四捨五入 ParameterActiveForNextInputOnly=下一個輸入參數才能有效 @@ -1077,7 +1081,7 @@ TotalNumberOfActivatedModules=Total number of activated feature modules: %s 100 000), you can increase speed by setting constant PRODUCT_DONOTSEARCH_ANYWHERE to 1 in Setup->Other. Search will then be limited to start of string. UseSearchToSelectProduct=Use a search form to choose a product (rather than a drop-down list). UseEcoTaxeAbility=支持生態附加稅(WEEE)的 SetDefaultBarcodeTypeProducts=預設的條碼類型 SetDefaultBarcodeTypeThirdParties=預設的條碼類型給客戶/供應商模組使用 +UseUnits=Support units ProductCodeChecker= Module for product code generation and checking (product or service) ProductOtherConf= Product / Service configuration ##### Syslog ##### @@ -1420,6 +1426,8 @@ BarcodeDescUPC=通用產品條碼(UPC) BarcodeDescISBN=書籍條碼類型 BarcodeDescC39=Code 39 條碼 BarcodeDescC128=Code 128 條碼 +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 @@ -1552,6 +1560,13 @@ WebServicesSetup=符模組設置 WebServicesDesc=通過啟用這個模組,Dolibarr成為網絡服務的服務器,提供網絡服務的雜項。 WSDLCanBeDownloadedHere=的WSDL描述文件提供serviceses可以從這裡下載 EndPointIs=SOAP客戶端必須將他們的要求去Dolibarr端點可在網址 +##### API #### +ApiSetup=API module setup +ApiDesc=By enabling this module, Dolibarr become a REST server to provide miscellaneous web services. +KeyForApiAccess=Key to use API (parameter "api_key") +ApiEndPointIs=You can access to the API at url +ApiExporerIs=You can explore the API at url +OnlyActiveElementsAreExposed=Only elements from enabled modules are exposed ##### Bank ##### BankSetupModule=銀行模組設置 FreeLegalTextOnChequeReceipts=可在下面輸入額外的支票資訊 @@ -1594,7 +1609,7 @@ OpenFiscalYear=Open fiscal year CloseFiscalYear=Close fiscal year DeleteFiscalYear=Delete fiscal year ConfirmDeleteFiscalYear=Are you sure to delete this fiscal year ? -Opened=Opened +Opened=Open Closed=Closed AlwaysEditable=Can always be edited MAIN_APPLICATION_TITLE=Force visible name of application (warning: setting your own name here may break autofill login feature when using DoliDroid mobile application) @@ -1622,3 +1637,6 @@ SomethingMakeInstallFromWebNotPossible=Installation of external module is not po SomethingMakeInstallFromWebNotPossible2=For this reason, process to upgrade described here is only manual steps a privileged user can do. 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. ConfFileMuseContainCustom=Installing an external module from application save the module files into directory %s. To have this directory processed by Dolibarr, you must setup your conf/conf.php to have option
- $dolibarr_main_url_root_alt enabled to value $dolibarr_main_url_root_alt="/custom"
- $dolibarr_main_document_root_alt enabled to value "%s/custom" +HighlightLinesOnMouseHover=Highlight table lines when mouse move passes over +PressF5AfterChangingThis=Press F5 on keyboard after changing this value to have it effective +NotSupportedByAllThemes=Will works with eldy theme but is not supported by all themes diff --git a/htdocs/langs/zh_TW/banks.lang b/htdocs/langs/zh_TW/banks.lang index 16fd2c0596c..d9eae830eb7 100644 --- a/htdocs/langs/zh_TW/banks.lang +++ b/htdocs/langs/zh_TW/banks.lang @@ -94,12 +94,12 @@ Conciliate=調和 Conciliation=和解 ConciliationForAccount=此帳戶核對 IncludeClosedAccount=包括關閉賬戶 -OnlyOpenedAccount=只有開立帳戶 +OnlyOpenedAccount=Only open accounts AccountToCredit=帳戶信用 AccountToDebit=帳戶轉帳 DisableConciliation=此帳戶的禁用和解功能 ConciliationDisabled=和解功能禁用 -StatusAccountOpened=開業 +StatusAccountOpened=Open StatusAccountClosed=關閉 AccountIdShort=數 EditBankRecord=編輯記錄 diff --git a/htdocs/langs/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index fc3b6fb731e..f2bc1c8fa0b 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -298,6 +298,7 @@ RelatedCustomerInvoices=Related customer invoices RelatedSupplierInvoices=Related supplier invoices LatestRelatedBill=Latest related invoice WarningBillExist=Warning, one or more invoice already exist +MergingPDFTool=Merging PDF tool # PaymentConditions PaymentConditionShortRECEP=即時 @@ -429,5 +430,5 @@ NotLastInCycle=This invoice in not the last in cycle and must not be modified. DisabledBecauseNotLastInCycle=The next situation already exists. DisabledBecauseFinal=This situation is final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +NoSituations=No open situations InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/zh_TW/boxes.lang b/htdocs/langs/zh_TW/boxes.lang index b05ea5dd81a..26400837345 100644 --- a/htdocs/langs/zh_TW/boxes.lang +++ b/htdocs/langs/zh_TW/boxes.lang @@ -19,7 +19,7 @@ BoxLastContracts=最後更新的合同清單 BoxLastContacts=最後接觸/地址 BoxLastMembers=最後成員 BoxFicheInter=Last interventions -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=Open accounts balance BoxSalesTurnover=銷售營業額 BoxTotalUnpaidCustomerBills=共有未付客戶的發票 BoxTotalUnpaidSuppliersBills=共有未付供應商的發票 @@ -47,7 +47,7 @@ BoxTitleLastModifiedMembers=Last %s members BoxTitleLastFicheInter=Last %s modified intervention BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=Open accounts balances BoxTitleSalesTurnover=銷售營業額 BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices diff --git a/htdocs/langs/zh_TW/categories.lang b/htdocs/langs/zh_TW/categories.lang index 668b104c214..960c9342811 100644 --- a/htdocs/langs/zh_TW/categories.lang +++ b/htdocs/langs/zh_TW/categories.lang @@ -42,19 +42,19 @@ ImpossibleAddCat=Impossible to add the tag/category ImpossibleAssociateCategory=Impossible to associate the tag/category to WasAddedSuccessfully=%s是添加成功。 ObjectAlreadyLinkedToCategory=Element is already linked to this tag/category. -CategorySuccessfullyCreated=This tag/category %s has been added with success. -ProductIsInCategories=Product/service owns to following tags/categories -SupplierIsInCategories=Third party owns to following suppliers tags/categories -CompanyIsInCustomersCategories=This third party owns to following customers/prospects tags/categories -CompanyIsInSuppliersCategories=This third party owns to following suppliers tags/categories -MemberIsInCategories=This member owns to following members tags/categories -ContactIsInCategories=This contact owns to following contacts tags/categories +CategorySuccessfullyCreated=This tag/category %s has been added successfully. +ProductIsInCategories=Product/service is linked to following tags/categories +SupplierIsInCategories=Third party is linked to following suppliers tags/categories +CompanyIsInCustomersCategories=This third party is linked to following customers/prospects tags/categories +CompanyIsInSuppliersCategories=This third party is linked to following suppliers 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 SupplierHasNoCategory=This supplier is not in any tags/categories -CompanyHasNoCategory=This company is not in any tags/categories +CompanyHasNoCategory=This thirdparty is not in any tags/categories MemberHasNoCategory=This member is not in any tags/categories ContactHasNoCategory=This contact is not in any tags/categories -ClassifyInCategory=Classify in tag/category +ClassifyInCategory=Add to tag/category NoneCategory=無 NotCategorized=Without tag/category CategoryExistsAtSameLevel=此類別已存在此號 @@ -67,13 +67,13 @@ ContentsNotVisibleByAllShort=所有內容不可見 CategoriesTree=Tags/categories tree DeleteCategory=Delete tag/category ConfirmDeleteCategory=Are you sure you want to delete this tag/category ? -RemoveFromCategory=Remove link with tag/categorie -RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the tag/category ? +RemoveFromCategory=Remove link with tag/category +RemoveFromCategoryConfirm=Are you sure you want to unlink the transaction from the tag/category ? NoCategoriesDefined=No tag/category defined -SuppliersCategoryShort=Suppliers tags/category -CustomersCategoryShort=Customers tags/category -ProductsCategoryShort=Products tags/category -MembersCategoryShort=Members tags/category +SuppliersCategoryShort=Suppliers tag/category +CustomersCategoryShort=Customers tag/category +ProductsCategoryShort=Products tag/category +MembersCategoryShort=Members tag/category SuppliersCategoriesShort=Suppliers tags/categories CustomersCategoriesShort=Customers tags/categories CustomersProspectsCategoriesShort=客戶/潛在分類標籤 @@ -94,7 +94,7 @@ CatSupList=List of supplier tags/categories CatCusList=List of customer/prospect tags/categories CatProdList=List of products tags/categories CatMemberList=List of members tags/categories -CatContactList=List of contact tags/categories and contact +CatContactList=List of contact tags/categories CatSupLinks=Links between suppliers and tags/categories CatCusLinks=Links between customers/prospects and tags/categories CatProdLinks=Links between products/services and tags/categories diff --git a/htdocs/langs/zh_TW/companies.lang b/htdocs/langs/zh_TW/companies.lang index 705df498d17..ad7647b3d28 100644 --- a/htdocs/langs/zh_TW/companies.lang +++ b/htdocs/langs/zh_TW/companies.lang @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=可用的全域折扣 DiscountNone=無 Supplier=供應商 CompanyList=,公司就名單 -AddContact=新增聯絡人/地址 -AddContactAddress=新增聯絡人及地址 +AddContact=Create contact +AddContactAddress=Create contact/address EditContact=編輯聯絡人/地址 EditContactAddress=Edit contact/address Contact=聯絡人 @@ -268,8 +268,8 @@ ContactsAddresses=聯系方式/地址 NoContactDefinedForThirdParty=No contact defined for this third party NoContactDefined=此客戶(供應商)沒有定義聯絡人 DefaultContact=預設聯絡人 -AddCompany=新增公司 -AddThirdParty=新增 +AddCompany=Create company +AddThirdParty=Create third party DeleteACompany=刪除公司 PersonalInformations=個人資料 AccountancyCode=會計代碼 @@ -379,8 +379,8 @@ DeliveryAddressLabel=送貨地址標簽 DeleteDeliveryAddress=刪除一個送貨地址 ConfirmDeleteDeliveryAddress=你確定要刪除這個送貨地址? NewDeliveryAddress=新的送貨地址 -AddDeliveryAddress=添加地址 -AddAddress=添加地址 +AddDeliveryAddress=Create address +AddAddress=Create address NoOtherDeliveryAddress=沒有辦法送貨地址定義 SupplierCategory=供應商類別 JuridicalStatus200=獨立 @@ -410,5 +410,10 @@ OutstandingBillReached=Reached max. for outstanding bill MonkeyNumRefModelDesc=用以下固定的方式回傳編號:
%syymm-nnnn 為客戶編號生成格式。
%syymm-nnnn 為供應商編號生成格式。
yy 是年、mm是月、nnnn是一個不為0的序號。 LeopardNumRefModelDesc=客戶/供應商編號規則不受限制,此編碼可以隨時修改。(可開啟Elephant or Monkey模組來設定編碼規則) ManagingDirectors=Manager(s) name (CEO, director, president...) -SearchThirdparty=Search thirdparty +SearchThirdparty=Search third party SearchContact=Search contact +MergeOriginThirdparty=Duplicate third party (third party you want to delete) +MergeThirdparties=Merge third parties +ConfirmMergeThirdparties=Are you sure you want to merge this third party into the current one ? All linked objects (invoices, orders, ...) will be moved to current third party so you will be able to delete the duplicate one. +ThirdpartiesMergeSuccess=Thirdparties have been merged +ErrorThirdpartiesMerge=There was an error when deleting the thirdparties. Please check the log. Changes have been reverted. diff --git a/htdocs/langs/zh_TW/cron.lang b/htdocs/langs/zh_TW/cron.lang index aac41414f2c..9b496099e07 100644 --- a/htdocs/langs/zh_TW/cron.lang +++ b/htdocs/langs/zh_TW/cron.lang @@ -4,10 +4,10 @@ About = 關於 CronAbout = About Cron CronAboutPage = Cron about page # Right -Permission23101 = Read Scheduled task -Permission23102 = Create/update Scheduled task -Permission23103 = Delete Scheduled task -Permission23104 = Execute Scheduled task +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 cron jobs if required @@ -26,11 +26,11 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Scheduled job +CronList=Scheduled jobs CronDelete=Delete scheduled jobs -CronConfirmDelete=Are you sure you want to delete this scheduled jobs ? +CronConfirmDelete=Are you sure you want to delete these scheduled jobs ? CronExecute=Launch scheduled jobs -CronConfirmExecute=Are you sure to execute this scheduled jobs now ? +CronConfirmExecute=Are you sure you want to execute these scheduled jobs now ? CronInfo=Scheduled job module allow to execute job that have been planned CronWaitingJobs=Waiting jobs CronTask=Job @@ -39,8 +39,8 @@ CronDtStart=開始日期 CronDtEnd=結束日期 CronDtNextLaunch=Next execution CronDtLastLaunch=Last execution -CronFrequency=Frequancy -CronClass=Classe +CronFrequency=Frequency +CronClass=Class CronMethod=方法 CronModule=模組 CronAction=Action @@ -55,9 +55,9 @@ CronEach=Every JobFinished=Job launched and finished #Page card CronAdd= Add jobs -CronHourStart= Start Hour and date of task -CronEvery= And execute task each -CronObject= Instance/Object to create +CronHourStart= Start hour and date of job +CronEvery=Execute job each +CronObject=Instance/Object to create CronArgs=參數清單 CronSaveSucess=Save succesfully CronNote=註解 @@ -79,10 +79,10 @@ CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common -CronType=Task type +CronType=Job type CronType_method=Call method of a Dolibarr Class CronType_command=Shell command CronMenu=Cron CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. -TaskDisabled=Task disabled +TaskDisabled=Job disabled diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 739ca19c920..f376c3995a9 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -170,6 +170,7 @@ ErrorGlobalVariableUpdater4=SOAP client failed with error '%s' ErrorGlobalVariableUpdater5=No global variable selected ErrorFieldMustBeANumeric=Field %s must be a numeric value ErrorFieldMustBeAnInteger=Field %s must be an integer +ErrorMandatoryParametersNotProvided=Mandatory parameter(s) not provided # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/zh_TW/incoterm.lang b/htdocs/langs/zh_TW/incoterm.lang new file mode 100644 index 00000000000..3065894865e --- /dev/null +++ b/htdocs/langs/zh_TW/incoterm.lang @@ -0,0 +1,7 @@ +Module62000Name=Incoterm +Module62000Desc=Add features to manage Incoterm +IncotermLabel=Incoterms +IncotermSetupTitle1=Feature +IncotermSetupTitle2=Status +IncotermSetup=Setup of module Incoterm +IncotermFunctionDesc=Activate Incoterm feature (Thirdparty, Proposal, Customer Order, Customer Invoice, Shipment, Supplier order) diff --git a/htdocs/langs/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index 0d8db02acc2..25efa36020d 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -64,6 +64,7 @@ DatabaseSuperUserAccess=數據庫服務器 - 超級用戶 CheckToCreateDatabase=檢查中,如果數據庫不存在,必須創建。
在這種情況下,必須填寫登錄/密碼為超級用戶帳戶在本頁面底部。 CheckToCreateUser=如果數據庫所有者復選框不存在,必須創建。
在這種情況下,必須選擇自己的登錄名和密碼,並填寫在本頁面底部的登錄/為超級用戶帳戶的密碼。如果此框未被選中,業主數據庫及其密碼必須存在。 Experimental=(實驗) +Deprecated=(deprecated) DatabaseRootLoginDescription=允許創建新的數據庫或新用戶,無用的,如果你的數據庫和數據庫登錄已經存在就像當你在一個網站舉辦的托管服務提供商是(用戶登錄)。 KeepEmptyIfNoPassword=給空如果用戶沒有密碼(避免這種情況) SaveConfigurationFile=保存價值 diff --git a/htdocs/langs/zh_TW/languages.lang b/htdocs/langs/zh_TW/languages.lang index 9ab32a535dd..0a18282b39a 100644 --- a/htdocs/langs/zh_TW/languages.lang +++ b/htdocs/langs/zh_TW/languages.lang @@ -2,6 +2,7 @@ Language_ar_AR=阿拉伯語 Language_ar_SA=阿拉伯語 +Language_bn_BD=Bengali Language_bg_BG=保加利亚语 Language_bs_BA=波斯尼亚 Language_ca_ES=加泰羅尼亞 @@ -21,9 +22,10 @@ Language_en_SA=英语 (沙特阿拉伯) Language_en_US=英語(美國) Language_en_ZA=英语 (南非) Language_es_ES=西班牙語 -Language_es_DO=Spanish (Dominican Republic) Language_es_AR=西班牙語(阿根廷) Language_es_CL=Spanish (Chile) +Language_es_CO=Spanish (Colombia) +Language_es_DO=Spanish (Dominican Republic) Language_es_HN=西班牙語(洪都拉斯) Language_es_MX=西班牙語(墨西哥) Language_es_PY=西班牙语 (巴拉圭) @@ -45,7 +47,10 @@ Language_id_ID=Indonesian Language_is_IS=冰島 Language_it_IT=意大利語 Language_ja_JP=日語 +Language_ka_GE=Georgian +Language_kn_IN=Kannada Language_ko_KR=韩国 +Language_lo_LA=Lao Language_lt_LT=立陶宛 Language_lv_LV=拉脱维亚 Language_mk_MK=马其顿 @@ -64,6 +69,7 @@ Language_sv_SV=瑞典 Language_sv_SE=瑞典 Language_sq_AL=Albanian Language_sk_SK=斯洛伐克 +Language_sw_SW=Kiswahili Language_th_TH=泰国 Language_uk_UA=乌克兰 Language_uz_UZ=乌兹别克 diff --git a/htdocs/langs/zh_TW/loan.lang b/htdocs/langs/zh_TW/loan.lang new file mode 100644 index 00000000000..cc7f19037aa --- /dev/null +++ b/htdocs/langs/zh_TW/loan.lang @@ -0,0 +1,53 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=Loan payment +ShowLoanPayment=Show Loan Payment +Capital=Capital +Insurance=Insurance +Interest=Interest +Nbterms=Number of terms +LoanAccountancyCapitalCode=Accountancy code capital +LoanAccountancyInsuranceCode=Accountancy code insurance +LoanAccountancyInterestCode=Accountancy code interest +LoanPayment=Loan payment +ConfirmDeleteLoan=Confirm deleting this loan +LoanDeleted=Loan Deleted Successfully +ConfirmPayLoan=Confirm classify paid this loan +LoanPaid=Loan Paid +ErrorLoanCapital=Loan amount has to be numeric and greater than zero. +ErrorLoanLength=Loan length has to be numeric and greater than zero. +ErrorLoanInterest=Annual interest has to be numeric and greater than zero. +# Calc +LoanCalc=Bank Loans Calculator +PurchaseFinanceInfo=Purchase & Financing Information +SalePriceOfAsset=Sale Price of Asset +PercentageDown=Percentage Down +LengthOfMortgage=Length of Mortgage +AnnualInterestRate=Annual Interest Rate +ExplainCalculations=Explain Calculations +ShowMeCalculationsAndAmortization=Show me the calculations and amortization +MortgagePaymentInformation=Mortgage Payment Information +DownPayment=Down Payment +DownPaymentDesc=The down payment = The price of the home multiplied by the percentage down divided by 100 (for 5% down becomes 5/100 or 0.05) +InterestRateDesc=The interest rate = The annual interest percentage divided by 100 +MonthlyFactorDesc=The monthly factor = The result of the following formula +MonthlyInterestRateDesc=The monthly interest rate = The annual interest rate divided by 12 (for the 12 months in a year) +MonthTermDesc=The month term of the loan in months = The number of years you've taken the loan out for times 12 +MonthlyPaymentDesc=The montly payment is figured out using the following formula +AmortizationPaymentDesc=The amortization breaks down how much of your monthly payment goes towards the bank's interest, and how much goes into paying off the principal of your loan. +AmountFinanced=Amount Financed +AmortizationMonthlyPaymentOverYears=Amortization For Monthly Payment: %s over %s years +Totalsforyear=Totals for year +MonthlyPayment=Monthly Payment +LoanCalcDesc=This mortgage calculator can be used to figure out monthly payments of a home mortgage loan, based on the home's sale price, the term of the loan desired, buyer's down payment percentage, and the loan's interest rate.
This calculator factors in PMI (Private Mortgage Insurance) for loans where less than 20% is put as a down payment. Also taken into consideration are the town property taxes, and their effect on the total monthly mortgage payment.
+GoToInterest=%s will go towards INTEREST +GoToPrincipal=%s will go towards PRINCIPAL +YouWillSpend=You will spend %s on your house in year %s +# Admin +ConfigLoan=Configuration of the module loan +LOAN_ACCOUNTING_ACCOUNT_CAPITAL=Accountancy code capital by default +LOAN_ACCOUNTING_ACCOUNT_INTEREST=Accountancy code interest by default +LOAN_ACCOUNTING_ACCOUNT_INSURANCE=Accountancy code insurance by default diff --git a/htdocs/langs/zh_TW/mails.lang b/htdocs/langs/zh_TW/mails.lang index 31cd73cca94..e0e27c02a22 100644 --- a/htdocs/langs/zh_TW/mails.lang +++ b/htdocs/langs/zh_TW/mails.lang @@ -77,7 +77,7 @@ CheckRead=Read Receipt YourMailUnsubcribeOK=The email %s is correctly unsubcribe from mailing list MailtoEMail=Hyper link to email ActivateCheckRead=Allow to use the "Unsubcribe" link -ActivateCheckReadKey=Key use to encrypt URL use for "Read Receipt" and "Unsubcribe" feature +ActivateCheckReadKey=Key used to encrypt URL used for "Read Receipt" and "Unsubcribe" feature EMailSentToNRecipients=EMail sent to %s recipients. XTargetsAdded=%s recipients added into target list EachInvoiceWillBeAttachedToEmail=A document using default invoice document template will be created and attached to each email. diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index cad6b50defb..695749b31bc 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -301,7 +301,7 @@ UnitPriceHT=單位價格(凈值) UnitPriceTTC=單價 PriceU=向上 PriceUHT=不含稅價格 -AskPriceSupplierUHT=P.U. HT Requested +AskPriceSupplierUHT=U.P. net Requested PriceUTTC=向上 Amount=總額 AmountInvoice=發票金額 @@ -413,6 +413,8 @@ Qty=數量 ChangedBy=修改 by ApprovedBy=Approved by ApprovedBy2=Approved by (second approval) +Approved=Approved +Refused=Refused ReCalculate=Recalculate ResultOk=成功 ResultKo=失敗 @@ -421,7 +423,7 @@ Reportings=報表 Draft=草案 Drafts=草稿 Validated=驗證 -Opened=已開啟 +Opened=Open New=新 Discount=折扣 Unknown=未知 @@ -678,6 +680,7 @@ LinkedToSpecificUsers=Linked to a particular user contact DeleteAFile=Delete a file ConfirmDeleteAFile=Are you sure you want to delete file NoResults=No results +SystemTools=System tools ModulesSystemTools=Modules tools Test=Test Element=Element @@ -703,6 +706,9 @@ ShowTransaction=Show transaction GoIntoSetupToChangeLogo=Go into Home - Setup - Company to change logo or go into Home - Setup - Display to hide. Deny=Deny Denied=Denied +ListOfTemplates=List of templates +Genderman=Man +Genderwoman=Woman # Week day Monday=星期一 Tuesday=星期二 @@ -732,3 +738,4 @@ ShortThursday=Ŧ ShortFriday=F ShortSaturday=S ShortSunday=S +SelectMailModel=Select email template diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index bf16fa314b6..d4cc772b786 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -16,14 +16,14 @@ SupplierOrder=供應商訂單 SuppliersOrders=供應商訂單 SuppliersOrdersRunning=當前供應商的訂單 CustomerOrder=客戶訂單 -CustomersOrders=Customers orders -CustomersOrdersRunning=當前客戶的訂單 -CustomersOrdersAndOrdersLines=客戶的訂單,訂單的行 -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process -SuppliersOrdersToProcess=待處理的供應商的訂單 +CustomersOrders=Customer orders +CustomersOrdersRunning=Current customer orders +CustomersOrdersAndOrdersLines=Customer orders and order lines +OrdersToValid=Customer orders to validate +OrdersToBill=Customer orders delivered +OrdersInProcess=Customer orders in process +OrdersToProcess=Customer orders to process +SuppliersOrdersToProcess=Supplier orders to process StatusOrderCanceledShort=已取消 StatusOrderDraftShort=草案階段 StatusOrderValidatedShort=驗證階段 @@ -75,8 +75,9 @@ AddToMyOrders=新增我的訂單 AddToOtherOrders=新增其他人的訂單 AddToDraftOrders=Add to draft order ShowOrder=顯示訂單 -NoOpenedOrders=沒有打開訂單 -NoOtherOpenedOrders=沒有其他人已經新增的訂單 +OrdersOpened=Orders to process +NoOpenedOrders=No open orders +NoOtherOpenedOrders=No other open orders NoDraftOrders=No draft orders OtherOrders=其他命令 LastOrders=Last %s customer orders diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index e2d017e24c2..acd7930df6e 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -12,6 +12,7 @@ Notify_FICHINTER_VALIDATE=幹預驗證 Notify_FICHINTER_SENTBYMAIL=Intervention sent by mail Notify_BILL_VALIDATE=客戶發票驗證 Notify_BILL_UNVALIDATE=Customer invoice unvalidated +Notify_ORDER_SUPPLIER_VALIDATE=Supplier order recorded Notify_ORDER_SUPPLIER_APPROVE=供應商為了批準 Notify_ORDER_SUPPLIER_REFUSE=供應商的訂單被拒絕 Notify_ORDER_VALIDATE=驗證客戶訂單 @@ -203,6 +204,7 @@ ClickHereToGoTo=Click here to go to %s YouMustClickToChange=You must however first click on the following link to validate this password change ForgetIfNothing=If you didn't request this change, just forget this email. Your credentials are kept safe. IfAmountHigherThan=If amount higher than %s +SourcesRepository=Repository for sources ##### Calendar common ##### AddCalendarEntry=日歷項中添加%s的 diff --git a/htdocs/langs/zh_TW/printing.lang b/htdocs/langs/zh_TW/printing.lang new file mode 100644 index 00000000000..b4956e59c01 --- /dev/null +++ b/htdocs/langs/zh_TW/printing.lang @@ -0,0 +1,73 @@ +# 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. +ModuleDriverSetup=Setup Module Driver +PrintingDriverDesc=Configuration variables for printing driver. +ListDrivers=List of drivers +PrintTestDesc=List of Printers. +FileWasSentToPrinter=File %s was sent to printer +NoActivePrintingModuleFound=No active module to print document +PleaseSelectaDriverfromList=Please select a driver from list. +SetupDriver=Driver setup +TestDriver=Test +TargetedPrinter=Targeted printer +UserConf=Setup per user +PRINTGCP=Google Cloud Print +PrintGCPDesc=This driver allow to send documents directly to a printer with Google Cloud Print. +PrintingDriverDescprintgcp=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=List of Printers for Google Cloud Print. +PRINTGCP_LOGIN=Google Account Login +PRINTGCP_PASSWORD=Google Account Password +STATE_ONLINE=Online +STATE_UNKNOWN=Unknown +STATE_OFFLINE=Offline +STATE_DORMANT=Offline for quite a while +TYPE_GOOGLE=Google +TYPE_HP=HP Printer +TYPE_DOCS=DOCS +TYPE_DRIVE=Google Drive +TYPE_FEDEX=Fedex +TYPE_ANDROID_CHROME_SNAPSHOT=Android +TYPE_IOS_CHROME_SNAPSHOT=IOS +GCP_Name=Name +GCP_displayName=Display Name +GCP_Id=Printer Id +GCP_OwnerName=Owner Name +GCP_State=Printer State +GCP_connectionStatus=Online State +GCP_Type=Printer Type +PRINTIPP=PrintIPP Driver +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This driver allow to send documents directly to a printer. It requires a Linux system with CUPS installed. +PrintingDriverDescprintipp=Configuration variables for printing driver PrintIPP. +PrintTestDescprintipp=List of Printers for driver PrintIPP. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server +IPP_Uri=Printer Uri +IPP_Name=Printer Name +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Color +IPP_Device=Device +IPP_Media=Printer media +IPP_Supported=Type of media +STATE_IPP_idle=Idle +STATE_IPP_stopped=Stopped +STATE_IPP_paused=Paused +STATE_IPP_toner-low-report=Low Toner +STATE_IPP_none=None +MEDIA_IPP_stationery=Stationery +MEDIA_IPP_thermal=Thermal +IPP_COLOR_print-black=BW Printer diff --git a/htdocs/langs/zh_TW/productbatch.lang b/htdocs/langs/zh_TW/productbatch.lang index 85b1d27f3a6..37ceaa49b38 100644 --- a/htdocs/langs/zh_TW/productbatch.lang +++ b/htdocs/langs/zh_TW/productbatch.lang @@ -19,4 +19,4 @@ printQty=Qty: %d AddDispatchBatchLine=Add a line for Shelf Life dispatching BatchDefaultNumber=Undefined WhenProductBatchModuleOnOptionAreForced=When module Lot/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=This product does not use lot/serial number diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index 756bdf38dc2..7d494aae808 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -23,14 +23,14 @@ ProductOrService=產品或服務 ProductsAndServices=產品與服務 ProductsOrServices=產品或服務 ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesNotOnSell=Products and Services not for sale ProductsAndServicesStatistics=產品與服務的統計數字 ProductsStatistics=產品統計 -ProductsOnSell=Product for sale or for pruchase -ProductsNotOnSell=Product out of sale and out of purchase +ProductsOnSell=Product for sale or for purchase +ProductsNotOnSell=Product not for sale and not for purchase ProductsOnSellAndOnBuy=Products for sale and for purchase ServicesOnSell=Services for sale or for purchase -ServicesNotOnSell=Services out of sale +ServicesNotOnSell=Services not for sale ServicesOnSellAndOnBuy=Services for sale and for purchase InternalRef=內部參考 LastRecorded=最新產品/服務的銷售記錄 @@ -44,7 +44,7 @@ CardProduct1=服務卡 CardContract=合同卡 Warehouse=倉庫 Warehouses=倉庫 -WarehouseOpened=打開倉庫 +WarehouseOpened=Warehouse open WarehouseClosed=關閉倉庫 Stock=庫存 Stocks=庫存 @@ -71,21 +71,21 @@ SellingPriceTTC=銷售價格(包括稅) PublicPrice=公眾價格 CurrentPrice=時價 NewPrice=新價格 -MinPrice=最低售價 -MinPriceHT=Minim. selling price (net of tax) -MinPriceTTC=Minim. selling price (inc. tax) +MinPrice=Min. selling price +MinPriceHT=Min. selling price (net of tax) +MinPriceTTC=Min. selling price (inc. tax) CantBeLessThanMinPrice=售價不能超過該產品(%s的允許在沒有稅收的最低水平) ContractStatus=合同地位 ContractStatusClosed=關閉 -ContractStatusRunning=運行 +ContractStatusRunning=Ongoing ContractStatusExpired=過期 -ContractStatusOnHold=不運行 -ContractStatusToRun=To get running -ContractNotRunning=該合同未運行 +ContractStatusOnHold=On hold +ContractStatusToRun=Make ongoing +ContractNotRunning=This contract is not ongoing ErrorProductAlreadyExists=一個產品的參考%s已經存在。 ErrorProductBadRefOrLabel=錯誤的價值參考或標簽。 ErrorProductClone=There was a problem while trying to clone the product or service. -ErrorPriceCantBeLowerThanMinPrice=Error Price Can't Be Lower Than Minimum Price. +ErrorPriceCantBeLowerThanMinPrice=Error, price can't be lower than minimum price. Suppliers=供應商 SupplierRef=供應商代號: ShowProduct=顯示產品 @@ -117,12 +117,12 @@ ServiceLimitedDuration=如果產品是一種有期限的服務,請指定服務 MultiPricesAbility=Several level of prices per product/service MultiPricesNumPrices=多種價格的數量 MultiPriceLevelsName=價格分類 -AssociatedProductsAbility=Activate the virtual package feature +AssociatedProductsAbility=Activate the package feature AssociatedProducts=Package product -AssociatedProductsNumber=Number of products composing this virtual package product +AssociatedProductsNumber=Number of products composing this package product ParentProductsNumber=Number of parent packaging product -IfZeroItIsNotAVirtualProduct=If 0, this product is not a virtual package product -IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any virtual package product +IfZeroItIsNotAVirtualProduct=If 0, this product is not a package product +IfZeroItIsNotUsedByVirtualProduct=If 0, this product is not used by any package product EditAssociate=編輯關聯性 Translation=產品描述翻譯 KeywordFilter=關鍵字過濾 @@ -131,7 +131,7 @@ ProductToAddSearch=利用搜尋產品來增加 AddDel=新增或刪除 Quantity=數量 NoMatchFound=沒有找到匹配 -ProductAssociationList=以下為下階子產品(服務)清單,及所需下階數量和庫存數量 +ProductAssociationList=List of products/services that are component of this virtual product/package ProductParentList=List of package products/services with this product as a component ErrorAssociationIsFatherOfThis=選定的產品之一,是家長與當前的產品 DeleteProduct=刪除一個產品/服務 @@ -179,16 +179,41 @@ CloneProduct=複製產品/服務 ConfirmCloneProduct=你確定要複製一份 %s 產品/服務單嗎 ? CloneContentProduct=複製此產品/服務的所有資訊內容 ClonePricesProduct=複製此產品/服務的價格資訊 -CloneCompositionProduct=Clone packaged product/services +CloneCompositionProduct=Clone packaged product/service ProductIsUsed=該產品是用於 NewRefForClone=新的產品/服務編號 -CustomerPrices=銷售價格 -SuppliersPrices=採購價格 -SuppliersPricesOfProductsOrServices=Suppliers prices (of products or services) +CustomerPrices=Customer prices +SuppliersPrices=Supplier prices +SuppliersPricesOfProductsOrServices=Supplier prices (of products or services) CustomCode=進出口報關海關代碼 CountryOrigin=原產地 HiddenIntoCombo=隱藏選擇列表 Nature=類型 +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 +linear meter=linear meter +lm=lm +square meter=square meter +m2=m² +cubic meter=cubic meter +m3=m³ +liter=liter +l=L ProductCodeModel=Product ref template ServiceCodeModel=Service ref template AddThisProductCard=Create product card @@ -214,7 +239,7 @@ CostPmpHT=Net total VWAP ProductUsedForBuild=Auto consumed by production ProductBuilded=Production completed ProductsMultiPrice=Product multi-price -ProductsOrServiceMultiPrice=Customers prices (of products or services, multi-prices) +ProductsOrServiceMultiPrice=Customer prices (of products or services, multi-prices) ProductSellByQuarterHT=Products turnover quarterly VWAP ServiceSellByQuarterHT=Services turnover quarterly VWAP Quarter1=1st. Quarter @@ -237,10 +262,10 @@ ResetBarcodeForAllRecords=Define barcode value for all records (this will also r PriceByCustomer=Different price for each customer PriceCatalogue=Unique price per product/service PricingRule=Rules for customer prices -AddCustomerPrice=Add price by customers +AddCustomerPrice=Add price by customer ForceUpdateChildPriceSoc=Set same price on customer subsidiaries PriceByCustomerLog=Price by customer log -MinimumPriceLimit=Minimum price can't be lower that %s +MinimumPriceLimit=Minimum price can't be lower then %s MinimumRecommendedPrice=Minimum recommended price is : %s PriceExpressionEditor=Price expression editor PriceExpressionSelected=Selected price expression @@ -267,3 +292,5 @@ GlobalVariableUpdaterHelpFormat1=format is {"URL": "http://example.com/urlofws", UpdateInterval=Update interval (minutes) LastUpdated=Last updated CorrectlyUpdated=Correctly updated +PropalMergePdfProductActualFile=Files use to add into PDF Azur are/is +PropalMergePdfProductChooseFile=Select PDF files diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index f5bf8fc7966..0ac51ace6e5 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -11,7 +11,7 @@ ProjectsPublicDesc=這種觀點提出了所有你被允許閱讀的項目。 ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=這種觀點提出的所有項目(你的用戶權限批準你認為一切)。 MyTasksDesc=這種觀點是有限的項目或任務你是一個接觸(不管是類型)。 -OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). +OnlyOpenedProject=Only open projects are visible (projects in draft or closed status are not visible). TasksPublicDesc=這種觀點提出的所有項目,您可閱讀任務。 TasksDesc=這種觀點提出的所有項目和任務(您的用戶權限批準你認為一切)。 AllTaskVisibleButEditIfYouAreAssigned=All tasks for such project are visible, but you can enter time only for task you are assigned on. @@ -29,7 +29,7 @@ ProjectsList=項目名單 ShowProject=顯示項目 SetProject=設置項目 NoProject=沒有項目或擁有的定義 -NbOpenTasks=鈮打開任務 +NbOpenTasks=Nb of open tasks NbOfProjects=鈮項目 TimeSpent=花費的時間 TimeSpentByYou=Time spent by you @@ -41,7 +41,7 @@ TaskTimeSpent=Time spent on tasks TaskTimeUser=User TaskTimeNote=Note TaskTimeDate=Date -TasksOnOpenedProject=Tasks on opened projects +TasksOnOpenedProject=Tasks on open projects WorkloadNotDefined=Workload not defined NewTimeSpent=新的時間 MyTimeSpent=我的時間花 @@ -75,6 +75,7 @@ ListFichinterAssociatedProject=名單與項目相關的幹預措施 ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListDonationsAssociatedProject=List of donations associated with the project ListActionsAssociatedProject=名單與項目有關的行動 +ListTaskTimeUserProject=List of time consumed on tasks of project ActivityOnProjectThisWeek=對項目活動周 ActivityOnProjectThisMonth=本月初對項目活動 ActivityOnProjectThisYear=今年對項目活動 @@ -95,7 +96,7 @@ DeleteATimeSpent=刪除的時間 ConfirmDeleteATimeSpent=你確定要刪除這個花的時間? DoNotShowMyTasksOnly=See also tasks not assigned to me ShowMyTasksOnly=View only tasks assigned to me -TaskRessourceLinks=資源的整合 +TaskRessourceLinks=Resources ProjectsDedicatedToThisThirdParty=這個項目致力於第三方 NoTasks=該項目沒有任務 LinkedToAnotherCompany=鏈接到其他第三方 @@ -139,8 +140,12 @@ ProjectReferers=Refering objects SearchAProject=Search a project ProjectMustBeValidatedFirst=Project must be validated first ProjectDraft=Draft projects -FirstAddRessourceToAllocateTime=Associate a ressource to allocate time +FirstAddRessourceToAllocateTime=Associate a resource to allocate time InputPerDay=Input per day InputPerWeek=Input per week InputPerAction=Input per action TimeAlreadyRecorded=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 +ResourceNotAssignedToTask=Not assigned to task diff --git a/htdocs/langs/zh_TW/propal.lang b/htdocs/langs/zh_TW/propal.lang index cfd1c439c67..1c2d42758f9 100644 --- a/htdocs/langs/zh_TW/propal.lang +++ b/htdocs/langs/zh_TW/propal.lang @@ -4,7 +4,7 @@ Proposal=商業建議 ProposalShort=建議 ProposalsDraft=商業建議草案 ProposalDraft=商業建議草案 -ProposalsOpened=新開張的商業建議 +ProposalsOpened=Open commercial proposals Prop=商業建議 CommercialProposal=商業建議 CommercialProposals=商業建議 @@ -16,7 +16,7 @@ Prospect=展望 ProspectList=展望名單 DeleteProp=商業建議刪除 ValidateProp=驗證的商業建議 -AddProp=新增提案 +AddProp=Create proposal ConfirmDeleteProp=你確定要刪除這個商業建議? ConfirmValidateProp=你確定要驗證這個商業建議? LastPropals=最後%的提議 @@ -31,7 +31,7 @@ AmountOfProposalsByMonthHT=按月份金額(稅後) NbOfProposals=商業建議數 ShowPropal=顯示建議 PropalsDraft=草稿 -PropalsOpened=開業 +PropalsOpened=Open PropalsNotBilled=閉不計費 PropalStatusDraft=草案(等待驗證) PropalStatusValidated=驗證(建議打開) @@ -42,7 +42,7 @@ PropalStatusNotSigned=不簽署(非公開) PropalStatusBilled=帳單 PropalStatusDraftShort=草案 PropalStatusValidatedShort=驗證 -PropalStatusOpenedShort=開業 +PropalStatusOpenedShort=Open PropalStatusClosedShort=關閉 PropalStatusSignedShort=簽名 PropalStatusNotSignedShort=未簽署 @@ -51,12 +51,10 @@ PropalsToClose=商業建議關閉 PropalsToBill=到法案簽署商業建議 ListOfProposals=商業建議名單 ActionsOnPropal=行動上的建議 -NoOpenedPropals=沒有開放的商業建議 -NoOtherOpenedPropals=沒有其他打開的商業建議 +NoOpenedPropals=No open commercial proposals +NoOtherOpenedPropals=No other open commercial proposals RefProposal=商業建議參考 SendPropalByMail=通過郵件發送的商業建議 -FileNotUploaded=該文件沒有上載 -FileUploaded=該文件被成功上傳 AssociatedDocuments=相關文件的建議: ErrorCantOpenDir=無法打開目錄 DatePropal=日期的建議 @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal%s不符合 Estimate=估計: EstimateShort=估計 OtherPropals=其他建議 -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Add to draft proposal +NoDraftProposals=No draft proposals CopyPropalFrom=通過復制現有的商業建議提案 CreateEmptyPropal=創建空的商業建議維耶熱或從產品/服務列表 DefaultProposalDurationValidity=默認的商業建議有效期(天數) @@ -97,6 +95,7 @@ TypeContact_propal_external_CUSTOMER=客戶聯系隨訪的建議 # Document models DocModelAzurDescription=一個完整的方案模型(logo. ..) DocModelJauneDescription=特賈恩方案模型 -# DefaultModelPropalCreate=Default model creation -# DefaultModelPropalToBill=Default template when closing a business proposal (to be invoiced) -# DefaultModelPropalClosed=Default template when closing a business proposal (unbilled) +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 diff --git a/htdocs/langs/zh_TW/salaries.lang b/htdocs/langs/zh_TW/salaries.lang index 28c21adfad3..953a9c7540c 100644 --- a/htdocs/langs/zh_TW/salaries.lang +++ b/htdocs/langs/zh_TW/salaries.lang @@ -11,3 +11,5 @@ ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price CurrentSalary=Current salary +THMDescription=This value may be used to calculate cost of time consumed on a project entered by users if module project is used +TJMDescription=This value is currently as information only and is not used for any calculation diff --git a/htdocs/langs/zh_TW/sendings.lang b/htdocs/langs/zh_TW/sendings.lang index 9e6201c8bee..4186de38c3f 100644 --- a/htdocs/langs/zh_TW/sendings.lang +++ b/htdocs/langs/zh_TW/sendings.lang @@ -53,7 +53,7 @@ DocumentModelSimple=簡單的文件範本 DocumentModelMerou=Merou A5 範本 WarningNoQtyLeftToSend=警告,沒有產品等待裝運。 StatsOnShipmentsOnlyValidated=Statistics conducted on shipments only validated. Date used is date of validation of shipment (planed delivery date is not always known). -DateDeliveryPlanned=預計交貨日期 +DateDeliveryPlanned=Planned date of delivery DateReceived=交貨收到日期 SendShippingByEMail=通過電子郵件發送貨物 SendShippingRef=Submission of shipment %s @@ -67,7 +67,7 @@ SendingRunning=Product from ordered customer orders SuppliersReceiptRunning=Product from ordered supplier orders ProductQtyInCustomersOrdersRunning=Product quantity into opened customers orders ProductQtyInSuppliersOrdersRunning=Product quantity into opened suppliers orders -ProductQtyInShipmentAlreadySent=Product quantity from opended customer order already sent +ProductQtyInShipmentAlreadySent=Product quantity from opened customer order already sent ProductQtyInSuppliersShipmentAlreadyRecevied=Product quantity from opened supplier order already received # Sending methods diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index 32d119b32bb..c257a2dfa9f 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -5,7 +5,7 @@ Warehouses=倉庫 NewWarehouse=新倉庫/庫存區 WarehouseEdit=修改倉庫 MenuNewWarehouse=新倉庫 -WarehouseOpened=打開倉庫 +WarehouseOpened=Warehouse open WarehouseClosed=關閉倉庫 WarehouseSource=來源倉庫 WarehouseSourceNotDefined=No warehouse defined, @@ -95,15 +95,16 @@ SelectWarehouseForStockDecrease=選擇倉庫庫存減少使用 SelectWarehouseForStockIncrease=選擇使用庫存增加的倉庫 NoStockAction=No stock action LastWaitingSupplierOrders=Orders waiting for receptions -DesiredStock=Desired stock +DesiredStock=Desired minimum stock +DesiredMaxStock=Desired maximum stock StockToBuy=To order Replenishment=Replenishment ReplenishmentOrders=Replenishment orders -VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differs +VirtualDiffersFromPhysical=According to increase/decrease stock options, physical stock and virtual stock (physical + current orders) may differ UseVirtualStockByDefault=Use virtual stock by default, instead of physical stock, for replenishment feature UseVirtualStock=Use virtual stock UsePhysicalStock=Use physical stock -CurentSelectionMode=Curent selection mode +CurentSelectionMode=Current selection mode CurentlyUsingVirtualStock=Virtual stock CurentlyUsingPhysicalStock=Physical stock RuleForStockReplenishment=Rule for stocks replenishment @@ -112,8 +113,8 @@ AlertOnly= Alerts only WarehouseForStockDecrease=The warehouse %s will be used for stock decrease WarehouseForStockIncrease=The warehouse %s will be used for stock increase ForThisWarehouse=For this warehouse -ReplenishmentStatusDesc=This is list of all product with a stock lower than desired stock (or lower than alert value if checkbox "alert only" is checked), and suggest you to create supplier orders to fill the difference. -ReplenishmentOrdersDesc=This is list of all opened supplier orders including predefined products. Only opened orders with predefined products, so that may affect stocks, are visible here. +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), and suggest you to create supplier orders to fill the difference. +ReplenishmentOrdersDesc=This is a list of all opened supplier orders including predefined products. Only opened 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) @@ -124,16 +125,16 @@ RecordMovement=Record transfert ReceivingForSameOrder=Receipts for this order StockMovementRecorded=Stock movements recorded RuleForStockAvailability=Rules on stock requirements -StockMustBeEnoughForInvoice=Stock level must be enough to add product/service into invoice -StockMustBeEnoughForOrder=Stock level must be enough to add product/service into order -StockMustBeEnoughForShipment= Stock level must be enough to add product/service into shipment +StockMustBeEnoughForInvoice=Stock level must be enough to add product/service to invoice +StockMustBeEnoughForOrder=Stock level must be enough to add product/service to order +StockMustBeEnoughForShipment= Stock level must be enough to add product/service to shipment MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package ShowWarehouse=Show warehouse -MovementCorrectStock=Stock content correction for product %s +MovementCorrectStock=Stock correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse -WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. +WarehouseMustBeSelectedAtFirstStepWhenProductBatchModuleOn=Source warehouse must be defined here when "Product lot" module is on. It will be used to list wich lot/serial is available for product that required lot/serial data for movement. If you want to send products from different warehouses, just make the shipment into several steps. InventoryCodeShort=Inv./Mov. code -NoPendingReceptionOnSupplierOrder=No pending reception due to opened supplier order +NoPendingReceptionOnSupplierOrder=No pending reception due to open supplier order ThisSerialAlreadyExistWithDifferentDate=This lot/serial number (%s) already exists but with different eatby or sellby date (found %s but you enter %s). diff --git a/htdocs/langs/zh_TW/suppliers.lang b/htdocs/langs/zh_TW/suppliers.lang index 91acd977504..f45d880c0f9 100644 --- a/htdocs/langs/zh_TW/suppliers.lang +++ b/htdocs/langs/zh_TW/suppliers.lang @@ -42,5 +42,5 @@ SentToSuppliers=Sent to suppliers ListOfSupplierOrders=List of supplier orders MenuOrdersSupplierToBill=Supplier orders to invoice NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +DescNbDaysToDelivery=The biggest deliver delay of the products from this order UseDoubleApproval=Use double approval (the second approval can be done by any user with the dedicated permission) diff --git a/htdocs/langs/zh_TW/trips.lang b/htdocs/langs/zh_TW/trips.lang index 6dc462f3cdf..cb39ec0ad2f 100644 --- a/htdocs/langs/zh_TW/trips.lang +++ b/htdocs/langs/zh_TW/trips.lang @@ -7,7 +7,7 @@ TripsAndExpenses=Expenses reports TripsAndExpensesStatistics=Expense reports statistics TripCard=Expense report card AddTrip=Create expense report -ListOfTrips=List of expense report +ListOfTrips=List of expense reports ListOfFees=費用清單 NewTrip=New expense report CompanyVisited=公司/基礎訪問 @@ -27,7 +27,7 @@ AnyOtherInThisListCanValidate=Person to inform for validation. TripSociete=Information company TripSalarie=Informations user TripNDF=Informations expense report -DeleteLine=Delete a ligne of the expense report +DeleteLine=Delete a line of the expense report ConfirmDeleteLine=Are you sure you want to delete this line ? PDFStandardExpenseReports=Standard template to generate a PDF document for expense report ExpenseReportLine=Expense report line @@ -40,11 +40,10 @@ TF_BUS=Bus TF_CAR=Car TF_PEAGE=Toll TF_ESSENCE=Fuel -TF_HOTEL=Hostel +TF_HOTEL=Hotel TF_TAXI=Taxi ErrorDoubleDeclaration=You have declared another expense report into a similar date range. -ListTripsAndExpenses=List of expense reports AucuneNDF=No expense reports found for this criteria AucuneLigne=There is no expense report declared yet AddLine=Add a line @@ -56,12 +55,12 @@ ModePaiement=Payment mode Note=Note Project=Project -VALIDATOR=User to inform for approbation +VALIDATOR=User responsible for approval VALIDOR=Approved by AUTHOR=Recorded by -AUTHORPAIEMENT=Paied by +AUTHORPAIEMENT=Paid by REFUSEUR=Denied by -CANCEL_USER=Canceled by +CANCEL_USER=Deleted by MOTIF_REFUS=Reason MOTIF_CANCEL=Reason @@ -74,7 +73,7 @@ DATE_PAIEMENT=Payment date TO_PAID=Pay BROUILLONNER=Reopen -SendToValid=Sent to approve +SendToValid=Sent on approval ModifyInfoGen=Edit ValidateAndSubmit=Validate and submit for approval @@ -93,7 +92,7 @@ ConfirmPaidTrip=Are you sure you want to change status of this expense report to CancelTrip=Cancel an expense report ConfirmCancelTrip=Are you sure you want to cancel this expense report ? -BrouillonnerTrip=Move back expense report to status "Draft"n +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 diff --git a/htdocs/langs/zh_TW/users.lang b/htdocs/langs/zh_TW/users.lang index 9b4cf4f6f2e..458baa5b1ec 100644 --- a/htdocs/langs/zh_TW/users.lang +++ b/htdocs/langs/zh_TW/users.lang @@ -57,6 +57,7 @@ RemoveFromGroup=從組中刪除 PasswordChangedAndSentTo=密碼更改,發送到%s。 PasswordChangeRequestSent=要求更改密碼的S%發送到%s。 MenuUsersAndGroups=用戶和群組 +MenuMyUserCard=My user card LastGroupsCreated=共建立 %s 群組 LastUsersCreated=共建立 %s 位用戶 ShowGroup=顯示群組 diff --git a/htdocs/langs/zh_TW/workflow.lang b/htdocs/langs/zh_TW/workflow.lang index 940da38e45f..0714ffcc0a8 100644 --- a/htdocs/langs/zh_TW/workflow.lang +++ b/htdocs/langs/zh_TW/workflow.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=工作流模塊的設置 -WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is opened (you make thing in order you want). You can activate the automatic actions that you are interesting in. -ThereIsNoWorkflowToModify=沒有工作流程,您可以修改你已激活的模塊。 -descWORKFLOW_PROPAL_AUTOCREATE_ORDER=商業提案簽署後自動創建一個客戶訂單 -descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=商業提案簽署後自動創建一個客戶發票 -descWORKFLOW_CONTRACT_AUTOCREATE_INVOICE=創建一個客戶發票,合同驗證後自動 -descWORKFLOW_ORDER_AUTOCREATE_INVOICE=創建一個客戶發票,客戶訂單後自動關閉 +WorkflowDesc=This module is designed to modify the behaviour of automatic actions into application. By default, workflow is open (you can do things in the order you want). You can activate the automatic actions you are interested in. +ThereIsNoWorkflowToModify=There is no workflow to modify for the activated module. +descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Automatically create a customer order after a commercial proposal is signed +descWORKFLOW_PROPAL_AUTOCREATE_INVOICEAutomatically create a customer invoice after a commercial proposal is signed +descWORKFLOW_CONTRACT_AUTOCREATE_INVOICEAutomatically create a customer invoice after a contract is validated +descWORKFLOW_ORDER_AUTOCREATE_INVOICEAutomatically create a customer invoice after a customer order is closed descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Classify linked source proposal to billed when customer order is set to paid descWORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is set to paid descWORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER=Classify linked source customer order(s) to billed when customer invoice is validated diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 1a89a377fef..7ea9920d65b 100644 --- a/htdocs/livraison/card.php +++ b/htdocs/livraison/card.php @@ -43,6 +43,7 @@ $langs->load("sendings"); $langs->load("bills"); $langs->load('deliveries'); $langs->load('orders'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); $action=GETPOST('action', 'alpha'); $confirm=GETPOST('confirm', 'alpha'); @@ -80,6 +81,7 @@ if ($action == 'add') $object->date_livraison = time(); $object->note = $_POST["note"]; $object->commande_id = $_POST["commande_id"]; + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); if (!$conf->expedition_bon->enabled && ! empty($conf->stock->enabled)) { @@ -119,7 +121,10 @@ if ($action == 'add') } } -else if ($action == 'confirm_valid' && $confirm == 'yes' && $user->rights->expedition->livraison->valider) +else if ($action == 'confirm_valid' && $confirm == 'yes' && + ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison_advance->validate))) +) { $result = $object->valid($user); @@ -170,6 +175,12 @@ if ($action == 'setdate_livraison' && $user->rights->expedition->livraison->cree } } +// Set incoterm +elseif ($action == 'set_incoterms' && !empty($conf->incoterm->enabled)) +{ + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); +} + /* * Build document */ @@ -188,15 +199,12 @@ if ($action == 'builddoc') // En get ou en post $outputlangs = new Translate("",$conf); $outputlangs->setDefaultLang($newlang); } - if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) - { - $ret=$object->fetch($id); // Reload to get new records - $result= $object->generateDocument($object->modelpdf, $outputlangs); - } + $ret=$object->fetch($id); // Reload to get new records + $result= $object->generateDocument($object->modelpdf, $outputlangs); if ($result < 0) { - dol_print_error($db,$result); - exit; + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } @@ -383,7 +391,7 @@ if ($action == 'create') */ print ''; $quantite_livree = $commande->livraisons[$line->id]; - print $quantite_livree;; + print $quantite_livree; print ''; $quantite_commandee = $line->qty; @@ -576,6 +584,29 @@ else print ''; print ''; + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
'; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->expedition->livraison->creer) print ''.img_edit().''; + else print ' '; + print '
'; + print ''; + print ''; + if ($action != 'editincoterm') + { + print $form->textwithpicto($object->display_incoterms(), $object->libelle_incoterms, 1); + } + else + { + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:''), $_SERVER['PHP_SELF'].'?id='.$object->id); + } + print ''; + } + // Note Public print ''.$langs->trans("NotePublic").''; print ''; @@ -757,10 +788,14 @@ else $shipment = new Expedition($db); $shipment->fetch($object->origin_id); - $somethingshown=$shipment->showLinkedObjectBlock(); + // Linked object block + $somethingshown = $form->showLinkedObjectBlock($shipment); + + // Show links to link elements + //$linktoelem = $form->showLinkToObjectBlock($shipment); + //if ($linktoelem) print '
'.$linktoelem; } - if ($genallowed && ! $somethingshown) $somethingshown=1; print ''; diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index e95fac9f639..3a1704f8d8d 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -5,7 +5,7 @@ * Copyright (C) 2007 Franky Van Liedekerke * Copyright (C) 2011-2012 Philippe Grand * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -52,6 +52,11 @@ class Livraison extends CommonObject var $ref_customer; var $statut; + /** + * @deprecated + * @see note_public, note_private + */ + var $note; var $note_public; var $note_private; @@ -60,6 +65,10 @@ class Livraison extends CommonObject var $date_valid; var $model_pdf; + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip /** * Constructor @@ -115,6 +124,7 @@ class Livraison extends CommonObject $sql.= ", note_private"; $sql.= ", note_public"; $sql.= ", model_pdf"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ") VALUES ("; $sql.= "'(PROV)'"; $sql.= ", ".$conf->entity; @@ -127,6 +137,8 @@ class Livraison extends CommonObject $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.= ", ".(!empty($this->model_pdf)?"'".$this->db->escape($this->model_pdf)."'":"null"); + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ")"; dol_syslog("Livraison::create", LOG_DEBUG); @@ -265,8 +277,11 @@ class Livraison extends CommonObject $sql.=" l.total_ht, l.fk_statut, l.fk_user_valid, l.note_private, l.note_public"; $sql.= ", l.date_delivery, l.fk_address, l.model_pdf"; $sql.= ", el.fk_source as origin_id, el.sourcetype as origin"; + $sql.= ', l.fk_incoterms, l.location_incoterms'; + $sql.= ", i.libelle as libelle_incoterms"; $sql.= " FROM ".MAIN_DB_PREFIX."livraison as l"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = l.rowid AND el.targettype = '".$this->element."'"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON l.fk_incoterms = i.rowid'; $sql.= " WHERE l.rowid = ".$id; dol_syslog(get_class($this)."::fetch", LOG_DEBUG); @@ -295,6 +310,10 @@ class Livraison extends CommonObject $this->origin = $obj->origin; // May be 'shipping' $this->origin_id = $obj->origin_id; // May be id of shipping + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; $this->db->free($result); if ($this->statut == 0) $this->brouillon = 1; @@ -341,7 +360,8 @@ class Livraison extends CommonObject $error = 0; - if ($user->rights->expedition->livraison->valider) + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison->creer)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->expedition->livraison_advance->validate))) { if (! empty($conf->global->LIVRAISON_ADDON_NUMBER)) { @@ -513,6 +533,10 @@ class Livraison extends CommonObject $this->fk_delivery_address = $expedition->fk_delivery_address; $this->socid = $expedition->socid; $this->ref_customer = $expedition->ref_customer; + + //Incoterms + $this->fk_incoterms = $expedition->fk_incoterms; + $this->location_incoterms = $expedition->location_incoterms; return $this->create($user); } @@ -649,9 +673,9 @@ class Livraison extends CommonObject } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @return string Chaine avec URL */ function getNomUrl($withpicto=0) @@ -660,17 +684,17 @@ class Livraison extends CommonObject $result=''; $urlOption=''; + $label=$langs->trans("ShowReceiving").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='sending'; - $label=$langs->trans("ShowReceiving").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - $result.=$lien.$this->ref.$lienfin; + $result.=$link.$this->ref.$linkend; return $result; } @@ -971,6 +995,23 @@ class Livraison extends CommonObject return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, 0, 0, 0); } + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'livraison' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } + } @@ -978,10 +1019,8 @@ class Livraison extends CommonObject /** * Classe de gestion des lignes de bons de livraison */ -class LivraisonLigne +class LivraisonLigne extends CommonObjectLine { - var $db; - // From llx_expeditiondet var $qty; var $qty_asked; @@ -991,7 +1030,19 @@ class LivraisonLigne var $origin_id; var $label; // Label produit var $description; // Description produit + /** + * @deprecated + * @see product_ref + */ var $ref; + /** + * @deprecated + * @see product_label; + */ + var $libelle; + + public $product_ref; + public $product_label; /** * Constructor diff --git a/htdocs/loan/calc.php b/htdocs/loan/calc.php new file mode 100644 index 00000000000..bb6fe9451b6 --- /dev/null +++ b/htdocs/loan/calc.php @@ -0,0 +1,385 @@ + + * Copyright (C) 2014 Alexandre Spangaro + * Copyright (C) 2015 Frederic 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 . + */ + +require '../main.inc.php'; + +$langs->load("loan"); + +/* --------------------------------------------------- * + * Set Form DEFAULT values + * --------------------------------------------------- */ +$default_sale_price = "150000"; +$default_annual_interest_percent = 7.0; +$default_year_term = 30; +$default_down_percent = 10; +$default_show_progress = TRUE; + +/* --------------------------------------------------- * + * Initialize Variables + * --------------------------------------------------- */ +$sale_price = 0; +$annual_interest_percent = 0; +$year_term = 0; +$down_percent = 0; +$this_year_interest_paid = 0; +$this_year_principal_paid = 0; +$form_complete = false; +$show_progress = false; +$monthly_payment = false; +$show_progress = false; +$error = false; + +/* --------------------------------------------------- * + * Set the USER INPUT values + * --------------------------------------------------- */ +if (isset($_REQUEST['form_complete'])) { + $sale_price = $_REQUEST['sale_price']; + $annual_interest_percent = $_REQUEST['annual_interest_percent']; + $year_term = $_REQUEST['year_term']; + $down_percent = $_REQUEST['down_percent']; + $show_progress = (isset($_REQUEST['show_progress'])) ? $_REQUEST['show_progress'] : false; + $form_complete = $_REQUEST['form_complete']; +} + +// This function does the actual mortgage calculations +// by plotting a PVIFA (Present Value Interest Factor of Annuity) +// table... +function get_interest_factor($year_term, $monthly_interest_rate) { + global $base_rate; + + $factor = 0; + $base_rate = 1 + $monthly_interest_rate; + $denominator = $base_rate; + for ($i=0; $i < ($year_term * 12); $i++) { + $factor += (1 / $denominator); + $denominator *= $base_rate; + } + return $factor; +} + +// If the form is complete, we'll start the math +if ($form_complete) { + // We'll set all the numeric values to JUST + // numbers - this will delete any dollars signs, + // commas, spaces, and letters, without invalidating + // the value of the number + $sale_price = preg_replace( "[^0-9.]", "", $sale_price); + $annual_interest_percent = preg_replace( "[^0-9.]", "", $annual_interest_percent); + $year_term = preg_replace( "[^0-9.]", "", $year_term); + $down_percent = preg_replace( "[^0-9.]", "", $down_percent); + + if ((float) $year_term <= 0) { + $errors[] = "You must enter a Sale Price of Home"; + } + if ((float) $sale_price <= 0) { + $errors[] = "You must enter a Length of Mortgage"; + } + if ((float) $annual_interest_percent <= 0) { + $errors[] = "You must enter an Annual Interest Rate"; + } + if (!$errors) { + $month_term = $year_term * 12; + $down_payment = $sale_price * ($down_percent / 100); + $annual_interest_rate = $annual_interest_percent / 100; + $monthly_interest_rate = $annual_interest_rate / 12; + $financing_price = $sale_price - $down_payment; + $monthly_factor = get_interest_factor($year_term, $monthly_interest_rate); + $monthly_payment = $financing_price / $monthly_factor; + } +} else { + if (!$sale_price) { $sale_price = $default_sale_price; } + if (!$annual_interest_percent) { $annual_interest_percent = $default_annual_interest_percent; } + if (!$year_term) { $year_term = $default_year_term; } + if (!$down_percent) { $down_percent = $default_down_percent; } + if (!$show_progress) { $show_progress = $default_show_progress; } +} + +if (! empty($errors)) { + setEventMessages('', $errors, 'errors'); + $form_complete = false; +} + +/* + * View + */ + +llxHeader(); + +print_fiche_titre($langs->trans("LoanCalc")); +print $langs->trans('LoanCalcDesc'); + +print '
'; +print ''; +print ''; +//print ''; +//print ''; +//print ''; +//print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print '';print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +if (! empty($show_progress)) +{ + print ''; +} +else +{ + print ''; +} + +print ''; +print '
'.$langs->trans('PurchaseFinanceInfo').'
'.$langs->trans('SalePriceOfAsset').': '.$langs->trans("Currency".$conf->currency).'
'.$langs->trans('PercentageDown').':%
'.$langs->trans('LengthOfMortgage').':years
'.$langs->trans('AnnualInterestRate').':%
'.$langs->trans('ExplainCalculations').':'.$langs->trans('ShowMeCalculationsAndAmortization').''.$langs->trans('ShowMeCalculationsAndAmortization').'
'; + +print '
    '; +print '
'; + +// If the form has already been calculated, the $down_payment +// and $monthly_payment variables will be figured out, so we can show them in this table +if ($form_complete && $monthly_payment) +{ + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + if ($down_percent < 20) + { + $pmi_per_month = 55 * ($financing_price / 100000); + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; +} + +print '
'.$langs->trans('MortgagePaymentInformation').'
'.$langs->trans('DownPayment').':' . number_format($down_payment, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '
'.$langs->trans('AmountFinanced').':' . number_format($financing_price, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '
'.$langs->trans('MonthlyPayment').':' . number_format($monthly_payment, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '
(Principal & Interest ONLY)
 '; + print '
'; + echo 'Since you are putting LESS than 20% down, you will need to pay PMI + (Private Mortgage Insurance), which tends + to be about $55 per month for every $100,000 financed (until you have paid off 20% of your loan). This could add + '."\$" . number_format($pmi_per_month, "2", ".", ",").' to your monthly payment.'; + print '
'.$langs->trans('MonthlyPayment').':' . number_format(($monthly_payment + $pmi_per_month), "2", ".", ",") . $langs->trans("Currency".$conf->currency) . '
'; + print '(Principal & Interest, and PMI)
 '; + print '
'; + + $assessed_price = ($sale_price * .85); + $residential_yearly_tax = ($assessed_price / 1000) * 14; + $residential_monthly_tax = $residential_yearly_tax / 12; + + if ($pmi_per_month) + { + $pmi_text = "PMI and "; + } + + echo "Residential (or Property) Taxes are a little harder to figure out... In Massachusetts, the average resedential tax rate seems + to be around $14 per year for every $1,000 of your property's assessed value."; + + print '

'; + print "Let's say that your property's assessed value is 85% of what you actually paid for it - "; + print number_format($assessed_price, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . 'This would mean that your yearly residential taxes will be around'; + print number_format($residential_yearly_tax, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency); + print 'This could add ' . number_format($residential_monthly_tax, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . 'to your monthly payment'; + print '
TOTAL Monthly Payment:' . number_format(($monthly_payment + $pmi_per_month + $residential_monthly_tax), "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '
'; + print '(including '.$pmi_text.' residential tax)
'; +print '
'; + +// This prints the calculation progress and +// the instructions of HOW everything is figured +// out +if ($form_complete && $show_progress) { + $step = 1; + + print '

'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'. $step++ .''; + print $langs->trans('DownPaymentDesc').'

'; + print number_format($down_payment,"2",".",",") . ' ' . $langs->trans("Currency".$conf->currency) . ' = '; + print number_format($sale_price,"2",".",",") . ' ' . $langs->trans("Currency".$conf->currency) . ' X (' . $down_percent . ' / 100)'; + print '
' . $step++ . ''; + print $langs->trans('InterestRateDesc') . '

'; + print $annual_interest_rate . ' = ' . $annual_interest_percent . '% / 100'; + print '
'; + print $langs->trans('MonthlyFactorDesc') . ':'; + print '
' . $step++ . ''; + print $langs->trans('MonthlyInterestRateDesc') . '

'; + print $monthly_interest_rate . ' = ' . $annual_interest_rate . ' / 12'; + print '
' . $step++ . ''; + print $langs->trans('MonthTermDesc') . '

'; + print $month_term . ' '. $langs->trans('Months') . ' = ' . $year_term . ' '. $langs->trans('Years') . ' X 12'; + print '
' . $step++ . ''; + print $langs->trans('MonthlyPaymentDesc') . ':
'; + print $langs->trans('MonthlyPayment').' = ' . number_format($financing_price, "2", "", "") . ' * '; + print '(1 - ((1 + ' . number_format($monthly_interest_rate, "4", "", "") . ')'; + print '-(' . $month_term . '))))'; + print '

'; + print $langs->trans('AmortizationPaymentDesc'); + print '
'; + print '
'; + + + // Set some base variables + $principal = $financing_price; + $current_month = 1; + $current_year = 1; + + // This basically, re-figures out the monthly payment, again. + $power = -($month_term); + $denom = pow((1 + $monthly_interest_rate), $power); + $monthly_payment = $principal * ($monthly_interest_rate / (1 - $denom)); + + print '

'.$langs->trans('AmortizationMonthlyPaymentOverYears', number_format($monthly_payment, "2", ".", ","), $year_term)."
\n"; + + print ''; + + // This LEGEND will get reprinted every 12 months + $legend = ''; + $legend.= ''; + $legend.= ''; + $legend.= ''; + $legend.= ''; + $legend.= ''; + + print $legend; + + // Loop through and get the current month's payments for + // the length of the loan + while ($current_month <= $month_term) + { + $interest_paid = $principal * $monthly_interest_rate; + $principal_paid = $monthly_payment - $interest_paid; + $remaining_balance = $principal - $principal_paid; + + $this_year_interest_paid = $this_year_interest_paid + $interest_paid; + $this_year_principal_paid = $this_year_principal_paid + $principal_paid; + + $var = !$var; + print ""; + print ''; + print ''; + print ''; + print ''; + print ''; + + ($current_month % 12) ? $show_legend = FALSE : $show_legend = TRUE; + + if ($show_legend) { + print ''; + print ''; + print ''; + + $total_spent_this_year = $this_year_interest_paid + $this_year_principal_paid; + print ''; + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + + $current_year++; + $this_year_interest_paid = 0; + $this_year_principal_paid = 0; + + if (($current_month + 6) < $month_term) + { + echo $legend; + } + } + $principal = $remaining_balance; + $current_month++; + } + print "
' . $langs->trans("Month") . '' . $langs->trans("Interest") . '' . $langs->trans("Capital") . '' . $langs->trans("Position") . '
' . $current_month . '' . number_format($interest_paid, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '' . number_format($principal_paid, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '' . number_format($remaining_balance, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency) . '
' . $langs->trans("Totalsforyear") . ' ' . $current_year . '
 '; + print $langs->trans('YouWillSpend', number_format($total_spent_this_year, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency), $current_year) . '
'; + print $langs->trans('GoToInterest', number_format($this_year_interest_paid, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency)) . '
'; + print $langs->trans('GoToPrincipal', number_format($this_year_principal_paid, "2", ".", ",") . ' ' . $langs->trans("Currency".$conf->currency)) . '
'; + print '
 
\n"; +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/card.php b/htdocs/loan/card.php new file mode 100644 index 00000000000..ad32f7b6ced --- /dev/null +++ b/htdocs/loan/card.php @@ -0,0 +1,531 @@ + + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/loan/card.php + * \ingroup loan + * \brief Loan card + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; + +$langs->load("compta"); +$langs->load("bills"); +$langs->load("loan"); + +$id=GETPOST('id','int'); +$action=GETPOST('action'); +$confirm=GETPOST('confirm'); +$cancel=GETPOST('cancel','alpha'); + +// Security check +$socid = GETPOST('socid','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'loan', $id, '',''); + +$object = new Loan($db); + +/* + * Actions + */ + +// Classify paid +if ($action == 'confirm_paid' && $confirm == 'yes') +{ + $object->fetch($id); + $result = $object->set_paid($user); + if ($result > 0) + { + setEventMessage($langs->trans('LoanPaid')); + } + else + { + setEventMessage($loan->error, 'errors'); + } +} + +// Delete loan +if ($action == 'confirm_delete' && $confirm == 'yes') +{ + $object->fetch($id); + $result=$object->delete($user); + if ($result > 0) + { + setEventMessage($langs->trans('LoanDeleted')); + header("Location: index.php"); + exit; + } + else + { + setEventMessage($loan->error, 'errors'); + } +} + +// Add loan +if ($action == 'add' && $user->rights->loan->write) +{ + if (! $cancel) + { + $datestart=@dol_mktime(12,0,0, $_POST["startmonth"], $_POST["startday"], $_POST["startyear"]); + $dateend=@dol_mktime(12,0,0, $_POST["endmonth"], $_POST["endday"], $_POST["endyear"]); + + if (! $datestart) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateStart")), 'errors'); + $action = 'create'; + } + elseif (! $dateend) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("DateEnd")), 'errors'); + $action = 'create'; + } + elseif (! $_POST["capital"]) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Capital")), 'errors'); + $action = 'create'; + } + else + { + $object->label = $_POST["label"]; + $object->fk_bank = $_POST["accountid"]; + $object->capital = $_POST["capital"]; + $object->datestart = $datestart; + $object->dateend = $dateend; + $object->nbterm = $_POST["nbterm"]; + $object->rate = $_POST["rate"]; + $object->note_private = GETPOST('note_private'); + $object->note_public = GETPOST('note_public'); + + $object->account_capital = $_POST["accountancy_account_capital"]; + $object->account_insurance = $_POST["accountancy_account_insurance"]; + $object->account_interest = $_POST["accountancy_account_interest"]; + + $id=$object->create($user); + if ($id <= 0) + { + setEventMessage($object->error, 'errors'); + } + } + } + else + { + header("Location: index.php"); + exit(); + } +} + +// Update record +else if ($action == 'update' && $user->rights->loan->write) +{ + if (! $cancel) + { + $result = $object->fetch($id); + + if ($object->fetch($id)) + { + $object->label = GETPOST("label"); + $object->datestart = dol_mktime(12, 0, 0, GETPOST('startmonth','int'), GETPOST('startday','int'), GETPOST('startyear','int')); + $object->dateend = dol_mktime(12, 0, 0, GETPOST('endmonth','int'), GETPOST('endday','int'), GETPOST('endyear','int')); + $object->nbterm = GETPOST("nbterm"); + $object->rate = GETPOST("rate"); + } + + $result = $object->update($user); + + if ($result > 0) + { + header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id); + exit; + } + else + { + setEventMessage($object->error, 'errors'); + } + } + else + { + header("Location: " . $_SERVER["PHP_SELF"] . "?id=" . $id); + exit; + } +} + +/* + * View + */ + +$form = new Form($db); + +$help_url='EN:Module_Loan|FR:Module_Emprunt'; +llxHeader("",$langs->trans("Loan"),$help_url); + + +// Create mode +if ($action == 'create') +{ + //WYSIWYG Editor + require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + + print_fiche_titre($langs->trans("NewLoan")); + + $datec = dol_mktime(12, 0, 0, GETPOST('remonth','int'), GETPOST('reday','int'), GETPOST('reyear','int')); + + print '
' . "\n"; + print ''; + print ''; + + dol_fiche_head(); + + print ''; + + // Label + print ''; + + // Bank account + if (! empty($conf->banque->enabled)) + { + print ''; + } + else + { + print ''; + } + + // Capital + print ''; + + // Date Start + print ""; + print ''; + + // Date End + print ""; + print ''; + + // Number of terms + print ''; + + // Rate + print ''; + + // Note Private + print ''; + print ''; + print ''; + + // Note Public + print ''; + print ''; + print ''; + + print '
'.$langs->trans("Label").'
'.$langs->trans("Account").''; + $form->select_comptes($GETPOST["accountid"],"accountid",0,"courant=1",1); // Show list of bank account with courant + print '
'.$langs->trans("Account").''; + print $langs->trans("NoBankAccountDefined"); + print '
'.$langs->trans("Capital").'
'.$langs->trans("DateStart").''; + print $form->select_date($datestart?$datestart:-1,'start','','','','add',1,1); + print '
'.$langs->trans("DateEnd").''; + print $form->select_date($dateend?$dateend:-1,'end','','','','add',1,1); + print '
'.$langs->trans("Nbterms").'
'.$langs->trans("Rate").' %
'.$langs->trans('NotePrivate').''; + + $doleditor = new DolEditor('note_private', GETPOST('note_private', 'alpha'), '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100); + print $doleditor->Create(1); + + print '
'.$langs->trans('NotePublic').''; + $doleditor = new DolEditor('note_public', GETPOST('note_public', 'alpha'), '', 200, 'dolibarr_notes', 'In', false, true, true, ROWS_8, 100); + print $doleditor->Create(1); + print '
'; + + print '
'; + + // Accountancy + print ''; + + if ($conf->accounting->enabled) + { + print ''; + print ''; + + print ''; + print ''; + + print ''; + print ''; + } + else + { + print ''; + print ''; + + print ''; + print ''; + + print ''; + print ''; + } + + print '
'.$langs->trans("LoanAccountancyCapitalCode").''; + print '
'.$langs->trans("LoanAccountancyInsuranceCode").''; + print '
'.$langs->trans("LoanAccountancyInterestCode").''; + print '
'.$langs->trans("LoanAccountancyCapitalCode").''; + print '
'.$langs->trans("LoanAccountancyInsuranceCode").''; + print '
'.$langs->trans("LoanAccountancyInterestCode").''; + print '
'; + + dol_fiche_end(); + + print '
     '; + print '
'; + + print '
'; +} + +// View +if ($id > 0) +{ + $result = $object->fetch($id); + + if ($result > 0) + { + $head=loan_prepare_head($object); + + dol_fiche_head($head, 'card', $langs->trans("Loan"),0,'bill'); + + // Confirm for loan + if ($action == 'paid') + { + $text=$langs->trans('ConfirmPayLoan'); + print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans('PayLoan'),$text,"confirm_paid",'','',2); + } + + if ($action == 'delete') + { + $text=$langs->trans('ConfirmDeleteLoan'); + print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('DeleteLoan'),$text,'confirm_delete','','',2); + } + + if ($action == 'edit') + { + print '
' . "\n"; + print ''; + print ''; + print ''; + } + + print ''; + + // Ref + print '"; + + // Label + if ($action == 'edit') + { + print ''; + } + else + { + print ''; + } + + // Capital + print ''; + + // Date start + print ""; + print ""; + + // Date end + print ""; + print ""; + + // Nbterms + print ''; + + // Rate + print ''; + + // Note Private + print ''; + + // Note Public + print ''; + + // Status + print ''; + + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object,'id'); + print "
'.$langs->trans("Label").''; + print ''; + print '
'.$langs->trans("Label").''.$object->label.'
'.$langs->trans("Capital").''.price($object->capital,0,$outputlangs,1,-1,-1,$conf->currency).'
".$langs->trans("DateStart").""; + if ($action == 'edit') + { + print $form->select_date($object->datestart, 'start', 0, 0, 0, 'update', 1); + } + else + { + print dol_print_date($object->datestart,"day"); + } + print "
".$langs->trans("DateEnd").""; + if ($action == 'edit') + { + print $form->select_date($object->dateend, 'end', 0, 0, 0, 'update', 1); + } + else + { + print dol_print_date($object->dateend,"day"); + } + print "
'.$langs->trans("Nbterms").''.$object->nbterm.'
'.$langs->trans("Rate").''.$object->rate.' %
'.$langs->trans('NotePrivate').''.nl2br($object->note_private).'
'.$langs->trans('NotePublic').''.nl2br($object->note_public).'
'.$langs->trans("Status").''.$object->getLibStatut(4, $totalpaye).'
'; + + if ($action == 'edit') + { + print '
'; + print ''; + print '   '; + print ''; + print '
'; + print '
'; + } + + dol_fiche_end(); + + print ''; + print '"; + print "
'; + + /* + * Payments + */ + $sql = "SELECT p.rowid, p.num_payment, datep as dp,"; + $sql.= " p.amount_capital, p.amount_insurance, p.amount_interest,"; + $sql.= " c.libelle as paiement_type"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_loan as p"; + $sql.= ", ".MAIN_DB_PREFIX."c_paiement as c "; + $sql.= ", ".MAIN_DB_PREFIX."loan as l"; + $sql.= " WHERE p.fk_loan = ".$id; + $sql.= " AND p.fk_loan = l.rowid"; + $sql.= " AND l.entity = ".$conf->entity; + $sql.= " AND p.fk_typepayment = c.id"; + $sql.= " ORDER BY dp DESC"; + + //print $sql; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; + $total_insurance = 0; + $total_interest = 0; + $total_capital = 0; + echo ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $var=True; + while ($i < $num) + { + $objp = $db->fetch_object($resql); + $var=!$var; + print ""; + print ''; + print '\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; + $total_insurance += $objp->amount_insurance; + $total_interest += $objp->amount_interest; + $total_capital += $objp->amount_capital; + $i++; + } + + $totalpaid = $total_insurance + $total_interest + $total_capital; + + if ($object->paid == 0) + { + print ''; + print ''; + + $staytopay = $object->capital - $totalpaid; + + print ''; + print ''; + } + print "
'.$langs->trans("RefPayment").''.$langs->trans("Date").''.$langs->trans("Type").''.$langs->trans("Insurance").''.$langs->trans("Interest").''.$langs->trans("Capital").' 
'.img_object($langs->trans("Payment"),"payment").' '.$objp->rowid.''.dol_print_date($db->jdate($objp->dp),'day')."".$objp->paiement_type.' '.$objp->num_payment."'.price($objp->amount_insurance, 0, $langs, 0, 0, -1, $conf->currency)."'.price($objp->amount_interest, 0, $langs, 0, 0, -1, $conf->currency)."'.price($objp->amount_capital, 0, $langs, 0, 0, -1, $conf->currency)."
'.$langs->trans("AlreadyPaid").' :'.price($totalpaid, 0, $langs, 0, 0, -1, $conf->currency).'
'.$langs->trans("AmountExpected").' :'.price($object->capital, 0, $langs, 0, 0, -1, $conf->currency).'
'.$langs->trans("RemainderToPay").' :'.price($staytopay, 0, $langs, 0, 0, -1, $conf->currency).'
"; + $db->free($resql); + } + else + { + dol_print_error($db); + } + print "
"; + + /* + * Buttons actions + */ + if ($action != 'edit') + { + print '
'; + + // Edit + if ($user->rights->loan->write) + { + print ''.$langs->trans("Modify").''; + } + + // Emit payment + if ($object->paid == 0 && ((price2num($object->capital) > 0 && round($staytopay) < 0) || (price2num($object->capital) > 0 && round($staytopay) > 0)) && $user->rights->loan->write) + { + print ''.$langs->trans("DoPayment").''; + } + + // Classify 'paid' + if ($object->paid == 0 && round($staytopay) <=0 && $user->rights->loan->write) + { + print ''.$langs->trans("ClassifyPaid").''; + } + + // Delete + if ($user->rights->loan->delete) + { + print ''.$langs->trans("Delete").''; + } + + print "
"; + } + } + else + { + // Loan not find + dol_print_error('',$object->error); + } +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/class/index.html b/htdocs/loan/class/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/loan/class/loan.class.php b/htdocs/loan/class/loan.class.php new file mode 100644 index 00000000000..85d0694b725 --- /dev/null +++ b/htdocs/loan/class/loan.class.php @@ -0,0 +1,498 @@ + + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/loan/class/loan.class.php + * \ingroup loan + * \brief Class for loan module + */ +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; + + +/** \class Loan + * \brief Class to manage loan + */ +class Loan extends CommonObject +{ + public $element='loan'; + public $table='loan'; + public $table_element='loan'; + + var $id; + var $rowid; + var $ref; + var $datestart; + var $dateend; + var $label; + var $capital; + var $nbterm; + var $rate; + var $note_private; + var $note_public; + var $paid; + var $account_capital; + var $account_insurance; + var $account_interest; + var $date_creation; + var $date_modification; + var $date_validation; + var $fk_bank; + var $fk_user_creat; + var $fk_user_modif; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + /** + * Load object in memory from database + * + * @param int $id id object + * @return int <0 error , >=0 no error + */ + function fetch($id) + { + $sql = "SELECT l.rowid, l.label, l.capital, l.datestart, l.dateend, l.nbterm, l.rate, l.note_private, l.note_public,"; + $sql.= " l.paid"; + $sql.= " FROM ".MAIN_DB_PREFIX."loan as l"; + $sql.= " WHERE l.rowid = ".$id; + + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + $this->ref = $obj->rowid; + $this->datestart = $this->db->jdate($obj->datestart); + $this->dateend = $this->db->jdate($obj->dateend); + $this->label = $obj->label; + $this->capital = $obj->capital; + $this->nbterm = $obj->nbterm; + $this->rate = $obj->rate; + $this->note_private = $obj->note_private; + $this->note_public = $obj->note_public; + $this->paid = $obj->paid; + + return 1; + } + else + { + return 0; + } + $this->db->free($resql); + } + else + { + $this->error=$this->db->lasterror(); + return -1; + } + } + + + /** + * Create a loan into database + * + * @param User $user User making creation + * @return int <0 if KO, id if OK + */ + function create($user) + { + global $conf; + + $error=0; + + $now=dol_now(); + + // clean parameters + $newcapital=price2num($this->capital,'MT'); + if (isset($this->note_private)) $this->note_private = trim($this->note_private); + if (isset($this->note_public)) $this->note_public = trim($this->note_public); + if (isset($this->account_capital)) $this->account_capital = trim($this->account_capital); + if (isset($this->account_insurance)) $this->account_insurance = trim($this->account_insurance); + if (isset($this->account_interest)) $this->account_interest = trim($this->account_interest); + if (isset($this->fk_bank)) $this->fk_bank=trim($this->fk_bank); + if (isset($this->fk_user_creat)) $this->fk_user_creat=trim($this->fk_user_creat); + if (isset($this->fk_user_modif)) $this->fk_user_modif=trim($this->fk_user_modif); + + // Check parameters + if (! $newcapital > 0 || empty($this->datestart) || empty($this->dateend)) + { + $this->error="ErrorBadParameter"; + return -2; + } + if (($conf->accounting->enabled) && empty($this->account_capital) && empty($this->account_insurance) && empty($this->account_interest)) + { + $this->error="ErrorAccountingParameter"; + return -2; + } + + $this->db->begin(); + + $sql = "INSERT INTO ".MAIN_DB_PREFIX."loan (label, fk_bank, capital, datestart, dateend, nbterm, rate, note_private, note_public"; + $sql.= " ,accountancy_account_capital, accountancy_account_insurance, accountancy_account_interest, entity"; + $sql.= " ,datec, fk_user_author)"; + $sql.= " VALUES ('".$this->db->escape($this->label)."',"; + $sql.= " '".$this->db->escape($this->fk_bank)."',"; + $sql.= " '".price2num($newcapital)."',"; + $sql.= " '".$this->db->idate($this->datestart)."',"; + $sql.= " '".$this->db->idate($this->dateend)."',"; + $sql.= " '".$this->db->escape($this->nbterm)."',"; + $sql.= " '".$this->db->escape($this->rate)."',"; + $sql.= " '".$this->db->escape($this->note_private)."',"; + $sql.= " '".$this->db->escape($this->note_public)."',"; + $sql.= " '".$this->db->escape($this->account_capital)."',"; + $sql.= " '".$this->db->escape($this->account_insurance)."',"; + $sql.= " '".$this->db->escape($this->account_interest)."',"; + $sql.= " ".$conf->entity.","; + $sql.= " '".$this->db->idate($now)."',"; + $sql.= " ".$user->id; + $sql.= ")"; + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->id=$this->db->last_insert_id(MAIN_DB_PREFIX."loan"); + + //dol_syslog("Loans::create this->id=".$this->id); + $this->db->commit(); + return $this->id; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + + /** + * Delete a loan + * + * @param User $user Object user making delete + * @return int <0 if KO, >0 if OK + */ + function delete($user) + { + $error=0; + + $this->db->begin(); + + // Get bank transaction lines for this loan + include_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + $account=new Account($this->db); + $lines_url=$account->get_url('',$this->id,'loan'); + + // Delete bank urls + foreach ($lines_url as $line_url) + { + if (! $error) + { + $accountline=new AccountLine($this->db); + $accountline->fetch($line_url['fk_bank']); + $result=$accountline->delete_urls($user); + if ($result < 0) + { + $error++; + } + } + } + + // Delete payments + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."payment_loan where fk_loan='".$this->id."'"; + dol_syslog(get_class($this)."::delete", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) + { + $error++; + $this->error=$this->db->lasterror(); + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."loan where rowid='".$this->id."'"; + dol_syslog(get_class($this)."::delete", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) + { + $error++; + $this->error=$this->db->lasterror(); + } + } + + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + $this->db->rollback(); + return -1; + } + + } + + + /** + * Update loan + * + * @param User $user User who modified + * @return int <0 if error, >0 if ok + */ + function update($user) + { + $this->db->begin(); + + $sql = "UPDATE ".MAIN_DB_PREFIX."loan"; + $sql.= " SET label='".$this->db->escape($this->label)."',"; + $sql.= " datestart='".$this->db->idate($this->datestart)."',"; + $sql.= " dateend='".$this->db->idate($this->dateend)."',"; + $sql.= " fk_user_modif = ".$user->id; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::update", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error(); + $this->db->rollback(); + return -1; + } + } + + /** + * Tag loan as payed completely + * + * @param User $user Object user making change + * @return int <0 if KO, >0 if OK + */ + function set_paid($user) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."loan SET"; + $sql.= " paid = 1"; + $sql.= " WHERE rowid = ".$this->id; + $return = $this->db->query($sql); + if ($return) { + return 1; + } else { + $this->error=$this->db->lasterror(); + return -1; + } + } + + /** + * Return label of loan status (unpaid, paid) + * + * @param int $mode 0=label, 1=short label, 2=Picto + Short label, 3=Picto, 4=Picto + Label + * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) + * @return string Label + */ + function getLibStatut($mode=0,$alreadypaid=-1) + { + return $this->LibStatut($this->paid,$mode,$alreadypaid); + } + + /** + * Return label for given status + * + * @param int $statut Id statut + * @param int $mode 0=Label, 1=Short label, 2=Picto + Short label, 3=Picto, 4=Picto + Label, 5=Short label + Picto + * @param integer $alreadypaid 0=No payment already done, >0=Some payments were already done (we recommand to put here amount payed if you have it, 1 otherwise) + * @return string Label + */ + function LibStatut($statut,$mode=0,$alreadypaid=-1) + { + global $langs; + $langs->load('customers'); + $langs->load('bills'); + + if ($mode == 0) + { + if ($statut == 0) return $langs->trans("Unpaid"); + if ($statut == 1) return $langs->trans("Paid"); + } + if ($mode == 1) + { + if ($statut == 0) return $langs->trans("Unpaid"); + if ($statut == 1) return $langs->trans("Paid"); + } + if ($mode == 2) + { + if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid"); + if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3').' '.$langs->trans("BillStatusStarted"); + if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6').' '.$langs->trans("Paid"); + } + if ($mode == 3) + { + if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1'); + if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3'); + if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6'); + } + if ($mode == 4) + { + if ($statut == 0 && $alreadypaid <= 0) return img_picto($langs->trans("Unpaid"), 'statut1').' '.$langs->trans("Unpaid"); + if ($statut == 0 && $alreadypaid > 0) return img_picto($langs->trans("BillStatusStarted"), 'statut3').' '.$langs->trans("BillStatusStarted"); + if ($statut == 1) return img_picto($langs->trans("Paid"), 'statut6').' '.$langs->trans("Paid"); + } + if ($mode == 5) + { + if ($statut == 0 && $alreadypaid <= 0) return $langs->trans("Unpaid").' '.img_picto($langs->trans("Unpaid"), 'statut1'); + if ($statut == 0 && $alreadypaid > 0) return $langs->trans("BillStatusStarted").' '.img_picto($langs->trans("BillStatusStarted"), 'statut3'); + if ($statut == 1) return $langs->trans("Paid").' '.img_picto($langs->trans("Paid"), 'statut6'); + } + + return "Error, mode/status not found"; + } + + + /** + * Return clicable name (with eventually the picto) + * + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto + * @param int $maxlen Label max length + * @return string Chaine with URL + */ + function getLinkUrl($withpicto=0,$maxlen=0) + { + global $langs; + + $result=''; + + $tooltip = '' . $langs->trans("ShowLoan") . ''; + if (! empty($this->ref)) + $tooltip .= '
' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->label)) + $tooltip .= '
' . $langs->trans('Label') . ': ' . $this->label; + $link = ''; + $linkend = ''; + + if ($withpicto) $result.=($link.$linkclose.img_object($langs->trans("ShowLoan").': '.$this->label,'bill', 'class="classfortooltip"').$linkend.' '); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$link.$linkclose.($maxlen?dol_trunc($this->label,$maxlen):$this->label).$linkend; + return $result; + } + + /** + * Return amount of payments already done + * + * @return int Amount of payment already done, <0 if KO + */ + function getSumPayment() + { + $table='payment_loan'; + $field='fk_loan'; + + $sql = 'SELECT sum(amount) as amount'; + $sql.= ' FROM '.MAIN_DB_PREFIX.$table; + $sql.= ' WHERE '.$field.' = '.$this->id; + + dol_syslog(get_class($this)."::getSumPayment", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $amount=0; + + $obj = $this->db->fetch_object($resql); + if ($obj) $amount=$obj->amount?$obj->amount:0; + + $this->db->free($resql); + return $amount; + } + else + { + $this->error=$this->db->lasterror(); + return -1; + } + } + + /** + * Information on record + * + * @param int $id Id of record + * @return integer|null + */ + function info($id) + { + $sql = 'SELECT l.rowid, l.datec, l.fk_user_author, l.fk_user_modif,'; + $sql.= ' l.tms'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'loan as l'; + $sql.= ' WHERE l.rowid = '.$id; + + dol_syslog(get_class($this).'::info', LOG_DEBUG); + $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_modif) + { + $muser = new User($this->db); + $muser->fetch($obj->fk_user_modif); + $this->user_modification = $muser; + } + $this->date_creation = $this->db->jdate($obj->datec); + if (empty($obj->fk_user_modif)) $obj->tms = ""; + $this->date_modification = $this->db->jdate($obj->tms); + + return 1; + } + else + { + return 0; + } + $this->db->free($result); + } + else + { + $this->error=$this->db->lasterror(); + return -1; + } + } +} diff --git a/htdocs/loan/class/paymentloan.class.php b/htdocs/loan/class/paymentloan.class.php new file mode 100644 index 00000000000..35ce4cbaaa0 --- /dev/null +++ b/htdocs/loan/class/paymentloan.class.php @@ -0,0 +1,529 @@ + + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/loan/class/paymentloan.class.php + * \ingroup facture + * \brief File of class to manage payment of loans + */ + +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; + + +/** \class PaymentLoan + * \brief Class to manage payments of loans + */ +class PaymentLoan extends CommonObject +{ + public $element='payment_loan'; //!< Id that identify managed objects + public $table_element='payment_loan'; //!< Name of table without prefix where object is stored + + var $id; + var $ref; + + var $fk_loan; + var $datec=''; + var $tms=''; + var $datep=''; + var $amounts=array(); // Array of amounts + var $amount_capital; // Total amount of payment + var $amount_insurance; + var $amount_interest; + var $fk_typepayment; + var $num_payment; + var $note_private; + var $note_public; + var $fk_bank; + var $fk_user_creat; + var $fk_user_modif; + + /** + * @deprecated + * @see amount, amounts + */ + var $total; + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + } + + /** + * Create payment of loan into database. + * Use this->amounts to have list of lines for the payment + * + * @param User $user User making payment + * @return int <0 if KO, id of payment if OK + */ + function create($user) + { + global $conf, $langs; + + $error=0; + + $now=dol_now(); + + // Validate parameters + if (! $this->datepaid) + { + $this->error='ErrorBadValueForParameter'; + return -1; + } + + // Clean parameters + if (isset($this->fk_loan)) $this->fk_loan = trim($this->fk_loan); + if (isset($this->amount_capital)) $this->amount_capital = trim($this->amount_capital?$this->amount_capital:0); + if (isset($this->amount_insurance)) $this->amount_insurance = trim($this->amount_insurance?$this->amount_insurance:0); + if (isset($this->amount_interest)) $this->amount_interest = trim($this->amount_interest?$this->amount_interest:0); + if (isset($this->fk_typepayment)) $this->fk_typepayment = trim($this->fk_typepayment); + if (isset($this->num_payment)) $this->num_payment = trim($this->num_payment); + if (isset($this->note_private)) $this->note_private = trim($this->note_private); + if (isset($this->note_public)) $this->note_public = trim($this->note_public); + if (isset($this->fk_bank)) $this->fk_bank = trim($this->fk_bank); + if (isset($this->fk_user_creat)) $this->fk_user_creat = trim($this->fk_user_creat); + if (isset($this->fk_user_modif)) $this->fk_user_modif = trim($this->fk_user_modif); + + $totalamount = $this->amount_capital + $this->amount_insurance + $this->amount_interest; + $totalamount = price2num($totalamount); + + // Check parameters + if ($totalamount == 0) return -1; // Negative amounts are accepted for reject prelevement but not null + + + $this->db->begin(); + + if ($totalamount != 0) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_loan (fk_loan, datec, datep, amount_capital, amount_insurance, amount_interest,"; + $sql.= " fk_typepayment, num_payment, note_private, note_public, fk_user_creat, fk_bank)"; + $sql.= " VALUES (".$this->chid.", '".$this->db->idate($now)."',"; + $sql.= " '".$this->db->idate($this->datepaid)."',"; + $sql.= " ".$this->amount_capital.","; + $sql.= " ".$this->amount_insurance.","; + $sql.= " ".$this->amount_interest.","; + $sql.= " ".$this->paymenttype.", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note_private)."', '".$this->db->escape($this->note_public)."', ".$user->id.","; + $sql.= " 0)"; + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."payment_loan"); + } + else + { + $this->error=$this->db->lasterror(); + $error++; + } + + } + + if ($totalamount != 0 && ! $error) + { + $this->amount_capital=$totalamount; + $this->total=$totalamount; // deprecated + $this->db->commit(); + return $this->id; + } + else + { + $this->error=$this->db->lasterror(); + $this->db->rollback(); + return -1; + } + } + + /** + * Load object in memory from database + * + * @param int $id Id object + * @return int <0 if KO, >0 if OK + */ + function fetch($id) + { + global $langs; + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.fk_loan,"; + $sql.= " t.datec,"; + $sql.= " t.tms,"; + $sql.= " t.datep,"; + $sql.= " t.amount_capital,"; + $sql.= " t.amount_insurance,"; + $sql.= " t.amount_interest,"; + $sql.= " t.fk_typepayment,"; + $sql.= " t.num_payment,"; + $sql.= " t.note_private,"; + $sql.= " t.note_public,"; + $sql.= " t.fk_bank,"; + $sql.= " t.fk_user_creat,"; + $sql.= " t.fk_user_modif,"; + $sql.= " pt.code as type_code, pt.libelle as type_libelle,"; + $sql.= ' b.fk_account'; + $sql.= " FROM (".MAIN_DB_PREFIX."c_paiement as pt, ".MAIN_DB_PREFIX."payment_loan as t)"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'bank as b ON t.fk_bank = b.rowid'; + $sql.= " WHERE t.rowid = ".$id." AND t.fk_typepayment = pt.id"; + + dol_syslog(get_class($this)."::fetch", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + $this->ref = $obj->rowid; + + $this->fk_loan = $obj->fk_loan; + $this->datec = $this->db->jdate($obj->datec); + $this->tms = $this->db->jdate($obj->tms); + $this->datep = $this->db->jdate($obj->datep); + $this->amount_capital = $obj->amount_capital; + $this->amount_insurance = $obj->amount_insurance; + $this->amount_interest = $obj->amount_interest; + $this->fk_typepayment = $obj->fk_typepayment; + $this->num_payment = $obj->num_payment; + $this->note_private = $obj->note_private; + $this->note_public = $obj->note_public; + $this->fk_bank = $obj->fk_bank; + $this->fk_user_creat = $obj->fk_user_creat; + $this->fk_user_modif = $obj->fk_user_modif; + + $this->type_code = $obj->type_code; + $this->type_libelle = $obj->type_libelle; + + $this->bank_account = $obj->fk_account; + $this->bank_line = $obj->fk_bank; + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + return -1; + } + } + + + /** + * Update database + * + * @param User $user User that modify + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + if (isset($this->fk_loan)) $this->fk_loan=trim($this->fk_loan); + if (isset($this->amount_capital)) $this->amount_capital=trim($this->amount_capital); + if (isset($this->amount_insurance)) $this->amount_insurance=trim($this->amount_insurance); + if (isset($this->amount_interest)) $this->amount_interest=trim($this->amount_interest); + if (isset($this->fk_typepayment)) $this->fk_typepayment=trim($this->fk_typepayment); + if (isset($this->num_payment)) $this->num_payment=trim($this->num_payment); + if (isset($this->note_private)) $this->note=trim($this->note_private); + if (isset($this->note_public)) $this->note=trim($this->note_public); + if (isset($this->fk_bank)) $this->fk_bank=trim($this->fk_bank); + if (isset($this->fk_user_creat)) $this->fk_user_creat=trim($this->fk_user_creat); + if (isset($this->fk_user_modif)) $this->fk_user_modif=trim($this->fk_user_modif); + + // Check parameters + // Put here code to add control on parameters values + + // 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').","; + $sql.= " datep=".(dol_strlen($this->datep)!=0 ? "'".$this->db->idate($this->datep)."'" : 'null').","; + $sql.= " amount_capital=".(isset($this->amount_capital)?$this->amount_capital:"null").","; + $sql.= " amount_insurance=".(isset($this->amount_insurance)?$this->amount_insurance:"null").","; + $sql.= " amount_interest=".(isset($this->amount_interest)?$this->amount_interest:"null").","; + $sql.= " fk_typepayment=".(isset($this->fk_typepayment)?$this->fk_typepayment:"null").","; + $sql.= " num_payment=".(isset($this->num_payment)?"'".$this->db->escape($this->num_payment)."'":"null").","; + $sql.= " note_private=".(isset($this->note_private)?"'".$this->db->escape($this->note_private)."'":"null").","; + $sql.= " note_public=".(isset($this->note_public)?"'".$this->db->escape($this->note_public)."'":"null").","; + $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=".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update", LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action call a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + /** + * Delete object in database + * + * @param User $user User that delete + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."bank_url"; + $sql.= " WHERE type='payment_loan' AND url_id=".$this->id; + + dol_syslog(get_class($this)."::delete", LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."payment_loan"; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::delete", LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + } + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action call a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // 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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Add record into bank for payment with links between this bank record and invoices of payment. + * All payment properties must have been set first like after a call to create(). + * + * @param User $user Object of user making payment + * @param string $mode 'payment_loan' + * @param string $label Label to use in bank record + * @param int $accountid Id of bank account to do link with + * @param string $emetteur_nom Name of transmitter + * @param string $emetteur_banque Name of bank + * @return int <0 if KO, >0 if OK + */ + function addPaymentToBank($user, $mode, $label, $accountid, $emetteur_nom, $emetteur_banque) + { + global $conf; + + $error=0; + + if (! empty($conf->banque->enabled)) + { + require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + + $acc = new Account($this->db); + $acc->fetch($accountid); + + $total=$this->total; + if ($mode == 'payment_loan') $total=-$total; + + // Insert payment into llx_bank + $bank_line_id = $acc->addline( + $this->datepaid, + $this->paymenttype, // Payment mode id or code ("CHQ or VIR for example") + $label, + $total, + $this->num_payment, + '', + $user, + $emetteur_nom, + $emetteur_banque + ); + + // Update fk_bank into llx_paiement. + // We know the payment who generated the account write + if ($bank_line_id > 0) + { + $result=$this->update_fk_bank($bank_line_id); + if ($result <= 0) + { + $error++; + dol_print_error($this->db); + } + + // Add link 'payment_loan' in bank_url between payment and bank transaction + $url=''; + if ($mode == 'payment_loan') $url=DOL_URL_ROOT.'/loan/payment/card.php?id='; + if ($url) + { + $result=$acc->add_url_line($bank_line_id, $this->id, $url, '(payment)', $mode); + if ($result <= 0) + { + $error++; + dol_print_error($this->db); + } + } + + // Add link 'company' in bank_url between invoice and bank transaction (for each invoice concerned by payment) + //$linkaddedforthirdparty=array(); + if ($mode == 'payment_loan') + { + $result=$acc->add_url_line($bank_line_id, $this->id, DOL_URL_ROOT.'/loan/card.php?id=', ($this->label?$this->label:''),'loan'); + if ($result <= 0) dol_print_error($this->db); + } + } + else + { + $this->error=$acc->error; + $error++; + } + } + + if (! $error) + { + return 1; + } + else + { + return -1; + } + } + + + /** + * Update link between loan's payment and the line generate in llx_bank + * + * @param int $id_bank Id if bank + * @return int >0 if OK, <=0 if KO + */ + function update_fk_bank($id_bank) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."payment_loan SET fk_bank = ".$id_bank." WHERE rowid = ".$this->id; + + dol_syslog(get_class($this)."::update_fk_bank", LOG_DEBUG); + $result = $this->db->query($sql); + if ($result) + { + return 1; + } + else + { + $this->error=$this->db->error(); + return 0; + } + } + + /** + * Return clicable name (with eventually a picto) + * + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=No picto + * @param int $maxlen Max length label + * @return string Chaine with URL + */ + function getNomUrl($withpicto=0,$maxlen=0) + { + global $langs; + + $result=''; + + if (empty($this->ref)) $this->ref=$this->lib; + + if (!empty($this->id)) + { + $link = ''; + $linkend=''; + + if ($withpicto) $result.=($link.img_object($langs->trans("ShowPayment").': '.$this->ref,'payment').$linkend.' '); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$link.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$linkend; + } + + return $result; + } +} diff --git a/htdocs/loan/document.php b/htdocs/loan/document.php new file mode 100644 index 00000000000..3831f73a7ea --- /dev/null +++ b/htdocs/loan/document.php @@ -0,0 +1,171 @@ + + * + * 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/loan/document.php + * \ingroup loan + * \brief Page with attached files on loan + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.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/loan.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; + +$langs->load("other"); +$langs->load("companies"); +$langs->load("compta"); +$langs->load("bills"); +$langs->load("loan"); + +$id = GETPOST('id','int'); +$action = GETPOST("action"); +$confirm = GETPOST('confirm', 'alpha'); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'loan', $id, '',''); + +// Get parameters +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { + $page = 0; +} +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortorder) $sortorder="ASC"; +if (! $sortfield) $sortfield="name"; + +$object = new Loan($db); +if ($id > 0) $object->fetch($id); + +$upload_dir = $conf->loan->dir_output.'/'.dol_sanitizeFileName($object->ref); +$modulepart='loan'; + + +/* + * Actions + */ + +include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php'; + + +/* + * View + */ + +$form = new Form($db); + +$help_url='EN:Module_Loan|FR:Module_Emprunt'; +llxHeader("",$langs->trans("Loan"),$help_url); + +if ($object->id) +{ + $alreadypayed=$object->getSumPayment(); + + $head = loan_prepare_head($object); + + dol_fiche_head($head, 'documents', $langs->trans("Loan"), 0, 'bill'); + + + // Construit liste des fichiers + $filearray=dol_dir_list($upload_dir,"files",0,'','(\.meta|_preview\.png)$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1); + $totalsize=0; + foreach($filearray as $key => $file) + { + $totalsize+=$file['size']; + } + + + print ''; + + // Ref + print '"; + + // Label + if ($action == 'edit') + { + print ''; + } + else + { + print ''; + } + + // Amount + print ''; + + // Date start + print ""; + print ""; + print ""; + + // Date end + print ""; + print ""; + print ""; + + // Status + print ''; + + print ''; + print ''; + print '
'.$langs->trans("Ref").''; + print $form->showrefnav($object,'id'); + print "
'.$langs->trans("Label").''; + print ''; + print '
'.$langs->trans("Label").''.$object->label.'
'.$langs->trans("Capital").''.price($object->capital,0,$outputlangs,1,-1,-1,$conf->currency).'
".$langs->trans("DateStart").""; + if ($action == 'edit') + { + print $form->select_date($object->datestart, 'start', 0, 0, 0, 'loan', 1); + } + else + { + print dol_print_date($object->datestart,"day"); + } + print "
".$langs->trans("DateEnd").""; + if ($action == 'edit') + { + print $form->select_date($object->dateend, 'end', 0, 0, 0, 'loan', 1); + } + else + { + print dol_print_date($object->dateend,"day"); + } + print "
'.$langs->trans("Status").''.$object->getLibStatut(4,$alreadypayed).'
'.$langs->trans("NbOfAttachedFiles").''.count($filearray).'
'.$langs->trans("TotalSizeOfAttachedFiles").''.$totalsize.' '.$langs->trans("bytes").'
'; + + print ''; + + $modulepart = 'loan'; + $permission = $user->rights->loan->write; + $param = '&id=' . $object->id; + include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; +} +else +{ + print $langs->trans("ErrorUnknown"); +} + + +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/index.html b/htdocs/loan/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/loan/index.php b/htdocs/loan/index.php new file mode 100644 index 00000000000..82ff98f0529 --- /dev/null +++ b/htdocs/loan/index.php @@ -0,0 +1,158 @@ + + * Copyright (C) 2015 Frederic France + * Copyright (C) 2015 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/loan/index.php + * \ingroup loan + * \brief Page to list all loans + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; + +$langs->load("loan"); +$langs->load("compta"); +$langs->load("banks"); +$langs->load("bills"); + +// Security check +$socid = GETPOST('socid', 'int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'loan', '', '', ''); + +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if ($page == -1) { $page = 0; } +$offset = $conf->liste_limit * $page; +$pageprev = $page - 1; +$pagenext = $page + 1; +if (! $sortfield) $sortfield="l.rowid"; +if (! $sortorder) $sortorder="DESC"; +$limit = $conf->liste_limit; + +$search_ref=GETPOST('search_ref','int'); +$search_label=GETPOST('search_label','alpha'); +$search_amount=GETPOST('search_amount','alpha'); +$filtre=GETPOST("filtre"); + +// Purge search criteria +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers +{ + $search_ref=""; + $search_label=""; + $search_amount=""; +} + +/* + * View + */ + +$loan_static = new Loan($db); + +llxHeader(); + +$sql = "SELECT l.rowid, l.label, l.capital, l.datestart, l.dateend,"; +$sql.= " SUM(pl.amount_capital) as alreadypayed"; +$sql.= " FROM ".MAIN_DB_PREFIX."loan as l LEFT JOIN ".MAIN_DB_PREFIX."payment_loan AS pl"; +$sql.= " ON l.rowid = pl.fk_loan"; +$sql.= " WHERE l.entity = ".$conf->entity; +if ($search_amount) $sql.=" AND l.capital='".$db->escape(price2num(trim($search_amount)))."'"; +if ($search_ref) $sql.=" AND l.rowid = ".$db->escape($search_ref); +if ($search_label) $sql.=" AND l.label LIKE '%".$db->escape($search_label)."%'"; +if ($filtre) { + $filtre=str_replace(":","=",$filtre); + $sql .= " AND ".$filtre; +} +$sql.= " GROUP BY l.rowid, l.label, l.capital, l.datestart, l.dateend"; +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($limit+1, $offset); + +//print $sql; +$resql=$db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + $var=true; + + print_fiche_titre($langs->trans("Loans")); + + print '
'."\n"; + print ''; + print ''; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"l.rowid","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"),$_SERVER["PHP_SELF"],"l.label","",$param,'align="left"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Capital"),$_SERVER["PHP_SELF"],"l.capital","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateStart"),$_SERVER["PHP_SELF"],"l.datestart","",$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"l.paid","",$param,'align="right"',$sortfield,$sortorder); + print "\n"; + + // Filters lines + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + while ($i < min($num,$limit)) + { + $obj = $db->fetch_object($resql); + $loan_static->id = $obj->rowid; + $loan_static->ref = $obj->rowid; + $loan_static->label = $obj->label; + + $var = !$var; + print ""; + + // Ref + print ''; + + // Label + print ''; + + // Capital + print ''; + + // Date start + print ''; + + print ''; + + print "\n"; + + $i++; + } + + print "
 '; + print ''; + print ''; + print '
'.$loan_static->getLinkUrl(1, 42).''.dol_trunc($obj->label,42).''.price($obj->capital).''.dol_print_date($db->jdate($obj->datestart), 'day').''.$loan_static->LibStatut($obj->paid,5,$obj->alreadypayed).'
"; + print "
\n"; + $db->free($resql); +} +else +{ + dol_print_error($db); +} +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/info.php b/htdocs/loan/info.php new file mode 100644 index 00000000000..16c349b92e9 --- /dev/null +++ b/htdocs/loan/info.php @@ -0,0 +1,71 @@ + + * + * 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/loan/info.php + * \ingroup loan + * \brief Page with info about loan + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +$langs->load("compta"); +$langs->load("bills"); +$langs->load("loan"); + +$id=GETPOST('id','int'); +$action=GETPOST("action"); + +// Security check +$socid = GETPOST('socid','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'loan', $id, '',''); + + +/* + * View + */ + +$help_url='EN:Module_Loan|FR:Module_Emprunt'; +llxHeader("",$langs->trans("Loan"),$help_url); + +if ($id > 0) { + $loan = new Loan($db); + $loan->fetch($id); + $loan->info($id); + + $head = loan_prepare_head($loan); + + dol_fiche_head($head, 'info', $langs->trans("Loan"), 0, 'bill'); + + print '
'; + dol_print_object_info($loan); + print '
'; + + print ''; +} +else +{ + // $id ? +} + +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/note.php b/htdocs/loan/note.php new file mode 100644 index 00000000000..28f2a0f4918 --- /dev/null +++ b/htdocs/loan/note.php @@ -0,0 +1,100 @@ + + * Copyright (C) 2004-2007 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/loan/note.php + * \brief Tab for notes on loan + * \ingroup loan + */ + +require '../main.inc.php'; +require_once(DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'); +require_once DOL_DOCUMENT_ROOT.'/core/lib/loan.lib.php'; + +$action = GETPOST('action'); + +$langs->load('loan'); + +// Security check +$id = GETPOST('id','int'); +$result = restrictedArea($user, 'loan', $id, '&loan'); + +$object = new Loan($db); +if ($id > 0) $object->fetch($id); + +$permissionnote=$user->rights->loan->write; // Used by the include of actions_setnotes.inc.php + + +/* + * Actions + */ + +include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, not include_once + + +/* + * View + */ + +$form = new Form($db); + +llxHeader('',$langs->trans("LoanArea").' - '.$langs->trans("Notes"),''); + +if ($id > 0) +{ + /* + * Affichage onglets + */ + + $head = loan_prepare_head($object); + + dol_fiche_head($head, 'note', $langs->trans("Loan"),0,'loan'); + + + print '
'; + print ''; + + print ''; + + // Ref + print ''; + print ''; + // Name + print ''; + print ''; + + print "
'.$langs->trans('Ref').''; + print $form->showrefnav($object,'id','','','rowid','ref'); + print '
'.$langs->trans("Name").''.$object->label.'
"; + + print '
'; + + $colwidth='25'; + $permission = $user->rights->loan->write; // Used by the include of notes.tpl.php + include DOL_DOCUMENT_ROOT.'/core/tpl/notes.tpl.php'; + + + dol_fiche_end(); +} + +llxFooter(); +$db->close(); + diff --git a/htdocs/loan/payment/card.php b/htdocs/loan/payment/card.php new file mode 100644 index 00000000000..eb048ce15a6 --- /dev/null +++ b/htdocs/loan/payment/card.php @@ -0,0 +1,305 @@ + + * + * 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/loan/payment/card.php + * \ingroup loan + * \brief Payment's card of loan + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/paymentloan.class.php'; +if (! empty($conf->banque->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + +$langs->load('bills'); +$langs->load('banks'); +$langs->load('companies'); +$langs->load('loan'); + +// Security check +$id=GETPOST("id"); +$action=GETPOST("action"); +$confirm=GETPOST('confirm'); +if ($user->societe_id) $socid=$user->societe_id; +// TODO ajouter regle pour restreindre acces paiement +//$result = restrictedArea($user, 'facture', $id,''); + +$payment = new PaymentLoan($db); +if ($id > 0) +{ + $result=$payment->fetch($id); + if (! $result) dol_print_error($db,'Failed to get payment id '.$id); +} + + +/* + * Actions + */ + +// Delete payment +if ($action == 'confirm_delete' && $confirm == 'yes' && $user->rights->loan->delete) +{ + $db->begin(); + + $result = $payment->delete($user); + if ($result > 0) + { + $db->commit(); + header("Location: ".DOL_URL_ROOT."/loan/index.php"); + exit; + } + else + { + setEventMessage($payment->error, 'errors'); + $db->rollback(); + } +} + +// Create payment +if ($action == 'confirm_valide' && $confirm == 'yes' && $user->rights->loan->write) +{ + $db->begin(); + + $result=$payment->valide(); + + if ($result > 0) + { + $db->commit(); + + $factures=array(); // TODO Get all id of invoices linked to this payment + foreach($factures as $id) + { + $fac = new Facture($db); + $fac->fetch($id); + + $outputlangs = $langs; + if (! empty($_REQUEST['lang_id'])) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($_REQUEST['lang_id']); + } + if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) { + $fac->generateDocument($fac->modelpdf, $outputlangs); + } + } + + header('Location: card.php?id='.$payment->id); + exit; + } + else + { + setEventMessage($payment->error); + $db->rollback(); + } +} + + +/* + * View + */ + +llxHeader(); + +$loan = new Loan($db); +$form = new Form($db); + +$h=0; + +$head[$h][0] = DOL_URL_ROOT.'/loan/payment/card.php?id='.$_GET["id"]; +$head[$h][1] = $langs->trans("Card"); +$hselected = $h; +$h++; + +dol_fiche_head($head, $hselected, $langs->trans("PaymentLoan"), 0, 'payment'); + +/* + * Confirm deletion of the payment + */ +if ($action == 'delete') +{ + print $form->formconfirm('card.php?id='.$payment->id, $langs->trans("DeletePayment"), $langs->trans("ConfirmDeletePayment"), 'confirm_delete','',0,2); +} + +/* + * Confirm validation of the payment + */ +if ($action == 'valide') +{ + $facid = $_GET['facid']; + print $form->formconfirm('card.php?id='.$payment->id.'&facid='.$facid, $langs->trans("ValidatePayment"), $langs->trans("ConfirmValidatePayment"), 'confirm_valide','',0,2); +} + + +print ''; + +// Ref +print ''; +print ''; + +// Date +print ''; + +// Mode +print ''; + +// Number +print ''; + +// Amount +print ''; +print ''; +print ''; + +// Note Private +print ''; + +// Note Public +print ''; + +// Bank account +if (! empty($conf->banque->enabled)) +{ + if ($payment->bank_account) + { + $bankline=new AccountLine($db); + $bankline->fetch($payment->bank_line); + + print ''; + print ''; + print ''; + print ''; + } +} + +print '
'.$langs->trans('Ref').''; +print $form->showrefnav($payment,'id','',1,'rowid','id'); +print '
'.$langs->trans('Date').''.dol_print_date($payment->datep,'day').'
'.$langs->trans('Mode').''.$langs->trans("PaymentType".$payment->type_code).'
'.$langs->trans('Number').''.$payment->num_payment.'
'.$langs->trans('Capital').''.price($payment->amount_capital, 0, $outputlangs, 1, -1, -1, $conf->currency).'
'.$langs->trans('Insurance').''.price($payment->amount_insurance, 0, $outputlangs, 1, -1, -1, $conf->currency).'
'.$langs->trans('Interest').''.price($payment->amount_interest, 0, $outputlangs, 1, -1, -1, $conf->currency).'
'.$langs->trans('NotePrivate').''.nl2br($payment->note_private).'
'.$langs->trans('NotePublic').''.nl2br($payment->note_public).'
'.$langs->trans('BankTransactionLine').''; + print $bankline->getNomUrl(1,0,'showall'); + print '
'; + + +/* + * List of loans payed + */ + +$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; + +dol_syslog("loan/payment/card.php", LOG_DEBUG); +$resql=$db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + + $i = 0; + $total = 0; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + if ($num > 0) + { + $var=True; + + while ($i < $num) + { + $objp = $db->fetch_object($resql); + + $var=!$var; + print ''; + // Ref + print '\n"; + // Label + print ''; + // Expected to pay + print ''; + // Status + print ''; + // Amount payed + print ''; + print "\n"; + if ($objp->paid == 1) // If at least one invoice is paid, disable delete + { + $disable_delete = 1; + } + $total = $total + $objp->amount_capital; + $i++; + } + } + $var=!$var; + + print "
'.$langs->trans('Loan').''.$langs->trans('Label').''.$langs->trans('ExpectedToPay').''.$langs->trans('Status').''.$langs->trans('PayedByThisPayment').'
'; + $loan->fetch($objp->id); + print $loan->getLinkUrl(1); + print "'.$objp->label.''.price($objp->capital).''.$loan->getLibStatut(4,$objp->amount_capital).''.price($objp->amount_capital).'
\n"; + $db->free($resql); +} +else +{ + dol_print_error($db); +} + +print ''; + + +/* + * Actions buttons + */ +print '
'; + +/* +if (! empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) +{ + if ($user->societe_id == 0 && $payment->statut == 0 && $_GET['action'] == '') + { + if ($user->rights->facture->paiement) + { + print ''.$langs->trans('Valid').''; + } + } +} +*/ + +if (empty($action) && ! empty($user->rights->loan->delete)) +{ + if (! $disable_delete) + { + print ''.$langs->trans('Delete').''; + } + else + { + print ''.$langs->trans('Delete').''; + } +} + +print '
'; + + + +llxFooter(); + +$db->close(); diff --git a/htdocs/loan/payment/index.html b/htdocs/loan/payment/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/loan/payment/payment.php b/htdocs/loan/payment/payment.php new file mode 100644 index 00000000000..32e6ed57d2d --- /dev/null +++ b/htdocs/loan/payment/payment.php @@ -0,0 +1,313 @@ + + * Copyright (C) 2015 Frederic 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 . + */ + +/** + * \file htdocs/loan/payment/payment.php + * \ingroup Loan + * \brief Page to add payment of a loan + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/loan.class.php'; +require_once DOL_DOCUMENT_ROOT.'/loan/class/paymentloan.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + +$langs->load("bills"); +$langs->load("loan"); + +$chid=GETPOST('id','int'); +$action=GETPOST('action'); +$cancel=GETPOST('cancel','alpha'); + +// Security check +$socid=0; +if ($user->societe_id > 0) +{ + $socid = $user->societe_id; +} + +$loan = new Loan($db); +$loan->fetch($chid); + +/* + * Actions + */ +if ($action == 'add_payment') +{ + $error=0; + + if ($cancel) + { + $loc = DOL_URL_ROOT.'/loan/card.php?id='.$chid; + header("Location: ".$loc); + exit; + } + + $datepaid = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); + + if (! GETPOST('paymenttype', 'int') > 0) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("PaymentMode")), 'errors'); + $error++; + } + if ($datepaid == '') + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Date")), 'errors'); + $error++; + } + if (! empty($conf->banque->enabled) && ! GETPOST('accountid', 'int') > 0) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("AccountToCredit")), 'errors'); + $error++; + } + + if (! $error) + { + $paymentid = 0; + + $amount = GETPOST('amount_capital') + GETPOST('amount_insurance') + GETPOST('amount_interest'); + if ($amount == 0) + { + setEventMessage($langs->trans('ErrorNoPaymentDefined'), 'errors'); + $error++; + } + + if (! $error) + { + $db->begin(); + + // Create a line of payments + $payment = new PaymentLoan($db); + $payment->chid = $chid; + $payment->datepaid = $datepaid; + $payment->label = $loan->label; + $payment->amount_capital = GETPOST('amount_capital'); + $payment->amount_insurance = GETPOST('amount_insurance'); + $payment->amount_interest = GETPOST('amount_interest'); + $payment->paymenttype = GETPOST('paymenttype'); + $payment->num_payment = GETPOST('num_payment'); + $payment->note_private = GETPOST('note_private'); + $payment->note_public = GETPOST('note_public'); + + if (! $error) + { + $paymentid = $payment->create($user); + if ($paymentid < 0) + { + setEventMessage($payment->error, 'errors'); + $error++; + } + } + + if (! $error) + { + $result = $payment->addPaymentToBank($user, 'payment_loan', '(LoanPayment)', GETPOST('accountid', 'int'), '', ''); + if (! $result > 0) + { + setEventMessage($payment->error, 'errors'); + $error++; + } + } + + if (! $error) + { + $db->commit(); + $loc = DOL_URL_ROOT.'/loan/card.php?id='.$chid; + header('Location: '.$loc); + exit; + } + else + { + $db->rollback(); + } + } + } + + $_GET["action"]='create'; +} + + +/* + * View + */ + +llxHeader(); + +$form=new Form($db); + + +// Form to create loan's payment +if ($_GET["action"] == 'create') +{ + $total = $loan->capital; + + print_fiche_titre($langs->trans("DoPayment")); + print "
\n"; + + print ''; + print ''; + print ''; + print ''; + print ''; + + print ''; + + print ''; + + print ''; + print '\n"; + print '\n"; + print ''; + + $sql = "SELECT SUM(amount_capital + amount_insurance + amount_interest) as total"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_loan"; + $sql.= " WHERE fk_loan = ".$chid; + $resql = $db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $sumpaid = $obj->total; + $db->free(); + } + print ''; + print ''; + print ''; + + print '
'.$langs->trans("Loan").'
'.$langs->trans("Ref").''.$chid.'
'.$langs->trans("DateStart").''.dol_print_date($loan->datestart,'day')."
'.$langs->trans("Label").''.$loan->label."
'.$langs->trans("Amount").''.price($loan->capital,0,$outputlangs,1,-1,-1,$conf->currency).'
'.$langs->trans("AlreadyPaid").''.price($sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'
'.$langs->trans("RemainderToPay").''.price($total-$sumpaid, 0, $outputlangs, 1, -1, -1, $conf->currency).'
'; + + print '
'; + + print ''; + print ''; + print ''; + print ''; + + print '"; + print ''; + + print '\n"; + print ''; + + print ''; + print ''; + print ''; + + // Number + print ''; + print ''."\n"; + + print ''; + print ''; + print ''; + print ''; + + print ''; + print ''; + print ''; + print ''; + print '
'.$langs->trans("Payment").'
'.$langs->trans("Date").''; + $datepaid = dol_mktime(12, 0, 0, GETPOST('remonth', 'int'), GETPOST('reday', 'int'), GETPOST('reyear', 'int')); + $datepayment = empty($conf->global->MAIN_AUTOFILL_DATE)?(empty($_POST["remonth"])?-1:$datepaye):0; + $form->select_date($datepayment, '', '', '', '', "add_payment", 1, 1); + print "
'.$langs->trans("PaymentMode").''; + $form->select_types_paiements(isset($_POST["paymenttype"])?$_POST["paymenttype"]:$loan->paymenttype, "paymenttype"); + print "
'.$langs->trans('AccountToDebit').''; + $form->select_comptes(isset($_POST["accountid"])?$_POST["accountid"]:$loan->accountid, "accountid", 0, '',1); // Show opend bank account list + print '
'.$langs->trans('Numero'); + print ' ('.$langs->trans("ChequeOrTransferNumber").')'; + print '
'.$langs->trans("NotePrivate").'
'.$langs->trans("NotePublic").'
'; + + print '
'; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + $var=True; + + + print ""; + + if ($loan->datestart > 0) + { + print ''; + } + else + { + print ''; + } + + print '"; + + print '"; + + print '"; + + print '"; + + print "\n"; + + print '
'.$langs->trans("DateDue").''.$langs->trans("Capital").''.$langs->trans("AlreadyPaid").''.$langs->trans("RemainderToPay").''.$langs->trans("Amount").'
'.dol_print_date($loan->datestart,'day').'!!!'.price($loan->capital)."'.price($sumpaid)."'.price($loan->capital - $sumpaid)."'; + if ($sumpaid < $loan->capital) + { + print $langs->trans("Capital") .': '; + } + else + { + print '-'; + } + print '
'; + if ($sumpaid < $loan->capital) + { + print $langs->trans("Insurance") .': '; + } + else + { + print '-'; + } + print '
'; + if ($sumpaid < $loan->capital) + { + print $langs->trans("Interest") .': '; + } + else + { + print '-'; + } + print "
'; + + print '
'; + + print ''; + print '   '; + print ''; + + print '
'; + + print "\n"; +} + + +$db->close(); + +llxFooter(); diff --git a/htdocs/mailmanspip/class/mailmanspip.class.php b/htdocs/mailmanspip/class/mailmanspip.class.php index d874e539164..f7ae2608da5 100644 --- a/htdocs/mailmanspip/class/mailmanspip.class.php +++ b/htdocs/mailmanspip/class/mailmanspip.class.php @@ -166,7 +166,7 @@ class MailmanSpip /** * Fonction qui donne les droits redacteurs dans spip * - * @param object $object Object with data (->firstname, ->lastname, ->email and ->login) + * @param Adherent $object Object with data (->firstname, ->lastname, ->email and ->login) * @return int =0 if KO, >0 if OK */ function add_to_spip($object) @@ -208,7 +208,7 @@ class MailmanSpip /** * Fonction qui enleve les droits redacteurs dans spip * - * @param object $object Object with data (->login) + * @param Adherent $object Object with data (->login) * @return int =0 if KO, >0 if OK */ function del_to_spip($object) @@ -297,7 +297,7 @@ class MailmanSpip /** * Subscribe an email to all mailing-lists * - * @param object $object Object with data (->email, ->pass, ->element, ->type) + * @param Adherent $object Object with data (->email, ->pass, ->element, ->type) * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ @@ -369,7 +369,7 @@ class MailmanSpip * Unsubscribe an email from all mailing-lists * Used when a user is resiliated * - * @param object $object Object with data (->email, ->pass, ->element, ->type) + * @param Adherent $object Object with data (->email, ->pass, ->element, ->type) * @param array $listes To force mailing-list (string separated with ,) * @return int <0 if KO, >=0 if OK */ diff --git a/htdocs/main.inc.php b/htdocs/main.inc.php index e432db3e025..57453328296 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -1,15 +1,16 @@ - * Copyright (C) 2003 Xavier Dutoit - * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2004 Sebastien Di Cintio - * Copyright (C) 2004 Benoit Mortier - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2011-2014 Philippe Grand - * Copyright (C) 2008 Matteli - * Copyright (C) 2011-2013 Juanjo Menent - * Copyright (C) 2012 Christophe Battarel - * Copyright (C) 2014-2015 Marcos García +/* Copyright (C) 2002-2007 Rodolphe Quiedeville + * Copyright (C) 2003 Xavier Dutoit + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2015 Regis Houssin + * Copyright (C) 2011-2014 Philippe Grand + * Copyright (C) 2008 Matteli + * Copyright (C) 2011-2013 Juanjo Menent + * Copyright (C) 2012 Christophe Battarel + * Copyright (C) 2014-2015 Marcos García + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -33,10 +34,10 @@ //@ini_set('memory_limit', '64M'); // This may be useless if memory is hard limited by your PHP -// For optional tuning. Enabled if environment variable DOL_TUNING is defined. +// For optional tuning. Enabled if environment variable MAIN_SHOW_TUNING_INFO is defined. // A call first. Is the equivalent function dol_microtime_float not yet loaded. $micro_start_time=0; -if (! empty($_SERVER['DOL_TUNING'])) +if (! empty($_SERVER['MAIN_SHOW_TUNING_INFO'])) { list($usec, $sec) = explode(" ", microtime()); $micro_start_time=((float) $usec + (float) $sec); @@ -110,19 +111,19 @@ function test_sql_and_script_inject($val, $type) } /** - * Security: Return true if OK, false otherwise. + * Return true if security check on parameters are OK, false otherwise. * - * @param string $var Variable name - * @param string $type 1=GET, 0=POST, 2=PHP_SELF - * @return boolean true if there is an injection + * @param string $var Variable name + * @param string $type 1=GET, 0=POST, 2=PHP_SELF + * @return boolean||null true if there is an injection. Stop code if injection found. */ -function analyse_sql_and_script(&$var, $type) +function analyseVarsForSqlAndScriptsInjection(&$var, $type) { if (is_array($var)) { foreach ($var as $key => $value) { - if (analyse_sql_and_script($value,$type)) + if (analyseVarsForSqlAndScriptsInjection($value,$type)) { $var[$key] = $value; } @@ -148,16 +149,19 @@ if ((defined('NOREQUIREDB') || defined('NOREQUIRETRAN')) && ! defined('NOREQUIRE if (! empty($_SERVER["PHP_SELF"])) { $morevaltochecklikepost=array($_SERVER["PHP_SELF"]); - analyse_sql_and_script($morevaltochecklikepost,2); + analyseVarsForSqlAndScriptsInjection($morevaltochecklikepost,2); } // Sanity check on GET parameters -if (! empty($_SERVER["QUERY_STRING"])) +if (! defined('NOSCANGETFORINJECTION') && ! empty($_SERVER["QUERY_STRING"])) { $morevaltochecklikeget=array($_SERVER["QUERY_STRING"]); - analyse_sql_and_script($morevaltochecklikeget,1); + analyseVarsForSqlAndScriptsInjection($morevaltochecklikeget,1); } // Sanity check on POST -analyse_sql_and_script($_POST,0); +if (! defined('NOSCANPOSTFORINJECTION')) +{ + analyseVarsForSqlAndScriptsInjection($_POST,0); +} // This is to make Dolibarr working with Plesk if (! empty($_SERVER['DOCUMENT_ROOT'])) set_include_path($_SERVER['DOCUMENT_ROOT'].'/htdocs'); @@ -209,7 +213,7 @@ register_shutdown_function('dol_shutdown'); // Detection browser if (isset($_SERVER["HTTP_USER_AGENT"])) { - $tmp=getBrowserInfo(); + $tmp=getBrowserInfo($_SERVER["HTTP_USER_AGENT"]); $conf->browser->name=$tmp['browsername']; $conf->browser->os=$tmp['browseros']; $conf->browser->version=$tmp['browserversion']; @@ -419,6 +423,15 @@ if (! defined('NOLOGIN')) $error++; } // End Call of triggers + + // Hooks on failed login + $action=''; + $hookmanager->initHooks(array('login')); + $parameters=array('dol_authmode'=>$dol_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++; + + // Note: exit is done later } } @@ -476,6 +489,7 @@ if (! defined('NOLOGIN')) // We set a generic message if not defined inside function checkLoginPassEntity or subfunctions if (empty($_SESSION["dol_loginmesg"])) $_SESSION["dol_loginmesg"]=$langs->trans("ErrorBadLoginPassword"); + // TODO We should use a hook afterLoginFailed here, not a trigger. // Call of triggers include_once DOL_DOCUMENT_ROOT.'/core/class/interfaces.class.php'; $interface=new Interfaces($db); @@ -484,6 +498,15 @@ if (! defined('NOLOGIN')) $error++; } // End Call of triggers + + // Hooks on failed login + $action=''; + $hookmanager->initHooks(array('login')); + $parameters=array('dol_authmode'=>$dol_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++; + + // Note: exit is done in next chapter } } @@ -518,7 +541,7 @@ if (! defined('NOLOGIN')) $_SESSION["dol_loginmesg"]=$user->error; } - // TODO We should use a hook here, not a trigger. + // TODO We should use a hook afterLoginFailed here, not a trigger. // Call triggers include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $interface=new Interfaces($db); @@ -528,6 +551,13 @@ if (! defined('NOLOGIN')) } // End call triggers + // Hooks on failed login + $action=''; + $hookmanager->initHooks(array('login')); + $parameters=array('dol_authmode'=>$dol_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++; + header('Location: '.DOL_URL_ROOT.'/index.php'); exit; } @@ -571,11 +601,18 @@ if (! defined('NOLOGIN')) } // End call triggers + // Hooks on failed login + $action=''; + $hookmanager->initHooks(array('login')); + $parameters=array('dol_authmode'=>$dol_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++; + header('Location: '.DOL_URL_ROOT.'/index.php'); exit; } else - { + { // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('main')); @@ -620,9 +657,11 @@ if (! defined('NOLOGIN')) $user->update_last_login_date(); - $user->trigger_mesg = 'TZ='.$_SESSION["dol_tz"].';TZString='.$_SESSION["dol_tz_string"].';Screen='.$_SESSION["dol_screenwidth"].'x'.$_SESSION["dol_screenheight"]; + $loginfo = 'TZ='.$_SESSION["dol_tz"].';TZString='.$_SESSION["dol_tz_string"].';Screen='.$_SESSION["dol_screenwidth"].'x'.$_SESSION["dol_screenheight"]; - // TODO We should use a hook here, not a trigger + $user->trigger_mesg = $loginfo; + + // TODO We should use hook afterLogin here, not a trigger // Call triggers include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; $interface=new Interfaces($db); @@ -632,43 +671,24 @@ if (! defined('NOLOGIN')) } // End call triggers + // Hooks on successfull login + $action=''; + $hookmanager->initHooks(array('login')); + $parameters=array('dol_authmode'=>$dol_authmode, 'dol_loginfo'=>$loginfo); + $reshook=$hookmanager->executeHooks('afterLogin',$parameters,$user,$action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) $error++; + if ($error) { $db->rollback(); session_destroy(); - dol_print_error($db,'Error in some triggers on action USER_LOGIN'); + dol_print_error($db,'Error in some hooks afterLogin (or old trigger USER_LOGIN)'); exit; } else - { + { $db->commit(); } - - // Create entity cookie, just used for login page - // TODO Multicompany Move this into hook - if (! empty($conf->multicompany->enabled) && ! empty($conf->global->MULTICOMPANY_COOKIE_ENABLED) && isset($_POST["entity"])) - { - include_once DOL_DOCUMENT_ROOT.'/core/class/cookie.class.php'; - - $entity = $_SESSION["dol_login"].'|'.$_POST["entity"]; - - $prefix=dol_getprefix(); - $entityCookieName = 'DOLENTITYID_'.$prefix; - // TTL : is defined in the config page multicompany - $ttl = (! empty($conf->global->MULTICOMPANY_COOKIE_TTL) ? dol_now()+$conf->global->MULTICOMPANY_COOKIE_TTL : dol_now()+60*60*8 ); - // Cryptkey : will be created randomly in the config page multicompany - $cryptkey = (! empty($conf->file->cookie_cryptkey) ? $conf->file->cookie_cryptkey : '' ); - - $entityCookie = new DolCookie($cryptkey); - $entityCookie->_setCookie($entityCookieName, $entity, $ttl); - } - - // Hooks on successfull login - $action=''; - $hookmanager->initHooks(array('login')); - $parameters=array('dol_authmode'=>$dol_authmode); - $reshook=$hookmanager->executeHooks('afterLogin',$parameters,$user,$action); // Note that $action and $object may have been modified by some hooks - if ($reshook < 0) $error++; } @@ -793,7 +813,7 @@ if (! defined('NOREQUIRETRAN')) // Define some constants used for style of arrays $bc=array(0=>'class="impair"',1=>'class="pair"'); $bcdd=array(0=>'class="impair drag drop"',1=>'class="pair drag drop"'); -$bcnd=array(0=>'class="impair nodrag nodrop"',1=>'class="pair nodrag nodrop"'); +$bcnd=array(0=>'class="impair nodrag nodrop nohover"',1=>'class="pair nodrag nodrop nohoverpair"'); // Used for tr to add new lines // Define messages variables $mesg=''; $warning=''; $error=0; @@ -828,18 +848,6 @@ else $heightforframes=52; -// Switch to another entity -// TODO Multicompany Remove this -if (! empty($conf->multicompany->enabled) && GETPOST('action') == 'switchentity') -{ - if ($mc->switchEntity(GETPOST('entity','int')) > 0) - { - header("Location: ".DOL_URL_ROOT.'/'); - exit; - } -} - - // Init menu manager if (! defined('NOREQUIREMENU')) { @@ -958,12 +966,12 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs if (empty($conf->css)) $conf->css = '/theme/eldy/style.css.php'; // If not defined, eldy by default - print ''; - //print ''; - //print ''; - //print ''; - //print ''; - print "\n"; + if (empty($conf->global->MAIN_ACTIVATE_HTML5)) { + $doctype = ''; + }else { + $doctype = ''; // Html5 - Developement - Only available on Eldy template + } + print $doctype."\n"; if (! empty($conf->global->MAIN_USE_CACHE_MANIFEST)) print ''."\n"; else print ''."\n"; //print ''."\n"; @@ -972,8 +980,10 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print "\n"; if (GETPOST('dol_basehref')) print ''."\n"; // Displays meta - print ''."\n"; // Evite indexation par robots + print ''."\n"; // Do not index + print ''; // Scale for mobile device print ''."\n"; + if (! empty($conf->global->MAIN_ACTIVATE_HTML5)) print ''."\n"; // Needed for Responsive Web Design $favicon=dol_buildpath('/theme/'.$conf->theme.'/img/favicon.ico',1); if (! empty($conf->global->MAIN_FAVICON_URL)) $favicon=$conf->global->MAIN_FAVICON_URL; print ''."\n"; @@ -985,51 +995,52 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs $appli='Dolibarr'; if (!empty($conf->global->MAIN_APPLICATION_TITLE)) $appli=$conf->global->MAIN_APPLICATION_TITLE; + if ($title && ! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/noapp/',$conf->global->MAIN_HTML_TITLE)) print ''.dol_htmlentities($title).''; if ($title) print ''.dol_htmlentities($appli.' - '.$title).''; else print "".dol_htmlentities($appli).""; print "\n"; $ext=''; if (! empty($conf->dol_use_jmobile)) $ext='version='.urlencode(DOL_VERSION); + if (GETPOST('version')) $ext='version='.GETPOST('version','int'); // usefull to force no cache on css/js if (! defined('DISABLE_JQUERY') && ! $disablejs && $conf->use_javascript_ajax) { print ''."\n"; $jquerytheme = 'smoothness'; if (!empty($conf->global->MAIN_USE_JQUERY_THEME)) $jquerytheme = $conf->global->MAIN_USE_JQUERY_THEME; - if (constant('JS_JQUERY_UI')) print ''."\n"; // JQuery - else print ''."\n"; // JQuery - print ''."\n"; // Tooltip - print ''."\n"; // JNotify + if (constant('JS_JQUERY_UI')) print ''."\n"; // JQuery + else print ''."\n"; // JQuery + print ''."\n"; // Tooltip + print ''."\n"; // JNotify /*if (! empty($conf->global->MAIN_USE_JQUERY_FILEUPLOAD) || (defined('REQUIRE_JQUERY_FILEUPLOAD') && constant('REQUIRE_JQUERY_FILEUPLOAD'))) // jQuery fileupload { - print ''."\n"; + print ''."\n"; }*/ if (! empty($conf->global->MAIN_USE_JQUERY_DATATABLES) || (defined('REQUIRE_JQUERY_DATATABLES') && constant('REQUIRE_JQUERY_DATATABLES'))) // jQuery datatables { - //print ''."\n"; - print ''."\n"; - print ''."\n"; - print ''."\n"; - //print ''."\n"; - print ''."\n"; + //print ''."\n"; + print ''."\n"; + print ''."\n"; + print ''."\n"; + //print ''."\n"; + print ''."\n"; } if (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) // jQuery plugin "mutiselect", "multiple-select", "select2"... { $tmpplugin=empty($conf->global->MAIN_USE_JQUERY_MULTISELECT)?constant('REQUIRE_JQUERY_MULTISELECT'):$conf->global->MAIN_USE_JQUERY_MULTISELECT; - print ''."\n"; + print ''."\n"; } // jQuery Timepicker if (! empty($conf->global->MAIN_USE_JQUERY_TIMEPICKER) || defined('REQUIRE_JQUERY_TIMEPICKER')) { - print ''."\n"; + print ''."\n"; } // jQuery jMobile if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || ! empty($conf->dol_use_jmobile)) { - print ''."\n"; + print ''."\n"; } - } print ''."\n"; @@ -1058,7 +1069,8 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs if (GETPOST('dol_no_mouse_hover')) { $themeparam.='&dol_no_mouse_hover='.GETPOST('dol_no_mouse_hover','int'); } if (GETPOST('dol_use_jmobile')) { $themeparam.='&dol_use_jmobile='.GETPOST('dol_use_jmobile','int'); $conf->dol_use_jmobile=GETPOST('dol_use_jmobile','int'); } //print 'themepath='.$themepath.' themeparam='.$themeparam;exit; - print ''."\n"; + print ''."\n"; + if (! empty($conf->global->MAIN_FIX_FLASH_ON_CHROME)) print ''."\n".''."\n"; // CSS forced by modules (relative url starting with /) if (! empty($conf->modules_parts['css'])) @@ -1071,7 +1083,7 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs { if (empty($cssfile)) dol_syslog("Warning: module ".$modcss." declared a css path file into its descriptor that is empty.", LOG_WARNING); // cssfile is a relative path - print ''."\n".''."\n"; @@ -1096,9 +1108,9 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs // JQuery. Must be before other includes print ''."\n"; if (constant('JS_JQUERY')) print ''."\n"; - else print ''."\n"; + else print ''."\n"; if (constant('JS_JQUERY_UI')) print ''."\n"; - else print ''."\n"; + else print ''."\n"; print ''."\n"; print ''."\n"; // jQuery Layout @@ -1182,10 +1194,10 @@ function top_htmlhead($head, $title='', $disablejs=0, $disablehead=0, $arrayofjs print ''."\n"; print ''."\n"; } - if (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) // jQuery plugin "mutiselect", "multiple-select", "select2"... + if (! empty($conf->global->MAIN_USE_JQUERY_MULTISELECT) || defined('REQUIRE_JQUERY_MULTISELECT')) // jQuery plugin "mutiselect", "multiple-select", "select2", ... { $tmpplugin=empty($conf->global->MAIN_USE_JQUERY_MULTISELECT)?constant('REQUIRE_JQUERY_MULTISELECT'):$conf->global->MAIN_USE_JQUERY_MULTISELECT; - print ''."\n"; + print ''."\n"; } // jQuery jMobile if (! empty($conf->global->MAIN_USE_JQUERY_JMOBILE) || defined('REQUIRE_JQUERY_JMOBILE') || (! empty($conf->dol_use_jmobile) && $conf->dol_use_jmobile > 0)) @@ -1371,9 +1383,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a // Wrapper to show tooltips print "\n".''; } @@ -1387,6 +1397,8 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a if (empty($conf->dol_hide_topmenu)) { + print '
'; + // Show menu entries print '
'."\n"; $menumanager->atarget=$target; @@ -1396,41 +1408,6 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a $form=new Form($db); // Define link to login card - $loginhtmltext=''; $logintext=''; - if ($user->societe_id) - { - $thirdpartystatic=new Societe($db); - $thirdpartystatic->fetch($user->societe_id); - $companylink=' ('.$thirdpartystatic->getNomUrl('','').')'; - $company=' ('.$langs->trans("Company").': '.$thirdpartystatic->name.')'; - } - $logintext=''; - $loginhtmltext.=''.$langs->trans("User").''; - $loginhtmltext.='
'.$langs->trans("Name").': '.$user->getFullName($langs); - $loginhtmltext.='
'.$langs->trans("Login").': '.$user->login; - $loginhtmltext.='
'.$langs->trans("EMail").': '.$user->email; - $loginhtmltext.='
'.$langs->trans("Administrator").': '.yn($user->admin); - $type=($user->societe_id?$langs->trans("External").$company:$langs->trans("Internal")); - $loginhtmltext.='
'.$langs->trans("Type").': '.$type; - $loginhtmltext.='
'.$langs->trans("IPAddress").': '.$_SERVER["REMOTE_ADDR"]; - $loginhtmltext.='
'; - $loginhtmltext.='
'.$langs->trans("Connection").''; - if (! empty($conf->global->MAIN_MODULE_MULTICOMPANY)) $loginhtmltext.='
'.$langs->trans("ConnectedOnMultiCompany").': '.$conf->entity.' (user entity '.$user->entity.')'; - $loginhtmltext.='
'.$langs->trans("AuthenticationMode").': '.$_SESSION["dol_authmode"].(empty($dolibarr_main_demo)?'':' (demo)'); - $loginhtmltext.='
'.$langs->trans("ConnectedSince").': '.dol_print_date($user->datelastlogin,"dayhour"); - $loginhtmltext.='
'.$langs->trans("PreviousConnexion").': '.dol_print_date($user->datepreviouslogin,"dayhour"); - $loginhtmltext.='
'.$langs->trans("CurrentTheme").': '.$conf->theme; - $loginhtmltext.='
'.$langs->trans("CurrentMenuManager").': '.$menumanager->name; - $s=picto_from_langcode($langs->getDefaultLang()); - $loginhtmltext.='
'.$langs->trans("CurrentUserLanguage").': '.($s?$s.' ':'').$langs->getDefaultLang(); - $loginhtmltext.='
'.$langs->trans("Browser").': '.$conf->browser->name.($conf->browser->version?' '.$conf->browser->version:'').' ('.$_SERVER['HTTP_USER_AGENT'].')'; - if (! empty($conf->browser->phone)) $loginhtmltext.='
'.$langs->trans("Phone").': '.$conf->browser->phone; - if (! empty($_SESSION["disablemodules"])) $loginhtmltext.='
'.$langs->trans("DisabledModules").':
'.join(', ',explode(',',$_SESSION["disablemodules"])); - $appli='Dolibarr'; if (! empty($conf->global->MAIN_APPLICATION_TITLE)) { @@ -1462,9 +1439,19 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a print '\n"; + print '
'; unset($form); } @@ -1534,8 +1523,8 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me // Instantiate hooks of thirdparty module $hookmanager->initHooks(array('searchform','leftblock')); - if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".'
'."\n"; - else print '
'; + if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print "\n".''."\n".'
'."\n"; + else print "\n".''."\n".'
'."\n"; print "\n"; @@ -1543,33 +1532,39 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me if ((( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)) && ! empty($conf->global->MAIN_SEARCHFORM_SOCIETE) && $user->rights->societe->lire) { $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/societe.php', DOL_URL_ROOT.'/societe/societe.php', img_object('','company').' '.$langs->trans("ThirdParties"), 'soc', 'socname', 'T'); + $searchform.=printSearchForm(DOL_URL_ROOT.'/societe/list.php', DOL_URL_ROOT.'/societe/list.php', $langs->trans("ThirdParties"), 'soc', 'socname', 'T', 'searchleftt', img_object('','company')); } if (! empty($conf->societe->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_CONTACT) && $user->rights->societe->lire) { $langs->load("companies"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', img_object('','contact').' '.$langs->trans("Contacts"), 'contact', 'contactname'); + $searchform.=printSearchForm(DOL_URL_ROOT.'/contact/list.php', DOL_URL_ROOT.'/contact/list.php', $langs->trans("Contacts"), 'contact', 'contactname', '', 'searchleftc', img_object('','contact')); } if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) && ! empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE)) { $langs->load("products"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', img_object('','product').' '.$langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'sallsearchleftp'); + $searchform.=printSearchForm(DOL_URL_ROOT.'/product/list.php', DOL_URL_ROOT.'/product/list.php', $langs->trans("Products")."/".$langs->trans("Services"), 'products', 'sall', 'P', 'searchleftp', img_object('','product')); } if (((! empty($conf->product->enabled) && $user->rights->produit->lire) || (! empty($conf->service->enabled) && $user->rights->service->lire)) && ! empty($conf->fournisseur->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_PRODUITSERVICE_SUPPLIER)) { $langs->load("products"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/fourn/product/list.php', DOL_URL_ROOT.'/fourn/product/list.php', img_object('','product').' '.$langs->trans("SupplierRef"), 'products', 'srefsupplier'); + $searchform.=printSearchForm(DOL_URL_ROOT.'/fourn/product/list.php', DOL_URL_ROOT.'/fourn/product/list.php', $langs->trans("SupplierRef"), 'products', 'srefsupplier', '', 'searchlefts', img_object('','product')); } if (! empty($conf->adherent->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_ADHERENT) && $user->rights->adherent->lire) { $langs->load("members"); - $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', img_object('','user').' '.$langs->trans("Members"), 'member', 'sall', 'M', 'sallsearchleftm'); + $searchform.=printSearchForm(DOL_URL_ROOT.'/adherents/list.php', DOL_URL_ROOT.'/adherents/list.php', $langs->trans("Members"), 'member', 'sall', 'M', 'searchleftm', img_object('','user')); + } + + if (! empty($conf->projet->enabled) && ! empty($conf->global->MAIN_SEARCHFORM_PROJECT) && $user->rights->projet->lire) + { + $langs->load("members"); + $searchform.=printSearchForm(DOL_URL_ROOT.'/projet/list.php', DOL_URL_ROOT.'/projet/list.php', $langs->trans("Projects"), 'project', 'search_all', 'M', 'searchleftproj', img_object('','projectpub')); } // Execute hook printSearchForm @@ -1724,11 +1719,11 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me // Execute hook printLeftBlock $parameters=array(); - $leftblock=$hookmanager->executeHooks('printLeftBlock',$parameters); // Note that $action and $object may have been modified by some hooks - print $leftblock; + $reshook=$hookmanager->executeHooks('printLeftBlock',$parameters); // Note that $action and $object may have been modified by some hooks + print $hookmanager->resPrint; if (empty($conf->dol_use_jmobile) && ! empty($conf->use_javascript_ajax) && ! empty($conf->global->MAIN_MENU_USE_JQUERY_LAYOUT)) print '
'."\n"; - else print '
'; // End div id="id-left" + else print '
'; // End div id="id-left" } print "\n"; @@ -1813,23 +1808,27 @@ function getHelpParamFor($helppagename,$langs) * @param string $htmlmodesearch Value to set into parameter "mode_search" ('soc','contact','products','member',...) * @param string $htmlinputname Field Name input form * @param string $accesskey Accesskey - * @param string $htmlinputid Input ID + * @param string $idname Complement for id to avoid multiple same id in the page + * @param string $img Image to use * @return string */ -function printSearchForm($urlaction,$urlobject,$title,$htmlmodesearch,$htmlinputname,$accesskey='', $htmlinputid = '') +function printSearchForm($urlaction,$urlobject,$title,$htmlmodesearch,$htmlinputname,$accesskey='', $idname='',$img='') { global $conf,$langs; - if (!$htmlinputid) { + if (empty($htmlinputid)) { $htmlinputid = $htmlinputname; } $ret=''; $ret.='
'; - $ret.='
'."\n"; // End div container - print "\n"; print "\n"; } diff --git a/htdocs/margin/admin/margin.php b/htdocs/margin/admin/margin.php index f8beb7cd1ca..9a0f55010ab 100644 --- a/htdocs/margin/admin/margin.php +++ b/htdocs/margin/admin/margin.php @@ -72,7 +72,6 @@ if ($action == 'remises') { if (dolibarr_set_const($db, 'MARGIN_METHODE_FOR_DISCOUNT', $_POST['MARGIN_METHODE_FOR_DISCOUNT'], 'chaine', 0, '', $conf->entity) > 0) { - $conf->global->MARGIN_METHODE_FOR_DISCOUNT = $_POST['MARGIN_METHODE_FOR_DISCOUNT']; setEventMessage($langs->trans("RecordModifiedSuccessfully")); } else @@ -85,7 +84,6 @@ if ($action == 'typemarges') { if (dolibarr_set_const($db, 'MARGIN_TYPE', $_POST['MARGIN_TYPE'], 'chaine', 0, '', $conf->entity) > 0) { - $conf->global->MARGIN_METHODE_FOR_DISCOUNT = $_POST['MARGIN_TYPE']; setEventMessage($langs->trans("RecordModifiedSuccessfully")); } else @@ -98,7 +96,6 @@ if ($action == 'contact') { if (dolibarr_set_const($db, 'AGENT_CONTACT_TYPE', $_POST['AGENT_CONTACT_TYPE'], 'chaine', 0, '', $conf->entity) > 0) { - $conf->global->AGENT_CONTACT_TYPE = $_POST['AGENT_CONTACT_TYPE']; setEventMessage($langs->trans("RecordModifiedSuccessfully")); } else @@ -115,7 +112,7 @@ llxHeader('',$langs->trans("margesSetup")); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("margesSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("margesSetup"),$linkback,'title_setup'); $head = marges_admin_prepare_head(); @@ -144,16 +141,28 @@ print ''.$langs->trans('MargeBrute'); print ' global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == '1') print 'checked '; -print '/>
'.$langs->trans('MargeNette'); +print '/>
'; +/*print $langs->trans('MargeNette'); print ' global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == '2') print 'checked '; -print '/>'; +print '/>';*/ +// TODO Check that PMP is available when stock module is not enabled. If not, make this choice greyed when stock module disabled. +//if (! empty($conf->stock->enabled)) +//{ + print $langs->trans('MargeNette'); + print ' global->MARGIN_TYPE) && $conf->global->MARGIN_TYPE == 'pmp') + print 'checked '; + print '/>'; +//} print ''; print ''; print ''; print ''; -print ''.$langs->trans('MARGIN_TYPE_DETAILS').''; +print ''.$langs->trans('MARGIN_TYPE_DETAILS'); +print ' ('.$langs->trans("PMP").')'; +print ''; print ''; print ''; diff --git a/htdocs/margin/agentMargins.php b/htdocs/margin/agentMargins.php index 8a0aefba711..32525114ee3 100644 --- a/htdocs/margin/agentMargins.php +++ b/htdocs/margin/agentMargins.php @@ -1,6 +1,7 @@ * Copyright (C) 2014 Ferran Marcet + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -34,7 +35,12 @@ $langs->load("products"); $langs->load("margins"); // Security check -$agentid = GETPOST('agentid','int'); + +if ($user->rights->margin->read->all) { + $agentid = GETPOST('agentid', 'int'); +} else { + $agentid = $user->id; +} $mesg = ''; @@ -85,10 +91,12 @@ dol_fiche_head($head, 'agentMargins', $titre, 0, $picto); print '
'; print ''; -print ''; -print ''; +if ($user->rights->margin->read->all) { + print ''; + print ''; +} // Start date print ''; diff --git a/htdocs/margin/lib/margins.lib.php b/htdocs/margin/lib/margins.lib.php index 1f904c44f2d..1478dd9dcb0 100644 --- a/htdocs/margin/lib/margins.lib.php +++ b/htdocs/margin/lib/margins.lib.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Marcos García +/* Copyright (C) 2012 Christophe Battarel + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -77,10 +77,15 @@ function marges_prepare_head() $h++; } + if ($user->rights->margin->read->all) { + $title = 'UserMargins'; + } else { + $title = 'SalesRepresentativeMargins'; + } + $head[$h][0] = DOL_URL_ROOT."/margin/agentMargins.php"; - $head[$h][1] = $langs->trans("SalesRepresentativeMargins"); + $head[$h][1] = $langs->trans($title); $head[$h][2] = 'agentMargins'; - $h++; return $head; } diff --git a/htdocs/margin/productMargins.php b/htdocs/margin/productMargins.php index b359287d24f..b9bd6e5099d 100644 --- a/htdocs/margin/productMargins.php +++ b/htdocs/margin/productMargins.php @@ -263,7 +263,7 @@ if ($result) $product_static->type=$objp->fk_product_type; $product_static->id=$objp->rowid; $product_static->ref=$objp->ref; - $product_static->libelle=$objp->label; + $product_static->label=$objp->label; $text=$product_static->getNomUrl(1); print $text.= ' - '.$objp->label; print "\n"; diff --git a/htdocs/margin/tabs/productMargins.php b/htdocs/margin/tabs/productMargins.php index d811f898c0b..d3c53eb9e2e 100644 --- a/htdocs/margin/tabs/productMargins.php +++ b/htdocs/margin/tabs/productMargins.php @@ -77,9 +77,9 @@ if ($id > 0 || ! empty($ref)) */ if ($result > 0) { - $head=product_prepare_head($object, $user); + $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); - $picto=($object->type==1?'service':'product'); + $picto=($object->type== Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'margin', $titre, 0, $picto); print '
'.$langs->trans('SalesRepresentative').''; -print $form->select_dolusers($agentid,'agentid',1); -print '
'.$langs->trans('SalesRepresentative').''; + print $form->select_dolusers($agentid, 'agentid', 1); + print '
'.$langs->trans('StartDate').' ('.$langs->trans("DateValidation").')
'; @@ -92,7 +92,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Libelle - print ''; + print ''; print ''; // Status (to sell) diff --git a/htdocs/opensurvey/card.php b/htdocs/opensurvey/card.php index 70e1b49ad48..90f029b4d35 100644 --- a/htdocs/opensurvey/card.php +++ b/htdocs/opensurvey/card.php @@ -214,7 +214,7 @@ $adresseadmin=$object->mail_admin; print $langs->trans("Title") .''; @@ -253,7 +253,7 @@ if (!$object->fk_user_creat) { print ''; print ''; @@ -280,7 +280,7 @@ print ''; print ''; @@ -309,15 +309,27 @@ $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($ $urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current -$url=$urlwithouturlroot.dol_buildpath('/opensurvey/public/studs.php',1).'?sondage='.$object->id_sondage; -$urllink=''.$url.''; +$url=$urlwithouturlroot.dol_buildpath('/public/opensurvey/studs.php',1).'?sondage='.$object->id_sondage; +$urllink=''; print $urllink; +if ($action != 'edit') +{ + print ''; + print ' '.$langs->trans("Link").''; +} print '
'.$langs->trans("Label").''.$object->libelle.'
'.$langs->trans("Label").''.$object->label.'
'; if ($action == 'edit') { - print ''; + print ''; } else print dol_htmlentities($object->titre); print '
'.$langs->trans('ToReceiveEMailForEachVote').''; if ($action == 'edit') { - print 'mailsonde?' checked="true"':'').'">'; + print 'mailsonde?' checked':'').'">'; } else { print yn($object->mailsonde); @@ -271,7 +271,7 @@ print '
'.$langs->trans('CanComment').''; if ($action == 'edit') { - print 'allow_comments?' checked="true"':'').'">'; + print 'allow_comments?' checked':'').'">'; } else print yn($object->allow_comments); print '
'.$langs->trans('CanSeeOthersVote').''; if ($action == 'edit') { - print 'allow_spy?' checked="true"':'').'">'; + print 'allow_spy?' checked':'').'">'; } else print yn($object->allow_spy); print '
'; dol_fiche_end(); -if ($action == 'edit') print '
'; +if ($action == 'edit') +{ + print '
'; +} print '
'."\n"; @@ -367,7 +379,7 @@ if ($comments) { } else { - print $langs->trans("NoCommentYet").'
';; + print $langs->trans("NoCommentYet").'
'; } print '
'; diff --git a/htdocs/opensurvey/class/opensurveysondage.class.php b/htdocs/opensurvey/class/opensurveysondage.class.php index b4c8570dec8..1ab2352395d 100644 --- a/htdocs/opensurvey/class/opensurveysondage.class.php +++ b/htdocs/opensurvey/class/opensurveysondage.class.php @@ -43,7 +43,12 @@ class Opensurveysondage extends CommonObject var $id; var $id_sondage; + /** + * @deprecated + * @see description + */ var $commentaires; + public $description; var $mail_admin; var $nom_admin; diff --git a/htdocs/opensurvey/css/style.css b/htdocs/opensurvey/css/style.css index 7d7ef088c7e..7e359bd134e 100644 --- a/htdocs/opensurvey/css/style.css +++ b/htdocs/opensurvey/css/style.css @@ -1,4 +1,4 @@ -/* Copyright (C) 2004-2013 Laurent Destailleur +/* Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2006 Rodolphe Quiedeville * Copyright (C) 2007-2012 Regis Houssin * Copyright (C) 2011 Philippe Grand @@ -51,6 +51,8 @@ background: #f78d1d; background: -webkit-gradient(linear, left top, left bottom, from(#faa51a), to(#f47a20)); background: -moz-linear-gradient(top, #faa51a, #f47a20); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#faa51a', endColorstr='#f47a20'); +margin-left: 4px; +margin-right: 4px; } .orange:active { color: #fcd3a5; @@ -73,6 +75,8 @@ background: #0095cd; background: -webkit-gradient(linear, left top, left bottom, from(#00adee), to(#0078a5)); background: -moz-linear-gradient(top, #00adee, #0078a5); filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00adee', endColorstr='#0078a5'); +margin-left: 4px; +margin-right: 4px; } .blue:active { color: #80bed6; diff --git a/htdocs/opensurvey/fonctions.php b/htdocs/opensurvey/fonctions.php index b65abcaffe9..5b11a821b7c 100644 --- a/htdocs/opensurvey/fonctions.php +++ b/htdocs/opensurvey/fonctions.php @@ -184,7 +184,7 @@ function getUrlSondage($id, $admin = false) * Generate a random id * * @param string $car Char to generate key - * @return void + * @return string */ function dol_survey_random($car) { diff --git a/htdocs/opensurvey/img/date.png b/htdocs/opensurvey/img/date.png index c847011e952..c5e8dbdac8a 100644 Binary files a/htdocs/opensurvey/img/date.png and b/htdocs/opensurvey/img/date.png differ diff --git a/htdocs/opensurvey/img/sondage2.png b/htdocs/opensurvey/img/sondage2.png index 8018ce99860..e027ce9ef37 100644 Binary files a/htdocs/opensurvey/img/sondage2.png and b/htdocs/opensurvey/img/sondage2.png differ diff --git a/htdocs/opensurvey/results.php b/htdocs/opensurvey/results.php index 226bc0c0465..ee19d321301 100644 --- a/htdocs/opensurvey/results.php +++ b/htdocs/opensurvey/results.php @@ -480,7 +480,7 @@ $urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($ $urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file //$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current -$url=$urlwithouturlroot.dol_buildpath('/opensurvey/public/studs.php',1).'?sondage='.$numsondage; +$url=$urlwithouturlroot.dol_buildpath('/public/opensurvey/studs.php',1).'?sondage='.$numsondage; $urlvcal=''.$url.''; print $urlvcal; @@ -834,7 +834,7 @@ while ($compteur < $num) if (empty($listofanswers[$i]['format']) || ! in_array($listofanswers[$i]['format'],array('yesno','foragainst'))) { print ''; } if (! empty($listofanswers[$i]['format']) && $listofanswers[$i]['format'] == 'yesno') @@ -931,7 +931,7 @@ if (empty($testligneamodifier)) print ''; } diff --git a/htdocs/opensurvey/wizard/choix_autre.php b/htdocs/opensurvey/wizard/choix_autre.php index d2ec6067b85..6b4cceaae0d 100644 --- a/htdocs/opensurvey/wizard/choix_autre.php +++ b/htdocs/opensurvey/wizard/choix_autre.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Marcos García +/* Copyright (C) 2013-2015 Laurent Destailleur + * 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 @@ -30,6 +30,8 @@ require_once(DOL_DOCUMENT_ROOT."/opensurvey/fonctions.php"); // Security check if (!$user->rights->opensurvey->write) accessforbidden(); + + /* * Action */ @@ -48,7 +50,8 @@ if (isset($_SESSION["nbrecases"])) { $_SESSION["nbrecases"]=5; } -if (isset($_POST["ajoutcases"])) { +if (GETPOST("ajoutcases") || GETPOST("ajoutcases_x")) +{ $_SESSION["nbrecases"]=$_SESSION["nbrecases"]+5; } @@ -83,7 +86,7 @@ if (isset($_POST["confirmecreation"])) if ($testremplissage != "ok" || (!$toutchoix)) { setEventMessage($langs->trans("ErrorOpenSurveyOneChoice"), 'errors'); } else { - + //format du sondage AUTRE $_SESSION["formatsondage"]="A"; diff --git a/htdocs/opensurvey/wizard/choix_date.php b/htdocs/opensurvey/wizard/choix_date.php index e835c274e7d..cc08434cd50 100644 --- a/htdocs/opensurvey/wizard/choix_date.php +++ b/htdocs/opensurvey/wizard/choix_date.php @@ -338,8 +338,9 @@ print $langs->trans("OpenSurveyStep2")."\n"; print '
'."\n"; //debut du tableau qui affiche le calendrier -print '
'."\n"; -print ''."\n"; +print '
'."\n"; +print '
'."\n"; +print '
'."\n"; // The div class=center has no effect on table, so we must keep the align=center for table print ''; print ''."\n"; print '
'.$motmois.' '.$_SESSION["annee"].'
'; print ''; @@ -347,7 +348,10 @@ print '
'; print '
'."\n"; -print ''."\n"; +print ''."\n"; + +print '
'."\n"; +print '
'."\n"; // The div class=center has no effect on table, so we must keep the align=center for table print ''."\n"; //affichage des jours de la semaine en haut du tableau @@ -490,24 +494,27 @@ for ($i = 0; $i < $nbrejourmois + $premierjourmois; $i++) { //fin du tableau print ''."\n"; print '
'."\n"; -print '
'."\n"; +print '
'."\n"; -print '
'."\n"; +print '
'."\n"; // affichage de tous les jours choisis if (issetAndNoEmpty('totalchoixjour', $_SESSION) || $erreur) { //affichage des jours print '
'."\n"; + print '
'; print ''. $langs->trans("SelectedDays") .':'."
\n"; print $langs->trans("SelectDayDesc")."
\n"; + print '

'; + print ''."\n"; print ''."\n"; print ''."\n"; for ($i = 0; $i < $_SESSION["nbrecaseshoraires"]; $i++) { $j = $i+1; - print ''."\n"; + print ''."\n"; } if ($_SESSION["nbrecaseshoraires"] < 10) { @@ -555,7 +562,7 @@ print ''."\n"; print ''."\n"; //bandeau de pied print '



'."\n"; -print ''."\n"; +print ''."\n"; llxFooter(); diff --git a/htdocs/opensurvey/wizard/create_survey.php b/htdocs/opensurvey/wizard/create_survey.php index cacc0ad8155..9c5d27d070e 100644 --- a/htdocs/opensurvey/wizard/create_survey.php +++ b/htdocs/opensurvey/wizard/create_survey.php @@ -1,6 +1,7 @@ * Copyright (C) 2014 Marcos García + * Copyright (C) 2015 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 @@ -79,7 +80,7 @@ if (GETPOST("creation_sondage_date") || GETPOST("creation_sondage_autre")) $testdate = false; $champdatefin = dol_mktime(0,0,0,GETPOST('champdatefinmonth'),GETPOST('champdatefinday'),GETPOST('champdatefinyear')); - if (GETPOST('champdatefin') && ($champdatefin > 0)) // A date was provided + if ($champdatefin && ($champdatefin > 0)) // A date was provided { // Expire date is not before today if ($champdatefin >= dol_now()) @@ -90,16 +91,17 @@ if (GETPOST("creation_sondage_date") || GETPOST("creation_sondage_autre")) else { $testdate = true; + $_SESSION['champdatefin'] = dol_print_date($champdatefin,'dayrfc'); //$testdate = false; //$_SESSION['champdatefin'] = dol_print_date($champdatefin,'dayrfc'); - //setEventMessage($langs->trans('ExpiredDate'),'errors'); + setEventMessage($langs->trans('ExpiredDate'),'warnings'); } } if (! $testdate) { setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentitiesnoconv("ExpireDate")), 'errors'); } - + if ($titre && $testdate) { if (! empty($creation_sondage_date)) @@ -134,6 +136,8 @@ print_fiche_titre($langs->trans("CreatePoll").' (1 / 2)'); //debut du formulaire print '
'."\n"; +dol_fiche_head(); + //Affichage des différents champs textes a remplir print '
'. $langs->trans("Time") .' '.$j.'
'. $langs->trans("Time") .' '.$j.'
'."\n"; @@ -157,6 +161,8 @@ print $form->select_date($champdatefin?$champdatefin:-1,'champdatefin','','','', print ''."\n"; print '
'."\n"; +dol_fiche_end(); + //focus javascript sur le premier champ print ''; + print ''; + //Parameters + print ''; + $help = $langs->trans("GlobalVariableUpdaterHelp".$type).'
'.$langs->trans("GlobalVariableUpdaterHelpFormat".$type).''; + print ''.$form->textwithpicto($langs->trans("Parameters"),$help,1).''; + require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + $doleditor=new DolEditor('parameters',empty($price_updaters->parameters)?'':$price_updaters->parameters,'',300,'','',false,false,false,10,80); + $doleditor->Create(); + print ''; + print ''; + //Interval + print ''; + print ''.$langs->trans("UpdateInterval").''; + print ''; + print ''; + print ''; + + //Form Buttons + print '
'; + print '  '; + print ''; + print '
'; + print ''; +} else { + //Action Buttons + print '
'; + print ''.$langs->trans("Add").''; + print '
'; +} + +llxFooter(); +$db->close(); diff --git a/htdocs/product/admin/product.php b/htdocs/product/admin/product.php index 2d0c1cca468..c8105c8b61a 100644 --- a/htdocs/product/admin/product.php +++ b/htdocs/product/admin/product.php @@ -6,7 +6,8 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel -** + * Copyright (C) 2012 Cedric Salvador + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or @@ -54,6 +55,10 @@ if ($conf->global->MAIN_FEATURES_LEVEL >= 2) $select_pricing_rules['PRODUIT_CUSTOMER_PRICES_BY_QTY&PRODUIT_MULTIPRICES'] = $langs->trans('MultiPricesAbility') . '+' . $langs->trans('PriceByQuantity'); } +// Clean param +if (! empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_MULTIPRICES_LIMIT)) $conf->global->PRODUIT_MULTIPRICES_LIMIT = 5; + + /* * Actions @@ -155,6 +160,10 @@ else if ($action == 'viewProdTextsInThirdpartyLanguage') $view = GETPOST('activate_viewProdTextsInThirdpartyLanguage','alpha'); $res = dolibarr_set_const($db, "PRODUIT_TEXTS_IN_THIRDPARTY_LANGUAGE", $view,'chaine',0,'',$conf->entity); } +elseif ($action == 'mergePropalProductCard') { + $view = GETPOST('activate_mergePropalProductCard','alpha'); + $res = dolibarr_set_const($db, "PRODUIT_PDF_MERGE_PROPAL", $view,'chaine',0,'',$conf->entity); +} else if ($action == 'usesearchtoselectproduct') { $usesearch = GETPOST('activate_usesearchtoselectproduct','alpha'); @@ -172,6 +181,12 @@ else if ($action == 'set') $res = dolibarr_set_const($db, "PRODUIT_USE_ECOTAXE", $ecotaxe,'chaine',0,'',$conf->entity); }*/ +else if ($action == 'useUnits') +{ + $useUnits = GETPOST('activate_units', 'alpha'); + $res = dolibarr_set_const($db, "PRODUCT_USE_UNITS", $useUnits, 'chaine', 0, '', $conf->entity); +} + if($action) { if (! $res > 0) $error++; @@ -208,7 +223,7 @@ else if (empty($conf->service->enabled)) llxHeader('',$title); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($title,$linkback,'setup'); +print_fiche_titre($title,$linkback,'title_setup'); $head = product_admin_prepare_head(); dol_fiche_head($head, 'general', $tab, 0, 'product'); @@ -424,6 +439,37 @@ print ''; print ''; print ''; +// Activate propal merge produt card +/* disabled. PRODUIT_PDF_MERGE_PROPAL can be added manually. Still did not understand how this feature works. +$var=!$var; +print '
'; +print ''; +print ''; +print ''; +print ''.$langs->trans("MergePropalProductCard").''; +print ''; +print $form->selectyesno("activate_mergePropalProductCard",$conf->global->PRODUIT_PDF_MERGE_PROPAL,1); +print ''; +print ''; +print ''; +print ''; +print '
';*/ + +// Use units +$var=!$var; +print '
'; +print ''; +print ''; +print ''; +print ''.$langs->trans("UseUnits").''; +print ''; +print $form->selectyesno("activate_units",$conf->global->PRODUCT_USE_UNITS,1); +print ''; +print ''; +print ''; +print ''; +print '
'; + // View product description in thirdparty language if (! empty($conf->global->MAIN_MULTILANGS)) { diff --git a/htdocs/product/admin/product_extrafields.php b/htdocs/product/admin/product_extrafields.php index ed4ac4d2921..f610b51fe81 100644 --- a/htdocs/product/admin/product_extrafields.php +++ b/htdocs/product/admin/product_extrafields.php @@ -61,16 +61,16 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; */ $title = $langs->trans('ProductServiceSetup'); -$tab = $langs->trans("ProductsAndServices"); +$textobject = $langs->trans("ProductsAndServices"); if (empty($conf->produit->enabled)) { $title = $langs->trans('ServiceSetup'); - $tab = $langs->trans('Services'); + $textobject = $langs->trans('Services'); } else if (empty($conf->service->enabled)) { $title = $langs->trans('ProductSetup'); - $tab = $langs->trans('Products'); + $textobject = $langs->trans('Products'); } $help_url='EN:Module Third Parties setup|FR:Paramétrage_du_module_Tiers'; @@ -78,50 +78,14 @@ llxHeader('',$title); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($title,$linkback,'setup'); +print_fiche_titre($title,$linkback,'title_setup'); $head = product_admin_prepare_head(); -dol_fiche_head($head, 'attributes', $tab, 0, 'product'); +dol_fiche_head($head, 'attributes', $textobject, 0, 'product'); - -print $langs->trans('DefineHereComplementaryAttributes', $tab).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; - // $i++; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/product/admin/product_tools.php b/htdocs/product/admin/product_tools.php index 84dacf8db43..ec5f575a552 100644 --- a/htdocs/product/admin/product_tools.php +++ b/htdocs/product/admin/product_tools.php @@ -246,7 +246,7 @@ $title = $langs->trans('ModulesSystemTools'); llxHeader('',$title); -print_fiche_titre($title,'','setup'); +print_fiche_titre($title,'','title_setup'); print $langs->trans("ProductVatMassChangeDesc").'

'; @@ -292,7 +292,7 @@ else print ''."\n"; print ''.$langs->trans("PriceBaseTypeToChange").''."\n"; print ''."\n"; - print $form->load_PriceBaseType($price_base_type); + print $form->selectPriceBaseType($price_base_type); print ''."\n"; print ''."\n"; */ diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php index 44c28f383b5..aba6325d234 100644 --- a/htdocs/product/canvas/product/actions_card_product.class.php +++ b/htdocs/product/canvas/product/actions_card_product.class.php @@ -68,7 +68,7 @@ class ActionsCardProduct * Assign custom values for canvas (for example into this->tpl to be used by templates) * * @param string $action Type of action - * @param string $id Id of object + * @param integer $id Id of object * @param string $ref Ref of object * @return void */ @@ -116,7 +116,7 @@ class ActionsCardProduct // Price $this->tpl['price'] = $this->price; $this->tpl['price_min'] = $this->price_min; - $this->tpl['price_base_type'] = $form->load_PriceBaseType($this->price_base_type, "price_base_type"); + $this->tpl['price_base_type'] = $form->selectPriceBaseType($this->price_base_type, "price_base_type"); // VAT $this->tpl['tva_tx'] = $form->load_tva("tva_tx",-1,$mysoc,''); @@ -138,12 +138,12 @@ class ActionsCardProduct if ($action == 'view') { - $head = product_prepare_head($this->object,$user); + $head = product_prepare_head($this->object); $this->tpl['showrefnav'] = $form->showrefnav($this->object,'ref','',1,'ref'); $titre=$langs->trans("CardProduct".$this->object->type); - $picto=($this->object->type==1?'service':'product'); + $picto=($this->object->type==Product::TYPE_SERVICE?'service':'product'); $this->tpl['showhead']=dol_get_fiche_head($head, 'card', $titre, 0, $picto); $this->tpl['showend']=dol_get_fiche_end(); diff --git a/htdocs/product/canvas/product/tpl/card_create.tpl.php b/htdocs/product/canvas/product/tpl/card_create.tpl.php index b700764484d..3f5ebdcbc0b 100644 --- a/htdocs/product/canvas/product/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/product/tpl/card_create.tpl.php @@ -42,7 +42,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe trans("Ref"); ?> -trans("RefAlreadyExists"); ?> +trans("RefAlreadyExists"); ?> diff --git a/htdocs/product/canvas/service/actions_card_service.class.php b/htdocs/product/canvas/service/actions_card_service.class.php index cbb9e10750c..7bc04ecb42a 100644 --- a/htdocs/product/canvas/service/actions_card_service.class.php +++ b/htdocs/product/canvas/service/actions_card_service.class.php @@ -67,7 +67,7 @@ class ActionsCardService * Assign custom values for canvas (for example into this->tpl to be used by templates) * * @param string $action Type of action - * @param string $id Id of object + * @param integer $id Id of object * @param string $ref Ref of object * @return void */ @@ -115,7 +115,7 @@ class ActionsCardService // Price $this->tpl['price'] = $this->price; $this->tpl['price_min'] = $this->price_min; - $this->tpl['price_base_type'] = $form->load_PriceBaseType($this->price_base_type, "price_base_type"); + $this->tpl['price_base_type'] = $form->selectPriceBaseType($this->price_base_type, "price_base_type"); // VAT $this->tpl['tva_tx'] = $form->load_tva("tva_tx",-1,$mysoc,''); @@ -137,12 +137,12 @@ class ActionsCardService if ($action == 'view') { - $head = product_prepare_head($this->object,$user); + $head = product_prepare_head($this->object); $this->tpl['showrefnav'] = $form->showrefnav($this->object,'ref','',1,'ref'); $titre=$langs->trans("CardProduct".$this->object->type); - $picto=($this->object->type==1?'service':'product'); + $picto=($this->object->type==Product::TYPE_SERVICE?'service':'product'); $this->tpl['showhead']=dol_get_fiche_head($head, 'card', $titre, 0, $picto); $this->tpl['showend']=dol_get_fiche_end(); diff --git a/htdocs/product/canvas/service/tpl/card_create.tpl.php b/htdocs/product/canvas/service/tpl/card_create.tpl.php index 148b9164ac1..c9bb423d0a2 100644 --- a/htdocs/product/canvas/service/tpl/card_create.tpl.php +++ b/htdocs/product/canvas/service/tpl/card_create.tpl.php @@ -40,7 +40,7 @@ $statutarray=array('1' => $langs->trans("OnSell"), '0' => $langs->trans("NotOnSe trans("Ref"); ?> -trans("RefAlreadyExists"); ?> +trans("RefAlreadyExists"); ?> diff --git a/htdocs/product/card.php b/htdocs/product/card.php index d28846c059e..31042ec240e 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1,16 +1,18 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2014 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2006 Auguria SARL * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013-2014 Marcos García - * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2012-2013 Cédric Salvador * Copyright (C) 2011-2014 Alexandre Spangaro * Copyright (C) 2014 Cédric Gross * Copyright (C) 2014-2015 Ferran Marcet + * Copyright (C) 2015 Jean-François Ferry + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -40,6 +42,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/genericobject.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (! empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; if (! empty($conf->commande->enabled)) require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; @@ -50,12 +53,15 @@ if (! empty($conf->stock->enabled)) $langs->load("stocks"); if (! empty($conf->facture->enabled)) $langs->load("bills"); if (! empty($conf->productbatch->enabled)) $langs->load("productbatch"); -$mesg=''; $error=0; $errors=array(); $_error=0; +$mesg=''; $error=0; $errors=array(); + +$refalreadyexists=0; $id=GETPOST('id', 'int'); $ref=GETPOST('ref', 'alpha'); $type=GETPOST('type','int'); $action=(GETPOST('action','alpha') ? GETPOST('action','alpha') : 'view'); +$cancel=GETPOST('cancel'); $confirm=GETPOST('confirm','alpha'); $socid=GETPOST('socid','int'); if (! empty($user->societe_id)) $socid=$user->societe_id; @@ -96,6 +102,8 @@ $hookmanager->initHooks(array('productcard','globalcard')); * Actions */ +if ($cancel) $action = ''; + $createbarcode=empty($conf->barcode->enabled)?0:1; if (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->barcode->creer_advance)) $createbarcode=0; @@ -164,7 +172,7 @@ if (empty($reshook)) { $error=0; - if (! GETPOST('libelle')) + if (! GETPOST('label')) { setEventMessage($langs->trans('ErrorFieldRequired',$langs->transnoentities('Label')), 'errors'); $action = "create"; @@ -179,8 +187,10 @@ if (empty($reshook)) if (! $error) { + $units = GETPOST('units', 'int'); + $object->ref = $ref; - $object->libelle = GETPOST('libelle'); + $object->label = GETPOST('label'); $object->price_base_type = GETPOST('price_base_type'); if ($object->price_base_type == 'TTC') @@ -221,14 +231,14 @@ if (empty($reshook)) $object->barcode_type_label = $stdobject->barcode_type_label; $object->description = dol_htmlcleanlastbr(GETPOST('desc')); - $object->url = GETPOST('url'); + $object->url = GETPOST('url'); $object->note = dol_htmlcleanlastbr(GETPOST('note')); - $object->customcode = GETPOST('customcode'); - $object->country_id = GETPOST('country_id'); + $object->customcode = GETPOST('customcode'); + $object->country_id = GETPOST('country_id'); $object->duration_value = GETPOST('duration_value'); $object->duration_unit = GETPOST('duration_unit'); $object->seuil_stock_alerte = GETPOST('seuil_stock_alerte')?GETPOST('seuil_stock_alerte'):0; - $object->desiredstock = GETPOST('desiredstock')?GETPOST('desiredstock'):0; + $object->desiredstock = GETPOST('desiredstock')?GETPOST('desiredstock'):0; $object->canvas = GETPOST('canvas'); $object->weight = GETPOST('weight'); $object->weight_units = GETPOST('weight_units'); @@ -240,6 +250,7 @@ if (empty($reshook)) $object->volume_units = GETPOST('volume_units'); $object->finished = GETPOST('finished'); $object->hidden = GETPOST('hidden')=='yes'?1:0; + $object->fk_unit = GETPOST('units'); $object->accountancy_code_sell = GETPOST('accountancy_code_sell'); $object->accountancy_code_buy = GETPOST('accountancy_code_buy'); @@ -271,6 +282,16 @@ if (empty($reshook)) if ($id > 0) { + // Category association + $categories = GETPOST('categories'); + if(!empty($categories)) { + $cat = new Categorie($db); + foreach($categories as $id_category) { + $cat->fetch($id_category); + $cat->add_type($object, 'product'); + } + } + header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); exit; } @@ -297,7 +318,7 @@ if (empty($reshook)) $object->oldcopy=dol_clone($object); $object->ref = $ref; - $object->libelle = GETPOST('libelle'); + $object->label = GETPOST('label'); $object->description = dol_htmlcleanlastbr(GETPOST('desc')); $object->url = GETPOST('url'); $object->note = dol_htmlcleanlastbr(GETPOST('note')); @@ -322,6 +343,14 @@ if (empty($reshook)) $object->finished = GETPOST('finished'); $object->hidden = GETPOST('hidden')=='yes'?1:0; + $units = GETPOST('units', 'int'); + + if ($units > 0) { + $object->fk_unit = $units; + } else { + $object->fk_unit = null; + } + $object->barcode_type = GETPOST('fk_barcode_type'); $object->barcode = GETPOST('barcode'); // Set barcode_type_xxx from barcode_type id @@ -349,6 +378,23 @@ if (empty($reshook)) { if ($object->update($object->id, $user) > 0) { + // Category association + // First we delete all categories association + $sql = "DELETE FROM ".MAIN_DB_PREFIX."categorie_product"; + $sql .= " WHERE fk_product = ".$object->id; + $db->query($sql); + + // Then we add the associated categories + $categories = GETPOST('categories'); + if(!empty($categories)) { + $cat = new Categorie($db); + + foreach($categories as $id_category) { + $cat->fetch($id_category); + $cat->add_type($object, 'product'); + } + } + $action = 'view'; } else @@ -424,7 +470,7 @@ if (empty($reshook)) { $db->rollback(); - $_error++; + $refalreadyexists++; $action = ""; $mesg=$langs->trans("ErrorProductAlreadyExists",$object->ref); @@ -433,7 +479,7 @@ if (empty($reshook)) $object->fetch($id); } else - { + { $db->rollback(); if (count($object->errors)) { @@ -461,7 +507,7 @@ if (empty($reshook)) if ($action == 'confirm_delete' && $confirm != 'yes') { $action=''; } if ($action == 'confirm_delete' && $confirm == 'yes') { - if (($object->type == 0 && $user->rights->produit->supprimer) || ($object->type == 1 && $user->rights->service->supprimer)) + if (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->supprimer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->supprimer)) { $result = $object->delete($object->id); } @@ -480,19 +526,45 @@ if (empty($reshook)) } - // Add product into proposal - if ($object->id > 0 && $action == 'addinpropal') + // Add product into object + if ($object->id > 0 && $action == 'addin') { - $propal = new Propal($db); - $result=$propal->fetch(GETPOST('propalid')); - if ($result <= 0) + if (GETPOST('propalid') > 0) { - dol_print_error($db,$propal->error); - exit; + $propal = new Propal($db); + $result=$propal->fetch(GETPOST('propalid')); + if ($result <= 0) + { + dol_print_error($db,$propal->error); + exit; + } + $thirpdartyid = $propal->socid; + } + elseif (GETPOST('commandeid') > 0) + { + $commande = new Commande($db); + $result=$commande->fetch(GETPOST('commandeid')); + if ($result <= 0) + { + dol_print_error($db,$commande->error); + exit; + } + $thirpdartyid = $commande->socid; + } + elseif (GETPOST('factureid') > 0) + { + $facture = new Facture($db); + $result=$facture->fetch(GETPOST('factureid')); + if ($result <= 0) + { + dol_print_error($db,$facture->error); + exit; + } + $thirpdartyid = $facture->socid; } $soc = new Societe($db); - $result=$soc->fetch($propal->socid); + $result=$soc->fetch($thirpdartyid); if ($result <= 0) { dol_print_error($db,$soc->error); @@ -549,218 +621,116 @@ if (empty($reshook)) } } - $result = $propal->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, // localtax1 - $localtax2_tx, // localtax2 - $object->id, - GETPOST('remise_percent'), - $price_base_type, - $pu_ttc - ); - if ($result > 0) + if (GETPOST('propalid') > 0) { - header("Location: ".DOL_URL_ROOT."/comm/propal.php?id=".$propal->id); - return; + $result = $propal->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, // localtax1 + $localtax2_tx, // localtax2 + $object->id, + GETPOST('remise_percent'), + $price_base_type, + $pu_ttc, + 0, + 0, + -1, + 0, + 0, + 0, + 0, + '', + '', + '', + 0, + $object->fk_unit + ); + if ($result > 0) + { + header("Location: ".DOL_URL_ROOT."/comm/propal.php?id=".$propal->id); + return; + } + + setEventMessage($langs->trans("ErrorUnknown").": $result", 'errors'); } - - setEventMessage($langs->trans("ErrorUnknown").": $result", 'errors'); - } - - // Add product into order - if ($object->id > 0 && $action == 'addincommande') - { - $commande = new Commande($db); - $result=$commande->fetch(GETPOST('commandeid')); - if ($result <= 0) + elseif (GETPOST('commandeid') > 0) { - dol_print_error($db,$commande->error); - exit; + $result = $commande->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, // localtax1 + $localtax2_tx, // localtax2 + $object->id, + GETPOST('remise_percent'), + '', + '', + $price_base_type, + $pu_ttc, + '', + '', + 0, + -1, + 0, + 0, + null, + 0, + '', + 0, + $object->fk_unit + ); + + if ($result > 0) + { + header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".$commande->id); + exit; + } } - - $soc = new Societe($db); - $result=$soc->fetch($commande->socid); - if ($result <= 0) - { - dol_print_error($db,$soc->error); - exit; - } - - $desc = $object->description; - - $tva_tx = get_default_tva($mysoc, $soc, $object->id); - $localtax1_tx= get_localtax($tva_tx, 1, $soc); - $localtax2_tx= get_localtax($tva_tx, 2, $soc); - - - $pu_ht = $object->price; - $pu_ttc = $object->price_ttc; - $price_base_type = $object->price_base_type; - - // If multiprice - if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) - { - $pu_ht = $object->multiprices[$soc->price_level]; - $pu_ttc = $object->multiprices_ttc[$soc->price_level]; - $price_base_type = $object->multiprices_base_type[$soc->price_level]; - } - elseif (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) + elseif (GETPOST('factureid') > 0) { - require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; + $result = $facture->addline( + $desc, + $pu_ht, + GETPOST('qty'), + $tva_tx, + $localtax1_tx, + $localtax2_tx, + $object->id, + GETPOST('remise_percent'), + '', + '', + '', + '', + '', + $price_base_type, + $pu_ttc, + Facture::TYPE_STANDARD, + -1, + 0, + '', + 0, + 0, + null, + 0, + '', + 0, + 100, + '', + $object->fk_unit + ); - $prodcustprice = new Productcustomerprice($db); - - $filter = array('t.fk_product' => $object->id,'t.fk_soc' => $soc->id); - - $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); - if ($result) { - 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; - $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; - } - } + if ($result > 0) + { + header("Location: ".DOL_URL_ROOT."/compta/facture.php?facid=".$facture->id); + exit; + } } - // 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 ($tva_tx != $object->tva_tx) - { - if ($price_base_type != 'HT') - { - $pu_ht = price2num($pu_ttc / (1 + ($tva_tx/100)), 'MU'); - } - else - { - $pu_ttc = price2num($pu_ht * (1 + ($tva_tx/100)), 'MU'); - } - } - - $result = $commande->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, // localtax1 - $localtax2_tx, // localtax2 - $object->id, - GETPOST('remise_percent'), - '', - '', - $price_base_type, - $pu_ttc - ); - - if ($result > 0) - { - header("Location: ".DOL_URL_ROOT."/commande/card.php?id=".$commande->id); - exit; - } - } - - // Add product into invoice - if ($object->id > 0 && $action == 'addinfacture' && $user->rights->facture->creer) - { - $facture = New Facture($db); - $result=$facture->fetch(GETPOST('factureid')); - if ($result <= 0) - { - dol_print_error($db,$facture->error); - exit; - } - - $soc = new Societe($db); - $soc->fetch($facture->socid); - if ($result <= 0) - { - dol_print_error($db,$soc->error); - exit; - } - - $desc = $object->description; - - $tva_tx = get_default_tva($mysoc, $soc, $object->id); - $localtax1_tx= get_localtax($tva_tx, 1, $soc); - $localtax2_tx= get_localtax($tva_tx, 2, $soc); - - $pu_ht = $object->price; - $pu_ttc = $object->price_ttc; - $price_base_type = $object->price_base_type; - - // If multiprice - if ($conf->global->PRODUIT_MULTIPRICES && $soc->price_level) - { - $pu_ht = $object->multiprices[$soc->price_level]; - $pu_ttc = $object->multiprices_ttc[$soc->price_level]; - $price_base_type = $object->multiprices_base_type[$soc->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' => $object->id,'t.fk_soc' => $soc->id); - - $result = $prodcustprice->fetch_all('', '', 0, 0, $filter); - if ($result) { - 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; - $prod->tva_tx = $prodcustprice->lines [0]->tva_tx; - } - } - } - // 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 ($tva_tx != $object->tva_tx) - { - if ($price_base_type != 'HT') - { - $pu_ht = price2num($pu_ttc / (1 + ($tva_tx/100)), 'MU'); - } - else - { - $pu_ttc = price2num($pu_ht * (1 + ($tva_tx/100)), 'MU'); - } - } - - $result = $facture->addline( - $desc, - $pu_ht, - GETPOST('qty'), - $tva_tx, - $localtax1_tx, - $localtax2_tx, - $object->id, - GETPOST('remise_percent'), - '', - '', - '', - '', - '', - $price_base_type, - $pu_ttc - ); - - if ($result > 0) - { - header("Location: ".DOL_URL_ROOT."/compta/facture.php?facid=".$facture->id); - exit; - } } } -if (GETPOST("cancel") == $langs->trans("Cancel")) -{ - $action = ''; - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); - exit; -} /* @@ -768,8 +738,8 @@ if (GETPOST("cancel") == $langs->trans("Cancel")) */ $helpurl=''; -if (GETPOST("type") == '0' || ($object->type == '0')) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; -if (GETPOST("type") == '1' || ($object->type == '1')) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; +if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) $helpurl='EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; +if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) $helpurl='EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; if (isset($_GET['type'])) $title = $langs->trans('CardProduct'.GETPOST('type')); else $title = $langs->trans('ProductServiceCard'); @@ -843,21 +813,24 @@ else if ($type==1) $title=$langs->trans("NewService"); else $title=$langs->trans("NewProduct"); - print_fiche_titre($title); + $linkback=""; + print_fiche_titre($title,$linkback,'title_products.png'); + + dol_fiche_head(''); print ''; print ''; $tmpcode=''; if (! empty($modCodeProduct->code_auto)) $tmpcode=$modCodeProduct->getNextValue($object,$type); print ''; // Label - print ''; + print ''; // On sell print '"; + + if($conf->categorie->enabled) { + // Categories + print '"; + } + + // Units + if($conf->global->PRODUCT_USE_UNITS) + { + print ''; + print ''; + } + print '
'.$langs->trans("Ref").''; - if ($_error) + if ($refalreadyexists) { print $langs->trans("RefAlreadyExists"); } print '
'.$langs->trans("Label").'
'.$langs->trans("Label").'
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; @@ -1003,9 +976,27 @@ else // 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', GETPOST('note'), '', 140, 'dolibarr_details', '', false, true, $conf->global->FCKEDITOR_ENABLE_PRODUCTDESC, 8, 70); - $doleditor->Create(); + $doleditor->Create(); print "
'.$langs->trans("Categories").''; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', 'parent', 64, 0, 1); + print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, '', 0, '100%'); + print "
'.$langs->trans('Unit').''; + print $form->selectUnits("units"); + print '
'; print '
'; @@ -1022,7 +1013,7 @@ else // PRIX print ''.$langs->trans("SellingPrice").''; print ''; - print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); + print $form->selectPriceBaseType($object->price_base_type, "price_base_type"); print ''; // MIN PRICE @@ -1063,7 +1054,9 @@ else print '
'; //} - print '
'; + dol_fiche_end(); + + print '
'; print ''; } @@ -1082,7 +1075,7 @@ else $type = $langs->trans('Product'); if ($object->isservice()) $type = $langs->trans('Service'); - print_fiche_titre($langs->trans('Modify').' '.$type.' : '.(is_object($object->oldcopy)?$object->oldcopy->ref:$object->ref), ""); + //print_fiche_titre($langs->trans('Modify').' '.$type.' : '.(is_object($object->oldcopy)?$object->oldcopy->ref:$object->ref), ""); // Main official, simple, and not duplicated code print '
'."\n"; @@ -1090,26 +1083,32 @@ else print ''; print ''; print ''; + + $head=product_prepare_head($object); + $titre=$langs->trans("CardProduct".$object->type); + $picto=($object->type== Product::TYPE_SERVICE?'service':'product'); + dol_fiche_head($head, 'card', $titre, 0, $picto); + print ''; // Ref print ''; // Label - print ''; + print ''; // Status To sell print ''; @@ -1119,13 +1118,13 @@ else print ''; print ''; @@ -1180,6 +1179,7 @@ else print ''; // Stock + /* if ($object->isproduct() && ! empty($conf->stock->enabled)) { print "".'"; + + if($conf->categorie->enabled) { + // Categories + print '"; + } + + // Units + if($conf->global->PRODUCT_USE_UNITS) + { + print ''; + print ''; + } + print '
'.$langs->trans("Ref").'
'.$langs->trans("Label").'
'.$langs->trans("Label").'
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; print ''; print '
'.$langs->trans("StockLimit").''; @@ -1194,10 +1194,10 @@ else { print ''; print ''; - } + }*/ // Nature - if($object->type!=1) + if($object->type!= Product::TYPE_SERVICE) { print '
'.$langs->trans("Nature").''; $statutarray=array('-1'=>' ', '1' => $langs->trans("Finished"), '0' => $langs->trans("RowMaterial")); @@ -1272,6 +1272,29 @@ else $doleditor->Create(); print "
'.$langs->trans("Categories").''; + $cate_arbo = $form->select_all_categories(Categorie::TYPE_PRODUCT, '', 'parent', 64, 0, 1); + $c = new Categorie($db); + $cats = $c->containing($object->id,Categorie::TYPE_PRODUCT); + foreach($cats as $cat) { + $arrayselected[] = $cat->id; + } + print $form->multiselectarray('categories', $cate_arbo, $arrayselected, '', 0, '', 0, '100%'); + print "
'.$langs->trans('Unit').''; + print $form->selectUnits($object->fk_unit); + print '
'; print '
'; @@ -1295,21 +1318,24 @@ else print ''; print ''; - - print '
'; //} - print '
    '; - print '
'; + dol_fiche_end(); + + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; } // Fiche en mode visu else { - $head=product_prepare_head($object, $user); + $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); - $picto=($object->type==1?'service':'product'); + $picto=($object->type== Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'card', $titre, 0, $picto); $showphoto=$object->is_photo_available($conf->product->multidir_output[$object->entity]); @@ -1327,12 +1353,12 @@ else print ''; // Label - print ''.$langs->trans("Label").''.$object->libelle.''; + print ''.$langs->trans("Label").''.$object->label.''; $nblignes=7; if (! empty($conf->produit->enabled) && ! empty($conf->service->enabled)) $nblignes++; if ($showbarcode) $nblignes+=2; - if ($object->type!=1) $nblignes++; + if ($object->type!= Product::TYPE_SERVICE) $nblignes++; if (empty($conf->global->PRODUCT_DISABLE_CUSTOM_INFO)) $nblignes+=2; if ($object->isservice()) $nblignes++; else $nblignes+=4; @@ -1370,7 +1396,7 @@ else print ''; + if (($action != 'editbarcodetype') && ! empty($user->rights->barcode->creer)) print ''; print '
'; print $langs->trans("BarcodeType"); print ''; - if (($action != 'editbarcodetype') && $user->rights->barcode->creer) print 'id.'">'.img_edit($langs->trans('Edit'),1).'id.'">'.img_edit($langs->trans('Edit'),1).'
'; print ''; if ($action == 'editbarcodetype') @@ -1391,7 +1417,7 @@ else print ''; + if (($action != 'editbarcode') && ! empty($user->rights->barcode->creer)) print ''; print '
'; print $langs->trans("BarcodeValue"); print ''; - if (($action != 'editbarcode') && $user->rights->barcode->creer) print 'id.'">'.img_edit($langs->trans('Edit'),1).'id.'">'.img_edit($langs->trans('Edit'),1).'
'; print ''; if ($action == 'editbarcode') @@ -1446,7 +1472,7 @@ else print ''; // Batch number management (to batch) - if ($conf->productbatch->enabled) { + if (! empty($conf->productbatch->enabled)) { print ''.$langs->trans("ManageLotSerial").''; if (! empty($conf->use_javascript_ajax) && $user->rights->produit->creer && ! empty($conf->global->MAIN_DIRECT_STATUS_UPDATE)) { print ajax_object_onoff($object, 'status_batch', 'tobatch', 'ProductStatusOnBatch', 'ProductStatusNotOnBatch'); @@ -1465,7 +1491,7 @@ else print ''; // Nature - if($object->type!=1) + if($object->type!= Product::TYPE_SERVICE) { print ''.$langs->trans("Nature").''; print $object->getLibFinished(); @@ -1536,6 +1562,18 @@ else print "\n"; } + // Unit + if (! empty($conf->global->PRODUCT_USE_UNITS)) + { + $unit = $object->getLabelOfUnit(); + + print ''.$langs->trans('Unit').''; + if ($unit !== '') { + print $langs->trans($unit); + } + print ''; + } + // Custom code if (empty($conf->global->PRODUCT_DISABLE_CUSTOM_INFO)) { @@ -1554,7 +1592,16 @@ else } // Note - print ''.$langs->trans("Note").''.(dol_textishtml($object->note)?$object->note:dol_nl2br($object->note,1,true)).''; + print ' '."\n"; + print ''.$langs->trans("Note").''.(dol_textishtml($object->note)?$object->note:dol_nl2br($object->note,1,true)).''."\n"; + print ' '."\n"; + + // Categories + if($conf->categorie->enabled) { + print ''.$langs->trans("Categories").''; + print $form->showCategories($object->id,'product',1); + print ""; + } print "\n"; @@ -1627,8 +1674,8 @@ if (empty($reshook)) } $object_is_used = $object->isObjectUsed($object->id); - if (($object->type == 0 && $user->rights->produit->supprimer) - || ($object->type == 1 && $user->rights->service->supprimer)) + if (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->supprimer) + || ($object->type == Product::TYPE_SERVICE && $user->rights->service->supprimer)) { if (empty($object_is_used) && (! isset($object->no_button_delete) || $object->no_button_delete <> 1)) { @@ -1653,7 +1700,7 @@ if (empty($reshook)) } } -print "\n

\n"; +print "\n
\n"; /* @@ -1673,42 +1720,24 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) $langs->load("propal"); - $html .= ''; - $html .= ''.$langs->trans("AddToDraftProposals").''; - $html .= ''; - $html .= ''; - $var=true; $otherprop = $propal->liste_array(2,1,0); - $html .= '
'; - $html .= ''; - $html .= ''; + if (is_array($otherprop) && count($otherprop)) { $var=!$var; - $html .= ''; - $html .= ''; } else - { - $html .= "'; } - $html .= '
'; - $html .= ''; - $html .= $langs->trans("Proposals").''; + $html .= '
'; + $html .= $langs->trans("AddToDraftProposals").''; $html .= $form->selectarray("propalid", $otherprop, 0, 1); $html .= '
'.$langs->trans("Quantity").' '; - $html .= ''.$langs->trans("ReductionShort").'(%) '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
"; + { + $html .= '
'; + $html .= $langs->trans("AddToDraftProposals").''; $html .= $langs->trans("NoDraftProposals"); $html .= '
'; - $html .= '
'; - - $html .= ''; - $html .= ''; } // Commande @@ -1718,42 +1747,23 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) $langs->load("orders"); - $html .= ''; - $html .= ''.$langs->trans("AddToDraftOrders").''; - $html .= ''; - $html .= ''; - $var=true; $othercom = $commande->liste_array(2, 1, null); - $html .= '
'; - $html .= ''; - $html .= ''; if (is_array($othercom) && count($othercom)) { $var=!$var; - $html .= ''; - $html .= ''; } else { - $html .= "'; } - $html .= '
'; - $html .= ''; - $html .= $langs->trans("Orders").''; + $html .= '
'; + $html .= $langs->trans("AddToDraftOrders").''; $html .= $form->selectarray("commandeid", $othercom, 0, 1); $html .= '
'.$langs->trans("Quantity").' '; - $html .= ''.$langs->trans("ReductionShort").'(%) '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
"; + $html .= '
'; + $html .= $langs->trans("AddToDraftOrders").''; $html .= $langs->trans("NoDraftOrders"); $html .= '
'; - $html .= '
'; - - $html .= ''; - $html .= ''; } // Factures @@ -1763,51 +1773,48 @@ if ($object->id && ($action == '' || $action == 'view') && $object->status) $langs->load("bills"); - $html .= ''; - $html .= ''.$langs->trans("AddToDraftInvoices").''; - $html .= ''; - $html .= ''; - $var=true; $otherinvoice = $invoice->liste_array(2, 1, null); - $html .= '
'; - $html .= ''; - $html .= ''; if (is_array($otherinvoice) && count($otherinvoice)) { $var=!$var; - $html .= ''; - $html .= ''; } else { - $html .= "'; } - $html .= '
'; - $html .= ''; - $html .= $langs->trans("Invoice").''; + $html .= '
'; + $html .= $langs->trans("AddToDraftInvoices").''; $html .= $form->selectarray("factureid", $otherinvoice, 0, 1); $html .= '
'.$langs->trans("Quantity").' '; - $html .= ''.$langs->trans("ReductionShort").'(%) '; - $html .= ''; - $html .= ''; - $html .= ''; - $html .= '
"; + $html .= '
'; + $html .= $langs->trans("AddToDraftInvoices").''; $html .= $langs->trans("NoDraftInvoices"); $html .= '
'; - $html .= '
'; - - $html .= ''; - $html .= ''; } //If any text is going to be printed, then we show the table if (!empty($html)) { - print ''; + print ''; + print ''; + print ''; + + print load_fiche_titre($langs->trans("Add"),'',''); + + $html .= ''; + + print '
'.$langs->trans("Quantity").' '; + $html .= ''.$langs->trans("ReductionShort").'(%) '; + $html .= ''; + $html .= '
'; print $html; print '
'; - print '
'; + + print '
'; + print ''; + print '
'; + + print ''; } } diff --git a/htdocs/product/class/api_product.class.php b/htdocs/product/class/api_product.class.php new file mode 100644 index 00000000000..1ce63411cd3 --- /dev/null +++ b/htdocs/product/class/api_product.class.php @@ -0,0 +1,273 @@ + + * + * 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; + + require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; + +/** + * API class for product object + * + * @smart-auto-routing false + * @access protected + * @class DolibarrApiAccess {@requires user,external} + * + */ +class ProductApi extends DolibarrApi +{ + /** + * @var array $FIELDS Mandatory fields, checked when create and update object + */ + static $FIELDS = array( + 'ref', + 'label' + ); + + /** + * @var Product $product {@type Product} + */ + public $product; + + /** + * Constructor + * + * @url product/ + * + */ + function __construct() + { + global $db, $conf; + $this->db = $db; + $this->product = new Product($this->db); + } + + /** + * Get properties of a product object + * + * Return an array with product informations + * + * @param int $id ID of product + * @param string $ref Product ref + * @param string $ref_ext Product ref ext + * @return array|mixed data without useless information + * + * @url GET product/{id} + * @throws RestException + */ + function get($id='', $ref='', $ref_ext='') + { + if(! DolibarrApiAccess::$user->rights->produit->lire) { + throw new RestException(401); + } + + $result = $this->product->fetch($id,$ref,$ref_ext); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + $this->product->load_stock(); + + return $this->_cleanObjectDatas($this->product); + } + + /** + * List products + * + * Get a list of products + * + * @param int $mode Use this param to filter list (0 for all, 1 for only product, 2 for only service) + * @param mixed $to_sell Filter products to sell (1) or not to sell (0) + * @param mixed $to_buy Filter products to nuy (1) or not to buy (0) + * @param string $sortfield Sort field + * @param string $sortorder Sort order + * @param int $limit Limit for list + * @param int $page Page number + * + * @return array Array of product objects + * + * @url GET /product/list + */ + function getList($mode=0, $to_sell='', $to_buy='', $sortfield = "p.ref", $sortorder = 'ASC', $limit = 0, $page = 0) { + global $db, $conf; + + $obj_ret = array(); + + $socid = DolibarrApiAccess::$user->societe_id ? DolibarrApiAccess::$user->societe_id : ''; + + $sql ="SELECT rowid, ref, ref_ext"; + $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; + $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; + + // Show products + if ($mode == 1) $sql.= " AND p.fk_product_type = 0"; + // Show services + if ($mode == 2) $sql.= " AND p.fk_product_type = 1"; + // Show product on sell + if ($to_sell) $sql.= " AND p.to_sell = ".$db->escape($to_sell); + // Show product on buy + if ($to_buy) $sql.= " AND p.to_nuy = ".$db->escape($to_nuy); + + $nbtotalofrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) + { + $result = $db->query($sql); + $nbtotalofrecords = $db->num_rows($result); + } + + $sql.= $db->order($sortfield, $sortorder); + if ($limit) { + if ($page < 0) + { + $page = 0; + } + $offset = $limit * $page; + + $sql.= $db->plimit($limit + 1, $offset); + } + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); + $product_static = new Product($db); + if($product_static->fetch($obj->rowid)) { + $obj_ret[] = parent::_cleanObjectDatas($product_static); + } + $i++; + } + } + else { + throw new RestException(503, 'Error when retrieve product list'); + } + if( ! count($obj_ret)) { + throw new RestException(404, 'No product found'); + } + return $obj_ret; + } + + /** + * Create product object + * + * @param array $request_data Request data + * @return int ID of product + * + * @url POST product/ + */ + function post($request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->produit->creer) { + throw new RestException(401); + } + // Check mandatory fields + $result = $this->_validate($request_data); + + foreach($request_data as $field => $value) { + $this->product->$field = $value; + } + $result = $this->product->create(DolibarrApiAccess::$user); + if($result < 0) { + throw new RestException(503,'Error when creating product : '.$this->product->error); + } + + return $this->product->id; + + } + + /** + * Update product + * + * @param int $id Id of product to update + * @param array $request_data Datas + * @return int + * + * @url PUT product/{id} + */ + function put($id, $request_data = NULL) + { + if(! DolibarrApiAccess::$user->rights->produit->creer) { + throw new RestException(401); + } + + $result = $this->product->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + foreach($request_data as $field => $value) { + $this->product->$field = $value; + } + + if($this->product->update($id, DolibarrApiAccess::$user,1,'','','update')) + return $this->get ($id); + + return false; + } + + /** + * Delete product + * + * @param int $id Product ID + * @return array + * + * @url DELETE product/{id} + */ + function delete($id) + { + if(! DolibarrApiAccess::$user->rights->product->supprimer) { + throw new RestException(401); + } + $result = $this->product->fetch($id); + if( ! $result ) { + throw new RestException(404, 'Product not found'); + } + + if( ! DolibarrApi::_checkAccessToResource('product',$this->product->id)) { + throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login); + } + + return $this->product->delete($id); + } + + /** + * Validate fields before create or update object + * + * @param array $data Datas to validate + * @return array + * @throws RestException + */ + function _validate($data) + { + $product = array(); + foreach (ProductApi::$FIELDS as $field) { + if (!isset($data[$field])) + throw new RestException(400, "$field field missing"); + $product[$field] = $data[$field]; + } + return $product; + } +} diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 69e999b18ea..0215f20e3c6 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -22,9 +22,8 @@ /** - * \class FormProduct - * \brief Class with static methods for building HTML components related to products - * \remarks Only common components must be here. + * Class with static methods for building HTML components related to products + * Only components common to products and services must be here. */ class FormProduct { @@ -34,9 +33,6 @@ class FormProduct // Cache arrays var $cache_warehouses=array(); - var $tva_taux_value; - var $tva_taux_libelle; - /** * Constructor @@ -72,7 +68,7 @@ class FormProduct $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps on ps.fk_entrepot = e.rowid"; $sql.= " AND ps.fk_product = '".$fk_product."'"; } - $sql.= " WHERE e.entity = ".$conf->entity; + $sql.= " WHERE e.entity IN (".getEntity('stock', 1).")"; $sql.= " AND e.statut = 1"; $sql.= " ORDER BY e.label"; @@ -109,7 +105,7 @@ class FormProduct * @param int $empty 1=Can be empty, 0 if not * @param int $disabled 1=Select is disabled * @param int $fk_product Add quantity of stock in label for product with id fk_product. Nothing if 0. - * @param string $empty_label Empty label if needed (only if $empty=1) + * @param string $empty_label Empty label if needed (only if $empty=1) * @return string HTML select */ function selectWarehouses($selected='',$htmlname='idwarehouse',$filtertype='',$empty=0,$disabled=0,$fk_product=0,$empty_label='') @@ -120,13 +116,13 @@ class FormProduct $this->loadWarehouses($fk_product); $nbofwarehouses=count($this->cache_warehouses); - - $out=''; if ($empty) $out.=''; foreach($this->cache_warehouses as $id => $arraytypes) { $out.=''; diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index f30874690fa..a501212c8ba 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -5,11 +5,13 @@ * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007-2011 Jean Heimburger * Copyright (C) 2010-2013 Juanjo Menent + * Copyright (C) 2012 Cedric Salvador * Copyright (C) 2013-2014 Cedric GROSS - * Copyright (C) 2013-2014 Marcos García + * Copyright (C) 2013-2015 Marcos García * Copyright (C) 2011-2014 Alexandre Spangaro * Copyright (C) 2014 Henry Florian * Copyright (C) 2014 Philippe Grand + * Copyright (C) 2014 Ion agorria * * 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 @@ -30,7 +32,7 @@ * \ingroup produit * \brief File of class to manage predefined products or services */ -require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/productbatch.class.php'; @@ -42,7 +44,7 @@ class Product extends CommonObject public $element='product'; public $table_element='product'; public $fk_element='fk_product'; - protected $childtables=array('propaldet','commandedet','facturedet','contratdet','facture_fourn_det','commande_fournisseurdet'); // To test if we can delete object + protected $childtables=array('askpricesupplierdet', 'propaldet','commandedet','facturedet','contratdet','facture_fourn_det','commande_fournisseurdet'); // To test if we can delete object protected $isnolinkedbythird = 1; // No field fk_soc protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -57,11 +59,27 @@ class Product extends CommonObject var $id ; //! Ref var $ref; - var $libelle; // TODO deprecated + /* + * @deprecated + * @see label + */ + var $libelle; + /** + * Product label + * @var string + */ var $label; + /** + * Product descripion + * @var string + */ var $description; - //! Type 0 for regular product, 1 for service (Advanced feature: 2 for assembly kit, 3 for stock kit) - var $type; + + /** + * Check TYPE constants + * @var int + */ + var $type = self::TYPE_PRODUCT; //! Selling price var $price; // Price net var $price_ttc; // Price with tax @@ -137,6 +155,8 @@ class Product extends CommonObject var $stats_commande=array(); var $stats_contrat=array(); var $stats_facture=array(); + var $stats_commande_fournisseur=array(); + var $multilangs=array(); //! Taille de l'image @@ -166,6 +186,45 @@ class Product extends CommonObject //note not visible on orders and invoices var $note; + var $fk_price_expression; + + /** + * @deprecated + * @see fourn_pu + */ + var $buyprice; + public $fourn_pu; + + /** + * @deprecated + * @see ref_supplier + */ + var $ref_fourn; + public $ref_supplier; + + /** + * Unit code ('km', 'm', 'l', 'p', ...) + * @var string + */ + public $fk_unit; + + /** + * Regular product + */ + const TYPE_PRODUCT = 0; + /** + * Service + */ + const TYPE_SERVICE = 1; + /** + * Advanced feature: assembly kit + */ + const TYPE_ASSEMBLYKIT = 2; + /** + * Advanced feature: stock kit + */ + const TYPE_STOCKKIT = 3; + /** * Constructor * @@ -199,7 +258,7 @@ class Product extends CommonObject if (dol_strlen(trim($this->ref)) == 0) $err++; - if (dol_strlen(trim($this->libelle)) == 0) + if (dol_strlen(trim($this->label)) == 0) $err++; if ($err > 0) @@ -227,8 +286,7 @@ class Product extends CommonObject // Clean parameters $this->ref = dol_string_nospecial(trim($this->ref)); - $this->libelle = trim($this->libelle); - if (empty($this->type)) $this->type=0; + $this->label = trim($this->label); $this->price_ttc=price2num($this->price_ttc); $this->price=price2num($this->price); $this->price_min_ttc=price2num($this->price_min_ttc); @@ -280,7 +338,7 @@ class Product extends CommonObject $this->barcode=trim($this->barcode); // Check parameters - if (empty($this->libelle)) + if (empty($this->label)) { $this->error='ErrorMandatoryParametersNotProvided'; return -1; @@ -357,6 +415,7 @@ class Product extends CommonObject $sql.= ", canvas"; $sql.= ", finished"; $sql.= ", tobatch"; + $sql.= ", fk_unit"; $sql.= ") VALUES ("; $sql.= "'".$this->db->idate($now)."'"; $sql.= ", ".$conf->entity; @@ -364,7 +423,7 @@ class Product extends CommonObject $sql.= ", ".(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", ".price2num($price_min_ht); $sql.= ", ".price2num($price_min_ttc); - $sql.= ", ".(! empty($this->libelle)?"'".$this->db->escape($this->libelle)."'":"null"); + $sql.= ", ".(! empty($this->label)?"'".$this->db->escape($this->label)."'":"null"); $sql.= ", ".$user->id; $sql.= ", ".$this->type; $sql.= ", ".price2num($price_ht); @@ -377,6 +436,7 @@ class Product extends CommonObject $sql.= ", '".$this->canvas."'"; $sql.= ", ".((! isset($this->finished) || $this->finished < 0 || $this->finished == '') ? 'null' : (int) $this->finished); $sql.= ", ".((empty($this->status_batch) || $this->status_batch < 0)? '0':$this->status_batch); + $sql.= ", ".(!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= ")"; dol_syslog(get_class($this)."::Create", LOG_DEBUG); @@ -554,11 +614,11 @@ class Product extends CommonObject $error=0; // Check parameters - if (! $this->libelle) $this->libelle = 'MISSING LABEL'; + if (! $this->label) $this->label = 'MISSING LABEL'; // Clean parameters $this->ref = dol_string_nospecial(trim($this->ref)); - $this->libelle = trim($this->libelle); + $this->label = trim($this->label); $this->description = trim($this->description); $this->note = (isset($this->note) ? trim($this->note) : null); $this->weight = price2num($this->weight); @@ -633,7 +693,7 @@ class Product extends CommonObject if ($this->barcode == -1) $this->barcode = $this->get_barcode($this,$this->barcode_type_code); $sql = "UPDATE ".MAIN_DB_PREFIX."product"; - $sql.= " SET label = '" . $this->db->escape($this->libelle) ."'"; + $sql.= " SET label = '" . $this->db->escape($this->label) ."'"; $sql.= ", ref = '" . $this->ref ."'"; $sql.= ", ref_ext = ".(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", tva_tx = " . $this->tva_tx; @@ -666,9 +726,10 @@ class Product extends CommonObject $sql.= ", accountancy_code_buy = '" . $this->accountancy_code_buy."'"; $sql.= ", accountancy_code_sell= '" . $this->accountancy_code_sell."'"; $sql.= ", desiredstock = " . ((isset($this->desiredstock) && $this->desiredstock != '') ? $this->desiredstock : "null"); + $sql.= ", fk_unit= " . (!$this->fk_unit ? 'NULL' : $this->fk_unit); $sql.= " WHERE rowid = " . $id; - dol_syslog(get_class($this)."update", LOG_DEBUG); + dol_syslog(get_class($this)."::update", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) @@ -775,6 +836,11 @@ class Product extends CommonObject */ function delete($id=0) { + // Deprecation warning + if (0 == $id) { + dol_syslog(__METHOD__ . " with parameter is deprecated", LOG_WARNING); + } + global $conf,$user,$langs; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; @@ -790,7 +856,7 @@ class Product extends CommonObject $this->error = "Object must be fetched before calling delete"; return -1; } - if (($this->type == 0 && empty($user->rights->produit->supprimer)) || ($this->type == 1 && empty($user->rights->service->supprimer))) + if (($this->type == Product::TYPE_PRODUCT && empty($user->rights->produit->supprimer)) || ($this->type == Product::TYPE_SERVICE && empty($user->rights->service->supprimer))) { $this->error = "ErrorForbidden"; return 0; @@ -911,19 +977,19 @@ class Product extends CommonObject foreach ($langs_available as $key => $value) { - $sql = "SELECT rowid"; - $sql.= " FROM ".MAIN_DB_PREFIX."product_lang"; - $sql.= " WHERE fk_product=".$this->id; - $sql.= " AND lang='".$key."'"; - - $result = $this->db->query($sql); - if ($key == $current_lang) { - if ($this->db->num_rows($result)) // si aucune ligne dans la base + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."product_lang"; + $sql.= " WHERE fk_product=".$this->id; + $sql.= " AND lang='".$key."'"; + + $result = $this->db->query($sql); + + if ($this->db->num_rows($result)) // if there is already a description line for this language { $sql2 = "UPDATE ".MAIN_DB_PREFIX."product_lang"; - $sql2.= " SET label='".$this->db->escape($this->libelle)."',"; + $sql2.= " SET label='".$this->db->escape($this->label)."',"; $sql2.= " description='".$this->db->escape($this->description)."',"; $sql2.= " note='".$this->db->escape($this->note)."'"; $sql2.= " WHERE fk_product=".$this->id." AND lang='".$key."'"; @@ -931,7 +997,7 @@ class Product extends CommonObject else { $sql2 = "INSERT INTO ".MAIN_DB_PREFIX."product_lang (fk_product, lang, label, description, note)"; - $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->libelle); + $sql2.= " VALUES(".$this->id.",'".$key."','". $this->db->escape($this->label); $sql2.= "','".$this->db->escape($this->description); $sql2.= "','".$this->db->escape($this->note)."')"; } @@ -942,9 +1008,16 @@ class Product extends CommonObject return -1; } } - else if (isset($this->multilangs["$key"])) + else if (isset($this->multilangs[$key])) { - if ($this->db->num_rows($result)) // si aucune ligne dans la base + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX."product_lang"; + $sql.= " WHERE fk_product=".$this->id; + $sql.= " AND lang='".$key."'"; + + $result = $this->db->query($sql); + + if ($this->db->num_rows($result)) // if there is already a description line for this language { $sql2 = "UPDATE ".MAIN_DB_PREFIX."product_lang"; $sql2.= " SET label='".$this->db->escape($this->multilangs["$key"]["label"])."',"; @@ -969,6 +1042,10 @@ class Product extends CommonObject return -1; } } + else + { + // language is not current language and we didn't provide a multilang description for this language + } } return 1; } @@ -1072,10 +1149,10 @@ class Product extends CommonObject $result = $this->db->query($sql); if ($result) { - while ( $obj = $this->db->fetch_object($result) ) + while ($obj = $this->db->fetch_object($result)) { //print 'lang='.$obj->lang.' current='.$current_lang.'
'; - if( $obj->lang == $current_lang ) // si on a les traduct. dans la langue courante on les charge en infos principales. + if ($obj->lang == $current_lang) // si on a les traduct. dans la langue courante on les charge en infos principales. { $this->label = $obj->label; $this->description = $obj->description; @@ -1090,7 +1167,7 @@ class Product extends CommonObject } else { - $this->error="Error: ".$this->db->error()." - ".$sql; + $this->error="Error: ".$this->db->lasterror()." - ".$sql; return -1; } } @@ -1098,9 +1175,9 @@ class Product extends CommonObject /** - * Ajoute un changement de prix en base dans l'historique des prix + * Insert a track that we changed a customer price * - * @param User $user Objet utilisateur qui modifie le prix + * @param User $user User making change * @param int $level price level to change * @return int <0 if KO, >0 if OK */ @@ -1110,18 +1187,21 @@ class Product extends CommonObject $now=dol_now(); + // Clean parameters + if (empty($this->price_by_qty)) $this->price_by_qty=0; + // Add new price $sql = "INSERT INTO ".MAIN_DB_PREFIX."product_price(price_level,date_price,fk_product,fk_user_author,price,price_ttc,price_base_type,tosell,tva_tx,recuperableonly,"; - $sql.= " localtax1_tx, localtax2_tx, price_min,price_min_ttc,price_by_qty,entity) "; + $sql.= " localtax1_tx, localtax2_tx, price_min,price_min_ttc,price_by_qty,entity,fk_price_expression) "; $sql.= " VALUES(".($level?$level:1).", '".$this->db->idate($now)."',".$this->id.",".$user->id.",".$this->price.",".$this->price_ttc.",'".$this->price_base_type."',".$this->status.",".$this->tva_tx.",".$this->tva_npr.","; - $sql.= " ".$this->localtax1_tx.",".$this->localtax2_tx.",".$this->price_min.",".$this->price_min_ttc.",".$this->price_by_qty.",".$conf->entity; + $sql.= " ".$this->localtax1_tx.",".$this->localtax2_tx.",".$this->price_min.",".$this->price_min_ttc.",".$this->price_by_qty.",".$conf->entity.",".($this->fk_price_expression > 0?$this->fk_price_expression:'null'); $sql.= ")"; - dol_syslog(get_class($this)."_log_price", LOG_DEBUG); + dol_syslog(get_class($this)."::_log_price", LOG_DEBUG); $resql=$this->db->query($sql); if(! $resql) { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); dol_print_error($this->db); return -1; } @@ -1144,7 +1224,7 @@ class Product extends CommonObject $sql = "DELETE FROM ".MAIN_DB_PREFIX."product_price"; $sql.= " WHERE rowid=".$rowid; - dol_syslog(get_class($this)."log_price_delete", LOG_DEBUG); + dol_syslog(get_class($this)."::log_price_delete", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -1175,7 +1255,7 @@ class Product extends CommonObject // We do select by searching with qty and prodfournprice $sql = "SELECT pfp.rowid, pfp.price as price, pfp.quantity as quantity,"; - $sql.= " pfp.fk_product, pfp.ref_fourn, pfp.fk_soc, pfp.tva_tx"; + $sql.= " pfp.fk_product, pfp.ref_fourn, pfp.fk_soc, pfp.tva_tx, pfp.fk_supplier_price_expression"; $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE pfp.rowid = ".$prodfournprice; if ($qty) $sql.= " AND pfp.quantity <= ".$qty; @@ -1187,7 +1267,16 @@ class Product extends CommonObject $obj = $this->db->fetch_object($resql); if ($obj && $obj->quantity > 0) // If found { - $this->buyprice = $obj->price; // \deprecated + if (!empty($obj->fk_supplier_price_expression)) + { + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProductSupplier($obj->fk_product, $obj->fk_supplier_price_expression, $obj->quantity, $obj->tva_tx); + if ($price_result >= 0) { + $obj->price = $price_result; + } + } + $this->buyprice = $obj->price; // deprecated $this->fourn_pu = $obj->price / $obj->quantity; // Prix unitaire du produit pour le fournisseur $fourn_id $this->ref_fourn = $obj->ref_fourn; // Ref supplier $this->vatrate_supplier = $obj->tva_tx; // Vat ref supplier @@ -1198,7 +1287,7 @@ class Product extends CommonObject { // We do same select again but searching with qty, ref and id product $sql = "SELECT pfp.rowid, pfp.price as price, pfp.quantity as quantity, pfp.fk_soc,"; - $sql.= " pfp.fk_product, pfp.ref_fourn as ref_supplier, pfp.tva_tx"; + $sql.= " pfp.fk_product, pfp.ref_fourn as ref_supplier, pfp.tva_tx, pfp.fk_supplier_price_expression"; $sql.= " FROM ".MAIN_DB_PREFIX."product_fournisseur_price as pfp"; $sql.= " WHERE pfp.ref_fourn = '".$fourn_ref."'"; $sql.= " AND pfp.fk_product = ".$product_id; @@ -1213,6 +1302,15 @@ class Product extends CommonObject $obj = $this->db->fetch_object($resql); if ($obj && $obj->quantity > 0) // If found { + if (!empty($obj->fk_supplier_price_expression)) + { + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProductSupplier($obj->fk_product, $obj->fk_supplier_price_expression, $obj->quantity, $obj->tva_tx); + if ($result >= 0) { + $obj->price = $price_result; + } + } $this->buyprice = $obj->price; // deprecated $this->fourn_qty = $obj->quantity; // min quantity for price $this->fourn_pu = $obj->price / $obj->quantity; // Prix unitaire du produit pour le fournisseur $fourn_id @@ -1261,7 +1359,7 @@ class Product extends CommonObject $id=$this->id; - dol_syslog(get_class($this)."update_price id=".$id." newprice=".$newprice." newpricebase=".$newpricebase." newminprice=".$newminprice." level=".$level." npr=".$newnpr); + dol_syslog(get_class($this)."::update_price id=".$id." newprice=".$newprice." newpricebase=".$newpricebase." newminprice=".$newminprice." level=".$level." npr=".$newnpr); // Clean parameters if (empty($this->tva_tx)) $this->tva_tx=0; @@ -1339,7 +1437,7 @@ class Product extends CommonObject $sql.= " recuperableonly='".$newnpr."'"; $sql.= " WHERE rowid = ".$id; - dol_syslog(get_class($this)."update_price", LOG_DEBUG); + dol_syslog(get_class($this)."::update_price", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -1382,16 +1480,50 @@ class Product extends CommonObject return 1; } + /** + * Sets the supplier price expression + * + * @param int $expression_id Expression + * @return int <0 if KO, >0 if OK + */ + function setPriceExpression($expression_id) + { + global $conf; + + // Clean parameters + $this->db->begin(); + $expression_id = $expression_id != 0 ? $expression_id : 'NULL'; + + $sql = "UPDATE ".MAIN_DB_PREFIX."product"; + $sql.= " SET fk_price_expression = ".$expression_id; + $sql.= " WHERE rowid = ".$this->id; + + dol_syslog(get_class($this)."::setPriceExpression", LOG_DEBUG); + + $resql = $this->db->query($sql); + if ($resql) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$this->db->error()." sql=".$sql; + $this->db->rollback(); + return -1; + } + } /** * Load a product in memory from database * - * @param int $id Id of product/service to load - * @param string $ref Ref of product/service to load - * @param string $ref_ext Ref ext of product/service to load - * @return int <0 if KO, 0 if not found, >0 if OK + * @param int $id Id of product/service to load + * @param string $ref Ref of product/service to load + * @param string $ref_ext Ref ext of product/service to load + * @param int $ignore_expression Ignores the math expression for calculating price and uses the db value instead + * @return int <0 if KO, 0 if not found, >0 if OK */ - function fetch($id='',$ref='',$ref_ext='') + function fetch($id='', $ref='', $ref_ext='', $ignore_expression = 0) { include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -1412,8 +1544,8 @@ class Product extends CommonObject $sql.= " tobuy, fk_product_type, duration, seuil_stock_alerte, canvas,"; $sql.= " weight, weight_units, length, length_units, surface, surface_units, volume, volume_units, barcode, fk_barcode_type, finished,"; $sql.= " accountancy_code_buy, accountancy_code_sell, stock, pmp,"; - $sql.= " datec, tms, import_key, entity, desiredstock, tobatch"; - $sql.= " ,ref_ext"; + $sql.= " datec, tms, import_key, entity, desiredstock, tobatch, fk_unit"; + $sql.= " , fk_price_expression"; $sql.= " FROM ".MAIN_DB_PREFIX."product"; if ($id) $sql.= " WHERE rowid = ".$this->db->escape($id); else @@ -1433,7 +1565,6 @@ class Product extends CommonObject $this->id = $obj->rowid; $this->ref = $obj->ref; $this->ref_ext = $obj->ref_ext; - $this->libelle = $obj->label; // TODO deprecated $this->label = $obj->label; $this->description = $obj->description; $this->url = $obj->url; @@ -1489,11 +1620,13 @@ class Product extends CommonObject $this->entity = $obj->entity; $this->ref_ext = $obj->ref_ext; + $this->fk_price_expression = $obj->fk_price_expression; + $this->fk_unit = $obj->fk_unit; $this->db->free($resql); - // Retreive all extrafield for thirdparty + // Retreive all extrafield for current object // fetch optionals attributes and labels require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); $extrafields=new ExtraFields($this->db); @@ -1624,9 +1757,22 @@ class Product extends CommonObject } } + if (!empty($this->fk_price_expression) && empty($ignore_expression)) + { + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; + $priceparser = new PriceParser($this->db); + $price_result = $priceparser->parseProduct($this); + if ($price_result >= 0) + { + $this->price = $price_result; + //Calculate the VAT + $this->price_ttc = price2num($this->price) * (1 + ($this->tva_tx / 100)); + $this->price_ttc = price2num($this->price_ttc,'MU'); + } + } + // We should not load stock at each fetch. If someone need stock, he must call load_stock after fetch. //$res=$this->load_stock(); - // instead we just init the stock_warehouse array $this->stock_warehouse = array(); @@ -1664,7 +1810,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE p.rowid = pd.fk_propal"; $sql.= " AND p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; $sql.= " AND pd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; //$sql.= " AND pr.fk_statut != 0"; @@ -1693,7 +1839,7 @@ class Product extends CommonObject * * @param int $socid Id societe pour filtrer sur une societe * @param int $filtrestatut Id statut pour filtrer sur un statut - * @return array Tableau des stats + * @return array Array of stats (nb=nb of order, qty=qty ordered) */ function load_stats_commande($socid=0,$filtrestatut='') { @@ -1707,7 +1853,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE c.rowid = cd.fk_commande"; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('commande', 1).")"; $sql.= " AND cd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND c.fk_soc = ".$socid; @@ -1749,7 +1895,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE c.rowid = cd.fk_commande"; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('commande_fourniseur', 1).")"; $sql.= " AND cd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND c.fk_soc = ".$socid; @@ -1794,7 +1940,7 @@ class Product extends CommonObject $sql.= " WHERE e.rowid = ed.fk_expedition"; $sql.= " AND c.rowid = cd.fk_commande"; $sql.= " AND e.fk_soc = s.rowid"; - $sql.= " AND e.entity = ".$conf->entity; + $sql.= " AND e.entity IN (".getEntity('expedition', 1).")"; $sql.= " AND ed.fk_origin_line = cd.rowid"; $sql.= " AND cd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND e.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; @@ -1837,7 +1983,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE cf.rowid = fd.fk_commande"; $sql.= " AND cf.fk_soc = s.rowid"; - $sql.= " AND cf.entity = ".$conf->entity; + $sql.= " AND cf.entity IN (".getEntity('commande_fournisseur', 1).")"; $sql.= " AND fd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND cf.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND cf.fk_soc = ".$socid; @@ -1879,7 +2025,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE c.rowid = cd.fk_contrat"; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('contrat', 1).")"; $sql.= " AND cd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; //$sql.= " AND c.statut != 0"; @@ -1921,7 +2067,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE f.rowid = fd.fk_facture"; $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('facture', 1).")"; $sql.= " AND fd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND f.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; //$sql.= " AND f.fk_statut != 0"; @@ -1963,7 +2109,7 @@ class Product extends CommonObject if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE f.rowid = fd.fk_facture_fourn"; $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('facture_fourn', 1).")"; $sql.= " AND fd.fk_product = ".$this->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND f.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; //$sql.= " AND f.fk_statut != 0"; @@ -2061,7 +2207,7 @@ class Product extends CommonObject $sql.= " WHERE f.rowid = d.fk_facture"; $sql.= " AND d.fk_product =".$this->id; $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('facture', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND f.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND f.fk_soc = $socid"; $sql.= " GROUP BY date_format(f.datef,'%Y%m')"; @@ -2090,7 +2236,7 @@ class Product extends CommonObject $sql.= " WHERE f.rowid = d.fk_facture_fourn"; $sql.= " AND d.fk_product =".$this->id; $sql.= " AND f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('facture_fourn', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND f.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND f.fk_soc = $socid"; $sql.= " GROUP BY date_format(f.datef,'%Y%m')"; @@ -2119,7 +2265,7 @@ class Product extends CommonObject $sql.= " WHERE p.rowid = d.fk_propal"; $sql.= " AND d.fk_product =".$this->id; $sql.= " AND p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; + $sql.= " AND p.entity IN (".getEntity('propal', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND p.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND p.fk_soc = ".$socid; $sql.= " GROUP BY date_format(p.datep,'%Y%m')"; @@ -2146,7 +2292,7 @@ class Product extends CommonObject $sql.= " WHERE c.rowid = d.fk_commande"; $sql.= " AND d.fk_product =".$this->id; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('commande', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND c.fk_soc = ".$socid; $sql.= " GROUP BY date_format(c.date_commande,'%Y%m')"; @@ -2173,7 +2319,7 @@ class Product extends CommonObject $sql.= " WHERE c.rowid = d.fk_commande"; $sql.= " AND d.fk_product =".$this->id; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('commande_fournisseur', 1).")"; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND c.fk_soc = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid > 0) $sql.= " AND c.fk_soc = ".$socid; $sql.= " GROUP BY date_format(c.date_commande,'%Y%m')"; @@ -2183,18 +2329,20 @@ class Product extends CommonObject } /** - * Lie un produit associe au produit/service + * Link a product/service to a parent product/service * - * @param int $id_pere Id du produit auquel sera lie le produit a lier - * @param int $id_fils Id du produit a lier + * @param int $id_pere Id of parent product/service + * @param int $id_fils Id of child product/service * @param int $qty Quantity + * @param int $incdec 1=Increase/decrease stock of child when parent stock increase/decrease * @return int < 0 if KO, > 0 if OK */ - function add_sousproduit($id_pere, $id_fils,$qty) + function add_sousproduit($id_pere, $id_fils, $qty, $incdec=1) { // Clean parameters if (! is_numeric($id_pere)) $id_pere=0; if (! is_numeric($id_fils)) $id_fils=0; + if (! is_numeric($incdec)) $incdec=0; $result=$this->del_sousproduit($id_pere, $id_fils); if ($result < 0) return $result; @@ -2220,8 +2368,8 @@ class Product extends CommonObject } else { - $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'product_association(fk_product_pere,fk_product_fils,qty)'; - $sql .= ' VALUES ('.$id_pere.', '.$id_fils.', '.$qty.')'; + $sql = 'INSERT INTO '.MAIN_DB_PREFIX.'product_association(fk_product_pere,fk_product_fils,qty,incdec)'; + $sql .= ' VALUES ('.$id_pere.', '.$id_fils.', '.$qty.', '.$incdec.')'; if (! $this->db->query($sql)) { dol_print_error($this->db); @@ -2236,6 +2384,40 @@ class Product extends CommonObject } } + /** + * Modify composed product + * + * @param int $id_pere Id of parent product/service + * @param int $id_fils Id of child product/service + * @param int $qty Quantity + * @param int $incdec 1=Increase/decrease stock of child when parent stock increase/decrease + * @return int < 0 if KO, > 0 if OK + */ + function update_sousproduit($id_pere, $id_fils, $qty, $incdec=1) + { + // Clean parameters + if (! is_numeric($id_pere)) $id_pere=0; + if (! is_numeric($id_fils)) $id_fils=0; + if (! is_numeric($incdec)) $incdec=1; + if (! is_numeric($qty)) $qty=1; + + $sql = 'UPDATE '.MAIN_DB_PREFIX.'product_association SET '; + $sql.= 'qty='.$qty; + $sql.= ',incdec='.$incdec; + $sql .= ' WHERE fk_product_pere='.$id_pere.' AND fk_product_fils='.$id_fils; + + if (!$this->db->query($sql)) + { + dol_print_error($this->db); + return -1; + } + else + { + return 1; + } + + } + /** * Retire le lien entre un sousproduit et un produit/service * @@ -2271,7 +2453,7 @@ class Product extends CommonObject */ function is_sousproduit($fk_parent, $fk_child) { - $sql = "SELECT fk_product_pere, qty"; + $sql = "SELECT fk_product_pere, qty, incdec"; $sql.= " FROM ".MAIN_DB_PREFIX."product_association"; $sql.= " WHERE fk_product_pere = '".$fk_parent."'"; $sql.= " AND fk_product_fils = '".$fk_child."'"; @@ -2285,6 +2467,7 @@ class Product extends CommonObject { $obj = $this->db->fetch_object($result); $this->is_sousproduit_qty = $obj->qty; + $this->is_sousproduit_incdec = $obj->incdec; return true; } @@ -2543,19 +2726,20 @@ class Product extends CommonObject * Fonction recursive uniquement utilisee par get_arbo_each_prod, recompose l'arborescence des sousproduits * Define value of this->res * - * @param array $prod Products array - * @param string $compl_path Directory path of parents to add before - * @param int $multiply Because each sublevel must be multiplicated by parent nb - * @param int $level Init level + * @param array $prod Products array + * @param string $compl_path Directory path of parents to add before + * @param int $multiply Because each sublevel must be multiplicated by parent nb + * @param int $level Init level + * @param int $id_parent Id parent * @return void */ - function fetch_prod_arbo($prod, $compl_path="", $multiply=1, $level=1) + function fetch_prod_arbo($prod, $compl_path="", $multiply=1, $level=1, $id_parent=0) { global $conf,$langs; $product = new Product($this->db); //var_dump($prod); - foreach($prod as $id_product => $desc_pere) // $id_product is 0 (there is no mode sub_product) or an id of a sub_product + foreach($prod as $id_product => $desc_pere) // $id_product is 0 (first call starting with root top) or an id of a sub_product { if (is_array($desc_pere)) // If desc_pere is an array, this means it's a child { @@ -2563,6 +2747,8 @@ class Product extends CommonObject $nb=(! empty($desc_pere[1]) ? $desc_pere[1] :''); $type=(! empty($desc_pere[2]) ? $desc_pere[2] :''); $label=(! empty($desc_pere[3]) ? $desc_pere[3] :''); + $incdec=!empty($desc_pere[4]) ? $desc_pere[4] : 0; + if ($multiply < 1) $multiply=1; //print "XXX We add id=".$id." - label=".$label." - nb=".$nb." - multiply=".$multiply." fullpath=".$compl_path.$label."\n"; @@ -2570,6 +2756,7 @@ class Product extends CommonObject $this->load_stock(); // Load stock $this->res[]= array( 'id'=>$id, // Id product + 'id_parent'=>$id_parent, 'ref'=>$this->ref, // Ref product 'nb'=>$nb, // Nb of units that compose parent product 'nb_total'=>$nb*$multiply, // Nb of units for all nb of product @@ -2579,14 +2766,15 @@ class Product extends CommonObject 'fullpath'=>$compl_path.$label, // Label 'type'=>$type, // Nb of units that compose parent product 'desiredstock'=>$this->desiredstock, - 'level'=>$level + 'level'=>$level, + 'incdec'=>$incdec ); // Recursive call if there is childs to child if (is_array($desc_pere['childs'])) { //print 'YYY We go down for '.$desc_pere[3]." -> \n"; - $this ->fetch_prod_arbo($desc_pere['childs'], $compl_path.$desc_pere[3]." -> ", $desc_pere[1]*$multiply, $level+1); + $this->fetch_prod_arbo($desc_pere['childs'], $compl_path.$desc_pere[3]." -> ", $desc_pere[1]*$multiply, $level+1, $id); } } } @@ -2608,7 +2796,7 @@ class Product extends CommonObject $this->res[]= array($desc_pere[1],$desc_pere[0]); if(count($desc_pere) >1) { - $this ->fetch_prods($desc_pere); + $this->fetch_prods($desc_pere); } } } @@ -2626,7 +2814,7 @@ class Product extends CommonObject { foreach($this->sousprods as $prod_name => $desc_product) { - if (is_array($desc_product)) $this->fetch_prod_arbo($desc_product,"",$multiply); + if (is_array($desc_product)) $this->fetch_prod_arbo($desc_product,"",$multiply,1,$this->id); } } //var_dump($this->res); @@ -2641,13 +2829,11 @@ class Product extends CommonObject function get_each_prod() { $this->res = array(); - if(is_array($this -> sousprods)) + if (is_array($this->sousprods)) { - foreach($this -> sousprods as $nom_pere => $desc_pere) + foreach($this->sousprods as $nom_pere => $desc_pere) { - if(count($desc_pere) >1) - $this ->fetch_prods($desc_pere); - + if (count($desc_pere) >1) $this->fetch_prods($desc_pere); } sort($this->res); } @@ -2658,16 +2844,16 @@ class Product extends CommonObject /** * Return all Father products fo current product * - * @return array prod + * @return array Array of product + * @see getParent */ function getFather() { - - $sql = "SELECT p.label as label,p.rowid,pa.fk_product_pere as id,p.fk_product_type"; + $sql = "SELECT p.rowid, p.label as label, p.ref as ref, pa.fk_product_pere as id, p.fk_product_type, pa.qty, pa.incdec"; $sql.= " FROM ".MAIN_DB_PREFIX."product_association as pa,"; $sql.= " ".MAIN_DB_PREFIX."product as p"; $sql.= " WHERE p.rowid = pa.fk_product_pere"; - $sql.= " AND pa.fk_product_fils=".$this->id; + $sql.= " AND pa.fk_product_fils = ".$this->id; $res = $this->db->query($sql); if ($res) @@ -2675,8 +2861,11 @@ class Product extends CommonObject $prods = array (); while ($record = $this->db->fetch_array($res)) { - $prods[$record['id']]['id'] = $record['rowid']; - $prods[$record['id']]['label'] = $this->db->escape($record['label']); + $prods[$record['id']]['id'] = $record['rowid']; + $prods[$record['id']]['ref'] = $record['ref']; + $prods[$record['id']]['label'] = $record['label']; + $prods[$record['id']]['qty'] = $record['qty']; + $prods[$record['id']]['incdec'] = $record['incdec']; $prods[$record['id']]['fk_product_type'] = $record['fk_product_type']; } return $prods; @@ -2693,11 +2882,11 @@ class Product extends CommonObject * Return all direct parent products fo current product * * @return array prod + * @see getFather */ function getParent() { - - $sql = "SELECT p.label as label,p.rowid,pa.fk_product_pere as id,p.fk_product_type"; + $sql = "SELECT p.rowid, p.label as label, p.ref as ref, pa.fk_product_pere as id, p.fk_product_type, pa.qty"; $sql.= " FROM ".MAIN_DB_PREFIX."product_association as pa,"; $sql.= " ".MAIN_DB_PREFIX."product as p"; $sql.= " WHERE p.rowid = pa.fk_product_pere"; @@ -2723,12 +2912,13 @@ class Product extends CommonObject /** * Return childs of product $id * - * @param int $id Id of product to search childs of - * @return array Prod + * @param int $id Id of product to search childs of + * @param int $firstlevelonly Return only direct child + * @return array Prod */ - function getChildsArbo($id) + function getChildsArbo($id, $firstlevelonly=0) { - $sql = "SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type"; + $sql = "SELECT p.rowid, p.label as label, pa.qty as qty, pa.fk_product_fils as id, p.fk_product_type, pa.incdec"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= ", ".MAIN_DB_PREFIX."product_association as pa"; $sql.= " WHERE p.rowid = pa.fk_product_fils"; @@ -2742,13 +2932,22 @@ class Product extends CommonObject $prods = array(); while ($rec = $this->db->fetch_array($res)) { - $prods[$rec['rowid']]= array(0=>$rec['id'],1=>$rec['qty'],2=>$rec['fk_product_type'],3=>$this->db->escape($rec['label'])); + $prods[$rec['rowid']]= array( + 0=>$rec['id'], + 1=>$rec['qty'], + 2=>$rec['fk_product_type'], + 3=>$this->db->escape($rec['label']), + 4=>$rec['incdec'] + ); //$prods[$this->db->escape($rec['label'])]= array(0=>$rec['id'],1=>$rec['qty'],2=>$rec['fk_product_type']); //$prods[$this->db->escape($rec['label'])]= array(0=>$rec['id'],1=>$rec['qty']); - $listofchilds=$this->getChildsArbo($rec['id']); - foreach($listofchilds as $keyChild => $valueChild) + if (empty($firstlevelonly)) { - $prods[$rec['rowid']]['childs'][$keyChild] = $valueChild; + $listofchilds=$this->getChildsArbo($rec['id']); + foreach($listofchilds as $keyChild => $valueChild) + { + $prods[$rec['rowid']]['childs'][$keyChild] = $valueChild; + } } } @@ -2793,42 +2992,52 @@ class Product extends CommonObject */ function getNomUrl($withpicto=0,$option='',$maxlength=0) { - global $langs; + global $conf, $langs; + include_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; $result=''; + $newref=$this->ref; + if ($maxlength) $newref=dol_trunc($newref,$maxlength,'middle'); + if ($this->type == Product::TYPE_PRODUCT) $label = '' . $langs->trans("ShowProduct") . ''; + if ($this->type == Product::TYPE_SERVICE) $label = '' . $langs->trans("ShowService") . ''; + if (! empty($this->ref)) + $label .= '
' . $langs->trans('ProductRef') . ': ' . $this->ref; + if (! empty($this->label)) + $label .= '
' . $langs->trans('ProductLabel') . ': ' . $this->label; - if ($option == 'supplier') - { - $lien = ''; - $lienfin=''; - } - else if ($option == 'stock') - { - $lien = ''; - $lienfin=''; + $tmptext=''; + if ($this->weight) $tmptext.="
".$langs->trans("Weight").': '.$this->weight.' '.measuring_units_string($this->weight_units,"weight"); + if ($this->length) $tmptext.="
".$langs->trans("Length").': '.$this->length.' '.measuring_units_string($this->length_units,'length'); + if ($this->surface) $tmptext.="
".$langs->trans("Surface").': '.$this->surface.' '.measuring_units_string($this->surface_units,'surface'); + if ($this->volume) $tmptext.="
".$langs->trans("Volume").': '.$this->volume.' '.measuring_units_string($this->volume_units,'volume'); + if ($tmptext) $label .= $tmptext; + + if (! empty($this->entity)) + $label .= '
' . $this->show_photos($conf->product->multidir_output[$this->entity],1,1,0,0,0,80); + + $linkclose = '" title="'.str_replace('\n', '', dol_escape_htmltag($label, 1)).'" class="classfortooltip">'; + + if ($option == 'supplier') { + $link = ''; + } else if ($option == 'composition') { + $link = ''; } - else if ($option == 'composition') - { - $lien = ''; - $lienfin=''; - } - else if ($option == 'category') - { - $lien = ''; - } - else - { - $lien = ''; - $lienfin=''; - } - $newref=$this->ref; - if ($maxlength) $newref=dol_trunc($newref,$maxlength,'middle'); if ($withpicto) { - if ($this->type == 0) $result.=($lien.img_object($langs->trans("ShowProduct").' '.$this->label,'product').$lienfin.' '); - if ($this->type == 1) $result.=($lien.img_object($langs->trans("ShowService").' '.$this->label,'service').$lienfin.' '); + if ($this->type == Product::TYPE_PRODUCT) $result.=($link.img_object($langs->trans("ShowProduct").' '.$this->label, 'product', 'class="classfortooltip"').$linkend.' '); + if ($this->type == Product::TYPE_SERVICE) $result.=($link.img_object($langs->trans("ShowService").' '.$this->label, 'service', 'class="classfortooltip"').$linkend.' '); } - $result.=$lien.$newref.$lienfin; + $result.=$link.$newref.$linkend; return $result; } @@ -2954,10 +3163,11 @@ class Product extends CommonObject * @param double $nbpiece nb of units * @param int $movement 0 = add, 1 = remove * @param string $label Label of stock movement - * @param double $price Price to use for stock eval + * @param double $price Unit price HT of product, used to calculate average weighted price (PMP in french). If 0, average weighted price is not changed. + * @param string $inventorycode Inventory code * @return int <0 if KO, >0 if OK */ - function correct_stock($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0) + function correct_stock($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $inventorycode='') { if ($id_entrepot) { @@ -2969,7 +3179,7 @@ class Product extends CommonObject $op[1] = "-".trim($nbpiece); $movementstock=new MouvementStock($this->db); - $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label); + $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,$inventorycode); if ($result >= 0) { @@ -2979,6 +3189,8 @@ class Product extends CommonObject else { $this->error=$movementstock->error; + $this->errors=$movementstock->errors; + $this->db->rollback(); return -1; } @@ -2986,9 +3198,55 @@ class Product extends CommonObject } /** - * Load information about stock of a product into stock_warehouse[] and stock_reel + * Adjust stock in a warehouse for product with batch number * - * @return int < 0 if KO, > 0 if OK + * @param User $user user asking change + * @param int $id_entrepot id of warehouse + * @param double $nbpiece nb of units + * @param int $movement 0 = add, 1 = remove + * @param string $label Label of stock movement + * @param double $price Price to use for stock eval + * @param date $dlc eat-by date + * @param date $dluo sell-by date + * @param string $lot Lot number + * @param string $inventorycode Inventory code + * @return int <0 if KO, >0 if OK + */ + function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='', $inventorycode='') + { + if ($id_entrepot) + { + $this->db->begin(); + + require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; + + $op[0] = "+".trim($nbpiece); + $op[1] = "-".trim($nbpiece); + + $movementstock=new MouvementStock($this->db); + $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,$inventorycode,'',$dlc,$dluo,$lot); + + if ($result >= 0) + { + $this->db->commit(); + return 1; + } + else + { + $this->error=$movementstock->error; + $this->errors=$movementstock->errors; + + $this->db->rollback(); + return -1; + } + } + } + + /** + * Load information about stock of a product into stock_reel, stock_warehouse[] (including stock_warehouse[idwarehouse]->detail_batch for batch products) + * + * @return int < 0 if KO, > 0 if OK + * @see load_virtual_stock, getBatchInfo */ function load_stock() { @@ -3036,9 +3294,10 @@ class Product extends CommonObject } /** - * Load information about virtual stock of a product + * Load information about objects that are delat between physical and virtual stock of a product * - * @return int < 0 if KO, > 0 if OK + * @return int < 0 if KO, > 0 if OK + * @see load_stock, getBatchInfo */ function load_virtual_stock() { @@ -3094,6 +3353,44 @@ class Product extends CommonObject } } + + /** + * Load existing information about a serial + * + * @param string $batch Lot/serial number + * @return array Array with record into product_batch + * @see load_stock, load_virtual_stock + */ + function loadBatchInfo($batch) + { + $result=array(); + + $sql = "SELECT pb.batch, pb.eatby, pb.sellby, SUM(pb.qty) FROM ".MAIN_DB_PREFIX."product_batch as pb, ".MAIN_DB_PREFIX."product_stock as ps"; + $sql.= " WHERE pb.fk_product_stock = ps.rowid AND ps.fk_product = ".$this->id." AND pb.batch = '".$this->db->escape($batch)."'"; + $sql.= " GROUP BY pb.batch, pb.eatby, pb.sellby"; + dol_syslog(get_class($this)."::loadBatchInfo load first entry found for lot/serial = ".$batch, LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + $result[]=array('batch'=>$batch, 'eatby'=>$this->db->jdate($obj->eatby), 'sellby'=>$this->db->jdate($obj->sellby), 'qty'=>$obj->qty); + $i++; + } + return $result; + } + else + { + dol_print_error($this->db); + $this->db->rollback(); + return array(); + } + } + + /** * Move an uploaded file described into $file array into target directory $sdir. * @@ -3110,7 +3407,7 @@ class Product extends CommonObject $result = 0; $dir = $sdir; - if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $dir .= '/'. get_exdir($this->id,2) . $this->id ."/photos"; + if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $dir .= '/'. get_exdir($this->id,2,0,0,$this,'product') . $this->id ."/photos"; else $dir .= '/'.dol_sanitizeFileName($this->ref); dol_mkdir($dir); @@ -3135,31 +3432,6 @@ class Product extends CommonObject else return -1; } - /** - * Build thumb - * - * @param string $file Chemin du fichier d'origine - * @return void - */ - function add_thumb($file) - { - global $maxwidthsmall, $maxheightsmall, $maxwidthmini, $maxheightmini, $quality; - - require_once DOL_DOCUMENT_ROOT .'/core/lib/images.lib.php'; // This define also $maxwidthsmall, $quality, ... - - $file_osencoded=dol_osencode($file); - if (file_exists($file_osencoded)) - { - // Create small thumbs for company (Ratio is near 16/9) - // Used on logon for example - $imgThumbSmall = vignette($file, $maxwidthsmall, $maxheightsmall, '_small', $quality); - - // Create mini thumbs for company (Ratio is near 16/9) - // Used on menu or for setup page for example - $imgThumbMini = vignette($file, $maxwidthmini, $maxheightmini, '_mini', $quality); - } - } - /** * Affiche la premiere photo du produit * @@ -3173,7 +3445,7 @@ class Product extends CommonObject global $conf; $dir = $sdir; - if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $dir .= '/'. get_exdir($this->id,2) . $this->id ."/photos/"; + if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $dir .= '/'. get_exdir($this->id,2,0,0,$this,'product') . $this->id ."/photos/"; else $dir .= '/'.dol_sanitizeFileName($this->ref).'/'; $nbphoto=0; @@ -3220,8 +3492,8 @@ class Product extends CommonObject $pdir = '/'; if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) { - $dir .= get_exdir($this->id,2) . $this->id ."/photos/"; - $pdir .= get_exdir($this->id,2) . $this->id ."/photos/"; + $dir .= get_exdir($this->id,2,0,0,$this,'product') . $this->id ."/photos/"; + $pdir .= get_exdir($this->id,2,0,0,$this,'product') . $this->id ."/photos/"; } else { @@ -3280,7 +3552,8 @@ class Product extends CommonObject // Si fichier vignette disponible et image source trop grande, on utilise la vignette, sinon on utilise photo origine $alt=$langs->transnoentitiesnoconv('File').': '.$pdir.$photo; $alt.=' - '.$langs->transnoentitiesnoconv('Size').': '.$imgarray['width'].'x'.$imgarray['height']; - if ($photo_vignette && $imgarray['height'] > $maxHeight) { + if ($photo_vignette && $imgarray['height'] > $maxHeight) + { $return.= ''; $return.= 'dol_use_jmobile?'max-height':'height').'="'.$maxHeight.'" src="'.DOL_URL_ROOT.'/viewimage.php?modulepart=product&entity='.$this->entity.'&file='.urlencode($pdirthumb.$photo_vignette).'" title="'.dol_escape_htmltag($alt).'">'; } @@ -3511,7 +3784,7 @@ class Product extends CommonObject */ function isproduct() { - return ($this->type != 1 ? true : false); + return ($this->type == Product::TYPE_PRODUCT ? true : false); } /** @@ -3521,7 +3794,7 @@ class Product extends CommonObject */ function isservice() { - return ($this->type == 1 ? true : false); + return ($this->type == Product::TYPE_SERVICE ? true : false); } /** @@ -3571,19 +3844,60 @@ class Product extends CommonObject // Initialize parameters $this->id=0; $this->ref = 'PRODUCT_SPEC'; - $this->libelle = 'PRODUCT SPECIMEN'; + $this->label = 'PRODUCT SPECIMEN'; $this->description = 'PRODUCT SPECIMEN '.dol_print_date($now,'dayhourlog'); $this->specimen=1; $this->country_id=1; $this->tosell=1; $this->tobuy=1; $this->tobatch=0; - $this->type=0; $this->note='This is a comment (private)'; $this->barcode=-1; // Create barcode automatically } + /** + * Returns the text label from units dictionnary + * + * @param string $type Label type (long or short) + * @return string|int <0 if ko, label if ok + */ + function getLabelOfUnit($type='long') + { + global $langs; + + if (!$this->fk_unit) { + return ''; + } + + $langs->load('products'); + + $this->db->begin(); + + $label_type = 'label'; + + if ($type == 'short') + { + $label_type = 'short_label'; + } + + $sql = 'select '.$label_type.' from '.MAIN_DB_PREFIX.'c_units where rowid='.$this->fk_unit; + $resql = $this->db->query($sql); + if($resql && $this->db->num_rows($resql) > 0) + { + $res = $this->db->fetch_array($resql); + $label = $res[$label_type]; + $this->db->free($resql); + return $label; + } + else + { + $this->error=$this->db->error().' sql='.$sql; + dol_syslog(get_class($this)."::getLabelOfUnit Error ".$this->error, LOG_ERR); + return -1; + } + } + /** * Return if object has a sell-by date or eat-by date * @@ -3594,47 +3908,6 @@ class Product extends CommonObject return ($this->status_batch == 1 ? true : false); } - /** - * Adjust stock in a warehouse for product with batch number - * - * @param User $user user asking change - * @param int $id_entrepot id of warehouse - * @param double $nbpiece nb of units - * @param int $movement 0 = add, 1 = remove - * @param string $label Label of stock movement - * @param double $price Price to use for stock eval - * @param date $dlc eat-by date - * @param date $dluo sell-by date - * @param string $lot Lot number - * @return int <0 if KO, >0 if OK - */ - function correct_stock_batch($user, $id_entrepot, $nbpiece, $movement, $label='', $price=0, $dlc='', $dluo='',$lot='') - { - if ($id_entrepot) - { - $this->db->begin(); - - require_once DOL_DOCUMENT_ROOT .'/product/stock/class/mouvementstock.class.php'; - - $op[0] = "+".trim($nbpiece); - $op[1] = "-".trim($nbpiece); - - $movementstock=new MouvementStock($this->db); - $result=$movementstock->_create($user,$this->id,$id_entrepot,$op[$movement],$movement,$price,$label,'',$dlc,$dluo,$lot); - - if ($result >= 0) - { - $this->db->commit(); - return 1; - } - else - { - $this->error=$movementstock->error; - $this->db->rollback(); - return -1; - } - } - } /** * Return minimum product recommended price @@ -3669,4 +3942,22 @@ class Product extends CommonObject return $maxpricesupplier; } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'product_customer_price', + 'product_customer_price_log' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } } diff --git a/htdocs/product/class/productbatch.class.php b/htdocs/product/class/productbatch.class.php index 839dce77fed..ee49302407d 100644 --- a/htdocs/product/class/productbatch.class.php +++ b/htdocs/product/class/productbatch.class.php @@ -42,6 +42,7 @@ class Productbatch extends CommonObject var $batch=''; var $qty; var $import_key; + public $warehouseid; @@ -86,13 +87,12 @@ class Productbatch extends CommonObject $sql.= "import_key"; $sql.= ") VALUES ("; $sql.= " ".(! isset($this->fk_product_stock)?'NULL':$this->fk_product_stock).","; - $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':$this->db->idate($this->sellby)).","; - $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':$this->db->idate($this->eatby)).","; + $sql.= " ".(! isset($this->sellby) || dol_strlen($this->sellby)==0?'NULL':"'".$this->db->idate($this->sellby)."'").","; + $sql.= " ".(! isset($this->eatby) || dol_strlen($this->eatby)==0?'NULL':"'".$this->db->idate($this->eatby)."'").","; $sql.= " ".(! isset($this->batch)?'NULL':"'".$this->db->escape($this->batch)."'").","; $sql.= " ".(! isset($this->qty)?'NULL':$this->qty).","; $sql.= " ".(! isset($this->import_key)?'NULL':"'".$this->db->escape($this->import_key)."'").""; - $sql.= ")"; $this->db->begin(); @@ -121,11 +121,6 @@ class Productbatch extends CommonObject // Commit or rollback if ($error) { - foreach($this->errors as $errmsg) - { - dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); - $this->error.=($this->error?', '.$errmsg:$errmsg); - } $this->db->rollback(); return -1*$error; } @@ -155,10 +150,11 @@ class Productbatch extends CommonObject $sql.= " t.eatby,"; $sql.= " t.batch,"; $sql.= " t.qty,"; - $sql.= " t.import_key"; - + $sql.= " t.import_key,"; + $sql.= " w.fk_entrepot"; $sql.= " FROM ".MAIN_DB_PREFIX.self::$_table_element." as t"; + $sql.= " INNER JOIN ".MAIN_DB_PREFIX."product_stock w on t.fk_product_stock=w.rowid"; $sql.= " WHERE t.rowid = ".$id; dol_syslog(get_class($this)."::fetch", LOG_DEBUG); @@ -177,6 +173,7 @@ class Productbatch extends CommonObject $this->batch = $obj->batch; $this->qty = $obj->qty; $this->import_key = $obj->import_key; + $this->warehouseid= $obj->fk_entrepot; } $this->db->free($resql); @@ -465,7 +462,7 @@ class Productbatch extends CommonObject /** * Return all batch detail records for given product and warehouse * - * @param obj $db database object + * @param DoliDB $db database object * @param int $fk_product_stock id product_stock for objet * @param int $with_qty doesn't return line with 0 quantity * @return int <0 if KO, >0 if OK diff --git a/htdocs/product/class/propalmergepdfproduct.class.php b/htdocs/product/class/propalmergepdfproduct.class.php new file mode 100644 index 00000000000..a0a50f9acbd --- /dev/null +++ b/htdocs/product/class/propalmergepdfproduct.class.php @@ -0,0 +1,659 @@ + + * Copyright (C) 2015 Florian HENRY + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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/product/class/propalmergepdfproduct.class.php + * \ingroup product + * \brief This file is an CRUD class file (Create/Read/Update/Delete) + */ + +require_once(DOL_DOCUMENT_ROOT."/core/class/commonobject.class.php"); + + + +/** + * Put here description of your class + */ +class Propalmergepdfproduct extends CommonObject +{ + var $db; //!< To store db handler + var $error; //!< To return error code (or message) + var $errors=array(); //!< To return several error codes (or messages) + var $element='propal_merge_pdf_product'; //!< Id that identify managed objects + var $table_element='propal_merge_pdf_product'; //!< Name of table without prefix where object is stored + + var $id; + + var $fk_product; + var $file_name; + var $fk_user_author; + var $fk_user_mod; + var $datec=''; + var $tms=''; + var $import_key; + var $lang; + + var $lines=array(); + + + + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + + if (isset($this->fk_product)) $this->fk_product=trim($this->fk_product); + if (isset($this->file_name)) $this->file_name=trim($this->file_name); + if (isset($this->fk_user_author)) $this->fk_user_author=trim($this->fk_user_author); + if (isset($this->fk_user_mod)) $this->fk_user_mod=trim($this->fk_user_mod); + if (isset($this->lang)) $this->lang=trim($this->lang); + if (isset($this->import_key)) $this->import_key=trim($this->import_key); + + + + // Check parameters + // Put here code to add control on parameters values + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX."propal_merge_pdf_product("; + + $sql.= "fk_product,"; + $sql.= "file_name,"; + if ($conf->global->MAIN_MULTILANGS) { + $sql.= "lang,"; + } + $sql.= "fk_user_author,"; + $sql.= "fk_user_mod,"; + $sql.= "datec"; + + + $sql.= ") VALUES ("; + + $sql.= " ".(! isset($this->fk_product)?'NULL':"'".$this->fk_product."'").","; + $sql.= " ".(! isset($this->file_name)?'NULL':"'".$this->db->escape($this->file_name)."'").","; + if ($conf->global->MAIN_MULTILANGS) { + $sql.= " ".(! isset($this->lang)?'NULL':"'".$this->db->escape($this->lang)."'").","; + } + $sql.= " ".$user->id.","; + $sql.= " ".$user->id.","; + $sql.= " '".$this->db->idate(dol_now())."'"; + + + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."propal_merge_pdf_product"); + + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_CREATE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int <0 if KO, >0 if OK + */ + function fetch($id) + { + global $langs,$conf; + + $sql = "SELECT"; + $sql.= " t.rowid,"; + + $sql.= " t.fk_product,"; + $sql.= " t.file_name,"; + $sql.= " t.lang,"; + $sql.= " t.fk_user_author,"; + $sql.= " t.fk_user_mod,"; + $sql.= " t.datec,"; + $sql.= " t.tms,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX."propal_merge_pdf_product as t"; + $sql.= " WHERE t.rowid = ".$id; + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + $obj = $this->db->fetch_object($resql); + + $this->id = $obj->rowid; + + $this->fk_product = $obj->fk_product; + $this->file_name = $obj->file_name; + if ($conf->global->MAIN_MULTILANGS) { + $this->lang = $obj->lang; + } + $this->fk_user_author = $obj->fk_user_author; + $this->fk_user_mod = $obj->fk_user_mod; + $this->datec = $this->db->jdate($obj->datec); + $this->tms = $this->db->jdate($obj->tms); + $this->import_key = $obj->import_key; + + + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + + /** + * Load object in memory from the database + * + * @param int $product_id Id object + * @param string $lang Lang string code + * @return int <0 if KO, >0 if OK + */ + function fetch_by_product($product_id, $lang='') + { + global $langs,$conf; + + $sql = "SELECT"; + $sql.= " t.rowid,"; + + $sql.= " t.fk_product,"; + $sql.= " t.file_name,"; + $sql.= " t.lang,"; + $sql.= " t.fk_user_author,"; + $sql.= " t.fk_user_mod,"; + $sql.= " t.datec,"; + $sql.= " t.tms,"; + $sql.= " t.import_key"; + + + $sql.= " FROM ".MAIN_DB_PREFIX."propal_merge_pdf_product as t"; + $sql.= " WHERE t.fk_product = ".$product_id; + if ($conf->global->MAIN_MULTILANGS && !empty($lang)) { + $sql.= " AND t.lang = '".$lang."'"; + } + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if ($this->db->num_rows($resql)) + { + while($obj = $this->db->fetch_object($resql)) { + + $line = new PropalmergepdfproductLine(); + + $line->id = $obj->rowid; + + $line->fk_product = $obj->fk_product; + $line->file_name = $obj->file_name; + if ($conf->global->MAIN_MULTILANGS) { + $line->lang = $obj->lang; + } + $line->fk_user_author = $obj->fk_user_author; + $line->fk_user_mod = $obj->fk_user_mod; + $line->datec = $this->db->jdate($obj->datec); + $line->tms = $this->db->jdate($obj->tms); + $line->import_key = $obj->import_key; + + + if ($conf->global->MAIN_MULTILANGS) { + $this->lines[$obj->file_name.'_'.$obj->lang]=$line; + }else { + $this->lines[$obj->file_name]=$line; + } + + + } + + + } + $this->db->free($resql); + + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch_by_product ".$this->error, LOG_ERR); + return -1; + } + } + + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + + if (isset($this->fk_product)) $this->fk_product=trim($this->fk_product); + if (isset($this->file_name)) $this->file_name=trim($this->file_name); + if (isset($this->fk_user_mod)) $this->fk_user_mod=trim($this->fk_user_mod); + if (isset($this->lang)) $this->lang=trim($this->lang); + + + + + // Check parameters + // Put here code to add a control on parameters values + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX."propal_merge_pdf_product SET"; + + $sql.= " fk_product=".(isset($this->fk_product)?$this->fk_product:"null").","; + $sql.= " file_name=".(isset($this->file_name)?"'".$this->db->escape($this->file_name)."'":"null").","; + if ($conf->global->MAIN_MULTILANGS) { + $sql.= " lang=".(isset($this->lang)?"'".$this->db->escape($this->lang)."'":"null").","; + } + $sql.= " fk_user_mod=".$user->id; + + + $sql.= " WHERE rowid=".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_MODIFY',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($user, $notrigger=0) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."propal_merge_pdf_product"; + $sql.= " WHERE rowid=".$this->id; + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @param int $product_id product_id + * @param string $lang_id language + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete_by_product($user, $product_id, $lang_id='', $notrigger=0) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."propal_merge_pdf_product"; + $sql.= " WHERE fk_product=".$product_id; + + if ($conf->global->MAIN_MULTILANGS && !empty($lang_id)) { + $sql.= " AND lang='".$lang_id."'"; + } + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Delete object in database + * + * @param User $user User that deletes + * @return int <0 if KO, >0 if OK + */ + function delete_by_file($user) + { + global $conf, $langs; + $error=0; + + $this->db->begin(); + + if (! $error) + { + if (! $notrigger) + { + // Uncomment this and change MYOBJECT to your own tag if you + // want this action calls a trigger. + + //// Call triggers + //include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php'; + //$interface=new Interfaces($this->db); + //$result=$interface->run_triggers('MYOBJECT_DELETE',$this,$user,$langs,$conf); + //if ($result < 0) { $error++; $this->errors=$interface->errors; } + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."propal_merge_pdf_product"; + $sql.= " WHERE fk_product=".$this->fk_product." AND file_name='".$this->db->escape($this->file_name)."'"; + + dol_syslog(get_class($this)."::".__METHOD__, LOG_DEBUG); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + + /** + * Load an object from its id and create a new one in database + * + * @param int $fromid Id of object to clone + * @return int New id of clone + */ + function createFromClone($fromid) + { + global $user,$langs; + + $error=0; + + $object=new Propalmergepdfproduct($this->db); + + $this->db->begin(); + + // Load source object + $object->fetch($fromid); + $object->id=0; + $object->statut=0; + + // Clear fields + // ... + + // Create clone + $result=$object->create($user); + + // Other options + if ($result < 0) + { + $this->error=$object->error; + $error++; + } + + if (! $error) + { + + + } + + // End + if (! $error) + { + $this->db->commit(); + return $object->id; + } + else + { + $this->db->rollback(); + return -1; + } + } + + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + + $this->fk_product=''; + $this->file_name=''; + $this->fk_user_author=''; + $this->fk_user_mod=''; + $this->datec=''; + $this->tms=''; + $this->import_key=''; + + + } + +} + +/** + * Class to manage propal merge of product line + */ +class PropalmergepdfproductLine +{ + var $id; + + var $fk_product; + var $file_name; + var $lang; + var $fk_user_author; + var $fk_user_mod; + var $datec=''; + var $tms=''; + var $import_key; + + function __construct() { + return 1; + } +} diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index ec616b2f222..9e8cd7acef3 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -1,10 +1,11 @@ - * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2011-2014 Juanjo Menent +/* Copyright (C) 2001-2007 Rodolphe Quiedeville + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2005 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2011-2014 Juanjo Menent + * Copyright (C) 2015 Raphaël Doursenaud * * 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,6 +35,7 @@ require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; $langs->load("bills"); $langs->load("products"); +$langs->load("stocks"); $id=GETPOST('id','int'); $ref=GETPOST('ref','alpha'); @@ -49,13 +51,13 @@ $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); -$product = new Product($db); -$productid=0; +$object = new Product($db); +$objectid=0; if ($id > 0 || ! empty($ref)) { - $result = $product->fetch($id,$ref); - $productid=$product->id; - $id=$product->id; + $result = $object->fetch($id,$ref); + $objectid=$object->id; + $id=$object->id; } @@ -63,34 +65,35 @@ if ($id > 0 || ! empty($ref)) * Actions */ +if ($cancel) $action =''; + // Action association d'un sousproduit -if ($action == 'add_prod' && -$cancel <> $langs->trans("Cancel") && -($user->rights->produit->creer || $user->rights->service->creer)) +if ($action == 'add_prod' && ($user->rights->produit->creer || $user->rights->service->creer)) { $error=0; for ($i=0; $i<$_POST["max_prod"]; $i++) { - if ($_POST["prod_id_chk".$i] > 0) + if ($_POST["prod_qty_".$i] > 0) { - if($product->add_sousproduit($id, $_POST["prod_id_".$i],$_POST["prod_qty_".$i]) > 0) + if ($object->add_sousproduit($id, $_POST["prod_id_".$i], $_POST["prod_qty_".$i], $_POST["prod_incdec_".$i]) > 0) { + //var_dump($id.' - '.$_POST["prod_id_".$i].' - '.$_POST["prod_qty_".$i]);exit; $action = 'edit'; } else { $error++; $action = 're-edit'; - if ($product->error == "isFatherOfThis") { + if ($object->error == "isFatherOfThis") { setEventMessage($langs->trans("ErrorAssociationIsFatherOfThis"), 'errors'); } else { - setEventMessage($product->error, 'errors'); + setEventMessage($object->error, 'errors'); } } } else { - if ($product->del_sousproduit($id, $_POST["prod_id_".$i]) > 0) + if ($object->del_sousproduit($id, $_POST["prod_id_".$i]) > 0) { $action = 'edit'; } @@ -98,22 +101,28 @@ $cancel <> $langs->trans("Cancel") && { $error++; $action = 're-edit'; - setEventMessage($product->error, 'errors'); + setEventMessage($object->error, 'errors'); } } } if (! $error) { - header("Location: ".$_SERVER["PHP_SELF"].'?id='.$product->id); + header("Location: ".$_SERVER["PHP_SELF"].'?id='.$object->id); exit; } } - -if ($cancel == $langs->trans("Cancel")) +else if($action==='save_composed_product') { - $action = ''; - header("Location: card.php?id=".$_POST["id"]); - exit; + $TProduct = GETPOST('TProduct', 'array'); + if(!empty($TProduct)) + { + foreach ($TProduct as $id_product => $row) + { + if ($row['qty'] > 0) $object->update_sousproduit($id, $id_product, $row['qty'], isset($row['incdec']) ? 1 : 0 ); + else $object->del_sousproduit($id, $id_product); + } + } + $action=''; } @@ -164,107 +173,16 @@ if ($action == 'search') //print $sql; -llxHeader("","",$langs->trans("CardProduct".$product->type)); +llxHeader("","",$langs->trans("CardProduct".$object->type)); -$head=product_prepare_head($product, $user); -$titre=$langs->trans("CardProduct".$product->type); -$picto=($product->type==1?'service':'product'); +$head=product_prepare_head($object); +$titre=$langs->trans("CardProduct".$object->type); +$picto=($object->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'subproduct', $titre, 0, $picto); if ($id > 0 || ! empty($ref)) { -/* if ($result) - { - if ($action <> 'edit' && $action <> 'search' && $action <> 're-edit') - { - // mode visu - - print ''; - - print ""; - - $nblignes=6; - if ($product->isproduct() && ! empty($conf->stock->enabled)) $nblignes++; - if ($product->isservice()) $nblignes++; - - // Reference - print ''; - - // Libelle - print ''; - print ''; - - // Number of subproducts - $prodsfather = $product->getFather(); // Parent Products - $product->get_sousproduits_arbo(); - $prods_arbo=$product->get_arbo_each_prod(); - $nbofsubproducts=count($prods_arbo); - print ''; - - dol_fiche_end(); - - - // List of products into this virtual product - if (count($prods_arbo) > 0) - { - print ''; - } - - // Number of parent virtual products - print ''; - - if (count($prodsfather) > 0) - { - print ''; - } - - print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("AssociatedProductsNumber").''; - print $form->textwithpicto($nbofsubproducts, $langs->trans('IfZeroItIsNotAVirtualProduct')); - print '
'; - print ''.$langs->trans("ProductAssociationList").'
'; - print ''; - foreach($prods_arbo as $value) - { - $productstatic->id=$value['id']; - $productstatic->type=$value['type']; - $productstatic->ref=$value['fullpath']; - if (! empty($conf->stock->enabled)) $productstatic->load_stock(); - //var_dump($value); - //print '
'.$productstatic->ref.'
'; - //print $productstatic->getNomUrl(1).'
'; - //print $value[0]; // This contains a tr line. - print ''; - //print ''; - print ''; - if (! empty($conf->stock->enabled)) print ''; - print ''; - } - print '
'.$productstatic->getNomUrl(1,'composition').' ('.$value['nb'].($value['nb_total'] > $value['nb']?'->'.$value['nb_total']:'').')    '.$productstatic->getNomUrl(1,'composition').' ('.$value['nb'].')    '.$langs->trans("Stock").' : '.$productstatic->stock_reel.'
'; - print '
'.$langs->trans("ParentProductsNumber").''; - print $form->textwithpicto(count($prodsfather), $langs->trans('IfZeroItIsNotUsedByVirtualProduct')); - print '
'; - print ''.$langs->trans("ProductParentList").'
'; - print ''; - foreach($prodsfather as $value) - { - $idprod= $value["id"]; - $productstatic->id=$idprod;// $value["id"]; - $productstatic->type=$value["fk_product_type"]; - $productstatic->ref=$value['label']; - print ''; - print '';; - print ''; - } - print '
'.$productstatic->getNomUrl(1,'composition').'
'; - print '
\n"; - - dol_fiche_end(); - } - } -*/ /* * Fiche en mode edition */ @@ -275,20 +193,28 @@ if ($id > 0 || ! empty($ref)) print ""; $nblignes=6; - if ($product->isproduct() && ! empty($conf->stock->enabled)) $nblignes++; - if ($product->isservice()) $nblignes++; + if ($object->isproduct() && ! empty($conf->stock->enabled)) $nblignes++; + if ($object->isservice()) $nblignes++; // Reference print ''.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); + print $form->showrefnav($object,'ref','',1,'ref'); print ''; print ''; // Label - print ''.$langs->trans("Label").''.$product->libelle.''; + print ''.$langs->trans("Label").''.$object->libelle.''; print ''; + // Nature + if($object->type!=Product::TYPE_SERVICE) + { + print ''.$langs->trans("Nature").''; + print $object->getLibFinished(); + print ''; + } + if (empty($conf->global->PRODUIT_MULTIPRICES)) { // Price @@ -316,103 +242,214 @@ if ($id > 0 || ! empty($ref)) print ''; } - // Number of subproducts - $prodsfather = $product->getFather(); //Parent Products - $product->get_sousproduits_arbo(); // Defined $product->sousprod - $prods_arbo=$product->get_arbo_each_prod(); - $nbofsubproducts=count($prods_arbo); - print ''.$langs->trans("AssociatedProductsNumber").''; - print $form->textwithpicto($nbofsubproducts, $langs->trans('IfZeroItIsNotAVirtualProduct')); - print ''; - print ''; - - // List of subproducts - if (count($prods_arbo) > 0) - { - $atleastonenotdefined=0; - print ''; - print $langs->trans("ProductAssociationList").'
'; - print ''; - foreach($prods_arbo as $value) - { - $productstatic->id=$value['id']; - $productstatic->type=$value['type']; - //print '
'.$productstatic->ref.'
'; - //print $productstatic->getNomUrl(1).'
'; - //var_dump($value); - print ''; - if ($value['level'] <= 1) - { - $notdefined=0; - $productstatic->ref=$value['fullpath']; - print ''; - print ''; - $totalline=price2num($value['nb'] * $product_fourn->fourn_unitprice, 'MT'); - $total+=$totalline; - print ''; - if (! empty($conf->stock->enabled)) print ''; // Real stock - } - else { - $productstatic->ref=$value['label']; - print ''; - print ''; // Real stock - } - print ''; - } - print ''; - print ''; - print ''; - if (! empty($conf->stock->enabled)) print ''; - print ''; - print '
'.$productstatic->getNomUrl(1,'composition').' ('.$value['nb'].')'; - if ($product_fourn->find_min_price_product_fournisseur($productstatic->id) > 0) - { - print $langs->trans("BuyingPriceMinShort").': '; - if ($product_fourn->product_fourn_price_id > 0) print $product_fourn->display_price_product_fournisseur(0,0); - else { print $langs->trans("NotDefined"); $notdefined++; $atleastonenotdefined++; } - } - print ''.($notdefined?'':price($totalline,'','',0,0,-1,$conf->currency)).''.$langs->trans("Stock").': '.$value['stock'].''; - for ($i=0; $i < $value['level']; $i++) - { - print '     '; - } - print $productstatic->getNomUrl(1,'composition').' ('.$value['nb'].')'; - print ''; - if (! empty($conf->stock->enabled)) print '
'.$langs->trans("TotalBuyingPriceMin").': '; - if ($atleastonenotdefined) print $langs->trans("Unknown").' ('.$langs->trans("SomeSubProductHaveNoPrices").')'; - print ''.($atleastonenotdefined?'':price($total,'','',0,0,-1,$conf->currency)).' 
'; - print ''; - } - - // Number of parent virtual products - print ''.$langs->trans("ParentProductsNumber").''; - print $form->textwithpicto(count($prodsfather), $langs->trans('IfZeroItIsNotUsedByVirtualProduct')); - print ''; - - if (count($prodsfather) > 0) - { - print ''; - print $langs->trans("ProductParentList").'
'; - print ''; - foreach($prodsfather as $value) - { - $idprod= $value["id"]; - $productstatic->id=$idprod;// $value["id"]; - $productstatic->type=$value["fk_product_type"]; - $productstatic->ref=$value['label']; - print ''; - print '';; - print ''; - } - print '
'.$productstatic->getNomUrl(1,'composition').'
'; - print ''; - } - print ''; dol_fiche_end(); + $prodsfather = $object->getFather(); // Parent Products + $object->get_sousproduits_arbo(); // Load $object->sousprod + $prods_arbo=$object->get_arbo_each_prod(); + $nbofsubsubproducts=count($prods_arbo); // This include sub sub product into nb + $prodschild = $object->getChildsArbo($id,1); + $nbofsubproducts=count($prodschild); // This include only first level of childs + + + // Number of parent virtual products + //print $form->textwithpicto($langs->trans("ParentProductsNumber").': '.count($prodsfather), $langs->trans('IfZeroItIsNotUsedByVirtualProduct')); + + //if (count($prodsfather) > 0) + //{ + print_fiche_titre($langs->trans("ProductParentList"),'','').'
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + if (count($prodsfather) > 0) + { + $class='pair'; + + foreach($prodsfather as $value) + { + $idprod= $value["id"]; + $productstatic->id=$idprod;// $value["id"]; + $productstatic->type=$value["fk_product_type"]; + $productstatic->ref=$value['ref']; + $productstatic->label=$value['label']; + + $class=($class=='impair')?'pair':'impair'; + print ''; + + print ''; + print ''; + print ''; + print ''; + } + } + else + { + print ''; + print ''; + print ''; + } + print '
'.$langs->trans('ParentProduct').''.$langs->trans('Label').''.$langs->trans('Qty').'
'.$productstatic->getNomUrl(1,'composition').''.$productstatic->label.''.$value['qty'].'
'.$langs->trans("None").'
'; + //} + + + print '
'."\n"; + + + // Number of subproducts + //print $form->textwithpicto($langs->trans("AssociatedProductsNumber").': '.(empty($conf->global->PRODUCT_SHOW_SUB_SUB_PRODUCTS)?$nbofsubproducts:$nbofsubsubproducts), $langs->trans('IfZeroItIsNotAVirtualProduct')); + + // List of subproducts + //if (count($prods_arbo) > 0) + //{ + $atleastonenotdefined=0; + print_fiche_titre($langs->trans("ProductAssociationList"),'','').'
'; + + print '
'; + print ''; + print ''; + + print ''; + + print ''; + print ''; + print ''; + print ''; + if (! empty($conf->stock->enabled)) print ''; + print ''; + print ''; + print ''."\n"; + + $class='pair'; + + if (count($prods_arbo)) + { + foreach($prods_arbo as $value) + { + $productstatic->id=$value['id']; + $productstatic->type=$value['type']; + $productstatic->label=$value['label']; + + if ($value['level'] <= 1) + { + $class=($class=='impair')?'pair':'impair'; + print ''; + + $notdefined=0; + $productstatic->ref=$value['ref']; + $nb_of_subproduct = $value['nb']; + + print ''; + print ''; + + // Best buying price + print ''; + + $totalline=price2num($value['nb'] * $product_fourn->fourn_unitprice, 'MT'); + $total+=$totalline; + print ''; + + // Stock + if (! empty($conf->stock->enabled)) print ''; // Real stock + + // Qty + IncDec + if ($user->rights->produit->creer || $user->rights->service->creer) + { + print ''; + print ''; + + } + else{ + print ''; + print ''; + } + + print ''."\n"; + } + else // By default, we do not show this. It makes screen very difficult to understand + { + $hide=''; + if (empty($conf->global->PRODUCT_SHOW_SUB_SUB_PRODUCTS)) $hide=' hideobject'; + + $class=($class=='impair')?'pair':'impair'; + print ''; + + //$productstatic->ref=$value['label']; + $productstatic->ref=$value['ref']; + print ''; + print ''; + + print ''; + print ''; + + if (! empty($conf->stock->enabled)) print ''; // Real stock + print ''; + print ''; + + print ''."\n"; + } + } + + print ''; + print ''; + print ''; + + // Minimum buying price + print ''; + + print ''; + + // Stock + if (! empty($conf->stock->enabled)) print ''; + + print ''; + print ''."\n"; + } + else + { + $colspan=6; + if (! empty($conf->stock->enabled)) $colspan++; + + print ''; + print ''; + print ''; + } + + print '
'.$langs->trans('ComposedProduct').''.$langs->trans('Label').''.$langs->trans('MinSupplierPrice').''.$langs->trans('Stock').''.$langs->trans('Qty').''.$langs->trans('ComposedProductIncDecStock').'
'.$productstatic->getNomUrl(1,'composition').''.$productstatic->label.''; + if ($product_fourn->find_min_price_product_fournisseur($productstatic->id) > 0) + { + print '   '.$langs->trans("BuyingPriceMinShort").': '; + if ($product_fourn->product_fourn_price_id > 0) print $product_fourn->display_price_product_fournisseur(0,0); + else { print $langs->trans("NotDefined"); $notdefined++; $atleastonenotdefined++; } + } + print ''; + print ($notdefined?'':($value['nb']> 1 ? $value['nb'].'x' : '').price($product_fourn->fourn_unitprice,'','',0,0,-1,$conf->currency)); + print ''.$value['stock'].''.$nb_of_subproduct.''.($value['incdec']==1?'x':'' ).'
'; + for ($i=0; $i < $value['level']; $i++) print '     '; // Add indentation + print $productstatic->getNomUrl(1,'composition').''.$productstatic->label.'  '.$value['nb'].' 
'; + print $langs->trans("TotalBuyingPriceMin"); + print ''; + if ($atleastonenotdefined) print $langs->trans("Unknown").' ('.$langs->trans("SomeSubProductHaveNoPrices").')'; + print ($atleastonenotdefined?'':price($total,'','',0,0,-1,$conf->currency)); + print ' '; + if ($user->rights->produit->creer || $user->rights->service->creer) + { + print ''; + } + print '
'.$langs->trans("None").'
'; + + /*if($user->rights->produit->creer || $user->rights->service->creer) { + print ''; + }*/ + + print '
'; + //} + // Form with product to add if ((empty($action) || $action == 'view' || $action == 'edit' || $action == 'search' || $action == 're-edit') && ($user->rights->produit->creer || $user->rights->service->creer)) { @@ -436,8 +473,9 @@ if ($id > 0 || ! empty($ref)) print ''; if (! empty($conf->categorie->enabled)) { + require_once DOL_DOCUMENT_ROOT . '/categories/class/categorie.class.php'; print ''.$langs->trans("CategoryFilter").'   '; - print ''.$form->select_all_categories(0, $parent).''; + print ''.$form->select_all_categories(Categorie::TYPE_PRODUCT, $parent).''; } print ''; print ''; @@ -454,10 +492,11 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; print ''; - print ''; print ''; if ($resql) { @@ -475,7 +514,7 @@ if ($id > 0 || ! empty($ref)) // check if a product is not already a parent product of this one $prod_arbo=new Product($db); $prod_arbo->id=$objp->rowid; - if ($prod_arbo->type==2 || $prod_arbo->type==3) + if ($prod_arbo->type==Product::TYPE_ASSEMBLYKIT || $prod_arbo->type== Product::TYPE_STOCKKIT) { $is_pere=0; $prod_arbo->get_sousproduits_arbo(); @@ -501,7 +540,7 @@ if ($id > 0 || ! empty($ref)) print "\n"; $productstatic->id=$objp->rowid; $productstatic->ref=$objp->ref; - $productstatic->libelle=$objp->label; + $productstatic->label=$objp->label; $productstatic->type=$objp->type; print ''; @@ -509,19 +548,37 @@ if ($id > 0 || ! empty($ref)) if ($conf->global->MAIN_MULTILANGS && $objp->labelm) $labeltoshow=$objp->labelm; print ''; - if($product->is_sousproduit($id, $objp->rowid)) + + + if($object->is_sousproduit($id, $objp->rowid)) { - $addchecked = ' checked="checked"'; - $qty=$product->is_sousproduit_qty; + //$addchecked = ' checked'; + $qty=$object->is_sousproduit_qty; + $incdec=$object->is_sousproduit_incdec; } else { - $addchecked = ''; - $qty="1"; + //$addchecked = ''; + $qty=0; + $incdec=0; } - print ''; - print ''; + // Contained into package + /*print '';*/ + // Qty + print ''; + + // Inc Dec + print ''; + print ''; } $i++; @@ -537,9 +594,11 @@ if ($id > 0 || ! empty($ref)) if($num > 0) { - print '
trans("Update").'">'; - print '     '; - print '
'; + print '
'; + print 'trans("Update").'">'; + print '     '; + print ''; + print '
'; } print ''; diff --git a/htdocs/product/document.php b/htdocs/product/document.php index e46dc0384b2..cb174e5847e 100644 --- a/htdocs/product/document.php +++ b/htdocs/product/document.php @@ -33,6 +33,8 @@ require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.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'; +if (!empty($conf->global->PRODUIT_PDF_MERGE_PROPAL)) + require_once DOL_DOCUMENT_ROOT.'/product/class/propalmergepdfproduct.class.php'; $langs->load("other"); $langs->load("products"); @@ -84,8 +86,71 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { + //Delete line if product propal merge is linked to a file + if (!empty($conf->global->PRODUIT_PDF_MERGE_PROPAL)) + { + if ($action == 'confirm_deletefile' && $confirm == 'yes') + { + //extract file name + $urlfile = GETPOST('urlfile', 'alpha'); + $filename = basename($urlfile); + $filetomerge = new Propalmergepdfproduct($db); + $filetomerge->fk_product=$object->id; + $filetomerge->file_name=$filename; + $result=$filetomerge->delete_by_file($user); + if ($result<0) { + setEventMessage($filetomerge->error,'errors'); + } + } + } + // Action sending file include_once DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_pre_headers.tpl.php'; + +} + +if ($action=='filemerge') +{ + $is_refresh = GETPOST('refresh'); + if (empty($is_refresh)) { + + $filetomerge_file_array = GETPOST('filetoadd'); + + $filetomerge_file_array = GETPOST('filetoadd'); + + if ($conf->global->MAIN_MULTILANGS) { + $lang_id = GETPOST('lang_id'); + } + + // Delete all file already associated + $filetomerge = new Propalmergepdfproduct($db); + + if ($conf->global->MAIN_MULTILANGS) { + $result=$filetomerge->delete_by_product($user, $object->id, $lang_id); + } else { + $result=$filetomerge->delete_by_product($user, $object->id); + } + if ($result<0) { + setEventMessage($filetomerge->error,'errors'); + } + + // for each file checked add it to the product + if (is_array($filetomerge_file_array)) { + foreach ( $filetomerge_file_array as $filetomerge_file ) { + $filetomerge->fk_product = $object->id; + $filetomerge->file_name = $filetomerge_file; + + if ($conf->global->MAIN_MULTILANGS) { + $filetomerge->lang = $lang_id; + } + + $result=$filetomerge->create($user); + if ($result<0) { + setEventMessage($filetomerge->error,'errors'); + } + } + } + } } @@ -100,9 +165,9 @@ llxHeader("","",$langs->trans("CardProduct".$object->type)); if ($object->id) { - $head=product_prepare_head($object, $user); + $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); - $picto=($object->type==1?'service':'product'); + $picto=($object->type== Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'documents', $titre, 0, $picto); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -127,7 +192,7 @@ if ($object->id) print ''; // Label - print ''; + print ''; // Status (to sell) print ''; // Label - print ''; + print ''; // Minimum Price print ''; @@ -267,7 +309,7 @@ if ($id || $ref) if ($rowid) { - $product->fetch_product_fournisseur_price($rowid); + $product->fetch_product_fournisseur_price($rowid, 1); //Ignore the math expression when getting the price print_fiche_titre($langs->trans("ChangeSupplierPrice")); } else @@ -290,6 +332,8 @@ if ($id || $ref) print ''; print ''; print ''; + print ''; + print ''; } else { @@ -347,7 +391,6 @@ if ($id || $ref) } print ''; - // Vat rate $default_vat=''; @@ -369,11 +412,45 @@ if ($id || $ref) print ''; print ''; + if (! empty($conf->dynamicprices->enabled)) //Only show price mode and expression selector if module is enabled + { + // Price mode selector + print ''; + // This code hides the numeric price input if is not selected, loads the editor page if editor button is pressed + print ''; + } + // Price qty min print ''; print ''; // Discount qty min @@ -382,6 +459,13 @@ if ($id || $ref) print ''; print ''; + + // Delai livraison jours + print ''; + print ''; + print ''; + print ''; + // Charges ???? if ($conf->global->PRODUCT_CHARGES) { @@ -403,27 +487,30 @@ if ($id || $ref) print '
'.$langs->trans("Ref").''; + print ''.$langs->trans("ComposedProduct").''; print ''.$langs->trans("Label").''; - print ''.$langs->trans("AddDel").''; + //print ''.$langs->trans("IsInPackage").''; print ''.$langs->trans("Qty").''; + print ''.$langs->trans('ComposedProductIncDecStock').'
'.$productstatic->getNomUrl(1,'',24).''.$labeltoshow.''; - print ''; + print ''; + if ($qty) print ''; + else + { + // TODO Hide field and show it when setting a qty + print ''; + //print ''; + } + print '
'.$langs->trans("Label").''.$object->libelle.'
'.$langs->trans("Label").''.$object->label.'
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; @@ -146,9 +211,138 @@ if ($object->id) print ''; $modulepart = 'produit'; - $permission = (($object->type == 0 && $user->rights->produit->creer) || ($object->type == 1 && $user->rights->service->creer)); + $permission = (($object->type == Product::TYPE_PRODUCT && $user->rights->produit->creer) || ($object->type == Product::TYPE_SERVICE && $user->rights->service->creer)); $param = '&id=' . $object->id; include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_post_headers.tpl.php'; + + + // Merge propal PDF docuemnt PDF files + if (!empty($conf->global->PRODUIT_PDF_MERGE_PROPAL)) + { + $filetomerge = new Propalmergepdfproduct($db); + + if ($conf->global->MAIN_MULTILANGS) { + $lang_id = GETPOST('lang_id'); + $result = $filetomerge->fetch_by_product($object->id, $lang_id); + } else { + $result = $filetomerge->fetch_by_product($object->id); + } + + $form = new Form($db); + + $filearray = dol_dir_list($upload_dir, "files", 0, '', '\.meta$', 'name', SORT_ASC, 1); + + // For each file build select list with PDF extention + if (count($filearray) > 0) { + print '
'; + // Actual file to merge is : + if (count($filetomerge->lines) > 0) { + print $langs->trans('PropalMergePdfProductActualFile'); + } + + print '
'; + print ''; + print ''; + if (count($filetomerge->lines) == 0) { + print $langs->trans('PropalMergePdfProductChooseFile'); + } + + print ''; + + // Get language + if ($conf->global->MAIN_MULTILANGS) { + + $langs->load("languages"); + + print ''; + } + + $style = 'impair'; + foreach ($filearray as $filetoadd) + { + if ($ext = pathinfo($filetoadd['name'], PATHINFO_EXTENSION) == 'pdf') + { + if ($style == 'pair') { + $style = 'impair'; + } else { + $style = 'pair'; + } + + $checked = ''; + $filename = $filetoadd['name']; + + if ($conf->global->MAIN_MULTILANGS) { + if (array_key_exists($filetoadd['name'] . '_' . $delauft_lang, $filetomerge->lines)) { + $filename = $filetoadd['name'] . ' - ' . $langs->trans('Language_' . $delauft_lang); + $checked = ' checked '; + } + } else { + if (array_key_exists($filetoadd['name'], $filetomerge->lines)) { + $checked = ' checked '; + } + } + + print ''; + } + } + + print ''; + + print '
'; + + $delauft_lang = (empty($lang_id)) ? $langs->getDefaultLang() : $lang_id; + + $langs_available = $langs->get_available_languages(DOL_DOCUMENT_ROOT, 12); + + print ''; + + if ($conf->global->MAIN_MULTILANGS) { + print ''; + } + + print '
'; + + print '' . $filename . ''; + print '
'; + print ''; + print '
'; + + print '
'; + } + } + } else { diff --git a/htdocs/product/dynamic_price/class/price_expression.class.php b/htdocs/product/dynamic_price/class/price_expression.class.php new file mode 100644 index 00000000000..bd4fa62692f --- /dev/null +++ b/htdocs/product/dynamic_price/class/price_expression.class.php @@ -0,0 +1,350 @@ + + * Copyright (C) 2014 Juanjo Menent +/* Copyright (C) 2015 Ion Agorria + * + * 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/product/dynamic_price/class/price_expression.class.php + * \ingroup product + * \brief Class for accessing price expression table + */ + + +/** + * Class for accesing price expression table + */ +class PriceExpression +{ + var $db; //!< To store db handler + var $error; //!< To return error code (or message) + var $errors=array(); //!< To return several error codes (or messages) + var $id; + var $title; + var $expression; + public $table_element = "c_price_expression"; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + $error=0; + + // Clean parameters + if (isset($this->title)) $this->title=trim($this->title); + if (isset($this->expression)) $this->expression=trim($this->expression); + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; + $sql.= "title, expression"; + $sql.= ") VALUES ("; + $sql.= " ".(isset($this->title)?"'".$this->db->escape($this->title)."'":"''").","; + $sql.= " ".(isset($this->expression)?"'".$this->db->escape($this->expression)."'":"''"); + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + $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 + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(__METHOD__." ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int < 0 if KO, 0 if OK but not found, > 0 if OK + */ + function fetch($id) + { + $sql = "SELECT title, expression"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$id; + + dol_syslog(get_class($this)."::fetch"); + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + if ($obj) + { + $this->id = $id; + $this->title = $obj->title; + $this->expression = $obj->expression; + return 1; + } + else + { + return 0; + } + } + else + { + $this->error="Error ".$this->db->lasterror(); + return -1; + } + } + + /** + * List all price expressions + * + * @return array Array of price expressions + */ + function list_price_expression() + { + $sql = "SELECT rowid, title, expression"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " ORDER BY title"; + + dol_syslog(get_class($this)."::list_price_expression"); + $resql=$this->db->query($sql); + if ($resql) + { + $retarray = array(); + + while ($record = $this->db->fetch_array($resql)) + { + $price_expression_obj = new PriceExpression($this->db); + $price_expression_obj->id = $record["rowid"]; + $price_expression_obj->title = $record["title"]; + $price_expression_obj->expression = $record["expression"]; + $retarray[]=$price_expression_obj; + } + + $this->db->free($resql); + return $retarray; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + + /** + * Returns any existing rowid with specified title + * + * @param String $title Title of expression + * @return int < 0 if KO, 0 if OK but not found, > 0 rowid + */ + function find_title($title) + { + $sql = "SELECT rowid"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE title = '".$this->db->escape($title)."'"; + + dol_syslog(get_class($this)."::find_title"); + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + if ($obj) + { + return (int) $obj->rowid; + } + else + { + return 0; + } + } + else + { + $this->error="Error ".$this->db->lasterror(); + return -1; + } + } + + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + $error=0; + + // Clean parameters + if (isset($this->title)) $this->title=trim($this->title); + if (isset($this->expression)) $this->expression=trim($this->expression); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " title = ".(isset($this->title)?"'".$this->db->escape($this->title)."'":"''").","; + $sql.= " expression = ".(isset($this->expression)?"'".$this->db->escape($this->expression)."'":"''").""; + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + 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_MODIFY',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + /** + * Delete object in database + * + * @param int $rowid Row id of expression + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($rowid, $user, $notrigger=0) + { + $error=0; + + $this->db->begin(); + + if (! $error) + { + 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_DELETE',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$rowid; + + dol_syslog(get_class($this)."::delete"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + $this->expression=''; + } +} diff --git a/htdocs/product/dynamic_price/class/price_global_variable.class.php b/htdocs/product/dynamic_price/class/price_global_variable.class.php new file mode 100644 index 00000000000..c65e694dfb9 --- /dev/null +++ b/htdocs/product/dynamic_price/class/price_global_variable.class.php @@ -0,0 +1,335 @@ + + * Copyright (C) 2014 Juanjo Menent +/* Copyright (C) 2015 Ion Agorria + * + * 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/product/dynamic_price/class/price_global_variable.class.php + * \ingroup product + * \brief Class for accessing price global variables table + */ + + +/** + * Class for accesing price global variables table + */ +class PriceGlobalVariable +{ + var $db; //!< To store db handler + var $error; //!< To return error code (or message) + var $errors=array(); //!< To return several error codes (or messages) + var $id; + var $code; + var $description; + var $value; + public $table_element = "c_price_global_variable"; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + $error=0; + + $this->checkParameters(); + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; + $sql.= "code, description, value"; + $sql.= ") VALUES ("; + $sql.= " ".(isset($this->code)?"'".$this->db->escape($this->code)."'":"''").","; + $sql.= " ".(isset($this->description)?"'".$this->db->escape($this->description)."'":"''").","; + $sql.= " ".$this->value; + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + $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 + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(__METHOD__." ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int < 0 if KO, 0 if OK but not found, > 0 if OK + */ + function fetch($id) + { + $sql = "SELECT code, description, value"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$id; + + dol_syslog(get_class($this)."::fetch"); + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + if ($obj) + { + $this->id = $id; + $this->code = $obj->code; + $this->description = $obj->description; + $this->value = $obj->value; + $this->checkParameters(); + return 1; + } + else + { + return 0; + } + } + else + { + $this->error="Error ".$this->db->lasterror(); + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + $error=0; + + $this->checkParameters(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " code = ".(isset($this->code)?"'".$this->db->escape($this->code)."'":"''").","; + $sql.= " description = ".(isset($this->description)?"'".$this->db->escape($this->description)."'":"''").","; + $sql.= " value = ".$this->value; + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + 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_MODIFY',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + + /** + * Delete object in database + * + * @param int $rowid Row id of global variable + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($rowid, $user, $notrigger=0) + { + $error=0; + + $this->db->begin(); + + if (! $error) + { + 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_DELETE',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$rowid; + + dol_syslog(get_class($this)."::delete"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + $this->code=''; + $this->description=''; + $this->value=''; + } + + /** + * Checks if all parameters are in order + * + * @return void + */ + function checkParameters() + { + // Clean parameters + if (isset($this->code)) $this->code=trim($this->code); + if (isset($this->description)) $this->description=trim($this->description); + + // Check parameters + if (empty($this->value) || !is_numeric($this->value)) $this->value=0; + } + + /** + * List all price global variables + * + * @return array Array of price global variables + */ + function listGlobalVariables() + { + $sql = "SELECT rowid, code, description, value"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " ORDER BY code"; + + dol_syslog(get_class($this)."::listGlobalVariables"); + $resql=$this->db->query($sql); + if ($resql) + { + $retarray = array(); + + while ($record = $this->db->fetch_array($resql)) + { + $variable_obj = new PriceGlobalVariable($this->db); + $variable_obj->id = $record["rowid"]; + $variable_obj->code = $record["code"]; + $variable_obj->description = $record["description"]; + $variable_obj->value = $record["value"]; + $variable_obj->checkParameters(); + $retarray[]=$variable_obj; + } + + $this->db->free($resql); + return $retarray; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } +} diff --git a/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php b/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php new file mode 100644 index 00000000000..3c176f0530e --- /dev/null +++ b/htdocs/product/dynamic_price/class/price_global_variable_updater.class.php @@ -0,0 +1,625 @@ + + * Copyright (C) 2014 Juanjo Menent +/* Copyright (C) 2015 Ion Agorria + * + * 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/product/dynamic_price/class/price_global_variable_updater.class.php + * \ingroup product + * \brief Class for price global variable updaters table + */ + + +/** + * Class for price global variable updaters table + */ +class PriceGlobalVariableUpdater +{ + var $db; //!< To store db handler + var $error; //!< To return error code (or message) + var $errors=array(); //!< To return several error codes (or messages) + var $types=array(0, 1); //!< Updater types + var $update_min = 5; //!< Minimal update rate + var $id; + var $type; + var $description; + var $parameters; + var $fk_variable; + var $update_interval; //!< Interval in mins + var $next_update; //!< Next update timestamp + var $last_status; + public $table_element = "c_price_global_variable_updater"; + + /** + * Constructor + * + * @param DoliDb $db Database handler + */ + function __construct($db) + { + $this->db = $db; + return 1; + } + + + /** + * Create object into database + * + * @param User $user User that creates + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, Id of created object if OK + */ + function create($user, $notrigger=0) + { + $error=0; + + $this->checkParameters(); + + // Insert request + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; + $sql.= "type, description, parameters, fk_variable, update_interval, next_update, last_status"; + $sql.= ") VALUES ("; + $sql.= " ".$this->type.","; + $sql.= " ".(isset($this->description)?"'".$this->db->escape($this->description)."'":"''").","; + $sql.= " ".(isset($this->parameters)?"'".$this->db->escape($this->parameters)."'":"''").","; + $sql.= " ".$this->fk_variable.","; + $sql.= " ".$this->update_interval.","; + $sql.= " ".$this->next_update.","; + $sql.= " ".(isset($this->last_status)?"'".$this->db->escape($this->last_status)."'":"''"); + $sql.= ")"; + + $this->db->begin(); + + dol_syslog(get_class($this)."::create", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + $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 + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(__METHOD__." ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return $this->id; + } + } + + + /** + * Load object in memory from the database + * + * @param int $id Id object + * @return int < 0 if KO, 0 if OK but not found, > 0 if OK + */ + function fetch($id) + { + $sql = "SELECT type, description, parameters, fk_variable, update_interval, next_update, last_status"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$id; + + dol_syslog(get_class($this)."::fetch"); + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + if ($obj) + { + $this->id = $id; + $this->type = $obj->type; + $this->description = $obj->description; + $this->parameters = $obj->parameters; + $this->fk_variable = $obj->fk_variable; + $this->update_interval = $obj->update_interval; + $this->next_update = $obj->next_update; + $this->last_status = $obj->last_status; + $this->checkParameters(); + return 1; + } + else + { + return 0; + } + } + else + { + $this->error="Error ".$this->db->lasterror(); + return -1; + } + } + + /** + * Update object into database + * + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update($user=0, $notrigger=0) + { + $error=0; + + $this->checkParameters(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " type = ".$this->type.","; + $sql.= " description = ".(isset($this->description)?"'".$this->db->escape($this->description)."'":"''").","; + $sql.= " parameters = ".(isset($this->parameters)?"'".$this->db->escape($this->parameters)."'":"''").","; + $sql.= " fk_variable = ".$this->fk_variable.","; + $sql.= " update_interval = ".$this->update_interval.","; + $sql.= " next_update = ".$this->next_update.","; + $sql.= " last_status = ".(isset($this->last_status)?"'".$this->db->escape($this->last_status)."'":"''"); + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + if (! $error) + { + 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_MODIFY',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Delete object in database + * + * @param int $rowid Row id of global variable + * @param User $user User that deletes + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function delete($rowid, $user, $notrigger=0) + { + $error=0; + + $this->db->begin(); + + if (! $error) + { + 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_DELETE',$user); + //if ($result < 0) { $error++; //Do also what you must do to rollback action if trigger fail} + //// End call triggers + } + } + + if (! $error) + { + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE rowid = ".$rowid; + + dol_syslog(get_class($this)."::delete"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $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); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Initialise object with example values + * Id must be 0 if object instance is a specimen + * + * @return void + */ + function initAsSpecimen() + { + $this->id=0; + $this->type=0; + $this->description=''; + $this->parameters=''; + $this->fk_variable=0; + $this->update_interval=0; + $this->next_update=0; + $this->last_status=''; + } + + /** + * Returns the last updated time in string html format, returns "never" if its less than 1 + * + * @return string + */ + function getLastUpdated() + { + global $langs; + $last = $this->next_update - ($this->update_interval * 60); + if ($last < 1) { + return $langs->trans("Never"); + } + $status = empty($this->last_status) ? $langs->trans("CorrectlyUpdated") : $this->last_status; + return $status.'
'.dol_print_date($last, '%d/%m/%Y %H:%M:%S'); + } + + /** + * Checks if all parameters are in order + * + * @return void + */ + function checkParameters() + { + // Clean parameters + if (isset($this->description)) $this->description=trim($this->description); + if (isset($this->parameters)) $this->parameters=trim($this->parameters); + else $this->parameters=""; + if (isset($this->last_status)) $this->last_status=trim($this->last_status); + + // Check parameters + if (empty($this->type) || !is_numeric($this->type) || !in_array($this->type, $this->types)) $this->type=0; + if (empty($this->update_interval) || !is_numeric($this->update_interval) || $this->update_interval < 1) $this->update_interval=$this->update_min; + if (empty($this->next_update) || !is_numeric($this->next_update) || $this->next_update < 0) $this->next_update=0; + } + + /** + * List all price global variables + * + * @return array Array of price global variable updaters + */ + function listUpdaters() + { + $sql = "SELECT rowid, type, description, parameters, fk_variable, update_interval, next_update, last_status"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + + dol_syslog(get_class($this)."::listUpdaters"); + $resql=$this->db->query($sql); + if ($resql) + { + $retarray = array(); + + while ($record = $this->db->fetch_array($resql)) + { + $updater_obj = new PriceGlobalVariableUpdater($this->db); + $updater_obj->id = $record["rowid"]; + $updater_obj->type = $record["type"]; + $updater_obj->description = $record["description"]; + $updater_obj->parameters = $record["parameters"]; + $updater_obj->fk_variable = $record["fk_variable"]; + $updater_obj->update_interval = $record["update_interval"]; + $updater_obj->next_update = $record["next_update"]; + $updater_obj->last_status = $record["last_status"]; + $updater_obj->checkParameters(); + $retarray[]=$updater_obj; + } + + $this->db->free($resql); + return $retarray; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + /** + * List all updaters which need to be processed + * + * @return array Array of price global variable updaters + */ + function listPendingUpdaters() + { + $sql = "SELECT rowid, type, description, parameters, fk_variable, update_interval, next_update, last_status"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; + $sql.= " WHERE next_update < ".dol_now(); + + dol_syslog(get_class($this)."::processUpdaters"); + $resql=$this->db->query($sql); + if ($resql) + { + $retarray = array(); + + while ($record = $this->db->fetch_array($resql)) + { + $updater_obj = new PriceGlobalVariableUpdater($this->db); + $updater_obj->id = $record["rowid"]; + $updater_obj->type = $record["type"]; + $updater_obj->description = $record["description"]; + $updater_obj->parameters = $record["parameters"]; + $updater_obj->fk_variable = $record["fk_variable"]; + $updater_obj->update_interval = $record["update_interval"]; + $updater_obj->next_update = $record["next_update"]; + $updater_obj->last_status = $record["last_status"]; + $updater_obj->checkParameters(); + $retarray[]=$updater_obj; + } + + $this->db->free($resql); + return $retarray; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + + /** + * Handles the processing of this updater + * + * @return int <0 if KO, 0 if OK but no global variable found, >0 if OK + */ + function process() + { + global $langs, $user; + $langs->load("errors"); + + $this->error = null; + $this->checkParameters(); + + //Try to load the target global variable and abort if fails + if ($this->fk_variable < 1) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater5"); + return 0; + } + $price_globals = new PriceGlobalVariable($this->db); + $res = $price_globals->fetch($this->fk_variable); + if ($res < 1) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater5"); + return 0; + } + + //Process depending of type + if ($this->type == 0 || $this->type == 1) { + //Get and check if required parameters are present + $parameters = json_decode($this->parameters, true); + if (!isset($parameters)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater1", $this->parameters); + return -1; + } + $url = $parameters['URL']; + if (!isset($url)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater2", 'URL'); + return -1; + } + $value = $parameters['VALUE']; + if (!isset($value)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater2", 'VALUE'); + return -1; + } + $result = ""; + if ($this->type == 0) { + //CURL client + $handle = curl_init(); + curl_setopt_array($handle, array( + CURLOPT_URL => $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 5, + CURLOPT_POST => false, + CURLOPT_HEADER => false, + )); + + $result = curl_exec($handle); + $code = curl_getinfo($handle, CURLINFO_HTTP_CODE); + if (!isset($result)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater0", "empty response"); + return -1; + } + if ($code !== 200) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater0", $code); + return -1; + } + + //Decode returned response + $result = json_decode($result, true); + } elseif ($this->type == 1) { + $ns = $parameters['NS']; + if (!isset($ns)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater2", 'NS'); + return -1; + } + $method = $parameters['METHOD']; + if (!isset($method)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater2", 'METHOD'); + return -1; + } + $data = $parameters['DATA']; + if (!isset($data)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater2", 'DATA'); + return -1; + } + + //SOAP client + require_once NUSOAP_PATH.'/nusoap.php'; + $soap_client = new nusoap_client($url); + $soap_client->soap_defencoding='UTF-8'; + $soap_client->decodeUTF8(false); + $result = $soap_client->call($method, $data, $ns,''); + + //Check if result is a error + if ($result === false) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater4", $soap_client->error_str); + return -1; + } + } + + //Explode value and walk for each key in value array to get the relevant key + $value = explode(',', $value); + foreach ($value as $key) { + $result = $result[$key]; + } + if (!isset($result)) { + $this->error = $langs->trans("ErrorGlobalVariableUpdater3"); + return -1; + } + + //Save data to global and update it + $price_globals->value = $result; + $price_globals->update($user); + } + return 1; + } + + /** + * Update next_update into database + * + * @param string $next_update Next update to write + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update_next_update($next_update, $user=0, $notrigger=0) + { + $error=0; + + $this->next_update = $next_update; + $this->checkParameters(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " next_update = ".$this->next_update; + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update_next_update"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update_next_update ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } + + /** + * Update last_status into database + * + * @param string $last_status Status to write + * @param User $user User that modifies + * @param int $notrigger 0=launch triggers after, 1=disable triggers + * @return int <0 if KO, >0 if OK + */ + function update_status($last_status, $user=0, $notrigger=0) + { + $error=0; + + $this->last_status = $last_status; + $this->checkParameters(); + + // Update request + $sql = "UPDATE ".MAIN_DB_PREFIX.$this->table_element." SET"; + $sql.= " last_status = ".(isset($this->last_status)?"'".$this->db->escape($this->last_status)."'":"''"); + $sql.= " WHERE rowid = ".$this->id; + + $this->db->begin(); + + dol_syslog(get_class($this)."::update_status"); + $resql = $this->db->query($sql); + if (! $resql) { $error++; $this->errors[]="Error ".$this->db->lasterror(); } + + // Commit or rollback + if ($error) + { + foreach($this->errors as $errmsg) + { + dol_syslog(get_class($this)."::update_status ".$errmsg, LOG_ERR); + $this->error.=($this->error?', '.$errmsg:$errmsg); + } + $this->db->rollback(); + return -1*$error; + } + else + { + $this->db->commit(); + return 1; + } + } +} diff --git a/htdocs/product/dynamic_price/class/price_parser.class.php b/htdocs/product/dynamic_price/class/price_parser.class.php new file mode 100644 index 00000000000..4a7bdb7acf6 --- /dev/null +++ b/htdocs/product/dynamic_price/class/price_parser.class.php @@ -0,0 +1,320 @@ + + * + * 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/product/dynamic_price/class/price_parser.class.php + * \ingroup product + * \brief File of class to calculate prices using expression + */ +require_once DOL_DOCUMENT_ROOT.'/includes/evalmath/evalmath.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_expression.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_global_variable.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_global_variable_updater.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +/** + * Class to parse product price expressions + */ +class PriceParser +{ + protected $db; + // Limit of expressions per price + public $limit = 100; + // The error that occurred when parsing price + public $error; + // The expression that caused the error + public $error_expr; + //The special char + public $special_chr = "#"; + //The separator char + public $separator_chr = ";"; + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + } + + /** + * Returns translated error + * + * @return string Translated error + */ + public function translatedError() + { + global $langs; + $langs->load("errors"); + /* + -No arg + 9, an unexpected error occured + 14, division by zero + 19, expression not found + 20, empty expression + + -1 Arg + 1, cannot assign to constant '%s' + 2, cannot redefine built-in function '%s' + 3, undefined variable '%s' in function definition + 4, illegal character '%s' + 5, unexpected '%s' + 8, unexpected operator '%s' + 10, operator '%s' lacks operand + 11, expecting '%s' + 17, undefined variable '%s' + 21, empty result '%s' + 22, negative result '%s' + + -2 Args + 6, wrong number of arguments (%s given, %s expected) + + -internal errors + 7, internal error + 12, internal error + 13, internal error + 15, internal error + 16, internal error + 18, internal error + */ + if (empty($this->error)) { + return $langs->trans("ErrorPriceExpressionUnknown", 0); //this is not supposed to happen + } + list($code, $info) = $this->error; + if (in_array($code, array(9, 14, 19, 20))) //Errors which have 0 arg + { + return $langs->trans("ErrorPriceExpression".$code); + } + else if (in_array($code, array(1, 2, 3, 4, 5, 8, 10, 11, 17, 21, 22))) //Errors which have 1 arg + { + return $langs->trans("ErrorPriceExpression".$code, $info); + } + else if (in_array($code, array(6, 23))) //Errors which have 2 args + { + return $langs->trans("ErrorPriceExpression".$code, $info[0], $info[1]); + } + else if (in_array($code, array(7, 12, 13, 15, 16, 18))) //Internal errors + { + return $langs->trans("ErrorPriceExpressionInternal", $code); + } + else //Unknown errors + { + return $langs->trans("ErrorPriceExpressionUnknown", $code); + } + } + + /** + * Calculates price based on expression + * + * @param Product $product The Product object to get information + * @param String $expression The expression to parse + * @param array $values Strings to replaces + * @return int > 0 if OK, < 1 if KO + */ + public function parseExpression($product, $expression, $values) + { + global $user; + //Accessible product values by expressions + $values = array_merge($values, array( + "tva_tx" => $product->tva_tx, + "localtax1_tx" => $product->localtax1_tx, + "localtax2_tx" => $product->localtax2_tx, + "weight" => $product->weight, + "length" => $product->length, + "surface" => $product->surface, + "price_min" => $product->price_min, + )); + + //Retrieve all extrafield for product and add it to values + $extrafields = new ExtraFields($this->db); + $extralabels = $extrafields->fetch_name_optionals_label('product', true); + $product->fetch_optionals($product->id, $extralabels); + foreach ($extrafields->attribute_label as $key=>$label) + { + $values["extrafield_".$key] = $product->array_options['options_'.$key]; + } + + //Process any pending updaters + $price_updaters = new PriceGlobalVariableUpdater($this->db); + foreach ($price_updaters->listPendingUpdaters() as $entry) { + //Schedule the next update by adding current timestamp (secs) + interval (mins) + $entry->update_next_update(dol_now() + ($entry->update_interval * 60), $user); + //Do processing + $res = $entry->process(); + //Store any error or clear status if OK + $entry->update_status($res < 1?$entry->error:'', $user); + } + + //Get all global values + $price_globals = new PriceGlobalVariable($this->db); + foreach ($price_globals->listGlobalVariables() as $entry) + { + $values["global_".$entry->code] = $entry->value; + } + + //Check if empty + $expression = trim($expression); + if (empty($expression)) + { + $this->error = array(20, null); + return -2; + } + + //Prepare the lib, parameters and values + $em = new EvalMath(); + $em->suppress_errors = true; //Don't print errors on page + $this->error_expr = null; + $last_result = null; + + //Iterate over each expression splitted by $separator_chr + $expression = str_replace("\n", $this->separator_chr, $expression); + foreach ($values as $key => $value) + { + $expression = str_replace($this->special_chr.$key.$this->special_chr, "$value", $expression); + } + $expressions = explode($this->separator_chr, $expression); + $expressions = array_slice($expressions, 0, $this->limit); + foreach ($expressions as $expr) { + $expr = trim($expr); + if (!empty($expr)) + { + $last_result = $em->evaluate($expr); + $this->error = $em->last_error_code; + if ($this->error !== null) { //$em->last_error is null if no error happened, so just check if error is not null + $this->error_expr = $expr; + return -3; + } + } + } + $vars = $em->vars(); + if (empty($vars["price"])) { + $vars["price"] = $last_result; + } + if (!isset($vars["price"])) + { + $this->error = array(21, $expression); + return -4; + } + if ($vars["price"] < 0) + { + $this->error = array(22, $expression); + return -5; + } + return $vars["price"]; + } + + /** + * Calculates product price based on product id and string expression + * + * @param Product $product The Product object to get information + * @param string $expression The expression to parse + * @param array $extra_values Any aditional values for expression + * @return int > 0 if OK, < 1 if KO + */ + public function parseProductExpression($product, $expression, $extra_values = array()) + { + //Get the supplier min + $productFournisseur = new ProductFournisseur($this->db); + $supplier_min_price = $productFournisseur->find_min_price_product_fournisseur($product->id); + + //Accessible values by expressions + $extra_values = array_merge($extra_values, array( + "supplier_min_price" => $supplier_min_price, + )); + + //Parse the expression and return the price, if not error occurred check if price is higher than min + $result = $this->parseExpression($product, $expression, $extra_values); + if (empty($this->error)) { + if ($result < $product->price_min) { + $result = $product->price_min; + } + } + return $result; + } + + /** + * Calculates product price based on product id and expression id + * + * @param Product $product The Product object to get information + * @param array $extra_values Any aditional values for expression + * @return int > 0 if OK, < 1 if KO + */ + public function parseProduct($product, $extra_values = array()) + { + //Get the expression from db + $price_expression = new PriceExpression($this->db); + $res = $price_expression->fetch($product->fk_price_expression); + if ($res < 1) { + $this->error = array(19, null); + return -1; + } + + //Parse the expression and return the price + return $this->parseProductExpression($product, $price_expression->expression, $extra_values); + } + + /** + * Calculates supplier product price based on product id and string expression + * + * @param int $product_id The Product id to get information + * @param string $expression The expression to parse + * @param int $quantity Supplier Min quantity + * @param int $tva_tx Supplier VAT rate + * @param array $extra_values Any aditional values for expression + * @return int > 0 if OK, < 1 if KO + */ + public function parseProductSupplierExpression($product_id, $expression, $quantity = null, $tva_tx = null, $extra_values = array()) + { + //Get the product data + $product = new ProductFournisseur($this->db); + $product->fetch($product_id, '', '', 1); + + //Accessible values by expressions + $extra_values = array_merge($extra_values, array( + "supplier_quantity" => $quantity, + "supplier_tva_tx" => $tva_tx, + )); + return $this->parseExpression($product, $expression, $extra_values); + } + + /** + * Calculates supplier product price based on product id and expression id + * + * @param int $product_id The Product id to get information + * @param int $expression_id The expression to parse + * @param int $quantity Min quantity + * @param int $tva_tx VAT rate + * @param array $extra_values Any aditional values for expression + * @return int > 0 if OK, < 1 if KO + */ + public function parseProductSupplier($product_id, $expression_id, $quantity = null, $tva_tx = null, $extra_values = array()) + { + //Get the expression from db + $price_expression = new PriceExpression($this->db); + $res = $price_expression->fetch($expression_id); + if ($res < 1) { + $this->error = array(19, null); + return -1; + } + + //Parse the expression and return the price + return $this->parseProductSupplierExpression($product_id, $price_expression->expression, $quantity, $tva_tx, $extra_values); + } +} \ No newline at end of file diff --git a/htdocs/product/dynamic_price/editor.php b/htdocs/product/dynamic_price/editor.php new file mode 100644 index 00000000000..e05ad53a27e --- /dev/null +++ b/htdocs/product/dynamic_price/editor.php @@ -0,0 +1,239 @@ + + * + * 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/product/expression/editor.php + * \ingroup product + * \brief Page for editing expression + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_expression.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_global_variable.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; + +$langs->load("products"); +$langs->load("accountancy"); //"Back" translation is on this file + +$id = GETPOST('id', 'int'); +$eid = GETPOST('eid', 'int'); +$action = GETPOST('action', 'alpha'); +$title = GETPOST('expression_title', 'alpha'); +$expression = GETPOST('expression'); +$tab = GETPOST('tab', 'alpha'); +$tab = (!empty($tab)) ? $tab : 'card'; +$tab = strtolower($tab); + +// Security check +$result=restrictedArea($user,'produit|service&fournisseur',$id,'product&product','','','rowid'); + +//Initialize objects +$product = new Product($db); +$product->fetch($id, ''); + +$price_expression = new PriceExpression($db); +$price_globals = new PriceGlobalVariable($db); + +//Fetch expression data +if (empty($eid)) //This also disables fetch when eid == 0 +{ + $eid = 0; +} +else if ($action != 'delete') +{ + $price_expression->fetch($eid); +} + +/* + * Actions + */ + +if ($action == 'add') +{ + if ($eid == 0) + { + $result = $price_expression->find_title($title); + if ($result == 0) //No existing entry found with title, ok + { + //Check the expression validity by parsing it + $priceparser = new PriceParser($db); + $price_result = $priceparser->parseProductSupplierExpression($id, $expression, 0, 0); + if ($price_result < 0) { //Expression is not valid + setEventMessage($priceparser->translatedError(), 'errors'); + } + else + { + $price_expression->title = $title; + $price_expression->expression = $expression; + $result = $price_expression->create($user); + if ($result > 0) //created successfully, set the eid to newly created entry + { + $eid = $price_expression->id; + setEventMessage($langs->trans("RecordSaved")); + } + else + { + setEventMessage("add: ".$price_expression->error, 'errors'); + } + } + } + else if ($result < 0) + { + setEventMessage("add find: ".$price_expression->error, 'errors'); + } + else + { + setEventMessage($langs->trans("ErrorRecordAlreadyExists"), 'errors'); + } + } +} + +if ($action == 'update') +{ + if ($eid != 0) + { + $result = $price_expression->find_title($title); + if ($result == 0 || $result == $eid) //No existing entry found with title or existing one is the current one, ok + { + //Check the expression validity by parsing it + $priceparser = new PriceParser($db); + $price_result = $priceparser->parseProductSupplierExpression($id, $expression, 0, 0); + if ($price_result < 0) { //Expression is not valid + setEventMessage($priceparser->translatedError(), 'errors'); + } + else + { + $price_expression->id = $eid; + $price_expression->title = $title; + $price_expression->expression = $expression; + $result = $price_expression->update($user); + if ($result < 0) + { + setEventMessage("update: ".$price_expression->error, 'errors'); + } + else + { + setEventMessage($langs->trans("RecordSaved")); + } + } + } + else if ($result < 0) + { + setEventMessage("update find: ".$price_expression->error, 'errors'); + } + else + { + setEventMessage($langs->trans("ErrorRecordAlreadyExists"), 'errors'); + } + } +} + +if ($action == 'delete') +{ + if ($eid != 0) + { + $result = $price_expression->delete($eid, $user); + if ($result < 0) + { + setEventMessage("delete: ".$price_expression->error, 'errors'); + } + $eid = 0; + } +} + +/* + * View + */ + +//Header +llxHeader("","",$langs->trans("CardProduct".$product->type)); +print_fiche_titre($langs->trans("PriceExpressionEditor")); +$form = new Form($db); + +//Form/Table +print '
'; +print ''; +print ''; +print ''; + +// Price expression selector +print ''; + +// Title input +print ''; + +//Help text +$help_text = $langs->trans("PriceExpressionEditorHelp1"); +$help_text.= '

'.$langs->trans("PriceExpressionEditorHelp2"); +$help_text.= '

'.$langs->trans("PriceExpressionEditorHelp3"); +$help_text.= '

'.$langs->trans("PriceExpressionEditorHelp4"); +$help_text.= '

'.$langs->trans("PriceExpressionEditorHelp5"); +foreach ($price_globals->listGlobalVariables() as $entry) { + $help_text.= '
#globals_'.$entry->code.'# '.$entry->description.' = '.$entry->value; +} + +//Price expression editor +print ''; +print '
'.$langs->trans("PriceExpressionSelected").''; +$price_expression_list = array(0 => $langs->trans("New")); //Put the new as first option +foreach ($price_expression->list_price_expression() as $entry) { + $price_expression_list[$entry->id] = $entry->title; +} +print $form->selectarray('expression_selection', $price_expression_list, $eid); +print '
'.$langs->trans("Name").''; +print ''; +print '
'.$form->textwithpicto($langs->trans("PriceExpressionEditor"),$help_text,1).''; +require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; +$doleditor=new DolEditor('expression',isset($price_expression->expression)?$price_expression->expression:'','',300,'','',false,false,false,4,80); +$doleditor->Create(); +print '
'; + +//Buttons +print '
'; +print ''; +print ''.$langs->trans("Back").''; +if ($eid == 0) +{ + print '
'.$langs->trans('Delete').'
'."\n"; +} +else +{ + print ''; +} +print '
'; + +print '
'; + +// This code reloads the page depending of selected option, goes to page selected by tab when back is pressed +print ''; + +llxFooter(); +$db->close(); diff --git a/htdocs/product/fournisseurs.php b/htdocs/product/fournisseurs.php index c59be00c071..fe715801f11 100644 --- a/htdocs/product/fournisseurs.php +++ b/htdocs/product/fournisseurs.php @@ -5,6 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2010-2012 Juanjo Menent * Copyright (C) 2012 Christophe Battarel + * Copyright (C) 2014 Ion Agorria * * 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 @@ -30,6 +31,8 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_expression.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; $langs->load("products"); $langs->load("suppliers"); @@ -40,6 +43,7 @@ $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); $rowid=GETPOST('rowid','int'); $action=GETPOST('action', 'alpha'); +$cancel=GETPOST('cancel', 'alpha'); $socid=GETPOST('socid', 'int'); $backtopage=GETPOST('backtopage','alpha'); $error=0; @@ -74,11 +78,14 @@ if (! $sortorder) $sortorder="ASC"; * Actions */ +if ($cancel) $action=''; + $parameters=array('socid'=>$socid, 'id_prod'=>$id); $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); -if (empty($reshook)) { +if (empty($reshook)) +{ if ($action == 'remove_pf') { $product = new ProductFournisseur($db); @@ -93,7 +100,7 @@ if (empty($reshook)) { } } - if ($action == 'updateprice' && GETPOST('cancel') <> $langs->trans("Cancel")) + if ($action == 'updateprice') { $id_fourn=GETPOST("id_fourn"); if (empty($id_fourn)) $id_fourn=GETPOST("search_id_fourn"); @@ -104,31 +111,51 @@ if (empty($reshook)) { $npr = preg_match('/\*/', $_POST['tva_tx']) ? 1 : 0 ; $tva_tx = str_replace('*','', GETPOST('tva_tx','alpha')); $tva_tx = price2num($tva_tx); + $price_expression = GETPOST('eid', 'int') ? GETPOST('eid', 'int') : ''; // Discard expression if not in expression mode + $delivery_time_days = GETPOST('delivery_time_days', 'int') ? GETPOST('delivery_time_days', 'int') : ''; if ($tva_tx == '') { $error++; + $langs->load("errors"); setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("VATRateForSupplierProduct")), 'errors'); } + if (! is_numeric($tva_tx)) + { + $error++; + $langs->load("errors"); + setEventMessage($langs->trans("ErrorFieldMustBeANumeric",'eeee'), 'errors'); + } if (empty($quantity)) { $error++; + $langs->load("errors"); setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Qty")), 'errors'); } if (empty($ref_fourn)) { $error++; + $langs->load("errors"); setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("RefSupplier")), 'errors'); } if ($id_fourn <= 0) { $error++; + $langs->load("errors"); setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Supplier")), 'errors'); } if ($_POST["price"] < 0 || $_POST["price"] == '') { - $error++; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Price")), 'errors'); + if ($price_expression === '') // Return error of missing price only if price_expression not set + { + $error++; + $langs->load("errors"); + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentities("Price")), 'errors'); + } + else + { + $_POST["price"] = 0; + } } $product = new ProductFournisseur($db); @@ -136,7 +163,7 @@ if (empty($reshook)) { if ($result <= 0) { $error++; - setEventMessage($product->error, 'errors'); + setEventMessages($product->error, $product->errors, 'errors'); } if (! $error) @@ -169,11 +196,33 @@ if (empty($reshook)) { if (isset($_POST['ref_fourn_price_id'])) $product->fetch_product_fournisseur_price($_POST['ref_fourn_price_id']); - $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, $npr); + $ret=$product->update_buyprice($quantity, $_POST["price"], $user, $_POST["price_base_type"], $supplier, $_POST["oselDispo"], $ref_fourn, $tva_tx, $_POST["charges"], $remise_percent, 0, $npr, $delivery_time_days); if ($ret < 0) { + $error++; - setEventMessage($product->error, 'errors'); + setEventMessage($product->error, $product->errors, 'errors'); + } + else + { + if ($price_expression !== '') + { + //Check the expression validity by parsing it + $priceparser = new PriceParser($db); + $price_result = $priceparser->parseProductSupplier($id, $price_expression, $quantity, $tva_tx); + if ($price_result < 0) { //Expression is not valid + $error++; + setEventMessage($priceparser->translatedError(), 'errors'); + } + } + if (! $error && ! empty($conf->dynamicprices->enabled)) { + $ret=$product->setPriceExpression($price_expression); + if ($ret < 0) + { + $error++; + setEventMessage($product->error, 'errors'); + } + } } } @@ -187,13 +236,10 @@ if (empty($reshook)) { $db->rollback(); } } - } - - if (GETPOST('cancel') == $langs->trans("Cancel")) - { - $action = ''; - header("Location: fournisseurs.php?id=".$_GET["id"]); - exit; + else + { + $action = 'add_price'; + } } } @@ -218,13 +264,9 @@ if ($id || $ref) { if ($action <> 'edit' && $action <> 're-edit') { - /* - * En mode visu - */ - - $head=product_prepare_head($product, $user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type== Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'suppliers', $titre, 0, $picto); @@ -238,7 +280,7 @@ if ($id || $ref) print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("Label").''.$product->label.'
'.$langs->trans("BuyingPriceMin").'
'.$langs->trans("PriceMode").''; + $price_expression = new PriceExpression($db); + $price_expression_list = array(0 => $langs->trans("PriceNumeric")); //Put the numeric mode as first option + foreach ($price_expression->list_price_expression() as $entry) { + $price_expression_list[$entry->id] = $entry->title; + } + $price_expression_preselection = GETPOST('eid') ? GETPOST('eid') : ($product->fk_supplier_price_expression ? $product->fk_supplier_price_expression : '0'); + print $form->selectarray('eid', $price_expression_list, $price_expression_preselection); + print ' 
'.$langs->trans("PriceExpressionEditor").'
'; + print '
'.$langs->trans("PriceQtyMin").''; print ' '; - print $form->select_PriceBaseType((GETPOST('price_base_type')?GETPOST('price_base_type'):$product->price_base_type), "price_base_type"); + print $form->selectPriceBaseType((GETPOST('price_base_type')?GETPOST('price_base_type'):$product->price_base_type), "price_base_type"); print '
'.$langs->trans('NbDaysToDelivery').' '.$langs->trans('days').'
'; - print '
'; + print '
'; + print ''; print '   '; - print '
'; + print ''; + print '
'; print ''; } - /* ************************************************************************** */ - /* */ - /* Barre d'action */ - /* */ - /* ************************************************************************** */ + // Actions buttons print "\n
\n"; if ($action != 'add_price' && $action != 'updateprice') { - if ($user->rights->produit->creer || $user->rights->service->creer) + $parameters=array(); + $reshook=$hookmanager->executeHooks('addMoreActionsButtons',$parameters,$object,$action); // Note that $action and $object may have been modified by hook + if (empty($reshook)) { - print ''; - print $langs->trans("AddSupplierPrice").''; + if ($user->rights->produit->creer || $user->rights->service->creer) + { + print ''; + print $langs->trans("AddSupplierPrice").''; + } } } @@ -441,24 +528,20 @@ if ($id || $ref) $param="&id=".$product->id; print ''; print_liste_field_titre($langs->trans("Suppliers"),$_SERVER["PHP_SELF"],"s.nom","",$param,"",$sortfield,$sortorder); - print ''.$langs->trans("SupplierRef").''; + print_liste_field_titre($langs->trans("SupplierRef")); if (!empty($conf->global->FOURN_PRODUCT_AVAILABILITY)) print_liste_field_titre($langs->trans("Availability"),$_SERVER["PHP_SELF"],"pfp.fk_availability","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("QtyMin"),$_SERVER["PHP_SELF"],"pfp.quantity","",$param,'align="right"',$sortfield,$sortorder); - print ''.$langs->trans("VATRate").''; - print ''.$langs->trans("PriceQtyMinHT").''; - // Charges ???? - if ($conf->global->PRODUCT_CHARGES) - { - if (! empty($conf->margin->enabled)) print ''.$langs->trans("Charges").''; - } + print_liste_field_titre($langs->trans("VATRate")); + print_liste_field_titre($langs->trans("PriceQtyMinHT")); print_liste_field_titre($langs->trans("UnitPriceHT"),$_SERVER["PHP_SELF"],"pfp.unitprice","",$param,'align="right"',$sortfield,$sortorder); - print ''.$langs->trans("DiscountQtyMin").''; + print_liste_field_titre($langs->trans("DiscountQtyMin")); + print_liste_field_titre($langs->trans("NbDaysToDelivery"),$_SERVER["PHP_SELF"],"pfp.delivery_time_days","",$param,'align="right"',$sortfield,$sortorder); // Charges ???? if ($conf->global->PRODUCT_CHARGES) { - if (! empty($conf->margin->enabled)) print ''.$langs->trans("UnitCharges").''; + if (! empty($conf->margin->enabled)) print_liste_field_titre($langs->trans("UnitCharges")); } - print ''; + print_liste_field_titre(''); print "\n"; $product_fourn = new ProductFournisseur($db); @@ -524,6 +607,11 @@ if ($id || $ref) print price2num($productfourn->fourn_remise_percent).'%'; print ''; + // Delivery delay + print ''; + print $productfourn->delivery_time_days; + print ''; + // Charges ???? if ($conf->global->PRODUCT_CHARGES) { diff --git a/htdocs/product/index.php b/htdocs/product/index.php index 4af7772f290..b00ed56166d 100644 --- a/htdocs/product/index.php +++ b/htdocs/product/index.php @@ -1,8 +1,9 @@ - * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2014 Charles-Fr BENKE + * Copyright (C) 2015 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 @@ -27,6 +28,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; $type=GETPOST("type",'int'); if ($type =='' && !$user->rights->produit->lire) $type='1'; // Force global page on service page only @@ -66,7 +68,8 @@ if ((isset($_GET["type"]) && $_GET["type"] == 1) || empty($conf->product->enable llxHeader("",$langs->trans("ProductsAndServices"),$helpurl); -print_fiche_titre($transAreaType); +$linkback=""; +print_fiche_titre($transAreaType,$linkback,'title_products.png'); print '
'; @@ -232,7 +235,8 @@ print '
'; * Last modified products */ $max=15; -$sql = "SELECT p.rowid, p.label, p.price, p.ref, p.fk_product_type, p.tosell, p.tobuy,"; +$sql = "SELECT p.rowid, p.label, p.price, p.ref, p.fk_product_type, p.tosell, p.tobuy, p.fk_price_expression,"; +$sql.= " p.entity,"; $sql.= " p.tms as datem"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; $sql.= " WHERE p.entity IN (".getEntity($product_static->element, 1).")"; @@ -288,7 +292,9 @@ if ($result) print ''; $product_static->id=$objp->rowid; $product_static->ref=$objp->ref; + $product_static->label = $objp->label; $product_static->type=$objp->fk_product_type; + $product_static->entity = $objp->entity; print $product_static->getNomUrl(1,'',16); print "\n"; print ''.dol_trunc($objp->label,32).''; @@ -298,9 +304,17 @@ if ($result) // Sell price if (empty($conf->global->PRODUIT_MULTIPRICES)) { + if (!empty($objp->fk_price_expression)) { + $product = new Product($db); + $product->fetch($objp->rowid); + $priceparser = new PriceParser($db); + $price_result = $priceparser->parseProduct($product); + if ($price_result >= 0) { + $objp->price = $price_result; + } + } print ''; - if ($objp->price_base_type == 'TTC') print price($objp->price_ttc).' '.$langs->trans("TTC"); - else print price($objp->price).' '.$langs->trans("HT"); + print price($objp->price).' '.$langs->trans("HT"); print ''; } print ''; @@ -313,7 +327,7 @@ if ($result) $i++; } - $db->free(); + $db->free($result); print ""; } @@ -341,8 +355,12 @@ llxFooter(); $db->close(); - - +/* + * Print html activity for product type + * + * @param int $product_type Type of product + * @return void + */ function activitytrim($product_type) { global $conf,$langs,$db; @@ -359,7 +377,7 @@ function activitytrim($product_type) $sql.= " AND pf.fk_facture = f.rowid"; $sql.= " AND pf.fk_paiement= p.rowid"; $sql.= " AND fd.product_type=".$product_type; - $sql.= " AND s.entity = ".$conf->entity; + $sql.= " AND s.entity IN (".getEntity('societe', 1).")"; $sql.= " AND p.datep >= '".$db->idate(dol_get_first_day($yearofbegindate),1)."'"; $sql.= " GROUP BY annee, mois "; $sql.= " ORDER BY annee, mois "; @@ -367,7 +385,6 @@ function activitytrim($product_type) $result = $db->query($sql); if ($result) { - //$tmpyear=$beginyear; // FIXME $beginyear is not defined $tmpyear=0; $trim1=0; $trim2=0; diff --git a/htdocs/product/list.php b/htdocs/product/list.php index b5caf210904..c7e0da02de3 100644 --- a/htdocs/product/list.php +++ b/htdocs/product/list.php @@ -1,14 +1,15 @@ - * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2012-2013 Marcos García - * Copyright (C) 2013 Juanjo Menent - * Copyright (C) 2013 Raphaël Doursenaud - * Copyright (C) 2013 Jean Heimburger - * Copyright (C) 2013 Cédric Salvador - * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013 Adolfo segura +/* Copyright (C) 2001-2006 Rodolphe Quiedeville + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012-2013 Marcos García + * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2013-2015 Raphaël Doursenaud + * Copyright (C) 2013 Jean Heimburger + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2013 Florian Henry + * Copyright (C) 2013 Adolfo segura + * Copyright (C) 2015 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 @@ -239,7 +240,7 @@ else $param.=($search_categ?"&search_categ=".$search_categ:""); $param.=isset($type)?"&type=".$type:""; - print_barre_liste($texte, $page, "list.php", $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords); + print_barre_liste($texte, $page, "list.php", $param, $sortfield, $sortorder, '', $num, $nbtotalofrecords,'title_products.png'); if (! empty($catid)) { @@ -291,7 +292,7 @@ else if (! empty($conf->categorie->enabled)) { $moreforfilter.=$langs->trans('Categories'). ': '; - $moreforfilter.=$htmlother->select_categories(0,$search_categ,'search_categ',1); + $moreforfilter.=$htmlother->select_categories(Categorie::TYPE_PRODUCT,$search_categ,'search_categ',1); $moreforfilter.='       '; } if ($moreforfilter) @@ -309,14 +310,22 @@ else if (! empty($conf->barcode->enabled)) print_liste_field_titre($langs->trans("BarCode"), $_SERVER["PHP_SELF"], "p.barcode",$param,'','',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateModification"), $_SERVER["PHP_SELF"], "p.tms",$param,"",'align="center"',$sortfield,$sortorder); if (! empty($conf->service->enabled) && $type != 0) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder); - if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre($langs->trans("SellingPrice"), $_SERVER["PHP_SELF"], "p.price",$param,"",'align="right"',$sortfield,$sortorder); + if (empty($conf->global->PRODUIT_MULTIPRICES)) + { + $titlefield=$langs->trans("SellingPrice"); + if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) + { + $titlefields=$form->textwithpicto($langs->trans("SellingPrice"), $langs->trans("DefaultPriceRealPriceMayDependOnCustomer")); + } + print_liste_field_titre($titlefields, $_SERVER["PHP_SELF"], "p.price",$param,"",'align="right"',$sortfield,$sortorder); + } if ($user->rights->fournisseur->lire) print ''.$langs->trans("BuyingPriceMinShort").''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''.$langs->trans("DesiredStock").''; if (! empty($conf->stock->enabled) && $user->rights->stock->lire && $type != 1) print ''.$langs->trans("PhysicalStock").''; print_liste_field_titre($langs->trans("Sell"), $_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="center"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Buy"), $_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="center"',$sortfield,$sortorder); - print ' '; - print "\n"; + print_liste_field_titre(''); + print "\n"; // Lignes des champs de filtre print ''; @@ -349,8 +358,7 @@ else // Sell price if (empty($conf->global->PRODUIT_MULTIPRICES)) { - print ''; - print ' '; + print ''; print ''; } @@ -420,6 +428,7 @@ else print ''; $product_static->id = $objp->rowid; $product_static->ref = $objp->ref; + $product_static->label = $objp->label; $product_static->type = $objp->fk_product_type; print $product_static->getNomUrl(1,'',24); print "\n"; @@ -475,8 +484,11 @@ else { if ($product_fourn->product_fourn_price_id > 0) { - $htmltext=$product_fourn->display_price_product_fournisseur(); - if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire) print $form->textwithpicto(price($product_fourn->fourn_unitprice).' '.$langs->trans("HT"),$htmltext); + if (! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->lire) + { + $htmltext=$product_fourn->display_price_product_fournisseur(1, 1, 0, 1); + print $form->textwithpicto(price($product_fourn->fourn_unitprice).' '.$langs->trans("HT"),$htmltext); + } else print price($product_fourn->fourn_unitprice).' '.$langs->trans("HT"); } } diff --git a/htdocs/product/photos.php b/htdocs/product/photos.php deleted file mode 100644 index 0ae65a7dec6..00000000000 --- a/htdocs/product/photos.php +++ /dev/null @@ -1,215 +0,0 @@ - - * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2012 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/product/photos.php - * \ingroup product - * \brief Onglet photos de la fiche produit - */ - -require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; - -$langs->load("products"); -$langs->load("bills"); - -$id = GETPOST('id', 'int'); -$ref = GETPOST('ref', 'alpha'); -$action = GETPOST('action', 'alpha'); -$confirm = GETPOST('confirm', 'alpha'); - -// Security check -$fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); -$fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); - -$mesg = ''; - -$object = new Product($db); -if ($id > 0 || ! empty($ref)) -{ - $result = $object->fetch($id, $ref); - $dir = (! empty($conf->product->multidir_output[$object->entity])?$conf->product->multidir_output[$object->entity]:$conf->service->multidir_output[$object->entity]); -} - - -/* - * Actions - */ - -if (isset($_FILES['userfile']) && $_FILES['userfile']['size'] > 0 && GETPOST('sendit') && ! empty($conf->global->MAIN_UPLOAD_DOC)) -{ - if ($object->id) - { - if (image_format_supported($_FILES['userfile']['name']) >= 1) - { - $result = $object->add_photo($dir, $_FILES['userfile']); - if ($result > 0) setEventMessage($langs->trans("FileUploaded")); - else setEventMessage($langs->trans("FileNotUploaded"), 'errors'); - } - else - { - $langs->load("errors"); - setEventMessage($langs->trans("ErrorBadImageFormat"), 'errors'); - } - } -} - -if ($action == 'confirm_delete' && $_GET["file"] && $confirm == 'yes' && ($user->rights->produit->creer || $user->rights->service->creer)) -{ - $object->delete_photo($dir."/".$_GET["file"]); -} - -if ($action == 'addthumb' && $_GET["file"]) -{ - $object->add_thumb($dir."/".$_GET["file"]); -} - - -/* - * View - */ - -$form = new Form($db); - -if ($object->id) -{ - llxHeader("","",$langs->trans("CardProduct".$object->type)); - - /* - * En mode visu - */ - $head=product_prepare_head($object, $user); - $titre=$langs->trans("CardProduct".$object->type); - $picto=($object->type==1?'service':'product'); - dol_fiche_head($head, 'photos', $titre, 0, $picto); - - /* - * Confirmation de la suppression de photo - */ - if ($action == 'delete') - { - print $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&file='.$_GET["file"], $langs->trans('DeletePicture'), $langs->trans('ConfirmDeletePicture'), 'confirm_delete', '', 0, 1); - - } - - print($mesg); - - print ''; - - // Reference - print ''; - print ''; - print ''; - - // Libelle - print ''; - print ''; - - // Status (to sell) - print ''; - - // Status (to buy) - print ''; - - print "
'.$langs->trans("Ref").''; - print $form->showrefnav($object,'ref','',1,'ref'); - print '
'.$langs->trans("Label").''.$object->libelle.'
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $object->getLibStatut(2,0); - print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $object->getLibStatut(2,1); - print '
\n"; - - print "
\n"; - - - $permtoedit=0; - if ($user->rights->produit->creer && $object->type == 0) $permtoedit=1; - if ($user->rights->service->creer && $object->type == 1) $permtoedit=1; - if (empty($conf->global->MAIN_UPLOAD_DOC)) $permtoedit=0; - - /* ************************************************************************** */ - /* */ - /* Barre d'action */ - /* */ - /* ************************************************************************** */ -/* - print "\n
\n"; - - if ($action != 'ajout_photo' && ($user->rights->produit->creer || $user->rights->service->creer)) - { - if (! empty($conf->global->MAIN_UPLOAD_DOC)) - { - print 'id.'">'; - print $langs->trans("AddPhoto").''; - } - else - { - print 'e'; - print $langs->trans("AddPhoto").''; - } - } - - print "\n
\n"; -*/ - /* - * Add a photo - */ - if ($permtoedit) - { - // Show upload form - $formfile=new FormFile($db); - $formfile->form_attach_new_file($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans("AddPhoto"), 1, 0, $permtoedit, 50, $object, '', false, '', 0); // ajax=false for the moment. true may not work. - } - //else print $langs->trans("NoPermissionToAddOrEditPhoto").'

'; // TODO Add this - - // Affiche photos - if ($action != 'ajout_photo') - { - $nbphoto=0; - $nbbyrow=5; - - $maxWidth = 160; - $maxHeight = 120; - - print $object->show_photos($dir,1,1000,$nbbyrow,1,($permtoedit?1:0)); - - if ($object->nbphoto < 1) - { - print ''; - print ''; - print '
'; - print "
".$langs->trans("NoPhotoYet")."

"; - print '
'; - } - } -} -else -{ - print $langs->trans("ErrorUnknown"); -} - - -llxFooter(); -$db->close(); diff --git a/htdocs/product/popuprop.php b/htdocs/product/popuprop.php index 376647834b5..8f419aa3679 100644 --- a/htdocs/product/popuprop.php +++ b/htdocs/product/popuprop.php @@ -4,6 +4,7 @@ * Copyright (C) 2004 Eric Seigne * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Marcos García + * Copyright (C) 2015 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 @@ -74,7 +75,7 @@ else if ($type == '1') llxHeader('','',$helpurl); -print_fiche_titre($title, $mesg); +print_fiche_titre($title, $mesg,'title_products.png'); $param = ''; diff --git a/htdocs/product/price.php b/htdocs/product/price.php index 6992b1b5a99..915f1988843 100644 --- a/htdocs/product/price.php +++ b/htdocs/product/price.php @@ -2,11 +2,12 @@ /* Copyright (C) 2001-2007 Rodolphe Quiedeville * Copyright (C) 2004-2014 Laurent Destailleur * Copyright (C) 2005 Eric Seigne - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2014 Florian Henry * Copyright (C) 2014 Juanjo Menent * Copyright (C) 2014 Philippe Grand + * Copyright (C) 2014 Ion agorria * * 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 @@ -30,6 +31,8 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/dynamic_price/class/price_expression.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/dynamic_price/class/price_parser.class.php'; if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { require_once DOL_DOCUMENT_ROOT . '/product/class/productcustomerprice.class.php'; @@ -40,288 +43,329 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $langs->load("products"); $langs->load("bills"); +$mesg=''; $error=0; $errors=array(); + $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); $action = GETPOST('action', 'alpha'); +$cancel = GETPOST('cancel', 'alpha'); +$eid = GETPOST('eid', 'int'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) - $socid = $user->societe_id; +if ($user->societe_id) $socid = $user->societe_id; $result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); -$object = new Product($db); +if ($id > 0 || ! empty($ref)) +{ + $object = new Product($db); + $object->fetch($id, $ref); +} -$error=0; +// Clean param +if (! empty($conf->global->PRODUIT_MULTIPRICES) && empty($conf->global->PRODUIT_MULTIPRICES_LIMIT)) $conf->global->PRODUIT_MULTIPRICES_LIMIT = 5; + +// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array +$hookmanager->initHooks(array('productpricecard','globalcard')); /* * Actions */ -if ($action == 'update_price' && GETPOST("cancel")) +if ($cancel) $action=''; + +$parameters=array('id'=>$id, 'ref'=>$ref); +$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)) { - - $action=''; -} - -if ($action == 'update_price' && ! GETPOST("cancel") && ($user->rights->produit->creer || $user->rights->service->creer)) -{ - $result = $object->fetch($id); - - $error=0; - $maxpricesupplier = $object->min_recommended_price(); - - // MultiPrix - if (! empty($conf->global->PRODUIT_MULTIPRICES)) + if ($action == 'update_price' && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer)) { - $newprice = ''; - $newprice_min = ''; - $newpricebase = ''; - $newvat = ''; + $maxpricesupplier = $object->min_recommended_price(); + $object->fk_price_expression = empty($eid) ? 0 : $eid; //0 discards expression - for ($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) + // MultiPrix + if (! empty($conf->global->PRODUIT_MULTIPRICES)) { - if (isset($_POST ["price_" . $i])) + $newprice = ''; + $newprice_min = ''; + $newpricebase = ''; + $newvat = ''; + + for ($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) { - $level = $i; - $newprice = price2num($_POST ["price_" . $i], 'MU'); - $newprice_min = price2num($_POST ["price_min_" . $i], 'MU'); - $newpricebase = $_POST ["multiprices_base_type_" . $i]; - $newnpr = (preg_match('/\*/', $_POST ["tva_tx_" . $i]) ? 1 : 0); - $newvat = str_replace('*', '', $_POST ["tva_tx_" . $i]); - $newpsq = GETPOST('psqflag'); - $newpsq = empty($newpsq) ? 0 : $newpsq; - break; // We found submited price + if (isset($_POST ["price_" . $i])) + { + $level = $i; + $newprice = price2num($_POST ["price_" . $i], 'MU'); + $newprice_min = price2num($_POST ["price_min_" . $i], 'MU'); + $newpricebase = $_POST ["multiprices_base_type_" . $i]; + $newnpr = (preg_match('/\*/', $_POST ["tva_tx_" . $i]) ? 1 : 0); + $newvat = str_replace('*', '', $_POST ["tva_tx_" . $i]); + $newpsq = GETPOST('psqflag'); + $newpsq = empty($newpsq) ? 0 : $newpsq; + break; // We found submited price + } } } - } else { - $level = 0; - $newprice = price2num($_POST ["price"], 'MU'); - $newprice_min = price2num($_POST ["price_min"], 'MU'); - $newpricebase = $_POST ["price_base_type"]; - $newnpr = (preg_match('/\*/', $_POST ["tva_tx"]) ? 1 : 0); - $newvat = str_replace('*', '', $_POST ["tva_tx"]); - $newpsq = GETPOST('psqflag'); - $newpsq = empty($newpsq) ? 0 : $newpsq; - } - - if (! empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $newprice_min < $maxpricesupplier) - { - setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); - $error++; - $action='edit_price'; - } - - if ($object->updatePrice($newprice, $newpricebase, $user, $newvat, $newprice_min, $level, $newnpr, $newpsq) > 0) { - $action = ''; - setEventMessage($langs->trans("RecordSaved")); - } else { - $action = 'edit_price'; - setEventMessage($object->error, 'errors'); - } -} else if ($action == 'delete' && $user->rights->produit->supprimer) { - $result = $object->log_price_delete($user, $_GET ["lineid"]); - if ($result < 0) { - setEventMessage($object->error, 'errors'); - } -} - -/** - * *************************************************** - * Price by quantity - * *************************************************** - */ -$error = 0; -if ($action == 'activate_price_by_qty') { // Activating product price by quantity add a new price, specified as by quantity - $result = $object->fetch($id); - $level = GETPOST('level'); - - $object->updatePrice(0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1); -} - -if ($action == 'edit_price_by_qty') { // Edition d'un prix par quantité - $rowid = GETPOST('rowid'); -} - -if ($action == 'update_price_by_qty') { // Ajout / Mise à jour d'un prix par quantité - $result = $object->fetch($id); - - // Récupération des variables - $rowid = GETPOST('rowid'); - $priceid = GETPOST('priceid'); - $newprice = price2num(GETPOST("price"), 'MU'); - // $newminprice=price2num(GETPOST("price_min"),'MU'); // TODO : Add min price management - $quantity = GETPOST('quantity'); - $remise_percent = price2num(GETPOST('remise_percent')); - $remise = 0; // TODO : allow discount by amount when available on documents - - if (empty($quantity)) { - $error ++; - setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Qty")), 'errors'); - } - if (empty($newprice)) { - $error ++; - setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Price")), 'errors'); - } - if (! $error) { - // Calcul du prix HT et du prix unitaire - if ($object->price_base_type == 'TTC') { - $price = price2num($newprice) / (1 + ($object->tva_tx / 100)); + else + { + $level = 0; + $newprice = price2num($_POST ["price"], 'MU'); + $newprice_min = price2num($_POST ["price_min"], 'MU'); + $newpricebase = $_POST ["price_base_type"]; + $newnpr = (preg_match('/\*/', $_POST ["tva_tx"]) ? 1 : 0); + $newvat = str_replace('*', '', $_POST ["tva_tx"]); + $newpsq = GETPOST('psqflag'); + $newpsq = empty($newpsq) ? 0 : $newpsq; } - $price = price2num($newprice, 'MU'); - $unitPrice = price2num($price / $quantity, 'MU'); + if (! empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $newprice_min < $maxpricesupplier) + { + setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); + $error++; + $action='edit_price'; + } - // Ajout / mise à jour - if ($rowid > 0) { - $sql = "UPDATE " . MAIN_DB_PREFIX . "product_price_by_qty SET"; - $sql .= " price='" . $price . "',"; - $sql .= " unitprice=" . $unitPrice . ","; - $sql .= " quantity=" . $quantity . ","; - $sql .= " remise_percent=" . $remise_percent . ","; - $sql .= " remise=" . $remise; - $sql .= " WHERE rowid = " . GETPOST('rowid'); + if ($newprice < $newprice_min && ! empty($object->fk_price_expression)) + { + $newprice = $newprice_min; //Set price same as min, the user will not see the + } - $result = $db->query($sql); + if ($object->updatePrice($newprice, $newpricebase, $user, $newvat, $newprice_min, $level, $newnpr, $newpsq) > 0) + { + if ($object->fk_price_expression != 0) { + //Check the expression validity by parsing it + $priceparser = new PriceParser($db); + $price_result = $priceparser->parseProduct($object); + if ($price_result < 0) { //Expression is not valid + $error++; + $action='edit_price'; + setEventMessage($priceparser->translatedError(), 'errors'); + } + } + if (empty($error) && ! empty($conf->dynamicprices->enabled)) + { + $ret=$object->setPriceExpression($object->fk_price_expression); + if ($ret < 0) + { + $error++; + $action='edit_price'; + setEventMessage($object->error, 'errors'); + } + } + if (empty($error)) + { + $action = ''; + setEventMessage($langs->trans("RecordSaved")); + } } else { - $sql = "INSERT INTO " . MAIN_DB_PREFIX . "product_price_by_qty (fk_product_price,price,unitprice,quantity,remise_percent,remise) values ("; - $sql .= $priceid . ',' . $price . ',' . $unitPrice . ',' . $quantity . ',' . $remise_percent . ',' . $remise . ')'; - - $result = $db->query($sql); + $action = 'edit_price'; + setEventMessage($object->error, 'errors'); } } -} -if ($action == 'delete_price_by_qty') { - $rowid = GETPOST('rowid'); - - $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; - $sql .= " WHERE rowid = " . GETPOST('rowid'); - - $result = $db->query($sql); -} - -if ($action == 'delete_all_price_by_qty') { - $priceid = GETPOST('priceid'); - - $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; - $sql .= " WHERE fk_product_price = " . $priceid; - - $result = $db->query($sql); -} - -/** - * *************************************************** - * Price by customer - * **************************************************** - */ -if ($action == 'add_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - - $error=0; - $maxpricesupplier = $object->min_recommended_price(); - - $update_child_soc = GETPOST('updatechildprice'); - - $result = $object->fetch($id); - - // add price by customer - $prodcustprice->fk_soc = GETPOST('socid', 'int'); - $prodcustprice->fk_product = $object->id; - $prodcustprice->price = price2num(GETPOST("price"), 'MU'); - $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); - $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); - $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); - $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - - if (! empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $prodcustprice->price_min<$maxpricesupplier) + if ($action == 'delete' && $user->rights->produit->supprimer) { - setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); - $error++; - $action='add_customer_price'; + $result = $object->log_price_delete($user, $_GET ["lineid"]); + if ($result < 0) { + setEventMessage($object->error, 'errors'); + } } - if (! $error) + /** + * *************************************************** + * Price by quantity + * *************************************************** + */ + if ($action == 'activate_price_by_qty') { // Activating product price by quantity add a new price, specified as by quantity + + $level = GETPOST('level'); + + $object->updatePrice(0, $object->price_base_type, $user, $object->tva_tx, 0, $level, $object->tva_npr, 1); + } + + if ($action == 'edit_price_by_qty') + { // Edition d'un prix par quantité + $rowid = GETPOST('rowid'); + } + + if ($action == 'update_price_by_qty') + { // Ajout / Mise à jour d'un prix par quantité + + // Récupération des variables + $rowid = GETPOST('rowid'); + $priceid = GETPOST('priceid'); + $newprice = price2num(GETPOST("price"), 'MU'); + // $newminprice=price2num(GETPOST("price_min"),'MU'); // TODO : Add min price management + $quantity = GETPOST('quantity'); + $remise_percent = price2num(GETPOST('remise_percent')); + $remise = 0; // TODO : allow discount by amount when available on documents + + if (empty($quantity)) { + $error ++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Qty")), 'errors'); + } + if (empty($newprice)) { + $error ++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentities("Price")), 'errors'); + } + if (! $error) { + // Calcul du prix HT et du prix unitaire + if ($object->price_base_type == 'TTC') { + $price = price2num($newprice) / (1 + ($object->tva_tx / 100)); + } + + $price = price2num($newprice, 'MU'); + $unitPrice = price2num($price / $quantity, 'MU'); + + // Ajout / mise à jour + if ($rowid > 0) { + $sql = "UPDATE " . MAIN_DB_PREFIX . "product_price_by_qty SET"; + $sql .= " price='" . $price . "',"; + $sql .= " unitprice=" . $unitPrice . ","; + $sql .= " quantity=" . $quantity . ","; + $sql .= " remise_percent=" . $remise_percent . ","; + $sql .= " remise=" . $remise; + $sql .= " WHERE rowid = " . GETPOST('rowid'); + + $result = $db->query($sql); + } else { + $sql = "INSERT INTO " . MAIN_DB_PREFIX . "product_price_by_qty (fk_product_price,price,unitprice,quantity,remise_percent,remise) values ("; + $sql .= $priceid . ',' . $price . ',' . $unitPrice . ',' . $quantity . ',' . $remise_percent . ',' . $remise . ')'; + + $result = $db->query($sql); + } + } + } + + if ($action == 'delete_price_by_qty') { - $result = $prodcustprice->create($user, 0, $update_child_soc); + $rowid = GETPOST('rowid'); + + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; + $sql .= " WHERE rowid = " . GETPOST('rowid'); + + $result = $db->query($sql); + } + + if ($action == 'delete_all_price_by_qty') + { + $priceid = GETPOST('priceid'); + + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "product_price_by_qty"; + $sql .= " WHERE fk_product_price = " . $priceid; + + $result = $db->query($sql); + } + + /** + * *************************************************** + * Price by customer + * **************************************************** + */ + if ($action == 'add_customer_price_confirm' && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer)) { + + $maxpricesupplier = $object->min_recommended_price(); + + $update_child_soc = GETPOST('updatechildprice'); + + // add price by customer + $prodcustprice->fk_soc = GETPOST('socid', 'int'); + $prodcustprice->fk_product = $object->id; + $prodcustprice->price = price2num(GETPOST("price"), 'MU'); + $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); + $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); + $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); + $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); + + if (! empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE) && $prodcustprice->price_min<$maxpricesupplier) + { + setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); + $error++; + $action='add_customer_price'; + } + + if (! $error) + { + $result = $prodcustprice->create($user, 0, $update_child_soc); + + if ($result < 0) { + setEventMessage($prodcustprice->error, 'errors'); + } else { + setEventMessage($langs->trans('RecordSaved'), 'mesgs'); + } + + $action = ''; + } + } + + if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || $user->rights->service->supprimer)) + { + // Delete price by customer + $prodcustprice->id = GETPOST('lineid'); + $result = $prodcustprice->delete($user); if ($result < 0) { - setEventMessage($prodcustprice->error, 'errors'); + setEventMessage($prodcustprice->error, 'mesgs'); } else { - setEventMessage($langs->trans('Save'), 'mesgs'); + setEventMessage($langs->trans('RecordDeleted'), 'errors'); } - $action = ''; } -} -if ($action == 'delete_customer_price' && ($user->rights->produit->supprimer || $user->rights->service->supprimer)) { - // Delete price by customer - $prodcustprice->id = GETPOST('lineid'); - $result = $prodcustprice->delete($user); - - if ($result < 0) { - setEventMessage($prodcustprice->error, 'mesgs'); - } else { - setEventMessage($langs->trans('Delete'), 'errors'); - } - $action = ''; -} - -if ($action == 'update_customer_price_confirm' && ! $_POST ["cancel"] && ($user->rights->produit->creer || $user->rights->service->creer)) { - - $result = $object->fetch($id); - - $error=0; - $maxpricesupplier = $object->min_recommended_price(); - - $update_child_soc = GETPOST('updatechildprice'); - - $prodcustprice->fetch(GETPOST('lineid', 'int')); - - // update price by customer - $prodcustprice->price = price2num(GETPOST("price"), 'MU'); - $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); - $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); - $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); - $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); - - if ($prodcustprice->price_min<$maxpricesupplier && !empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE)) + if ($action == 'update_customer_price_confirm' && !$cancel && ($user->rights->produit->creer || $user->rights->service->creer)) { - setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); - $error++; - $action='update_customer_price'; - } + $maxpricesupplier = $object->min_recommended_price(); - if ( ! $error) - { - $result = $prodcustprice->update($user, 0, $update_child_soc); + $update_child_soc = GETPOST('updatechildprice'); - if ($result < 0) { - setEventMessage($prodcustprice->error, 'errors'); - } else { - setEventMessage($langs->trans('Save'), 'mesgs'); + $prodcustprice->fetch(GETPOST('lineid', 'int')); + + // update price by customer + $prodcustprice->price = price2num(GETPOST("price"), 'MU'); + $prodcustprice->price_min = price2num(GETPOST("price_min"), 'MU'); + $prodcustprice->price_base_type = GETPOST("price_base_type", 'alpha'); + $prodcustprice->tva_tx = str_replace('*', '', GETPOST("tva_tx")); + $prodcustprice->recuperableonly = (preg_match('/\*/', GETPOST("tva_tx")) ? 1 : 0); + + if ($prodcustprice->price_min<$maxpricesupplier && !empty($conf->global->PRODUCT_MINIMUM_RECOMMENDED_PRICE)) + { + setEventMessage($langs->trans("MinimumPriceLimit",price($maxpricesupplier,0,'',1,-1,-1,'auto')),'errors'); + $error++; + $action='update_customer_price'; } - $action = ''; + if ( ! $error) + { + $result = $prodcustprice->update($user, 0, $update_child_soc); + + if ($result < 0) { + setEventMessage($prodcustprice->error, 'errors'); + } else { + setEventMessage($langs->trans('Save'), 'mesgs'); + } + + $action = ''; + } } } + /* * View */ $form = new Form($db); -if (! empty($id) || ! empty($ref)) - $result = $object->fetch($id, $ref); - llxHeader("", "", $langs->trans("CardProduct" . $object->type)); -$head = product_prepare_head($object, $user); +$head = product_prepare_head($object); $titre = $langs->trans("CardProduct" . $object->type); -$picto = ($object->type == 1 ? 'service' : 'product'); +$picto = ($object->type == Product::TYPE_SERVICE ? 'service' : 'product'); dol_fiche_head($head, 'price', $titre, 0, $picto); print ''; @@ -334,7 +378,7 @@ print ''; print ''; // Label -print ''; +print ''; $isphoto = $object->is_photo_available($conf->product->multidir_output [$object->entity]); @@ -608,7 +652,8 @@ print ''; print "
' . $langs->trans("Label") . '' . $object->libelle . '
' . $langs->trans("Label") . '' . $object->label . '
\n"; -print "
\n"; +dol_fiche_end(); + /* ************************************************************************** */ /* */ @@ -616,7 +661,8 @@ print "
\n"; /* */ /* ************************************************************************** */ -if (! $action || $action == 'delete') { +if (! $action || $action == 'delete' || $action == 'showlog_customer_price' || $action == 'add_customer_price') +{ print "\n" . '
' . "\n"; if ($user->rights->produit->creer || $user->rights->service->creer) { @@ -629,10 +675,12 @@ if (! $action || $action == 'delete') { /* * Edition du prix */ -if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->service->creer)) { - print_fiche_titre($langs->trans("NewPrice"), '', ''); +if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights->service->creer)) +{ + print_fiche_titre($langs->trans("NewPrice"), ''); - if (empty($conf->global->PRODUIT_MULTIPRICES)) { + if (empty($conf->global->PRODUIT_MULTIPRICES)) + { print '
'; print ''; print ''; @@ -649,19 +697,55 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print $langs->trans('PriceBase'); print ''; print ''; - print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); + print $form->selectPriceBaseType($object->price_base_type, "price_base_type"); print ''; print ''; + //Only show price mode and expression selector if module is enabled + if (! empty($conf->dynamicprices->enabled)) { + // Price mode selector + print ''.$langs->trans("PriceMode").''; + $price_expression = new PriceExpression($db); + $price_expression_list = array(0 => $langs->trans("PriceNumeric")); //Put the numeric mode as first option + foreach ($price_expression->list_price_expression() as $entry) { + $price_expression_list[$entry->id] = $entry->title; + } + $price_expression_preselection = GETPOST('eid') ? GETPOST('eid') : ($object->fk_price_expression ? $object->fk_price_expression : '0'); + print $form->selectarray('eid', $price_expression_list, $price_expression_preselection); + print ' 
'.$langs->trans("PriceExpressionEditor").'
'; + print ''; + // This code hides the numeric price input if is not selected, loads the editor page if editor button is pressed + print ''; + } + // Price - print ''; + $product = new Product($db); + $product->fetch($id, $ref, '', 1); //Ignore the math expression when getting the price + print ''; $text = $langs->trans('SellingPrice'); print $form->textwithpicto($text, $langs->trans("PrecisionUnitIsLimitedToXDecimals", $conf->global->MAIN_MAX_DECIMALS_UNIT), 1, 1); print ''; if ($object->price_base_type == 'TTC') { - print ''; + print ''; } else { - print ''; + print ''; } print ''; @@ -682,12 +766,18 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> print ''; - print '

 '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; - } else { - for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) { + } + else + { + for($i = 1; $i <= $conf->global->PRODUIT_MULTIPRICES_LIMIT; $i ++) + { print '
'; print ''; print ''; @@ -713,7 +803,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> } else { print ''; } - print $form->select_PriceBaseType($object->multiprices_base_type ["$i"], "multiprices_base_type_" . $i); + print $form->selectPriceBaseType($object->multiprices_base_type ["$i"], "multiprices_base_type_" . $i); print ''; // Min price @@ -742,7 +832,7 @@ if ($action == 'edit_price' && ($user->rights->produit->creer || $user->rights-> // Liste des evolutions du prix $sql = "SELECT p.rowid, p.price, p.price_ttc, p.price_base_type, p.tva_tx, p.recuperableonly,"; $sql .= " p.price_level, p.price_min, p.price_min_ttc,p.price_by_qty,"; -$sql .= " p.date_price as dp, u.rowid as user_id, u.login"; +$sql .= " p.date_price as dp, p.fk_price_expression, u.rowid as user_id, u.login"; $sql .= " FROM " . MAIN_DB_PREFIX . "product_price as p,"; $sql .= " " . MAIN_DB_PREFIX . "user as u"; $sql .= " WHERE fk_product = " . $object->id; @@ -753,10 +843,12 @@ $sql .= " ORDER BY p.date_price DESC, p.price_level ASC, p.rowid DESC"; // $sql .= $db->plimit(); $result = $db->query($sql); -if ($result) { +if ($result) +{ $num = $db->num_rows($result); - if (! $num) { + if (! $num) + { $db->free($result); // Il doit au moins y avoir la ligne de prix initial. @@ -767,8 +859,9 @@ if ($result) { $num = $db->num_rows($result); } - if ($num > 0) { - print '
'; + if ($num > 0) + { + if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) print_fiche_titre($langs->trans("DefaultPrice"),'',''); print ''; @@ -786,6 +879,9 @@ if ($result) { print ''; print ''; print ''; + if (! empty($conf->dynamicprices->enabled)) { + print ''; + } print ''; print ''; print ''; @@ -795,7 +891,8 @@ if ($result) { $var = True; $i = 0; - while ($i < $num) { + while ($i < $num) + { $objp = $db->fetch_object($result); $var = ! $var; print ""; @@ -815,8 +912,25 @@ if ($result) { print '"; print '"; - print '"; - print '"; + + //Price + if (! empty($objp->fk_price_expression) && ! empty($conf->dynamicprices->enabled)) + { + $price_expression = new PriceExpression($db); + $res = $price_expression->fetch($objp->fk_price_expression); + $title = $price_expression->title; + print ''; + print ''; + print '"; + } + else + { + print '"; + print '"; + if (! empty($conf->dynamicprices->enabled)) { //Only if module is enabled + print ''; + } + } print ''; print ''; @@ -824,7 +938,8 @@ if ($result) { print ''; // Action - if ($user->rights->produit->supprimer) { + if ($user->rights->produit->supprimer) + { print ''; print ''; print ''; print ''; @@ -901,7 +1018,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $langs->trans('PriceBase'); print ''; print ''; print ''; @@ -943,12 +1060,16 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print '
' . $langs->trans("VAT") . '' . $langs->trans("HT") . '' . $langs->trans("TTC") . '' . $langs->trans("PriceExpressionSelected") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '' . $langs->trans("ChangedBy") . '
' . $langs->trans($objp->price_base_type) . "' . vatrate($objp->tva_tx, true, $objp->recuperableonly) . "' . price($objp->price) . "' . price($objp->price_ttc) . "' . $title . "' . price($objp->price) . "' . price($objp->price_ttc) . "' . price($objp->price_min) . '' . price($objp->price_min_ttc) . '' . img_object($langs->trans("ShowUser"), 'user') . ' ' . $objp->login . ''; if ($i > 0) { print 'id . '&lineid=' . $objp->rowid . '">'; @@ -846,8 +961,10 @@ if ($result) { dol_print_error($db); } -if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { +// Add area to show/add/edit a price for a dedicated customer +if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) +{ $prodcustprice = new Productcustomerprice($db); $sortfield = GETPOST("sortfield", 'alpha'); @@ -869,11 +986,11 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $search_soc = GETPOST('search_soc'); if (! empty($search_soc)) { - $filter ['soc.nom'] = $search_soc; + $filter['soc.nom'] = $search_soc; } - if ($action == 'add_customer_price') { - + if ($action == 'add_customer_price') + { // Create mode $maxpricesupplier = $object->min_recommended_price(); @@ -887,7 +1004,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print '
' . $langs->trans('ThirdParty') . ''; - print $form->select_company('', 'socid', 's.rowid NOT IN (SELECT fk_soc FROM ' . MAIN_DB_PREFIX . 'product_customer_price WHERE fk_product='.$object->id.')', 1); + print $form->select_company('', 'socid', 's.client in (1,2,3) AND s.rowid NOT IN (SELECT fk_soc FROM ' . MAIN_DB_PREFIX . 'product_customer_price WHERE fk_product='.$object->id.')', 1, 0, 0, array(), 0, 'minwidth300'); print '
'; - print $form->select_PriceBaseType($object->price_base_type, "price_base_type"); + print $form->selectPriceBaseType($object->price_base_type, "price_base_type"); print '
'; - print '

 '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; - } elseif ($action == 'edit_customer_price') { - + } + elseif ($action == 'edit_customer_price') + { // Edit mode $maxpricesupplier = $object->min_recommended_price(); @@ -981,7 +1102,7 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print $langs->trans('PriceBase'); print ''; print ''; - print $form->select_PriceBaseType($prodcustprice->price_base_type, "price_base_type"); + print $form->selectPriceBaseType($prodcustprice->price_base_type, "price_base_type"); print ''; print ''; @@ -1025,11 +1146,16 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { print ''; - print '

 '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print '
'; - } elseif ($action == 'showlog_customer_price') { + } + elseif ($action == 'showlog_customer_price') + { $filter = array('t.fk_product' => $object->id,'t.fk_soc' => GETPOST('socid', 'int')); @@ -1046,9 +1172,10 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $option = '&socid=' . GETPOST('socid', 'int') . '&id=' . $object->id; - print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); + print_barre_liste($langs->trans('PriceByCustomerLog'), $page, $_SERVEUR['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords, ''); - if (count($prodcustprice->lines) > 0) { + if (count($prodcustprice->lines) > 0) + { print '
'; print ''; @@ -1070,9 +1197,9 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $var = True; - foreach ($prodcustprice->lines as $line) { - - print ""; + foreach ($prodcustprice->lines as $line) + { + print ""; // Date $staticsoc = new Societe($db); $staticsoc->fetch($line->fk_soc); @@ -1100,10 +1227,11 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { } print "\n" . '
' . "\n"; - print ''; + print ''; print "\n

\n"; - } else { - + } + else + { // View mode // Count total nb of records @@ -1119,42 +1247,42 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { $option = '&search_soc=' . $search_soc . '&id=' . $object->id; - print_barre_liste($langs->trans('PriceByCustomer'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords); + print_barre_liste($langs->trans('PriceByCustomer'), $page, $_SERVEUR ['PHP_SELF'], $option, $sortfield, $sortorder, '', count($prodcustprice->lines), $nbtotalofrecords, ''); - if (count($prodcustprice->lines) > 0) { + print ''; + print ''; - print ''; - print ''; + print ''; - print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; + print ''; + print ''; + print ''; + // Print the search button + print ''; + print ''; - print ''; - print ''; - print ''; - // Print the search button - print ''; - print ''; + if (count($prodcustprice->lines) > 0) + { + $var = False; - $var = True; - - foreach ($prodcustprice->lines as $line) { - - print ""; + foreach ($prodcustprice->lines as $line) + { + print ""; // Date $staticsoc = new Societe($db); $staticsoc->fetch($line->fk_soc); @@ -1178,28 +1306,38 @@ if (! empty($conf->global->PRODUIT_CUSTOMER_PRICES)) { // Todo Edit or delete button // Action - if ($user->rights->produit->supprimer || $user->rights->service->supprimer) { + if ($user->rights->produit->supprimer || $user->rights->service->supprimer) + { print ''; } print "\n"; } - print "
' . $langs->trans("ThirdParty") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("PriceBase") . '' . $langs->trans("VAT") . '' . $langs->trans("HT") . '' . $langs->trans("TTC") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '' . $langs->trans("ChangedBy") . ' 
' . $langs->trans("ThirdParty") . '' . $langs->trans("AppliedPricesFrom") . '' . $langs->trans("PriceBase") . '' . $langs->trans("VAT") . '' . $langs->trans("HT") . '' . $langs->trans("TTC") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("HT") . '' . $langs->trans("MinPrice") . ' ' . $langs->trans("TTC") . '' . $langs->trans("ChangedBy") . ' 
 '; + print ''; + print '
 '; - print ''; - print '
'; - print 'id . '&lineid=' . $line->id . '">'; - print img_delete(); - print ''; - print 'id . '&lineid=' . $line->id . '">'; - print img_edit(); - print ''; print 'id . '&socid=' . $line->fk_soc . '">'; print img_info(); print ''; + print ' '; + print 'id . '&lineid=' . $line->id . '">'; + print img_edit('default', 0, 'style="vertical-align: middle;"'); + print ''; + print ' '; + print 'id . '&lineid=' . $line->id . '">'; + print img_delete('default', 'style="vertical-align: middle;"'); + print ''; print '
"; - - print "
"; - } else { - print $langs->trans('None'); } + else + { + $colspan=9; + if ($user->rights->produit->supprimer || $user->rights->service->supprimer) $colspan+=1; + print ""; + print ''.$langs->trans('None').''; + print ""; + } + + print ""; + + print ""; /* ************************************************************************** */ /* */ diff --git a/htdocs/product/reassort.php b/htdocs/product/reassort.php index decbba143da..a839f25a99a 100644 --- a/htdocs/product/reassort.php +++ b/htdocs/product/reassort.php @@ -1,8 +1,9 @@ - * Copyright (C) 2004-2011 Laurent Destailleur - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 2013 Cédric Salvador +/* Copyright (C) 2001-2006 Rodolphe Quiedeville + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Raphaël Doursenaud * * 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 @@ -102,13 +103,12 @@ $title=$langs->trans("ProductsAndServices"); $sql = 'SELECT p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,'; $sql.= ' p.fk_product_type, p.tms as datem,'; -$sql.= ' p.duration, p.tosell as statut, p.tobuy, p.seuil_stock_alerte,'; +$sql.= ' p.duration, p.tosell as statut, p.tobuy, p.seuil_stock_alerte, p.desiredstock,'; $sql.= ' SUM(s.reel) as stock_physique'; -$sql .= ', p.desiredstock'; -$sql.= ' FROM ('.MAIN_DB_PREFIX.'product as p'; +$sql.= ' FROM '.MAIN_DB_PREFIX.'product as p'; +$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_stock as s on p.rowid = s.fk_product'; // We'll need this table joined to the select in order to filter by categ if ($search_categ) $sql.= ", ".MAIN_DB_PREFIX."categorie_product as cp"; -$sql.= ') LEFT JOIN '.MAIN_DB_PREFIX.'product_stock as s on p.rowid = s.fk_product'; $sql.= " WHERE p.entity IN (".getEntity('product', 1).")"; if ($search_categ) $sql.= " AND p.rowid = cp.fk_product"; // Join for the needed table to filter by categ if ($sall) @@ -156,10 +156,8 @@ if ($search_categ) $sql .= " AND cp.fk_categorie = ".$db->escape($search_categ); } $sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,"; -$sql.= " p.fk_product_type, p.tms,"; -$sql.= " p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte"; -$sql .= ", p.desiredstock"; -if ($toolowstock) $sql.= " HAVING SUM(s.reel) < p.seuil_stock_alerte"; // Not used yet +$sql.= " p.fk_product_type, p.tms, p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte, p.desiredstock"; +if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('s.reel IS NULL', '0', 's.reel').") < p.seuil_stock_alerte"; // Not used yet $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($limit + 1, $offset); $resql = $db->query($sql); @@ -224,10 +222,10 @@ if ($resql) if (! empty($conf->categorie->enabled)) { $moreforfilter.=$langs->trans('Categories'). ': '; - $moreforfilter.=$htmlother->select_categories(0,$search_categ,'search_categ'); + $moreforfilter.=$htmlother->select_categories(Categorie::TYPE_PRODUCT,$search_categ,'search_categ'); $moreforfilter.='           '; } - $moreforfilter.=$langs->trans("StockTooLow").' '; + $moreforfilter.=$langs->trans("StockTooLow").' '; if ($moreforfilter) { print ''; @@ -247,19 +245,19 @@ if ($resql) print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder); // TODO Add info of running suppliers/customers orders - //print_liste_field_titre($langs->trans("TheoreticalStock"),"reassort.php", "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder); + //print_liste_field_titre($langs->trans("TheoreticalStock"),$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder); print ' '; - print_liste_field_titre($langs->trans("Sell"),"reassort.php", "p.tosell",$param,"",'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Buy"),"reassort.php", "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Sell"),$_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Buy"),$_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder); print "\n"; // Lignes des champs de filtre print ''; print ''; - print ''; + print ''; print ''; print ''; - print ''; + print ''; print ''; if (! empty($conf->service->enabled) && $type == 1) { @@ -267,6 +265,7 @@ if ($resql) print ' '; print ''; } + // Lot/Serial print ' '; print ' '; print ' '; @@ -306,6 +305,7 @@ if ($resql) print ''; $product_static->ref=$objp->ref; $product_static->id=$objp->rowid; + $product_static->label = $objp->label; $product_static->type=$objp->fk_product_type; print $product_static->getNomUrl(1,'',16); //if ($objp->stock_theorique < $objp->seuil_stock_alerte) print ' '.img_warning($langs->trans("StockTooLow")); diff --git a/htdocs/product/reassortlot.php b/htdocs/product/reassortlot.php new file mode 100644 index 00000000000..86410df8a00 --- /dev/null +++ b/htdocs/product/reassortlot.php @@ -0,0 +1,389 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Cédric Salvador + * Copyright (C) 2015 Raphaël Doursenaud + * + * 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/product/reassortlot.php + * \ingroup produit + * \brief Page to list stocks + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; + +$langs->load("products"); +$langs->load("stocks"); +$langs->load("productbatch"); + +// Security check +if ($user->societe_id) $socid=$user->societe_id; +$result=restrictedArea($user,'produit|service'); + + +$action=GETPOST('action','alpha'); +$sref=GETPOST("sref"); +$snom=GETPOST("snom"); +$sall=GETPOST("sall"); +$type=GETPOST("type","int"); +$sbarcode=GETPOST("sbarcode"); +$search_batch=GETPOST('search_batch'); +$catid=GETPOST('catid','int'); +$toolowstock=GETPOST('toolowstock'); +$tosell = GETPOST("tosell"); +$tobuy = GETPOST("tobuy"); +$fourn_id = GETPOST("fourn_id",'int'); + +$sortfield = GETPOST("sortfield",'alpha'); +$sortorder = GETPOST("sortorder",'alpha'); +$page = GETPOST("page",'int'); +if (! $sortfield) $sortfield="stock_physique"; +if (! $sortorder) $sortorder="ASC"; +$limit = $conf->liste_limit; +$offset = $limit * $page ; + +// Load sale and categ filters +$search_sale = GETPOST("search_sale"); +$search_categ = GETPOST("search_categ"); + +// Get object canvas (By default, this is not defined, so standard usage of dolibarr) +$canvas=GETPOST("canvas"); +$objcanvas=null; +if (! empty($canvas)) +{ + require_once DOL_DOCUMENT_ROOT.'/core/class/canvas.class.php'; + $objcanvas = new Canvas($db,$action); + $objcanvas->getCanvas('product','list',$canvas); +} + +if (! empty($_POST["button_removefilter_x"])) +{ + $sref=""; + $snom=""; + $sall=""; + $search_sale=""; + $search_categ=""; + $type=""; + $catid=''; + $toolowstock=''; +} + + + +/* + * Actions + */ + +// None + + +/* + * View + */ + +$htmlother=new FormOther($db); + +$title=$langs->trans("ProductsAndServices"); + +$sql = 'SELECT p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,'; +$sql.= ' p.fk_product_type, p.tms as datem,'; +$sql.= ' p.duration, p.tosell as statut, p.tobuy, p.seuil_stock_alerte, p.desiredstock,'; +$sql.= ' s.fk_entrepot,'; +$sql.= ' pb.batch, pb.eatby, pb.sellby,'; +$sql.= ' SUM(pb.qty) as stock_physique'; +$sql.= ' FROM '.MAIN_DB_PREFIX.'product as p'; +$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_stock as s on p.rowid = s.fk_product'; +$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'product_batch as pb on pb.fk_product_stock = s.rowid'; +// We'll need this table joined to the select in order to filter by categ +if ($search_categ) $sql.= ", ".MAIN_DB_PREFIX."categorie_product as cp"; +$sql.= " WHERE p.entity IN (".getEntity('product', 1).")"; +if ($search_categ) $sql.= " AND p.rowid = cp.fk_product"; // Join for the needed table to filter by categ +if ($sall) +{ + $sql.= " AND (p.ref LIKE '%".$db->escape($sall)."%' OR p.label LIKE '%".$db->escape($sall)."%' OR p.description LIKE '%".$db->escape($sall)."%' OR p.note LIKE '%".$db->escape($sall)."%')"; +} +// if the type is not 1, we show all products (type = 0,2,3) +if (dol_strlen($type)) +{ + if ($type==1) + { + $sql.= " AND p.fk_product_type = '1'"; + } + else + { + $sql.= " AND p.fk_product_type <> '1'"; + } +} +if ($sref) $sql.= " AND p.ref LIKE '%".$sref."%'"; +if ($sbarcode) $sql.= " AND p.barcode LIKE '%".$sbarcode."%'"; +if ($snom) $sql.= " AND p.label LIKE '%".$db->escape($snom)."%'"; +if (! empty($tosell)) +{ + $sql.= " AND p.tosell = ".$tosell; +} +if (! empty($tobuy)) +{ + $sql.= " AND p.tobuy = ".$tobuy; +} +if (! empty($canvas)) +{ + $sql.= " AND p.canvas = '".$db->escape($canvas)."'"; +} +if($catid) +{ + $sql.= " AND cp.fk_categorie = ".$catid; +} +if ($fourn_id > 0) +{ + $sql.= " AND p.rowid = pf.fk_product AND pf.fk_soc = ".$fourn_id; +} +// Insert categ filter +if ($search_categ) +{ + $sql .= " AND cp.fk_categorie = ".$db->escape($search_categ); +} +if ($search_batch) +{ + $sql .= " AND pb.batch LIKE '%".$db->escape($search_batch)."%'"; +} +$sql.= " GROUP BY p.rowid, p.ref, p.label, p.barcode, p.price, p.price_ttc, p.price_base_type,"; +$sql.= " p.fk_product_type, p.tms, p.duration, p.tosell, p.tobuy, p.seuil_stock_alerte, p.desiredstock,"; +$sql.= " s.fk_entrepot,"; +$sql.= " pb.batch, pb.eatby, pb.sellby"; +if ($toolowstock) $sql.= " HAVING SUM(".$db->ifsql('s.reel IS NULL', '0', 's.reel').") < p.seuil_stock_alerte"; // Not used yet +$sql.= $db->order($sortfield,$sortorder); +$sql.= $db->plimit($limit + 1, $offset); +$resql = $db->query($sql); + +if ($resql) +{ + $num = $db->num_rows($resql); + + $i = 0; + + if ($num == 1 && ($sall or $snom or $sref)) + { + $objp = $db->fetch_object($resql); + header("Location: card.php?id=$objp->rowid"); + exit; + } + + $helpurl=''; + $helpurl='EN:Module_Stocks_En|FR:Module_Stock|ES:Módulo_Stocks'; + + if (isset($type)) + { + if ($type==1) { $texte = $langs->trans("Services"); } + else { $texte = $langs->trans("Products"); } + } else { + $texte = $langs->trans("ProductsAndServices"); + } + $texte.=' ('.$langs->trans("StocksByLotSerial").')'; + + + llxHeader("",$title,$helpurl,$texte); + + if ($sref || $snom || $sall || GETPOST('search')) + { + print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num); + } + else + { + print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":""), $sortfield, $sortorder,'',$num); + } + + if (! empty($catid)) + { + print "
"; + $c = new Categorie($db); + $c->fetch($catid); + $ways = $c->print_all_ways(' > ','product/reassortlot.php'); + print " > ".$ways[0]."
\n"; + print "

"; + } + + print '
'; + print ''; + print ''; + print ''; + print ''; + + print ''; + + // Filter on categories + $moreforfilter=''; + if (! empty($conf->categorie->enabled)) + { + $moreforfilter.=$langs->trans('Categories'). ': '; + $moreforfilter.=$htmlother->select_categories(Categorie::TYPE_PRODUCT,$search_categ,'search_categ'); + $moreforfilter.='           '; + } + //$moreforfilter.=$langs->trans("StockTooLow").' '; + if ($moreforfilter) + { + print ''; + print ''; + } + + $param="&tosell=$tosell&tobuy=$tobuy".(isset($type)?"&type=$type":"")."&fourn_id=$fourn_id&snom=$snom&sref=$sref&batch=$batch&eatby=$eatby&sellby=$sellby"; + + // Lignes des titres + print ""; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.ref",$param,"","",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Label"), $_SERVER["PHP_SELF"], "p.label",$param,"","",$sortfield,$sortorder); + if (! empty($conf->service->enabled) && $type == 1) print_liste_field_titre($langs->trans("Duration"), $_SERVER["PHP_SELF"], "p.duration",$param,"",'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Warehouse"), $_SERVER["PHP_SELF"], "",$param,"",'',$sortfield,$sortorder); + //print_liste_field_titre($langs->trans("DesiredStock"), $_SERVER["PHP_SELF"], "p.desiredstock",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Batch"), $_SERVER["PHP_SELF"], "pb.batch",$param,"",'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("l_eatby"), $_SERVER["PHP_SELF"], "pb.eatby",$param,"",'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("l_sellby"), $_SERVER["PHP_SELF"], "pb.sellby",$param,"",'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("PhysicalStock"), $_SERVER["PHP_SELF"], "stock_physique",$param,"",'align="right"',$sortfield,$sortorder); + // TODO Add info of running suppliers/customers orders + //print_liste_field_titre($langs->trans("TheoreticalStock"),$_SERVER["PHP_SELF"], "stock_theorique",$param,"",'align="right"',$sortfield,$sortorder); + print ''; + print_liste_field_titre($langs->trans("Sell"),$_SERVER["PHP_SELF"], "p.tosell",$param,"",'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Buy"),$_SERVER["PHP_SELF"], "p.tobuy",$param,"",'align="right"',$sortfield,$sortorder); + print "\n"; + + // Lignes des champs de filtre + print ''; + print ''; + print ''; + if (! empty($conf->service->enabled) && $type == 1) + { + print ''; + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $product_static=new Product($db); + $warehousetmp=new Entrepot($db); + + $var=True; + while ($i < min($num,$limit)) + { + $objp = $db->fetch_object($resql); + + // Multilangs + 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='". $langs->getDefaultLang() ."'"; + $sql.= " LIMIT 1"; + + $result = $db->query($sql); + if ($result) + { + $objtp = $db->fetch_object($result); + if (! empty($objtp->label)) $objp->label = $objtp->label; + } + } + + $var=!$var; + print ''; + print ''; + + if (! empty($conf->service->enabled) && $type == 1) + { + print ''; + } + //print ''; + //print ''; + //print ''; + + // Warehouse + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + $i++; + } + + print "
'; + print $moreforfilter; + print '
 
'; + print ''; + print ''; + print ''; + print ''; + print ' '; + print '      '; + print ''; + print ''; + print '
'; + $product_static->ref=$objp->ref; + $product_static->id=$objp->rowid; + $product_static->label = $objp->label; + $product_static->type=$objp->fk_product_type; + print $product_static->getNomUrl(1,'',16); + //if ($objp->stock_theorique < $objp->seuil_stock_alerte) print ' '.img_warning($langs->trans("StockTooLow")); + print ''.$objp->label.''; + if (preg_match('/([0-9]+)y/i',$objp->duration,$regs)) print $regs[1].' '.$langs->trans("DurationYear"); + elseif (preg_match('/([0-9]+)m/i',$objp->duration,$regs)) print $regs[1].' '.$langs->trans("DurationMonth"); + elseif (preg_match('/([0-9]+)d/i',$objp->duration,$regs)) print $regs[1].' '.$langs->trans("DurationDay"); + else print $objp->duration; + print ''.$objp->stock_theorique.''.$objp->seuil_stock_alerte.''.$objp->desiredstock.''; + $warehousetmp->fetch($obj->fk_entrepot); + print $warehousetmp->getNomUrl(1); + print ''.$objp->batch.''.dol_print_date($db->jdate($objp->eatby), 'day').''.dol_print_date($db->jdate($objp->sellby), 'day').''; + //if ($objp->seuil_stock_alerte && ($objp->stock_physique < $objp->seuil_stock_alerte)) print img_warning($langs->trans("StockTooLow")).' '; + print $objp->stock_physique; + print ''.$langs->trans("Movements").''.$product_static->LibStatut($objp->statut,5,0).''.$product_static->LibStatut($objp->tobuy,5,1).'
"; + print '
'; + + if ($num > $conf->liste_limit) + { + if ($sref || $snom || $sall || GETPOST('search')) + { + print_barre_liste('', $page, "reassort.php", "&sref=".$sref."&snom=".$snom."&sall=".$sall."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num, 0, ''); + } + else + { + print_barre_liste('', $page, "reassort.php", "&sref=$sref&snom=$snom&fourn_id=$fourn_id".(isset($type)?"&type=$type":"")."&tosell=".$tosell."&tobuy=".$tobuy, $sortfield, $sortorder,'',$num, 0, ''); + } + } + + $db->free($resql); + +} +else +{ + dol_print_error($db); +} + + +llxFooter(); +$db->close(); diff --git a/htdocs/product/stats/card.php b/htdocs/product/stats/card.php index 9600e6c0a44..d8ca1fa15d0 100644 --- a/htdocs/product/stats/card.php +++ b/htdocs/product/stats/card.php @@ -1,6 +1,6 @@ - * Copyright (c) 2004-2013 Laurent Destailleur + * Copyright (c) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2005 Eric Seigne * Copyright (C) 2013 Juanjo Menent @@ -67,9 +67,9 @@ if (! empty($id) || ! empty($ref)) if ($result) { - $head=product_prepare_head($object, $user); + $head=product_prepare_head($object); $titre=$langs->trans("CardProduct".$object->type); - $picto=($object->type==1?'service':'product'); + $picto=($object->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'stats', $titre, 0, $picto); @@ -83,7 +83,7 @@ if (! empty($id) || ! empty($ref)) print ''; // Label - print ''.$langs->trans("Label").''.$object->libelle.''; + print ''.$langs->trans("Label").''.$object->label.''; // Status (to sell) print ''.$langs->trans("Status").' ('.$langs->trans("Sell").')'; @@ -229,7 +229,7 @@ if (! empty($id) || ! empty($ref)) print $graphfiles[$key]['label']; print ''; // Image - print ''; + print ''; print $graphfiles[$key]['output']; print ''; // Date generation diff --git a/htdocs/product/stats/commande.php b/htdocs/product/stats/commande.php index 472b9ce4a45..9491b18da1e 100644 --- a/htdocs/product/stats/commande.php +++ b/htdocs/product/stats/commande.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -27,6 +28,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("orders"); $langs->load("products"); @@ -38,7 +40,8 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array @@ -55,13 +58,23 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="c.date_commande"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { + $search_month=''; + $search_year=''; +} /* * View */ +$orderstatic=new Commande($db); +$societestatic=new Societe($db); + $form = new Form($db); +$formother= new FormOther($db); if ($id > 0 || ! empty($ref)) { @@ -76,18 +89,14 @@ if ($id > 0 || ! empty($ref)) if ($result > 0) { - /* - * En mode visu - */ - $head=product_prepare_head($product, $user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - print ''; // Reference @@ -98,7 +107,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Libelle - print ''; + print ''; print ''; // Status (to sell) @@ -117,83 +126,140 @@ if ($id > 0 || ! empty($ref)) print ''; - - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, c.total_ht as total_ht, c.ref,"; - $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."commande as c"; - $sql.= ", ".MAIN_DB_PREFIX."commandedet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; - $sql.= " AND d.fk_commande = c.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND c.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) + if ($user->rights->commande->lire) { - $num = $db->num_rows($result); + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, c.rowid, d.total_ht as total_ht, c.ref,"; + $sql .= " c.ref_client,"; + $sql.= " c.date_commande, c.fk_statut as statut, c.facture, c.rowid as commandeid, d.qty"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; + $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; + $sql.= ", ".MAIN_DB_PREFIX."commande as c"; + $sql.= ", ".MAIN_DB_PREFIX."commandedet as d"; + if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; + $sql.= " WHERE c.fk_soc = s.rowid"; + $sql.= " AND c.entity IN (".getEntity('commande', 1).")"; + $sql.= " AND d.fk_commande = c.rowid"; + $sql.= " AND d.fk_product =".$product->id; + if (! empty($search_month)) + $sql.= ' AND MONTH(c.date_commande) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql.= ' AND YEAR(c.date_commande) IN (' . $search_year . ')'; + if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; + if ($socid) $sql.= " AND c.fk_soc = ".$socid; + $sql.= " ORDER BY $sortfield $sortorder "; - print_barre_liste($langs->trans("CustomersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); + //Calcul total qty and amount for global if full scan list + $total_ht=0; + $total_qty=0; + $totalrecords=0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ($objp = $db->fetch_object($result)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } + } - $i = 0; - print "
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("Label").''.$product->label.'
"; + $sql.= $db->plimit($conf->liste_limit +1, $offset); - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $commandestatic=new Commande($db); - - if ($num > 0) + $result = $db->query($sql); + if ($result) { - $var=True; - while ($i < $num && $i < $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; + $num = $db->num_rows($result); - print ""; - print '\n"; - print ''; - print "\n"; - print ""; - print "\n"; - print "\n"; - print ''; - print "\n"; - $i++; + if (! empty($id)) + $option .= '&id='.$product->id; + if (! empty($search_month)) + $option .= '&search_month='.$search_month; + if (! empty($search_year)) + $option .= '&search_year='.$search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("CustomersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,$totalrecords,''); + print '
'; + print $langs->trans('Period').' ('.$langs->trans("OrderDate") .') - '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print '
'; + print ''; + print ''; + print '
'; + print '
'; + + $i = 0; + print '
'.img_object($langs->trans("ShowOrder"),"order").' '; - print $objp->ref; - print "'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client.""; - print dol_print_date($db->jdate($objp->date_commande))."".$objp->qty."".price($objp->total_ht)."'.$commandestatic->LibStatut($objp->statut,$objp->facture,5).'
'; + print ''; + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","",$option,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","",$option,'align="right"',$sortfield,$sortorder); + print "\n"; + + if ($num > 0) + { + $var=True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var=!$var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i++; + + if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $orderstatic->id=$objp->commandeid; + $orderstatic->ref=$objp->ref; + $orderstatic->ref_client=$objp->ref_client; + print $orderstatic->getNomUrl(1); + print "'.$societestatic->getNomUrl(1).'".$objp->code_client."'; + print dol_print_date($db->jdate($objp->date_commande))."'.$objp->qty."'.price($objp->total_ht)."'.$orderstatic->LibStatut($objp->statut,$objp->facture,5).'
' . $langs->trans('Total') . ''.$total_qty.''.price($total_ht).'
"; + print ''; + print '
'; + } else { + dol_print_error($db); } + $db->free($result); } - else - { - dol_print_error($db); - } - print ""; - print '
'; - $db->free($result); } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/commande_fournisseur.php b/htdocs/product/stats/commande_fournisseur.php index 73de0374ebe..e7a803c299c 100644 --- a/htdocs/product/stats/commande_fournisseur.php +++ b/htdocs/product/stats/commande_fournisseur.php @@ -2,6 +2,7 @@ /* Copyright (C) 2003-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,15 +19,15 @@ */ /** - * \file htdocs/product/stats/commande_fournisseur.php - * \ingroup product service commande - * \brief Page des stats des commandes fournisseurs pour un produit + * \file htdocs/product/stats/commande_fournisseur.php + * \ingroup product service commande + * \brief Page des stats des commandes fournisseurs pour un produit */ - require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.commande.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.commande.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("orders"); $langs->load("products"); @@ -38,157 +39,235 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid = ''; +if (! empty($user->societe_id)) + $socid = $user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('productstatssupplyorder')); +$hookmanager->initHooks(array ( + 'productstatssupplyorder' +)); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); -if ($page == -1) { $page = 0; } +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); +if ($page == - 1) { + $page = 0; +} $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="c.date_commande"; +if (! $sortorder) + $sortorder = "DESC"; +if (! $sortfield) + $sortfield = "c.date_commande"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { + $search_month = ''; + $search_year = ''; +} /* * View */ -$form = new Form($db); +$supplierorderstatic = new CommandeFournisseur($db); +$societestatic = new Societe($db); -if ($id > 0 || ! empty($ref)) -{ +$form = new Form($db); +$formother = new FormOther($db); + +if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks - if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + $parameters = array ( + 'id' => $id + ); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks + if ($reshook < 0) + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - llxHeader("","",$langs->trans("CardProduct".$product->type)); + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); - if ($result > 0) - { - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + if ($result > 0) { + $head = product_prepare_head($product); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == Product::TYPE_SERVICE ? 'service' : 'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook - if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook + if ($reshook < 0) + setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); print ''; // Reference print ''; - print ''; + print ''; + print ''; // Libelle - print ''; + print ''; + print ''; // Status (to sell) - print ''; // Status (to buy) - print ''; - show_stats_for_company($product,$socid); + show_stats_for_company($product, $socid); print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); + print '
'.$langs->trans("Label").''.$product->libelle.'
' . $langs->trans("Label") . '' . $product->label . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; + print '
'; - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql.= " c.rowid, c.total_ht as total_ht, c.ref,"; - $sql.= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c"; - $sql.= ", ".MAIN_DB_PREFIX."commande_fournisseurdet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; - $sql.= " AND d.fk_commande = c.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND c.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); + if ($user->rights->fournisseur->commande->lire) { + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; + $sql .= " c.rowid, d.total_ht as total_ht, c.ref,"; + $sql .= " c.date_commande, c.fk_statut as statut, c.rowid as commandeid, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseur as c"; + $sql .= ", " . MAIN_DB_PREFIX . "commande_fournisseurdet as d"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE c.fk_soc = s.rowid"; + $sql .= " AND c.entity = " . $conf->entity; + $sql .= " AND d.fk_commande = c.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(c.date_commande) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(c.date_commande) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) + $sql .= " AND c.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("SuppliersOrders"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print ""; - - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"c.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("OrderDate"),$_SERVER["PHP_SELF"],"c.date_commande","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"c.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"c.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $commandestatic=new CommandeFournisseur($db); - - if ($num > 0) - { - $var=True; - while ($i < $num && $i < $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; - - $commandestatic->id=$objp->commandeid; - $commandestatic->ref=$objp->ref; - $commandestatic->statut=$objp->statut; - - print ""; - print '\n"; - print "\n"; - print ''; - print "\n"; - print '"; - print "\n"; - print '\n"; - print ''; - print "\n"; - $i++; + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } } } + + $sql .= $db->plimit($conf->liste_limit + 1, $offset); + + $result = $db->query($sql); + if ($result) { + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("SuppliersOrders"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . ' (' . $langs->trans("OrderDate") . ') - '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print '
'; + print ''; + print ''; + print '
'; + print '
'; + + $i = 0; + print '
'.$commandestatic->getNomUrl(1)."'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client."'.dol_print_date($db->jdate($objp->date_commande))."".$objp->qty."'.price($objp->total_ht)."'.$commandestatic->getLibStatut(4).'
'; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "c.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("SupplierCode"), $_SERVER["PHP_SELF"], "s.code_client", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("OrderDate"), $_SERVER["PHP_SELF"], "c.date_commande", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "c.total_ht", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "c.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) { + $var = True; + while ( $i < $num && $i < $conf->liste_limit ) { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $supplierorderstatic->id = $objp->commandeid; + $supplierorderstatic->ref = $objp->ref; + $supplierorderstatic->statut = $objp->statut; + print $supplierorderstatic->getNomUrl(1); + print "' . $societestatic->getNomUrl(1) . '" . $objp->code_client . "'; + print dol_print_date($db->jdate($objp->date_commande)) . "' . $objp->qty . "' . price($objp->total_ht) . "' . $supplierorderstatic->getLibStatut(4) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print ''; + print '
'; + } else { + dol_print_error($db); + } + $db->free($result); } - else - { - dol_print_error($db); - } - print ""; - print '
'; - $db->free($result); } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/contrat.php b/htdocs/product/stats/contrat.php index 189ead2eaa2..84417c013b7 100644 --- a/htdocs/product/stats/contrat.php +++ b/htdocs/product/stats/contrat.php @@ -79,9 +79,9 @@ if ($id > 0 || ! empty($ref)) if ($result > 0) { - $head=product_prepare_head($product,$user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook @@ -97,7 +97,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Libelle - print ''.$langs->trans("Label").''.$product->libelle.''; + print ''.$langs->trans("Label").''.$product->label.''; print ''; // Status (to sell) @@ -131,7 +131,7 @@ if ($id > 0 || ! empty($ref)) $sql.= ", ".MAIN_DB_PREFIX."contratdet as cd"; $sql.= " WHERE c.rowid = cd.fk_contrat"; $sql.= " AND c.fk_soc = s.rowid"; - $sql.= " AND c.entity = ".$conf->entity; + $sql.= " AND c.entity IN (".getEntity('contrat', 1).")"; $sql.= " AND cd.fk_product =".$product->id; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; if ($socid) $sql.= " AND s.rowid = ".$socid; diff --git a/htdocs/product/stats/facture.php b/htdocs/product/stats/facture.php index 49e5651b065..2a79b97e399 100644 --- a/htdocs/product/stats/facture.php +++ b/htdocs/product/stats/facture.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +29,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; $langs->load("companies"); $langs->load("bills"); @@ -36,12 +38,11 @@ $langs->load("products"); $id = GETPOST('id', 'int'); $ref = GETPOST('ref', 'alpha'); -$socid=''; -if (! empty($user->societe_id)) $socid=$user->societe_id; - // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; $result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array @@ -58,16 +59,23 @@ $pageprev = $page - 1; $pagenext = $page + 1; if (! $sortorder) $sortorder="DESC"; if (! $sortfield) $sortfield="f.datef"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { + $search_month=''; + $search_year=''; +} /* * View */ $invoicestatic=new Facture($db); +$societestatic=new Societe($db); $form = new Form($db); - +$formother= new FormOther($db); if ($id > 0 || ! empty($ref)) { @@ -80,14 +88,11 @@ if ($id > 0 || ! empty($ref)) llxHeader("","",$langs->trans("CardProduct".$product->type)); - /* - * En mode visu - */ if ($result > 0) { - $head=product_prepare_head($product, $user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook @@ -103,7 +108,7 @@ if ($id > 0 || ! empty($ref)) print ''; // Libelle - print ''.$langs->trans("Label").''.$product->libelle.''; + print ''.$langs->trans("Label").''.$product->label.''; print ''; // Status (to sell) @@ -125,7 +130,7 @@ if ($id > 0 || ! empty($ref)) if ($user->rights->facture->lire) { $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client,"; - $sql.= " f.facnumber, f.total as total_ht,"; + $sql.= " f.facnumber, d.total_ht as total_ht,"; $sql.= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; @@ -133,36 +138,84 @@ if ($id > 0 || ! empty($ref)) $sql.= ", ".MAIN_DB_PREFIX."facturedet as d"; if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; $sql.= " WHERE f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; + $sql.= " AND f.entity IN (".getEntity('facture', 1).")"; $sql.= " AND d.fk_facture = f.rowid"; $sql.= " AND d.fk_product =".$product->id; + if (! empty($search_month)) + $sql.= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql.= ' AND YEAR(f.datef) IN (' . $search_year . ')'; if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND f.fk_soc = $socid"; + if ($socid) $sql.= " AND f.fk_soc = ".$socid; $sql.= " ORDER BY $sortfield $sortorder "; + + //Calcul total qty and amount for global if full scan list + $total_ht=0; + $total_qty=0; + $totalrecords=0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ($objp = $db->fetch_object($result)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } + } + } + $sql.= $db->plimit($conf->liste_limit +1, $offset); $result = $db->query($sql); - if ($result) { + if ($result) + { $num = $db->num_rows($result); - print_barre_liste($langs->trans("CustomersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); + if (! empty($id)) + $option .= '&id='.$product->id; + if (! empty($search_month)) + $option .= '&search_month='.$search_month; + if (! empty($search_year)) + $option .= '&search_year='.$search_year; + + print '
' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("CustomersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=".$product->id,$sortfield,$sortorder,'',$num,$totalrecords,''); + print '
'; + print $langs->trans('Period').' ('.$langs->trans("DateInvoice") .') - '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print '
'; + print ''; + print ''; + print '
'; + print '
'; $i = 0; print ''; - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("CustomerCode"),$_SERVER["PHP_SELF"],"s.code_client","",$option,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","",$option,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total","",$option,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","",$option,'align="right"',$sortfield,$sortorder); print "\n"; - if ($num > 0) { + if ($num > 0) + { $var=True; - while ($i < $num && $i < $conf->liste_limit) { + while ($i < $num && $i < $conf->liste_limit) + { $objp = $db->fetch_object($result); $var=!$var; @@ -172,7 +225,8 @@ if ($id > 0 || ! empty($ref)) $invoicestatic->ref=$objp->facnumber; print $invoicestatic->getNomUrl(1); print "\n"; - print ''; + $societestatic->fetch($objp->socid); + print ''; print "\n"; print '"; @@ -181,9 +235,21 @@ if ($id > 0 || ! empty($ref)) print ''; print "\n"; $i++; + + if (!empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht+=$objp->total_ht; + $total_qty+=$objp->qty; + } } } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; print "
'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).''.$societestatic->getNomUrl(1).'".$objp->code_client."'; print dol_print_date($db->jdate($objp->datef),'day')."'.$invoicestatic->LibStatut($objp->paye,$objp->statut,5).'
' . $langs->trans('Total') . ''.$total_qty.''.price($total_ht).'
"; + print '
'; print '
'; } else { dol_print_error($db); @@ -195,6 +261,5 @@ if ($id > 0 || ! empty($ref)) dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/facture_fournisseur.php b/htdocs/product/stats/facture_fournisseur.php index d8e30bdae6a..9b56cee7552 100644 --- a/htdocs/product/stats/facture_fournisseur.php +++ b/htdocs/product/stats/facture_fournisseur.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2013 Juanjo Menent + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,15 +20,16 @@ */ /** - * \file htdocs/product/stats/facture_fournisseur.php - * \ingroup product service facture - * \brief Page des stats des factures fournisseurs pour un produit + * \file htdocs/product/stats/facture_fournisseur.php + * \ingroup product service facture + * \brief Page des stats des factures fournisseurs pour un produit */ require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("companies"); $langs->load("bills"); @@ -40,164 +42,225 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid = ''; +if (! empty($user->societe_id)) $socid=$user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('productstatssupplyinvoice')); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); if ($page == -1) { $page = 0; } $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="f.datef"; - +if (! $sortorder) $sortorder = "DESC"; +if (! $sortfield) $sortfield = "f.datef"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { + $search_month = ''; + $search_year = ''; +} /* * View */ -$supplierinvoicestatic=new FactureFournisseur($db); +$supplierinvoicestatic = new FactureFournisseur($db); +$societestatic = new Societe($db); $form = new Form($db); +$formother = new FormOther($db); if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks + $parameters = array('id' => $id); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - llxHeader("","",$langs->trans("CardProduct".$product->type)); + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); - if ($result > 0) - { - /* - * En mode visu - */ - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + if ($result > 0) + { + $head = product_prepare_head($product); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == Product::TYPE_SERVICE ? 'service' : 'product'); dol_fiche_head($head, 'referers', $titre, 0, $picto); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - print ''; + print '
'; - // Reference - print ''; - print ''; - print ''; + // Reference + print ''; + print ''; + print ''; - // Libelle - print ''; - print ''; + // Libelle + print ''; + print ''; // Status (to sell) - print ''; // Status (to buy) - print ''; - show_stats_for_company($product,$socid); + show_stats_for_company($product, $socid); - print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); - print '
' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); + print '
'.$langs->trans("Label").''.$product->libelle.'
' . $langs->trans("Label") . '' . $product->label . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; + print ""; - print '
'; + print ''; + if ($user->rights->fournisseur->facture->lire) + { + $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, d.total_ht as total_ht,"; + $sql .= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= ", " . MAIN_DB_PREFIX . "facture_fourn as f"; + $sql .= ", " . MAIN_DB_PREFIX . "facture_fourn_det as d"; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE f.fk_soc = s.rowid"; + $sql .= " AND f.entity IN (".getEntity('facture_fourn', 1).")"; + $sql .= " AND d.fk_facture_fourn = f.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(f.datef) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(f.datef) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) $sql .= " AND f.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; - $sql = "SELECT distinct s.nom as name, s.rowid as socid, s.code_client, f.ref, f.total_ht as total_ht,"; - $sql.= " f.datef, f.paye, f.fk_statut as statut, f.rowid as facid, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ", ".MAIN_DB_PREFIX."facture_fourn as f"; - $sql.= ", ".MAIN_DB_PREFIX."facture_fourn_det as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE f.fk_soc = s.rowid"; - $sql.= " AND f.entity = ".$conf->entity; - $sql.= " AND d.fk_facture_fourn = f.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND f.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); + $sql .= $db->plimit($conf->liste_limit + 1, $offset); - print_barre_liste($langs->trans("SuppliersInvoices"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); - $i = 0; - print ""; + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"s.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_client","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateInvoice"),$_SERVER["PHP_SELF"],"f.datef","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"f.total_ht","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"f.paye,f.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } - if ($num > 0) - { - $var=True; - while ($i < $num && $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; + print_barre_liste($langs->trans("SuppliersInvoices"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . ' (' . $langs->trans("DateInvoice") . ') - '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print '
'; + print ''; + print ''; + print '
'; + print '
'; - print ""; - print '\n"; - print ''; - print "\n"; - print ""; - print "\n"; - print "\n"; - print ''; - print "\n"; - $i++; - } - } - } - else - { - dol_print_error($db); - } - print "
'; - $supplierinvoicestatic->id=$objp->facid; - $supplierinvoicestatic->ref=$objp->facnumber; - print $supplierinvoicestatic->getNomUrl(1); - print "'.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).'".$objp->code_client.""; - print dol_print_date($db->jdate($objp->datef))."".$objp->qty."".price($objp->total_ht)."'.$supplierinvoicestatic->LibStatut($objp->paye,$objp->statut,5).'
"; - print '
'; - $db->free($result); - } + $i = 0; + print ''; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "s.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("SupplierCode"), $_SERVER["PHP_SELF"], "s.code_client", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("DateInvoice"), $_SERVER["PHP_SELF"], "f.datef", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "f.total_ht", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "f.paye,f.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) + { + $var = True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print "\n"; + print '"; + print '\n"; + print '\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $supplierinvoicestatic->id = $objp->facid; + $supplierinvoicestatic->ref = $objp->facnumber; + print $supplierinvoicestatic->getNomUrl(1); + print "' . $societestatic->getNomUrl(1) . '" . $objp->code_client . "'; + print dol_print_date($db->jdate($objp->datef)) . "' . $objp->qty . "' . price($objp->total_ht) . "' . $supplierinvoicestatic->LibStatut($objp->paye, $objp->statut, 5) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print ''; + print '
'; + } else { + dol_print_error($db); + } + $db->free($result); + } + } +} else { + dol_print_error(); } -else -{ - dol_print_error(); -} - llxFooter(); $db->close(); diff --git a/htdocs/product/stats/propal.php b/htdocs/product/stats/propal.php index 566961d9c5f..690f9c8c421 100644 --- a/htdocs/product/stats/propal.php +++ b/htdocs/product/stats/propal.php @@ -2,6 +2,7 @@ /* Copyright (C) 2004-2007 Rodolphe Quiedeville * Copyright (C) 2004-2009 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2014 Florian Henry * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -18,16 +19,16 @@ */ /** - * \file htdocs/product/stats/propal.php - * \ingroup product service propal - * \brief Page des stats des propals pour un produit + * \file htdocs/product/stats/propal.php + * \ingroup product service propal + * \brief Page des stats des propals pour un produit */ - require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/product.lib.php'; +require_once DOL_DOCUMENT_ROOT . '/comm/propal/class/propal.class.php'; +require_once DOL_DOCUMENT_ROOT . '/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; $langs->load("products"); $langs->load("companies"); @@ -38,154 +39,228 @@ $ref = GETPOST('ref', 'alpha'); // Security check $fieldvalue = (! empty($id) ? $id : (! empty($ref) ? $ref : '')); $fieldtype = (! empty($ref) ? 'ref' : 'rowid'); -if ($user->societe_id) $socid=$user->societe_id; -$result=restrictedArea($user,'produit|service',$fieldvalue,'product&product','','',$fieldtype); +$socid=''; +if (! empty($user->societe_id)) $socid=$user->societe_id; +$result = restrictedArea($user, 'produit|service', $fieldvalue, 'product&product', '', '', $fieldtype); // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('productstatspropal')); +$hookmanager->initHooks(array ('productstatspropal')); $mesg = ''; -$sortfield = GETPOST("sortfield",'alpha'); -$sortorder = GETPOST("sortorder",'alpha'); -$page = GETPOST("page",'int'); -if ($page == -1) { $page = 0; } +$sortfield = GETPOST("sortfield", 'alpha'); +$sortorder = GETPOST("sortorder", 'alpha'); +$page = GETPOST("page", 'int'); +if ($page == - 1) { $page = 0;} $offset = $conf->liste_limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -if (! $sortorder) $sortorder="DESC"; -if (! $sortfield) $sortfield="p.datep"; +if (! $sortorder) $sortorder = "DESC"; +if (! $sortfield) $sortfield = "p.datep"; +$search_month = GETPOST('search_month', 'aplha'); +$search_year = GETPOST('search_year', 'int'); + +if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) { + $search_month = ''; + $search_year = ''; +} /* * View */ + +$propalstatic = new Propal($db); +$societestatic=new Societe($db); + $form = new Form($db); +$formother = new FormOther($db); if ($id > 0 || ! empty($ref)) { $product = new Product($db); $result = $product->fetch($id, $ref); - $parameters=array('id'=>$id); - $reshook=$hookmanager->executeHooks('doActions',$parameters,$product,$action); // Note that $action and $object may have been modified by some hooks + $parameters = array ('id' => $id); + $reshook = $hookmanager->executeHooks('doActions', $parameters, $product, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); - llxHeader("","",$langs->trans("CardProduct".$product->type)); + llxHeader("", "", $langs->trans("CardProduct" . $product->type)); if ($result > 0) { - $head=product_prepare_head($product, $user); - $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); - dol_fiche_head($head, 'referers', $titre,0,$picto); + $head = product_prepare_head($product); + $titre = $langs->trans("CardProduct" . $product->type); + $picto = ($product->type == Product::TYPE_SERVICE ? 'service' : 'product'); + dol_fiche_head($head, 'referers', $titre, 0, $picto); - $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$product,$action); // Note that $action and $object may have been modified by hook + $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $product, $action); // Note that $action and $object may have been modified by hook if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); print ''; // Reference print ''; - print ''; print ''; // Libelle - print ''; + print ''; print ''; // Status (to sell) - print ''; // Status (to buy) - print ''; - show_stats_for_company($product,$socid); + show_stats_for_company($product, $socid); print "
'.$langs->trans("Ref").''; - print $form->showrefnav($product,'ref','',1,'ref'); + print '' . $langs->trans("Ref") . ''; + print $form->showrefnav($product, 'ref', '', 1, 'ref'); print '
'.$langs->trans("Label").''.$product->libelle.'
' . $langs->trans("Label") . '' . $product->label . '
'.$langs->trans("Status").' ('.$langs->trans("Sell").')'; - print $product->getLibStatut(2,0); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Sell") . ')'; + print $product->getLibStatut(2, 0); print '
'.$langs->trans("Status").' ('.$langs->trans("Buy").')'; - print $product->getLibStatut(2,1); + print '
' . $langs->trans("Status") . ' (' . $langs->trans("Buy") . ')'; + print $product->getLibStatut(2, 1); print '
"; print ''; + if ($user->rights->propale->lire) { + $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, d.total_ht as amount,"; + $sql .= " p.ref_client,"; + $sql .= "p.datep, p.fk_statut as statut, d.qty"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", sc.fk_soc, sc.fk_user "; + $sql .= " FROM " . MAIN_DB_PREFIX . "societe as s"; + $sql .= "," . MAIN_DB_PREFIX . "propal as p"; + $sql .= ", " . MAIN_DB_PREFIX . "propaldet as d"; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= ", " . MAIN_DB_PREFIX . "societe_commerciaux as sc"; + $sql .= " WHERE p.fk_soc = s.rowid"; + $sql .= " AND p.entity IN (".getEntity('propal', 1).")"; + $sql .= " AND d.fk_propal = p.rowid"; + $sql .= " AND d.fk_product =" . $product->id; + if (! empty($search_month)) + $sql .= ' AND MONTH(p.datep) IN (' . $search_month . ')'; + if (! empty($search_year)) + $sql .= ' AND YEAR(p.datep) IN (' . $search_year . ')'; + if (! $user->rights->societe->client->voir && ! $socid) + $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = " . $user->id; + if ($socid) + $sql .= " AND p.fk_soc = " . $socid; + $sql .= " ORDER BY $sortfield $sortorder "; - $sql = "SELECT DISTINCT s.nom as name, s.rowid as socid, p.rowid as propalid, p.ref, p.total_ht as amount,"; - $sql.= "p.datep, p.fk_statut as statut, d.qty"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", sc.fk_soc, sc.fk_user "; - $sql.= " FROM ".MAIN_DB_PREFIX."societe as s"; - $sql.= ",".MAIN_DB_PREFIX."propal as p"; - $sql.= ", ".MAIN_DB_PREFIX."propaldet as d"; - if (!$user->rights->societe->client->voir && !$socid) $sql.= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; - $sql.= " WHERE p.fk_soc = s.rowid"; - $sql.= " AND p.entity = ".$conf->entity; - $sql.= " AND d.fk_propal = p.rowid"; - $sql.= " AND d.fk_product =".$product->id; - if (!$user->rights->societe->client->voir && !$socid) $sql.= " AND s.rowid = sc.fk_soc AND sc.fk_user = " .$user->id; - if ($socid) $sql.= " AND p.fk_soc = ".$socid; - $sql.= " ORDER BY $sortfield $sortorder "; - $sql.= $db->plimit($conf->liste_limit +1, $offset); - - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - - print_barre_liste($langs->trans("Proposals"),$page,$_SERVER["PHP_SELF"],"&id=$product->id",$sortfield,$sortorder,'',$num,0,''); - - $i = 0; - print ''; - print ''; - print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"p.rowid","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom","","&id=".$product->id,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DatePropal"),$_SERVER["PHP_SELF"],"p.datep","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Qty"),$_SERVER["PHP_SELF"],"d.qty","","&id=".$product->id,'align="center"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("AmountHT"),$_SERVER["PHP_SELF"],"p.total","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"p.fk_statut","","&id=".$product->id,'align="right"',$sortfield,$sortorder); - print "\n"; - - $propalstatic=new Propal($db); - - if ($num > 0) - { - $var=True; - while ($i < $num && $i < $conf->liste_limit) - { - $objp = $db->fetch_object($result); - $var=!$var; - - print ''; - print ''."\n"; - print ''; - print '"; - print "\n"; - print ''."\n"; - print ''; - print ''."\n"; - $i++; + // Calcul total qty and amount for global if full scan list + $total_ht = 0; + $total_qty = 0; + $totalrecords = 0; + if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $result = $db->query($sql); + if ($result) { + $totalrecords = $db->num_rows($result); + while ( $objp = $db->fetch_object($result) ) { + $total_ht += $objp->amount; + $total_qty += $objp->qty; + } } } - } - else - { + + $sql .= $db->plimit($conf->liste_limit + 1, $offset); + + $result = $db->query($sql); + if ($result) + { + $num = $db->num_rows($result); + + if (! empty($id)) + $option .= '&id=' . $product->id; + if (! empty($search_month)) + $option .= '&search_month=' . $search_month; + if (! empty($search_year)) + $option .= '&search_year=' . $search_year; + + print '' . "\n"; + if (! empty($sortfield)) + print ''; + if (! empty($sortorder)) + print ''; + if (! empty($page)) { + print ''; + $option .= '&page=' . $page; + } + + print_barre_liste($langs->trans("Proposals"), $page, $_SERVER["PHP_SELF"], "&id=$product->id", $sortfield, $sortorder, '', $num, $totalrecords, ''); + print '
'; + print $langs->trans('Period') . ' (' . $langs->trans("DatePropal") . ') - '; + print $langs->trans('Month') . ': '; + print $langs->trans('Year') . ':' . $formother->selectyear($search_year ? $search_year : - 1, 'search_year', 1, 20, 5); + print '
'; + print ''; + print ''; + print '
'; + print '
'; + + $i = 0; + print '
'.img_object($langs->trans("ShowPropal"),"propal").' '; - print $objp->ref; - print ''.img_object($langs->trans("ShowCompany"),"company").' '.dol_trunc($objp->name,44).''; - print dol_print_date($db->jdate($objp->datep))."".$objp->qty."'.price($objp->amount).''.$propalstatic->LibStatut($objp->statut,5).'
'; + print ''; + print_liste_field_titre($langs->trans("Ref"), $_SERVER["PHP_SELF"], "p.rowid", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Company"), $_SERVER["PHP_SELF"], "s.nom", "", $option, '', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("DatePropal"), $_SERVER["PHP_SELF"], "p.datep", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Qty"), $_SERVER["PHP_SELF"], "d.qty", "", $option, 'align="center"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("AmountHT"), $_SERVER["PHP_SELF"], "p.total", "", $option, 'align="right"', $sortfield, $sortorder); + print_liste_field_titre($langs->trans("Status"), $_SERVER["PHP_SELF"], "p.fk_statut", "", $option, 'align="right"', $sortfield, $sortorder); + print "\n"; + + if ($num > 0) + { + $var = True; + while ($i < $num && $i < $conf->liste_limit) + { + $objp = $db->fetch_object($result); + $var = ! $var; + + print ''; + print '\n"; + $societestatic->fetch($objp->socid); + print ''; + print '"; + print "\n"; + print '' . "\n"; + print ''; + print "\n"; + $i ++; + + if (! empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) { + $total_ht += $objp->total_ht; + $total_qty += $objp->qty; + } + } + } + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "
'; + $propalstatic->id=$objp->propalid; + $propalstatic->ref=$objp->ref; + $propalstatic->ref_client=$objp->ref_client; + print $propalstatic->getNomUrl(1); + print "'.$societestatic->getNomUrl(1).''; + print dol_print_date($db->jdate($objp->datep)) . "" . $objp->qty . "' . price($objp->amount) . '' . $propalstatic->LibStatut($objp->statut, 5) . '
' . $langs->trans('Total') . '' . $total_qty . '' . price($total_ht) . '
"; + print ''; + print '
'; + } else { dol_print_error($db); } - print ""; - print '
'; $db->free($result); + } } -} -else -{ +} else { dol_print_error(); } - llxFooter(); $db->close(); diff --git a/htdocs/product/stock/card.php b/htdocs/product/stock/card.php index 39b778536b5..df4c8b9d054 100644 --- a/htdocs/product/stock/card.php +++ b/htdocs/product/stock/card.php @@ -218,7 +218,7 @@ if ($action == 'create') print ''.$langs->trans("Status").''; print ''; print ''; @@ -226,7 +226,7 @@ if ($action == 'create') dol_fiche_end(); - print '
'; + print '
'; print ''; } @@ -308,7 +308,7 @@ else // Value print ''.$langs->trans("EstimatedStockValueShort").''; - print empty($calcproducts['value'])?'0':$calcproducts['value']; + print price((empty($calcproducts['value'])?'0':price2num($calcproducts['value'],'MT')), 0, $langs, 0, -1, -1, $conf->currency); print ""; // Last movement @@ -387,9 +387,9 @@ else print_liste_field_titre($langs->trans("EstimatedStockValueShort"),"", "","&id=".$id,"",'align="right"',$sortfield,$sortorder); if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre($langs->trans("SellPriceMin"),"", "p.price","&id=".$id,"",'align="right"',$sortfield,$sortorder); if (empty($conf->global->PRODUIT_MULTIPRICES)) print_liste_field_titre($langs->trans("EstimatedStockValueSellShort"),"", "","&id=".$id,"",'align="right"',$sortfield,$sortorder); - if ($user->rights->stock->mouvement->creer) print ' '; - if ($user->rights->stock->creer) print ' '; - print ""; + if ($user->rights->stock->mouvement->creer) print_liste_field_titre(''); + if ($user->rights->stock->creer) print_liste_field_titre(''); + print "\n"; $totalunit=0; $totalvalue=$totalvaluesell=0; @@ -435,7 +435,8 @@ else print ""; print ""; $productstatic->id=$objp->rowid; - $productstatic->ref=$objp->ref; + $productstatic->ref = $objp->ref; + $productstatic->label = $objp->produit; $productstatic->type=$objp->type; print $productstatic->getNomUrl(1,'stock',16); print ''; @@ -466,14 +467,14 @@ else if ($user->rights->stock->mouvement->creer) { - print ''; - print img_picto($langs->trans("StockMovement"),'uparrow.png').' '.$langs->trans("StockMovement"); + print ''; + print img_picto($langs->trans("StockMovement"),'uparrow.png','class="hideonsmartphone"').' '.$langs->trans("StockMovement"); print ""; } if ($user->rights->stock->creer) { - print ''; + print ''; print $langs->trans("StockCorrection"); print ""; } @@ -551,15 +552,18 @@ else print ''.$langs->trans("Status").''; print ''; print ''; print ''; - print '

 '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php index 4de63ea9734..5a8050612e4 100644 --- a/htdocs/product/stock/class/entrepot.class.php +++ b/htdocs/product/stock/class/entrepot.class.php @@ -510,14 +510,19 @@ class Entrepot extends CommonObject function getNomUrl($withpicto=0,$option='') { global $langs; + $langs->load("stocks"); $result=''; + $label = '' . $langs->trans("ShowWarehouse").''; + $label.= '
' . $langs->trans('Ref') . ': ' . $this->libelle; + if (! empty($this->lieu)) + $label.= '
' . $langs->trans('LocationSummary').': '.$this->lieu; - $lien=''; - $lienfin=''; + $link=''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowStock"),'stock').$lienfin.' '); - $result.=$lien.$this->libelle.$lienfin; + if ($withpicto) $result.=($link.img_object($label, 'stock', 'class="classfortooltip"').$linkend.' '); + $result.=$link.$this->libelle.$linkend; return $result; } diff --git a/htdocs/product/stock/class/mouvementstock.class.php b/htdocs/product/stock/class/mouvementstock.class.php index b37384932cf..2e9fcfab68e 100644 --- a/htdocs/product/stock/class/mouvementstock.class.php +++ b/htdocs/product/stock/class/mouvementstock.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2005-2013 Laurent Destailleur + * Copyright (C) 2005-2015 Laurent Destailleur * Copyright (C) 2011 Jean Heimburger * Copyright (C) 2014 Cedric GROSS * @@ -21,7 +21,7 @@ /** * \file htdocs/product/stock/class/mouvementstock.class.php * \ingroup stock - * \brief Fichier de la classe de gestion des mouvements de stocks + * \brief File of class to manage stock movement (input or output) */ @@ -33,6 +33,12 @@ class MouvementStock extends CommonObject var $error; var $db; + var $product_id; + var $entrepot_id; + var $qty; + var $type; + + /** * Constructor * @@ -49,35 +55,53 @@ class MouvementStock extends CommonObject * @param User $user User object * @param int $fk_product Id of product * @param int $entrepot_id Id of warehouse - * @param int $qty Qty of movement (can be <0 or >0) + * @param int $qty Qty of movement (can be <0 or >0 depending on parameter type) * @param int $type Direction of movement: * 0=input (stock increase after stock transfert), 1=output (stock decrease after stock transfer), * 2=output (stock decrease), 3=input (stock increase) + * Note that qty should be > 0 with 0 or 3, < 0 with 1 or 2. * @param int $price Unit price HT of product, used to calculate average weighted price (PMP in french). If 0, average weighted price is not changed. * @param string $label Label of stock movement + * @param string $inventorycode Inventory code * @param string $datem Force date of movement * @param date $eatby eat-by date * @param date $sellby sell-by date * @param string $batch batch number - * @param boolean $skip_sellby If set to true, stock mouvement is done without impacting batch record + * @param boolean $skip_batch If set to true, stock movement is done without impacting batch record * @return int <0 if KO, 0 if fk_product is null, >0 if OK */ - function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $datem='',$eatby='',$sellby='',$batch='',$skip_sellby=false) + function _create($user, $fk_product, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='', $datem='',$eatby='',$sellby='',$batch='',$skip_batch=false) { global $conf, $langs; require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; $error = 0; - dol_syslog(get_class($this)."::_create start userid=$user->id, fk_product=$fk_product, warehouse=$entrepot_id, qty=$qty, type=$type, price=$price label=$label"); + dol_syslog(get_class($this)."::_create start userid=$user->id, fk_product=$fk_product, warehouse=$entrepot_id, qty=$qty, type=$type, price=$price, label=$label, inventorycode=$inventorycode, datem=".$datem.", eatby=".$eatby.", sellby=".$sellby.", batch=".$batch.", skip_batch=".$skip_batch); // Clean parameters if (empty($price)) $price=0; - - if (empty($fk_product)) return 0; - $now=(! empty($datem) ? $datem : dol_now()); - $this->db->begin(); + // Check parameters + if (empty($fk_product)) return 0; + if ($eatby < 0) + { + $this->errors[]='ErrorBadValueForParameterEatBy'; + return -1; + } + if ($sellby < 0) + { + $this->errors[]='ErrorBadValueForParameterEatBy'; + return -1; + } + + // Set properties of movement + $this->product_id = $fk_product; + $this->entrepot_id = $entrepot_id; + $this->qty = $qty; + $this->type = $type; + + $mvid = 0; $product = new Product($this->db); $result=$product->fetch($fk_product); @@ -86,15 +110,78 @@ class MouvementStock extends CommonObject dol_print_error('',"Failed to fetch product"); return -1; } + + $this->db->begin(); + $product->load_stock(); + // Test if product require batch data. If yes, and there is not, we throw an error. + if (! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch) + { + //if (empty($batch) && empty($eatby) && empty($sellby)) + if (empty($batch)) + { + $this->errors[]=$langs->trans("ErrorTryToMakeMoveOnProductRequiringBatchData", $product->name); + dol_syslog("Try to make a movement of a product with status_batch on without any batch data"); + + $this->db->rollback(); + return -2; + } + + // If a serial number is provided, we check that sellby and eatby match already existing serial + $sql = "SELECT pb.rowid, pb.batch, pb.eatby, pb.sellby FROM ".MAIN_DB_PREFIX."product_batch as pb, ".MAIN_DB_PREFIX."product_stock as ps"; + $sql.= " WHERE pb.fk_product_stock = ps.rowid AND ps.fk_product = ".$fk_product." AND pb.batch = '".$this->db->escape($batch)."'"; + dol_syslog(get_class($this)."::_create scan serial for this product to check if eatby and sellby match", LOG_DEBUG); + $resql = $this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i=0; + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + if ($this->db->jdate($obj->eatby) != $eatby) + { + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby); + dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->eatby), $eatby)); + $this->db->rollback(); + return -3; + } + if ($this->db->jdate($obj->sellby) != $sellby) + { + $this->errors[]=$langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby); + dol_syslog($langs->trans("ThisSerialAlreadyExistWithDifferentDate", $batch, $this->db->jdate($obj->sellby), $sellby)); + $this->db->rollback(); + return -3; + } + $i++; + } + } + else + { + dol_print_error($this->db); + $this->db->rollback(); + return -1; + } + } + + // TODO Check qty is ok for stock move. + if (! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch) + { + + } + else + { + + } + // Define if we must make the stock change (If product type is a service or if stock is used also for services) $movestock=0; - if ($product->type != 1 || ! empty($conf->global->STOCK_SUPPORTS_SERVICES)) $movestock=1; + if ($product->type != Product::TYPE_SERVICE || ! empty($conf->global->STOCK_SUPPORTS_SERVICES)) $movestock=1; if ($movestock && $entrepot_id > 0) // Change stock for current product, change for subproduct is done after { - if(!empty($this->origin)) { + if(!empty($this->origin)) { // This is set by caller for tracking reason $origintype = $this->origin->element; $fk_origin = $this->origin->id; } else { @@ -102,11 +189,18 @@ class MouvementStock extends CommonObject $fk_origin = 0; } - $sql = "INSERT INTO ".MAIN_DB_PREFIX."stock_mouvement"; - $sql.= " (datem, fk_product, fk_entrepot, value, type_mouvement, fk_user_author, label, price, fk_origin, origintype)"; - $sql.= " VALUES ('".$this->db->idate($now)."', ".$fk_product.", ".$entrepot_id.", ".$qty.", ".$type.","; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."stock_mouvement("; + $sql.= " datem, fk_product, batch, eatby, sellby,"; + $sql.= " fk_entrepot, value, type_mouvement, fk_user_author, label, inventorycode, price, fk_origin, origintype"; + $sql.= ")"; + $sql.= " VALUES ('".$this->db->idate($now)."', ".$this->product_id.", "; + $sql.= " ".($batch?"'".$batch."'":"null").", "; + $sql.= " ".($eatby?"'".$this->db->idate($eatby)."'":"null").", "; + $sql.= " ".($sellby?"'".$this->db->idate($sellby)."'":"null").", "; + $sql.= " ".$this->entrepot_id.", ".$this->qty.", ".$this->type.","; $sql.= " ".$user->id.","; $sql.= " '".$this->db->escape($label)."',"; + $sql.= " ".($inventorycode?"'".$this->db->escape($inventorycode)."'":"null").","; $sql.= " '".price2num($price)."',"; $sql.= " '".$fk_origin."',"; $sql.= " '".$origintype."'"; @@ -117,18 +211,19 @@ class MouvementStock extends CommonObject if ($resql) { $mvid = $this->db->last_insert_id(MAIN_DB_PREFIX."stock_mouvement"); + $this->id = $mvid; } else { - $this->error=$this->db->lasterror(); + $this->errors[]=$this->db->lasterror(); $error = -1; } // Define current values for qty and pmp $oldqty=$product->stock_reel; - $oldqtywarehouse=0; $oldpmp=$product->pmp; - $oldpmpwarehouse=0; + $oldqtywarehouse=0; + //$oldpmpwarehouse=0; // Test if there is already a record for couple (warehouse / product) $num = 0; @@ -146,53 +241,54 @@ class MouvementStock extends CommonObject { $num = 1; $oldqtywarehouse = $obj->reel; - $oldpmpwarehouse = $obj->pmp; + //$oldpmpwarehouse = $obj->pmp; $fk_product_stock = $obj->rowid; } $this->db->free($resql); } else { - $this->error=$this->db->lasterror(); + $this->errors[]=$this->db->lasterror(); $error = -2; } } // Calculate new PMP. + $newpmp=0; + //$newpmpwarehouse=0; if (! $error) { - $newpmp=0; - $newpmpwarehouse=0; // Note: PMP is calculated on stock input only (type of movement = 0 or 3). If type == 0 or 3, qty should be > 0. // Note: Price should always be >0 or 0. PMP should be always >0 (calculated on input) if (($type == 0 || $type == 3) && $price > 0) { // If we will change PMP for the warehouse we edit and the product, we must first check/clean that PMP is defined // on every stock entry with old value (so global updated value will match recalculated value from product_stock) - $sql = "UPDATE ".MAIN_DB_PREFIX."product_stock SET pmp = ".($oldpmp?$oldpmp:'0'); + /* $sql = "UPDATE ".MAIN_DB_PREFIX."product_stock SET pmp = ".($oldpmp?$oldpmp:'0'); $sql.= " WHERE pmp = 0 AND fk_product = ".$fk_product; dol_syslog(get_class($this)."::_create", LOG_DEBUG); $resql=$this->db->query($sql); if (! $resql) { - $this->error=$this->db->lasterror(); + $this->errors[]=$this->db->lasterror(); $error = -4; } - + */ $oldqtytouse=($oldqty >= 0?$oldqty:0); // We make a test on oldpmp>0 to avoid to use normal rule on old data with no pmp field defined if ($oldpmp > 0) $newpmp=price2num((($oldqtytouse * $oldpmp) + ($qty * $price)) / ($oldqtytouse + $qty), 'MU'); else { - $newpmp=$price; // For this product, PMP was not yet set. We will set it later. + $newpmp=$price; // For this product, PMP was not yet set. We set it to input price. } + /* $oldqtywarehousetouse=$oldqtywarehouse; if ($oldpmpwarehouse > 0) $newpmpwarehouse=price2num((($oldqtywarehousetouse * $oldpmpwarehouse) + ($qty * $price)) / ($oldqtywarehousetouse + $qty), 'MU'); else $newpmpwarehouse=$price; - - /*print "oldqtytouse=".$oldqtytouse." oldpmp=".$oldpmp." oldqtywarehousetouse=".$oldqtywarehousetouse." oldpmpwarehouse=".$oldpmpwarehouse." "; - print "qty=".$qty." newpmp=".$newpmp." newpmpwarehouse=".$newpmpwarehouse; - exit;*/ + */ + //print "oldqtytouse=".$oldqtytouse." oldpmp=".$oldpmp." oldqtywarehousetouse=".$oldqtywarehousetouse." oldpmpwarehouse=".$oldpmpwarehouse." "; + //print "qty=".$qty." newpmp=".$newpmp." newpmpwarehouse=".$newpmpwarehouse; + //exit; } else if ($type == 1 || $type == 2) { @@ -202,30 +298,33 @@ class MouvementStock extends CommonObject else { $newpmp = $oldpmp; - $newpmpwarehouse = $oldpmpwarehouse; + //$newpmpwarehouse = $oldpmpwarehouse; } } - // Update denormalized value of stock in product_stock and product + // Update stock quantity if (! $error) { if ($num > 0) { - $sql = "UPDATE ".MAIN_DB_PREFIX."product_stock SET pmp = ".$newpmpwarehouse.", reel = reel + ".$qty; + //$sql = "UPDATE ".MAIN_DB_PREFIX."product_stock SET pmp = ".$newpmpwarehouse.", reel = reel + ".$qty; + $sql = "UPDATE ".MAIN_DB_PREFIX."product_stock SET reel = reel + ".$qty; $sql.= " WHERE fk_entrepot = ".$entrepot_id." AND fk_product = ".$fk_product; } else { $sql = "INSERT INTO ".MAIN_DB_PREFIX."product_stock"; - $sql.= " (pmp, reel, fk_entrepot, fk_product) VALUES "; - $sql.= " (".$newpmpwarehouse.", ".$qty.", ".$entrepot_id.", ".$fk_product.")"; + //$sql.= " (pmp, reel, fk_entrepot, fk_product) VALUES "; + //$sql.= " (".$newpmpwarehouse.", ".$qty.", ".$entrepot_id.", ".$fk_product.")"; + $sql.= " (reel, fk_entrepot, fk_product) VALUES "; + $sql.= " (".$qty.", ".$entrepot_id.", ".$fk_product.")"; } dol_syslog(get_class($this)."::_create", LOG_DEBUG); $resql=$this->db->query($sql); if (! $resql) { - $this->error=$this->db->lasterror(); + $this->errors[]=$this->db->lasterror(); $error = -3; } else if(empty($fk_product_stock)) @@ -235,14 +334,15 @@ class MouvementStock extends CommonObject } - // Update detail stock for sell-by date - if (($product->hasbatch()) && (! $error) && (! $skip_sellby)) + // Update detail stock for batch product + if (! $error && ! empty($conf->productbatch->enabled) && $product->hasbatch() && ! $skip_batch) { - $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby,'sellby'=>$sellby,'batchnumber'=>$batch); + $param_batch=array('fk_product_stock' =>$fk_product_stock, 'eatby'=>$eatby, 'sellby'=>$sellby, 'batchnumber'=>$batch); $result=$this->_create_batch($param_batch, $qty); if ($result<0) $error++; } + // Update PMP and denormalized value of stock qty at product level if (! $error) { $sql = "UPDATE ".MAIN_DB_PREFIX."product SET pmp = ".$newpmp.", stock = ".$this->db->ifsql("stock IS NULL", 0, "stock") . " + ".$qty; @@ -254,30 +354,24 @@ class MouvementStock extends CommonObject $resql=$this->db->query($sql); if (! $resql) { - $this->error=$this->db->lasterror(); + $this->errors[]=$this->db->lasterror(); $error = -4; } } } // Add movement for sub products (recursive call) - if (! $error && ! empty($conf->global->PRODUIT_SOUSPRODUITS)) + if (! $error && ! empty($conf->global->PRODUIT_SOUSPRODUITS) && empty($conf->global->INDEPENDANT_SUBPRODUCT_STOCK)) { - $error = $this->_createSubProduct($user, $fk_product, $entrepot_id, $qty, $type, 0, $label); // we use 0 as price, because pmp is not changed for subproduct + $error = $this->_createSubProduct($user, $fk_product, $entrepot_id, $qty, $type, 0, $label, $inventorycode); // we use 0 as price, because pmp is not changed for subproduct } if ($movestock && ! $error) { - $this->product_id = $fk_product; - $this->entrepot_id = $entrepot_id; - $this->qty = $qty; - // Call trigger $result=$this->call_trigger('STOCK_MOVEMENT',$user); if ($result < 0) $error++; // End call triggers - - //FIXME: Restore previous value of product_id, entrepot_id, qty if trigger fail } if (! $error) @@ -304,9 +398,10 @@ class MouvementStock extends CommonObject * @param int $type Type * @param int $price Price * @param string $label Label of movement + * @param string $inventorycode Inventory code * @return int <0 if KO, 0 if OK */ - function _createSubProduct($user, $idProduct, $entrepot_id, $qty, $type, $price=0, $label='') + function _createSubProduct($user, $idProduct, $entrepot_id, $qty, $type, $price=0, $label='', $inventorycode='') { $error = 0; $pids = array(); @@ -315,6 +410,7 @@ class MouvementStock extends CommonObject $sql = "SELECT fk_product_pere, fk_product_fils, qty"; $sql.= " FROM ".MAIN_DB_PREFIX."product_association"; $sql.= " WHERE fk_product_pere = ".$idProduct; + $sql.= " AND incdec = 1"; dol_syslog(get_class($this)."::_createSubProduct", LOG_DEBUG); $resql=$this->db->query($sql); @@ -337,7 +433,9 @@ class MouvementStock extends CommonObject // Create movement for each subproduct foreach($pids as $key => $value) { - $this->_create($user, $pids[$key], $entrepot_id, ($qty * $pqtys[$key]), $type, 0, $label); + $tmpmove = dol_clone($this); + $tmpmove->_create($user, $pids[$key], $entrepot_id, ($qty * $pqtys[$key]), $type, 0, $label, $inventorycode); // This will also call _createSubProduct making this recursive + unset($tmpmove); } return $error; @@ -358,7 +456,7 @@ class MouvementStock extends CommonObject */ function livraison($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $datem='') { - return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, $datem,'','','',true); + return $this->_create($user, $fk_product, $entrepot_id, (0 - $qty), 2, $price, $label, '', $datem,'','','',true); } /** @@ -390,7 +488,7 @@ class MouvementStock extends CommonObject */ function reception($user, $fk_product, $entrepot_id, $qty, $price=0, $label='', $eatby='', $sellby='', $batch='') { - return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label, '', $eatby, $sellby, $batch); + return $this->_create($user, $fk_product, $entrepot_id, $qty, 3, $price, $label, '', '', $eatby, $sellby, $batch); } @@ -451,10 +549,13 @@ class MouvementStock extends CommonObject * @param int $qty Quantity of product with batch number * @return int <0 if KO, else return productbatch id */ - function _create_batch($dluo, $qty ) { - $pdluo=New Productbatch($this->db); + function _create_batch($dluo, $qty) + { + $pdluo=new Productbatch($this->db); - //Try to find an existing record with batch same batch number or id + $result=0; + + // Try to find an existing record with batch same batch number or id if (is_numeric($dluo)) { $result=$pdluo->fetch($dluo); } else if (is_array($dluo)) { @@ -470,25 +571,34 @@ class MouvementStock extends CommonObject } } else { dol_syslog(get_class($this)."::_create_batch error invalid param dluo".$error, LOG_ERR); - $result = -1; + $result = -1; } - //batch record found so we update it - if ($result>0) { - if ($pdluo->id >0) { + // Batch record found so we update it + if ($result>0) + { + if ($pdluo->id >0) + { $pdluo->qty +=$qty; if ($pdluo->qty == 0) { $result=$pdluo->delete(0,1); } else { $result=$pdluo->update(0,1); } - } else { + } + else + { $pdluo->fk_product_stock=$vfk_product_stock; $pdluo->qty = $qty; $pdluo->eatby = $veatby; $pdluo->sellby = $vsellby; $pdluo->batch = $vbatchnumber; $result=$pdluo->create(0,1); + if ($result < 0) + { + $this->error=$pdluo->error; + $this->errors=$pdluo->errors; + } } return $result; } else { @@ -497,8 +607,17 @@ class MouvementStock extends CommonObject } - function get_origin($fk_origin, $origintype) { - switch ($origintype) { + /** + * Get origin + * + * @param variant $fk_origin id of origin + * @param int $origintype origin type + * @return string name url + */ + function get_origin($fk_origin, $origintype) + { + switch ($origintype) + { case 'commande': require_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; $origin = new Commande($this->db); @@ -528,4 +647,22 @@ class MouvementStock extends CommonObject $origin->fetch($fk_origin); return $origin->getNomUrl(1); } + + + /** + * Initialise an instance with random values. + * Used to build previews or test instances. + * id must be 0 if object instance is a specimen. + * + * @return void + */ + function initAsSpecimen() + { + global $user,$langs,$conf,$mysoc; + + // Initialize parameters + $this->id=0; + + // There is no specific properties. All data into insert are provided as method parameter. + } } diff --git a/htdocs/product/stock/index.php b/htdocs/product/stock/index.php index dc394f898dc..f5d2b9829b8 100644 --- a/htdocs/product/stock/index.php +++ b/htdocs/product/stock/index.php @@ -27,6 +27,7 @@ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/product/stock/class/entrepot.class.php'; $langs->load("stocks"); +$langs->load("productbatch"); // Security check $result=restrictedArea($user,'stock'); @@ -63,7 +64,7 @@ print "
"; $sql = "SELECT e.label, e.rowid, e.statut"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql.= " WHERE e.statut in (0,1)"; -$sql.= " AND e.entity = ".$conf->entity; +$sql.= " AND e.entity IN (".getEntity('stock', 1).")"; $sql.= $db->order('e.statut','DESC'); $sql.= $db->plimit(15, 0); @@ -112,13 +113,13 @@ print '
'; $max=10; $sql = "SELECT p.rowid, p.label as produit,"; $sql.= " e.label as stock, e.rowid as entrepot_id,"; -$sql.= " m.value, m.datem"; +$sql.= " m.value as qty, m.datem, m.batch, m.eatby, m.sellby"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql.= ", ".MAIN_DB_PREFIX."stock_mouvement as m"; $sql.= ", ".MAIN_DB_PREFIX."product as p"; $sql.= " WHERE m.fk_product = p.rowid"; $sql.= " AND m.fk_entrepot = e.rowid"; -$sql.= " AND e.entity = ".$conf->entity; +$sql.= " AND e.entity IN (".getEntity('stock', 1).")"; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) $sql.= " AND p.fk_product_type = 0"; $sql.= $db->order("datem","DESC"); $sql.= $db->plimit($max,0); @@ -133,6 +134,12 @@ if ($resql) print ""; print ''.$langs->trans("LastMovements",min($num,$max)).''; print ''.$langs->trans("Product").''; + if (! empty($conf->productbatch->enabled)) + { + print ''.$langs->trans("Batch").''; + print ''.$langs->trans("l_eatby").''; + print ''.$langs->trans("l_sellby").''; + } print ''.$langs->trans("Warehouse").''; print ''.$langs->trans("FullList").''; print "\n"; @@ -148,12 +155,18 @@ if ($resql) print "rowid\">"; print img_object($langs->trans("ShowProduct"),"product").' '.$objp->produit; print "\n"; + if (! empty($conf->productbatch->enabled)) + { + print ''.$objp->batch.''; + print ''.dol_print_date($db->jdate($objp->eatby),'day').''; + print ''.dol_print_date($db->jdate($objp->sellby),'day').''; + } print ''; print img_object($langs->trans("ShowWarehouse"),"stock").' '.$objp->stock; print "\n"; print ''; - if ($objp->value > 0) print '+'; - print $objp->value.''; + if ($objp->qty > 0) print '+'; + print $objp->qty.''; print "\n"; $i++; } diff --git a/htdocs/product/stock/list.php b/htdocs/product/stock/list.php index c85c501fa58..225a33a9483 100644 --- a/htdocs/product/stock/list.php +++ b/htdocs/product/stock/list.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -51,12 +51,14 @@ $year = strftime("%Y",time()); * View */ +$form=new Form($db); + $sql = "SELECT e.rowid, e.label as ref, e.statut, e.lieu, e.address, e.zip, e.town, e.fk_pays,"; $sql.= " SUM(p.pmp * ps.reel) as estimatedvalue, SUM(p.price * ps.reel) as sellvalue"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON e.rowid = ps.fk_entrepot"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON ps.fk_product = p.rowid"; -$sql.= " WHERE e.entity = ".$conf->entity; +$sql.= " WHERE e.entity IN (".getEntity('stock', 1).")"; if ($sref) { $sql.= " AND e.label LIKE '%".$db->escape($sref)."%'"; @@ -103,9 +105,12 @@ if ($result) while ($i < min($num,$limit)) { $objp = $db->fetch_object($result); + $entrepot->id = $objp->rowid; + $entrepot->libelle = $objp->ref; + $entrepot->lieu = $objp->lieu; print ""; - print ''.img_object($langs->trans("ShowWarehouse"),'stock').' '.$objp->ref.''; - // Location + print '' . $entrepot->getNomUrl(1) . ''; + // Location print ''.$objp->lieu.''; // PMP value print ''; @@ -115,7 +120,11 @@ if ($result) // Selling value print ''; if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($objp->sellvalue,'MT'),1); - else print $langs->trans("Variable"); + else + { + $htmltext=$langs->trans("OptionMULTIPRICESIsOn"); + print $form->textwithtooltip($langs->trans("Variable"),$htmltext); + } print ''; // Status print ''.$entrepot->LibStatut($objp->statut,5).''; @@ -131,7 +140,14 @@ if ($result) print ''; print ''.$langs->trans("Total").''; print ''.price(price2num($total,'MT'),1,$langs,0,0,-1,$conf->currency).''; - print ''.price(price2num($totalsell,'MT'),1,$langs,0,0,-1,$conf->currency).''; + print ''; + if (empty($conf->global->PRODUIT_MULTIPRICES)) print price(price2num($totalsell,'MT'),1,$langs,0,0,-1,$conf->currency); + else + { + $htmltext=$langs->trans("OptionMULTIPRICESIsOn"); + print $form->textwithtooltip($langs->trans("Variable"),$htmltext); + } + print ''; print ' '; print "\n"; } diff --git a/htdocs/product/stock/massstockmove.php b/htdocs/product/stock/massstockmove.php index d08ceb001e8..1749eb2d8c8 100644 --- a/htdocs/product/stock/massstockmove.php +++ b/htdocs/product/stock/massstockmove.php @@ -1,6 +1,6 @@ - * Copyright (C) 2014 Regis Houssin +/* Copyright (C) 2013-2015 Laurent Destaileur + * Copyright (C) 2014 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 @@ -34,6 +34,7 @@ require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php'; $langs->load("products"); $langs->load("stocks"); $langs->load("orders"); +$langs->load("productbatch"); // Security check if ($user->societe_id) { @@ -47,6 +48,7 @@ $action = GETPOST('action','alpha'); $id_product = GETPOST('productid', 'int'); $id_sw = GETPOST('id_sw', 'int'); $id_tw = GETPOST('id_tw', 'int'); +$batch = GETPOST('batch'); $qty = GETPOST('qty'); $idline = GETPOST('idline'); @@ -79,11 +81,6 @@ if ($action == 'addline') $error++; setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Product")),'errors'); } - if (! $qty) - { - $error++; - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Qty")),'errors'); - } if (! ($id_sw > 0)) { $error++; @@ -100,12 +97,47 @@ if ($action == 'addline') $langs->load("errors"); setEventMessage($langs->trans("ErrorWarehouseMustDiffers"),'errors'); } + if (! $qty) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Qty")),'errors'); + } + + // Check a batch number is provided if product need it + if (! $error) + { + $producttmp=new Product($db); + $producttmp->fetch($id_product); + if ($producttmp->hasbatch()) + { + if (empty($batch)) + { + $error++; + setEventMessage($langs->trans("ErrorTryToMakeMoveOnProductRequiringBatchData"), 'errors'); + } + } + } + + // TODO Check qty is ok for stock move. Note qty may not be enough yet, but we make a check now to report a warning. + // What is important is to have qty when doing action 'createmovements' + if (! $error) + { + // Warning, don't forget lines already added into the $_SESSION['massstockmove'] + if ($producttmp->hasbatch()) + { + + } + else + { + + } + } if (! $error) { if (count(array_keys($listofdata)) > 0) $id=max(array_keys($listofdata)) + 1; else $id=1; - $listofdata[$id]=array('id'=>$id, 'id_product'=>$id_product, 'qty'=>$qty, 'id_sw'=>$id_sw, 'id_tw'=>$id_tw); + $listofdata[$id]=array('id'=>$id, 'id_product'=>$id_product, 'qty'=>$qty, 'id_sw'=>$id_sw, 'id_tw'=>$id_tw, 'batch'=>$batch); $_SESSION['massstockmove']=json_encode($listofdata); unset($id_product); @@ -145,6 +177,9 @@ if ($action == 'createmovements') $id_sw=$val['id_sw']; $id_tw=$val['id_tw']; $qty=price2num($val['qty']); + $batch=$val['batch']; + $dlc=-1; // They are loaded later from serial + $dluo=-1; // They are loaded later from serial if (! $error && $id_sw <> $id_tw && is_numeric($qty) && $id_product) { @@ -154,39 +189,98 @@ if ($action == 'createmovements') // Define value of products moved $pricesrc=0; - if (isset($product->stock_warehouse[$id_sw]->pmp)) $pricesrc=$product->stock_warehouse[$id_sw]->pmp; + if (! empty($product->pmp)) $pricesrc=$product->pmp; $pricedest=$pricesrc; //print 'price src='.$pricesrc.', price dest='.$pricedest;exit; - // Remove stock - $result1=$product->correct_stock( - $user, - $id_sw, - $qty, - 1, - GETPOST("label"), - $pricesrc - ); - if ($result1 < 0) + if (empty($conf->productbatch->enabled) || ! $product->hasbatch()) // If product does not need lot/serial { - $error++; - setEventMessage($product->errors,'errors'); - } + // Remove stock + $result1=$product->correct_stock( + $user, + $id_sw, + $qty, + 1, + GETPOST("label"), + $pricesrc, + GETPOST("codemove") + ); + if ($result1 < 0) + { + $error++; + setEventMessage($product->errors,'errors'); + } - // Add stock - $result2=$product->correct_stock( - $user, - $id_tw, - $qty, - 0, - GETPOST("label"), - $pricedest - ); - if ($result2 < 0) + // Add stock + $result2=$product->correct_stock( + $user, + $id_tw, + $qty, + 0, + GETPOST("label"), + $pricedest, + GETPOST("codemove") + ); + if ($result2 < 0) + { + $error++; + setEventMessage($product->errors,'errors'); + } + } + else { - $error++; - setEventMessage($product->errors,'errors'); + $arraybatchinfo=$product->loadBatchInfo($batch); + if (count($arraybatchinfo) > 0) + { + $firstrecord = array_shift($arraybatchinfo); + $dlc=$firstrecord['eatby']; + $dluo=$firstrecord['sellby']; + //var_dump($batch); var_dump($arraybatchinfo); var_dump($firstrecord); var_dump($dlc); var_dump($dluo); exit; + } + else + { + $dlc=''; + $dluo=''; + } + + // Remove stock + $result1=$product->correct_stock_batch( + $user, + $id_sw, + $qty, + 1, + GETPOST("label"), + $pricesrc, + $dlc, + $dluo, + $batch, + GETPOST("codemove") + ); + if ($result1 < 0) + { + $error++; + setEventMessage($product->errors,'errors'); + } + + // Add stock + $result2=$product->correct_stock_batch( + $user, + $id_tw, + $qty, + 0, + GETPOST("label"), + $pricedest, + $dlc, + $dluo, + $batch, + GETPOST("codemove") + ); + if ($result2 < 0) + { + $error++; + setEventMessage($product->errors,'errors'); + } } } else @@ -254,6 +348,10 @@ $param=''; print ''; print getTitleFieldOfList($langs->trans('ProductRef'),0,$_SERVER["PHP_SELF"],'',$param,'','class="tagtd"',$sortfield,$sortorder); +if ($conf->productbatch->enabled) +{ + print getTitleFieldOfList($langs->trans('Batch'),0,$_SERVER["PHP_SELF"],'',$param,'','class="tagtd"',$sortfield,$sortorder); +} print getTitleFieldOfList($langs->trans('WarehouseSource'),0,$_SERVER["PHP_SELF"],'',$param,'','class="tagtd"',$sortfield,$sortorder); print getTitleFieldOfList($langs->trans('WarehouseTarget'),0,$_SERVER["PHP_SELF"],'',$param,'','class="tagtd"',$sortfield,$sortorder); print getTitleFieldOfList($langs->trans('Qty'),0,$_SERVER["PHP_SELF"],'',$param,'','align="center" class="tagtd"',$sortfield,$sortorder); @@ -276,6 +374,13 @@ else } print $form->select_produits($id_product,'productid',$filtertype,$limit); print ''; +// Batch number +if ($conf->productbatch->enabled) +{ + print ''; + print ''; + print ''; +} // In warehouse print ''; print $formproduct->selectWarehouses($id_sw,'id_sw','',1); @@ -301,7 +406,15 @@ foreach($listofdata as $key => $val) $warehousestatict->fetch($val['id_tw']); print ''; - print ''.$productstatic->getNomUrl(1).' - ' . $productstatic->label . ''; + print ''; + print $productstatic->getNomUrl(1).' - '.$productstatic->label; + print ''; + if ($conf->productbatch->enabled) + { + print ''; + print $val['batch']; + print ''; + } print ''; print $warehousestatics->getNomUrl(1); print ''; @@ -327,9 +440,16 @@ print ''; print ''; // Button to record mass movement +$codemove=GETPOST('codemove'); $labelmovement=GETPOST("label")?GETPOST('label'):$langs->trans("StockTransfer").' '.dol_print_date($now,'%Y-%m-%d %H:%M'); print ''; + print ''; + print ''; + print ''; + print ''; print ''; print ''; print '"; // Last movement @@ -294,13 +328,34 @@ if ($resql) print "
'.$langs->trans("InventoryCode").''; + print ''; + print '
'.$langs->trans("LabelMovement").''; diff --git a/htdocs/product/stock/mouvement.php b/htdocs/product/stock/mouvement.php index 177d8c5e0b3..82c8ded066f 100644 --- a/htdocs/product/stock/mouvement.php +++ b/htdocs/product/stock/mouvement.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2015 Juanjo Menent * @@ -51,7 +51,9 @@ $search_movement = GETPOST("search_movement"); $search_product_ref = trim(GETPOST("search_product_ref")); $search_product = trim(GETPOST("search_product")); $search_warehouse = trim(GETPOST("search_warehouse")); +$search_inventorycode = trim(GETPOST("search_inventorycode")); $search_user = trim(GETPOST("search_user")); +$search_batch = trim(GETPOST("search_batch")); $page = GETPOST("page",'int'); $sortfield = GETPOST("sortfield",'alpha'); $sortorder = GETPOST("sortorder",'alpha'); @@ -70,6 +72,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $search_product=""; $search_warehouse=""; $search_user=""; + $search_batch=""; $sall=""; } @@ -78,32 +81,74 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both * Actions */ -if ($cancel) $action=''; +if ($cancel) $action=''; // Protection to avoid action for all cancel buttons // Correct stock -if ($action == "correct_stock" && ! $_POST["cancel"]) +if ($action == "correct_stock") { - if (is_numeric($_POST["nbpiece"]) && $product_id) - { - $product = new Product($db); - $result=$product->fetch($product_id); + $product = new Product($db); + if (! empty($product_id)) $result=$product->fetch($product_id); - $result=$product->correct_stock( - $user, - $id, - $_POST["nbpiece"], - $_POST["mouvement"], - $_POST["label"], - 0 - ); // We do not change value of stock for a correction + $error=0; + + if (empty($product_id)) + { + $error++; + setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Product")), 'errors'); + $action='correction'; + } + if (! is_numeric($_POST["nbpiece"])) + { + $error++; + setEventMessage($langs->trans("ErrorFieldMustBeANumeric", $langs->transnoentitiesnoconv("NumberOfUnit")), 'errors'); + $action='correction'; + } + + if (! $error) + { + if ($product->hasbatch()) + { + $batch=GETPOST('batch_number'); + $eatby=GETPOST('eatby'); + $sellby=GETPOST('sellby'); + $result=$product->correct_stock_batch( + $user, + $id, + GETPOST("nbpiece",'int'), + GETPOST("mouvement"), + GETPOST("label",'san_alpha'), + GETPOST('unitprice'), + $eatby,$sellby,$batch, + GETPOST('inventorycode') + ); // We do not change value of stock for a correction + } + else + { + $result=$product->correct_stock( + $user, + $id, + GETPOST("nbpiece",'int'), + GETPOST("mouvement"), + GETPOST("label",'san_alpha'), + GETPOST('unitprice'), + GETPOST('inventorycode') + ); // We do not change value of stock for a correction + } if ($result > 0) { header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); exit; } + else + { + $error++; + setEventMessages($product->error, $product->errors, 'errors'); + $action='correction'; + } } - else $action=''; + + if (! $error) $action=''; } @@ -120,8 +165,9 @@ $formother=new FormOther($db); $formproduct=new FormProduct($db); $sql = "SELECT p.rowid, p.ref as product_ref, p.label as produit, p.fk_product_type as type,"; -$sql.= " e.label as stock, e.rowid as entrepot_id,"; -$sql.= " m.rowid as mid, m.value, m.datem, m.fk_user_author, m.label, m.fk_origin, m.origintype,"; +$sql.= " e.label as stock, e.rowid as entrepot_id, e.lieu,"; +$sql.= " m.rowid as mid, m.value, m.datem, m.fk_user_author, m.label, m.inventorycode, m.fk_origin, m.origintype,"; +$sql.= " m.batch,m.eatby,m.sellby,"; $sql.= " u.login"; $sql.= " FROM (".MAIN_DB_PREFIX."entrepot as e,"; $sql.= " ".MAIN_DB_PREFIX."product as p,"; @@ -129,7 +175,7 @@ $sql.= " ".MAIN_DB_PREFIX."stock_mouvement as m)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."user as u ON m.fk_user_author = u.rowid"; $sql.= " WHERE m.fk_product = p.rowid"; $sql.= " AND m.fk_entrepot = e.rowid"; -$sql.= " AND e.entity = ".$conf->entity; +$sql.= " AND e.entity IN (".getEntity('stock', 1).")"; if (empty($conf->global->STOCK_SUPPORTS_SERVICES)) $sql.= " AND p.fk_product_type = 0"; if ($id) { @@ -146,34 +192,22 @@ else if ($year > 0) { $sql.= " AND m.datem BETWEEN '".$db->idate(dol_get_first_day($year,1,false))."' AND '".$db->idate(dol_get_last_day($year,12,false))."'"; } -if (! empty($search_movement)) -{ - $sql.= " AND m.label LIKE '%".$db->escape($search_movement)."%'"; -} -if (! empty($search_product_ref)) -{ - $sql.= " AND p.ref LIKE '%".$db->escape($search_product_ref)."%'"; -} -if (! empty($search_product)) -{ - $sql.= " AND p.label LIKE '%".$db->escape($search_product)."%'"; -} -if (! empty($search_warehouse)) -{ - $sql.= " AND e.label LIKE '%".$db->escape($search_warehouse)."%'"; -} -if (! empty($search_user)) -{ - $sql.= " AND u.login LIKE '%".$db->escape($search_user)."%'"; -} if ($idproduct > 0) { $sql.= " AND p.rowid = '".$idproduct."'"; } +if (! empty($search_movement)) $sql.= " AND m.label LIKE '%".$db->escape($search_movement)."%'"; +if (! empty($search_inventorycode)) $sql.= " AND m.inventorycode LIKE '%".$db->escape($search_inventorycode)."%'"; +if (! empty($search_product_ref)) $sql.= " AND p.ref LIKE '%".$db->escape($search_product_ref)."%'"; +if (! empty($search_product)) $sql.= " AND p.label LIKE '%".$db->escape($search_product)."%'"; +if (! empty($search_warehouse)) $sql.= " AND e.label LIKE '%".$db->escape($search_warehouse)."%'"; +if (! empty($search_user)) $sql.= " AND u.login LIKE '%".$db->escape($search_user)."%'"; +if (! empty($search_batch)) $sql.= " AND m.batch LIKE '%".$db->escape($search_batch)."%'"; $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($conf->liste_limit+1, $offset); //print $sql; + $resql = $db->query($sql); if ($resql) { @@ -263,7 +297,7 @@ if ($resql) // Value print '
'.$langs->trans("EstimatedStockValueShort").''; - print empty($calcproducts['value'])?'0':$calcproducts['value']; + print price((empty($calcproducts['value'])?'0':price2num($calcproducts['value'],'MT')), 0, $langs, 0, -1, -1, $conf->currency); print "
"; - print '
'; + dol_fiche_end(); } + /* + * Correct stock + */ + if ($action == "correction") + { + if ($id) $object=$entrepot; + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stockcorrection.tpl.php'; + print '
'; + } + + /* + * Transfer of units + */ + if ($action == "transfert") + { + if ($id) $object=$entrepot; + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stocktransfer.tpl.php'; + print '
'; + } + /* * Correct stock */ + /* if ($action == "correction") { print_titre($langs->trans("StockCorrection")); @@ -309,7 +364,7 @@ if ($resql) print ''; print ''; - // Warehouse + // Product print ''; print ''; print '
'.$langs->trans("Product").''; @@ -333,15 +388,15 @@ if ($resql) print '
'; - print '
 '; - print '
'; - print ''; + print '
'; + print ''; + print '     '; + print ''; + print '
'; + + print ''; } - /* - * Transfer of units - */ - /* if ($action == "transfert") { print_titre($langs->trans("Transfer")); @@ -371,8 +426,11 @@ if ($resql) print ''; - print '
 '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; } @@ -404,6 +462,7 @@ if ($resql) $param=''; if ($id) $param.='&id='.$id; if ($search_movement) $param.='&search_movement='.urlencode($search_movement); + if ($search_inventorycode) $param.='&search_inventorycode='.urlencode($search_inventorycode); if ($search_product_ref) $param.='&search_product_ref='.urlencode($search_product_ref); if ($search_product) $param.='&search_product='.urlencode($search_product); if ($search_warehouse) $param.='&search_warehouse='.urlencode($search_warehouse); @@ -414,52 +473,77 @@ if ($resql) if ($id) print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num,0,''); else print_barre_liste($texte, $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num); + print '
'; + if ($id) print ''; + print ''; print ""; //print_liste_field_titre($langs->trans("Id"),$_SERVER["PHP_SELF"], "m.rowid","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Date"),$_SERVER["PHP_SELF"], "m.datem","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("LabelMovement"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductRef"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("ProductLabel"),$_SERVER["PHP_SELF"], "p.ref","",$param,"",$sortfield,$sortorder); + if (! empty($conf->productbatch->enabled)) + { + $langs->load("productbatch"); + print_liste_field_titre($langs->trans("BatchNumberShort"),$_SERVER["PHP_SELF"],'m.batch','',$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("l_eatby"),$_SERVER["PHP_SELF"],'m.eatby','',$param,'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("l_sellby"),$_SERVER["PHP_SELF"],'m.sellby','',$param,'align="center"',$sortfield,$sortorder); + } print_liste_field_titre($langs->trans("Warehouse"),$_SERVER["PHP_SELF"], "","",$param,"",$sortfield,$sortorder); // We are on a specific warehouse card, no filter on other should be possible print_liste_field_titre($langs->trans("Author"),$_SERVER["PHP_SELF"], "m.fk_user_author","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("InventoryCodeShort"),$_SERVER["PHP_SELF"], "m.inventorycode","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("LabelMovement"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Source"),$_SERVER["PHP_SELF"], "m.label","",$param,"",$sortfield,$sortorder); print_liste_field_titre($langs->trans("Units"),$_SERVER["PHP_SELF"], "m.value","",$param,'align="right"',$sortfield,$sortorder); print "\n"; // Lignes des champs de filtre - print ''; - if ($id) print ''; print ''; print ''; - // Label of movement - print ''; - // Origin of movement - print ''; // Product Ref print ''; // Product label print ''; + // Batch + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } + // Warehouse print ''; + // Author print ''; + // Inventory code + print ''; + // Label of movement + print ''; + // Origin of movement + print ''; + print ''; // This is primary not movement id // Date print ''; - // Label of movement - print ''; - // Origin of movement - print ''; // Product ref print '\n"; @@ -505,10 +586,18 @@ if ($resql) $productstatic->type=$objp->type; print $productstatic->getNomUrl(1,'',16); print "\n"; + // Batch + if (! empty($conf->productbatch->enabled)) + { + print ''; + print ''; + print ''; + } // Warehouse print '\n"; // Author @@ -517,6 +606,12 @@ if ($resql) $userstatic->lastname=$objp->login; print $userstatic->getNomUrl(1); print "\n"; + // Inventory code + print ''; + // Label of movement + print ''; + // Origin of movement + print ''; // Value print ''; // Label - print ''; + print ''; print ''; // Status (to sell) @@ -341,7 +432,9 @@ if ($id > 0 || $ref) // PMP print ''; - print ''; + print ''; print ''; // Minimum Price @@ -389,7 +482,7 @@ if ($id > 0 || $ref) print ''; } - // Stock + // Stock alert threshold print ''; @@ -409,7 +502,7 @@ if ($id > 0 || $ref) $text_stock_options.= (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_VALIDATE_ORDER)?$langs->trans("ReStockOnValidateOrder").'
':''); $text_stock_options.= (! empty($conf->global->STOCK_CALCULATE_ON_SUPPLIER_DISPATCH_ORDER)?$langs->trans("ReStockOnDispatchOrder").'
':''); print ''; print ''; print ''; print "\n"; @@ -159,7 +159,8 @@ if ( $resql ) print ''; print ''; print "\n"; @@ -220,7 +221,8 @@ if ( $resql ) print ''; print ''; print "\n"; @@ -271,7 +273,8 @@ if ( $resql ) print ''; print ''; print "\n"; @@ -318,7 +321,8 @@ if ( $resql ) print ''; print ''; print "\n"; diff --git a/htdocs/projet/activity/list.php b/htdocs/projet/activity/list.php deleted file mode 100644 index af569d3351f..00000000000 --- a/htdocs/projet/activity/list.php +++ /dev/null @@ -1,205 +0,0 @@ - - * Copyright (C) 2004-2013 Laurent Destailleur - * Copyright (C) 2005-2010 Regis Houssin - * Copyright (C) 2010 François Legastelois - * - * 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/projet/activity/list.php - * \ingroup projet - * \brief List activities of tasks - */ - -require ("../../main.inc.php"); -require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; -require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; - -$langs->load('projects'); - -$action=GETPOST('action'); -$mode=GETPOST("mode"); -$id=GETPOST('id','int'); - -$mine=0; -if ($mode == 'mine') $mine=1; - -$projectid=''; -$projectid=isset($_GET["id"])?$_GET["id"]:$_POST["projectid"]; - -// Security check -$socid=0; -if ($user->societe_id > 0) $socid=$user->societe_id; -$result = restrictedArea($user, 'projet', $projectid); - - -/* - * Actions - */ - -if ($action == 'addtime' && $user->rights->projet->creer) -{ - $task = new Task($db); - - $timespent_duration=array(); - - foreach($_POST as $key => $time) - { - if (intval($time) > 0) - { - // Hours or minutes - if (preg_match("/([0-9]+)(hour|min)/",$key,$matches)) - { - $id = $matches[1]; - if ($id > 0) - { - // We store HOURS in seconds - if($matches[2]=='hour') $timespent_duration[$id] += $time*60*60; - - // We store MINUTES in seconds - if($matches[2]=='min') $timespent_duration[$id] += $time*60; - } - } - } - } - - if (count($timespent_duration) > 0) - { - foreach($timespent_duration as $key => $val) - { - $task->fetch($key); - $task->progress = GETPOST($key . 'progress', 'int'); - $task->timespent_duration = $val; - $task->timespent_fk_user = $user->id; - $task->timespent_date = dol_mktime(12,0,0,$_POST["{$key}month"],$_POST["{$key}day"],$_POST["{$key}year"]); - $task->addTimeSpent($user); - } - - setEventMessage($langs->trans("RecordSaved")); - - // Redirect to avoid submit twice on back - header('Location: '.$_SERVER["PHP_SELF"].'?id='.$projectid.($mode?'&mode='.$mode:'')); - exit; - } - else - { - setEventMessage($langs->trans("ErrorTimeSpentIsEmpty"), 'errors'); - } -} - - - -/* - * View - */ - -$form=new Form($db); -$projectstatic=new Project($db); -$project = new Project($db); -$taskstatic = new Task($db); - -$title=$langs->trans("TimeSpent"); -if ($mine) $title=$langs->trans("MyTimeSpent"); - -//$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,$mine,1); -$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); // Return all project i have permission on. I want my tasks and some of my task may be on a public projet that is not my project - -if ($id) -{ - $project->fetch($id); - $project->fetch_thirdparty(); -} - -$onlyopened=1; // or -1 -$tasksarray=$taskstatic->getTasksArray(0,0,($project->id?$project->id:$projectsListId),$socid,0,'',$onlyopened); // We want to see all task of opened project i am allowed to see, not only mine. Later only mine will be editable later. -$projectsrole=$taskstatic->getUserRolesForProjectsOrTasks($user,0,($project->id?$project->id:$projectsListId),0); -$tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0,$user,($project->id?$project->id:$projectsListId),0); -//var_dump($tasksarray); -//var_dump($projectsrole); -//var_dump($taskrole); - - -llxHeader("",$title,""); - -print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num); - -// Show description of content -if ($mine) print $langs->trans("MyTasksDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'

'; -else -{ - if ($user->rights->projet->all->lire && ! $socid) print $langs->trans("ProjectsDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'

'; - else print $langs->trans("ProjectsPublicTaskDesc").($onlyopened?' '.$langs->trans("AlsoOnlyOpenedProject"):'').'

'; -} - - -// Filter on user -/* dol_fiche_head(''); - print '
'; print $langs->trans('Month').': '; - print ' '.$langs->trans('Year').': '; - $syear = GETPOST('year')?GETPOST('year'):-1; + if (empty($conf->productbatch->enabled)) print ' '; + else print '
'; + print $langs->trans('Year').': '; + $syear = $year?$year:-1; $formother->select_year($syear,'year',1, 20, 5); print '
'; - print ''; - print ''; - print '  '; - print ''; print ''; print ''; - print ''; + print ''; print ''; - if (empty($idproduct) || $idproduct < 0) print ''; // We are on a specific warehouse card, no filter on other should be possible + print ''; print ''; print ''; print ''; + print ''; + print ''; + print ''; + print ''; + print '  '; + print ''; print ''; print ''; @@ -487,14 +571,11 @@ if ($resql) //print ''.$objp->mid.''.dol_print_date($db->jdate($objp->datem),'dayhour').''.$objp->label.''.$origin.''; $productstatic->id=$objp->rowid; $productstatic->ref=$objp->product_ref; + $productstatic->label=$objp->produit; $productstatic->type=$objp->type; print $productstatic->getNomUrl(1,'',16); print "'.$objp->batch.''. dol_print_date($objp->eatby,'day') .''. dol_print_date($objp->sellby,'day') .''; $warehousestatic->id=$objp->entrepot_id; $warehousestatic->libelle=$objp->stock; + $warehousestatic->lieu=$objp->lieu; print $warehousestatic->getNomUrl(1); print "'.$objp->inventorycode.''.$objp->label.''.$origin.''; if ($objp->value > 0) print '+'; diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php index 6dad4256aef..f80050287e9 100644 --- a/htdocs/product/stock/product.php +++ b/htdocs/product/stock/product.php @@ -6,7 +6,8 @@ * Copyright (C) 2005-2009 Regis Houssin * Copyright (C) 2013 Cédric Salvador * Copyright (C) 2013-2015 Juanjo Menent - * Copyright (C) 2014 Cédric Gross + * Copyright (C) 2014-2015 Cédric Gross + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -43,17 +44,21 @@ $langs->load("stocks"); $langs->load("sendings"); if (! empty($conf->productbatch->enabled)) $langs->load("productbatch"); - +$backtopage=GETPOST('backtopage'); $action=GETPOST("action"); $cancel=GETPOST('cancel'); -// Security check $id=GETPOST('id', 'int'); $ref=GETPOST('ref', 'alpha'); $stocklimit = GETPOST('stocklimit'); $desiredstock = GETPOST('desiredstock'); $cancel = GETPOST('cancel'); $fieldid = isset($_GET["ref"])?'ref':'rowid'; +$d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); +$d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); +$pdluoid=GETPOST('pdluoid','int'); + +// Security check if ($user->societe_id) $socid=$user->societe_id; $result=restrictedArea($user,'produit&stock',$id,'product&product','','',$fieldid); @@ -119,7 +124,7 @@ if ($action == "correct_stock" && ! $cancel) if (! $error) { - $priceunit=price2num(GETPOST("price")); + $priceunit=price2num(GETPOST("unitprice")); if (is_numeric(GETPOST("nbpiece")) && $id) { if (empty($product)) { @@ -128,18 +133,17 @@ if ($action == "correct_stock" && ! $cancel) } if ($product->hasbatch()) { - $d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); - $d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); $result=$product->correct_stock_batch( $user, GETPOST("id_entrepot"), GETPOST("nbpiece"), GETPOST("mouvement"), - GETPOST("label"), + GETPOST("label"), // label movement $priceunit, $d_eatby, $d_sellby, - GETPOST('batch_number') + GETPOST('batch_number'), + GETPOST('inventorycode') ); // We do not change value of stock for a correction } else @@ -150,14 +154,23 @@ if ($action == "correct_stock" && ! $cancel) GETPOST("nbpiece"), GETPOST("mouvement"), GETPOST("label"), - $priceunit + $priceunit, + GETPOST('inventorycode') ); // We do not change value of stock for a correction } if ($result > 0) { - header("Location: ".$_SERVER["PHP_SELF"]."?id=".$product->id); - exit; + if ($backtopage) + { + header("Location: ".$backtopage); + exit; + } + else + { + header("Location: ".$_SERVER["PHP_SELF"]."?id=".$product->id); + exit; + } } else { @@ -171,108 +184,186 @@ if ($action == "correct_stock" && ! $cancel) // Transfer stock from a warehouse to another warehouse if ($action == "transfert_stock" && ! $cancel) { - if (! (GETPOST("id_entrepot_source") > 0) || ! (GETPOST("id_entrepot_destination") > 0)) + if (! (GETPOST("id_entrepot_source",'int') > 0) || ! (GETPOST("id_entrepot_destination",'int') > 0)) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("Warehouse")), 'errors'); $error++; $action='transfert'; } - if (! GETPOST("nbpiece")) + if (! GETPOST("nbpiece",'int')) { setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("NumberOfUnit")), 'errors'); $error++; $action='transfert'; } + if (GETPOST("id_entrepot_source",'int') == GETPOST("id_entrepot_destination",'int')) + { + setEventMessage($langs->trans("ErrorSrcAndTargetWarehouseMustDiffers"), 'errors'); + $error++; + $action='transfert'; + } if (! $error) { - if (GETPOST("id_entrepot_source") <> GETPOST("id_entrepot_destination")) + if ($id) { - if (is_numeric(GETPOST("nbpiece")) && $id) + $product = new Product($db); + $result=$product->fetch($id); + + $db->begin(); + + $product->load_stock(); // Load array product->stock_warehouse + + // Define value of products moved + $pricesrc=0; + //if (isset($product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp)) $pricesrc=$product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp; + if (isset($product->pmp)) $pricesrc=$product->pmp; + $pricedest=$pricesrc; + + if ($product->hasbatch()) { - $product = new Product($db); - $result=$product->fetch($id); + $pdluo = new Productbatch($db); - $db->begin(); - - $product->load_stock(); // Load array product->stock_warehouse - - // Define value of products moved - $pricesrc=0; - if (isset($product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp)) $pricesrc=$product->stock_warehouse[GETPOST("id_entrepot_source")]->pmp; - $pricedest=$pricesrc; - - //print 'price src='.$pricesrc.', price dest='.$pricedest;exit; - - $pdluoid=GETPOST('pdluoid','int'); - - if ($pdluoid>0) + if ($pdluoid > 0) { - $pdluo = new Productbatch($db); - $result=$pdluo->fetch($pdluoid); - - if ($result>0 && $pdluo->id) - { - // Remove stock - $result1=$product->correct_stock_batch( - $user, - $pdluo->warehouseid, - GETPOST("nbpiece",'int'), - 1, - GETPOST("label",'san_alpha'), - $pricesrc, - $pdluo->eatby,$pdluo->sellby,$pdluo->batch - ); - // Add stock - $result2=$product->correct_stock_batch( - $user, - GETPOST("id_entrepot_destination",'int'), - GETPOST("nbpiece",'int'), - 0, - GETPOST("label",'san_alpha'), - $pricedest, - $pdluo->eatby,$pdluo->sellby,$pdluo->batch - ); - } + $result=$pdluo->fetch($pdluoid); + if ($result) + { + $srcwarehouseid=$pdluo->warehouseid; + $batch=$pdluo->batch; + $eatby=$pdluo->eatby; + $sellby=$pdluo->sellby; + } + else + { + setEventMessages($pdluo->error, $pdluo->errors, 'errors'); + $error++; + } } else { - // Remove stock - $result1=$product->correct_stock( - $user, - GETPOST("id_entrepot_source"), - GETPOST("nbpiece"), - 1, - GETPOST("label"), - $pricesrc - ); - - // Add stock - $result2=$product->correct_stock( - $user, - GETPOST("id_entrepot_destination"), - GETPOST("nbpiece"), - 0, - GETPOST("label"), - $pricedest - ); + $srcwarehouseid=GETPOST('id_entrepot_source','int'); + $batch=GETPOST('batch_number'); + $eatby=$d_eatby; + $sellby=$d_sellby; } - if ($result1 >= 0 && $result2 >= 0) + + if (! $error) { - $db->commit(); - header("Location: product.php?id=".$product->id); + // Remove stock + $result1=$product->correct_stock_batch( + $user, + $srcwarehouseid, + GETPOST("nbpiece",'int'), + 1, + GETPOST("label",'san_alpha'), + $pricesrc, + $eatby,$sellby,$batch, + GETPOST('inventorycode') + ); + // Add stock + $result2=$product->correct_stock_batch( + $user, + GETPOST("id_entrepot_destination",'int'), + GETPOST("nbpiece",'int'), + 0, + GETPOST("label",'san_alpha'), + $pricedest, + $eatby,$sellby,$batch, + GETPOST('inventorycode') + ); + } + } + else + { + // Remove stock + $result1=$product->correct_stock( + $user, + GETPOST("id_entrepot_source"), + GETPOST("nbpiece"), + 1, + GETPOST("label"), + $pricesrc, + GETPOST('inventorycode') + ); + + // Add stock + $result2=$product->correct_stock( + $user, + GETPOST("id_entrepot_destination"), + GETPOST("nbpiece"), + 0, + GETPOST("label"), + $pricedest, + GETPOST('inventorycode') + ); + } + if (! $error && $result1 >= 0 && $result2 >= 0) + { + $db->commit(); + + if ($backtopage) + { + header("Location: ".$backtopage); exit; } else { - setEventMessage($product->error, 'errors'); - $db->rollback(); + header("Location: product.php?id=".$product->id); + exit; } } + else + { + setEventMessages($product->error, $product->errors, 'errors'); + $db->rollback(); + $action='transfert'; + } } } } +// Update batch information +if ($action == 'updateline' && GETPOST('save') == $langs->trans('Save')) +{ + + $pdluo = new Productbatch($db); + $result=$pdluo->fetch(GETPOST('pdluoid','int')); + + if ($result>0) + { + if ($pdluo->id) + { + if ((! GETPOST("sellby")) && (! GETPOST("eatby")) && (! GETPOST("batch_number"))) { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("atleast1batchfield")), 'errors'); + } + else + { + $d_eatby=dol_mktime(12, 0, 0, $_POST['eatbymonth'], $_POST['eatbyday'], $_POST['eatbyyear']); + $d_sellby=dol_mktime(12, 0, 0, $_POST['sellbymonth'], $_POST['sellbyday'], $_POST['sellbyyear']); + $pdluo->batch=GETPOST("batch_number",'san_alpha'); + $pdluo->eatby=$d_eatby; + $pdluo->sellby=$d_sellby; + $result=$pdluo->update($user); + if ($result<0) + { + setEventMessages($pdluo->error,$pdluo->errors, 'errors'); + } + } + } + else + { + setEventMessages($langs->trans('BatchInformationNotfound'),null, 'errors'); + } + } + else + { + setEventMessages($pdluo->error,null, 'errors'); + } + header("Location: product.php?id=".$id); + exit; +} + /* @@ -293,9 +384,9 @@ if ($id > 0 || $ref) if ($result > 0) { - $head=product_prepare_head($product, $user); + $head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); - $picto=($product->type==1?'service':'product'); + $picto=($product->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'stock', $titre, 0, $picto); dol_htmloutput_events(); @@ -312,7 +403,7 @@ if ($id > 0 || $ref) print '
'.$langs->trans("Label").''.$product->libelle.'
'.$langs->trans("Label").''.$product->label.'
'.$langs->trans("AverageUnitPricePMP").''.price($product->pmp).' '.$langs->trans("HT").''; + if ($product->pmp > 0) print price($product->pmp).' '.$langs->trans("HT"); + print '
'.$form->editfieldkey("StockLimit",'stocklimit',$product->seuil_stock_alerte,$product,$user->rights->produit->creer).''; print $form->editfieldval("StockLimit",'stocklimit',$product->seuil_stock_alerte,$product,$user->rights->produit->creer); print '
'; - print $form->textwithtooltip($langs->trans("PhysicalStock"),$text_stock_options,2,1,img_picto('', 'info'),'',0); + print $form->textwithtooltip($langs->trans("PhysicalStock"), $text_stock_options, 2, 1, img_picto('', 'info'), '', 2); print ''.$product->stock_reel; if ($product->seuil_stock_alerte && ($product->stock_reel < $product->seuil_stock_alerte)) print ' '.img_warning($langs->trans("StockLowerThanLimit")); @@ -505,70 +598,8 @@ if ($id > 0 || $ref) */ if ($action == "correction") { - print ''; - - print_titre($langs->trans("StockCorrection")); - print ''."\n"; - print ''; - print ''; - print ''; - - // Warehouse - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - - // Label - print ''; - print ''; - print ''; - print ''; - print ''; - - //eat-by date - if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - } - print '
'.$langs->trans("Warehouse").''; - print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot','int'):'ifone')),'id_entrepot','',1); - print ''; - print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("Label").''; - print ''; - print ''.$langs->trans("UnitPurchaseValue").'
'.$langs->trans("batch_number").''; - print ''; - print '
'.$langs->trans("l_eatby").''; - $form->select_date('','eatby','','',1,""); - print ''.$langs->trans("l_sellby").''; - $form->select_date('','sellby','','',1,""); - print '
'; - - print '
 '; - print '
'; - print ''; + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stockcorrection.tpl.php'; + print '
'; } /* @@ -576,36 +607,8 @@ if ($id > 0 || $ref) */ if ($action == "transfert") { - print_titre($langs->trans("StockTransfer")); - print '
'."\n"; - print ''; - print ''; - print ''; - - print ''; - print ''; - print ''; - print ''; - print ''; - - // Label - print ''; - print ''; - print ''; - print ''; - - print '
'.$langs->trans("WarehouseSource").''; - print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); - print ''.$langs->trans("WarehouseTarget").''; - print $formproduct->selectWarehouses(GETPOST('id_entrepot_destination'),'id_entrepot_destination','',1); - print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("LabelMovement").''; - print ''; - print '
'; - - print '
 '; - print '
'; - - print '
'; + include DOL_DOCUMENT_ROOT.'/product/stock/tpl/stocktransfer.tpl.php'; + print '
'; } /* @@ -619,9 +622,9 @@ if ($id > 0 || $ref) print ''; print ''; print ''; - print ''; + print ''; print ''; print '
'.$langs->trans("Warehouse").''; + print ''.$langs->trans("Warehouse").''; print $formproduct->selectWarehouses('','id_entrepot','',1); - print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("NumberOfUnit").'
 '; print '
'; @@ -651,7 +654,8 @@ if (empty($action) && $product->id) print ''.$langs->trans("StockCorrection").''; } - if (($user->rights->stock->mouvement->creer) && !$product->hasbatch()) + //if (($user->rights->stock->mouvement->creer) && ! $product->hasbatch()) + if (($user->rights->stock->mouvement->creer)) { print ''.$langs->trans("StockMovement").''; } @@ -663,8 +667,9 @@ if (empty($action) && $product->id) /* - * Contenu des stocks + * Stock detail (by warehouse). Do not go down into batch. */ + print '
'; print ''; print ''; @@ -673,7 +678,8 @@ print ''; print ''; print ''; print ''; -if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { +if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) +{ print ''; print ''; print ''; @@ -682,12 +688,12 @@ if ( (! empty($conf->productbatch->enabled)) && $product->hasbatch()) { print ''; } -$sql = "SELECT e.rowid, e.label, ps.reel, ps.pmp, ps.rowid as product_stock_id"; +$sql = "SELECT e.rowid, e.label, e.lieu, ps.reel, ps.pmp, ps.rowid as product_stock_id"; $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e,"; $sql.= " ".MAIN_DB_PREFIX."product_stock as ps"; $sql.= " WHERE ps.reel != 0"; $sql.= " AND ps.fk_entrepot = e.rowid"; -$sql.= " AND e.entity = ".$conf->entity; +$sql.= " AND e.entity IN (".getEntity('stock', 1).")"; $sql.= " AND ps.fk_product = ".$product->id; $sql.= " ORDER BY e.label"; @@ -706,27 +712,28 @@ if ($resql) $obj = $db->fetch_object($resql); $entrepotstatic->id=$obj->rowid; $entrepotstatic->libelle=$obj->label; + $entrepotstatic->lieu=$obj->lieu; print ''; print ''; print ''; // PMP - print ''; // Ditto : Show PMP from movement or from product + print ''; // Value purchase - print ''; // Ditto : Show PMP from movement or from product + print ''; // Sell price print ''; // Ditto : Show PMP from movement or from product + print ''; // Value sell print ''; // Ditto : Show PMP from movement or from product + if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price*$obj->reel,'MT'),1).''; else print $langs->trans("Variable"); print ''; ; $total += $obj->reel; if (price2num($product->pmp)) $totalwithpmp += $obj->reel; - $totalvalue = $totalvalue + ($product->pmp*$obj->reel); // Ditto : Show PMP from movement or from product - $totalvaluesell = $totalvaluesell + ($product->price*$obj->reel); // Ditto : Show PMP from movement or from product + $totalvalue = $totalvalue + ($product->pmp*$obj->reel); + $totalvaluesell = $totalvaluesell + ($product->price*$obj->reel); //Batch Detail if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) { @@ -734,12 +741,37 @@ if ($resql) if ($details<0) dol_print_error($db); foreach ($details as $pdluo) { - print "\n".''; - print ''; - print ''; - print ''; - print ''; - print ''; + if ( $action == 'editline' && GETPOST('lineid','int')==$pdluo->id ) + { //Current line edit + print "\n".''; + print ''; + print ''; + print ''; + print ''; + print ''; + } } } $i++; diff --git a/htdocs/product/stock/replenish.php b/htdocs/product/stock/replenish.php index efb008df4ff..76bcb93e28b 100644 --- a/htdocs/product/stock/replenish.php +++ b/htdocs/product/stock/replenish.php @@ -148,22 +148,59 @@ if ($action == 'order' && isset($_POST['valid'])) foreach ($suppliers as $supplier) { $order = new CommandeFournisseur($db); - $order->socid = $suppliersid[$i]; - //trick to know which orders have been generated this way - $order->source = 42; - foreach ($supplier['lines'] as $line) { - $order->lines[] = $line; + // Check if an order for the supplier exists + $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."commande_fournisseur"; + $sql.= " WHERE fk_soc = ".$suppliersid[$i]; + $sql.= " AND source = 42 AND fk_statut = 0"; + $sql.= " ORDER BY date_creation DESC"; + $resql = $db->query($sql); + if($resql && $db->num_rows($resql) > 0) { + $obj = $db->fetch_object($resql); + $order->fetch($obj->rowid); + foreach ($supplier['lines'] as $line) { + $result = $order->addline( + $line->desc, + $line->subprice, + $line->qty, + $line->tva_tx, + $line->localtax1_tx, + $line->localtax2_tx, + $line->fk_product, + 0, + $line->ref_fourn, + $line->remise_percent, + 'HT', + 0, + $line->info_bits + ); + } + if ($result < 0) { + $fail++; + $msg = $langs->trans('OrderFail') . " : "; + $msg .= $order->error; + setEventMessage($msg, 'errors'); + } else { + $id = $result; + } + } else { + $order->socid = $suppliersid[$i]; + $order->fetch_thirdparty(); + //trick to know which orders have been generated this way + $order->source = 42; + foreach ($supplier['lines'] as $line) { + $order->lines[] = $line; + } + $order->cond_reglement_id = $order->thirdparty->cond_reglement_supplier_id; + $order->mode_reglement_id = $order->thirdparty->mode_reglement_supplier_id; + $id = $order->create($user); + if ($id < 0) { + $fail++; + $msg = $langs->trans('OrderFail') . " : "; + $msg .= $order->error; + setEventMessage($msg, 'errors'); + } + $i++; } - $order->cond_reglement_id = 0; - $order->mode_reglement_id = 0; - $id = $order->create($user); - if ($id < 0) { - $fail++; - $msg = $langs->trans('OrderFail') . " : "; - $msg .= $order->error; - setEventMessage($msg, 'errors'); - } - $i++; } if (! $fail && $id) @@ -258,7 +295,7 @@ if ($usevirtualstock) $sqlCommandesCli = "(SELECT ".$db->ifsql("SUM(cd.qty) IS NULL", "0", "SUM(cd.qty)")." as qty"; $sqlCommandesCli.= " FROM ".MAIN_DB_PREFIX."commandedet as cd"; $sqlCommandesCli.= " LEFT JOIN ".MAIN_DB_PREFIX."commande as c ON (c.rowid = cd.fk_commande)"; - $sqlCommandesCli.= " WHERE c.entity = ".$conf->entity; + $sqlCommandesCli.= " WHERE c.entity IN (".getEntity('order', 1).")"; $sqlCommandesCli.= " AND cd.fk_product = p.rowid"; $sqlCommandesCli.= " AND c.fk_statut IN (1,2))"; @@ -267,7 +304,7 @@ if ($usevirtualstock) $sqlExpeditionsCli.= " LEFT JOIN ".MAIN_DB_PREFIX."expeditiondet as ed ON (ed.fk_expedition = e.rowid)"; $sqlExpeditionsCli.= " LEFT JOIN ".MAIN_DB_PREFIX."commandedet as cd ON (cd.rowid = ed.fk_origin_line)"; $sqlExpeditionsCli.= " LEFT JOIN ".MAIN_DB_PREFIX."commande as c ON (c.rowid = cd.fk_commande)"; - $sqlExpeditionsCli.= " WHERE e.entity = ".$conf->entity; + $sqlExpeditionsCli.= " WHERE e.entity IN (".getEntity('expedition', 1).")"; $sqlExpeditionsCli.= " AND cd.fk_product = p.rowid"; $sqlExpeditionsCli.= " AND c.fk_statut IN (1,2))"; @@ -275,14 +312,14 @@ if ($usevirtualstock) $sqlCommandesFourn.= " FROM ".MAIN_DB_PREFIX."commande_fournisseurdet as cd"; $sqlCommandesFourn.= ", ".MAIN_DB_PREFIX."commande_fournisseur as c"; $sqlCommandesFourn.= " WHERE c.rowid = cd.fk_commande"; - $sqlCommandesFourn.= " AND c.entity = ".$conf->entity; + $sqlCommandesFourn.= " AND c.entity IN (".getEntity('commande_fournisseur', 1).")"; $sqlCommandesFourn.= " AND cd.fk_product = p.rowid"; $sqlCommandesFourn.= " AND c.fk_statut IN (3,4))"; $sqlReceptionFourn = "(SELECT ".$db->ifsql("SUM(fd.qty) IS NULL", "0", "SUM(fd.qty)")." as qty"; $sqlReceptionFourn.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as cf"; $sqlReceptionFourn.= " LEFT JOIN ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as fd ON (fd.fk_commande = cf.rowid)"; - $sqlReceptionFourn.= " WHERE cf.entity = ".$conf->entity; + $sqlReceptionFourn.= " WHERE cf.entity IN (".getEntity('commande_fournisseur', 1).")"; $sqlReceptionFourn.= " AND fd.fk_product = p.rowid"; $sqlReceptionFourn.= " AND cf.fk_statut IN (3,4))"; @@ -295,7 +332,7 @@ if ($usevirtualstock) { $sql.= ' AND (p.seuil_stock_alerte > 0 AND (p.seuil_stock_alerte > SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").')'; $sql.= ' - ('.$sqlCommandesCli.' - '.$sqlExpeditionsCli.') + ('.$sqlCommandesFourn.' - '.$sqlReceptionFourn.')))'; - $alertchecked = 'checked="checked"'; + $alertchecked = 'checked'; } } else { $sql.= ' HAVING ((p.desiredstock > 0 AND (p.desiredstock > SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").')))'; @@ -304,7 +341,7 @@ if ($usevirtualstock) if ($salert == 'on') // Option to see when stock is lower than alert { $sql.= ' AND (p.seuil_stock_alerte > 0 AND (p.seuil_stock_alerte > SUM('.$db->ifsql("s.reel IS NULL", "0", "s.reel").')))'; - $alertchecked = 'checked="checked"'; + $alertchecked = 'checked'; } } @@ -421,8 +458,7 @@ print_liste_field_titre($stocklabel, $_SERVER["PHP_SELF"], 'stock_physique', $pa print_liste_field_titre($langs->trans('Ordered'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder); print_liste_field_titre($langs->trans('StockToBuy'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder); print_liste_field_titre($langs->trans('Supplier'), $_SERVER["PHP_SELF"], '', $param, '', 'align="right"', $sortfield, $sortorder); - -print ''; +print "\n"; // Lignes des champs de filtre print ''. @@ -499,17 +535,20 @@ while ($i < ($limit ? min($num, $limit) : $num)) //virtual stock to compute the stock to buy value $stocktobuy = max(max($objp->desiredstock, $objp->alertstock) - $stock - $ordered, 0); $disabled = ''; - if($ordered > 0) { - $compare = $usevirtualstock ? $stock : $stock + $ordered; - if($compare >= $objp->desiredstock) { + if ($ordered > 0) + { + $stockforcompare = $usevirtualstock ? $stock : $stock + $ordered; + if ($stockforcompare >= $objp->desiredstock) + { $picto = img_picto('', './img/yes', '', 1); - $disabled = 'disabled="disabled"'; + $disabled = 'disabled'; } else { $picto = img_picto('', './img/no', '', 1); } } else { - $picto = img_picto('', './img/no', '', 1); + //$picto = img_help('',$langs->trans("NoPendingReceptionOnSupplierOrder")); + $picto = img_picto($langs->trans("NoPendingReceptionOnSupplierOrder"), './img/no', '', 1); } print ''; diff --git a/htdocs/product/stock/tpl/stockcorrection.tpl.php b/htdocs/product/stock/tpl/stockcorrection.tpl.php new file mode 100644 index 00000000000..dc102d8eb05 --- /dev/null +++ b/htdocs/product/stock/tpl/stockcorrection.tpl.php @@ -0,0 +1,121 @@ + + * + * 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 . + * + * $object must be defined + * $product can be defined + */ +?> + + +load("productbatch"); + + if (empty($id)) $id = $object->id; + + print ''; + + + print load_fiche_titre($langs->trans("StockCorrection"),'','title_generic.png'); + + print '
'."\n"; + print ''; + print ''; + print ''; + print '
'.$langs->trans("Warehouse").''.$langs->trans("NumberOfUnit").''.$langs->trans("EstimatedStockValueShort").''.$langs->trans("SellPriceMin").''.$langs->trans("EstimatedStockValueSellShort").'
'.$langs->trans("batch_number").''.$langs->trans("l_eatby").'
'.$entrepotstatic->getNomUrl(1).''.$obj->reel.($obj->reel<0?' '.img_warning():'').''.(price2num($product->pmp)?price2num($product->pmp,'MU'):'').''.(price2num($product->pmp)?price2num($product->pmp,'MU'):'').''.(price2num($product->pmp)?price(price2num($product->pmp*$obj->reel,'MT')):'').''.(price2num($product->pmp)?price(price2num($product->pmp*$obj->reel,'MT')):'').''; if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price,'MU'),1); else print $langs->trans("Variable"); - print ''; - if (empty($conf->global->PRODUIT_MULTI_PRICES)) print price(price2num($product->price*$obj->reel,'MT'),1).'
'.$pdluo->batch.''. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'; + $form->select_date($pdluo->eatby,'eatby','','',1,""); + print ''; + $form->select_date($pdluo->sellby,'sellby','','',1,""); + print ''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').''; + print '
'; + } + else + { + print "\n".'
'; + print img_picto($langs->trans("Tranfer"),'uparrow','class="hideonsmartphone"').' '; + print 'id.'">'.$langs->trans("StockMovement").''; + // Disabled, because edition of stock content must use the "Correct stock menu". + // Do not use this, or data will be wrong (bad tracking of movement label, inventory code, ... + //print 'id.'#'.$pdluo->id.'">'; + //print img_edit().''.$pdluo->batch.''. dol_print_date($pdluo->eatby,'day') .''. dol_print_date($pdluo->sellby,'day') .''.$pdluo->qty.($pdluo->qty<0?' '.img_warning():'').'
'; + + // Warehouse or product + print ''; + if ($object->element == 'product') + { + print ''; + print ''; + } + if ($object->element == 'stock') + { + print ''; + print ''; + } + print ''; + print ''; + print ''; + + // Purchase price + print ''; + print ''; + print ''; + print ''; + + // Eat-by date + if ((! empty($conf->productbatch->enabled)) && is_object($product) && $product->hasbatch()) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + + // Label of mouvement of id of inventory + $valformovementlabel=((GETPOST("label") && (GETPOST('label') != $langs->trans("MovementCorrectStock",''))) ? GETPOST("label") : $langs->trans("MovementCorrectStock", $product->ref)); + print ''; + print ''; + print ''; + print ''; + print ''; + + print '
'.$langs->trans("Warehouse").''; + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot')?GETPOST('id_entrepot','int'):'ifone')),'id_entrepot','',1); + print ''.$langs->trans("Product").''; + print $form->select_produits(GETPOST('product_id'),'product_id',(empty($conf->global->STOCK_SUPPORTS_SERVICES)?'0':'')); + print ''; + print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("UnitPurchaseValue").'
'.$langs->trans("batch_number").''; + print ''; + print '
'.$langs->trans("l_eatby").''; + $eatbyselected=dol_mktime(0, 0, 0, GETPOST('eatbymonth'), GETPOST('eatbyday'), GETPOST('eatbyyear')); + $form->select_date($eatbyselected,'eatby','','',1,""); + print ''.$langs->trans("l_sellby").''; + $sellbyselected=dol_mktime(0, 0, 0, GETPOST('sellbymonth'), GETPOST('sellbyday'), GETPOST('sellbyyear')); + $form->select_date($sellbyselected,'sellby','','',1,""); + print '
'.$langs->trans("MovementLabel").''; + print ''; + print ''.$langs->trans("InventoryCode").'
'; + + print '
'; + print ''; + print '     '; + print ''; + print '
'; + print ''; + +?> + diff --git a/htdocs/product/stock/tpl/stocktransfer.tpl.php b/htdocs/product/stock/tpl/stocktransfer.tpl.php new file mode 100644 index 00000000000..de947a75014 --- /dev/null +++ b/htdocs/product/stock/tpl/stocktransfer.tpl.php @@ -0,0 +1,108 @@ + + * + * 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 . + * + * $product must be defined + * $backtopage + */ +?> + + + 0) + { + $result=$pdluo->fetch($pdluoid); + if ($result > 0) + { + $pdluoid=$pdluo->id; + } + else + { + dol_print_error($db,$pdluo->error,$pdluo->errors); + } + } + + print load_fiche_titre($langs->trans("StockTransfer"),'','title_generic.png'); + + print '
'."\n"; + print ''; + print ''; + print ''; + if ($pdluoid) + { + print ''; + } + print ''; + + print ''; + print ''; + print ''; + print ''; + print ''; + + // Eat-by date + if ((! empty($conf->productbatch->enabled)) && $product->hasbatch()) + { + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + + // Label + $valformovementlabel=(GETPOST("label")?GETPOST("label"):$langs->trans("MovementTransferStock", $product->ref)); + print ''; + print ''; + print ''; + print ''; + print ''; + + print '
'.$langs->trans("WarehouseSource").''; + if ($pdluoid > 0) + { + print $formproduct->selectWarehouses($pdluo->warehouseid,'id_entrepot_source','',1,1); + } + else + { + print $formproduct->selectWarehouses((GETPOST("dwid")?GETPOST("dwid",'int'):(GETPOST('id_entrepot_source')?GETPOST('id_entrepot_source','int'):'ifone')),'id_entrepot_source','',1); + } + print ''.$langs->trans("WarehouseTarget").''; + print $formproduct->selectWarehouses(GETPOST('id_entrepot_destination'),'id_entrepot_destination','',1); + print ''.$langs->trans("NumberOfUnit").'
'.$langs->trans("batch_number").''; + print ' 0 ? ' disabled':'').' value="'.(GETPOST('batch_number')?GETPOST('batch_number'):$pdluo->batch).'">'; // If form was opened for a specific pdluoid, field is disabled + print '
'.$langs->trans("l_eatby").''; + print $form->select_date(($d_eatby?$d_eatby:$pdluo->eatby),'eatby','','',1,"", 1, 0, 1, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled + print ''.$langs->trans("l_sellby").''; + print $form->select_date(($d_sellby?$d_sellby:$pdluo->sellby),'sellby','','',1,"", 1, 0, 1, ($pdluoid > 0 ? 1 : 0)); // If form was opened for a specific pdluoid, field is disabled + print '
'.$langs->trans("MovementLabel").''; + print ''; + print ''.$langs->trans("InventoryCode").'
'; + + print '
'; + print ''; + print '     '; + print ''; + print '
'; + + print '
'; +?> + diff --git a/htdocs/product/stock/valo.php b/htdocs/product/stock/valo.php index 6f5cb7ae578..f07a111a0af 100644 --- a/htdocs/product/stock/valo.php +++ b/htdocs/product/stock/valo.php @@ -31,7 +31,7 @@ $langs->load("stocks"); // Security check $result=restrictedArea($user,'stock'); -$sref=GETPOST("sref");; +$sref=GETPOST("sref"); $snom=GETPOST("snom"); $sall=GETPOST("sall"); @@ -56,7 +56,7 @@ $sql.= " SUM(ps.pmp * ps.reel) as estimatedvalue, SUM(p.price * ps.reel) as sell $sql.= " FROM ".MAIN_DB_PREFIX."entrepot as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product_stock as ps ON e.rowid = ps.fk_entrepot"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON ps.fk_product = p.rowid"; -$sql.= " WHERE e.entity = ".$conf->entity; +$sql.= " WHERE e.entity IN (".getEntity('stock', 1).")"; if ($sref) { $sql.= " AND e.label LIKE '%".$db->escape($sref)."%'"; diff --git a/htdocs/product/traduction.php b/htdocs/product/traduction.php index cd7e4cdcb3c..413cb589dff 100644 --- a/htdocs/product/traduction.php +++ b/htdocs/product/traduction.php @@ -143,7 +143,7 @@ $cancel != $langs->trans("Cancel") && $product->fetch($id); $langtodelete=GETPOST('langdel','alpha'); - + if ( $product->delMultiLangs($langtodelete) > 0 ) { $action = ''; @@ -168,9 +168,9 @@ llxHeader("","",$langs->trans("Translation")); $form = new Form($db); $formadmin=new FormAdmin($db); -$head=product_prepare_head($product, $user); +$head=product_prepare_head($product); $titre=$langs->trans("CardProduct".$product->type); -$picto=($product->type==1?'service':'product'); +$picto=($product->type==Product::TYPE_SERVICE?'service':'product'); dol_fiche_head($head, 'translation', $titre, 0, $picto); print ''; @@ -217,9 +217,11 @@ if ($action == 'edit') } } - print '
'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; @@ -300,9 +302,11 @@ if ($action == 'add' && ($user->rights->produit->creer || $user->rights->service print ''; print '
'; - print '
'; - print '     '; - print '
'; + print '
'; + print ''; + print '     '; + print ''; + print '
'; print ''; diff --git a/htdocs/projet/activity/index.php b/htdocs/projet/activity/index.php index 58fb1b79abf..75fd12e9d95 100644 --- a/htdocs/projet/activity/index.php +++ b/htdocs/projet/activity/index.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2010 Laurent Destailleur + * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2010 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -48,7 +48,6 @@ $langs->load("projects"); $now = dol_now(); $projectstatic=new Project($db); -//$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,($mine?$mine:($user->rights->projet->all->lire?2:0)),1); $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,0,1); // Return all projects I have permission on because I want my tasks and some of my task may be on a public projet that is not my project $title=$langs->trans("Activities"); @@ -56,7 +55,7 @@ if ($mine) $title=$langs->trans("MyActivities"); llxHeader("",$title); -print_fiche_titre($title); +print_fiche_titre($title, '', 'title_project'); if ($mine) print $langs->trans("MyTasksDesc").'

'; else @@ -69,7 +68,7 @@ else print '
'; -print_projecttasks_array($db,$socid,$projectsListId,$mine); +print_projecttasks_array($db,$socid,$projectsListId,$mine,1); /* Affichage de la liste des projets d'aujourd'hui */ @@ -104,7 +103,8 @@ if ( $resql ) print '
'; $projectstatic->id=$row->rowid; $projectstatic->ref=$row->ref; - print $projectstatic->getNomUrl(1); + $projectstatic->title=$row->title; + print $projectstatic->getNomUrl(1, '', 1); print ''.convertSecondToTime($row->nb).'
'; $projectstatic->id=$row->rowid; $projectstatic->ref=$row->ref; - print $projectstatic->getNomUrl(1); + $projectstatic->title=$row->title; + print $projectstatic->getNomUrl(1, '', 1); print ''.convertSecondToTime($row->nb).'
'; $projectstatic->id=$row->rowid; $projectstatic->ref=$row->ref; - print $projectstatic->getNomUrl(1); + $projectstatic->title=$row->title; + print $projectstatic->getNomUrl(1, '', 1); print ''.convertSecondToTime($row->nb).'
'; $projectstatic->id=$row->rowid; $projectstatic->ref=$row->ref; - print $projectstatic->getNomUrl(1); + $projectstatic->title=$row->title; + print $projectstatic->getNomUrl(1, '', 1); print ''.convertSecondToTime($row->nb).'
'; $projectstatic->id=$row->rowid; $projectstatic->ref=$row->ref; - print $projectstatic->getNomUrl(1); + $projectstatic->title=$row->title; + print $projectstatic->getNomUrl(1, '', 1); print ''.convertSecondToTime($row->nb).'
'; - print ''; - print '
'.$langs->trans("User").''; - if ($mine) print $user->getLoginUrl(1); - print '
'; - dol_fiche_end(); -*/ - -// Filter on user -/* dol_fiche_head(''); - print ''; - print ''; - print '
'.$langs->trans("User").''; - if ($mine) print $user->getLoginUrl(1); - print '
'; - dol_fiche_end(); -*/ - -print '
'; -print ''; -print ''; -print ''; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -// By default, we can edit only tasks we are assigned to -$restricteditformytask=(empty($conf->global->PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS)?1:0); - -if (count($tasksarray) > 0) -{ - projectLinesb($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); -} -else -{ - print ''; -} -print "
'.$langs->trans("Project").''.$langs->trans("RefTask").''.$langs->trans("LabelTask").''.$langs->trans("DateStart").''.$langs->trans("DateEnd").''.$langs->trans("PlannedWorkload").''.$langs->trans("ProgressDeclared").''.$langs->trans("TimeSpent").''.$langs->trans("NewTimeSpent").'
'.$langs->trans("NoTasks").'
"; -print '
'; - - -llxFooter(); - -$db->close(); diff --git a/htdocs/projet/activity/perday.php b/htdocs/projet/activity/perday.php new file mode 100644 index 00000000000..ee50358bdc5 --- /dev/null +++ b/htdocs/projet/activity/perday.php @@ -0,0 +1,362 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2010 François Legastelois + * + * 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/projet/activity/perday.php + * \ingroup projet + * \brief List activities of tasks (per day entry) + */ + +require ("../../main.inc.php"); +require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; + +$langs->load('projects'); + +$action=GETPOST('action'); +$mode=GETPOST("mode"); +$id=GETPOST('id','int'); +$taskid=GETPOST('taskid'); + +$mine=0; +if ($mode == 'mine') $mine=1; + +$projectid=''; +$projectid=isset($_GET["id"])?$_GET["id"]:$_POST["projectid"]; + +// Security check +$socid=0; +if ($user->societe_id > 0) $socid=$user->societe_id; +$result = restrictedArea($user, 'projet', $projectid); + +$now=dol_now(); +$nowtmp=dol_getdate($now); +$nowday=$nowtmp['mday']; +$nowmonth=$nowtmp['mon']; +$nowyear=$nowtmp['year']; + +$year=GETPOST('reyear')?GETPOST('reyear'):(GETPOST("year","int")?GETPOST("year","int"):date("Y")); +$month=GETPOST('remonth')?GETPOST('remonth'):(GETPOST("month","int")?GETPOST("month","int"):date("m")); +$day=GETPOST('reday')?GETPOST('reday'):(GETPOST("day","int")?GETPOST("day","int"):date("d")); +$day = (int) $day; +$week=GETPOST("week","int")?GETPOST("week","int"):date("W"); + +$daytoparse = $now; +if ($year && $month && $day) $daytoparse=dol_mktime(0, 0, 0, $month, $day, $year); + +$object=new Task($db); + + +/* + * Actions + */ + +if (GETPOST('submitdateselect')) +{ + $daytoparse = dol_mktime(0, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); + + $action = ''; +} + + +if ($action == 'assign') +{ + if ($taskid > 0) + { + $result = $object->fetch($taskid, $ref); + if ($result < 0) $error++; + } + else + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); + $error++; + } + if (! GETPOST('type')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); + $error++; + } + if (! $error) + { + $idfortaskuser=$user->id; + $result = $object->add_contact($idfortaskuser, GETPOST("type"), 'internal'); + } + + if ($result < 0) + { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $langs->load("errors"); + setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'warnings'); + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + $action=''; +} + +if ($action == 'addtime' && $user->rights->projet->creer) +{ + $timespent_duration=array(); + + foreach($_POST as $key => $time) + { + if (intval($time) > 0) + { + // Hours or minutes of duration + if (preg_match("/([0-9]+)duration(hour|min)/",$key,$matches)) + { + $id = $matches[1]; + if ($id > 0) + { + // We store HOURS in seconds + if($matches[2]=='hour') $timespent_duration[$id] += $time*60*60; + + // We store MINUTES in seconds + if($matches[2]=='min') $timespent_duration[$id] += $time*60; + } + } + } + } + + if (count($timespent_duration) > 0) + { + foreach($timespent_duration as $key => $val) + { + $object->fetch($key); + $object->progress = GETPOST($key . 'progress', 'int'); + $object->timespent_duration = $val; + $object->timespent_fk_user = $user->id; + if (GETPOST($key."hour") != '' && GETPOST($key."hour") >= 0) // If hour was entered + { + $object->timespent_date = dol_mktime(GETPOST($key."hour"),GETPOST($key."min"),0,GETPOST($key."month"),GETPOST($key."day"),GETPOST($key."year")); + $object->timespent_withhour = 1; + } + else + { + $object->timespent_date = dol_mktime(12,0,0,GETPOST($key."month"),GETPOST($key."day"),GETPOST($key."year")); + } + + $result=$object->addTimeSpent($user); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + break; + } + } + + if (! $error) + { + setEventMessage($langs->trans("RecordSaved")); + + // Redirect to avoid submit twice on back + header('Location: '.$_SERVER["PHP_SELF"].($projectid?'?id='.$projectid:'?').($mode?'&mode='.$mode:'')); + exit; + } + } + else + { + setEventMessage($langs->trans("ErrorTimeSpentIsEmpty"), 'errors'); + } +} + + + +/* + * View + */ + +$form=new Form($db); +$formother = new FormOther($db); +$formcompany=new FormCompany($db); +$formproject=new FormProjets($db); +$projectstatic=new Project($db); +$project = new Project($db); +$taskstatic = new Task($db); + +$prev = dol_getdate($daytoparse - (24 * 3600)); +$prev_year = $prev['year']; +$prev_month = $prev['mon']; +$prev_day = $prev['mday']; + +$next = dol_getdate($daytoparse + (24 * 3600)); +$next_year = $next['year']; +$next_month = $next['mon']; +$next_day = $next['mday']; + +$title=$langs->trans("TimeSpent"); +if ($mine) $title=$langs->trans("MyTimeSpent"); + +$usertoprocess = $user; + +$projectsListId = $projectstatic->getProjectsAuthorizedForUser($usertoprocess,0,1); // Return all project i have permission on. I want my tasks and some of my task may be on a public projet that is not my project + +if ($id) +{ + $project->fetch($id); + $project->fetch_thirdparty(); +} + +$onlyopened=1; // or -1 +$tasksarray=$taskstatic->getTasksArray(0,0,($project->id?$project->id:$projectsListId),$socid,0,'',$onlyopened); // We want to see all task of opened project i am allowed to see, not only mine. Later only mine will be editable later. +$projectsrole=$taskstatic->getUserRolesForProjectsOrTasks($usertoprocess,0,($project->id?$project->id:$projectsListId),0); +$tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0,$usertoprocess,($project->id?$project->id:$projectsListId),0); +//var_dump($tasksarray); +//var_dump($projectsrole); +//var_dump($taskrole); + + +llxHeader("",$title,""); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num, '', 'title_project'); + + +// Show navigation bar +$nav ="".img_previous($langs->trans("Previous"))."\n"; +$nav.=" ".dol_print_date(dol_mktime(0,0,0,$month,$day,$year),"day")." \n"; +$nav.="".img_next($langs->trans("Next"))."\n"; +$nav.="   (".$langs->trans("Today").")"; +$nav.='
'.$form->select_date(-1,'',0,0,2,"addtime",1,0,1).' '; +$nav.=' '; + +$picto='calendarweek'; + + +print '
id > 0 ? '?id='.$project->id : '').'">'; +print ''; +print ''; +print ''; + +$head=project_timesheet_prepare_head($mode); +dol_fiche_head($head, 'inputperday', '', 0, 'task'); + +// Show description of content +if ($mine) print $langs->trans("MyTasksDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'
'; +else +{ + if ($user->rights->projet->all->lire && ! $socid) print $langs->trans("ProjectsDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'
'; + else print $langs->trans("ProjectsPublicTaskDesc").($onlyopened?' '.$langs->trans("AlsoOnlyOpenedProject"):'').'
'; +} +if ($mine) +{ + print $langs->trans("OnlyYourTaskAreVisible").'
'; +} +else +{ + print $langs->trans("AllTaskVisibleButEditIfYouAreAssigned").'
'; +} +print '
'; +print "\n"; + +// Filter on user +/* dol_fiche_head(''); + print ''; + print ''; + print '
'.$langs->trans("User").''; + if ($mine) print $user->getLoginUrl(1); + print '
'; + dol_fiche_end(); +*/ + +// Filter on user +/* dol_fiche_head(''); + print ''; + print ''; + print '
'.$langs->trans("User").''; + if ($mine) print $user->getLoginUrl(1); + print '
'; + dol_fiche_end(); +*/ + + +print '
'.$nav.'
'; + + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +if ($usertoprocess->id == $user->id) print ''; +else print ''; +print ''; +print ''; +print "\n"; + +// By default, we can edit only tasks we are assigned to +$restrictviewformytask=(empty($conf->global->PROJECT_TIME_SHOW_TASK_NOT_ASSIGNED)?1:0); + +if (count($tasksarray) > 0) +{ + $j=0; + projectLinesPerDay($j, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask, $daytoparse); +} +else +{ + print ''; +} +print "
'.$langs->trans("Project").''.$langs->trans("RefTask").''.$langs->trans("LabelTask").''.$langs->trans("PlannedWorkload").''.$langs->trans("ProgressDeclared").''.$langs->trans("TimeSpent").''.$langs->trans("TimeSpentByYou").''.$langs->trans("TimeSpentByUser").''.$langs->trans("HourStart").''.$langs->trans("Duration").'
'.$langs->trans("NoTasks").'
"; + +dol_fiche_end(); + +print '
'; +print ''; +print '
'; + +print '
'; + + +print ''; + + +// Add a new project/task +print '
'; +print '
'; +print ''; +print ''; +print ''; +print ''; +print ''; +print $langs->trans("AssignTaskToMe").'
'; +$formproject->select_task($socid?$socid:-1, $taskid, 'taskid'); +print $formcompany->selectTypeContact($object, '', 'type','internal','rowid', 1); +print ''; +print '
'; + + +llxFooter(); + +$db->close(); diff --git a/htdocs/projet/activity/perweek.php b/htdocs/projet/activity/perweek.php new file mode 100644 index 00000000000..85874af86b9 --- /dev/null +++ b/htdocs/projet/activity/perweek.php @@ -0,0 +1,388 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2005-2010 Regis Houssin + * Copyright (C) 2010 François Legastelois + * + * 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/projet/activity/perweek.php + * \ingroup projet + * \brief List activities of tasks (per week entry) + */ + +require ("../../main.inc.php"); +require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; + +$langs->load('projects'); + +$action=GETPOST('action'); +$mode=GETPOST("mode"); +$id=GETPOST('id','int'); +$taskid=GETPOST('taskid'); + + +$mine=0; +if ($mode == 'mine') $mine=1; + +$projectid=''; +$projectid=isset($_GET["id"])?$_GET["id"]:$_POST["projectid"]; + +// Security check +$socid=0; +if ($user->societe_id > 0) $socid=$user->societe_id; +$result = restrictedArea($user, 'projet', $projectid); + +$now=dol_now(); +$nowtmp=dol_getdate($now); +$nowday=$nowtmp['mday']; +$nowmonth=$nowtmp['mon']; +$nowyear=$nowtmp['year']; +$year=GETPOST('reyear')?GETPOST('reyear'):(GETPOST("year","int")?GETPOST("year","int"):date("Y")); +$month=GETPOST('remonth')?GETPOST('remonth'):(GETPOST("month","int")?GETPOST("month","int"):date("m")); +$day=GETPOST('reday')?GETPOST('reday'):(GETPOST("day","int")?GETPOST("day","int"):date("d")); +$day = (int) $day; +$week=GETPOST("week","int")?GETPOST("week","int"):date("W"); + +$startdayarray=dol_get_first_day_week($day, $month, $year); + +$prev = $startdayarray; +$prev_year = $prev['prev_year']; +$prev_month = $prev['prev_month']; +$prev_day = $prev['prev_day']; +$first_day = $prev['first_day']; +$first_month= $prev['first_month']; +$first_year = $prev['first_year']; +$week = $prev['week']; + +$next = dol_get_next_week($first_day, $week, $first_month, $first_year); +$next_year = $next['year']; +$next_month = $next['month']; +$next_day = $next['day']; + +// Define firstdaytoshow and lastdaytoshow (warning: lastdaytoshow is last second to show + 1) +$firstdaytoshow=dol_mktime(0,0,0,$first_month,$first_day,$first_year); +$lastdaytoshow=dol_time_plus_duree($firstdaytoshow, 7, 'd'); + +$usertoprocess=$user; + +$object=new Task($db); + + +/* + * Actions + */ + +if (GETPOST('submitdateselect')) +{ + $daytoparse = dol_mktime(0, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); + + $action = ''; +} + +if ($action == 'assign') +{ + if ($taskid > 0) + { + $result = $object->fetch($taskid, $ref); + if ($result < 0) $error++; + } + else + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Task")), '', 'errors'); + $error++; + } + if (! GETPOST('type')) + { + setEventMessages($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), '', 'errors'); + $error++; + } + if (! $error) + { + $idfortaskuser=$user->id; + $result = $object->add_contact($idfortaskuser, GETPOST("type"), 'internal'); + } + + if ($result < 0) + { + if ($object->error == 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $langs->load("errors"); + setEventMessage($langs->trans("ErrorThisContactIsAlreadyDefinedAsThisType"), 'warnings'); + } + else + { + setEventMessages($object->error, $object->errors, 'errors'); + } + } + + $action=''; +} + +if ($action == 'addtime' && $user->rights->projet->creer) +{ + $timetoadd=$_POST['task']; + if (empty($timetoadd)) + { + setEventMessage($langs->trans("ErrorTimeSpentIsEmpty"), 'errors'); + } + else + { + foreach($timetoadd as $taskid => $value) + { + foreach($value as $key => $val) + { + $amountoadd=$timetoadd[$taskid][$key]; + if (! empty($amountoadd)) + { + $tmpduration=explode(':',$amountoadd); + $newduration=0; + if (! empty($tmpduration[0])) $newduration+=($tmpduration[0] * 3600); + if (! empty($tmpduration[1])) $newduration+=($tmpduration[1] * 60); + if (! empty($tmpduration[2])) $newduration+=($tmpduration[2]); + + if ($newduration > 0) + { + $object->fetch($taskid); + $object->progress = GETPOST($taskid . 'progress', 'int'); + $object->timespent_duration = $newduration; + $object->timespent_fk_user = $usertoprocess->id; + $object->timespent_date = dol_time_plus_duree($firstdaytoshow, $key, 'd'); + + $result=$object->addTimeSpent($user); + if ($result < 0) + { + setEventMessages($object->error, $object->errors, 'errors'); + $error++; + break; + } + } + } + } + } + + if (! $error) + { + setEventMessage($langs->trans("RecordSaved")); + + // Redirect to avoid submit twice on back + header('Location: '.$_SERVER["PHP_SELF"].($projectid?'?id='.$projectid:'?').($mode?'&mode='.$mode:'')); + exit; + } + } +} + + + +/* + * View + */ + +$form=new Form($db); +$formother=new FormOther($db); +$formcompany=new FormCompany($db); +$formproject=new FormProjets($db); +$projectstatic=new Project($db); +$project = new Project($db); +$taskstatic = new Task($db); + +$title=$langs->trans("TimeSpent"); +if ($mine) $title=$langs->trans("MyTimeSpent"); + +//$projectsListId = $projectstatic->getProjectsAuthorizedForUser($user,$mine,1); +$projectsListId = $projectstatic->getProjectsAuthorizedForUser($usertoprocess,0,1); // Return all project i have permission on. I want my tasks and some of my task may be on a public projet that is not my project + +if ($id) +{ + $project->fetch($id); + $project->fetch_thirdparty(); +} + +$onlyopened=1; // or -1 +$tasksarray=$taskstatic->getTasksArray(0,0,($project->id?$project->id:$projectsListId),$socid,0,'',$onlyopened); // We want to see all task of opened project i am allowed to see, not only mine. Later only mine will be editable later. +$projectsrole=$taskstatic->getUserRolesForProjectsOrTasks($usertoprocess,0,($project->id?$project->id:$projectsListId),0); +$tasksrole=$taskstatic->getUserRolesForProjectsOrTasks(0,$usertoprocess,($project->id?$project->id:$projectsListId),0); +//var_dump($tasksarray); +//var_dump($projectsrole); +//var_dump($taskrole); + + +llxHeader("",$title,"",'','','',array('/core/js/timesheet.js')); + +print_barre_liste($title, $page, $_SERVER["PHP_SELF"], "", $sortfield, $sortorder, "", $num, '', 'title_project'); + + +// Show navigation bar +$nav ="".img_previous($langs->trans("Previous"))."\n"; +$nav.=" ".dol_print_date(dol_mktime(0,0,0,$first_month,$first_day,$first_year),"%Y").", ".$langs->trans("Week")." ".$week." \n"; +$nav.="".img_next($langs->trans("Next"))."\n"; +$nav.="   (".$langs->trans("Today").")"; +$nav.='
'.$form->select_date(-1,'',0,0,2,"addtime",1,0,1).' '; +$nav.=' '; + +$picto='calendarweek'; + +print '
'; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; + +$head=project_timesheet_prepare_head($mode); +dol_fiche_head($head, 'inputperweek', '', 0, 'task'); + +// Show description of content +if ($mine) print $langs->trans("MyTasksDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'
'; +else +{ + if ($user->rights->projet->all->lire && ! $socid) print $langs->trans("ProjectsDesc").($onlyopened?' '.$langs->trans("OnlyOpenedProject"):'').'
'; + else print $langs->trans("ProjectsPublicTaskDesc").($onlyopened?' '.$langs->trans("AlsoOnlyOpenedProject"):'').'
'; +} +if ($mine) +{ + print $langs->trans("OnlyYourTaskAreVisible").'
'; +} +else +{ + print $langs->trans("AllTaskVisibleButEditIfYouAreAssigned").'
'; +} +print '
'; +print "\n"; + +// Filter on user +/* dol_fiche_head(''); + print ''; + print ''; + print '
'.$langs->trans("User").''; + if ($mine) print $user->getLoginUrl(1); + print '
'; + dol_fiche_end(); +*/ + +// Filter on user +/* dol_fiche_head(''); + print ''; + print ''; + print '
'.$langs->trans("User").''; + if ($mine) print $user->getLoginUrl(1); + print '
'; + dol_fiche_end(); +*/ + + +print '
'.$nav.'
'; + + +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +print ''; +if ($usertoprocess->id == $user->id) print ''; +else print ''; + +$startday=dol_mktime(12, 0, 0, $startdayarray['first_month'], $startdayarray['first_day'], $startdayarray['first_year']); + +for($i=0;$i<7;$i++) +{ + print ''; +} +print ''; + +print "\n"; + +// By default, we can edit only tasks we are assigned to +$restrictviewformytask=(empty($conf->global->PROJECT_TIME_SHOW_TASK_NOT_ASSIGNED)?1:0); + +if (count($tasksarray) > 0) +{ + $j=0; + projectLinesPerWeek($j, $firstdaytoshow, $usertoprocess, 0, $tasksarray, $level, $projectsrole, $tasksrole, $mine, $restrictviewformytask); + + print ' + + + + + + + + + + '; +} +else +{ + print ''; +} +print "
'.$langs->trans("Project").''.$langs->trans("RefTask").''.$langs->trans("LabelTask").''.$langs->trans("PlannedWorkload").''.$langs->trans("ProgressDeclared").''.$langs->trans("TimeSpent").''.$langs->trans("TimeSpentByYou").''.$langs->trans("TimeSpentByUser").''.dol_print_date($startday + ($i * 3600 * 24), '%a').'
'.dol_print_date($startday + ($i * 3600 * 24), 'day').'
'.$langs->trans("Total").'
 
 
 
 
 
 
 
'.$langs->trans("NoTasks").'
"; + +print ''."\n"; +print ''."\n"; + +dol_fiche_end(); + +print '
'; +print ''; +print '
'; + +print '
'."\n\n"; + +$modeinput='hours'; + +print ''; + + +// Add a new project/task +print '
'; +print '
'; +print ''; +print ''; +print ''; +print ''; +print ''; +print $langs->trans("AssignTaskToMe").'
'; +$formproject->select_task($socid?$socid:-1, $taskid, 'taskid'); +print $formcompany->selectTypeContact($object, '', 'type','internal','rowid', 1); +print ''; +print '
'; + + + +llxFooter(); + +$db->close(); diff --git a/htdocs/projet/admin/project.php b/htdocs/projet/admin/project.php index 915d4ef69ef..e67e8bb3655 100644 --- a/htdocs/projet/admin/project.php +++ b/htdocs/projet/admin/project.php @@ -4,6 +4,8 @@ * Copyright (C) 2011-2012 Juanjo Menent * Copyright (C) 2011-2013 Philippe Grand * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 Juanjo Menent + * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -237,12 +239,7 @@ if ($action == 'deltask') // Set default model else if ($action == 'setdoc') { - if (dolibarr_set_const($db, "PROJECT_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) - { - // La constante qui a ete lue en avant du nouveau set - // on passe donc par une variable pour avoir un affichage coherent - $conf->global->PROJECT_ADDON_PDF = $value; - } + dolibarr_set_const($db, "PROJECT_ADDON_PDF",$value,'chaine',0,'',$conf->entity); // On active le modele $ret = delDocumentModel($value, $type); @@ -284,6 +281,14 @@ else if ($action == 'setmodtask') dolibarr_set_const($db, "PROJECT_TASK_ADDON",$value,'chaine',0,'',$conf->entity); } +elseif ($action == 'updateoptions') { + if (GETPOST('PROJECT_USE_SEARCH_TO_SELECT')) { + $companysearch = GETPOST('activate_PROJECT_USE_SEARCH_TO_SELECT', 'alpha'); + if (dolibarr_set_const($db, "PROJECT_USE_SEARCH_TO_SELECT", $companysearch, 'chaine', 0, '', $conf->entity)) { + $conf->global->PROJECT_USE_SEARCH_TO_SELECT = $companysearch; + } + } +} /* @@ -297,7 +302,7 @@ llxHeader("",$langs->trans("ProjectsSetup")); $form=new Form($db); $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head=project_admin_prepare_head(); @@ -817,6 +822,47 @@ foreach ($dirmodels as $reldir) print '
'; +print_titre($langs->trans("Other")); + +// Other options +$form=new Form($db); +$var=true; + +print '
'; +print ''; +print ''; + +print ''; +print ''; +print "\n"; +print ''."\n"; +print ''."\n"; + + +$var=!$var; +print ""; +print ''; +if (! $conf->use_javascript_ajax) +{ + print '"; +} +else +{ + print '"; +} +print '
".$langs->trans("Parameters")."'.$langs->trans("Value").' 
'.$langs->trans("UseSearchToSelectProject").''; + print $langs->trans("NotAvailableWhenAjaxDisabled"); + print "'; + $arrval=array('0'=>$langs->trans("No"), + '1'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",1).')', + '2'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",2).')', + '3'=>$langs->trans("Yes").' ('.$langs->trans("NumberOfKeyToSearch",3).')', + ); + print $form->selectarray("activate_PROJECT_USE_SEARCH_TO_SELECT",$arrval,$conf->global->PROJECT_USE_SEARCH_TO_SELECT); + print ''; + print ''; + print "
'; + $db->close(); llxFooter(); diff --git a/htdocs/projet/admin/project_extrafields.php b/htdocs/projet/admin/project_extrafields.php index f4dde012d96..7a18dc9230f 100644 --- a/htdocs/projet/admin/project_extrafields.php +++ b/htdocs/projet/admin/project_extrafields.php @@ -4,6 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 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 @@ -59,54 +60,19 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; * View */ +$textobject=$langs->transnoentitiesnoconv("Project"); + llxHeader("",$langs->trans("ProjectsSetup")); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head = project_admin_prepare_head(); dol_fiche_head($head, 'attributes', $langs->trans("Projects"), 0, 'project'); -$textobject=$langs->transnoentitiesnoconv("Project"); - -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/projet/admin/project_task_extrafields.php b/htdocs/projet/admin/project_task_extrafields.php index 902b86df3b7..b64bcabab89 100644 --- a/htdocs/projet/admin/project_task_extrafields.php +++ b/htdocs/projet/admin/project_task_extrafields.php @@ -4,6 +4,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2012 Regis Houssin * Copyright (C) 2013 Florian Henry + * Copyright (C) 2015 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 @@ -59,52 +60,18 @@ require DOL_DOCUMENT_ROOT.'/core/actions_extrafields.inc.php'; * View */ +$textobject=$langs->transnoentitiesnoconv("Project"); + llxHeader("",$langs->trans("ProjectsSetup")); - $linkback=''.$langs->trans("BackToModuleList").''; -print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'setup'); +print_fiche_titre($langs->trans("ProjectsSetup"),$linkback,'title_setup'); $head = project_admin_prepare_head(); dol_fiche_head($head, 'attributes_task', $langs->trans("Projects"), 0, 'project'); -$textobject=$langs->transnoentitiesnoconv("Project"); -print $langs->trans("DefineHereComplementaryAttributes",$textobject).'
'."\n"; -print '
'; - -// Load attribute_label -$extrafields->fetch_name_optionals_label($elementtype); - -print ""; - -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print ''; -print "\n"; - -$var=True; -foreach($extrafields->attribute_type as $key => $value) -{ - $var=!$var; - print ""; - print "\n"; - print "\n"; - print "\n"; - print '\n"; - print '\n"; - print '\n"; - print '\n"; - print ""; -} - -print "
'.$langs->trans("Label").''.$langs->trans("AttributeCode").''.$langs->trans("Type").''.$langs->trans("Size").''.$langs->trans("Unique").''.$langs->trans("Required").' 
".$extrafields->attribute_label[$key]."".$key."".$type2label[$extrafields->attribute_type[$key]]."'.$extrafields->attribute_size[$key]."'.yn($extrafields->attribute_unique[$key])."'.yn($extrafields->attribute_required[$key])."'.img_edit().''; - print "  ".img_delete()."
"; +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; dol_fiche_end(); diff --git a/htdocs/projet/card.php b/htdocs/projet/card.php index 1c971ef9e35..860475c5596 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -38,6 +38,8 @@ $id=GETPOST('id','int'); $ref=GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); $backtopage=GETPOST('backtopage','alpha'); +$cancel=GETPOST('cancel','alpha'); +$status=GETPOST('status','int'); if ($id == '' && $ref == '' && ($action != "create" && $action != "add" && $action != "update" && ! $_POST["cancel"])) accessforbidden(); @@ -49,11 +51,16 @@ $hookmanager->initHooks(array('projectcard','globalcard')); $object = new Project($db); $extrafields = new ExtraFields($db); + +// Load object +//include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Can use generic include because when creating a project, ref is defined and we dont want error if fetch fails from ref. if ($id > 0 || ! empty($ref)) { - $object->fetch($id,$ref); - $object->fetch_thirdparty(); - $id=$object->id; + $ret = $object->fetch($id,$ref); // If we create project, ref may be defined into POST but record does not yet exists into database + if ($ret > 0) { + $object->fetch_thirdparty(); + $id=$object->id; + } } // Security check @@ -78,9 +85,8 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e if (empty($reshook)) { - // Cancel - if (GETPOST("cancel") && ! empty($backtopage)) + if ($cancel) { if (GETPOST("comefromclone")==1) { @@ -96,24 +102,13 @@ if (empty($reshook)) setEventMessage($langs->trans("CantRemoveProject"), 'errors'); } } - header("Location: ".$backtopage); - exit; - } + if ($backtopage) + { + header("Location: ".$backtopage); + exit; + } - //if cancel and come from clone then delete the cloned project - if (GETPOST("cancel") && (GETPOST("comefromclone")==1)) - { - $result=$object->delete($user); - if ($result > 0) - { - header("Location: index.php"); - exit; - } - else - { - dol_syslog($object->error,LOG_DEBUG); - setEventMessage($langs->trans("CantRemoveProject"), 'errors'); - } + $action = ''; } if ($action == 'add' && $user->rights->projet->creer) @@ -141,16 +136,18 @@ if (empty($reshook)) $object->socid = GETPOST('socid','int'); $object->description = GETPOST('description'); // Do not use 'alpha' here, we want field as it is $object->public = GETPOST('public','alpha'); + $object->budget_amount = GETPOST('budget_amount','int'); $object->datec=dol_now(); $object->date_start=$date_start; $object->date_end=$date_end; + $object->statuts = $status; // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$object); if ($ret < 0) $error++; $result = $object->create($user); - if ($result > 0) + if (! $error && $result > 0) { // Add myself as project leader $result = $object->add_contact($user->id, 'PROJECTLEADER', 'internal'); @@ -172,8 +169,16 @@ if (empty($reshook)) { $db->commit(); - header("Location:card.php?id=".$object->id); - exit; + if ($backtopage) + { + header("Location: ".$backtopage.'&projectid='.$object->id); + exit; + } + else + { + header("Location:card.php?id=".$object->id); + exit; + } } else { @@ -218,6 +223,7 @@ if (empty($reshook)) $object->socid = GETPOST('socid','int'); $object->description = GETPOST('description'); // Do not use 'alpha' here, we want field as it is $object->public = GETPOST('public','alpha'); + $object->budget_amount= GETPOST('budget_amount','int'); $object->date_start = empty($_POST["projectstart"])?'':$date_start; $object->date_end = empty($_POST["projectend"])?'':$date_end; @@ -278,8 +284,8 @@ if (empty($reshook)) $result= $object->generateDocument($object->modelpdf, $outputlangs); if ($result <= 0) { - dol_print_error($db,$result); - exit; + setEventMessages($object->error, $object->errors, 'errors'); + $action=''; } } @@ -305,7 +311,7 @@ if (empty($reshook)) $result = $object->setValid($user); if ($result <= 0) { - setEventMessage($object->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -314,7 +320,7 @@ if (empty($reshook)) $result = $object->setClose($user); if ($result <= 0) { - setEventMessage($object->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -323,7 +329,7 @@ if (empty($reshook)) $result = $object->setValid($user); if ($result <= 0) { - setEventMessage($object->error, 'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -333,14 +339,14 @@ if (empty($reshook)) $result=$object->delete($user); if ($result > 0) { - header("Location: index.php"); + setEventMessage($langs->trans("RecordDeleted"), 'info'); + header("Location: index.php"); exit; } else { dol_syslog($object->error,LOG_DEBUG); - setEventMessage($object->error,'errors'); - setEventMessage($object->errors,'errors'); + setEventMessages($object->error, $object->errors, 'errors'); } } @@ -351,7 +357,8 @@ if (empty($reshook)) $clone_project_files = GETPOST('clone_project_files') ? 1 : 0; $clone_task_files = GETPOST('clone_task_files') ? 1 : 0; $clone_notes=GETPOST('clone_notes')?1:0; - $result=$object->createFromClone($object->id,$clone_contacts,$clone_tasks,$clone_project_files,$clone_task_files,$clone_notes); + $move_date=GETPOST('move_date')?1:0; + $result=$object->createFromClone($object->id,$clone_contacts,$clone_tasks,$clone_project_files,$clone_task_files,$clone_notes,$move_date); if ($result <= 0) { setEventMessage($object->error, 'errors'); @@ -374,9 +381,11 @@ $form = new Form($db); $formfile = new FormFile($db); $userstatic = new User($db); - +$title=$langs->trans("Project").' - '.$object->ref.' '.$object->name; +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/projectnameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->ref.' '.$object->name; $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; -llxHeader("",$langs->trans("Projects"),$help_url); + +llxHeader("",$title,$help_url); if ($action == 'create' && $user->rights->projet->creer) @@ -388,13 +397,15 @@ if ($action == 'create' && $user->rights->projet->creer) $thirdparty=new Societe($db); if ($socid > 0) $thirdparty->fetch($socid); - print_fiche_titre($langs->trans("NewProject")); + print_fiche_titre($langs->trans("NewProject"), '', 'title_project'); print '
'; print ''; print ''; print ''; + print dol_fiche_head(); + print ''; $defaultref=''; @@ -428,11 +439,13 @@ if ($action == 'create' && $user->rights->projet->creer) print ''; // Label - print ''; + print ''; - // Customer + // Thirdparty print ''; + // Status + if ($status != '') + { + print ''; + } + // Public print ''; + // Budget + print ''; + print ''; + print ''; + // Description print ''; print '
'.$langs->trans("Ref").'
'.$langs->trans("Label").'
'.$langs->trans("Label").'
'.$langs->trans("ThirdParty").''; - $text=$form->select_company(GETPOST('socid','int'),'socid','',1,1); + $filteronlist=''; + if (! empty($conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST)) $filteronlist=$conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST; + $text=$form->select_thirdparty_list(GETPOST('socid','int'),'socid',$filteronlist,1,1); if (empty($conf->global->PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS) && empty($conf->dol_use_jmobile)) { $texthelp=$langs->trans("IfNeedToUseOhterObjectKeepEmpty"); @@ -441,6 +454,15 @@ if ($action == 'create' && $user->rights->projet->creer) else print $text; print '
'.$langs->trans("Status").''; + print ''; + print $object->LibStatut($status, 4); + print '
'.$langs->trans("Visibility").''; $array=array(0 => $langs->trans("PrivateProject"),1 => $langs->trans("SharedProject")); @@ -457,6 +479,11 @@ if ($action == 'create' && $user->rights->projet->creer) print $form->select_date(($date_end?$date_end:-1),'projectend'); print '
'.$langs->trans("Budget").'
'.$langs->trans("Description").''; @@ -473,14 +500,16 @@ if ($action == 'create' && $user->rights->projet->creer) print '
'; - print '
'; + dol_fiche_end(); + + print '
'; print ''; if (! empty($backtopage)) { print '     '; print ''; } - print '
'; + print '
'; print ''; @@ -500,9 +529,6 @@ else //print "userAccess=".$userAccess." userWrite=".$userWrite." userDelete=".$userDelete; - $head=project_prepare_head($object); - dol_fiche_head($head, 'project', $langs->trans("Project"),0,($object->public?'projectpub':'project')); - // Confirmation validation if ($action == 'validate') { @@ -536,6 +562,7 @@ else 'text' => $langs->trans("ConfirmClone"), array('type' => 'checkbox', 'name' => 'clone_contacts', 'label' => $langs->trans("CloneContacts"), 'value' => true), array('type' => 'checkbox', 'name' => 'clone_tasks', 'label' => $langs->trans("CloneTasks"), 'value' => true), + array('type' => 'checkbox', 'name' => 'move_date', 'label' => $langs->trans("CloneMoveDate"), 'value' => true), array('type' => 'checkbox', 'name' => 'clone_notes', 'label' => $langs->trans("CloneNotes"), 'value' => true), array('type' => 'checkbox', 'name' => 'clone_project_files','label' => $langs->trans("CloneProjectFiles"), 'value' => false), array('type' => 'checkbox', 'name' => 'clone_task_files', 'label' => $langs->trans("CloneTaskFiles"), 'value' => false) @@ -544,14 +571,20 @@ else print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id, $langs->trans("CloneProject"), $langs->trans("ConfirmCloneProject"), "confirm_clone", $formquestion, '', 1, 240); } + + + print '
'; + print ''; + print ''; + print ''; + print ''; + + + $head=project_prepare_head($object); + dol_fiche_head($head, 'project', $langs->trans("Project"),0,($object->public?'projectpub':'project')); + if ($action == 'edit' && $userWrite > 0) { - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; // Ref @@ -560,13 +593,15 @@ else // Label print ''; - print ''; + print ''; // Customer print ''; // Visibility @@ -582,7 +617,7 @@ else print ''; @@ -591,6 +626,11 @@ else print $form->select_date($object->date_end?$object->date_end:-1,'projectend'); print ''; + // Budget + print ''; + print ''; + print ''; + // Description print ''; print '
'.$langs->trans("Label").'
'.$langs->trans("ThirdParty").''; - $text=$form->select_company($object->thirdparty->id,'socid','',1,1); + $filteronlist=''; + if (! empty($conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST)) $filteronlist=$conf->global->PROJECT_FILTER_FOR_THIRDPARTY_LIST; + $text=$form->select_thirdparty_list($object->thirdparty->id,'socid',$filteronlist,1,1); $texthelp=$langs->trans("IfNeedToUseOhterObjectKeepEmpty"); - print $form->textwithtooltip($text.' '.img_help(),$texthelp,1); + print $form->textwithtooltip($text.' '.img_help(), $texthelp, 1, 0, '', '', 2); print '
'.$langs->trans("DateStart").''; print $form->select_date($object->date_start?$object->date_start:-1,'projectstart'); print '     '. $langs->trans("ProjectReportDate"); print '
'.$langs->trans("Budget").'
'.$langs->trans("Description").''; @@ -606,12 +646,6 @@ else } print '
'; - - print '

'; - print '   '; - print '
'; - - print '
'; } else { @@ -658,8 +692,13 @@ else print dol_print_date($object->date_end,'day'); print ''; + // Budget + print ''.$langs->trans("Budget").''; + if ($object->budget_amount != '') print price($object->budget_amount,'',$langs,0,0,0,$conf->currency); + print ''; + // Description - print ''.$langs->trans("Description").''; + print ''.$langs->trans("Description").''; print nl2br($object->description); print ''; @@ -675,6 +714,17 @@ else dol_fiche_end(); + if ($action == 'edit' && $userWrite > 0) + { + print '
'; + print '     '; + print ''; + print '
'; + } + + print ''; + + /* * Boutons actions */ @@ -682,42 +732,42 @@ else if ($action != "edit" ) { - // Validate - if ($object->statut == 0 && $user->rights->projet->creer) - { - if ($userWrite > 0) - { - print ''.$langs->trans("Valid").''; - } - else - { - print ''.$langs->trans('Valid').''; - } - } - // Modify if ($object->statut != 2 && $user->rights->projet->creer) { if ($userWrite > 0) { - print ''.$langs->trans("Modify").''; + print ''; } else { - print ''.$langs->trans('Modify').''; + print ''; + } + } + + // Validate + if ($object->statut == 0 && $user->rights->projet->creer) + { + if ($userWrite > 0) + { + print ''; + } + else + { + print ''; } } // Close - if ($object->statut == 1 && $user->rights->projet->creer) + if (($object->statut == 0 || $object->statut == 1) && $user->rights->projet->creer) { if ($userWrite > 0) { - print ''.$langs->trans("Close").''; + print ''; } else { - print ''.$langs->trans('Close').''; + print ''; } } @@ -726,11 +776,11 @@ else { if ($userWrite > 0) { - print ''.$langs->trans("ReOpen").''; + print ''; } else { - print ''.$langs->trans('ReOpen').''; + print ''; } } @@ -739,11 +789,11 @@ else { if ($userWrite > 0) { - print ''.$langs->trans('ToClone').''; + print ''; } else { - print ''.$langs->trans('ToClone').''; + print ''; } } @@ -752,11 +802,11 @@ else { if ($userDelete > 0) { - print ''.$langs->trans("Delete").''; + print ''; } else { - print ''.$langs->trans('Delete').''; + print ''; } } } diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index a52a9f133e9..4e505eb0910 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2005-2012 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2013 Florian Henry - * Copyright (C) 2014 Marcos García + * Copyright (C) 2014-2015 Marcos García * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -46,19 +46,53 @@ class Project extends CommonObject var $id; var $ref; var $description; - var $statut; + /** + * @var string + * @deprecated + * @see title + */ + public $titre; var $title; var $date_start; var $date_end; + var $date_close; var $socid; var $user_author_id; //!< Id of project creator. Not defined if shared project. + var $user_close_id; var $public; //!< Tell if this is a public or private project var $note_private; var $note_public; + var $budget_amount; + var $statuts_short; var $statuts; // 0=draft, 1=opened, 2=closed + var $oldcopy; + var $weekWorkLoad; // Used to store workload details of a projet + var $weekWorkLoadPerTask; // Used to store workload details of tasks of a projet + + /** + * @var int Creation date + * @deprecated + * @see date_c + */ + public $datec; + /** + * @var int Creation date + */ + public $date_c; + /** + * @var int Modification date + * @deprecated + * @see date_m + */ + public $datem; + /** + * @var int Modification date + */ + public $date_m; + /** * Constructor @@ -110,6 +144,7 @@ class Project extends CommonObject $sql.= ", datec"; $sql.= ", dateo"; $sql.= ", datee"; + $sql.= ", budget_amount"; $sql.= ", entity"; $sql.= ") VALUES ("; $sql.= "'" . $this->db->escape($this->ref) . "'"; @@ -117,11 +152,12 @@ class Project extends CommonObject $sql.= ", '" . $this->db->escape($this->description) . "'"; $sql.= ", " . ($this->socid > 0 ? $this->socid : "null"); $sql.= ", " . $user->id; - $sql.= ", 0"; + $sql.= ", ".(is_numeric($this->statuts) ? $this->statuts : '0'); $sql.= ", " . ($this->public ? 1 : 0); $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", " . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); $sql.= ", " . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); + $sql.= ", " . ($this->budget_amount != '' ? price2num($this->budget_amount) : 'null'); $sql.= ", ".$conf->entity; $sql.= ")"; @@ -147,7 +183,7 @@ class Project extends CommonObject $error++; } - //Update extrafield + // Update extrafield if (!$error) { if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used { @@ -208,6 +244,9 @@ class Project extends CommonObject $sql.= ", datec=" . ($this->date_c != '' ? "'".$this->db->idate($this->date_c)."'" : 'null'); $sql.= ", dateo=" . ($this->date_start != '' ? "'".$this->db->idate($this->date_start)."'" : 'null'); $sql.= ", datee=" . ($this->date_end != '' ? "'".$this->db->idate($this->date_end)."'" : 'null'); + $sql.= ", date_close=" . ($this->date_close != '' ? "'".$this->db->idate($this->date_close)."'" : 'null'); + $sql.= ", fk_user_close=" . ($this->fk_user_close > 0 ? $this->fk_user_close : "null"); + $sql.= ", budget_amount = " . ($this->budget_amount > 0 ? $this->budget_amount : "null"); $sql.= " WHERE rowid = " . $this->id; dol_syslog(get_class($this)."::Update", LOG_DEBUG); @@ -293,8 +332,8 @@ class Project extends CommonObject { if (empty($id) && empty($ref)) return -1; - $sql = "SELECT rowid, ref, title, description, public, datec"; - $sql.= ", tms, dateo, datee, fk_soc, fk_user_creat, fk_statut, note_private, note_public,model_pdf"; + $sql = "SELECT rowid, ref, title, description, public, datec, budget_amount,"; + $sql.= " tms, dateo, datee, date_close, fk_soc, fk_user_creat, fk_user_close, fk_statut, note_private, note_public, model_pdf"; $sql.= " FROM " . MAIN_DB_PREFIX . "projet"; if (! empty($id)) { @@ -325,12 +364,15 @@ class Project extends CommonObject $this->datem = $this->db->jdate($obj->tms); // TODO deprecated $this->date_start = $this->db->jdate($obj->dateo); $this->date_end = $this->db->jdate($obj->datee); + $this->date_close = $this->db->jdate($obj->date_close); $this->note_private = $obj->note_private; $this->note_public = $obj->note_public; $this->socid = $obj->fk_soc; $this->user_author_id = $obj->fk_user_creat; + $this->user_close_id = $obj->fk_user_close; $this->public = $obj->public; $this->statut = $obj->fk_statut; + $this->budget_amount = $obj->budget_amount; $this->modelpdf = $obj->model_pdf; $this->db->free($resql); @@ -391,27 +433,40 @@ class Project extends CommonObject } /** - * Return list of elements for type linked to project + * Return list of elements for type, linked to project * - * @param string $type 'propal','order','invoice','order_supplier','invoice_supplier' + * @param string $type 'propal','order','invoice','order_supplier','invoice_supplier',... * @param string $tablename name of table associated of the type - * @param string $datefieldname name of table associated of the type - * @param string $dates Start date (at 00:00:00) - * @param string $datee End date (at 23:00:00) - * @return mixed List of orders linked to project, < 0 or string if error + * @param string $datefieldname name of date field for filter + * @param string $dates Start date (ex 00:00:00) + * @param string $datee End date (ex 23:59:59) + * @return mixed Array list of object ids linked to project, < 0 or string if error */ function get_element_list($type, $tablename, $datefieldname='', $dates='', $datee='') { $elements = array(); - if ($type == 'agenda') + if ($type == 'agenda') { $sql = "SELECT id as rowid FROM " . MAIN_DB_PREFIX . "actioncomm WHERE fk_project=" . $this->id; } + elseif ($type == 'expensereport') + { + $sql = "SELECT ed.rowid FROM " . MAIN_DB_PREFIX . "expensereport as e, " . MAIN_DB_PREFIX . "expensereport_det as ed WHERE e.rowid = ed.fk_expensereport AND ed.fk_projet=" . $this->id; + } + elseif ($type == 'project_task') + { + $sql = "SELECT DISTINCT pt.rowid FROM " . MAIN_DB_PREFIX . "projet_task as pt, " . MAIN_DB_PREFIX . "projet_task_time as ptt WHERE pt.rowid = ptt.fk_task AND pt.fk_projet=" . $this->id; + } + elseif ($type == 'project_task_time') // Case we want to duplicate line foreach user + { + $sql = "SELECT DISTINCT pt.rowid, ptt.fk_user FROM " . MAIN_DB_PREFIX . "projet_task as pt, " . MAIN_DB_PREFIX . "projet_task_time as ptt WHERE pt.rowid = ptt.fk_task AND pt.fk_projet=" . $this->id; + } else { $sql = "SELECT rowid FROM " . MAIN_DB_PREFIX . $tablename." WHERE fk_projet=" . $this->id; } + if ($dates > 0) { if (empty($datefieldname) && ! empty($this->table_element_date)) $datefieldname=$this->table_element_date; @@ -439,7 +494,7 @@ class Project extends CommonObject { $obj = $this->db->fetch_object($result); - $elements[$i] = $obj->rowid; + $elements[$i] = $obj->rowid.(empty($obj->fk_user)?'':'_'.$obj->fk_user); $i++; } @@ -484,6 +539,23 @@ class Project extends CommonObject } } + // Set fk_projet into elements to null + $listoftables=array( + 'facture'=>'fk_projet','propal'=>'fk_projet','commande'=>'fk_projet','facture_fourn'=>'fk_projet','commande_fournisseur'=>'fk_projet', + 'expensereport_det'=>'fk_projet','contrat'=>'fk_projet','fichinter'=>'fk_projet','don'=>'fk_projet' + ); + foreach($listoftables as $key => $value) + { + $sql = "UPDATE " . MAIN_DB_PREFIX . $key . " SET ".$value." = NULL where ".$value." = ". $this->id; + $resql = $this->db->query($sql); + if (!$resql) + { + $this->errors[] = $this->db->lasterror(); + $error++; + break; + } + } + // Delete tasks if (! $error) { @@ -655,13 +727,15 @@ class Project extends CommonObject /** * Close a project * - * @param User $user User that validate + * @param User $user User that close project * @return int <0 if KO, >0 if OK */ function setClose($user) { global $langs, $conf; + $now = dol_now(); + $error=0; if ($this->statut != 2) @@ -669,7 +743,7 @@ class Project extends CommonObject $this->db->begin(); $sql = "UPDATE " . MAIN_DB_PREFIX . "projet"; - $sql.= " SET fk_statut = 2"; + $sql.= " SET fk_statut = 2, fk_user_close = ".$user->id.", date_close = '".$this->db->idate($now)."'"; $sql.= " WHERE rowid = " . $this->id; $sql.= " AND entity = " . $conf->entity; $sql.= " AND fk_statut = 1"; @@ -775,43 +849,46 @@ class Project extends CommonObject } /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param string $option Variant ('', 'nolink') * @param int $addlabel 0=Default, 1=Add label into string, >1=Add first chars into string + * @param string $moreinpopup Text to add into popu * @return string Chaine avec URL */ - function getNomUrl($withpicto=0, $option='', $addlabel=0) + function getNomUrl($withpicto=0, $option='', $addlabel=0, $moreinpopup='') { global $langs; $result = ''; - $lien = ''; - $lienfin = ''; + $link = ''; + $linkend = ''; + $label = '' . $langs->trans("ShowProject") . ''; + if (! empty($this->ref)) + $label .= '
' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->title)) + $label .= '
' . $langs->trans('Label') . ': ' . $this->title; + if ($moreinpopup) $label.='
'.$moreinpopup; + $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; - if ($option != 'nolink') - { - if (preg_match('/\.php$/',$option)) - { - $lien = ''; - $lienfin = ''; - } - else - { - $lien = ''; - $lienfin = ''; - } + if ($option != 'nolink') { + if (preg_match('/\.php$/',$option)) { + $link = ''; + } } $picto = 'projectpub'; if (!$this->public) $picto = 'project'; - $label = $langs->trans("ShowProject") . ': ' . $this->ref . ($this->title ? ' - ' . $this->title : ''); - if ($withpicto) $result.=($lien . img_object($label, $picto) . $lienfin); + if ($withpicto) $result.=($link . img_object($label, $picto, 'class="classfortooltip"') . $linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien . $this->ref . $lienfin . (($addlabel && $this->title) ? ' - ' . dol_trunc($this->title, ($addlabel > 1 ? $addlabel : 0)) : ''); + if ($withpicto != 2) $result.=$link . $this->ref . $linkend . (($addlabel && $this->title) ? ' - ' . dol_trunc($this->title, ($addlabel > 1 ? $addlabel : 0)) : ''); return $result; } @@ -837,6 +914,8 @@ class Project extends CommonObject $this->date_m = $now; $this->date_start = $now; $this->note_public = 'SPECIMEN'; + $this->budget_amount = 10000; + /* $nbp = rand(1, 9); $xnbp = 0; @@ -888,13 +967,6 @@ class Project extends CommonObject if ($mode == 'write' && $user->rights->projet->creer) $userAccess++; if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++; } - // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. - /*if ($source == 'external' && preg_match('/PROJECT/', $userRole[$nblinks]['code']) && $user->contact_id == $userRole[$nblinks]['id']) - { - if ($mode == 'read' && $user->rights->projet->lire) $userAccess++; - if ($mode == 'write' && $user->rights->projet->creer) $userAccess++; - if ($mode == 'delete' && $user->rights->projet->supprimer) $userAccess++; - }*/ $nblinks++; } } @@ -940,11 +1012,9 @@ class Project extends CommonObject { $sql.= " AND ec.element_id = p.rowid"; $sql.= " AND ( p.public = 1"; - //$sql.= " OR p.fk_user_creat = ".$user->id; $sql.= " OR ( ctc.rowid = ec.fk_c_type_contact"; $sql.= " AND ctc.element = '" . $this->element . "'"; $sql.= " AND ( (ctc.source = 'internal' AND ec.fk_socpeople = ".$user->id.")"; - //$sql.= " OR (ctc.source = 'external' AND ec.fk_socpeople = ".($user->contact_id?$user->contact_id:0).")"; // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. $sql.= " )"; $sql.= " ))"; } @@ -954,7 +1024,6 @@ class Project extends CommonObject $sql.= " AND ctc.rowid = ec.fk_c_type_contact"; $sql.= " AND ctc.element = '" . $this->element . "'"; $sql.= " AND ( (ctc.source = 'internal' AND ec.fk_socpeople = ".$user->id.")"; - //$sql.= " OR (ctc.source = 'external' AND ec.fk_socpeople = ".($user->contact_id?$user->contact_id:0).")"; // Permission are supported on users only. To have an external thirdparty contact to see a project, its user must allowed to contacts of projects. $sql.= " )"; } if ($mode == 2) @@ -1002,16 +1071,17 @@ class Project extends CommonObject * @param bool $clone_project_file clone file of project * @param bool $clone_task_file clone file of task (if task are copied) * @param bool $clone_note clone note of project - * @param bool $notrigger no trigger flag + * @param bool $move_date move task date on clone + * @param integer $notrigger no trigger flag * @return int New id of clone */ - function createFromClone($fromid,$clone_contact=false,$clone_task=true,$clone_project_file=false,$clone_task_file=false,$clone_note=true,$notrigger=0) + function createFromClone($fromid,$clone_contact=false,$clone_task=true,$clone_project_file=false,$clone_task_file=false,$clone_note=true,$move_date=true,$notrigger=0) { global $user,$langs,$conf; $error=0; - dol_syslog("createFromClone clone_contact=".$clone_contact." clone_task=".$clone_task." clone_project_file=".$clone_project_file." clone_note=".$clone_note); + dol_syslog("createFromClone clone_contact=".$clone_contact." clone_task=".$clone_task." clone_project_file=".$clone_project_file." clone_note=".$clone_note." move_date=".$move_date,LOG_DEBUG); $now = dol_mktime(0,0,0,idate('m',dol_now()),idate('d',dol_now()),idate('Y',dol_now())); @@ -1029,11 +1099,13 @@ class Project extends CommonObject $orign_project_ref=$clone_project->ref; $clone_project->id=0; - $clone_project->date_start = $now; - if (!(empty($clone_project->date_end))) - { - $clone_project->date_end = $clone_project->date_end + ($now - $orign_dt_start); - } + if ($move_date) { + $clone_project->date_start = $now; + if (!(empty($clone_project->date_end))) + { + $clone_project->date_end = $clone_project->date_end + ($now - $orign_dt_start); + } + } $clone_project->datec = $now; @@ -1185,7 +1257,7 @@ class Project extends CommonObject foreach ($tasksarray as $tasktoclone) { - $result_clone = $taskstatic->createFromClone($tasktoclone->id,$clone_project_id,$tasktoclone->fk_parent,true,true,false,$clone_task_file,true,false); + $result_clone = $taskstatic->createFromClone($tasktoclone->id,$clone_project_id,$tasktoclone->fk_parent,$move_date,true,false,$clone_task_file,true,false); if ($result_clone <= 0) { $this->error.=$result_clone->error; @@ -1409,5 +1481,73 @@ class Project extends CommonObject return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + + /** + * Load time spent into this->weekWorkLoad and this->weekWorkLoadPerTask for all day of a week of project + * + * @param int $datestart First day of week (use dol_get_first_day to find this date) + * @param int $taskid Filter on a task id + * @param int $userid Time spent by a particular user + * @return int <0 if OK, >0 if KO + */ + public function loadTimeSpent($datestart,$taskid=0,$userid=0) + { + $error=0; + + if (empty($datestart)) dol_print_error('','Error datestart parameter is empty'); + + $sql = "SELECT ptt.rowid as taskid, ptt.task_duration, ptt.task_date, ptt.fk_task"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet_task_time AS ptt, ".MAIN_DB_PREFIX."projet_task as pt"; + $sql.= " WHERE ptt.fk_task = pt.rowid"; + $sql.= " AND pt.fk_projet = ".$this->id; + $sql.= " AND (ptt.task_date >= '".$this->db->idate($datestart)."' "; + $sql.= " AND ptt.task_date <= '".$this->db->idate($datestart + (7 * 24 * 3600) - 1)."')"; + if ($task_id) $sql.= " AND ptt.fk_task=".$taskid; + if (is_numeric($userid)) $sql.= " AND ptt.fk_user=".$userid; + + //print $sql; + $resql=$this->db->query($sql); + if ($resql) + { + + $num = $this->db->num_rows($resql); + $i = 0; + // Loop on each record found, so each couple (project id, task id) + while ($i < $num) + { + $obj=$this->db->fetch_object($resql); + $day=$this->db->jdate($obj->task_date); + $this->weekWorkLoad[$day] += $obj->task_duration; + $this->weekWorkLoadPerTask[$day][$obj->fk_task] += $obj->task_duration; + $i++; + } + $this->db->free($resql); + return 1; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); + return -1; + } + } + + /** + * Function used to replace a thirdparty id with another one. + * + * @param DoliDB $db Database handler + * @param int $origin_id Old thirdparty id + * @param int $dest_id New thirdparty id + * @return bool + */ + public static function replaceThirdparty(DoliDB $db, $origin_id, $dest_id) + { + $tables = array( + 'projet' + ); + + return CommonObject::commonReplaceThirdparty($db, $origin_id, $dest_id, $tables); + } + } diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index b01a9644cb1..bd20a930aa4 100644 --- a/htdocs/projet/class/task.class.php +++ b/htdocs/projet/class/task.class.php @@ -61,6 +61,7 @@ class Task extends CommonObject var $timespent_old_duration; var $timespent_date; var $timespent_datehour; // More accurate start date (same than timespent_date but includes hours, minutes and seconds) + var $timespent_withhour; // 1 = we entered also start hours for timesheet line var $timespent_fk_user; var $timespent_note; @@ -286,7 +287,7 @@ class Task extends CommonObject $sql.= " label=".(isset($this->label)?"'".$this->db->escape($this->label)."'":"null").","; $sql.= " description=".(isset($this->description)?"'".$this->db->escape($this->description)."'":"null").","; $sql.= " duration_effective=".(isset($this->duration_effective)?$this->duration_effective:"null").","; - $sql.= " planned_workload=".(isset($this->planned_workload)?$this->planned_workload:"0").","; + $sql.= " planned_workload=".((isset($this->planned_workload) && $this->planned_workload != '')?$this->planned_workload:"null").","; $sql.= " dateo=".($this->date_start!=''?"'".$this->db->idate($this->date_start)."'":'null').","; $sql.= " datee=".($this->date_end!=''?"'".$this->db->idate($this->date_end)."'":'null').","; $sql.= " progress=".$this->progress.","; @@ -493,11 +494,11 @@ class Task extends CommonObject /** - * Renvoie nom clicable (avec eventuellement le picto) + * Return clicable name (with picto eventually) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul - * @param int $option Sur quoi pointe le lien - * @param int $mode Mode 'task', 'time', 'contact', 'note', document' define page to link to. + * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto + * @param string $option 'withproject' or '' + * @param string $mode Mode 'task', 'time', 'contact', 'note', document' define page to link to. * @return string Chaine avec URL */ function getNomUrl($withpicto=0,$option='',$mode='task') @@ -505,17 +506,26 @@ class Task extends CommonObject global $langs; $result=''; + $label = '' . $langs->trans("ShowTask") . ''; + if (! empty($this->ref)) + $label .= '
' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->label)) + $label .= '
' . $langs->trans('LabelTask') . ': ' . $this->label; + if ($this->date_start || $this->date_end) + { + $label .= "
".get_date_range($this->date_start,$this->date_end,'',$langs,0); + } + $linkclose = '" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; - $lien = '
'; - $lienfin=''; + $link = 'ref.($this->label?' - '.$this->label:''); - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } @@ -551,9 +561,12 @@ class Task extends CommonObject * @param int $mode 0=Return list of tasks and their projects, 1=Return projects and tasks if exists * @param string $filteronprojref Filter on project ref * @param string $filteronprojstatus Filter on project status + * @param string $morewherefilter Add more filter into where SQL request + * @param string $filteronprojuser Filter on user that is a contact of project + * @param string $filterontaskuse Filter on user assigned to task * @return array Array of tasks */ - function getTasksArray($usert=0, $userp=0, $projectid=0, $socid=0, $mode=0, $filteronprojref='', $filteronprojstatus=-1) + function getTasksArray($usert=0, $userp=0, $projectid=0, $socid=0, $mode=0, $filteronprojref='', $filteronprojstatus=-1, $morewherefilter='',$filteronprojuser=0,$filterontaskuse=0) { global $conf; @@ -563,30 +576,37 @@ class Task extends CommonObject // List of tasks (does not care about permissions. Filtering will be done later) $sql = "SELECT p.rowid as projectid, p.ref, p.title as plabel, p.public, p.fk_statut,"; - $sql.= " t.rowid as taskid, t.label, t.description, t.fk_task_parent, t.duration_effective, t.progress,"; - $sql.= " t.dateo as date_start, t.datee as date_end, t.planned_workload, t.ref as ref_task,t.rang"; + $sql.= " t.rowid as taskid, t.ref as taskref, t.label, t.description, t.fk_task_parent, t.duration_effective, t.progress,"; + $sql.= " t.dateo as date_start, t.datee as date_end, t.planned_workload, t.rang"; if ($mode == 0) { $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= ", ".MAIN_DB_PREFIX."projet_task as t"; - $sql.= " WHERE t.fk_projet = p.rowid"; - $sql.= " AND p.entity = ".$conf->entity; - if ($socid) $sql.= " AND p.fk_soc = ".$socid; - if ($projectid) $sql.= " AND p.rowid in (".$projectid.")"; + $sql.= " WHERE p.entity = ".$conf->entity; + $sql.= " AND t.fk_projet = p.rowid"; } if ($mode == 1) { $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet_task as t on t.fk_projet = p.rowid"; $sql.= " WHERE p.entity = ".$conf->entity; - if ($socid) $sql.= " AND p.fk_soc = ".$socid; - if ($projectid) $sql.= " AND p.rowid in (".$projectid.")"; } + if ($filteronprojuser) + { + // TODO + } + if ($filterontaskuser) + { + // TODO + } + if ($socid) $sql.= " AND p.fk_soc = ".$socid; + if ($projectid) $sql.= " AND p.rowid in (".$projectid.")"; if ($filteronprojref) $sql.= " AND p.ref LIKE '%".$filteronprojref."%'"; if ($filteronprojstatus > -1) $sql.= " AND p.fk_statut = ".$filteronprojstatus; + if ($morewherefilter) $sql.=" AND (".$morewherefilter.")"; $sql.= " ORDER BY p.ref, t.rang, t.dateo"; - //print $sql; + //print $sql;exit; dol_syslog(get_class($this)."::getTasksArray", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) @@ -619,7 +639,7 @@ class Task extends CommonObject { $tasks[$i] = new Task($this->db); $tasks[$i]->id = $obj->taskid; - $tasks[$i]->ref = $obj->ref_task; + $tasks[$i]->ref = $obj->taskref; $tasks[$i]->fk_project = $obj->projectid; $tasks[$i]->projectref = $obj->ref; $tasks[$i]->projectlabel = $obj->plabel; @@ -751,7 +771,7 @@ class Task extends CommonObject /** * Add time spent * - * @param User $user user id + * @param User $user User object * @param int $notrigger 0=launch triggers after, 1=disable triggers * @return void */ @@ -759,8 +779,17 @@ class Task extends CommonObject { global $conf,$langs; + dol_syslog(get_class($this)."::addTimeSpent", LOG_DEBUG); + $ret = 0; + // Check parameters + if (! is_object($user)) + { + dol_print_error('',"Method addTimeSpent was called with wrong parameter user"); + return -1; + } + // Clean parameters if (isset($this->timespent_note)) $this->timespent_note = trim($this->timespent_note); if (empty($this->timespent_datehour)) $this->timespent_datehour = $this->timespent_date; @@ -771,6 +800,7 @@ class Task extends CommonObject $sql.= "fk_task"; $sql.= ", task_date"; $sql.= ", task_datehour"; + $sql.= ", task_date_withhour"; $sql.= ", task_duration"; $sql.= ", fk_user"; $sql.= ", note"; @@ -778,13 +808,14 @@ class Task extends CommonObject $sql.= $this->id; $sql.= ", '".$this->db->idate($this->timespent_date)."'"; $sql.= ", '".$this->db->idate($this->timespent_datehour)."'"; + $sql.= ", ".(empty($this->timespent_withhour)?0:1); $sql.= ", ".$this->timespent_duration; $sql.= ", ".$this->timespent_fk_user; $sql.= ", ".(isset($this->timespent_note)?"'".$this->db->escape($this->timespent_note)."'":"null"); $sql.= ")"; - dol_syslog(get_class($this)."::addTimeSpent", LOG_DEBUG); - if ($this->db->query($sql) ) + $resql=$this->db->query($sql); + if ($resql) { $tasktime_id = $this->db->last_insert_id(MAIN_DB_PREFIX."projet_task_time"); $ret = $tasktime_id; @@ -793,19 +824,19 @@ class Task extends CommonObject { // Call trigger $result=$this->call_trigger('TASK_TIMESPENT_CREATE',$user); - if ($result < 0) { $this->db->rollback(); $ret=-1; } + if ($result < 0) { $ret=-1; } // End call triggers } } else { $this->error=$this->db->lasterror(); - $this->db->rollback(); $ret = -1; } if ($ret >= 0) { + // Recalculate amount of time spent for task and update denormalized field $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task"; $sql.= " SET duration_effective = (SELECT SUM(task_duration) FROM ".MAIN_DB_PREFIX."projet_task_time as ptt where ptt.fk_task = ".$this->id.")"; if (isset($this->progress)) $sql.= ", progress = " . $this->progress; // Do not overwrite value if not provided @@ -815,7 +846,6 @@ class Task extends CommonObject if (! $this->db->query($sql) ) { $this->error=$this->db->lasterror(); - $this->db->rollback(); $ret = -2; } @@ -827,12 +857,18 @@ class Task extends CommonObject if (! $this->db->query($sql) ) { $this->error=$this->db->lasterror(); - $this->db->rollback(); $ret = -2; } } - if ($ret >=0) $this->db->commit(); + if ($ret >=0) + { + $this->db->commit(); + } + else + { + $this->db->rollback(); + } return $ret; } @@ -877,6 +913,61 @@ class Task extends CommonObject } } + /** + * Calculate vamue of time consumed using the thm (hourly amount value of work for user entering time) + * + * @param User $fuser Filter on a dedicated user + * @param string $dates Start date (ex 00:00:00) + * @param string $datee End date (ex 23:59:59) + * @return array Array of info for task array('amount') + */ + function getSumOfAmount($fuser='', $dates='', $datee='') + { + global $langs; + + if (empty($id)) $id=$this->id; + + $result=array(); + + $sql = "SELECT"; + $sql.= " SUM(t.task_duration / 3600 * ".$this->db->ifsql("t.thm IS NULL", 0, "t.thm").") as amount, SUM(".$this->db->ifsql("t.thm IS NULL", 1, 0).") as nblinesnull"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet_task_time as t"; + $sql.= " WHERE t.fk_task = ".$id; + if (is_object($fuser) && $fuser->id > 0) + { + $sql.=" AND fk_user = ".$fuser->id; + } + if ($dates > 0) + { + $datefieldname="task_datehour"; + $sql.=" AND (".$datefieldname." >= '".$this->db->idate($dates)."' OR ".$datefieldname." IS NULL)"; + } + if ($datee > 0) + { + $datefieldname="task_datehour"; + $sql.=" AND (".$datefieldname." <= '".$this->db->idate($datee)."' OR ".$datefieldname." IS NULL)"; + } + //print $sql; + + dol_syslog(get_class($this)."::getSumOfAmount", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $obj = $this->db->fetch_object($resql); + + $result['amount'] = $obj->amount; + $result['nblinesnull'] = $obj->nblinesnull; + + $this->db->free($resql); + return $result; + } + else + { + dol_print_error($this->db); + return $result; + } + } + /** * Load object in memory from database * @@ -891,6 +982,8 @@ class Task extends CommonObject $sql.= " t.rowid,"; $sql.= " t.fk_task,"; $sql.= " t.task_date,"; + $sql.= " t.task_datehour,"; + $sql.= " t.task_date_withhour,"; $sql.= " t.task_duration,"; $sql.= " t.fk_user,"; $sql.= " t.note"; @@ -907,7 +1000,9 @@ class Task extends CommonObject $this->timespent_id = $obj->rowid; $this->id = $obj->fk_task; - $this->timespent_date = $obj->task_date; + $this->timespent_date = $this->db->jdate($obj->task_date); + $this->timespent_datehour = $this->db->jdate($obj->task_datehour); + $this->timespent_withhour = $obj->task_date_withhour; $this->timespent_duration = $obj->task_duration; $this->timespent_fk_user = $obj->fk_user; $this->timespent_note = $obj->note; @@ -946,6 +1041,7 @@ class Task extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task_time SET"; $sql.= " task_date = '".$this->db->idate($this->timespent_date)."',"; $sql.= " task_datehour = '".$this->db->idate($this->timespent_datehour)."',"; + $sql.= " task_date_withhour = ".(empty($this->timespent_withhour)?0:1); $sql.= " task_duration = ".$this->timespent_duration.","; $sql.= " fk_user = ".$this->timespent_fk_user.","; $sql.= " note = ".(isset($this->timespent_note)?"'".$this->db->escape($this->timespent_note)."'":"null"); @@ -1300,7 +1396,7 @@ class Task extends CommonObject /** * Return status label of object * - * @param string $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @param integer $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ function getLibStatut($mode=0) @@ -1312,7 +1408,7 @@ class Task extends CommonObject * Return status label for an object * * @param int $statut Id statut - * @param string $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto + * @param integer $mode 0=long label, 1=short label, 2=Picto + short label, 3=Picto, 4=Picto + long label, 5=Short label + Picto * @return string Label */ function LibStatut($statut,$mode=0) diff --git a/htdocs/projet/contact.php b/htdocs/projet/contact.php index bc8f5b3098c..9c3d5e61364 100644 --- a/htdocs/projet/contact.php +++ b/htdocs/projet/contact.php @@ -41,12 +41,8 @@ $mine = GETPOST('mode')=='mine' ? 1 : 0; //if (! $user->rights->projet->all->lire) $mine=1; // Special for projects $object = new Project($db); -if ($id > 0 || ! empty($ref)) -{ - $object->fetch($id,$ref); - $object->fetch_thirdparty(); - $id=$object->id; -} + +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once // Security check $socid=0; @@ -124,8 +120,10 @@ if (($action == 'deleteline' || $action == 'deletecontact') && $user->rights->pr * View */ +$title=$langs->trans("ProjectContact").' - '.$object->ref.' '.$object->name; +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/projectnameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->ref.' '.$object->name.' - '.$langs->trans("ProjectContact"); $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; -llxHeader('', $langs->trans("Project"), $help_url); +llxHeader('', $title, $help_url); $form = new Form($db); $formcompany= new FormCompany($db); diff --git a/htdocs/projet/document.php b/htdocs/projet/document.php index cb9742e40cc..b33a7e40287 100644 --- a/htdocs/projet/document.php +++ b/htdocs/projet/document.php @@ -46,11 +46,11 @@ if ($user->societe_id > 0) $socid=$user->societe_id; $result=restrictedArea($user,'projet',$id,''); $object = new Project($db); -if ($id > 0 || ! empty($ref)) -{ - $object->fetch($id,$ref); - $object->fetch_thirdparty(); - $upload_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($object->ref); + +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once + +if ($id > 0 || ! empty($ref)) { + $upload_dir = $conf->projet->dir_output . "/" . dol_sanitizeFileName($object->ref); } // Get parameters @@ -77,7 +77,11 @@ include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php * View */ -llxHeader('',$langs->trans('Project'),'EN:Customers_Orders|FR:Commandes_Clients|ES:Pedidos de clientes'); +$title=$langs->trans("Project").' - '.$langs->trans("Document").' - '.$object->ref.' '.$object->name; +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/projectnameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->ref.' '.$object->name.' - '.$langs->trans("Document"); +$help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; + +llxHeader('',$title,$help_url); $form = new Form($db); diff --git a/htdocs/projet/element.php b/htdocs/projet/element.php index f5996c9c9f8..8ade207155e 100644 --- a/htdocs/projet/element.php +++ b/htdocs/projet/element.php @@ -3,6 +3,7 @@ * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2015 Alexandre Spangaro * Copyright (C) 2015 Marcos García * * This program is free software; you can redistribute it and/or modify @@ -27,9 +28,11 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; +require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/project.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; if (! empty($conf->propal->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; if (! empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; if (! empty($conf->facture->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture-rec.class.php'; @@ -39,17 +42,22 @@ if (! empty($conf->fournisseur->enabled)) require_once DOL_DOCUMENT_ROOT.'/fourn if (! empty($conf->contrat->enabled)) require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (! empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichinter/class/fichinter.class.php'; if (! empty($conf->deplacement->enabled)) require_once DOL_DOCUMENT_ROOT.'/compta/deplacement/class/deplacement.class.php'; +if (! empty($conf->expensereport->enabled)) require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php'; if (! empty($conf->agenda->enabled)) require_once DOL_DOCUMENT_ROOT.'/comm/action/class/actioncomm.class.php'; +if (! empty($conf->don->enabled)) require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; $langs->load("projects"); $langs->load("companies"); $langs->load("suppliers"); -if (! empty($conf->facture->enabled)) $langs->load("bills"); -if (! empty($conf->commande->enabled)) $langs->load("orders"); -if (! empty($conf->propal->enabled)) $langs->load("propal"); +if (! empty($conf->facture->enabled)) $langs->load("bills"); +if (! empty($conf->commande->enabled)) $langs->load("orders"); +if (! empty($conf->propal->enabled)) $langs->load("propal"); if (! empty($conf->ficheinter->enabled)) $langs->load("interventions"); +if (! empty($conf->deplacement->enabled)) $langs->load("trips"); +if (! empty($conf->expensereport->enabled)) $langs->load("trips"); +if (! empty($conf->don->enabled)) $langs->load("donations"); -$projectid=GETPOST('id','int'); +$id=GETPOST('id','int'); $ref=GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); $datesrfc=GETPOST('datesrfc'); @@ -66,7 +74,7 @@ if (! isset($_POST['datesrfc']) && ! isset($_POST['datesday']) && ! empty($conf- //$dates=dol_time_plus_duree($datee, -1, 'y'); $dates=dol_get_first_day($tmp['year'],1); } -if ($projectid == '' && $ref == '') +if ($id == '' && $projectid == '' && $ref == '') { dol_print_error('','Bad parameter'); exit; @@ -75,19 +83,11 @@ if ($projectid == '' && $ref == '') $mine = $_REQUEST['mode']=='mine' ? 1 : 0; //if (! $user->rights->projet->all->lire) $mine=1; // Special for projects -$project = new Project($db); -if ($id > 0 || ! empty($ref)) -{ - $project->fetch($id,$ref); - $project->fetch_thirdparty(); - $projectid=$project->id; -} -else -{ - $project->fetch($projectid); - $project->fetch_thirdparty(); - $projectid=$project->id; -} +$projectid=$id; // For backward compatibility + +$object = new Project($db); + +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once // Security check $socid=0; @@ -99,19 +99,22 @@ $result = restrictedArea($user, 'projet', $projectid); * View */ +$title=$langs->trans("ProjectReferers").' - '.$object->ref.' '.$object->name; +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/projectnameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->ref.' '.$object->name.' - '.$langs->trans("ProjectReferers"); $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; llxHeader("",$langs->trans("Referers"),$help_url); $form = new Form($db); $formproject=new FormProjets($db); +$formfile = new FormFile($db); $userstatic=new User($db); // To verify role of users -$userAccess = $project->restrictedProjectArea($user); +$userAccess = $object->restrictedProjectArea($user); -$head=project_prepare_head($project); -dol_fiche_head($head, 'element', $langs->trans("Project"),0,($project->public?'projectpub':'project')); +$head=project_prepare_head($object); +dol_fiche_head($head, 'element', $langs->trans("Project"),0,($object->public?'projectpub':'project')); print ''; @@ -122,36 +125,36 @@ print ''; -print ''; +print ''; print ''; // Visibility print ''; // Statut -print ''; +print ''; // Date start print ''; // Date end print ''; print '
'.$langs->trans("Ref").''; // Define a complementary filter for search of next/prev ref. if (! $user->rights->projet->all->lire) { - $projectsListId = $project->getProjectsAuthorizedForUser($user,$mine,0); - $project->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")"; + $projectsListId = $object->getProjectsAuthorizedForUser($user,$mine,0); + $object->next_prev_filter=" rowid in (".(count($projectsListId)?join(',',array_keys($projectsListId)):'0').")"; } -print $form->showrefnav($project, 'ref', $linkback, 1, 'ref', 'ref'); +print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref'); print '
'.$langs->trans("Label").''.$project->title.'
'.$langs->trans("Label").''.$object->title.'
'.$langs->trans("ThirdParty").''; -if (! empty($project->thirdparty->id)) print $project->thirdparty->getNomUrl(1); +if (! empty($object->thirdparty->id)) print $object->thirdparty->getNomUrl(1); else print ' '; print '
'.$langs->trans("Visibility").''; -if ($project->public) print $langs->trans('SharedProject'); +if ($object->public) print $langs->trans('SharedProject'); else print $langs->trans('PrivateProject'); print '
'.$langs->trans("Status").''.$project->getLibStatut(4).'
'.$langs->trans("Status").''.$object->getLibStatut(4).'
'.$langs->trans("DateStart").''; -print dol_print_date($project->date_start,'day'); +print dol_print_date($object->date_start,'day'); print '
'.$langs->trans("DateEnd").''; -print dol_print_date($project->date_end,'day'); +print dol_print_date($object->date_end,'day'); print '
'; @@ -225,13 +228,22 @@ $listofreferent=array( 'test'=>$conf->ficheinter->enabled && $user->rights->ficheinter->lire), 'trip'=>array( 'name'=>"TripsAndExpenses", - 'title'=>"ListTripAssociatedProject", + 'title'=>"ListExpenseReportsAssociatedProject", 'class'=>'Deplacement', 'table'=>'deplacement', 'datefieldname'=>'dated', 'margin'=>'minus', 'disableamount'=>1, 'test'=>$conf->deplacement->enabled && $user->rights->deplacement->lire), +'expensereport'=>array( + 'name'=>"ExpenseReports", + 'title'=>"ListExpenseReportsAssociatedProject", + 'class'=>'ExpenseReportLine', + 'table'=>'expensereport_det', + 'datefieldname'=>'date', + 'margin'=>'minus', + 'disableamount'=>0, + 'test'=>$conf->expensereport->enabled && $user->rights->expensereport->lire), 'agenda'=>array( 'name'=>"Agenda", 'title'=>"ListActionsAssociatedProject", @@ -239,241 +251,86 @@ $listofreferent=array( 'table'=>'actioncomm', 'datefieldname'=>'datep', 'disableamount'=>1, - 'test'=>$conf->agenda->enabled && $user->rights->agenda->allactions->lire) + 'test'=>$conf->agenda->enabled && $user->rights->agenda->allactions->lire), +'donation'=>array( + 'name'=>"Donation", + 'title'=>"ListDonationsAssociatedProject", + 'class'=>'Don', + 'margin'=>'add', + 'table'=>'don', + 'datefieldname'=>'datedon', + 'disableamount'=>0, + 'test'=>$conf->don->enabled && $user->rights->don->lire), +'project_task'=>array( + 'name'=>"TaskTimeValorised", + 'title'=>"ListTaskTimeUserProject", + 'class'=>'Task', + 'margin'=>'minus', + 'table'=>'projet_task', + 'datefieldname'=>'task_date', + 'disableamount'=>0, + 'test'=>$conf->projet->enabled && $user->rights->projet->lire && $conf->salaries->enabled), ); if ($action=="addelement") { $tablename = GETPOST("tablename"); $elementselectid = GETPOST("elementselect"); - $result=$project->update_element($tablename, $elementselectid); + $result=$object->update_element($tablename, $elementselectid); if ($result<0) { - setEventMessage($project->error,'errors'); + setEventMessage($object->error,'errors'); } }elseif ($action == "unlink") { $tablename = GETPOST("tablename"); $elementselectid = GETPOST("elementselect"); - $result = $project->remove_element($tablename, $elementselectid); + $result = $object->remove_element($tablename, $elementselectid); if ($result < 0) { - setEventMessage($project->error, 'errors'); + setEventMessage($object->error, 'errors'); } } +$elementuser = new User($db); + + + $showdatefilter=0; -foreach ($listofreferent as $key => $value) +// Show the filter on date on top of element list +if (! $showdatefilter) { - $title=$value['title']; - $classname=$value['class']; - $tablename=$value['table']; - $datefieldname=$value['datefieldname']; - $qualified=$value['test']; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print '
'.$langs->trans("From").' '; + print $form->select_date($dates,'dates',0,0,1); + print ''.$langs->trans("to").' '; + print $form->select_date($datee,'datee',0,0,1); + print ''; + print ''; + print '
'; + print '
'; - if ($qualified) - { - if (! $showdatefilter) - { - print '
'; - print ''; - print ''; - print ''; - //print ''; - print ''; - print ''; - print ''; - print '
'.$langs->trans("Filter").':'.$langs->trans("From").' '; - print $form->select_date($dates,'dates',0,0,1); - print ''.$langs->trans("to").' '; - print $form->select_date($datee,'datee',0,0,1); - print ''; - print ''; - print '
'; - print '

'; - - $showdatefilter++; - } - - print '
'; - - print_titre($langs->trans($title)); - - $selectList=$formproject->select_element($tablename,$project->thirdparty->id); - - if (!$selectList || ($selectList<0)) { - setEventMessage($formproject->error,'errors'); - } else { - print '
'; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print ''; - print '
'.$langs->trans("SelectElement").''.$selectList.'
'; - print '
'; - } - print ''; - - print ''; - print ''; - print ''; - print ''; - if (empty($value['disableamount'])) print ''; - else print ''; - if (empty($value['disableamount'])) print ''; - else print ''; - print ''; - print ''; - $elementarray = $project->get_element_list($key, $tablename, $datefieldname, $dates, $datee); - if (is_array($elementarray) && count($elementarray)>0) - { - $var=true; - $total_ht = 0; - $total_ttc = 0; - $num=count($elementarray); - for ($i = 0; $i < $num; $i++) - { - $element = new $classname($db); - $element->fetch($elementarray[$i]); - $element->fetch_thirdparty(); - //print $classname; - - $qualifiedfortotal=true; - if ($key == 'invoice') - { - if ($element->close_code == 'replaced') $qualifiedfortotal=false; // Replacement invoice - } - - $var=!$var; - print ""; - print '\n"; - // Ref - print '\n"; - - // Date - if ($tablename == 'commande_fournisseur' || $tablename == 'supplier_order') $date=$element->date_commande; - else - { - $date=$element->date; - if (empty($date)) $date=$element->datep; - if (empty($date)) $date=$element->date_contrat; - if (empty($date)) $date=$element->datev; //Fiche inter - } - print ''; - - // Third party - print ''; - - // Amount without tax - if (empty($value['disableamount'])) - { - print ''; - } - else print ''; - - // Amount inc tax - if (empty($value['disableamount'])) - { - print ''; - } - else print ''; - - // Status - print ''; - - print ''; - - if ($qualifiedfortotal) - { - $total_ht = $total_ht + $element->total_ht; - $total_ttc = $total_ttc + $element->total_ttc; - } - } - - print ''; - if (empty($value['disableamount'])) print ''; - else print ''; - if (empty($value['disableamount'])) print ''; - else print ''; - print ''; - print ''; - } - else // error - { - print $elementarray; - } - print "
'.$langs->trans("Ref").''.$langs->trans("Date").''.$langs->trans("ThirdParty").''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("Status").'
'; - print '' . img_picto($langs->trans('Unlink'), 'editdelete') . ''; - print "'; - print $element->getNomUrl(1); - print "'.dol_print_date($date,'day').''; - if (is_object($element->thirdparty)) print $element->thirdparty->getNomUrl(1,'',48); - print ''; - if (! $qualifiedfortotal) print ''; - print (isset($element->total_ht)?price($element->total_ht):' '); - if (! $qualifiedfortotal) print ''; - print ''; - if (! $qualifiedfortotal) print ''; - print (isset($element->total_ttc)?price($element->total_ttc):' '); - if (! $qualifiedfortotal) print ''; - print ''; - if ($element instanceof CommonInvoice) { - //This applies for Facture and FactureFournisseur - print $element->getLibStatut(5, $element->getSommePaiement()); - } else { - print $element->getLibStatut(5); - } - print '
'.$langs->trans("Number").': '.$i.''.$langs->trans("TotalHT").' : '.price($total_ht).''.$langs->trans("TotalTTC").' : '.price($total_ttc).' 
"; - - - /* - * Barre d'action - */ - print '
'; - - if ($project->statut > 0) - { - if ($project->thirdparty->prospect || $project->thirdparty->client) - { - if ($key == 'propal' && ! empty($conf->propal->enabled) && $user->rights->propale->creer) - { - print ''.$langs->trans("AddProp").''; - } - if ($key == 'order' && ! empty($conf->commande->enabled) && $user->rights->commande->creer) - { - print ''.$langs->trans("AddCustomerOrder").''; - } - if ($key == 'invoice' && ! empty($conf->facture->enabled) && $user->rights->facture->creer) - { - print ''.$langs->trans("AddCustomerInvoice").''; - } - } - if ($project->thirdparty->fournisseur) - { - if ($key == 'order_supplier' && ! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->creer) - { - print ''.$langs->trans("AddSupplierOrder").''; - } - if ($key == 'invoice_supplier' && ! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->creer) - { - print ''.$langs->trans("AddSupplierInvoice").''; - } - } - } - - print '
'; - } + $showdatefilter++; } -// Profit for all project + + +// Show balance for whole project + $langs->load("suppliers"); $langs->load("bills"); $langs->load("orders"); $langs->load("proposals"); $langs->load("margins"); -print_fiche_titre($langs->trans("Profit"),'',''); + +//print load_fiche_titre($langs->trans("Profit"),'','title_accountancy'); +print '
'.img_picto("", "title_accountancy").' '.$langs->trans("Profit").'

'; + print ''; print ''; print ''; @@ -482,34 +339,85 @@ print ''; print ''; print ''; +$var = false; + foreach ($listofreferent as $key => $value) { $name=$langs->trans($value['name']); $title=$value['title']; $classname=$value['class']; $tablename=$value['table']; + $datefieldname=$value['datefieldname']; $qualified=$value['test']; $margin = $value['margin']; - if (isset($margin)) + if ($qualified && isset($margin)) // If this element must be included into profit calculation ($margin is 'minus' or 'plus') { - $elementarray = $project->get_element_list($key, $tablename); + $element = new $classname($db); + + $elementarray = $object->get_element_list($key, $tablename, $datefieldname, $dates, $datee); if (count($elementarray)>0 && is_array($elementarray)) { - $var=true; $total_ht = 0; $total_ttc = 0; + $num=count($elementarray); for ($i = 0; $i < $num; $i++) { - $element = new $classname($db); - $element->fetch($elementarray[$i]); - $element->fetch_thirdparty(); - //print $classname; - if ($qualified) + $tmp=explode('_',$elementarray[$i]); + $idofelement=$tmp[0]; + $idofelementuser=$tmp[1]; + + $element->fetch($idofelement); + if ($idofelementuser) $elementuser->fetch($idofelementuser); + + if ($tablename != 'expensereport_det') $element->fetch_thirdparty(); + + if ($tablename == 'don') $total_ht_by_line=$element->amount; + elseif ($tablename == 'projet_task') { - $total_ht = $total_ht + $element->total_ht; - $total_ttc = $total_ttc + $element->total_ttc; + if ($idofelementuser) + { + $tmp = $element->getSumOfAmount($elementuser, $dates, $datee); + $total_ht_by_line = price2num($tmp['amount'],'MT'); + } + else + { + $tmp = $element->getSumOfAmount('', $dates, $datee); + $total_ht_by_line = price2num($tmp['amount'],'MT'); + } } + else $total_ht_by_line=$element->total_ht; + + $total_ht = $total_ht + $total_ht_by_line; + + if ($tablename == 'don') $total_ttc_by_line=$element->amount; + elseif ($tablename == 'projet_task') + { + $defaultvat = get_default_tva($mysoc, $mysoc); + $total_ttc_by_line = price2num($total_ht_by_line * (1 + ($defaultvat / 100)),'MT'); + } + else $total_ttc_by_line=$element->total_ttc; + + $total_ttc = $total_ttc + $total_ttc_by_line; + } + + // Calculate margin + if ($margin=="add") + { + $balance_ht+= $total_ht; + $balance_ttc+= $total_ttc; + } + else + { + $balance_ht-= $total_ht; + $balance_ttc-= $total_ttc; + } + + // Show $total_ht & $total_ttc -- add a minus when necessary + if ($margin!="add") + { + $total_ht = -$total_ht; + $total_ttc = -$total_ttc; } switch ($classname) { @@ -535,36 +443,427 @@ foreach ($listofreferent as $key => $value) $newclassname = $classname; } - print ''; + $var = ! $var; + print ''; + // Module print ''; + // Nb print ''; + // Amount HT print ''; + // Amount TTC print ''; print ''; - if ($margin=="add") - { - $margin_ht+= $total_ht; - $margin_ttc+= $total_ttc; - } - else - { - $margin_ht-= $total_ht; - $margin_ttc-= $total_ttc; - } } - } } -// and the margin amount total +// and the final balance print ''; print ''; -print ''; -print ''; +print ''; +print ''; print ''; print "
'.$langs->trans("Element").''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").'
'.$langs->trans($newclassname).''.$i.''.price($total_ht).''.price($total_ttc).'
'.$langs->trans("Total").''.price($margin_ht).''.price($margin_ttc).''.price($balance_ht).''.price($balance_ttc).'
"; + +print '

'; +print '
'; + + + +// Detail +foreach ($listofreferent as $key => $value) +{ + $title=$value['title']; + $classname=$value['class']; + $tablename=$value['table']; + $datefieldname=$value['datefieldname']; + $qualified=$value['test']; + + if ($qualified) + { + // If we want the project task array to have details of users + //if ($key == 'project_task') $key = 'project_task_time'; + + + $element = new $classname($db); + + $addform=''; + $selectList=$formproject->select_element($tablename,$object->thirdparty->id); + if (! $selectList || ($selectList<0)) + { + setEventMessages($formproject->error,$formproject->errors,'errors'); + } + elseif($selectList) + { + $addform.='
'; + $addform.=''; + $addform.=''; + $addform.=''; + $addform.=''; + $addform.=''; + $addform.=''; + $addform.=''; + $addform.='
'.$langs->trans("SelectElement").''.$selectList.'
'; + $addform.='
'; + } + + print_fiche_titre($langs->trans($title), $addform, ''); + + print ''; + + print ''; + // Remove link + print ''; + // Ref + print ''; + // Date + print ''; + // Thirdparty or user + print ''; + // Amount HT + //if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print ''; + //elseif (empty($value['disableamount']) && in_array($tablename, array('projet_task'))) print ''; + if (empty($value['disableamount'])) print ''; + else print ''; + // Amount TTC + //if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print ''; + if (empty($value['disableamount'])) print ''; + else print ''; + // Status + if (in_array($tablename, array('projet_task'))) print ''; + else print ''; + print ''; + + $elementarray = $object->get_element_list($key, $tablename, $datefieldname, $dates, $datee); + if (is_array($elementarray) && count($elementarray)>0) + { + $var=true; + $total_ht = 0; + $total_ttc = 0; + + $total_ht_by_third = 0; + $total_ttc_by_third = 0; + + $saved_third_id = 0; + $breakline = ''; + + if (canApplySubtotalOn($tablename)) + { + // Sort + $elementarray = sortElementsByClientName($elementarray); + } + + $num=count($elementarray); + for ($i = 0; $i < $num; $i++) + { + $tmp=explode('_',$elementarray[$i]); + $idofelement=$tmp[0]; + $idofelementuser=$tmp[1]; + + $element->fetch($idofelement); + if ($idofelementuser) $elementuser->fetch($idofelementuser); + + if ($tablename != 'expensereport_det') + { + $element->fetch_thirdparty(); + } + else + { + $expensereport=new ExpenseReport($db); + $expensereport->fetch($element->fk_expensereport); + } + + //print $classname; + + if ($breakline && $saved_third_id != $element->thirdparty->id) + { + print $breakline; + $var = true; + + $saved_third_id = $element->thirdparty->id; + $breakline = ''; + + $total_ht_by_third=0; + $total_ttc_by_third=0; + } + $saved_third_id = $element->thirdparty->id; + + $qualifiedfortotal=true; + if ($key == 'invoice') + { + if ($element->close_code == 'replaced') $qualifiedfortotal=false; // Replacement invoice + } + + $var=!$var; + print ""; + // Remove link + print '\n"; + // Ref + print '\n"; + + // Date + if ($tablename == 'commande_fournisseur' || $tablename == 'supplier_order') $date=$element->date_commande; + elseif ($tablename == 'projet_task') $date=''; // We show no date. Showing date of beginning of task make user think it is date of time consumed + else + { + $date=$element->date; + if (empty($date)) $date=$element->datep; + if (empty($date)) $date=$element->date_contrat; + if (empty($date)) $date=$element->datev; //Fiche inter + } + print ''; + + // Third party or user + print ''; + + // Amount without tax + $warning=''; + if (empty($value['disableamount'])) + { + if ($tablename == 'don') $total_ht_by_line=$element->amount; + elseif ($tablename == 'projet_task') + { + $tmp = $element->getSumOfAmount($elementuser, $dates, $datee); // $element is a task. $elementuser may be empty + $total_ht_by_line = price2num($tmp['amount'],'MT'); + if ($tmp['nblinesnull'] > 0) + { + $langs->load("errors"); + $warning=$langs->trans("WarningSomeLinesWithNullHourlyRate"); + } + } + else + { + $total_ht_by_line=$element->total_ht; + } + print ''; + } + else print ''; + + // Amount inc tax + if (empty($value['disableamount'])) + { + if ($tablename == 'don') $total_ttc_by_line=$element->amount; + elseif ($tablename == 'projet_task') + { + $defaultvat = get_default_tva($mysoc, $mysoc); + $total_ttc_by_line = price2num($total_ht_by_line * (1 + ($defaultvat / 100)),'MT'); + } + else + { + $total_ttc_by_line=$element->total_ttc; + } + print ''; + } + else print ''; + + // Status + print ''; + + print ''; + + if ($qualifiedfortotal) + { + $total_ht = $total_ht + $total_ht_by_line; + $total_ttc = $total_ttc + $total_ttc_by_line; + + $total_ht_by_third += $total_ht_by_line; + $total_ttc_by_third += $total_ttc_by_line; + } + + if (canApplySubtotalOn($tablename)) + { + $breakline=''; + $breakline.=''; + $breakline.=''; + $breakline.=''; + $breakline.=''; + $breakline.=''; + $breakline.=''; + $breakline.=''; + } + + //var_dump($element->thirdparty->name.' - '.$saved_third_id.' - '.$element->thirdparty->id); + } + + if ($breakline) print $breakline; + + print ''; + //if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print ''; + //elseif (empty($value['disableamount']) && in_array($tablename, array('projet_task'))) print ''; + if (empty($value['disableamount'])) print ''; + else print ''; + //if (empty($value['disableamount']) && ! in_array($tablename, array('projet_task'))) print ''; + //elseif (empty($value['disableamount']) && in_array($tablename, array('projet_task'))) print ''; + if (empty($value['disableamount'])) print ''; + else print ''; + print ''; + print ''; + } + else // error + { + print $elementarray; + } + print "
'.$langs->trans("Ref").''; + if (! in_array($tablename, array('projet_task'))) print $langs->trans("Date"); + print ''; + if (in_array($tablename, array('projet_task')) && $key == 'project_task') print ''; // if $key == 'project_task', we don't want details per user + elseif (in_array($tablename, array('expensereport_det','don','projet_task'))) print $langs->trans("User"); + else print $langs->trans("ThirdParty"); + print ''.$langs->trans("AmountHT").''.$langs->trans("Amount").''.$langs->trans("AmountHT").''.$langs->trans("AmountTTC").''.$langs->trans("AmountTTC").''.$langs->trans("ProgressDeclared").''.$langs->trans("Status").'
'; + if ($tablename != 'projet_task') + { + print '' . img_picto($langs->trans('Unlink'), 'editdelete') . ''; + } + print "'; + + if ($tablename == 'expensereport_det') + { + print $expensereport->getNomUrl(1); + } + else + { + if ($element instanceof Task) + { + print $element->getNomUrl(1,'withproject','time'); + print ' - '.dol_trunc($element->label, 48); + } + else print $element->getNomUrl(1); + + $element_doc = $element->element; + $filename=dol_sanitizeFileName($element->ref); + $filedir=$conf->{$element_doc}->dir_output . '/' . dol_sanitizeFileName($element->ref); + + if($element_doc === 'order_supplier') { + $element_doc='commande_fournisseur'; + $filedir = $conf->fournisseur->commande->dir_output.'/'.dol_sanitizeFileName($element->ref); + } + else if($element_doc === 'invoice_supplier') { + $element_doc='facture_fournisseur'; + $filename = get_exdir($element->id,2,0,0,$this,'product').dol_sanitizeFileName($element->ref); + $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($element->id,2,0,0,null,'invoice_supplier').dol_sanitizeFileName($element->ref); + } + + print $formfile->getDocumentsLink($element_doc, $filename, $filedir); + } + + print "'.dol_print_date($date,'day').''; + if (is_object($element->thirdparty)) print $element->thirdparty->getNomUrl(1,'',48); + else if ($tablename == 'expensereport_det') + { + $tmpuser=new User($db); + $tmpuser->fetch($expensereport->fk_user_author); + print $tmpuser->getNomUrl(1,'',48); + } + else if ($tablename == 'don') + { + if ($element->fk_user_author > 0) + { + $tmpuser2=new User($db); + $tmpuser2->fetch($element->fk_user_author); + print $tmpuser2->getNomUrl(1,'',48); + } + } + else if ($tablename == 'projet_task' && $key == 'project_task_time') // if $key == 'project_task', we don't want details per user + { + print $elementuser->getNomUrl(1); + } + print ''; + if (! $qualifiedfortotal) print ''; + print (isset($total_ht_by_line)?price($total_ht_by_line):' '); + if (! $qualifiedfortotal) print ''; + if ($warning) print ' '.img_warning($warning); + print ''; + if (! $qualifiedfortotal) print ''; + print (isset($total_ttc_by_line)?price($total_ttc_by_line):' '); + if (! $qualifiedfortotal) print ''; + if ($warning) print ' '.img_warning($warning); + print ''; + if ($tablename == 'expensereport_det') + { + print $expensereport->getLibStatut(5); + } + else if ($element instanceof CommonInvoice) + { + //This applies for Facture and FactureFournisseur + print $element->getLibStatut(5, $element->getSommePaiement()); + } + else if ($element instanceof Task) + { + if ($element->progress != '') + { + print $element->progress.' %'; + } + } + else + { + print $element->getLibStatut(5); + } + print '
'; + $breakline.=''; + $breakline.=''; + $breakline.=$langs->trans('SubTotal').' : '; + if (is_object($element->thirdparty)) $breakline.=$element->thirdparty->getNomUrl(0,'',48); + $breakline.=''.price($total_ht_by_third).''.price($total_ttc_by_third).'
'.$langs->trans("Number").': '.$i.''.$langs->trans("TotalHT").' : '.price($total_ht).''.$langs->trans("Total").' : '.price($total_ht).''.$langs->trans("TotalHT").' : '.price($total_ht).''.$langs->trans("TotalTTC").' : '.price($total_ttc).''.$langs->trans("TotalTTC").' : '.price($total_ttc).' 
"; + } +} + + + llxFooter(); $db->close(); + + + +/** + * Return if we should do a group by customer with sub-total + * + * @param string $tablename Name of table + * @return boolean True to tell to make a group by sub-total + */ +function canApplySubtotalOn($tablename) +{ + global $conf; + + if (empty($conf->global->PROJECT_ADD_SUBTOTAL_LINES)) return false; + return in_array($tablename, array('facture_fourn', 'commande_fournisseur')); +} + +/** + * sortElementsByClientName + * + * @param array $elementarray Element array + * @return array Element array sorted + */ +function sortElementsByClientName($elementarray) +{ + global $db, $classname; + + $element = new $classname($db); + + $clientname = array(); + foreach ($elementarray as $key => $id) // id = id of object + { + if (empty($clientname[$id])) + { + $element->fetch($id); + $element->fetch_thirdparty(); + + $clientname[$id] = $element->thirdparty->name; + } + } + + //var_dump($clientname); + asort($clientname); // sort on name + + $elementarray = array(); + foreach ($clientname as $id => $name) + { + $elementarray[] = $id; + } + + return $elementarray; +} diff --git a/htdocs/projet/ganttchart.inc.php b/htdocs/projet/ganttchart.inc.php index 7b4249a0128..771cb7d99cc 100644 --- a/htdocs/projet/ganttchart.inc.php +++ b/htdocs/projet/ganttchart.inc.php @@ -24,8 +24,7 @@ ?>
-
+
+ + + + + + + + + + + + + + + + + +
+   +
+ +
+ +
+ + + + \ No newline at end of file diff --git a/htdocs/public/api/explorer/lib/backbone-min.js b/htdocs/public/api/explorer/lib/backbone-min.js new file mode 100644 index 00000000000..c1c0d4fff28 --- /dev/null +++ b/htdocs/public/api/explorer/lib/backbone-min.js @@ -0,0 +1,38 @@ +// Backbone.js 0.9.2 + +// (c) 2010-2012 Jeremy Ashkenas, DocumentCloud Inc. +// Backbone may be freely distributed under the MIT license. +// For all details and documentation: +// http://backbonejs.org +(function(){var l=this,y=l.Backbone,z=Array.prototype.slice,A=Array.prototype.splice,g;g="undefined"!==typeof exports?exports:l.Backbone={};g.VERSION="0.9.2";var f=l._;!f&&"undefined"!==typeof require&&(f=require("underscore"));var i=l.jQuery||l.Zepto||l.ender;g.setDomLibrary=function(a){i=a};g.noConflict=function(){l.Backbone=y;return this};g.emulateHTTP=!1;g.emulateJSON=!1;var p=/\s+/,k=g.Events={on:function(a,b,c){var d,e,f,g,j;if(!b)return this;a=a.split(p);for(d=this._callbacks||(this._callbacks= +{});e=a.shift();)f=(j=d[e])?j.tail:{},f.next=g={},f.context=c,f.callback=b,d[e]={tail:g,next:j?j.next:f};return this},off:function(a,b,c){var d,e,h,g,j,q;if(e=this._callbacks){if(!a&&!b&&!c)return delete this._callbacks,this;for(a=a?a.split(p):f.keys(e);d=a.shift();)if(h=e[d],delete e[d],h&&(b||c))for(g=h.tail;(h=h.next)!==g;)if(j=h.callback,q=h.context,b&&j!==b||c&&q!==c)this.on(d,j,q);return this}},trigger:function(a){var b,c,d,e,f,g;if(!(d=this._callbacks))return this;f=d.all;a=a.split(p);for(g= +z.call(arguments,1);b=a.shift();){if(c=d[b])for(e=c.tail;(c=c.next)!==e;)c.callback.apply(c.context||this,g);if(c=f){e=c.tail;for(b=[b].concat(g);(c=c.next)!==e;)c.callback.apply(c.context||this,b)}}return this}};k.bind=k.on;k.unbind=k.off;var o=g.Model=function(a,b){var c;a||(a={});b&&b.parse&&(a=this.parse(a));if(c=n(this,"defaults"))a=f.extend({},c,a);b&&b.collection&&(this.collection=b.collection);this.attributes={};this._escapedAttributes={};this.cid=f.uniqueId("c");this.changed={};this._silent= +{};this._pending={};this.set(a,{silent:!0});this.changed={};this._silent={};this._pending={};this._previousAttributes=f.clone(this.attributes);this.initialize.apply(this,arguments)};f.extend(o.prototype,k,{changed:null,_silent:null,_pending:null,idAttribute:"id",initialize:function(){},toJSON:function(){return f.clone(this.attributes)},get:function(a){return this.attributes[a]},escape:function(a){var b;if(b=this._escapedAttributes[a])return b;b=this.get(a);return this._escapedAttributes[a]=f.escape(null== +b?"":""+b)},has:function(a){return null!=this.get(a)},set:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c||(c={});if(!d)return this;d instanceof o&&(d=d.attributes);if(c.unset)for(e in d)d[e]=void 0;if(!this._validate(d,c))return!1;this.idAttribute in d&&(this.id=d[this.idAttribute]);var b=c.changes={},h=this.attributes,g=this._escapedAttributes,j=this._previousAttributes||{};for(e in d){a=d[e];if(!f.isEqual(h[e],a)||c.unset&&f.has(h,e))delete g[e],(c.silent?this._silent: +b)[e]=!0;c.unset?delete h[e]:h[e]=a;!f.isEqual(j[e],a)||f.has(h,e)!=f.has(j,e)?(this.changed[e]=a,c.silent||(this._pending[e]=!0)):(delete this.changed[e],delete this._pending[e])}c.silent||this.change(c);return this},unset:function(a,b){(b||(b={})).unset=!0;return this.set(a,null,b)},clear:function(a){(a||(a={})).unset=!0;return this.set(f.clone(this.attributes),a)},fetch:function(a){var a=a?f.clone(a):{},b=this,c=a.success;a.success=function(d,e,f){if(!b.set(b.parse(d,f),a))return!1;c&&c(b,d)}; +a.error=g.wrapError(a.error,b,a);return(this.sync||g.sync).call(this,"read",this,a)},save:function(a,b,c){var d,e;f.isObject(a)||null==a?(d=a,c=b):(d={},d[a]=b);c=c?f.clone(c):{};if(c.wait){if(!this._validate(d,c))return!1;e=f.clone(this.attributes)}a=f.extend({},c,{silent:!0});if(d&&!this.set(d,c.wait?a:c))return!1;var h=this,i=c.success;c.success=function(a,b,e){b=h.parse(a,e);if(c.wait){delete c.wait;b=f.extend(d||{},b)}if(!h.set(b,c))return false;i?i(h,a):h.trigger("sync",h,a,c)};c.error=g.wrapError(c.error, +h,c);b=this.isNew()?"create":"update";b=(this.sync||g.sync).call(this,b,this,c);c.wait&&this.set(e,a);return b},destroy:function(a){var a=a?f.clone(a):{},b=this,c=a.success,d=function(){b.trigger("destroy",b,b.collection,a)};if(this.isNew())return d(),!1;a.success=function(e){a.wait&&d();c?c(b,e):b.trigger("sync",b,e,a)};a.error=g.wrapError(a.error,b,a);var e=(this.sync||g.sync).call(this,"delete",this,a);a.wait||d();return e},url:function(){var a=n(this,"urlRoot")||n(this.collection,"url")||t(); +return this.isNew()?a:a+("/"==a.charAt(a.length-1)?"":"/")+encodeURIComponent(this.id)},parse:function(a){return a},clone:function(){return new this.constructor(this.attributes)},isNew:function(){return null==this.id},change:function(a){a||(a={});var b=this._changing;this._changing=!0;for(var c in this._silent)this._pending[c]=!0;var d=f.extend({},a.changes,this._silent);this._silent={};for(c in d)this.trigger("change:"+c,this,this.get(c),a);if(b)return this;for(;!f.isEmpty(this._pending);){this._pending= +{};this.trigger("change",this,a);for(c in this.changed)!this._pending[c]&&!this._silent[c]&&delete this.changed[c];this._previousAttributes=f.clone(this.attributes)}this._changing=!1;return this},hasChanged:function(a){return!arguments.length?!f.isEmpty(this.changed):f.has(this.changed,a)},changedAttributes:function(a){if(!a)return this.hasChanged()?f.clone(this.changed):!1;var b,c=!1,d=this._previousAttributes,e;for(e in a)if(!f.isEqual(d[e],b=a[e]))(c||(c={}))[e]=b;return c},previous:function(a){return!arguments.length|| +!this._previousAttributes?null:this._previousAttributes[a]},previousAttributes:function(){return f.clone(this._previousAttributes)},isValid:function(){return!this.validate(this.attributes)},_validate:function(a,b){if(b.silent||!this.validate)return!0;var a=f.extend({},this.attributes,a),c=this.validate(a,b);if(!c)return!0;b&&b.error?b.error(this,c,b):this.trigger("error",this,c,b);return!1}});var r=g.Collection=function(a,b){b||(b={});b.model&&(this.model=b.model);b.comparator&&(this.comparator=b.comparator); +this._reset();this.initialize.apply(this,arguments);a&&this.reset(a,{silent:!0,parse:b.parse})};f.extend(r.prototype,k,{model:o,initialize:function(){},toJSON:function(a){return this.map(function(b){return b.toJSON(a)})},add:function(a,b){var c,d,e,g,i,j={},k={},l=[];b||(b={});a=f.isArray(a)?a.slice():[a];c=0;for(d=a.length;c=b))this.iframe=i('