diff --git a/.travis.yml b/.travis.yml index 031226251c1..b211f58f319 100644 --- a/.travis.yml +++ b/.travis.yml @@ -18,10 +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.6" + - 5.3 + - 5.4 + - 5.5 + - 5.6 + - 7.0 + +matrix: + allow_failures: + - php: 7.0 env: - DB=mysql @@ -99,16 +104,15 @@ before_script: script: - cd htdocs/install - date -# - php upgrade.php 3.4.0 3.5.0 > upgrade.log -# - php upgrade2.php 3.4.0 3.5.0 > upgrade2.log - - php upgrade.php 3.5.0 3.6.0 >> upgrade.log - - php upgrade2.php 3.5.0 3.6.0 >> upgrade2.log - - php upgrade.php 3.6.0 3.7.0 >> upgrade.log -# - cat upgrade360370.log - - php upgrade2.php 3.6.0 3.7.0 >> upgrade2.log - - php upgrade.php 3.7.0 3.8.0 >> upgrade.log - - php upgrade2.php 3.7.0 3.8.0 >> 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 + - 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 da8b4c4111e..efa9dc872a2 100644 --- a/.tx/config +++ b/.tx/config @@ -1,6 +1,6 @@ [main] host = https://www.transifex.com -lang_map = uz: uz_UZ +lang_map = uz: uz_UZ, sw: sw_SW [dolibarr.accountancy] file_filter = htdocs/langs//accountancy.lang @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e2282654fc9..e3a97fe358e 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,28 +3,30 @@ How to contribute to Dolibarr Bug reports and feature requests -------------------------------- -Issues are tracked at [Doliforge](https://doliforge.org/projects/dolibarr) +** NEW ** -*You need to create an account before being able to use the "Bugs & Tasks" feature.* +Issues are now managed on [GitHub](https://github.com/Dolibarr/dolibarr/Issues). -1. Use the search engine to check if nobody's already reported your problem. -2. Choose the right section. (Bugs or Task and Feature Request). -3. Report with as much detail as possible (Use screenshots or even screencasts whenever possible). +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)). -Code ----- +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 the [GitHub repository](https://github.com/Dolibarr/dolibarr). +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 section below). +3. Choose a branch(See the [Branches](#branches) section below). 4. Commit and push your changes. -5. Make a pull request. +5. [Make a pull request](https://help.github.com/articles/creating-a-pull-request). -### Branches +### Branches -Unless you're fixing a bug, all pull request should be made against the *develop* branch. +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. @@ -40,23 +42,36 @@ Please don't edit the ChangeLog file. A project manager will update it from your Use clear commit messages with the following structure:
-KEYWORD Short description
+KEYWORD Short description (may be the bug number #456)
 
 Long description (Can span accross multiple lines).
 
Where KEYWORD is one of: -- "FIXED:" for bug fixes (May be followed by the bug number i.e: #456) -- "NEW:" for new features (May be followed by the task number i.e: #123) +- "Fixed" for bug fixes (May be followed by the bug number i.e: #456) +- "Closed" for a commit to close a feature request issue (May be followed by the bug number i.e: #456) - void, don't put a keyword if the commit is not introducing feature or closing a bug. +### Pull Requests +When submitting a pull request, use following syntax: + +
+KEYWORD Short description (may be the bug number #456)
+
+ +Where KEYWORD is one of: + +- "FIXED" or "Fixed" for bug fixes. In upper case to appear into ChangeLog. (May be followed by the bug number i.e: #456) +- "NEW" or "New" for new features. In upper case to appear into ChangeLog. (May be followed by the task number i.e: #123) + + ### Resources [Developer documentation](http://wiki.dolibarr.org/index.php/Developer_documentation) Translations ------------ -en_US and delta languages (i.e: fr_XX) are maintained in the repository. See Code section above. +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). diff --git a/ChangeLog b/ChangeLog index ebf41dd0516..6ed93c77235 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,13 @@ 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 +make a migration. + + ***** ChangeLog for 3.8 compared to 3.7.* ***** For users: - New: Add Option to not change date on cloning project @@ -14,8 +21,10 @@ For users: 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 +- 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. For translators: - Update language files. @@ -25,6 +34,13 @@ For developers: - New: Function yn can show a visual checkbox. - New: Introduced select2 jquery plugin. +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'" + ***** ChangeLog for 3.7 compared to 3.6.* ***** For users: @@ -154,6 +170,7 @@ For translators: - New: When a translation is not available we always jump to en_US and only en_US. For developers: +- New: Syslog module can be set to use ChromePHP plugin to output log server into browser console. - New: Add a css style "cursorpointer". - New: Select list of users can return user into hierarchy. - New: getBrowserInfo can return type of layout of browser (classic/phone/tablet) @@ -218,11 +235,14 @@ Dolibarr better: - Fix: [ bug #1827 ] Tax reports gives incorrect amounts when using external modules that create lines with special codes - Fix: [ bug #1822 ] SQL error in clientfourn.php report with PostgreSQL - Fix: [ bug #1832 ] SQL error when adding a product with no price defined to an object +- Fix: [ bug #1833 ] user permissions in contact/note.php not working - Fix: [ bug #1826 ] Supplier payment types are not translated into fourn/facture/paiement.php - Fix: [ bug #1830 ] Salaries payment only allows checking accounts - Fix: [ bug #1825 ] External agenda: hide/show checkbox doesn't work - Fix: [ bug #1790 ] Email form behaves in an unexpected way when pressing Enter key - Fix: Bad SEPA xml file creation +- Fix: [ bug #1892 ] PHP Fatal error when using USER_UPDATE_SESSION trigger and adding a supplier invoice payment +- Fix: Showing system error if not enough stock of product into orders creation with lines ***** ChangeLog for 3.6.2 compared to 3.6.1 ***** - Fix: fix ErrorBadValueForParamNotAString error message in price customer multiprice. diff --git a/build/debian/changelog b/build/debian/changelog index db3f1dc887b..50d2b158e29 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -1,6 +1,6 @@ -dolibarr (3.7.0-3) UNRELEASED; urgency=low +dolibarr (3.8.0-3) UNRELEASED; urgency=low [ Laurent Destailleur (eldy) ] * New upstream release. - -- Laurent Destailleur (eldy) Tue, 21 Oct 2014 12:00:00 +0100 + -- Laurent Destailleur (eldy) Tue, 3 Mar 2015 12:00:00 +0100 diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index ecdf371dc6f..d96b84ab822 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -451,15 +451,18 @@ 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 $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`; $ret=`rm -fr $BUILDROOT/$PROJECT/test`; diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 5312ea52bf7..c34cd4e9d61 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,6 +187,7 @@ 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 diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 7d02cd24c16..c3c3b2a7939 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,6 +267,7 @@ 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 diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index e10e5028a0b..efe55e2aa7a 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,6 +184,7 @@ 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 diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 126ca639bbc..6a86f9e3ffa 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,6 +195,7 @@ 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 diff --git a/dev/fixaltlanguages.sh b/dev/fixaltlanguages.sh new file mode 100755 index 00000000000..bfb9aa900b6 --- /dev/null +++ b/dev/fixaltlanguages.sh @@ -0,0 +1,68 @@ +#!/bin/sh +# Recursively deduplicate file lines on a per file basis +# Useful to deduplicate language files +# +# Needs awk 4.0 for the inplace fixing command +# +# Raphaƫl Doursenaud - rdoursenaud@gpcsolutions.fr + +# Syntax +if [ "x$1" != "xlist" -a "x$1" != "xfix" ] +then + echo "Scan alternate language files and remove entries found into parent file" + echo "Usage: fixaltlanguages.sh (list|fix) (all|file.lang) [xx_XX]" + exit +fi +if [ "x$2" = "x" ] +then + echo "Scan alternate language files and remove entries found into parent file" + echo "Usage: fixaltlanguages.sh (list|fix) (all|file.lang) [xx_XX]" + exit +fi + +# To detect +if [ "x$1" = "xlist" ] +then + echo Feature not available +fi + +# To fix +if [ "x$1" = "xfix" ] +then + for dir in `find htdocs/langs/$3* -type d` + do + dirshort=`basename $dir` + + #echo $dirshort + + export aa=`echo $dirshort | nawk -F"_" '{ print $1 }'` + export bb=`echo $dirshort | nawk -F"_" '{ print $2 }'` + aaupper=`echo $dirshort | nawk -F"_" '{ print toupper($1) }'` + if [ $aaupper = "EN" ] + then + aaupper="US" + fi + bblower=`echo $dirshort | nawk -F"_" '{ print tolower($2) }'` + if [ "$aa" != "$bblower" -a "$dirshort" != "en_US" ] + then + reflang="htdocs/langs/"$aa"_"$aaupper + if [ -d $reflang ] + then + echo "***** Process language "$aa"_"$bb" - Search original into "$reflang + echo $dirshort est une langue alternative de $reflang + echo ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 + ./dev/translation/strip_language_file.php $aa"_"$aaupper $aa"_"$bb $2 + for fic in `ls htdocs/langs/${aa}_${bb}/*.delta`; do f=`echo $fic | sed -e 's/\.delta//'`; echo $f; mv $f.delta $f; done + for fic in `ls htdocs/langs/${aa}_${bb}/*.lang`; + do f=`cat $fic | wc -l`; + #echo $f lines into file $fic; + if [ $f = 1 ] + then + echo Only one line remainging into file $fic, we delete it; + rm $fic + fi; + done + fi + fi + done; +fi diff --git a/dev/fixdosfiles.sh b/dev/fixdosfiles.sh index 30d47e7b0c4..bab5c37b68d 100755 --- a/dev/fixdosfiles.sh +++ b/dev/fixdosfiles.sh @@ -10,6 +10,7 @@ # Syntax if [ "x$1" != "xlist" -a "x$1" != "xfix" ] then + echo "This script detect or clean files with CR+LF into files with LF only. All source files are included, also files into includes." echo "Usage: fixdosfiles.sh [list|fix]" fi diff --git a/dev/fixduplicatelangkey.sh b/dev/fixduplicatelangkey.sh index 2d9cb7f7a85..ae0be750646 100755 --- a/dev/fixduplicatelangkey.sh +++ b/dev/fixduplicatelangkey.sh @@ -7,6 +7,7 @@ # Syntax if [ "x$1" != "xlist" -a "x$1" != "xfix" ] then + echo "Detect duplicate translation keys inside a file (there is no cross file check)." echo "Usage: detectduplicatelangkey.sh (list|fix)" fi diff --git a/dev/deduplicatefilelinesrecursively.sh b/dev/fixduplicatelines.sh similarity index 59% rename from dev/deduplicatefilelinesrecursively.sh rename to dev/fixduplicatelines.sh index a0eb14974f0..18f9707169e 100755 --- a/dev/deduplicatefilelinesrecursively.sh +++ b/dev/fixduplicatelines.sh @@ -9,17 +9,19 @@ # Syntax if [ "x$1" != "xlist" -a "x$1" != "xfix" ] then + echo "Find exact duplicated lines into file (not cross file checking)" echo "Usage: deduplicatefilelinesrecursively.sh [list|fix]" fi # To detect if [ "x$1" = "xlist" ] then - for file in `find . -type f -name *.lang` + for file in `find htdocs/langs/en_US -type f -name *.lang` do - if [ `sort "$file" | uniq -d | wc -l` -gt 0 ] + if [ `sort "$file" | grep -v '^$' | uniq -d | wc -l` -gt 0 ] then - echo "$file" + echo "***** $file" + sort "$file" | grep -v '^$' | uniq -d fi done fi @@ -27,7 +29,7 @@ fi # To fix if [ "x$1" = "xfix" ] then - for file in `find . -type f -name *.lang` + for file in `find htdocs/langs/en_US -type f -name *.lang` do awk -i inplace ' !x[$0]++' "$file" done; diff --git a/dev/fixperms.sh b/dev/fixperms.sh index 5844e8b2916..5b027ad1580 100755 --- a/dev/fixperms.sh +++ b/dev/fixperms.sh @@ -10,6 +10,7 @@ # Syntax if [ "x$1" != "xlist" -a "x$1" != "xfix" ] then + echo "Fix permissions of files" echo "Usage: fixperms.sh (list|fix)" fi diff --git a/dev/fixutf8bomfiles.sh b/dev/fixutf8bomfiles.sh index db34cdcdc1d..bda503d28ec 100755 --- a/dev/fixutf8bomfiles.sh +++ b/dev/fixutf8bomfiles.sh @@ -12,6 +12,7 @@ # Syntax if [ "x$1" != "xlist" -a "x$1" != "xfix" ] then + echo "Detect and fix bad UTF8 encoded files (UTF8 must not use BOM char)" echo "Usage: fixutf8bomfiles.sh (list|fix) [addincludes]" fi diff --git a/dev/skeletons/build_class_from_table.php b/dev/skeletons/build_class_from_table.php index 0b2e96daaac..ca10cf49ef0 100755 --- a/dev/skeletons/build_class_from_table.php +++ b/dev/skeletons/build_class_from_table.php @@ -174,7 +174,7 @@ $targetcontent=$sourcecontent; // Substitute class name $targetcontent=preg_replace('/skeleton_class\.class\.php/', $classmin.'.class.php', $targetcontent); $targetcontent=preg_replace('/\$element=\'skeleton\'/', '\$element=\''.$classmin.'\'', $targetcontent); -$targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$classmin.'\'', $targetcontent); +$targetcontent=preg_replace('/\$table_element=\'skeleton\'/', '\$table_element=\''.$tablenoprefix.'\'', $targetcontent); $targetcontent=preg_replace('/Skeleton_Class/', $classname, $targetcontent); // Substitute comments @@ -252,7 +252,13 @@ foreach($property as $key => $prop) if ($addfield) { $varprop.="\t\t\$sql.= \" "; - if ($prop['istime']) + if ($prop['field']=='datec') + { + $varprop.='"."\'".$this->db->idate(dol_now())."\'"."'; + if ($i < count($property)) $varprop.=","; + $varprop.='";'; + } + elseif ($prop['istime']) { $varprop.='".(! isset($this->'.$prop['field'].') || dol_strlen($this->'.$prop['field'].')==0?\'NULL\':"\'".$this->db->idate('; $varprop.="\$this->".$prop['field'].""; @@ -268,6 +274,12 @@ foreach($property as $key => $prop) if ($i < count($property)) $varprop.=","; $varprop.='";'; } + elseif ($prop['field']=='fk_user_mod' || $prop['field']=='fk_user_author') + { + $varprop.='".$user->id."'; + if ($i < count($property)) $varprop.=","; + $varprop.='";'; + } else { $varprop.='".(! isset($this->'.$prop['field'].')?\'NULL\':"\'".'; @@ -289,11 +301,17 @@ $i=0; foreach($property as $key => $prop) { $i++; - if ($prop['field'] != 'rowid' && $prop['field'] != 'id') + if ($prop['field'] != 'rowid' && $prop['field'] != 'id' && $prop['field'] != 'datec' && $prop['field'] != 'fk_user_author') { $varprop.="\t\t\$sql.= \" "; $varprop.=$prop['field'].'='; - if ($prop['istime']) + if ($prop['field']=='tms') { + $varprop.='".(dol_strlen($this->'.$prop['field'].')!=0 ? "\'".$this->db->idate('; + $varprop.='$this->'.$prop['field']; + $varprop.=')."\'" : "\'".$this->db->idate(dol_now())."\'").'; + $varprop.='"'; + } + elseif ($prop['istime']) { // (dol_strlen($this->datep)!=0 ? "'".$this->db->idate($this->datep)."'" : 'null') $varprop.='".(dol_strlen($this->'.$prop['field'].')!=0 ? "\'".$this->db->idate('; @@ -301,6 +319,9 @@ foreach($property as $key => $prop) $varprop.=')."\'" : \'null\').'; $varprop.='"'; } + elseif ($prop['field']=='fk_user_mod') { + $varprop.='".$user->id."'; + } else { $varprop.="\"."; @@ -325,6 +346,7 @@ $targetcontent=preg_replace('/\$sql\.= " t\.field2";/', '', $targetcontent); // Substitute select set parameters $varprop="\n"; +$varpropline="\n"; $cleanparam=''; $i=0; foreach($property as $key => $prop) @@ -338,11 +360,22 @@ foreach($property as $key => $prop) if ($prop['istime']) $varprop.=')'; $varprop.=";"; $varprop.="\n"; + + $varpropline.="\t\t\t\t\$line->".$prop['field']." = "; + if ($prop['istime']) $varpropline.='$this->db->jdate('; + $varpropline.='$obj->'.$prop['field']; + if ($prop['istime']) $varpropline.=')'; + $varpropline.=";"; + $varpropline.="\n"; } } $targetcontent=preg_replace('/\$this->prop1 = \$obj->field1;/', $varprop, $targetcontent); $targetcontent=preg_replace('/\$this->prop2 = \$obj->field2;/', '', $targetcontent); +//Substirute fetchAll +$targetcontent=preg_replace('/\$line->prop1 = \$obj->field1;/', $varpropline, $targetcontent); +$targetcontent=preg_replace('/\$line->prop2 = \$obj->field2;/', '', $targetcontent); + // Substitute initasspecimen parameters $varprop="\n"; diff --git a/dev/skeletons/skeleton_class.class.php b/dev/skeletons/skeleton_class.class.php index c1710165066..ff0c2f61200 100644 --- a/dev/skeletons/skeleton_class.class.php +++ b/dev/skeletons/skeleton_class.class.php @@ -1,6 +1,7 @@ * Copyright (C) 2014 Juanjo Menent + * Copyright (C) 2015 Florian Henry * Copyright (C) ---Put here your own copyright and developer email--- * * This program is free software; you can redistribute it and/or modify @@ -41,6 +42,8 @@ class Skeleton_Class extends CommonObject var $element='skeleton'; //!< Id that identify managed objects var $table_element='skeleton'; //!< Name of table without prefix where object is stored + var $lines=array(); + var $id; var $prop1; var $prop2; @@ -103,11 +106,11 @@ class Skeleton_Class extends CommonObject if (! $notrigger) { // Uncomment this and change MYOBJECT to your own tag if you - // want this action calls a trigger. + // want this action to call 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} + //if ($result < 0) $error++; //// End call triggers } } @@ -115,11 +118,6 @@ class Skeleton_Class extends CommonObject // 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; } @@ -175,6 +173,69 @@ class Skeleton_Class extends CommonObject } } + /** + * Load object in memory from the database + * + * @param string $sortorder Sort Order + * @param string $sortfield Sort field + * @param int $limit offset limit + * @param int $offset offset limit + * @param array $filter filter array + * @return int <0 if KO, >0 if OK + */ + function fetchAll($sortorder, $sortfield, $limit, $offset, $filter = array()) + { + global $langs; + $sql = "SELECT"; + $sql.= " t.rowid,"; + $sql.= " t.field1,"; + $sql.= " t.field2"; + //... + $sql.= " FROM ".MAIN_DB_PREFIX."mytable as t"; + + // Manage filter + $sqlwhere=array(); + if (count($filter)>0) { + foreach ( $filter as $key => $value ) { + //$sqlwhere []= ' AND '. $key . ' LIKE \'%' . $this->db->escape($value) . '%\''; + } + } + if (count($sqlwhere)>0) { + $sql.= ' WHERE '.implode(' AND ', $sqlwhere); + } + $sql .= " ORDER BY " . $sortfield . " " . $sortorder . " " . $this->db->plimit($limit + 1, $offset); + + $this->lines = array (); + + dol_syslog(get_class($this)."::fetchAll", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + + while ($obj = $this->db->fetch_object($resql)) + { + $line=new Skeleton_ClassLine(); + + $line->id = $obj->rowid; + $line->prop1 = $obj->field1; + $line->prop2 = $obj->field2; + + $this->lines[]=$line; + //... + } + $this->db->free($resql); + + return $num; + } + else + { + $this->error="Error ".$this->db->lasterror(); + dol_syslog(get_class($this)."::fetchAll ".$this->error, LOG_ERR); + return -1; + } + } + /** * Update object into database @@ -368,3 +429,10 @@ class Skeleton_Class extends CommonObject } } + +class Skeleton_ClassLine +{ + var $id; + var $prop1; + var $prop2; +} diff --git a/dev/translation/strip_language_file.php b/dev/translation/strip_language_file.php index 42a70c8c1a6..6102ed3826c 100755 --- a/dev/translation/strip_language_file.php +++ b/dev/translation/strip_language_file.php @@ -25,7 +25,7 @@ * * Usage: * cd htdocs/langs - * ../../dev/translation/strip_language_file.php [file.lang|all] + * ./dev/translation/strip_language_file.php [file.lang|all] * * To rename all .delta files, you can do * for fic in `ls *.delta`; do f=`echo $fic | sed -e 's/\.delta//'`; echo $f; mv $f.delta $f; done @@ -60,24 +60,26 @@ $rc = 0; $lPrimary = isset($argv[1])?$argv[1]:''; $lSecondary = isset($argv[2])?$argv[2]:''; +$lEnglish = 'en_US'; $filesToProcess = isset($argv[3])?$argv[3]:''; if (empty($lPrimary) || empty($lSecondary) || empty($filesToProcess)) { $rc = 1; $msg = '***** Script to clean language files *****'."\n"; - $msg.= 'Usage: ../../dev/translation/strip_language_file.php xx_XX xx_YY [file.lang|all]'."\n"; + $msg.= 'Usage: ./dev/translation/strip_language_file.php xx_XX xx_YY [file.lang|all]'."\n"; print $msg . "(rc=$rc).\n"; exit($rc); } $aPrimary = array(); $aSecondary = array(); +$aEnglish = array(); // Define array $filesToProcess if ($filesToProcess == 'all') { - $dir = new DirectoryIterator($lPrimary); + $dir = new DirectoryIterator('htdocs/langs/'.$lPrimary); while($dir->valid()) { if(!$dir->isDot() && $dir->isFile() && ! preg_match('/^\./',$dir->getFilename())) { $files[] = $dir->getFilename(); @@ -94,8 +96,9 @@ else $filesToProcess=explode(',',$filesToProcess); // Loop on each file foreach($filesToProcess as $fileToProcess) { - $lPrimaryFile = $lPrimary.'/'.$fileToProcess; - $lSecondaryFile = $lSecondary.'/'.$fileToProcess; + $lPrimaryFile = 'htdocs/langs/'.$lPrimary.'/'.$fileToProcess; + $lSecondaryFile = 'htdocs/langs/'.$lSecondary.'/'.$fileToProcess; + $lEnglishFile = 'htdocs/langs/'.$lEnglish.'/'.$fileToProcess; $output = $lSecondaryFile . '.delta'; print "---- Process language file ".$lSecondaryFile."\n"; @@ -114,6 +117,13 @@ foreach($filesToProcess as $fileToProcess) continue; } + if ( ! is_readable($lEnglishFile) ) { + $rc = 3; + $msg = "Cannot read english language file $lEnglishFile. We discard this file."; + print $msg . "\n"; + continue; + } + // Start reading and parsing Secondary if ( $handle = fopen($lSecondaryFile, 'r') ) @@ -172,6 +182,65 @@ foreach($filesToProcess as $fileToProcess) } + // Start reading and parsing English + + if ( $handle = fopen($lEnglishFile, 'r') ) + { + print "Read English File $lEnglishFile:\n"; + $cnt = 0; + while (($line = fgets($handle)) !== false) + { + $cnt++; + + // strip comments + if ( preg_match("/^\w*#/", $line) ) { + continue; + } + // strip empty lines + if ( preg_match("/^\w*$/", $line) ) { + continue; + } + + $a = mb_split('=', trim($line), 2); + if ( count($a) != 2 ) { + print "ERROR in file $lEnglishFile, line $cnt: " . trim($line) . "\n"; + continue; + } + + list($key, $value) = $a; + + // key is redundant + if ( array_key_exists($key, $aEnglish) ) { + print "Key $key is redundant in file $lEnglishFile (line: $cnt).\n"; + continue; + } + + // String has no value + if ( $value == '' ) { + print "Key $key has no value in file $lEnglishFile (line: $cnt).\n"; + continue; + } + + $aEnglish[$key] = trim($value); + } + if ( ! feof($handle) ) + { + $rc = 5; + $msg = "Unexpected fgets() fail"; + print $msg . " (rc=$rc).\n"; + exit($rc); + } + fclose($handle); + } + else { + $rc = 6; + $msg = "Cannot open file $lEnglishFile"; + print $msg . " (rc=$rc).\n"; + exit($rc); + } + + + // Start reading and parsing Primary. See rules in header! $arrayofkeytoalwayskeep=array('DIRECTION','FONTFORPDF','FONTSIZEFORPDF','SeparatorDecimal','SeparatorThousand'); @@ -246,7 +315,11 @@ foreach($filesToProcess as $fileToProcess) } // String exists in both files and does not match - if ((! empty($aSecondary[$key]) && $aSecondary[$key] != $aPrimary[$key]) || in_array($key, $arrayofkeytoalwayskeep) || preg_match('/^FormatDate/',$key) || preg_match('/^FormatHour/',$key)) + if ( + (! empty($aSecondary[$key]) && $aSecondary[$key] != $aPrimary[$key] + && ! empty($aEnglish[$key]) && $aSecondary[$key] != $aEnglish[$key]) + || in_array($key, $arrayofkeytoalwayskeep) || preg_match('/^FormatDate/',$key) || preg_match('/^FormatHour/',$key) + ) { //print "Key $key differs so we add it into new secondary language (line: $cnt).\n"; fwrite($oh, $key."=".(empty($aSecondary[$key])?$aPrimary[$key]:$aSecondary[$key])."\n"); @@ -270,8 +343,8 @@ foreach($filesToProcess as $fileToProcess) print "Output can be found at $output.\n"; - print "To rename all .delta files, you can do\n"; - print 'for fic in `ls *.delta`; do f=`echo $fic | sed -e \'s/\.delta//\'`; echo $f; mv $f.delta $f; done'."\n"; + print "To rename all .delta files, you can do:\n"; + print '> for fic in `ls htdocs/langs/'.$lSecondary.'/*.delta`; do f=`echo $fic | sed -e \'s/\.delta//\'`; echo $f; mv $f.delta $f; done'."\n"; } diff --git a/dev/translation/txpull.sh b/dev/translation/txpull.sh index 2e4470111e6..0154fb14c72 100755 --- a/dev/translation/txpull.sh +++ b/dev/translation/txpull.sh @@ -13,7 +13,7 @@ then echo "This pull remote transifex files to local dir." echo "Note: If you pull a language file (not source), file will be skipped if local file is newer." echo " Using -f will overwrite local file (does not work with 'all')." - echo "Usage: ./dev/translation/txpull.sh (all|xx_XX) [-r dolibarr.file] [-f]" + echo "Usage: ./dev/translation/txpull.sh (all|xx_XX) [-r dolibarr.file] [-f] [-s]" exit fi @@ -26,13 +26,21 @@ fi if [ "x$1" = "xall" ] then - for fic in ar_SA bg_BG bs_BA ca_ES cs_CZ da_DK de_DE el_GR es_ES et_EE eu_ES fa_IR fi_FI fr_FR he_IL hr_HR hu_HU id_ID is_IS it_IT ja_JP ka_GE ko_KR lt_LT lv_LV mk_MK nb_NO nl_NL pl_PL pt_PT ro_RO ru_RU ru_UA sk_SK sl_SI sq_AL sv_SE th_TH tr_TR uk_UA uz_UZ vi_VN zh_CN zh_TW + cd htdocs/lang + for dir in `find htdocs/langs/* -type d` do - echo "tx pull -l $fic $2 $3" - tx pull -l $fic $2 $3 + fic=`basename $dir` + if [ $fic != "en_US" ] + then + echo "tx pull -l $fic $2 $3" + tx pull -l $fic $2 $3 + fi done + cd - else - echo "tx pull -l $1 $2 $3 $4" - tx pull -l $1 $2 $3 $4 + echo "tx pull -l $1 $2 $3 $4 $5" + tx pull -l $1 $2 $3 $4 $5 fi +echo Think to launch also: +echo "> dev/fixaltlanguages.sh fix all" diff --git a/htdocs/accountancy/journal/purchasesjournal.php b/htdocs/accountancy/journal/purchasesjournal.php index 905296358f0..6d89e8f17a2 100644 --- a/htdocs/accountancy/journal/purchasesjournal.php +++ b/htdocs/accountancy/journal/purchasesjournal.php @@ -249,7 +249,11 @@ if ($action == 'export_csv') $purchase_journal = $conf->global->ACCOUNTING_PURCHASE_JOURNAL; header('Content-Type: text/csv'); - header('Content-Disposition: attachment;filename=journal_achats.csv'); + if ($conf->global->EXPORT_PREFIX_SPEC) + $filename=$conf->global->EXPORT_PREFIX_SPEC."_"."journal_achats.csv"; + else + $filename="journal_achats.csv"; + header('Content-Disposition: attachment;filename='.$filename); if ($conf->global->ACCOUNTING_EXPORT_MODELCSV == 2) // Model Cegid Expert Export { diff --git a/htdocs/accountancy/journal/sellsjournal.php b/htdocs/accountancy/journal/sellsjournal.php index b3ca7ceae98..7605d54825c 100644 --- a/htdocs/accountancy/journal/sellsjournal.php +++ b/htdocs/accountancy/journal/sellsjournal.php @@ -271,7 +271,11 @@ if ($action == 'export_csv') $sell_journal = $conf->global->ACCOUNTING_SELL_JOURNAL; header('Content-Type: text/csv'); - header('Content-Disposition: attachment;filename=journal_ventes.csv'); + if ($conf->global->EXPORT_PREFIX_SPEC) + $filename=$conf->global->EXPORT_PREFIX_SPEC."_"."journal_ventes.csv"; + else + $filename="journal_ventes.csv"; + header('Content-Disposition: attachment;filename='.$filename); $companystatic = new Client($db); diff --git a/htdocs/adherents/class/adherent.class.php b/htdocs/adherents/class/adherent.class.php index 6b9a8768495..c8c4f9b9ad4 100644 --- a/htdocs/adherents/class/adherent.class.php +++ b/htdocs/adherents/class/adherent.class.php @@ -1548,9 +1548,9 @@ class Adherent 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 length max libelle * @param string $option Page lien * @return string Chaine avec URL @@ -1568,25 +1568,25 @@ class Adherent extends CommonObject if ($option == 'card') { - $lien = ''; } if ($option == 'subscription') { - $lien = ''; } if ($option == 'category') { - $lien = 'ref,$maxlen):$this->ref).$lienfin; + $result.=$link.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$linkend; return $result; } @@ -1721,8 +1721,8 @@ class Adherent extends CommonObject /** * Load indicators for dashboard (this->nbtodo and this->nbtodolate) * - * @param User $user Objet user - * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK + * @param User $user Objet user + * @return WorkboardResponse|int <0 if KO, WorkboardResponse if OK */ function load_board($user) { diff --git a/htdocs/adherents/class/adherent_type.class.php b/htdocs/adherents/class/adherent_type.class.php index 5fc2d7c4bd8..cbf5b428cc0 100644 --- a/htdocs/adherents/class/adherent_type.class.php +++ b/htdocs/adherents/class/adherent_type.class.php @@ -266,9 +266,9 @@ class AdherentType 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 length max libelle * @return string String with URL */ @@ -279,14 +279,14 @@ class AdherentType extends CommonObject $result=''; $label=$langs->trans("ShowTypeCard",$this->libelle); - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='group'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - $result.=$lien.($maxlen?dol_trunc($this->libelle,$maxlen):$this->libelle).$lienfin; + $result.=$link.($maxlen?dol_trunc($this->libelle,$maxlen):$this->libelle).$linkend; return $result; } diff --git a/htdocs/adherents/class/cotisation.class.php b/htdocs/adherents/class/cotisation.class.php index c7faf97e748..ee9358b51da 100644 --- a/htdocs/adherents/class/cotisation.class.php +++ b/htdocs/adherents/class/cotisation.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2008 Laurent Destailleur + * Copyright (C) 2006-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 @@ -90,7 +90,7 @@ class Cotisation extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -1; } } @@ -140,7 +140,7 @@ class Cotisation extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -1; } } @@ -181,7 +181,7 @@ class Cotisation extends CommonObject else { $this->db->rollback(); - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -1; } } @@ -217,7 +217,7 @@ class Cotisation extends CommonObject $result=$member->fetch($this->fk_adherent); $result=$member->update_end_date($user); - if ($accountline->rowid > 0) // If we found bank account line (this means this->fk_bank defined) + if ($accountline->id > 0) // If we found bank account line (this means this->fk_bank defined) { $result=$accountline->delete($user); // Return false if refused because line is conciliated if ($result > 0) @@ -254,9 +254,9 @@ class Cotisation 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) @@ -266,14 +266,14 @@ class Cotisation extends CommonObject $result=''; $label=$langs->trans("ShowSubscription").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='payment'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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; } diff --git a/htdocs/admin/askpricesupplier.php b/htdocs/admin/askpricesupplier.php new file mode 100644 index 00000000000..6307e81042c --- /dev/null +++ b/htdocs/admin/askpricesupplier.php @@ -0,0 +1,599 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2004 Eric Seigne + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand (Resultic) + * Copyright (C) 2011-2013 Juanjo Menent + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * 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/admin.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("admin"); +$langs->load("errors"); +$langs->load('other'); +$langs->load('askpricesupplier'); + +if (! $user->admin) accessforbidden(); + +$action = GETPOST('action','alpha'); +$value = GETPOST('value','alpha'); +$label = GETPOST('label','alpha'); +$scandir = GETPOST('scandir','alpha'); +$type='askpricesupplier'; + +/* + * Actions + */ +$error=0; +if ($action == 'updateMask') +{ + $maskconstaskpricesupplier=GETPOST('maskconstaskpricesupplier','alpha'); + $maskaskpricesupplier=GETPOST('maskaskpricesupplier','alpha'); + if ($maskconstaskpricesupplier) $res = dolibarr_set_const($db,$maskconstaskpricesupplier,$maskaskpricesupplier,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +if ($action == 'specimen') +{ + $modele=GETPOST('module','alpha'); + + $askpricesupplier = new AskPriceSupplier($db); + $askpricesupplier->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/askpricesupplier/doc/pdf_".$modele.".modules.php"); + if (file_exists($file)) + { + $filefound=1; + $classname = "pdf_".$modele; + break; + } + } + + if ($filefound) + { + require_once $file; + + $module = new $classname($db); + + if ($module->write_file($askpricesupplier,$langs) > 0) + { + header("Location: ".DOL_URL_ROOT."/document.php?modulepart=askpricesupplier&file=SPECIMEN.pdf"); + return; + } + else + { + setEventMessage($module->error,'errors'); + dol_syslog($module->error, LOG_ERR); + } + } + else + { + setEventMessage($langs->trans("ErrorModuleNotFound"),'errors'); + dol_syslog($langs->trans("ErrorModuleNotFound"), LOG_ERR); + } +} + +if ($action == 'set_ASKPRICESUPPLIER_DRAFT_WATERMARK') +{ + $draft = GETPOST('ASKPRICESUPPLIER_DRAFT_WATERMARK','alpha'); + + $res = dolibarr_set_const($db, "ASKPRICESUPPLIER_DRAFT_WATERMARK",trim($draft),'chaine',0,'',$conf->entity); + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +if ($action == 'set_ASKPRICESUPPLIER_FREE_TEXT') +{ + $freetext = GETPOST('ASKPRICESUPPLIER_FREE_TEXT'); // No alpha here, we want exact string + + $res = dolibarr_set_const($db, "ASKPRICESUPPLIER_FREE_TEXT",$freetext,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +if ($action == 'set_BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER') +{ + $res = dolibarr_set_const($db, "BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER",$value,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + +// 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 +if ($action == 'set') +{ + $ret = addDocumentModel($value, $type, $label, $scandir); +} + +else if ($action == 'del') +{ + $ret = delDocumentModel($value, $type); + if ($ret > 0) + { + if ($conf->global->ASKPRICESUPPLIER_ADDON_PDF == "$value") dolibarr_del_const($db, 'ASKPRICESUPPLIER_ADDON_PDF',$conf->entity); + } +} + +else if ($action == 'setdoc') +{ + if (dolibarr_set_const($db, "ASKPRICESUPPLIER_ADDON_PDF",$value,'chaine',0,'',$conf->entity)) + { + $conf->global->ASKPRICESUPPLIER_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, "ASKPRICESUPPLIER_ADDON",$value,'chaine',0,'',$conf->entity); +} + + +/* + * Affiche page + */ + +$dirmodels=array_merge(array('/'),(array) $conf->modules_parts['models']); + + +llxHeader('',$langs->trans("AskPriceSupplierSetup")); + +$form=new Form($db); + +//if ($mesg) print $mesg; + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("AskPriceSupplierSetup"),$linkback,'setup'); + +$head = askpricesupplier_admin_prepare_head(); + +dol_fiche_head($head, 'general', $langs->trans("CommRequests"), 0, 'askpricesupplier'); + +/* + * Module numerotation + */ +print_titre($langs->trans("AskPriceSupplierNumberingModules")); + +print ''; +print ''; +print '\n"; +print '\n"; +print '\n"; +print ''; +print ''; +print ''."\n"; + +clearstatcache(); +foreach ($dirmodels as $reldir) +{ + $dir = dol_buildpath($reldir."core/modules/askpricesupplier/"); + + if (is_dir($dir)) + { + $handle = opendir($dir); + if (is_resource($handle)) + { + $var=true; + + while (($file = readdir($handle))!==false) + { + if (substr($file, 0, 21) == 'mod_askpricesupplier_' && substr($file, dol_strlen($file)-3, 3) == 'php') + { + $file = substr($file, 0, dol_strlen($file)-4); + + require_once $dir.$file.'.php'; + + $module = new $file; + + // Show modules according to features level + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) continue; + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) continue; + + if ($module->isEnabled()) + { + $var=!$var; + print ''; + + // Show example of numbering module + print ''."\n"; + + print ''; + + $askpricesupplier=new AskPriceSupplier($db); + $askpricesupplier->initAsSpecimen(); + + // Info + $htmltooltip=''; + $htmltooltip.=''.$langs->trans("Version").': '.$module->getVersion().'
'; + $askpricesupplier->type=0; + $nextval=$module->getNextValue($mysoc,$askpricesupplier); + if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval + $htmltooltip.=''.$langs->trans("NextValue").': '; + if ($nextval) { + if (preg_match('/^Error/',$nextval) || $nextval=='NotConfigured') + $nextval = $langs->trans($nextval); + $htmltooltip.=$nextval.'
'; + } else { + $htmltooltip.=$langs->trans($module->error).'
'; + } + } + + print ''; + + print "\n"; + } + } + } + closedir($handle); + } + } +} +print "
'.$langs->trans("Name")."'.$langs->trans("Description")."'.$langs->trans("Example")."'.$langs->trans("Status").''.$langs->trans("ShortInfo").'
'.$module->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->ASKPRICESUPPLIER_ADDON == "$file") + { + print img_picto($langs->trans("Activated"),'switch_on'); + } + else + { + print ''; + print img_picto($langs->trans("Disabled"),'switch_off'); + print ''; + } + print ''; + print $form->textwithpicto('',$htmltooltip,1,0); + print '

\n"; + + +/* + * Document templates generators + */ + +print_titre($langs->trans("AskPriceSupplierPDFModules")); + +// Load array def with activated templates +$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 "\n"; +print "\n"; +print " \n"; +print " \n"; +print '\n"; +print '\n"; +print ''; +print ''; +print "\n"; + +clearstatcache(); + +$var=true; +foreach ($dirmodels as $reldir) +{ + foreach (array('','/doc') as $valdir) + { + $dir = dol_buildpath($reldir."core/modules/askpricesupplier".$valdir); + + if (is_dir($dir)) + { + $handle=opendir($dir); + if (is_resource($handle)) + { + while (($file = readdir($handle))!==false) + { + $filelist[]=$file; + } + closedir($handle); + arsort($filelist); + + foreach($filelist as $file) + { + if (preg_match('/\.modules\.php$/i',$file) && preg_match('/^(pdf_|doc_)/',$file)) + { + if (file_exists($dir.'/'.$file)) + { + $name = substr($file, 4, dol_strlen($file) -16); + $classname = substr($file, 0, dol_strlen($file) -12); + + require_once $dir.'/'.$file; + $module = new $classname($db); + + $modulequalified=1; + if ($module->version == 'development' && $conf->global->MAIN_FEATURES_LEVEL < 2) $modulequalified=0; + if ($module->version == 'experimental' && $conf->global->MAIN_FEATURES_LEVEL < 1) $modulequalified=0; + + if ($modulequalified) + { + $var = !$var; + print ''; + + // Active + if (in_array($name, $def)) + { + print ''; + } + else + { + print ""; + } + + // Defaut + print "'; + + // Info + $htmltooltip = ''.$langs->trans("Name").': '.$module->name; + $htmltooltip.='
'.$langs->trans("Type").': '.($module->type?$module->type:$langs->trans("Unknown")); + if ($module->type == 'pdf') + { + $htmltooltip.='
'.$langs->trans("Width").'/'.$langs->trans("Height").': '.$module->page_largeur.'/'.$module->page_hauteur; + } + $htmltooltip.='

'.$langs->trans("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("Discounts").': '.yn($module->option_escompte,1,1); + //$htmltooltip.='
'.$langs->trans("CreditNote").': '.yn($module->option_credit_note,1,1); + $htmltooltip.='
'.$langs->trans("WatermarkOnDraftProposal").': '.yn($module->option_draft_watermark,1,1); + + + print ''; + + // Preview + print ''; + + print "\n"; + } + } + } + } + } + } + } +} + +print '
".$langs->trans("Name")."".$langs->trans("Description")."'.$langs->trans("Status")."'.$langs->trans("Default")."'.$langs->trans("ShortInfo").''.$langs->trans("Preview").'
'; + print (empty($module->name)?$name:$module->name); + print "\n"; + if (method_exists($module,'info')) print $module->info($langs); + else print $module->description; + print ''."\n"; + print ''; + print img_picto($langs->trans("Enabled"),'switch_on'); + print ''; + print '\n"; + print 'scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'switch_off').''; + print ""; + if ($conf->global->ASKPRICESUPPLIER_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"),'bill').''; + } + else + { + print img_object($langs->trans("PreviewNotAvailable"),'generic'); + } + print '
'; +print '
'; + + +/* + * Other options + * + */ +print_titre($langs->trans("OtherOptions")); + +$var=true; +print ""; +print ""; +print "\n"; +print '\n"; +print "\n"; +print ""; + +$var=! $var; +print ''; +print ''; +print ''; +print '\n"; +print ''; + +$var=!$var; +print ""; +print ''; +print ""; +print '\n"; +print ''; + +if ($conf->banque->enabled) +{ + $var=!$var; + print ''; +} +else +{ + $var=!$var; + print ''; +} + +print '
".$langs->trans("Parameter")."'.$langs->trans("Value")." 
'; +print $langs->trans("FreeLegalTextOnAskPriceSupplier").' ('.$langs->trans("AddCRIfTooLong").')
'; +print ''; +print '
'; +print ''; +print "
'; +print $langs->trans("WatermarkOnDraftAskPriceSupplier").'
'; +print ''; +print '
'; +print ''; +print "
'; + print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER").' '; + if (! empty($conf->use_javascript_ajax)) + { + print ajax_constantonoff('BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER'); + } + else + { + if (empty($conf->global->BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER)) + { + print ''.img_picto($langs->trans("Disabled"),'switch_off').''; + } + else + { + print ''.img_picto($langs->trans("Enabled"),'switch_on').''; + } + } + print '
'; + print $langs->trans("BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER").' '.$langs->trans('NotAvailable').'
'; + + + +/* + * Directory + */ +print '
'; +print_titre($langs->trans("PathToDocuments")); + +print "\n"; +print "\n"; +print " \n"; +print " \n"; +print "\n"; +print "\n \n \n\n"; +print "
".$langs->trans("Name")."".$langs->trans("Value")."
".$langs->trans("PathDirectory")."".$conf->askpricesupplier->dir_output."
\n
"; + +$db->close(); + +llxFooter(); diff --git a/htdocs/admin/commande.php b/htdocs/admin/commande.php index 7c0d7fdbf9c..2484df559e2 100644 --- a/htdocs/admin/commande.php +++ b/htdocs/admin/commande.php @@ -622,9 +622,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/const.php b/htdocs/admin/const.php index fc7fbc74f4d..f8fdb461d1e 100644 --- a/htdocs/admin/const.php +++ b/htdocs/admin/const.php @@ -229,7 +229,7 @@ $sql.= ", note"; $sql.= ", entity"; $sql.= " FROM ".MAIN_DB_PREFIX."const"; $sql.= " WHERE entity IN (".$user->entity.",".$conf->entity.")"; -if (empty($user->entity) && $debug) {} // to force for superadmin +if ((empty($user->entity) || $user->admin) && $debug) {} // to force for superadmin else $sql.= " AND visible = 1"; // We must always have this. Otherwise, array is too large and submitting data fails due to apache POST or GET limits $sql.= " ORDER BY entity, name ASC"; diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php index 05402898ee6..8de52ef73c5 100644 --- a/htdocs/admin/dict.php +++ b/htdocs/admin/dict.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Remy Younes * Copyright (C) 2012-2013 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 @@ -316,7 +316,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); diff --git a/htdocs/admin/facture.php b/htdocs/admin/facture.php index 298c0beddf5..51c627c277b 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) @@ -341,7 +341,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') { @@ -416,7 +416,7 @@ foreach ($dirmodels as $reldir) $htmltooltip.=$langs->trans($module->error).'
'; } } - + // Example for credit invoice $facture->type=2; $nextval=$module->getNextValue($mysoc,$facture); @@ -630,7 +630,6 @@ print ''; /* * Modes de reglement - * */ print '
'; print_titre($langs->trans("SuggestedPaymentModesIfNotDefinedInInvoice")); @@ -811,7 +810,27 @@ print ''."\n"; print "\n"; -//dol_fiche_end(); +/* + * Notifications + */ +print '
'; +print_titre($langs->trans("Notifications")); +print ''; +print ''; +print ''; +print ''; +print ''; +print "\n"; + +print '\n"; + +print '
'.$langs->trans("Parameter").' 
'; +print $langs->trans("YouMayFindNotificationsFeaturesIntoModuleNotification").'
'; +print '
'; +print "
'; + +dol_fiche_end(); + llxFooter(); diff --git a/htdocs/admin/fichinter.php b/htdocs/admin/fichinter.php index 8965b225cfb..8e06e946dee 100644 --- a/htdocs/admin/fichinter.php +++ b/htdocs/admin/fichinter.php @@ -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++; diff --git a/htdocs/admin/loan.php b/htdocs/admin/loan.php new file mode 100644 index 00000000000..4cd22ef2c8c --- /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,'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/mailman.php b/htdocs/admin/mailman.php index 3e4a2c14a98..384400b8597 100644 --- a/htdocs/admin/mailman.php +++ b/htdocs/admin/mailman.php @@ -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/menus/other.php b/htdocs/admin/menus/other.php index 36733add335..9da251ccb66 100644 --- a/htdocs/admin/menus/other.php +++ b/htdocs/admin/menus/other.php @@ -120,7 +120,7 @@ print ""; print ''; // Use a flip-hide menu -if (isset($conf->global->MAIN_FEATURES_LEVEL) && $conf->global->MAIN_FEATURES_LEVEL > 0) +if (isset($conf->global->MAIN_FEATURES_LEVEL) && $conf->global->MAIN_FEATURES_LEVEL > 1) { $var=!$var; print ""; diff --git a/htdocs/admin/notification.php b/htdocs/admin/notification.php index 03832cdb861..b9c163972ce 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,6 +110,7 @@ if ($action == 'setvalue' && $user->admin) */ $form=new Form($db); +$notify = new Notify($db); llxHeader('',$langs->trans("NotificationSetup")); @@ -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.''; + $nb = $notify->countDefinedNotifications($notifiedevent['code'], 0); + print $nb; + 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 ''; } diff --git a/htdocs/admin/perms.php b/htdocs/admin/perms.php index 907ed389b38..3a7c47f3acf 100644 --- a/htdocs/admin/perms.php +++ b/htdocs/admin/perms.php @@ -67,7 +67,7 @@ llxHeader('',$langs->trans("DefaultRights")); print_fiche_titre($langs->trans("SecuritySetup"),'','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("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 '
'; // Affiche lignes des permissions diff --git a/htdocs/admin/propal.php b/htdocs/admin/propal.php index 30ae7e71ab3..55a6ec749b6 100644 --- a/htdocs/admin/propal.php +++ b/htdocs/admin/propal.php @@ -643,6 +643,27 @@ print "\n"; print "\n \n \n\n"; print "
".$langs->trans("PathDirectory")."".$conf->propal->dir_output."
\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/security_file.php b/htdocs/admin/security_file.php index 4c0dd435634..d99db6ed638 100644 --- a/htdocs/admin/security_file.php +++ b/htdocs/admin/security_file.php @@ -208,7 +208,7 @@ $formfile->form_attach_new_file($_SERVER['PHP_SELF'], $langs->trans("FormToTestF // List of document $filearray=dol_dir_list($upload_dir, "files", 0, '', '', 'name', SORT_ASC, 1); -$formfile->list_of_documents($filearray, '', 'admin_temp', ''); +$formfile->list_of_documents($filearray, null, 'admin_temp', ''); llxFooter(); $db->close(); diff --git a/htdocs/admin/spip.php b/htdocs/admin/spip.php index 9c81338562e..76f66d4e96b 100644 --- a/htdocs/admin/spip.php +++ b/htdocs/admin/spip.php @@ -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/supplier_invoice.php b/htdocs/admin/supplier_invoice.php index 19b5e89b0dd..6fe32cf4485 100644 --- a/htdocs/admin/supplier_invoice.php +++ b/htdocs/admin/supplier_invoice.php @@ -443,14 +443,16 @@ foreach ($dirmodels as $reldir) } } -print '
'; -print '
'; +print '
'; /* * Other options - * */ +print '
'; +print ''; +print ''; + print_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -459,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 24e1682eb18..5be30f08ee3 100644 --- a/htdocs/admin/supplier_order.php +++ b/htdocs/admin/supplier_order.php @@ -439,14 +439,16 @@ foreach ($dirmodels as $reldir) } } -print '
'; -print '
'; +print '
'; /* * Other options - * */ +print '
'; +print ''; +print ''; + print_titre($langs->trans("OtherOptions")); print ''; print ''; @@ -455,16 +457,39 @@ print ''; print ''; print "\n"; -print ''; -print ''; -print ''; print '\n"; + +print '
'.$langs->trans("Value").' 
'; 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/system/database-tables.php b/htdocs/admin/system/database-tables.php index a29c8e66b32..39b3dd4cad5 100644 --- a/htdocs/admin/system/database-tables.php +++ b/htdocs/admin/system/database-tables.php @@ -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/dolibarr.php b/htdocs/admin/system/dolibarr.php index 96700ba1e16..4ec093dfafc 100644 --- a/htdocs/admin/system/dolibarr.php +++ b/htdocs/admin/system/dolibarr.php @@ -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('')); diff --git a/htdocs/admin/system/filecheck.php b/htdocs/admin/system/filecheck.php index 278aae8ea5b..8eff6821224 100644 --- a/htdocs/admin/system/filecheck.php +++ b/htdocs/admin/system/filecheck.php @@ -108,7 +108,7 @@ $db->close(); /** * Function to get list of updated or modified files * - * @param object $dir SimpleXMLElement of files to test + * @param SimpleXMLElement $dir SimpleXMLElement of files to test * @param string $path Path of file * @return array Array of filenames */ diff --git a/htdocs/admin/tools/update.php b/htdocs/admin/tools/update.php index 40683bdc747..7c85f820eab 100644 --- a/htdocs/admin/tools/update.php +++ b/htdocs/admin/tools/update.php @@ -24,6 +24,7 @@ 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"); @@ -105,7 +106,41 @@ llxHeader('',$langs->trans("Upgrade"),$wikihelp); print_fiche_titre($langs->trans("Upgrade"),'','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 '
'; print $langs->trans("Upgrade").'
'; diff --git a/htdocs/bookmarks/list.php b/htdocs/bookmarks/list.php index e00772a0af5..be821f72af9 100644 --- a/htdocs/bookmarks/list.php +++ b/htdocs/bookmarks/list.php @@ -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 "\n"; // Url print "\n"; // Target diff --git a/htdocs/categories/categorie.php b/htdocs/categories/categorie.php index 0746475ecec..e116ac668ab 100644 --- a/htdocs/categories/categorie.php +++ b/htdocs/categories/categorie.php @@ -235,7 +235,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); diff --git a/htdocs/categories/class/categorie.class.php b/htdocs/categories/class/categorie.class.php index 1d51ea6f7fb..9a76211b828 100644 --- a/htdocs/categories/class/categorie.class.php +++ b/htdocs/categories/class/categorie.class.php @@ -1000,7 +1000,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() { @@ -1265,7 +1265,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 @@ -1277,15 +1277,15 @@ class Categorie extends CommonObject $result=''; $label=$langs->trans("ShowCategory").': '. ($this->ref?$this->ref:$this->label); - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='category'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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,11 +1295,9 @@ 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'; @@ -1321,30 +1319,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 - * @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_thumb($file, $maxWidth = 160, $maxHeight = 120) - { - require_once DOL_DOCUMENT_ROOT .'/core/lib/images.lib.php'; - - if (file_exists($file)) - { - vignette($file,$maxWidth,$maxHeight); - } - } - - /** * Return tableau de toutes les photos de la categorie * diff --git a/htdocs/comm/action/class/actioncomm.class.php b/htdocs/comm/action/class/actioncomm.class.php index 5be0df34371..37758eea2ab 100644 --- a/htdocs/comm/action/class/actioncomm.class.php +++ b/htdocs/comm/action/class/actioncomm.class.php @@ -957,7 +957,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 @@ -974,9 +974,9 @@ class ActionComm extends CommonObject $label = $this->label; if (empty($label)) $label=$this->libelle; // For backward compatibility $linkclose = '" title="'.dol_escape_htmltag($tooltip, 1).'" class="classfortooltip">'; - if ($option=='birthday') $lien = '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'), 'class="classfortooltip"').$lienfin; + $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; } diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php index a0ab00b9db6..431b7bd14b6 100644 --- a/htdocs/comm/action/index.php +++ b/htdocs/comm/action/index.php @@ -5,6 +5,7 @@ * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2011 Juanjo Menent * Copyright (C) 2014 Cedric 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 @@ -347,7 +348,6 @@ if (! empty($conf->use_javascript_ajax)) $s=''; $s.='' . "\n"; + foreach ($showextcals as $val) { - $htmlname = dol_string_nospecial($val['name']); - $htmlname = dol_string_nospecial($htmlname,'_',array("\.","#")); - $s.='' . "\n"; - $s.='
' . $val ['name'] . '  
'; + $htmlname = md5($val['name']); + $s.='
' . $val['name'] . '  
'; } } $s.='
'.$langs->trans("AgendaShowBirthdayEvents").'  
'; @@ -1174,7 +1175,7 @@ function show_day_events($db, $day, $month, $year, $monthshown, $style, &$eventa $numicals[dol_string_nospecial($event->icalname)]++; } $color=$event->icalcolor; - $cssclass=(! empty($event->icalname)?'family_'.dol_string_nospecial($event->icalname):'family_other unmovable'); + $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other unmovable'); } else if ($event->type_code == 'BIRTHDAY') { diff --git a/htdocs/comm/action/peruser.php b/htdocs/comm/action/peruser.php index 335fc491224..daca31f0f78 100644 --- a/htdocs/comm/action/peruser.php +++ b/htdocs/comm/action/peruser.php @@ -305,16 +305,16 @@ if ($conf->use_javascript_ajax) { foreach ($showextcals as $val) { - $htmlname = dol_string_nospecial($val['name']); + $htmlname = md5($val['name']); $s.='' . "\n"; - $s.='
' . $val ['name'] . '  
'; + $s.='
' . $val ['name'] . '  
'; } } } @@ -614,7 +614,7 @@ else if ($usergroup > 0) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."usergroup_user as ug ON u.rowid = ug.fk_user"; $sql.= " WHERE u.entity IN (".getEntity('user',1).")"; if ($usergroup > 0) $sql.= " AND ug.fk_usergroup = ".$usergroup; - if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3); + //if (GETPOST("usertodo","int",3) > 0) $sql.=" AND u.rowid = ".GETPOST("usertodo","int",3); //print $sql; $resql=$db->query($sql); if ($resql) @@ -869,7 +869,7 @@ function show_day_events2($username, $day, $month, $year, $monthshown, $style, & } $color=$event->icalcolor; - $cssclass=(! empty($event->icalname)?'family_'.dol_string_nospecial($event->icalname):'family_other unsortable'); + $cssclass=(! empty($event->icalname)?'family_ext'.md5($event->icalname):'family_other unsortable'); } else if ($event->type_code == 'BIRTHDAY') { diff --git a/htdocs/comm/admin/askpricesupplier_extrafields.php b/htdocs/comm/admin/askpricesupplier_extrafields.php new file mode 100644 index 00000000000..0e74ca265e9 --- /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,'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 "
'.$langs->trans("TableName").''.$langs->trans("NbOfRecord").'
'.$row[0].''.$count.'
"; 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 ""; - if (! $lieninterne) print 'target?' target="newlink"':'').'>'; - print $lien; - if (! $lieninterne) print ''; + if (! $linkintern) print 'target?' target="newlink"':'').'>'; + print $link; + if (! $linkintern) print ''; 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..a58164b63dd --- /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,'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/askpricesupplier/card.php b/htdocs/comm/askpricesupplier/card.php new file mode 100644 index 00000000000..3a3b283f8e9 --- /dev/null +++ b/htdocs/comm/askpricesupplier/card.php @@ -0,0 +1,1821 @@ + + * 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) { + dol_print_error($db, $result); + exit(); + } else { + header('Location: ' . $_SERVER["PHP_SELF"] . '?id=' . $object->id . (empty($conf->global->MAIN_JUMP_TAG) ? '' : '#builddoc')); + exit(); + } + } + + // 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 = $object->showLinkedObjectBlock(); + + 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 ($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['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..844e851a20c --- /dev/null +++ b/htdocs/comm/askpricesupplier/class/askpricesupplier.class.php @@ -0,0 +1,2872 @@ + + * 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-2014 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; + 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 $datec; // Date of creation + var $date; // Date of proposal + var $date_livraison; + + 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 + var $price; // deprecated (for compatibility) + var $tva; // deprecated (for compatibility) + var $total; // deprecated (for compatibility) + + 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; + var $note; // deprecated (for compatibility) + 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 obsolete + $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 obsolete + $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->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 + var $product_type = 0; // Type 0 = product, 1 = Service + + 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 + + // Ne plus utiliser + var $remise; + var $price; + + // From llx_product + var $ref; // Reference produit + var $libelle; // Label produit + var $product_desc; // Description produit + + 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/compta/dons/class/index.html b/htdocs/comm/askpricesupplier/class/index.html similarity index 100% rename from htdocs/compta/dons/class/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/askpricesupplier/tpl/index.html b/htdocs/comm/askpricesupplier/tpl/index.html new file mode 100644 index 00000000000..e69de29bb2d 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 ffc01a998d5..14bf6e42fe8 100644 --- a/htdocs/comm/card.php +++ b/htdocs/comm/card.php @@ -7,6 +7,7 @@ * Copyright (C) 2008 Raphael Bertrand (Resultic) * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2013 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 @@ -31,11 +32,13 @@ 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'; 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 +46,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 +72,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 @@ -215,7 +224,6 @@ if ($id > 0) print ''; print ''; @@ -400,7 +408,7 @@ if ($id > 0) // display amount and link to unpaid bill $outstandigBills = $object->get_OutstandingBill(); if ($outstandigBills != 0) - print " / ".price($outstandigBills).''; + print " (".$langs->trans("CurrentOutstandingBill")." ".price($outstandigBills, '', $langs, 0, 0, -1, $conf->currency).')'; print ''; print ''; } @@ -425,9 +433,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 '
'; print ''; } - // Sales representative + // 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 @@ -647,6 +664,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 = ".$conf->entity; + $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 '
'; print $langs->trans('ProspectLevel'); @@ -453,7 +461,16 @@ if ($id > 0) print '
'; + + $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 */ diff --git a/htdocs/comm/index.php b/htdocs/comm/index.php index ea0494866a1..cb5a07c32d3 100644 --- a/htdocs/comm/index.php +++ b/htdocs/comm/index.php @@ -103,6 +103,21 @@ if (! empty($conf->commande->enabled) && $user->rights->commande->lire) 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 if (! empty($conf->contrat->enabled) && $user->rights->contrat->lire) { diff --git a/htdocs/comm/propal.php b/htdocs/comm/propal.php index 0fe47b9d837..be60d721d6a 100644 --- a/htdocs/comm/propal.php +++ b/htdocs/comm/propal.php @@ -53,6 +53,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'); @@ -241,6 +242,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) { @@ -296,6 +303,8 @@ if (empty($reshook)) $object->author = $user->id; // deprecated $object->note = GETPOST('note'); $object->statut = 0; + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $id = $object->create_from($user); } else { @@ -319,6 +328,8 @@ if (empty($reshook)) $object->modelpdf = GETPOST('model'); $object->author = $user->id; // deprecated $object->note = GETPOST('note'); + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); $object->origin = GETPOST('origin'); $object->origin_id = GETPOST('originid'); @@ -768,8 +779,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; @@ -1393,6 +1417,16 @@ 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 ""; + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + print $form->select_incoterms((!empty($soc->fk_incoterms) ? $soc->fk_incoterms : ''), (!empty($soc->location_incoterms)?$soc->location_incoterms:'')); + print ''; + } + // Project if (! empty($conf->projet->enabled) && $socid > 0) { @@ -1637,7 +1671,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) @@ -1646,9 +1680,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 @@ -1953,14 +1987,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)) { @@ -1972,27 +2028,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) . ''; diff --git a/htdocs/comm/propal/class/propal.class.php b/htdocs/comm/propal/class/propal.class.php index 189c6101594..533df89b773 100644 --- a/htdocs/comm/propal/class/propal.class.php +++ b/htdocs/comm/propal/class/propal.class.php @@ -107,6 +107,9 @@ class Propal extends CommonObject var $products=array(); var $extraparams=array(); + /** + * @var PropaleLigne[] + */ var $lines = array(); var $line; @@ -117,6 +120,11 @@ class Propal extends CommonObject var $labelstatut_short=array(); var $specimen; + + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip /** @@ -748,6 +756,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 ("; @@ -775,6 +785,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.= ")"; @@ -1095,6 +1107,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"; @@ -1105,6 +1119,7 @@ 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; if ($ref) $sql.= " AND p.ref='".$ref."'"; @@ -1172,6 +1187,11 @@ class Propal extends CommonObject $this->user_valid_id = $obj->fk_user_valid; $this->user_close_id = $obj->fk_user_cloture; + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; + if ($obj->fk_statut == 0) { $this->brouillon = 1; @@ -1203,6 +1223,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; @@ -1212,7 +1237,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; @@ -1253,6 +1279,8 @@ class Propal extends CommonObject $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; @@ -1266,12 +1294,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; } @@ -2639,27 +2661,27 @@ class Propal extends CommonObject $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 == '') { - $lien = 'ref.$lienfin; + $result.=$link.$this->ref.$linkend; return $result; } @@ -2782,9 +2804,6 @@ class Propal extends CommonObject */ class PropaleLigne extends CommonObject { - var $db; - var $error; - public $element='propaldet'; public $table_element='propaldet'; diff --git a/htdocs/comm/propal/list.php b/htdocs/comm/propal/list.php index a3ef72bb6ca..da6e56c9460 100644 --- a/htdocs/comm/propal/list.php +++ b/htdocs/comm/propal/list.php @@ -182,9 +182,9 @@ 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); @@ -316,12 +316,12 @@ if ($result) print ''; print ' '; // Amount - print ''; - print ''; + print ''; + print ''; print ''; // Author print ''; - print ''; + print ''; print ''; print ''; $formpropal->selectProposalStatus($viewstatut,1); diff --git a/htdocs/comm/prospect/list.php b/htdocs/comm/prospect/list.php index 999c212a80d..b2202a21b88 100644 --- a/htdocs/comm/prospect/list.php +++ b/htdocs/comm/prospect/list.php @@ -399,7 +399,8 @@ if ($resql) print "\n"; $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook + $reshook=$hookmanager->executeHooks('printFieldListSearch',$parameters); // Note that $action and $object may have been modified by hook + print $hookmanager->resPrint; print "\n"; diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php index bf0e8dc2bc5..206de4d523c 100644 --- a/htdocs/commande/card.php +++ b/htdocs/commande/card.php @@ -55,6 +55,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,10 +85,7 @@ $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')); @@ -222,13 +220,13 @@ if (empty($reshook)) if ($datecommande == '') { setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentities('Date')), 'errors'); $action = 'create'; - $error ++; + $error++; } if ($socid < 1) { setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Customer")), 'errors'); $action = 'create'; - $error ++; + $error++; } if (! $error) { @@ -253,6 +251,8 @@ 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)) @@ -350,7 +350,7 @@ if (empty($reshook)) $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); if ($result < 0) { - $error ++; + $error++; break; } @@ -365,14 +365,14 @@ if (empty($reshook)) $reshook = $hookmanager->executeHooks('createFrom', $parameters, $object, $action); // Note that $action and $object may have been // modified by hook if ($reshook < 0) - $error ++; + $error++; } else { setEventMessage($srcobject->error, 'errors'); - $error ++; + $error++; } } else { setEventMessage($object->error, 'errors'); - $error ++; + $error++; } } else { // Required extrafield left blank, error message already defined by setOptionalsFromPost() @@ -408,7 +408,7 @@ if (empty($reshook)) $result = $object->add_contact(GETPOST('contactid'), 'CUSTOMER', 'external'); if ($result < 0) { setEventMessage($langs->trans("ErrorFailedToAddContact"), 'errors'); - $error ++; + $error++; } } @@ -518,6 +518,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')); @@ -573,24 +579,24 @@ if (empty($reshook)) if (empty($idprod) && ($price_ht < 0) && ($qty < 0)) { setEventMessage($langs->trans('ErrorBothFieldCantBeNegative', $langs->transnoentitiesnoconv('UnitPriceHT'), $langs->transnoentitiesnoconv('Qty')), 'errors'); - $error ++; + $error++; } if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && GETPOST('type') < 0) { setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Type')), 'errors'); - $error ++; + $error++; } if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && (! ($price_ht >= 0) || $price_ht == '')) // Unit price can be 0 but not '' { setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("UnitPriceHT")), 'errors'); - $error ++; + $error++; } if ($qty == '') { setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Qty')), 'errors'); - $error ++; + $error++; } if (GETPOST('prod_entry_mode') == 'free' && empty($idprod) && empty($product_desc)) { setEventMessage($langs->trans('ErrorFieldRequired', $langs->transnoentitiesnoconv('Description')), 'errors'); - $error ++; + $error++; } if (! $error && ($qty >= 0) && (! empty($product_desc) || ! empty($idprod))) { @@ -846,7 +852,7 @@ if (empty($reshook)) 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 ++; + $error++; } } else { $type = GETPOST('type'); @@ -855,7 +861,7 @@ if (empty($reshook)) // Check parameters if (GETPOST('type') < 0) { setEventMessage($langs->trans("ErrorFieldRequired", $langs->transnoentitiesnoconv("Type")), 'errors'); - $error ++; + $error++; } } @@ -1119,10 +1125,10 @@ if (empty($reshook)) if (empty($reshook)) { $result = $object->insertExtraFields(); if ($result < 0) { - $error ++; + $error++; } } else if ($reshook < 0) - $error ++; + $error++; } if ($error) @@ -1413,6 +1419,16 @@ if ($action == 'create' && $user->rights->commande->creer) 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 ''; + } + // Other attributes $parameters = array('objectsrc' => $objectsrc, 'colspan' => ' colspan="3"', 'socid'=>$socid); $reshook = $hookmanager->executeHooks('formObjectOptions', $parameters, $object, $action); // Note that $action and $object may have been modified by @@ -1584,7 +1600,7 @@ if ($action == 'create' && $user->rights->commande->creer) 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,8 +1726,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 @@ -1973,6 +1990,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'; @@ -2005,7 +2045,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)) { @@ -2017,23 +2057,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) . ''; @@ -2204,7 +2244,11 @@ if ($action == 'create' && $user->rights->commande->creer) } // Cancel order - if ($object->statut == Commande::STATUS_VALIDATED && $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 '
'; } diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php index fea16f7c7c3..6bc4c1f5f53 100644 --- a/htdocs/commande/class/commande.class.php +++ b/htdocs/commande/class/commande.class.php @@ -3,7 +3,7 @@ * Copyright (C) 2004-2012 Laurent Destailleur * Copyright (C) 2005-2014 Regis Houssin * Copyright (C) 2006 Andre Cianfarani - * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2010-2015 Juanjo Menent * Copyright (C) 2011 Jean Heimburger * Copyright (C) 2012-2014 Christophe Battarel * Copyright (C) 2013 Florian Henry @@ -133,7 +133,25 @@ 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; /** @@ -648,8 +666,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) { @@ -657,22 +675,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); @@ -701,6 +719,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; @@ -723,6 +742,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.= ")"; @@ -738,7 +759,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++) { @@ -769,12 +790,15 @@ 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 ); if ($result < 0) { - $this->error=$this->db->lasterror(); - dol_print_error($this->db); + if ($result != self::STOCK_NOT_ENOUGH_FOR_ORDER) + { + $this->error=$this->db->lasterror(); + dol_print_error($this->db); + } $this->db->rollback(); return -1; } @@ -784,13 +808,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)) @@ -1213,10 +1240,12 @@ 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($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); $this->db->rollback(); - return -3; + return self::STOCK_NOT_ENOUGH_FOR_ORDER; } } @@ -1418,6 +1447,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'; @@ -1427,6 +1458,7 @@ 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.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON c.fk_incoterms = i.rowid'; $sql.= " WHERE c.entity = ".$conf->entity; if ($id) $sql.= " AND c.rowid=".$id; if ($ref) $sql.= " AND c.ref='".$this->db->escape($ref)."'"; @@ -1482,6 +1514,11 @@ 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(); @@ -1630,12 +1667,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; @@ -1661,11 +1698,11 @@ 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->date_start = $this->db->jdate($objp->date_start); @@ -3256,56 +3293,44 @@ 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 + */ + 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 + */ + 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 diff --git a/htdocs/commande/customer.php b/htdocs/commande/customer.php index 333ce5f7908..e4662cc7ee8 100644 --- a/htdocs/commande/customer.php +++ b/htdocs/commande/customer.php @@ -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/list.php b/htdocs/commande/list.php index 9d143d87eb2..e51ded5e297 100644 --- a/htdocs/commande/list.php +++ b/htdocs/commande/list.php @@ -51,6 +51,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 +80,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 +98,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 */ @@ -198,7 +201,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,6 +258,7 @@ 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); @@ -316,7 +323,9 @@ if ($resql) print ''; $formother->select_year($deliveryyear?$deliveryyear:-1,'deliveryyear',1, 20, 5); print ''; - print ' '; + print ''; + print ''; + print ''; print ''; print ''; print "\n"; @@ -328,7 +337,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 ''; @@ -358,7 +368,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']; diff --git a/htdocs/compta/bank/account.php b/htdocs/compta/bank/account.php index 024e21510e1..20ef8bcc3cc 100644 --- a/htdocs/compta/bank/account.php +++ b/htdocs/compta/bank/account.php @@ -6,7 +6,7 @@ * 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 * * This 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 +37,8 @@ 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.'/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 +46,8 @@ $langs->load("banks"); $langs->load("categories"); $langs->load("bills"); $langs->load("companies"); +$langs->load("loan"); +$langs->load("donations"); $id = (GETPOST('id','int') ? GETPOST('id','int') : GETPOST('account','int')); $ref = GETPOST('ref','alpha'); @@ -148,11 +152,13 @@ llxHeader(); $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); $bankstatic=new Account($db); $banklinestatic=new AccountLine($db); @@ -606,6 +612,18 @@ 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']=='banktransfert') { // Do not show link to transfer since there is no transfer card (avoid confusion). Can already be accessed from transaction detail. @@ -705,6 +723,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']; diff --git a/htdocs/compta/bank/annuel.php b/htdocs/compta/bank/annuel.php index e5bafe8fed6..0a9cfc79b10 100644 --- a/htdocs/compta/bank/annuel.php +++ b/htdocs/compta/bank/annuel.php @@ -137,7 +137,7 @@ $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 ''; @@ -191,7 +191,7 @@ print '
'; // Affiche tableau print '
'; -print ''; +print ''; print ''; for ($annee = $year_start ; $annee <= $year_end ; $annee++) diff --git a/htdocs/compta/bank/bankid_fr.php b/htdocs/compta/bank/bankid_fr.php deleted file mode 100644 index f20d70ef14f..00000000000 --- a/htdocs/compta/bank/bankid_fr.php +++ /dev/null @@ -1,477 +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 '
'.$lien.'
'.$link.'
'.$langs->trans("Month").'
'; - - $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.' '; - if (! empty($account->iban)) { - if (! checkIbanForAccount($account)) { - print img_picto($langs->trans("IbanNotValid"),'warning'); - } else { - print img_picto($langs->trans("IbanValid"),'info'); - } - } - print '
'.$langs->trans($bickey).''.$account->bic.' '; - if (! empty($account->bic)) { - if (! checkSwiftForAccount($account)) { - print img_picto($langs->trans("SwiftNotValid"),'warning'); - } else { - print img_picto($langs->trans("SwiftValid"),'info'); - } - } - print '
'.$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..5c9d5bdd934 100644 --- a/htdocs/compta/bank/budget.php +++ b/htdocs/compta/bank/budget.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2010 Laurent Destailleur - * Copytight (C) 2005-2009 Regis Houssin + * Copyright (C) 2005-2009 Regis Houssin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/htdocs/compta/bank/card.php b/htdocs/compta/bank/card.php index c44dd2058b7..c84e7f47482 100644 --- a/htdocs/compta/bank/card.php +++ b/htdocs/compta/bank/card.php @@ -2,8 +2,8 @@ /* Copyright (C) 2002-2003 Rodolphe Quiedeville * 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) 2005-2009 Regis Houssin + * Copyright (C) 2014-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 @@ -21,19 +21,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"); @@ -71,6 +72,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"]); @@ -82,8 +95,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)) @@ -157,8 +170,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)) @@ -233,8 +246,12 @@ if ($action == 'create') if ($conf->use_javascript_ajax) { - print "\n".''."\n"; + $this->stringtoshow.='plotWithOptions_'.$tag.'();'."\n"; + $this->stringtoshow.='});'."\n"; + $this->stringtoshow.=''."\n"; } @@ -1019,10 +1019,10 @@ class DolGraph */ function show() { - return $this->_stringtoshow; + return $this->stringtoshow; } - + /** * getDefaultGraphSizeForStats * @@ -1033,18 +1033,18 @@ class DolGraph static function getDefaultGraphSizeForStats($direction,$defaultsize='') { global $conf; - + if ($direction == 'width') { if (empty($conf->dol_optimize_smallscreen)) return ($defaultsize ? $defaultsize : '500'); else return (empty($_SESSION['dol_screen_width']) ? '280' : ($_SESSION['dol_screen_width']-40)); } - if ($direction == 'height') + if ($direction == 'height') { return (empty($conf->dol_optimize_smallscreen)?($defaultsize?$defaultsize:'200'):'160'); } return 0; } - + } diff --git a/htdocs/core/class/extrafields.class.php b/htdocs/core/class/extrafields.class.php index f1ad5d6687f..0a2c39abbe8 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 @@ -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; @@ -73,6 +78,7 @@ class ExtraFields 'checkbox' => 'ExtrafieldCheckBox', 'radio' => 'ExtrafieldRadio', 'chkbxlst' => 'ExtrafieldCheckBoxFromList', + 'link' => 'ExtrafieldLink', ); /** @@ -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,9 +114,11 @@ 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; @@ -118,13 +128,13 @@ class ExtraFields // 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,10 +162,11 @@ 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'; @@ -178,6 +189,9 @@ class ExtraFields } 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,9 +239,11 @@ 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; @@ -235,6 +251,7 @@ class ExtraFields // 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 +268,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 +279,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); @@ -363,9 +382,11 @@ 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'; @@ -388,6 +409,9 @@ class ExtraFields } 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 +426,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 +475,18 @@ 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 (empty($list)) $list=0; if (isset($attrname) && $attrname != '' && preg_match("/^\w[a-zA-Z0-9-_]*$/",$attrname)) { @@ -485,9 +513,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 +527,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 +567,16 @@ class ExtraFields { global $conf; + if ( empty($elementtype) ) return array(); + if ($elementtype == 'thirdparty') $elementtype='societe'; $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."'"; @@ -571,6 +605,8 @@ class ExtraFields $this->attribute_param[$tab->name]=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 +639,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; @@ -883,7 +922,7 @@ class ExtraFields elseif ($type == 'chkbxlst') { $value_arr = explode(',', $value); - + if (is_array($param['options'])) { $param_list = array_keys($param['options']); $InfoFieldList = explode(":", $param_list[0]); @@ -893,7 +932,7 @@ class ExtraFields // 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; @@ -905,13 +944,13 @@ class ExtraFields $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]; @@ -927,7 +966,7 @@ class ExtraFields $sqlwhere .= ' WHERE 1'; } if (in_array($InfoFieldList[0], array ( - 'tablewithentity' + '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); @@ -941,7 +980,7 @@ class ExtraFields 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)) { @@ -953,7 +992,7 @@ class ExtraFields $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); @@ -965,9 +1004,9 @@ class ExtraFields } $out .= 'rowid . '"'; - + $out .= 'checked="checked"'; - + $out .= '/>' . $labeltoshow . '
'; } else { if (! $notrans) { @@ -980,31 +1019,31 @@ class ExtraFields } if (empty($labeltoshow)) $labeltoshow = '(not defined)'; - + if (is_array($value_arr) && in_array($obj->rowid, $value_arr)) { $out .= 'rowid . '"'; - + $out .= 'checked="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="checked" ' : ''); ; $out .= ''; - + $out .= '/>' . $labeltoshow . '
'; } - + $i ++; } $this->db->free($resql); @@ -1014,6 +1053,20 @@ class ExtraFields } $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)'; @@ -1040,6 +1093,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; @@ -1172,24 +1228,24 @@ 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) { @@ -1197,14 +1253,14 @@ class ExtraFields } // $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)) { @@ -1236,6 +1292,22 @@ class ExtraFields } 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); 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/hookmanager.class.php b/htdocs/core/class/hookmanager.class.php index 3ad0ec897f9..5cb0ca81faf 100644 --- a/htdocs/core/class/hookmanager.class.php +++ b/htdocs/core/class/hookmanager.class.php @@ -128,10 +128,8 @@ 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( @@ -149,6 +147,13 @@ class HookManager 'formatEvent' ) )) $hooktype='addreplace'; + // Deprecated hook types + 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 have declared context $modulealreadyexecuted=array(); @@ -201,8 +206,6 @@ class HookManager if (! empty($actionclassinstance->results) && is_array($actionclassinstance->results)) $this->resArray =array_merge($this->resArray, $actionclassinstance->results); if (! empty($actionclassinstance->resprints)) $this->resPrint.=$actionclassinstance->resprints; - // TODO dead code to remove (do not enable this, but fix hook instead) - //if (is_array($result)) $this->resArray = array_merge($this->resArray, $result); // TODO dead code to remove (do not enable this, but fix hook instead): result must not be a string. we must use $actionclassinstance->resprints to return a string if (! is_array($result) && ! is_numeric($result)) { @@ -221,8 +224,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 719a79dcd1c..ae7b0e2d1e8 100644 --- a/htdocs/core/class/html.form.class.php +++ b/htdocs/core/class/html.form.class.php @@ -395,12 +395,13 @@ class Form $htmltext=str_replace("\n","",$htmltext); $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 + if ($tooltipon == 2 || $tooltipon == 3) $paramfortooltipimg=' class="classfortooltip inline-block'.($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 + if ($tooltipon == 1 || $tooltipon == 3) $paramfortooltiptd=' class="classfortooltip inline-block'.($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 $s=""; if (empty($notabs)) $s.=''; + elseif ($notabs == 2) $s.='
'; if ($direction < 0) { $s.='<'.$tag.$paramfortooltipimg; if ($tag == 'td') { @@ -411,8 +412,8 @@ class Form // 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;"':''); + $paramfortooltiptd.= (($direction < 0)?' class="inline-block" style="padding-left: 3px !important;"':''); + $paramfortooltiptd.= (($direction > 0)?' class="inline-block" style="padding-right: 3px !important;"':''); if ((string) $text != '') $s.='<'.$tag.$paramfortooltiptd.'>'.$text.''; if ($direction > 0) { $s.='<'.$tag.$paramfortooltipimg; @@ -422,6 +423,7 @@ class Form $s.= '>'.$img.''; } if (empty($notabs)) $s.='
'; + elseif ($notabs == 2) $s.=''; return $s; } @@ -480,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) @@ -558,6 +560,98 @@ class Form return $out; } + /** + * Return select list of incoterms + * + * @param string $selected Id or Code of preselected incoterm + * @param string $location_incoterms Value of input location + * @param string $page Defined the form action + * @param string $htmlname Name of html select object + * @param string $htmloption Options html on select object + * @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'))) + * @return string HTML string with select and input + */ + function select_incoterms($selected='', $location_incoterms='', $page='',$htmlname='incoterm_id',$htmloption='', $forcecombo=0, $events=array()) + { + global $conf,$langs; + + $langs->load("dict"); + + $out=''; + $incotermArray=array(); + + $sql = "SELECT rowid, code"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_incoterms"; + $sql.= " WHERE active = 1"; + $sql.= " ORDER BY code ASC"; + + dol_syslog(get_class($this)."::select_incoterm", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + if (!$forcecombo) + { + include_once DOL_DOCUMENT_ROOT . '/core/lib/ajax.lib.php'; + $out .= ajax_combobox($htmlname, $events); + } + + if (!empty($page)) + { + $out .= '
'; + $out .= ''; + $out .= ''; + } + + $out.= ''; + + $out .= ''; + + if (!empty($page)) + { + $out .= '
'; + } + } + else + { + dol_print_error($this->db); + } + + return $out; + } + /** * Return list of types of lines (product or service) * Example: 0=product, 1=service, 9=other (for external module) @@ -566,7 +660,7 @@ class Form * @param string $htmlname Name of field in html form * @param int $showempty Add an empty field * @param int $hidetext Do not show label 'Type' before combo box (used only if there is at least 2 choices to select) - * @param string $forceall 1=Force to show products and services in combo list, whatever are activated modules, 0=No force, -1=Force none (and set hidden field to 'service') + * @param integer $forceall 1=Force to show products and services in combo list, whatever are activated modules, 0=No force, -1=Force none (and set hidden field to 'service') * @return void */ function select_type_of_lines($selected='',$htmlname='type',$showempty=0,$hidetext=0,$forceall=0) @@ -980,9 +1074,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) @@ -1003,10 +1097,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 @@ -1549,7 +1643,7 @@ class Form if ($result) { require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; - require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; $num = $this->db->num_rows($result); $out.=''; + print ''; + $num = $this->db->num_rows($resql); + $i = 0; + if ($num) + { + while ($i < $num) + { + $obj = $this->db->fetch_object($resql); + if ($selected == $obj->id) + { + print ''; + $i++; + } + } + 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..6335e25dd72 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) diff --git a/htdocs/core/class/html.formcron.class.php b/htdocs/core/class/html.formcron.class.php index 4de88a7bfc9..86c80413855 100644 --- a/htdocs/core/class/html.formcron.class.php +++ b/htdocs/core/class/html.formcron.class.php @@ -47,8 +47,8 @@ class FormCron extends Form * Display On Off selector * * @param string $htmlname Html control name - * @param string $selected selected value - * @param string $readonly Select is read only or not + * @param integer $selected selected value + * @param integer $readonly Select is read only or not * @return string HTML select field */ function select_typejob($htmlname,$selected=0,$readonly=0) diff --git a/htdocs/core/class/html.formfile.class.php b/htdocs/core/class/html.formfile.class.php index e341a992b6b..fe0fae0ec4d 100644 --- a/htdocs/core/class/html.formfile.class.php +++ b/htdocs/core/class/html.formfile.class.php @@ -273,7 +273,7 @@ class FormFile } $printer=0; - if (in_array($modulepart,array('facture','propal','proposal','order','commande','expedition'))) // The direct print feature is implemented only for such elements + if (in_array($modulepart,array('facture','askpricesupplier','propal','proposal','order','commande','expedition'))) // The direct print feature is implemented only for such elements { $printer = (!empty($user->rights->printing->read) && !empty($conf->printing->enabled))?true:false; } @@ -316,6 +316,15 @@ class FormFile include_once DOL_DOCUMENT_ROOT.'/core/modules/propale/modules_propale.php'; $modellist=ModelePDFPropales::liste_modeles($this->db); } + } + else if ($modulepart == 'askpricesupplier') + { + if (is_array($genallowed)) $modellist=$genallowed; + else + { + include_once DOL_DOCUMENT_ROOT.'/core/modules/askpricesupplier/modules_askpricesupplier.php'; + $modellist=ModelePDFAskPriceSupplier::liste_modeles($this->db); + } } else if ($modulepart == 'commande') { @@ -541,7 +550,11 @@ class FormFile // Execute hooks $parameters=array('socid'=>(isset($GLOBALS['socid'])?$GLOBALS['socid']:''),'id'=>(isset($GLOBALS['id'])?$GLOBALS['id']:''),'modulepart'=>$modulepart); - if (is_object($hookmanager)) $out.= $hookmanager->executeHooks('formBuilddocOptions',$parameters,$GLOBALS['object']); + if (is_object($hookmanager)) + { + $reshook = $hookmanager->executeHooks('formBuilddocOptions',$parameters,$GLOBALS['object']); + $out.= $hookmanager->resPrint; + } } // Get list of files @@ -671,7 +684,7 @@ class FormFile $out=''; $this->numoffiles=0; - + $file_list=dol_dir_list($filedir, 'files', 0, preg_quote(basename($modulesubdir).'.pdf','/'), '\.meta$|\.png$'); // For ajax treatment @@ -921,6 +934,11 @@ class FormFile include_once DOL_DOCUMENT_ROOT.'/comm/propal/class/propal.class.php'; $object_instance=new Propal($this->db); } + else if ($modulepart == 'askpricesupplier') + { + include_once DOL_DOCUMENT_ROOT.'/comm/askpricesupplier/class/askpricesupplier.class.php'; + $object_instance=new AskPriceSupplier($this->db); + } else if ($modulepart == 'order') { include_once DOL_DOCUMENT_ROOT.'/commande/class/commande.class.php'; @@ -982,6 +1000,7 @@ class FormFile if ($modulepart == 'invoice') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } if ($modulepart == 'invoice_supplier') { preg_match('/([^\/]+)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); if (is_numeric($ref)) { $id=$ref; $ref=''; } } // $ref may be also id with old supplier invoices if ($modulepart == 'propal') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } + if ($modulepart == 'askpricesupplier') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } if ($modulepart == 'order') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } if ($modulepart == 'order_supplier') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } if ($modulepart == 'contract') { preg_match('/(.*)\/[^\/]+$/',$relativefile,$reg); $ref=(isset($reg[1])?$reg[1]:''); } diff --git a/htdocs/core/class/html.formmail.class.php b/htdocs/core/class/html.formmail.class.php index 49c55384a16..9e7686f70ce 100644 --- a/htdocs/core/class/html.formmail.class.php +++ b/htdocs/core/class/html.formmail.class.php @@ -479,6 +479,7 @@ class FormMail $showinfobcc=''; if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO) && ! empty($this->param['models']) && $this->param['models'] == 'propal_send') $showinfobcc=$conf->global->MAIN_MAIL_AUTOCOPY_PROPOSAL_TO; + if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_ASKPRICESUPPLIER_TO) && ! empty($this->param['models']) && $this->param['models'] == 'askpricesupplier_send') $showinfobcc=$conf->global->MAIN_MAIL_AUTOCOPY_ASKPRICESUPPLIER_TO; if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO) && ! empty($this->param['models']) && $this->param['models'] == 'order_send') $showinfobcc=$conf->global->MAIN_MAIL_AUTOCOPY_ORDER_TO; if (! empty($conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO) && ! empty($this->param['models']) && $this->param['models'] == 'facture_send') $showinfobcc=$conf->global->MAIN_MAIL_AUTOCOPY_INVOICE_TO; if ($showinfobcc) $out.=' + '.$showinfobcc; @@ -498,6 +499,7 @@ class FormMail { $defaultvaluefordeliveryreceipt=0; if (! empty($conf->global->MAIL_FORCE_DELIVERY_RECEIPT_PROPAL) && ! empty($this->param['models']) && $this->param['models'] == 'propal_send') $defaultvaluefordeliveryreceipt=1; + if (! empty($conf->global->MAIL_FORCE_DELIVERY_RECEIPT_ASKPRICESUPPLIER) && ! empty($this->param['models']) && $this->param['models'] == 'askpricesupplier_send') $defaultvaluefordeliveryreceipt=1; if (! empty($conf->global->MAIL_FORCE_DELIVERY_RECEIPT_ORDER) && ! empty($this->param['models']) && $this->param['models'] == 'order_send') $defaultvaluefordeliveryreceipt=1; if (! empty($conf->global->MAIL_FORCE_DELIVERY_RECEIPT_INVOICE) && ! empty($this->param['models']) && $this->param['models'] == 'facture_send') $defaultvaluefordeliveryreceipt=1; $out.= $form->selectyesno('deliveryreceipt', (isset($_POST["deliveryreceipt"])?$_POST["deliveryreceipt"]:$defaultvaluefordeliveryreceipt), 1); @@ -720,6 +722,7 @@ class FormMail if ($type_template=='facture_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendInvoice"); } elseif ($type_template=='facture_relance') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendInvoiceReminder"); } elseif ($type_template=='propal_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendProposal"); } + elseif ($type_template=='askpricesupplier_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendAskPriceSupplier"); } elseif ($type_template=='order_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendOrder"); } elseif ($type_template=='order_supplier_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendSupplierOrder"); } elseif ($type_template=='invoice_supplier_send') { $defaultmessage=$outputlangs->transnoentities("PredefinedMailContentSendSupplierInvoice"); } diff --git a/htdocs/core/class/html.formmailing.class.php b/htdocs/core/class/html.formmailing.class.php index 98a76c84686..93fdac553a3 100644 --- a/htdocs/core/class/html.formmailing.class.php +++ b/htdocs/core/class/html.formmailing.class.php @@ -48,7 +48,7 @@ class FormMailing extends Form * * @param string $selectedid the selected id * @param string $htmlname name of controm - * @param number $show_empty show empty option + * @param integer $show_empty show empty option * @return string HTML select */ public function selectDestinariesStatus($selectedid='',$htmlname='dest_status', $show_empty=0) { diff --git a/htdocs/core/class/html.formorder.class.php b/htdocs/core/class/html.formorder.class.php index 5ea5b33c1f4..2abc0c38485 100644 --- a/htdocs/core/class/html.formorder.class.php +++ b/htdocs/core/class/html.formorder.class.php @@ -57,11 +57,11 @@ class FormOrder { print ''; if ($useempty) @@ -834,7 +834,7 @@ class FormOther * @param int $offset Offset * @param int $invert Invert * @param string $option Option - * @return void + * @return string */ function selectyear($selected='',$htmlname='yearid',$useempty=0, $min_year=10, $max_year=5, $offset=0, $invert=0, $option='') { diff --git a/htdocs/core/class/ldap.class.php b/htdocs/core/class/ldap.class.php index ca0cbab3925..2783c55ee03 100644 --- a/htdocs/core/class/ldap.class.php +++ b/htdocs/core/class/ldap.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2004 Rodolphe Quiedeville * Copyright (C) 2004 Benoit Mortier * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2006-2011 Laurent Destailleur + * Copyright (C) 2006-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 @@ -25,11 +25,12 @@ */ /** - * \class Ldap - * \brief Class to manage LDAP features + * Class to manage LDAP features */ class Ldap { + var $error; + /** * Tableau des serveurs (IP addresses ou nom d'hotes) */ @@ -78,7 +79,7 @@ class Ldap var $name; var $firstname; var $login; - var $phone; + var $phone; var $skype; var $fax; var $mail; @@ -414,9 +415,10 @@ class Ldap } else { - $this->error=@ldap_error($this->connection); - $this->errno=@ldap_errno($this->connection); - dol_syslog(get_class($this)."::add failed: ".$this->errno." ".$this->error, LOG_ERR); + $this->ldapErrorCode = @ldap_errno($this->connection); + $this->ldapErrorText = @ldap_error($this->connection); + $this->error=$this->ldapErrorCode." ".$this->ldapErrorText; + dol_syslog(get_class($this)."::add failed: ".$this->error, LOG_ERR); return -1; } } diff --git a/htdocs/core/class/menu.class.php b/htdocs/core/class/menu.class.php index 411158dea84..dff357d8f91 100644 --- a/htdocs/core/class/menu.class.php +++ b/htdocs/core/class/menu.class.php @@ -53,7 +53,7 @@ class Menu * * @param string $url Url to follow on click * @param string $titre Label of menu to add - * @param string $level Level of menu to add + * @param integer $level Level of menu to add * @param int $enabled Menu active or not (0=Not active, 1=Active, 2=Active but grey) * @param string $target Target lien * @param string $mainmenu Main menu ('home', 'companies', 'products', ...) @@ -71,7 +71,7 @@ class Menu * @param int $idafter Array key after which inserting new entry * @param string $url Url to follow on click * @param string $titre Label of menu to add - * @param string $level Level of menu to add + * @param integer $level Level of menu to add * @param int $enabled Menu active or not * @param string $target Target lien * @param string $mainmenu Main menu ('home', 'companies', 'products', ...) diff --git a/htdocs/core/class/mobiledetect.class.php b/htdocs/core/class/mobiledetect.class.php index 297058698aa..b04e0e98c91 100644 --- a/htdocs/core/class/mobiledetect.class.php +++ b/htdocs/core/class/mobiledetect.class.php @@ -687,7 +687,7 @@ class MobileDetect /** * Retrieve the User-Agent. * - * @return string|null The user agent if it's set. + * @return string The user agent if it's set. */ public function getUserAgent() { @@ -879,7 +879,7 @@ class MobileDetect * * @param string $name Name * @param array $arguments Arguments - * @return mixed + * @return null|boolean * * @throws BadMethodCallException when the method doesn't exist and doesn't start with 'is' * @method boolean is[...]() @@ -926,7 +926,7 @@ class MobileDetect * * @param string $key Key * @param string $userAgent deprecated - * @return mixed + * @return null|boolean */ protected function matchUAAgainstKey($key, $userAgent = null) { @@ -1009,7 +1009,7 @@ class MobileDetect * @param string $key key * @param string $userAgent deprecated * @param string $httpHeaders deprecated - * @return bool|int|null + * @return null|boolean * * @todo: The httpHeaders part is not yet used. */ diff --git a/htdocs/core/class/notify.class.php b/htdocs/core/class/notify.class.php index db88671f7ff..8d54d05a810 100644 --- a/htdocs/core/class/notify.class.php +++ b/htdocs/core/class/notify.class.php @@ -61,14 +61,15 @@ class Notify * * @param string $action Id of action in llx_c_action_trigger * @param int $socid Id of third party + * @param Object $object Object the notification is about * @return string Message */ - function confirmMessage($action,$socid) + function confirmMessage($action,$socid,$object) { global $langs; $langs->load("mails"); - $nb=$this->countDefinedNotifications($action,$socid); + $nb=$this->countDefinedNotifications($action,$socid,$object); if ($nb <= 0) $texte=img_object($langs->trans("Notifications"),'email').' '.$langs->trans("NoNotificationsWillBeSent"); if ($nb == 1) $texte=img_object($langs->trans("Notifications"),'email').' '.$langs->trans("ANotificationsWillBeSent"); if ($nb >= 2) $texte=img_object($langs->trans("Notifications"),'email').' '.$langs->trans("SomeNotificationsWillBeSent",$nb); @@ -76,22 +77,26 @@ class Notify } /** - * Return number of notifications activated for action code and third party + * Return number of notifications activated for action code (and third party) * - * @param string $action Code of action in llx_c_action_trigger (new usage) or Id of action in llx_c_action_trigger (old usage) - * @param int $socid Id of third party - * @return int <0 if KO, nb of notifications sent if OK + * @param string $notifcode Code of action in llx_c_action_trigger (new usage) or Id of action in llx_c_action_trigger (old usage) + * @param int $socid Id of third party or 0 for all thirdparties + * @param Object $object Object the notification is about + * @return int <0 if KO, nb of notifications sent if OK */ - function countDefinedNotifications($action,$socid) + function countDefinedNotifications($notifcode,$socid,$object=null) { global $conf; $error=0; $num=0; + $valueforthreshold = 0; + if (is_object($object)) $valueforthreshold = $object->total_ht; + if (! $error) { - $sql = "SELECT n.rowid"; + $sql = "SELECT COUNT(n.rowid) as nb"; $sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n,"; $sql.= " ".MAIN_DB_PREFIX."socpeople as c,"; $sql.= " ".MAIN_DB_PREFIX."c_action_trigger as a,"; @@ -99,36 +104,52 @@ class Notify $sql.= " WHERE n.fk_contact = c.rowid"; $sql.= " AND a.rowid = n.fk_action"; $sql.= " AND n.fk_soc = s.rowid"; - if (is_numeric($action)) $sql.= " AND n.fk_action = ".$action; // Old usage - else $sql.= " AND a.code = '".$action."'"; // New usage + if ($notifcode) + { + if (is_numeric($notifcode)) $sql.= " AND n.fk_action = ".$notifcode; // Old usage + else $sql.= " AND a.code = '".$notifcode."'"; // New usage + } $sql.= " AND s.entity IN (".getEntity('societe', 1).")"; - $sql.= " AND s.rowid = ".$socid; + if ($socid > 0) $sql.= " AND s.rowid = ".$socid; - dol_syslog(get_class($this)."::countDefinedNotifications ".$action.", ".$socid."", LOG_DEBUG); + dol_syslog(get_class($this)."::countDefinedNotifications ".$notifcode.", ".$socid."", LOG_DEBUG); $resql = $this->db->query($sql); if ($resql) { - $num = $this->db->num_rows($resql); + $obj = $this->db->fetch_object($resql); + if ($obj) $num = $obj->nb; } else { $error++; - $this->error=$this->db->error.' sql='.$sql; + $this->error=$this->db->lasterror(); } } if (! $error) { + // List of notifications enabled for fixed email foreach($conf->global as $key => $val) { - if (! preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$action.'/', $key, $reg)) continue; - $num++; + if ($notifcode) + { + if ($val == '' || ! preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifcode.'_THRESHOLD_HIGHER_(.*)$/', $key, $reg)) continue; + } + else + { + if ($val == '' || ! preg_match('/^NOTIFICATION_FIXEDEMAIL_.*_THRESHOLD_HIGHER_(.*)$/', $key, $reg)) continue; + } + + $threshold = (float) $reg[1]; + if ($valueforthreshold < $threshold) continue; + + $tmpemail=explode(',',$val); + $num+=count($tmpemail); } } - // TODO return array with list of email instead of number, + type of notification (contacts or fixed email) if ($error) return -1; return $num; } @@ -137,17 +158,17 @@ class Notify * Check if notification are active for couple action/company. * If yes, send mail and save trace into llx_notify. * - * @param string $action Code of action in llx_c_action_trigger (new usage) or Id of action in llx_c_action_trigger (old usage) - * @param Object $object Object the notification deals on - * @return int <0 if KO, or number of changes if OK + * @param string $notifcode Code of action in llx_c_action_trigger (new usage) or Id of action in llx_c_action_trigger (old usage) + * @param Object $object Object the notification deals on + * @return int <0 if KO, or number of changes if OK */ - function send($action, $object) + function send($notifcode, $object) { - global $conf,$langs,$mysoc,$dolibarr_main_url_root; + global $user,$conf,$langs,$mysoc,$dolibarr_main_url_root; include_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; - dol_syslog(get_class($this)."::send action=".$action.", object=".$object->id); + dol_syslog(get_class($this)."::send notifcode=".$notifcode.", object=".$object->id); $langs->load("other"); @@ -166,7 +187,20 @@ class Notify $link = ''; $num = 0; - if (! in_array($action, array('BILL_VALIDATE', 'ORDER_VALIDATE', 'PROPAL_VALIDATE', 'FICHINTER_VALIDATE', 'ORDER_SUPPLIER_APPROVE', 'ORDER_SUPPLIER_REFUSE', 'SHIPPING_VALIDATE'))) + if (! in_array( + $notifcode, + array( + 'BILL_VALIDATE', + 'ORDER_VALIDATE', + 'PROPAL_VALIDATE', + 'FICHINTER_VALIDATE', + 'ORDER_SUPPLIER_VALIDATE', + 'ORDER_SUPPLIER_APPROVE', + 'ORDER_SUPPLIER_REFUSE', + 'SHIPPING_VALIDATE' + ) + ) + ) { return 0; } @@ -181,8 +215,8 @@ class Notify $sql.= " ".MAIN_DB_PREFIX."societe as s"; $sql.= " WHERE n.fk_contact = c.rowid AND a.rowid = n.fk_action"; $sql.= " AND n.fk_soc = s.rowid"; - if (is_numeric($action)) $sql.= " AND n.fk_action = ".$action; // Old usage - else $sql.= " AND a.code = '".$action."'"; // New usage + if (is_numeric($notifcode)) $sql.= " AND n.fk_action = ".$notifcode; // Old usage + else $sql.= " AND a.code = '".$notifcode."'"; // New usage $sql .= " AND s.rowid = ".$object->socid; $result = $this->db->query($sql); @@ -197,8 +231,8 @@ class Notify { $obj = $this->db->fetch_object($result); - $sendto = $obj->firstname . " " . $obj->lastname . " <".$obj->email.">"; - $actiondefid = $obj->adid; + $sendto = dolGetFirstLastname($obj->firstname,$obj->lastname) . " <".$obj->email.">"; + $notifcodedefid = $obj->adid; if (dol_strlen($obj->email)) { @@ -210,7 +244,7 @@ class Notify $outputlangs->setDefaultLang($obj->default_lang); } - switch ($action) { + switch ($notifcode) { case 'BILL_VALIDATE': $link='/compta/facture.php?facid='.$object->id; $dir_output = $conf->facture->dir_output; @@ -235,6 +269,14 @@ class Notify $object_type = 'ficheinter'; $mesg = $langs->transnoentitiesnoconv("EMailTextInterventionValidated",$object->ref); break; + case 'ORDER_SUPPLIER_VALIDATE': + $link='/fourn/commande/card.php?id='.$object->id; + $dir_output = $conf->fournisseur->dir_output.'/commande/'; + $object_type = 'order_supplier'; + $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; + $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderValidatedBy",$object->ref,$user->getFullName($langs)); + $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; + break; case 'ORDER_SUPPLIER_APPROVE': $link='/fourn/commande/card.php?id='.$object->id; $dir_output = $conf->fournisseur->dir_output.'/commande/'; @@ -294,7 +336,7 @@ class Notify if ($mailfile->sendfile()) { $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)"; - $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", ".$obj->cid.", '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')"; + $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$notifcodedefid.", ".$object->socid.", ".$obj->cid.", '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($obj->email)."')"; if (! $this->db->query($sql)) { dol_print_error($this->db); @@ -328,113 +370,150 @@ class Notify // Check notification using fixed email if (! $error) { - $param='NOTIFICATION_FIXEDEMAIL_'.$action; - if (! empty($conf->global->$param)) - { - $sendto = $conf->global->$param; - $actiondefid = dol_getIdFromCode($this->db, $action, 'c_action_trigger', 'code', 'rowid'); - if ($actiondefid <= 0) dol_print_error($this->db, 'Failed to get id from code'); + foreach($conf->global as $key => $val) + { + if ($val == '' || ! preg_match('/^NOTIFICATION_FIXEDEMAIL_'.$notifcode.'_THRESHOLD_HIGHER_(.*)$/', $key, $reg)) continue; - $object_type = ''; + $threshold = (float) $reg[1]; + if ($object->total_ht <= $threshold) + { + dol_syslog("A notification is requested for notifcode = ".$notifcode." but amount = ".$object->total_ht." so lower than threshold = ".$threshold.". We discard this notification"); + continue; + } + + $param='NOTIFICATION_FIXEDEMAIL_'.$notifcode.'_THRESHOLD_HIGHER_'.$reg[1]; + + $sendto = $conf->global->$param; + $notifcodedefid = dol_getIdFromCode($this->db, $notifcode, 'c_action_trigger', 'code', 'rowid'); + if ($notifcodedefid <= 0) dol_print_error($this->db, 'Failed to get id from code'); + + $object_type = ''; $link = ''; - $num++; + $num++; - switch ($action) { - case 'BILL_VALIDATE': - $link='/compta/facture.php?facid='.$object->id; - $dir_output = $conf->facture->dir_output; - $object_type = 'facture'; - $mesg = $langs->transnoentitiesnoconv("EMailTextInvoiceValidated",$object->ref); - break; - case 'ORDER_VALIDATE': - $link='/commande/card.php?id='.$object->id; - $dir_output = $conf->commande->dir_output; - $object_type = 'order'; - $mesg = $langs->transnoentitiesnoconv("EMailTextOrderValidated",$object->ref); - break; - case 'PROPAL_VALIDATE': - $link='/comm/propal.php?id='.$object->id; - $dir_output = $conf->propal->dir_output; - $object_type = 'propal'; - $mesg = $langs->transnoentitiesnoconv("EMailTextProposalValidated",$object->ref); - break; - case 'FICHINTER_VALIDATE': - $link='/fichinter/card.php?id='.$object->id; - $dir_output = $conf->facture->dir_output; - $object_type = 'ficheinter'; - $mesg = $langs->transnoentitiesnoconv("EMailTextInterventionValidated",$object->ref); - break; - case 'ORDER_SUPPLIER_APPROVE': - $link='/fourn/commande/card.php?id='.$object->id; - $dir_output = $conf->fournisseur->dir_output.'/commande/'; - $object_type = 'order_supplier'; - $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; - $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderApprovedBy",$object->ref,$user->getFullName($langs)); - $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; - break; - case 'ORDER_SUPPLIER_REFUSE': - $link='/fourn/commande/card.php?id='.$object->id; - $dir_output = $conf->fournisseur->dir_output.'/commande/'; - $object_type = 'order_supplier'; - $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; - $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderRefusedBy",$object->ref,$user->getFullName($langs)); - $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; - break; - case 'SHIPPING_VALIDATE': - $dir_output = $conf->expedition->dir_output.'/sending/'; - $object_type = 'order_supplier'; - $mesg = $langs->transnoentitiesnoconv("EMailTextExpeditionValidated",$object->ref); - break; - } - $ref = dol_sanitizeFileName($object->ref); - $pdf_path = $dir_output."/".$ref."/".$ref.".pdf"; - if (! dol_is_file($pdf_path)) - { - // We can't add PDF as it is not generated yet. - $filepdf = ''; - } - else - { - $filepdf = $pdf_path; - } + switch ($notifcode) { + case 'BILL_VALIDATE': + $link='/compta/facture.php?facid='.$object->id; + $dir_output = $conf->facture->dir_output; + $object_type = 'facture'; + $mesg = $langs->transnoentitiesnoconv("EMailTextInvoiceValidated",$object->ref); + break; + case 'ORDER_VALIDATE': + $link='/commande/card.php?id='.$object->id; + $dir_output = $conf->commande->dir_output; + $object_type = 'order'; + $mesg = $langs->transnoentitiesnoconv("EMailTextOrderValidated",$object->ref); + break; + case 'PROPAL_VALIDATE': + $link='/comm/propal.php?id='.$object->id; + $dir_output = $conf->propal->dir_output; + $object_type = 'propal'; + $mesg = $langs->transnoentitiesnoconv("EMailTextProposalValidated",$object->ref); + break; + case 'FICHINTER_VALIDATE': + $link='/fichinter/card.php?id='.$object->id; + $dir_output = $conf->facture->dir_output; + $object_type = 'ficheinter'; + $mesg = $langs->transnoentitiesnoconv("EMailTextInterventionValidated",$object->ref); + break; + case 'ORDER_SUPPLIER_VALIDATE': + $link='/fourn/commande/card.php?id='.$object->id; + $dir_output = $conf->fournisseur->dir_output.'/commande/'; + $object_type = 'order_supplier'; + $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; + $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderValidatedBy",$object->ref,$user->getFullName($langs)); + $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; + break; + case 'ORDER_SUPPLIER_APPROVE': + $link='/fourn/commande/card.php?id='.$object->id; + $dir_output = $conf->fournisseur->dir_output.'/commande/'; + $object_type = 'order_supplier'; + $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; + $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderApprovedBy",$object->ref,$user->getFullName($langs)); + $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; + break; + case 'ORDER_SUPPLIER_REFUSE': + $link='/fourn/commande/card.php?id='.$object->id; + $dir_output = $conf->fournisseur->dir_output.'/commande/'; + $object_type = 'order_supplier'; + $mesg = $langs->transnoentitiesnoconv("Hello").",\n\n"; + $mesg.= $langs->transnoentitiesnoconv("EMailTextOrderRefusedBy",$object->ref,$user->getFullName($langs)); + $mesg.= "\n\n".$langs->transnoentitiesnoconv("Sincerely").".\n\n"; + break; + case 'SHIPPING_VALIDATE': + $dir_output = $conf->expedition->dir_output.'/sending/'; + $object_type = 'order_supplier'; + $mesg = $langs->transnoentitiesnoconv("EMailTextExpeditionValidated",$object->ref); + break; + } + $ref = dol_sanitizeFileName($object->ref); + $pdf_path = $dir_output."/".$ref."/".$ref.".pdf"; + if (! dol_is_file($pdf_path)) + { + // We can't add PDF as it is not generated yet. + $filepdf = ''; + } + else + { + $filepdf = $pdf_path; + } - $subject = '['.$application.'] '.$langs->transnoentitiesnoconv("DolibarrNotification"); + $subject = '['.$application.'] '.$langs->transnoentitiesnoconv("DolibarrNotification"); - $message = $langs->transnoentities("YouReceiveMailBecauseOfNotification",$application,$mysoc->name)."\n"; - $message.= $langs->transnoentities("YouReceiveMailBecauseOfNotification2",$application,$mysoc->name)."\n"; - $message.= "\n"; - $message.= $mesg; - if ($link) $message=dol_concatdesc($message,$urlwithroot.$link); + $message = $langs->transnoentities("YouReceiveMailBecauseOfNotification",$application,$mysoc->name)."\n"; + $message.= $langs->transnoentities("YouReceiveMailBecauseOfNotification2",$application,$mysoc->name)."\n"; + $message.= "\n"; + $message.= $mesg; + if ($link) $message=dol_concatdesc($message,$urlwithroot.$link); - $mailfile = new CMailFile( - $subject, - $sendto, - $replyto, - $message, - array($file), - array($mimefile), - array($filename[count($filename)-1]), - '', - '', - 0, - -1 - ); + // Replace keyword __SUPERVISOREMAIL__ + if (preg_match('/__SUPERVISOREMAIL__/', $sendto)) + { + $newval=''; + if ($user->fk_user > 0) + { + $supervisoruser=new User($this->db); + $supervisoruser->fetch($user->fk_user); + if ($supervisoruser->email) $newval=trim(dolGetFirstLastname($supervisoruser->firstname, $supervisoruser->lastname).' <'.$supervisoruser->email.'>'); + } + dol_syslog("Replace the __SUPERVISOREMAIL__ key into recipient email string with ".$newval); + $sendto = preg_replace('/__SUPERVISOREMAIL__/', $newval, $sendto); + $sendto = preg_replace('/^[\s,]+/','',$sendto); // Clean start of string + $sendto = preg_replace('/[\s,]+$/','',$sendto); // Clean end of string + } - if ($mailfile->sendfile()) - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)"; - $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$actiondefid.", ".$object->socid.", null, '".$obj->type."', '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')"; - if (! $this->db->query($sql)) - { - dol_print_error($this->db); - } - } - else - { - $error++; - $this->errors[]=$mailfile->error; - } - } + if ($sendto) + { + $mailfile = new CMailFile( + $subject, + $sendto, + $replyto, + $message, + array($file), + array($mimefile), + array($filename[count($filename)-1]), + '', + '', + 0, + -1 + ); + + if ($mailfile->sendfile()) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."notify (daten, fk_action, fk_soc, fk_contact, type, objet_type, objet_id, email)"; + $sql.= " VALUES ('".$this->db->idate(dol_now())."', ".$notifcodedefid.", ".$object->socid.", null, 'email', '".$object_type."', ".$object->id.", '".$this->db->escape($conf->global->$param)."')"; + if (! $this->db->query($sql)) + { + dol_print_error($this->db); + } + } + else + { + $error++; + $this->errors[]=$mailfile->error; + } + } + } } if (! $error) return $num; diff --git a/htdocs/core/class/openid.class.php b/htdocs/core/class/openid.class.php index a5e01998ecd..d46481a0c60 100644 --- a/htdocs/core/class/openid.class.php +++ b/htdocs/core/class/openid.class.php @@ -150,7 +150,7 @@ class SimpleOpenID /** * GetIdentity * - * @return void + * @return string */ function GetIdentity() { // Get Identity @@ -187,7 +187,7 @@ class SimpleOpenID /** * IsError * - * @return void + * @return boolean */ function IsError() { @@ -225,7 +225,7 @@ class SimpleOpenID * OpenID_Standarize * * @param string $openid_identity Server - * @return void + * @return string */ function OpenID_Standarize($openid_identity = null) { @@ -251,7 +251,7 @@ class SimpleOpenID * array2url * * @param array $arr An array - * @return boolean|string false if KO, string of url if OK + * @return false|string false if KO, string of url if OK */ function array2url($arr) { // converts associated array to URL Query String @@ -303,7 +303,7 @@ class SimpleOpenID * @param string $url URL * @param string $method Method * @param string $params Params - * @return boolean|unknown + * @return string */ function CURL_Request($url, $method="GET", $params = "") { // Remember, SSL MUST BE SUPPORTED @@ -384,7 +384,7 @@ class SimpleOpenID /** * GetRedirectURL * - * @return void + * @return string */ function GetRedirectURL() { @@ -428,7 +428,7 @@ class SimpleOpenID /** * ValidateWithServer * - * @return void + * @return boolean */ function ValidateWithServer() { diff --git a/htdocs/core/class/translate.class.php b/htdocs/core/class/translate.class.php index 7347b065a79..0e55da2769a 100644 --- a/htdocs/core/class/translate.class.php +++ b/htdocs/core/class/translate.class.php @@ -153,7 +153,7 @@ class Translate * If $domain is "file@module" instead of "file" then we look for module lang file * in htdocs/custom/modules/mymodule/langs/code_CODE/file.lang * then in htdocs/module/langs/code_CODE/file.lang instead of htdocs/langs/code_CODE/file.lang - * @param string $alt 0 (try xx_ZZ then 1), 1 (try xx_XX then 2), 2 (try en_US) + * @param integer $alt 0 (try xx_ZZ then 1), 1 (try xx_XX then 2), 2 (try en_US) * @param int $stopafterdirection Stop when the DIRECTION tag is found (optimize speed) * @param int $forcelangdir To force a different lang directory * @return int <0 if KO, 0 if already loaded or loading not required, >0 if OK @@ -548,7 +548,7 @@ class Translate * Return list of all available languages * * @param string $langdir Directory to scan - * @param string $maxlength Max length for each value in combo box (will be truncated) + * @param integer $maxlength Max length for each value in combo box (will be truncated) * @param int $usecode Show code instead of country name for language variant * @return array List of languages */ @@ -583,7 +583,7 @@ class Translate * Return if a filename $filename exists for current language (or alternate language) * * @param string $filename Language filename to search - * @param string $searchalt Search also alernate language file + * @param integer $searchalt Search also alernate language file * @return boolean true if exists and readable */ function file_exists($filename,$searchalt=0) @@ -720,7 +720,7 @@ class Translate * Return a currency code into its symbol * * @param string $currency_code Currency code - * @param string $forceloadall 1=Force to load all currencies into cache. We know we need to use all of them. By default read and cache only required currency. + * @param integer $forceloadall 1=Force to load all currencies into cache. We know we need to use all of them. By default read and cache only required currency. * @return string Currency symbol encoded into UTF8 */ function getCurrencySymbol($currency_code, $forceloadall=0) diff --git a/htdocs/core/class/WorkboardResponse.class.php b/htdocs/core/class/workboardresponse.class.php similarity index 94% rename from htdocs/core/class/WorkboardResponse.class.php rename to htdocs/core/class/workboardresponse.class.php index c36b50b421e..13de74281ff 100644 --- a/htdocs/core/class/WorkboardResponse.class.php +++ b/htdocs/core/class/workboardresponse.class.php @@ -49,8 +49,8 @@ class WorkboardResponse public $url_late; /** - * Delay time to mark an item as late - * @var int + * Delay time to mark an item as late. In number of days. + * @var double */ public $warning_delay; diff --git a/htdocs/core/datepicker.php b/htdocs/core/datepicker.php index c1918ed6247..eae723946f6 100644 --- a/htdocs/core/datepicker.php +++ b/htdocs/core/datepicker.php @@ -122,7 +122,7 @@ print ''."\n"; * Convert date to timestamp * * @param string $mysqldate Date YYYMMDD - * @return timestamp Timestamp + * @return integer Timestamp */ function xyzToUnixTimestamp($mysqldate) { diff --git a/htdocs/core/db/DoliDB.class.php b/htdocs/core/db/DoliDB.class.php index 67e3022d6e3..c7177475a34 100644 --- a/htdocs/core/db/DoliDB.class.php +++ b/htdocs/core/db/DoliDB.class.php @@ -1,6 +1,7 @@ + * 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 @@ -270,10 +271,11 @@ abstract class DoliDB implements Database * * @param string $string Date in a string (YYYYMMDDHHMMSS, YYYYMMDD, YYYY-MM-DD HH:MM:SS) * @param int $gm 1=Input informations are GMT values, otherwise local to server TZ - * @return timestamp|string Date TMS + * @return int|string Date TMS */ function jdate($string, $gm=false) { + if ($string==0 || $string=="0000-00-00 00:00:00") return ''; $string=preg_replace('/([^0-9])/i','',$string); $tmp=$string.'000000'; $date=dol_mktime(substr($tmp,8,2),substr($tmp,10,2),substr($tmp,12,2),substr($tmp,4,2),substr($tmp,6,2),substr($tmp,0,4),$gm); diff --git a/htdocs/core/db/mssql.class.php b/htdocs/core/db/mssql.class.php index e2d938da710..3523e21bdf0 100644 --- a/htdocs/core/db/mssql.class.php +++ b/htdocs/core/db/mssql.class.php @@ -237,10 +237,10 @@ class DoliDBMssql extends DoliDB $res=mssql_query('select @@TRANCOUNT'); $this->transaction_opened=mssql_result($res, 0, 0); - + if ($this->transaction_opened == 0) { - //return 1; //There is a mess with auto_commit and 'SET IMPLICIT_TRANSACTIONS ON' generate also a mess + //return 1; //There is a mess with auto_commit and 'SET IMPLICIT_TRANSACTIONS ON' generate also a mess $ret=mssql_query("SET IMPLICIT_TRANSACTIONS OFF;BEGIN TRANSACTION;",$this->db); if ($ret) { @@ -264,7 +264,7 @@ class DoliDBMssql extends DoliDB { $res=mssql_query('select @@TRANCOUNT'); $this->transaction_opened=mssql_result($res, 0, 0); - + if ($this->transaction_opened == 1) { //return 1; //There is a mess with auto_commit and 'SET IMPLICIT_TRANSACTION ON' generate also a mess @@ -296,7 +296,7 @@ class DoliDBMssql extends DoliDB { $res=mssql_query('select @@TRANCOUNT'); $this->transaction_opened=mssql_result($res, 0, 0); - + if ($this->transaction_opened == 1) { $ret=mssql_query("ROLLBACK TRANSACTION",$this->db); @@ -322,7 +322,7 @@ class DoliDBMssql extends DoliDB function query($query,$usesavepoint=0,$type='auto') { $query = trim($query); - + if (preg_match('/^--/',$query)) return true; // Conversion syntaxe MySql vers MSDE. @@ -331,7 +331,7 @@ class DoliDBMssql extends DoliDB $query = str_ireplace(", tms = tms", "", $query); $query=preg_replace("/([. ,\t(])(percent|file|public)([. ,=\t)])/","$1[$2]$3",$query); - + if ($type=="auto" || $type='dml') { $query=preg_replace('/AUTO_INCREMENT/i','IDENTITY',$query); @@ -339,7 +339,7 @@ class DoliDBMssql extends DoliDB $query=preg_replace('/float\((.*)\)/','numeric($1)',$query); $query=preg_replace('/([ \t])unsigned|IF NOT EXISTS[ \t]/i','$1',$query); $query=preg_replace('/([ \t])(MEDIUM|TINY|LONG){0,1}TEXT([ \t,])/i',"$1VARCHAR(MAX)$3",$query); - + $matches=array(); $original_query=''; if (preg_match('/ALTER TABLE\h+(\w+?)\h+ADD\h+(?:(UNIQUE)|INDEX)\h+(?:INDEX)?\h*(\w+?)\h*\((.+)\)/is', $query,$matches)) @@ -360,7 +360,7 @@ class DoliDBMssql extends DoliDB if ($query_comp) $query.=" WHERE ".implode(" AND ",$query_comp); } - } + } else { if (preg_match('/ALTER TABLE\h+(\w+?)\h+ADD\h+PRIMARY\h+KEY\h+(\w+?)\h*\((.+)\)/is', $query, $matches)) @@ -369,7 +369,7 @@ class DoliDBMssql extends DoliDB $query="ALTER TABLE [".$matches[1]."] ADD CONSTRAINT [".$matches[2]."] PRIMARY KEY CLUSTERED (".$matches[3].")"; } } - + } if ($type=="auto" || $type='ddl') @@ -384,13 +384,13 @@ class DoliDBMssql extends DoliDB // Supprimer l'instruction MySql $query = str_ireplace(" limit ".$number, "", $query); } - + $itemfound = stripos($query, " week("); if ($itemfound !== false) { // Recreer une requete sans instruction Mysql $positionMySql = stripos($query, " week("); $newquery = substr($query, 0, $positionMySql); - + // Recuperer la date passee en parametre $extractvalue = stristr($query, " week("); $extractvalue = substr($extractvalue, 6); @@ -398,7 +398,7 @@ class DoliDBMssql extends DoliDB // Conserver la fin de la requete $endofquery = substr($extractvalue, $positionMySql); $extractvalue = substr($extractvalue, 0, $positionMySql); - + // Remplacer l'instruction MySql en Sql Server // Inserer la date en parametre et le reste de la requete $query = $newquery." DATEPART(week, ".$extractvalue.$endofquery; @@ -407,11 +407,11 @@ class DoliDBMssql extends DoliDB { //var_dump($query); //var_dump($matches); - if (stripos($query,'llx_c_departements') !== false) var_dump($query); + //if (stripos($query,'llx_c_departements') !== false) var_dump($query); $sql='SET IDENTITY_INSERT ['.trim($matches[1]).'] ON;'; @mssql_query($sql, $this->db); $post_query='SET IDENTITY_INSERT ['.trim($matches[1]).'] OFF;'; - + } } //print ""; @@ -427,7 +427,7 @@ class DoliDBMssql extends DoliDB { $ret = mssql_query($query, $this->db); } - + if (!empty($post_query)) { @mssql_query($post_query, $this->db); @@ -732,13 +732,13 @@ class DoliDBMssql extends DoliDB //TODO: Check if we need to force a charset //$sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; $ret=$this->query($sql); - + $this->select_db($database); $sql="CREATE USER [$owner] FOR LOGIN [$owner]"; mssql_query($sql,$this->db); $sql="ALTER ROLE [db_owner] ADD MEMBER [$owner]"; mssql_query($sql,$this->db); - + $sql="ALTER DATABASE [$database] SET ANSI_NULL_DEFAULT ON;"; @mssql_query($sql,$this->db); $sql="ALTER DATABASE [$database] SET ANSI_NULL ON;"; @@ -976,12 +976,12 @@ class DoliDBMssql extends DoliDB } $sql="SELECT name from sys.databases where name='".$dolibarr_main_db_name."'"; $ressql=$this->query($sql); - if (! $ressql) + if (! $ressql) { dol_syslog(get_class($this)."::DDLCreateUser sql=".$sql, LOG_WARNING); return -1; - } - else + } + else { if ($num) { @@ -1106,7 +1106,7 @@ class DoliDBMssql extends DoliDB return array(); } - + /** * Escape a field name according to escape's syntax * @@ -1116,18 +1116,18 @@ class DoliDBMssql extends DoliDB function EscapeFieldName($fieldname) { return "[".$fieldname."]"; } - - + + /** * Get information on field - * + * * @param string $table Table name which contains fields * @param mixed $fields String for one field or array of string for multiple field * @return boolean|multitype:object */ function GetFieldInformation($table,$fields) { $sql="SELECT * from INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='".$this->escape($table)."' AND COLUMN_NAME"; - if (is_array($fields)) + if (is_array($fields)) { $where=" IN ('".implode("','",$fields)."')"; } @@ -1144,7 +1144,7 @@ class DoliDBMssql extends DoliDB $result[]=$obj; } } - else + else return false; return $result; diff --git a/htdocs/core/db/mysql.class.php b/htdocs/core/db/mysql.class.php index bd3e77f37d5..64efc837bcd 100644 --- a/htdocs/core/db/mysql.class.php +++ b/htdocs/core/db/mysql.class.php @@ -183,7 +183,7 @@ class DoliDBMysql extends DoliDB * @param string $login login * @param string $passwd password * @param string $name name of database (not used for mysql, used for pgsql) - * @param string $port Port of database server + * @param integer $port Port of database server * @return resource Database access handler * @see close */ @@ -314,7 +314,7 @@ class DoliDBMysql extends DoliDB /** * Return datas as an array * - * @param Resultset $resultset Resultset of request + * @param resource $resultset Resultset of request * @return array Array */ function fetch_row($resultset) diff --git a/htdocs/core/db/mysqli.class.php b/htdocs/core/db/mysqli.class.php index cd692db677c..1126f6c8a57 100644 --- a/htdocs/core/db/mysqli.class.php +++ b/htdocs/core/db/mysqli.class.php @@ -186,7 +186,7 @@ class DoliDBMysqli extends DoliDB * @param string $login login * @param string $passwd password * @param string $name name of database (not used for mysql, used for pgsql) - * @param string $port Port of database server + * @param integer $port Port of database server * @return resource Database access handler * @see close */ @@ -317,7 +317,7 @@ class DoliDBMysqli extends DoliDB /** * Return datas as an array * - * @param Resultset $resultset Resultset of request + * @param resource $resultset Resultset of request * @return array Array */ function fetch_row($resultset) @@ -716,7 +716,7 @@ class DoliDBMysqli extends DoliDB * * @param string $table Name of table * @param string $field Optionnel : Name of field if we want description of field - * @return resultset Resultset x (x->Field, x->Type, ...) + * @return resource Resultset x (x->Field, x->Type, ...) */ function DDLDescTable($table,$field="") { diff --git a/htdocs/core/db/pgsql.class.php b/htdocs/core/db/pgsql.class.php index 94a2e5fa975..285bdc2cdef 100644 --- a/htdocs/core/db/pgsql.class.php +++ b/htdocs/core/db/pgsql.class.php @@ -368,7 +368,7 @@ class DoliDBPgsql extends DoliDB * @param string $login Login * @param string $passwd Password * @param string $name Name of database (not used for mysql, used for pgsql) - * @param string $port Port of database server + * @param integer $port Port of database server * @return resource Database access handler * @see close */ @@ -546,7 +546,7 @@ class DoliDBPgsql extends DoliDB /** * Return datas as an array * - * @param Resultset $resultset Resultset of request + * @param resource $resultset Resultset of request * @return array Array */ function fetch_array($resultset) @@ -559,7 +559,7 @@ class DoliDBPgsql extends DoliDB /** * Return datas as an array * - * @param Resultset $resultset Resultset of request + * @param resource $resultset Resultset of request * @return array Array */ function fetch_row($resultset) @@ -771,7 +771,7 @@ class DoliDBPgsql extends DoliDB * * @param string $fieldorvalue Field name or value to encrypt * @param int $withQuotes Return string with quotes - * @return return XXX(field) or XXX('value') or field or 'value' + * @return string XXX(field) or XXX('value') or field or 'value' */ function encrypt($fieldorvalue, $withQuotes=0) { @@ -1010,7 +1010,7 @@ class DoliDBPgsql extends DoliDB * * @param string $table Name of table * @param string $field Optionnel : Name of field if we want description of field - * @return resultset Resultset x (x->attname) + * @return resource Resultset x (x->attname) */ function DDLDescTable($table,$field="") { diff --git a/htdocs/core/db/sqlite.class.php b/htdocs/core/db/sqlite.class.php index b16114a773f..88efde86394 100644 --- a/htdocs/core/db/sqlite.class.php +++ b/htdocs/core/db/sqlite.class.php @@ -50,6 +50,7 @@ class DoliDBSqlite extends DoliDB * @param string $pass Mot de passe * @param string $name Nom de la database * @param int $port Port of database server + * @return int 1 if OK, 0 if not */ function __construct($type, $host, $user, $pass, $name='', $port=0) { diff --git a/htdocs/core/db/sqlite3.class.php b/htdocs/core/db/sqlite3.class.php new file mode 100644 index 00000000000..973a6147bdd --- /dev/null +++ b/htdocs/core/db/sqlite3.class.php @@ -0,0 +1,1535 @@ + + * Copyright (C) 2002-2005 Rodolphe Quiedeville + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2006 Andre Cianfarani + * Copyright (C) 2005-2009 Regis Houssin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/core/db/sqlite.class.php + * \brief Class file to manage Dolibarr database access for a Sqlite database + */ + +require_once DOL_DOCUMENT_ROOT .'/core/db/DoliDB.class.php'; + +/** + * Class to manage Dolibarr database access for a Sqlite database + */ +class DoliDBSqlite3 extends DoliDB +{ + //! Database type + public $type='sqlite3'; + //! Database label + const LABEL='Sqlite3'; + //! Version min database + const VERSIONMIN='3.0.0'; + //! Resultset of last query + private $_results; + + const WEEK_MONDAY_FIRST=1; + const WEEK_YEAR = 2; + const WEEK_FIRST_WEEKDAY=4; + + + /** + * Constructor. + * This create an opened connexion to a database server and eventually to a database + * + * @param string $type Type of database (mysql, pgsql...) + * @param string $host Address of database server + * @param string $user Nom de l'utilisateur autorise + * @param string $pass Mot de passe + * @param string $name Nom de la database + * @param int $port Port of database server + */ + function __construct($type, $host, $user, $pass, $name='', $port=0) + { + global $conf,$langs; + + // Note that having "static" property for "$forcecharset" and "$forcecollate" will make error here in strict mode, so they are not static + if (! empty($conf->db->character_set)) $this->forcecharset=$conf->db->character_set; + if (! empty($conf->db->dolibarr_main_db_collation)) $this->forcecollate=$conf->db->dolibarr_main_db_collation; + + $this->database_user=$user; + $this->database_host=$host; + $this->database_port=$port; + + $this->transaction_opened=0; + + //print "Name DB: $host,$user,$pass,$name
"; + + /*if (! function_exists("sqlite_query")) + { + $this->connected = 0; + $this->ok = 0; + $this->error="Sqlite PHP functions for using Sqlite driver are not available in this version of PHP. Try to use another driver."; + dol_syslog(get_class($this)."::DoliDBSqlite3 : Sqlite PHP functions for using Sqlite driver are not available in this version of PHP. Try to use another driver.",LOG_ERR); + return $this->ok; + }*/ + + /*if (! $host) + { + $this->connected = 0; + $this->ok = 0; + $this->error=$langs->trans("ErrorWrongHostParameter"); + dol_syslog(get_class($this)."::DoliDBSqlite3 : Erreur Connect, wrong host parameters",LOG_ERR); + return $this->ok; + }*/ + + // Essai connexion serveur + // We do not try to connect to database, only to server. Connect to database is done later in constrcutor + $this->db = $this->connect($host, $user, $pass, $name, $port); + + if ($this->db) + { + $this->connected = 1; + $this->ok = 1; + $this->database_selected = 1; + $this->database_name = $name; + + $this->addCustomFunction('IF'); + $this->addCustomFunction('MONTH'); + $this->addCustomFunction('CURTIME'); + $this->addCustomFunction('CURDATE'); + $this->addCustomFunction('WEEK', 1); + $this->addCustomFunction('WEEK', 2); + $this->addCustomFunction('WEEKDAY'); + $this->addCustomFunction('date_format'); + //$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } + else + { + // host, login ou password incorrect + $this->connected = 0; + $this->ok = 0; + $this->database_selected = 0; + $this->database_name = ''; + //$this->error=sqlite_connect_error(); + dol_syslog(get_class($this)."::DoliDBSqlite3 : Error Connect ".$this->error,LOG_ERR); + } + + return $this->ok; + } + + + /** + * Convert a SQL request in Mysql syntax to native syntax + * + * @param string $line SQL request line to convert + * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @return string SQL request line converted + */ + static function convertSQLFromMysql($line,$type='ddl') + { + // Removed empty line if this is a comment line for SVN tagging + if (preg_match('/^--\s\$Id/i',$line)) { + return ''; + } + // Return line if this is a comment + if (preg_match('/^#/i',$line) || preg_match('/^$/i',$line) || preg_match('/^--/i',$line)) + { + return $line; + } + if ($line != "") + { + if ($type == 'auto') + { + if (preg_match('/ALTER TABLE/i',$line)) $type='dml'; + else if (preg_match('/CREATE TABLE/i',$line)) $type='dml'; + else if (preg_match('/DROP TABLE/i',$line)) $type='dml'; + } + + if ($type == 'dml') + { + $line=preg_replace('/\s/',' ',$line); // Replace tabulation with space + + // we are inside create table statement so lets process datatypes + if (preg_match('/(ISAM|innodb)/i',$line)) { // end of create table sequence + $line=preg_replace('/\)[\s\t]*type[\s\t]*=[\s\t]*(MyISAM|innodb);/i',');',$line); + $line=preg_replace('/\)[\s\t]*engine[\s\t]*=[\s\t]*(MyISAM|innodb);/i',');',$line); + $line=preg_replace('/,$/','',$line); + } + + // Process case: "CREATE TABLE llx_mytable(rowid integer NOT NULL AUTO_INCREMENT PRIMARY KEY,code..." + if (preg_match('/[\s\t\(]*(\w*)[\s\t]+int.*auto_increment/i',$line,$reg)) { + $newline=preg_replace('/([\s\t\(]*)([a-zA-Z_0-9]*)[\s\t]+int.*auto_increment[^,]*/i','\\1 \\2 integer PRIMARY KEY AUTOINCREMENT',$line); + //$line = "-- ".$line." replaced by --\n".$newline; + $line=$newline; + } + + // tinyint type conversion + $line=str_replace('tinyint','smallint',$line); + + // nuke unsigned + $line=preg_replace('/(int\w+|smallint)\s+unsigned/i','\\1',$line); + + // blob -> text + $line=preg_replace('/\w*blob/i','text',$line); + + // tinytext/mediumtext -> text + $line=preg_replace('/tinytext/i','text',$line); + $line=preg_replace('/mediumtext/i','text',$line); + + // change not null datetime field to null valid ones + // (to support remapping of "zero time" to null + $line=preg_replace('/datetime not null/i','datetime',$line); + $line=preg_replace('/datetime/i','timestamp',$line); + + // double -> numeric + $line=preg_replace('/^double/i','numeric',$line); + $line=preg_replace('/(\s*)double/i','\\1numeric',$line); + // float -> numeric + $line=preg_replace('/^float/i','numeric',$line); + $line=preg_replace('/(\s*)float/i','\\1numeric',$line); + + // unique index(field1,field2) + if (preg_match('/unique index\s*\((\w+\s*,\s*\w+)\)/i',$line)) + { + $line=preg_replace('/unique index\s*\((\w+\s*,\s*\w+)\)/i','UNIQUE\(\\1\)',$line); + } + + // We remove end of requests "AFTER fieldxxx" + $line=preg_replace('/AFTER [a-z0-9_]+/i','',$line); + + // We remove start of requests "ALTER TABLE tablexxx" if this is a DROP INDEX + $line=preg_replace('/ALTER TABLE [a-z0-9_]+ DROP INDEX/i','DROP INDEX',$line); + + // Translate order to rename fields + if (preg_match('/ALTER TABLE ([a-z0-9_]+) CHANGE(?: COLUMN)? ([a-z0-9_]+) ([a-z0-9_]+)(.*)$/i',$line,$reg)) + { + $line = "-- ".$line." replaced by --\n"; + $line.= "ALTER TABLE ".$reg[1]." RENAME COLUMN ".$reg[2]." TO ".$reg[3]; + } + + // Translate order to modify field format + if (preg_match('/ALTER TABLE ([a-z0-9_]+) MODIFY(?: COLUMN)? ([a-z0-9_]+) (.*)$/i',$line,$reg)) + { + $line = "-- ".$line." replaced by --\n"; + $newreg3=$reg[3]; + $newreg3=preg_replace('/ DEFAULT NULL/i','',$newreg3); + $newreg3=preg_replace('/ NOT NULL/i','',$newreg3); + $newreg3=preg_replace('/ NULL/i','',$newreg3); + $newreg3=preg_replace('/ DEFAULT 0/i','',$newreg3); + $newreg3=preg_replace('/ DEFAULT \'[0-9a-zA-Z_@]*\'/i','',$newreg3); + $line.= "ALTER TABLE ".$reg[1]." ALTER COLUMN ".$reg[2]." TYPE ".$newreg3; + // TODO Add alter to set default value or null/not null if there is this in $reg[3] + } + + // alter table add primary key (field1, field2 ...) -> We create a unique index instead as dynamic creation of primary key is not supported + // ALTER TABLE llx_dolibarr_modules ADD PRIMARY KEY pk_dolibarr_modules (numero, entity); + if (preg_match('/ALTER\s+TABLE\s*(.*)\s*ADD\s+PRIMARY\s+KEY\s*(.*)\s*\((.*)$/i',$line,$reg)) + { + $line = "-- ".$line." replaced by --\n"; + $line.= "CREATE UNIQUE INDEX ".$reg[2]." ON ".$reg[1]."(".$reg[3]; + } + + // Translate order to drop foreign keys + // ALTER TABLE llx_dolibarr_modules DROP FOREIGN KEY fk_xxx; + if (preg_match('/ALTER\s+TABLE\s*(.*)\s*DROP\s+FOREIGN\s+KEY\s*(.*)$/i',$line,$reg)) + { + $line = "-- ".$line." replaced by --\n"; + $line.= "ALTER TABLE ".$reg[1]." DROP CONSTRAINT ".$reg[2]; + } + + // alter table add [unique] [index] (field1, field2 ...) + // ALTER TABLE llx_accountingaccount ADD INDEX idx_accountingaccount_fk_pcg_version (fk_pcg_version) + if (preg_match('/ALTER\s+TABLE\s*(.*)\s*ADD\s+(UNIQUE INDEX|INDEX|UNIQUE)\s+(.*)\s*\(([\w,\s]+)\)/i',$line,$reg)) + { + $fieldlist=$reg[4]; + $idxname=$reg[3]; + $tablename=$reg[1]; + $line = "-- ".$line." replaced by --\n"; + $line.= "CREATE ".(preg_match('/UNIQUE/',$reg[2])?'UNIQUE ':'')."INDEX ".$idxname." ON ".$tablename." (".$fieldlist.")"; + } + if (preg_match('/ALTER\s+TABLE\s*(.*)\s*ADD\s+CONSTRAINT\s+(.*)\s*FOREIGN\s+KEY\s*\(([\w,\s]+)\)\s*REFERENCES\s+(\w+)\s*\(([\w,\s]+)\)/i',$line, $reg)) { + // Pour l'instant les contraintes ne sont pas crƩƩes + dol_syslog(get_class().'::query line emptied'); + $line = 'SELECT 0;'; + + } + + //if (preg_match('/rowid\s+.*\s+PRIMARY\s+KEY,/i', $line)) { + //preg_replace('/(rowid\s+.*\s+PRIMARY\s+KEY\s*,)/i', '/* \\1 */', $line); + //} + } + + // Delete using criteria on other table must not declare twice the deleted table + // DELETE FROM tabletodelete USING tabletodelete, othertable -> DELETE FROM tabletodelete USING othertable + if (preg_match('/DELETE FROM ([a-z_]+) USING ([a-z_]+), ([a-z_]+)/i',$line,$reg)) + { + if ($reg[1] == $reg[2]) // If same table, we remove second one + { + $line=preg_replace('/DELETE FROM ([a-z_]+) USING ([a-z_]+), ([a-z_]+)/i','DELETE FROM \\1 USING \\3', $line); + } + } + + // Remove () in the tables in FROM if one table + $line=preg_replace('/FROM\s*\((([a-z_]+)\s+as\s+([a-z_]+)\s*)\)/i','FROM \\1',$line); + //print $line."\n"; + + // Remove () in the tables in FROM if two table + $line=preg_replace('/FROM\s*\(([a-z_]+\s+as\s+[a-z_]+)\s*,\s*([a-z_]+\s+as\s+[a-z_]+\s*)\)/i','FROM \\1, \\2',$line); + //print $line."\n"; + + // Remove () in the tables in FROM if two table + $line=preg_replace('/FROM\s*\(([a-z_]+\s+as\s+[a-z_]+)\s*,\s*([a-z_]+\s+as\s+[a-z_]+\s*),\s*([a-z_]+\s+as\s+[a-z_]+\s*)\)/i','FROM \\1, \\2, \\3',$line); + //print $line."\n"; + + //print "type=".$type." newline=".$line."
\n"; + } + + return $line; + } + + /** + * Select a database + * + * @param string $database Name of database + * @return boolean true if OK, false if KO + */ + function select_db($database) + { + dol_syslog(get_class($this)."::select_db database=".$database, LOG_DEBUG); + return sqlite_select_db($this->db,$database); + } + + + /** + * Connexion to server + * + * @param string $host database server host + * @param string $login login + * @param string $passwd password + * @param string $name name of database (not used for mysql, used for pgsql) + * @param integer $port Port of database server + * @return resource Database access handler + * @see close + */ + function connect($host, $login, $passwd, $name, $port=0) + { + global $conf,$main_data_dir; + + dol_syslog(get_class($this)."::connect name=".$name,LOG_DEBUG); + + $dir=$main_data_dir; + if (empty($dir)) $dir=DOL_DATA_ROOT; + // With sqlite, port must be in connect parameters + //if (! $newport) $newport=3306; + $database_name = $dir.'/database_'.$name.'.sdb'; + try { + /*** connect to SQLite database ***/ + //$this->db = new PDO("sqlite:".$dir.'/database_'.$name.'.sdb'); + $this->db = new SQLite3($database_name); + //$this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } + catch(Exception $e) + { + $this->error= self::LABEL.' '.$e->getMessage().' current dir='.$database_name; + return ''; + } + + //print "Resultat fonction connect: ".$this->db; + return $this->db; + } + + + /** + * Return version of database server + * + * @return string Version string + */ + function getVersion() + { + $tmp=$this->db->version(); + return $tmp['versionString']; + } + + /** + * Return version of database client driver + * + * @return string Version string + */ + function getDriverInfo() + { + // FIXME: Dummy method + // TODO: Implement + + return ''; + } + + + /** + * Close database connexion + * + * @return boolean True if disconnect successfull, false otherwise + * @see connect + */ + function close() + { + if ($this->db) + { + if ($this->transaction_opened > 0) dol_syslog(get_class($this)."::close Closing a connection with an opened transaction depth=".$this->transaction_opened,LOG_ERR); + $this->connected=0; + $this->db->close(); + $this->db=null; // Clean this->db + return true; + } + return false; + } + + /** + * Execute a SQL request and return the resultset + * + * @param string $query SQL query string + * @param int $usesavepoint 0=Default mode, 1=Run a savepoint before and a rollbock to savepoint if error (this allow to have some request with errors inside global transactions). + * Note that with Mysql, this parameter is not used as Myssql can already commit a transaction even if one request is in error, without using savepoints. + * @param string $type Type of SQL order ('ddl' for insert, update, select, delete or 'dml' for create, alter...) + * @return resource Resultset of answer + */ + function query($query,$usesavepoint=0,$type='auto') + { + $errmsg=''; + + $ret=''; + $query = trim($query); + $this->error = 0; + + // Convert MySQL syntax to SQLite syntax + if (preg_match('/ALTER\s+TABLE\s*(.*)\s*ADD\s+CONSTRAINT\s+(.*)\s*FOREIGN\s+KEY\s*\(([\w,\s]+)\)\s*REFERENCES\s+(\w+)\s*\(([\w,\s]+)\)/i',$query, $reg)) { + // Ajout d'une clef étrangère à la table + // procédure de remplacement de la table pour ajouter la contrainte + // Exemple : ALTER TABLE llx_adherent ADD CONSTRAINT adherent_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid) + // -> CREATE TABLE ( ... ,CONSTRAINT adherent_fk_soc FOREIGN KEY (fk_soc) REFERENCES llx_societe (rowid)) + $foreignFields = $reg[5]; + $foreignTable = $reg[4]; + $localfields = $reg[3]; + $constraintname=trim($reg[2]); + $tablename=trim($reg[1]); + + $descTable = $this->db->querySingle("SELECT sql FROM sqlite_master WHERE name='" . $tablename . "'"); + + // 1- Renommer la table avec un nom temporaire + $this->query('ALTER TABLE ' . $tablename . ' RENAME TO tmp_' . $tablename); + + // 2- Recréer la table avec la contrainte ajoutée + + // on bricole la requete pour ajouter la contrainte + $descTable = substr($descTable, 0, strlen($descTable) - 1); + $descTable .= ", CONSTRAINT " . $constraintname . " FOREIGN KEY (" . $localfields . ") REFERENCES " .$foreignTable . "(" . $foreignFields . ")"; + + // fermeture de l'instruction + $descTable .= ')'; + + // Création proprement dite de la table + $this->query($descTable); + + // 3- Transférer les données + $this->query('INSERT INTO ' . $tablename . ' SELECT * FROM tmp_' . $tablename); + + // 4- Supprimer la table temporaire + $this->query('DROP TABLE tmp_' . $tablename); + + // dummy statement + $query="SELECT 0"; + + } else { + $query=$this->convertSQLFromMysql($query,$type); + } + //print "After convertSQLFromMysql:\n".$query."
\n"; + + dol_syslog('sql='.$query, LOG_DEBUG); + + // Ordre SQL ne necessitant pas de connexion a une base (exemple: CREATE DATABASE) + try { + //$ret = $this->db->exec($query); + $ret = $this->db->query($query); // $ret is a Sqlite3Result + if ($ret) { + $ret->queryString = $query; + } + } + catch(Exception $e) + { + $this->error=$this->db->lastErrorMsg(); + } + + if (! preg_match("/^COMMIT/i",$query) && ! preg_match("/^ROLLBACK/i",$query)) + { + // Si requete utilisateur, on la sauvegarde ainsi que son resultset + if (! is_object($ret) || $this->error) + { + $this->lastqueryerror = $query; + $this->lasterror = $this->error(); + $this->lasterrno = $this->errno(); + + dol_syslog(get_class($this)."::query SQL Error query: ".$query, LOG_ERR); + + $errormsg = get_class($this)."::query SQL Error message: ".$this->lasterror; + + if (preg_match('/[0-9]/',$this->lasterrno)) { + $errormsg .= ' ('.$this->lasterrno.')'; + } + + dol_syslog($errormsg, LOG_ERR); + } + $this->lastquery=$query; + $this->_results = $ret; + } + + return $ret; + } + + /** + * Renvoie la ligne courante (comme un objet) pour le curseur resultset + * + * @param Resultset $resultset Curseur de la requete voulue + * @return Object Object result line or false if KO or end of cursor + */ + function fetch_object($resultset) + { + // Si le resultset n'est pas fourni, on prend le dernier utilise sur cette connexion + if (! is_object($resultset)) { $resultset=$this->_results; } + //return $resultset->fetch(PDO::FETCH_OBJ); + $ret = $resultset->fetchArray(SQLITE3_ASSOC); + if ($ret) { + return (object) $ret; + } + } + + + /** + * Return datas as an array + * + * @param Resultset $resultset Resultset of request + * @return array Array + */ + function fetch_array($resultset) + { + // If resultset not provided, we take the last used by connexion + if (! is_object($resultset)) { $resultset=$this->_results; } + //return $resultset->fetch(PDO::FETCH_ASSOC); + $ret = $resultset->fetchArray(SQLITE3_ASSOC); + if ($ret) { + return (array) $ret; + } + } + + /** + * Return datas as an array + * + * @param resource $resultset Resultset of request + * @return array Array + */ + function fetch_row($resultset) + { + // If resultset not provided, we take the last used by connexion + if (! is_bool($resultset)) + { + if (! is_object($resultset)) { $resultset=$this->_results; } + return $resultset->fetchArray(SQLITE3_NUM); + } + else + { + // si le curseur est un booleen on retourne la valeur 0 + return 0; + } + } + + /** + * Return number of lines for result of a SELECT + * + * @param Resultset $resultset Resulset of requests + * @return int Nb of lines + * @see affected_rows + */ + function num_rows($resultset) + { + // If resultset not provided, we take the last used by connexion + if (! is_object($resultset)) { $resultset=$this->_results; } + if (preg_match("/^SELECT/i", $resultset->queryString)) { + return $this->db->querySingle("SELECT count(*) FROM (" . $resultset->queryString . ") q"); + } + return 0; + } + + /** + * Return number of lines for result of a SELECT + * + * @param Resultset $resultset Resulset of requests + * @return int Nb of lines + * @see affected_rows + */ + function affected_rows($resultset) + { + // If resultset not provided, we take the last used by connexion + if (! is_object($resultset)) { $resultset=$this->_results; } + if (preg_match("/^SELECT/i", $resultset->queryString)) { + return $this->num_rows($resultset); + } + // mysql necessite un link de base pour cette fonction contrairement + // a pqsql qui prend un resultset + return $this->db->changes(); + } + + + /** + * Free last resultset used. + * + * @param integer $resultset Curseur de la requete voulue + * @return void + */ + function free($resultset=0) + { + // If resultset not provided, we take the last used by connexion + if (! is_object($resultset)) { $resultset=$this->_results; } + // Si resultset en est un, on libere la memoire + if ($resultset && is_object($resultset)) $resultset->finalize(); + } + + /** + * Escape a string to insert data + * + * @param string $stringtoencode String to escape + * @return string String escaped + */ + function escape($stringtoencode) + { + return Sqlite3::escapeString($stringtoencode); + } + + /** + * Renvoie le code erreur generique de l'operation precedente. + * + * @return string Error code (Exemples: DB_ERROR_TABLE_ALREADY_EXISTS, DB_ERROR_RECORD_ALREADY_EXISTS...) + */ + function errno() + { + if (! $this->connected) { + // Si il y a eu echec de connexion, $this->db n'est pas valide. + return 'DB_ERROR_FAILED_TO_CONNECT'; + } + else { + // Constants to convert error code to a generic Dolibarr error code + /*$errorcode_map = array( + 1004 => 'DB_ERROR_CANNOT_CREATE', + 1005 => 'DB_ERROR_CANNOT_CREATE', + 1006 => 'DB_ERROR_CANNOT_CREATE', + 1007 => 'DB_ERROR_ALREADY_EXISTS', + 1008 => 'DB_ERROR_CANNOT_DROP', + 1025 => 'DB_ERROR_NO_FOREIGN_KEY_TO_DROP', + 1044 => 'DB_ERROR_ACCESSDENIED', + 1046 => 'DB_ERROR_NODBSELECTED', + 1048 => 'DB_ERROR_CONSTRAINT', + 'HY000' => 'DB_ERROR_TABLE_ALREADY_EXISTS', + 1051 => 'DB_ERROR_NOSUCHTABLE', + 1054 => 'DB_ERROR_NOSUCHFIELD', + 1060 => 'DB_ERROR_COLUMN_ALREADY_EXISTS', + 1061 => 'DB_ERROR_KEY_NAME_ALREADY_EXISTS', + 1062 => 'DB_ERROR_RECORD_ALREADY_EXISTS', + 1064 => 'DB_ERROR_SYNTAX', + 1068 => 'DB_ERROR_PRIMARY_KEY_ALREADY_EXISTS', + 1075 => 'DB_ERROR_CANT_DROP_PRIMARY_KEY', + 1091 => 'DB_ERROR_NOSUCHFIELD', + 1100 => 'DB_ERROR_NOT_LOCKED', + 1136 => 'DB_ERROR_VALUE_COUNT_ON_ROW', + 1146 => 'DB_ERROR_NOSUCHTABLE', + 1216 => 'DB_ERROR_NO_PARENT', + 1217 => 'DB_ERROR_CHILD_EXISTS', + 1451 => 'DB_ERROR_CHILD_EXISTS' + ); + + if (isset($errorcode_map[$this->db->errorCode()])) + { + return $errorcode_map[$this->db->errorCode()]; + }*/ + $errno=$this->db->lastErrorCode(); + if ($errno=='HY000' || $errno == 0) + { + if (preg_match('/table.*already exists/i',$this->error)) return 'DB_ERROR_TABLE_ALREADY_EXISTS'; + elseif (preg_match('/index.*already exists/i',$this->error)) return 'DB_ERROR_KEY_NAME_ALREADY_EXISTS'; + elseif (preg_match('/syntax error/i',$this->error)) return 'DB_ERROR_SYNTAX'; + } + if ($errno=='23000') + { + if (preg_match('/column.* not unique/i',$this->error)) return 'DB_ERROR_RECORD_ALREADY_EXISTS'; + elseif (preg_match('/PRIMARY KEY must be unique/i',$this->error)) return 'DB_ERROR_RECORD_ALREADY_EXISTS'; + } + if ($errno > 1) { + // TODO Voir la liste des messages d'erreur + } + + return ($errno?'DB_ERROR_'.$errno:'0'); + } + } + + /** + * Renvoie le texte de l'erreur mysql de l'operation precedente. + * + * @return string Error text + */ + function error() + { + if (! $this->connected) { + // Si il y a eu echec de connexion, $this->db n'est pas valide pour sqlite_error. + return 'Not connected. Check setup parameters in conf/conf.php file and your sqlite version'; + } + else { + return $this->error; + } + } + + /** + * Get last ID after an insert INSERT + * + * @param string $tab Table name concerned by insert. Ne sert pas sous MySql mais requis pour compatibilite avec Postgresql + * @param string $fieldid Field name + * @return int Id of row + */ + function last_insert_id($tab,$fieldid='rowid') + { + return $this->db->lastInsertRowId(); + } + + /** + * Encrypt sensitive data in database + * Warning: This function includes the escape, so it must use direct value + * + * @param string $fieldorvalue Field name or value to encrypt + * @param int $withQuotes Return string with quotes + * @return string XXX(field) or XXX('value') or field or 'value' + */ + function encrypt($fieldorvalue, $withQuotes=0) + { + global $conf; + + // Type of encryption (2: AES (recommended), 1: DES , 0: no encryption) + $cryptType = ($conf->db->dolibarr_main_db_encryption?$conf->db->dolibarr_main_db_encryption:0); + + //Encryption key + $cryptKey = (!empty($conf->db->dolibarr_main_db_cryptkey)?$conf->db->dolibarr_main_db_cryptkey:''); + + $return = ($withQuotes?"'":"").$this->escape($fieldorvalue).($withQuotes?"'":""); + + if ($cryptType && !empty($cryptKey)) + { + if ($cryptType == 2) + { + $return = 'AES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; + } + else if ($cryptType == 1) + { + $return = 'DES_ENCRYPT('.$return.',\''.$cryptKey.'\')'; + } + } + + return $return; + } + + /** + * Decrypt sensitive data in database + * + * @param string $value Value to decrypt + * @return string Decrypted value if used + */ + function decrypt($value) + { + global $conf; + + // Type of encryption (2: AES (recommended), 1: DES , 0: no encryption) + $cryptType = ($conf->db->dolibarr_main_db_encryption?$conf->db->dolibarr_main_db_encryption:0); + + //Encryption key + $cryptKey = (!empty($conf->db->dolibarr_main_db_cryptkey)?$conf->db->dolibarr_main_db_cryptkey:''); + + $return = $value; + + if ($cryptType && !empty($cryptKey)) + { + if ($cryptType == 2) + { + $return = 'AES_DECRYPT('.$value.',\''.$cryptKey.'\')'; + } + else if ($cryptType == 1) + { + $return = 'DES_DECRYPT('.$value.',\''.$cryptKey.'\')'; + } + } + + return $return; + } + + + /** + * Return connexion ID + * + * @return string Id connexion + */ + function DDLGetConnectId() + { + return '?'; + } + + + /** + * Create a new database + * Do not use function xxx_create_db (xxx=mysql, ...) as they are deprecated + * We force to create database with charset this->forcecharset and collate this->forcecollate + * + * @param string $database Database name to create + * @param string $charset Charset used to store data + * @param string $collation Charset used to sort data + * @param string $owner Username of database owner + * @return resource resource defined if OK, null if KO + */ + function DDLCreateDb($database,$charset='',$collation='',$owner='') + { + if (empty($charset)) $charset=$this->forcecharset; + if (empty($collation)) $collation=$this->forcecollate; + + // ALTER DATABASE dolibarr_db DEFAULT CHARACTER SET latin DEFAULT COLLATE latin1_swedish_ci + $sql = 'CREATE DATABASE '.$database; + $sql.= ' DEFAULT CHARACTER SET '.$charset.' DEFAULT COLLATE '.$collation; + + dol_syslog($sql,LOG_DEBUG); + $ret=$this->query($sql); + if (! $ret) + { + // We try again for compatibility with Mysql < 4.1.1 + $sql = 'CREATE DATABASE '.$database; + $ret=$this->query($sql); + dol_syslog($sql,LOG_DEBUG); + } + return $ret; + } + + /** + * List tables into a database + * + * @param string $database Name of database + * @param string $table Name of table filter ('xxx%') + * @return array List of tables in an array + */ + function DDLListTables($database, $table='') + { + $listtables=array(); + + $like = ''; + if ($table) $like = "LIKE '".$table."'"; + $sql="SHOW TABLES FROM ".$database." ".$like.";"; + //print $sql; + $result = $this->query($sql); + while($row = $this->fetch_row($result)) + { + $listtables[] = $row[0]; + } + return $listtables; + } + + /** + * List information of columns into a table. + * + * @param string $table Name of table + * @return array Tableau des informations des champs de la table + * TODO modify for sqlite + */ + function DDLInfoTable($table) + { + $infotables=array(); + + $sql="SHOW FULL COLUMNS FROM ".$table.";"; + + dol_syslog($sql,LOG_DEBUG); + $result = $this->query($sql); + while($row = $this->fetch_row($result)) + { + $infotables[] = $row; + } + return $infotables; + } + + /** + * Create a table into database + * + * @param string $table Nom de la table + * @param array $fields Tableau associatif [nom champ][tableau des descriptions] + * @param string $primary_key Nom du champ qui sera la clef primaire + * @param string $type Type de la table + * @param array $unique_keys Tableau associatifs Nom de champs qui seront clef unique => valeur + * @param array $fulltext_keys Tableau des Nom de champs qui seront indexes en fulltext + * @param string $keys Tableau des champs cles noms => valeur + * @return int <0 if KO, >=0 if OK + */ + function DDLCreateTable($table,$fields,$primary_key,$type,$unique_keys="",$fulltext_keys="",$keys="") + { + // cles recherchees dans le tableau des descriptions (fields) : type,value,attribute,null,default,extra + // ex. : $fields['rowid'] = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); + $sql = "create table ".$table."("; + $i=0; + foreach($fields as $field_name => $field_desc) + { + $sqlfields[$i] = $field_name." "; + $sqlfields[$i] .= $field_desc['type']; + if( preg_match("/^[^\s]/i",$field_desc['value'])) + $sqlfields[$i] .= "(".$field_desc['value'].")"; + else if( preg_match("/^[^\s]/i",$field_desc['attribute'])) + $sqlfields[$i] .= " ".$field_desc['attribute']; + else if( preg_match("/^[^\s]/i",$field_desc['default'])) + { + if(preg_match("/null/i",$field_desc['default'])) + $sqlfields[$i] .= " default ".$field_desc['default']; + else + $sqlfields[$i] .= " default '".$field_desc['default']."'"; + } + else if( preg_match("/^[^\s]/i",$field_desc['null'])) + $sqlfields[$i] .= " ".$field_desc['null']; + + else if( preg_match("/^[^\s]/i",$field_desc['extra'])) + $sqlfields[$i] .= " ".$field_desc['extra']; + $i++; + } + if($primary_key != "") + $pk = "primary key(".$primary_key.")"; + + if($unique_keys != "") + { + $i = 0; + foreach($unique_keys as $key => $value) + { + $sqluq[$i] = "UNIQUE KEY '".$key."' ('".$value."')"; + $i++; + } + } + if($keys != "") + { + $i = 0; + foreach($keys as $key => $value) + { + $sqlk[$i] = "KEY ".$key." (".$value.")"; + $i++; + } + } + $sql .= implode(',',$sqlfields); + if($primary_key != "") + $sql .= ",".$pk; + if($unique_keys != "") + $sql .= ",".implode(',',$sqluq); + if($keys != "") + $sql .= ",".implode(',',$sqlk); + $sql .=") type=".$type; + + dol_syslog($sql,LOG_DEBUG); + if(! $this -> query($sql)) + return -1; + else + return 1; + } + + /** + * Return a pointer of line with description of a table or field + * + * @param string $table Name of table + * @param string $field Optionnel : Name of field if we want description of field + * @return resource Resource + */ + function DDLDescTable($table,$field="") + { + $sql="DESC ".$table." ".$field; + + dol_syslog(get_class($this)."::DDLDescTable ".$sql,LOG_DEBUG); + $this->_results = $this->query($sql); + return $this->_results; + } + + /** + * Create a new field into table + * + * @param string $table Name of table + * @param string $field_name Name of field to add + * @param string $field_desc Tableau associatif de description du champ a inserer[nom du parametre][valeur du parametre] + * @param string $field_position Optionnel ex.: "after champtruc" + * @return int <0 if KO, >0 if OK + */ + function DDLAddField($table,$field_name,$field_desc,$field_position="") + { + // cles recherchees dans le tableau des descriptions (field_desc) : type,value,attribute,null,default,extra + // ex. : $field_desc = array('type'=>'int','value'=>'11','null'=>'not null','extra'=> 'auto_increment'); + $sql= "ALTER TABLE ".$table." ADD ".$field_name." "; + $sql.= $field_desc['type']; + if(preg_match("/^[^\s]/i",$field_desc['value'])) + if (! in_array($field_desc['type'],array('date','datetime'))) + { + $sql.= "(".$field_desc['value'].")"; + } + if(preg_match("/^[^\s]/i",$field_desc['attribute'])) + $sql.= " ".$field_desc['attribute']; + if(preg_match("/^[^\s]/i",$field_desc['null'])) + $sql.= " ".$field_desc['null']; + if(preg_match("/^[^\s]/i",$field_desc['default'])) + { + if(preg_match("/null/i",$field_desc['default'])) + $sql.= " default ".$field_desc['default']; + else + $sql.= " default '".$field_desc['default']."'"; + } + if(preg_match("/^[^\s]/i",$field_desc['extra'])) + $sql.= " ".$field_desc['extra']; + $sql.= " ".$field_position; + + dol_syslog(get_class($this)."::DDLAddField ".$sql,LOG_DEBUG); + if(! $this->query($sql)) + { + return -1; + } + else + { + return 1; + } + } + + /** + * Update format of a field into a table + * + * @param string $table Name of table + * @param string $field_name Name of field to modify + * @param string $field_desc Array with description of field format + * @return int <0 if KO, >0 if OK + */ + function DDLUpdateField($table,$field_name,$field_desc) + { + $sql = "ALTER TABLE ".$table; + $sql .= " MODIFY COLUMN ".$field_name." ".$field_desc['type']; + if ($field_desc['type'] == 'tinyint' || $field_desc['type'] == 'int' || $field_desc['type'] == 'varchar') { + $sql.="(".$field_desc['value'].")"; + } + + dol_syslog(get_class($this)."::DDLUpdateField ".$sql,LOG_DEBUG); + if (! $this->query($sql)) + return -1; + else + return 1; + } + + /** + * Drop a field from table + * + * @param string $table Name of table + * @param string $field_name Name of field to drop + * @return int <0 if KO, >0 if OK + */ + function DDLDropField($table,$field_name) + { + $sql= "ALTER TABLE ".$table." DROP COLUMN `".$field_name."`"; + dol_syslog(get_class($this)."::DDLDropField ".$sql,LOG_DEBUG); + if (! $this->query($sql)) + { + $this->error=$this->lasterror(); + return -1; + } + else return 1; + } + + + /** + * Create a user and privileges to connect to database (even if database does not exists yet) + * + * @param string $dolibarr_main_db_host Ip serveur + * @param string $dolibarr_main_db_user Nom user a creer + * @param string $dolibarr_main_db_pass Mot de passe user a creer + * @param string $dolibarr_main_db_name Database name where user must be granted + * @return int <0 if KO, >=0 if OK + */ + function DDLCreateUser($dolibarr_main_db_host,$dolibarr_main_db_user,$dolibarr_main_db_pass,$dolibarr_main_db_name) + { + $sql = "INSERT INTO user "; + $sql.= "(Host,User,password,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv,Lock_tables_priv)"; + $sql.= " VALUES ('".$this->escape($dolibarr_main_db_host)."','".$this->escape($dolibarr_main_db_user)."',password('".addslashes($dolibarr_main_db_pass)."')"; + $sql.= ",'Y','Y','Y','Y','Y','Y','Y','Y','Y')"; + + dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); // No sql to avoid password in log + $resql=$this->query($sql); + if (! $resql) + { + return -1; + } + + $sql = "INSERT INTO db "; + $sql.= "(Host,Db,User,Select_priv,Insert_priv,Update_priv,Delete_priv,Create_priv,Drop_priv,Index_Priv,Alter_priv,Lock_tables_priv)"; + $sql.= " VALUES ('".$this->escape($dolibarr_main_db_host)."','".$this->escape($dolibarr_main_db_name)."','".addslashes($dolibarr_main_db_user)."'"; + $sql.= ",'Y','Y','Y','Y','Y','Y','Y','Y','Y')"; + + dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); + $resql=$this->query($sql); + if (! $resql) + { + return -1; + } + + $sql="FLUSH Privileges"; + + dol_syslog(get_class($this)."::DDLCreateUser", LOG_DEBUG); + $resql=$this->query($sql); + if (! $resql) + { + return -1; + } + + return 1; + } + + /** + * Return charset used to store data in database + * + * @return string Charset + */ + function getDefaultCharacterSetDatabase() + { + return 'UTF-8'; + } + + /** + * Return list of available charset that can be used to store data in database + * + * @return array List of Charset + */ + function getListOfCharacterSet() + { + $liste = array(); + $i=0; + $liste[$i]['charset'] = 'UTF-8'; + $liste[$i]['description'] = 'UTF-8'; + return $liste; + } + + /** + * Return collation used in database + * + * @return string Collation value + */ + function getDefaultCollationDatabase() + { + return 'UTF-8'; + } + + /** + * Return list of available collation that can be used for database + * + * @return array List of Collation + */ + function getListOfCollation() + { + $liste = array(); + $i=0; + $liste[$i]['charset'] = 'UTF-8'; + $liste[$i]['description'] = 'UTF-8'; + return $liste; + } + + /** + * Return full path of dump program + * + * @return string Full path of dump program + */ + function getPathOfDump() + { + $fullpathofdump='/pathtomysqldump/mysqldump'; + + $resql=$this->query('SHOW VARIABLES LIKE \'basedir\''); + if ($resql) + { + $liste=$this->fetch_array($resql); + $basedir=$liste['Value']; + $fullpathofdump=$basedir.(preg_match('/\/$/',$basedir)?'':'/').'bin/mysqldump'; + } + return $fullpathofdump; + } + + /** + * Return full path of restore program + * + * @return string Full path of restore program + */ + function getPathOfRestore() + { + $fullpathofimport='/pathtomysql/mysql'; + + $resql=$this->query('SHOW VARIABLES LIKE \'basedir\''); + if ($resql) + { + $liste=$this->fetch_array($resql); + $basedir=$liste['Value']; + $fullpathofimport=$basedir.(preg_match('/\/$/',$basedir)?'':'/').'bin/mysql'; + } + return $fullpathofimport; + } + + /** + * Return value of server parameters + * + * @param string $filter Filter list on a particular value + * @return array Array of key-values (key=>value) + */ + function getServerParametersValues($filter='') + { + $result=array(); + static $pragmas; + if (! isset($pragmas)) { + // Définition de la liste des pragmas utilisés qui ne retournent qu'une seule valeur + // indépendante de la base de données. + // cf. http://www.sqlite.org/pragma.html + $pragmas = array( + 'application_id', 'auto_vacuum', 'automatic_index', 'busy_timeout', 'cache_size', + 'cache_spill', 'case_sensitive_like', 'checkpoint_fullsync', 'collation_list', + 'compile_options', 'data_version', /*'database_list',*/ + 'defer_foreign_keys', 'encoding', 'foreign_key_check', 'freelist_count', + 'full_column_names', 'fullsync', 'ingore_check_constraints', 'integrity_check', + 'journal_mode', 'journal_size_limit', 'legacy_file_format', 'locking_mode', + 'max_page_count', 'page_count', 'page_size', 'parser_trace', + 'query_only', 'quick_check', 'read_uncommitted', 'recursive_triggers', + 'reverse_unordered_selects', 'schema_version', 'user_version', + 'secure_delete', 'short_column_names', 'shrink_memory', 'soft_heap_limit', + 'synchronous', 'temp_store', /*'temp_store_directory',*/ 'threads', + 'vdbe_addoptrace', 'vdbe_debug', 'vdbe_listing', 'vdbe_trace', + 'wal_autocheckpoint', + ); + } + + // TODO prendre en compte le filtre + foreach($pragmas as $var) { + $sql = "PRAGMA $var"; + $resql=$this->query($sql); + if ($resql) + { + $obj = $this->fetch_row($resql); + //dol_syslog(get_class($this)."::select_db getServerParametersValues $var=". print_r($obj, true), LOG_DEBUG); + $result[$var] = $obj[0]; + } + else { + // TODO Récupérer le message + $result[$var] = 'FAIL'; + } + } + return $result; + } + + /** + * Return value of server status + * + * @param string $filter Filter list on a particular value + * @return array Array of key-values (key=>value) + */ + function getServerStatusValues($filter='') + { + $result=array(); + /* + $sql='SHOW STATUS'; + if ($filter) $sql.=" LIKE '".$this->escape($filter)."'"; + $resql=$this->query($sql); + if ($resql) + { + while ($obj=$this->fetch_object($resql)) $result[$obj->Variable_name]=$obj->Value; + } + */ + + return $result; + } + + /** + * Permet le chargement d'une fonction personnalisee dans le moteur de base de donnees. + * Note: le nom de la fonction personnalisee est prefixee par 'db'. La fonction doit être + * statique et publique. Le nombre de parametres est determine automatiquement. + * + * @param string $name Le nom de la fonction a definir dans Sqlite + * @param int $arg_count Arg count + * @return void + */ + private function addCustomFunction($name, $arg_count = -1) + { + if ($this->db) + { + $newname=preg_replace('/_/','',$name); + $localname = __CLASS__ . '::' . 'db' . $newname; + $reflectClass = new ReflectionClass(__CLASS__); + $reflectFunction = $reflectClass->getMethod('db' . $newname); + if ($arg_count < 0) { + $arg_count = $reflectFunction->getNumberOfParameters(); + } + if (!$this->db->createFunction($name, $localname, $arg_count)) + { + $this->error = "unable to create custom function '$name'"; + } + } + } + + /** + * Cette fonction est l'equivalent de la fonction MONTH de MySql. + * + * @param string $date Date + * @return string + */ + public static function dbMONTH($date) + { + return date('n', strtotime($date)); + } + + /** + * calcule du numéro de semaine + * + * @param string $date Date + * @param int $mode Mode + * @return string + */ + public static function dbWEEK($date, $mode = 0) + { + $arr = date_parse($date); + $calc_year = 0; + return self::calc_week($arr['year'], $arr['month'], $arr['day'], self::week_mode($mode), $calc_year); + } + + /** + * db_CURDATE + * + * @return string + */ + public static function dbCURDATE() { + return date('Y-m-d'); + } + + /** + * db_CURTIME + * + * @return string + */ + public static function dbCURTIME() { + return date('H:i:s'); + } + + /** + * dbWEEKDAY + * + * @param int $date Date + * @return double + */ + public static function dbWEEKDAY($date) { + $arr = date_parse($date); + return self::calc_weekday(self::calc_daynr($arr['year'], $arr['month'], $arr['day']), 0); + + } + + /** + * Cette fonction est l'equivelent de la fonction date_format de MySQL. + * @staticvar string $mysql_replacement Les symboles formatage a remplacer + * + * @param string $date la date dans un format ISO + * @param string $format la chaine de formatage + * @return string La date formatee. + */ + public static function dbdateformat($date, $format) + { + static $mysql_replacement; + if (! isset($mysql_replacement)) { + $mysql_replacement = array( + '%' => '%', + 'a' => 'D', + 'b' => 'M', + 'c' => 'n', + 'D' => 'jS', + 'd' => 'd', + 'e' => 'j', + 'f' => 'u', + 'H' => 'H', + 'h' => 'h', + 'I' => 'h', + 'i' => 'i', + 'k' => 'H', + 'l' => 'g', + 'M' => 'F', + 'm' => 'm', + 'p' => 'A', + 'r' => 'h:i:s A', + 'S' => 's', + 's' => 's', + 'T' => 'H:i:s', + 'W' => 'l', + 'w' => 'w', + 'Y' => 'Y', + 'y' => 'y', + ); + } + + $fmt = ''; + $lg = strlen($format); + $state = 0; + $timestamp = strtotime($date); + $yday = date('z', $timestamp); + $month = (integer) date("n", $timestamp); + $year = (integer) date("Y", $timestamp); + $day = (integer) date("d", $timestamp); + for($idx = 0; $idx < $lg; ++$idx) { + $char = $format[$idx]; + if ($state == 0) { + if ($char == '%') { + $state = 1; + } else { + $fmt .= $char; + } + } + elseif ($state == 1) { + if (array_key_exists($char, $mysql_replacement)) { + $fmt .= $mysql_replacement[$char]; + } else { + $calc_year = 0; + switch ($char) { + case 'j': // day of the year 001 + $char = sprintf("%03d", $yday+1); + break; + case 'U': // mode 0: semaine 0 = premiere semaine complète qui commence un dimanche + $char = sprintf("%02d", self::calc_week($year, $month, $day, 4, $calc_year)); + break; + case 'u': // mode 1: semaine 0 = première semaine de 4 jours. Début le dimanche + $char = sprintf("%02d", self::calc_week($year, $month, $day, 1, $calc_year)); + break; + case 'V': // mode 2: semaine 1 = premiere semaine complète qui commence un dimanche + $char = sprintf("%02d", self::calc_week($year, $month, $day, 6, $calc_year)); + break; + case 'v': // mode 3: semaine 1 = premiere semaine de 4 jours. Début le lundi + $char = sprintf("%02d", self::calc_week($year, $month, $day, 3, $calc_year)); + break; + case 'X': + self::calc_week($year, $month, $day, 6, $calc_year); + $char = sprintf("%04d", $calc_year); + break; + case 'x': + self::calc_week($year, $month, $day, 3, $calc_year); + $char = sprintf("%04d", $calc_year); + break; + } + $fmt .= $char; + } + $state = 0; + } + } + return date($fmt, strtotime($date)); + } + + + /** + * calc_daynr + * + * @param string $year Year + * @param string $month Month + * @param string $day Day + * @return string La date formatee. + */ + private static function calc_daynr($year, $month, $day) { + $y = $year; + if ($y == 0 && $month == 0) return 0; + $num = (365* $y + 31 * ($month - 1) + $day); + if ($month <= 2) { + $y--; } + else { + $num -= floor(($month * 4 + 23) / 10); + } + $temp = floor(($y / 100 + 1) * 3 / 4); + return $num + floor($y / 4) - $temp; + } + + /** + * calc_weekday + * + * @param string $daynr ??? + * @param string $sunday_first_day_of_week ??? + */ + private static function calc_weekday($daynr, $sunday_first_day_of_week) { + $ret = floor(($daynr + 5 + ($sunday_first_day_of_week ? 1 : 0)) % 7); + return $ret; + } + + /** + * calc_days_in_year + * + * @param string $year Year + * @return int Nb of days in year + */ + private static function calc_days_in_year($year) + { + return (($year & 3) == 0 && ($year%100 || ($year%400 == 0 && $year)) ? 366 : 365); + } + + /** + * week_mode + * + * @param string $mode Mode + * @return integer Week format + */ + private static function week_mode($mode) { + $week_format= ($mode & 7); + if (!($week_format & self::WEEK_MONDAY_FIRST)) { + $week_format^= self::WEEK_FIRST_WEEKDAY; + } + return $week_format; + } + + /** + * calc_week + * + * @param string $year Year + * @param string $month Month + * @param string $day Day + * @param string $week_behaviour Week behaviour + * @param string $calc_year ??? + * @return string ??? + */ + private static function calc_week($year, $month, $day, $week_behaviour, &$calc_year) { + $daynr=self::calc_daynr($year,$month,$day); + $first_daynr=self::calc_daynr($year,1,1); + $monday_first= ($week_behaviour & self::WEEK_MONDAY_FIRST) ? 1 : 0; + $week_year= ($week_behaviour & self::WEEK_YEAR) ? 1 : 0; + $first_weekday= ($week_behaviour & self::WEEK_FIRST_WEEKDAY) ? 1 : 0; + + $weekday=self::calc_weekday($first_daynr, !$monday_first); + $calc_year=$year; + + if ($month == 1 && $day <= 7-$weekday) + { + if (!$week_year && (($first_weekday && $weekday != 0) || (!$first_weekday && $weekday >= 4))) + return 0; + $week_year= 1; + $calc_year--; + $first_daynr-= ($days=self::calc_days_in_year($calc_year)); + $weekday= ($weekday + 53*7- $days) % 7; + } + + if (($first_weekday && $weekday != 0) || (!$first_weekday && $weekday >= 4)) { + $days= $daynr - ($first_daynr+ (7-$weekday)); + } + else { + $days= $daynr - ($first_daynr - $weekday); + } + + if ($week_year && $days >= 52*7) + { + $weekday= ($weekday + self::calc_days_in_year($calc_year)) % 7; + if ((!$first_weekday && $weekday < 4) || ($first_weekday && $weekday == 0)) + { + $calc_year++; + return 1; + } + } + return floor($days/7+1); + } + +} + diff --git a/htdocs/core/filemanagerdol/connectors/php/basexml.php b/htdocs/core/filemanagerdol/connectors/php/basexml.php index 7565aae8211..a14b843b465 100644 --- a/htdocs/core/filemanagerdol/connectors/php/basexml.php +++ b/htdocs/core/filemanagerdol/connectors/php/basexml.php @@ -84,7 +84,7 @@ function CreateXmlFooter() /** * SendError * - * @param unknown_type $number Number + * @param integer $number Number * @param unknown_type $text Text * @return void */ diff --git a/htdocs/core/filemanagerdol/connectors/php/upload.php b/htdocs/core/filemanagerdol/connectors/php/upload.php index 664ffbf2bdb..eb9600b20a9 100644 --- a/htdocs/core/filemanagerdol/connectors/php/upload.php +++ b/htdocs/core/filemanagerdol/connectors/php/upload.php @@ -30,7 +30,7 @@ require 'commands.php'; /** * SendError * - * @param string $number Number + * @param integer $number Number * @param string $text Text * @return void */ diff --git a/htdocs/core/get_menudiv.php b/htdocs/core/get_menudiv.php index b52c1f73c98..b8eae83d4eb 100644 --- a/htdocs/core/get_menudiv.php +++ b/htdocs/core/get_menudiv.php @@ -1,5 +1,5 @@ +/* Copyright (C) 2005-2015 Laurent Destailleur * * This file is a modified version of datepicker.php from phpBSM to fix some * bugs, to add new features and to dramatically increase speed. diff --git a/htdocs/core/js/timesheet.js b/htdocs/core/js/timesheet.js index 7c85cb1afd0..c36c03f55ff 100644 --- a/htdocs/core/js/timesheet.js +++ b/htdocs/core/js/timesheet.js @@ -122,7 +122,28 @@ function updateTotal(days,mode) var nbline = document.getElementById('numberOfLines').value; for (var i=0;i= 0) + { + total.setHours(total.getHours()+taskTime.getHours()); + total.setMinutes(total.getMinutes()+taskTime.getMinutes()); + } + } + + var id='timeadded['+i+']['+days+']'; var taskTime= new Date(0); var element=document.getElementById(id); if(element) @@ -152,7 +173,23 @@ function updateTotal(days,mode) var nbline = document.getElementById('numberOfLines').value; for (var i=0;idecrypt('name')." = '".$db->escape($name)."'"; if (is_numeric($name)) $sql.= " OR rowid = '".$db->escape($name)."'"; @@ -438,7 +444,7 @@ function dolibarr_get_const($db, $name, $entity=1) /** - * Insert a parameter (key,value) into database. + * Insert a parameter (key,value) into database (delete old key then insert it again). * * @param DoliDB $db Database handler * @param string $name Name of constant diff --git a/htdocs/core/lib/askpricesupplier.lib.php b/htdocs/core/lib/askpricesupplier.lib.php new file mode 100644 index 00000000000..eec34ea9133 --- /dev/null +++ b/htdocs/core/lib/askpricesupplier.lib.php @@ -0,0 +1,122 @@ + + * 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 . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/lib/propal.lib.php + * \brief Ensemble de fonctions de base pour le module propal + * \ingroup propal + */ + +/** + * Prepare array with list of tabs + * + * @param object $object Object related to tabs + * @return array Array of tabs to show + */ +function askpricesupplier_prepare_head($object) +{ + global $langs, $conf, $user; + $langs->load("askpricesupplier"); + $langs->load("compta"); + + $h = 0; + $head = array(); + + $head[$h][0] = DOL_URL_ROOT.'/comm/askpricesupplier/card.php?id='.$object->id; + $head[$h][1] = $langs->trans('AskPriceSupplierCard'); + $head[$h][2] = 'comm'; + $h++; + + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname); to remove a tab + complete_head_from_modules($conf,$langs,$object,$head,$h,'askpricesupplier'); + + if (empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + $nbNote = 0; + if(!empty($object->note_private)) $nbNote++; + if(!empty($object->note_public)) $nbNote++; + $head[$h][0] = DOL_URL_ROOT.'/comm/askpricesupplier/note.php?id='.$object->id; + $head[$h][1] = $langs->trans('Notes'); + if ($nbNote > 0) $head[$h][1].= ' '.$nbNote.''; + $head[$h][2] = 'note'; + $h++; + } + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + $upload_dir = $conf->askpricesupplier->dir_output . "/" . dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir,'files',0,'','(\.meta|_preview\.png)$')); + $head[$h][0] = DOL_URL_ROOT.'/comm/askpricesupplier/document.php?id='.$object->id; + $head[$h][1] = $langs->trans('Documents'); + if($nbFiles > 0) $head[$h][1].= ' '.$nbFiles.''; + $head[$h][2] = 'document'; + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/comm/askpricesupplier/info.php?id='.$object->id; + $head[$h][1] = $langs->trans('Info'); + $head[$h][2] = 'info'; + $h++; + + complete_head_from_modules($conf,$langs,$object,$head,$h,'askpricesupplier','remove'); + + return $head; +} + +/** + * Return array head with list of tabs to view object informations. + * + * @return array head array with tabs + */ +function askpricesupplier_admin_prepare_head() +{ + global $langs, $conf, $user; + + $h = 0; + $head = array(); + + $head[$h][0] = DOL_URL_ROOT.'/admin/askpricesupplier.php'; + $head[$h][1] = $langs->trans("Miscellaneous"); + $head[$h][2] = 'general'; + $h++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to remove a tab + complete_head_from_modules($conf,$langs,null,$head,$h,'askpricesupplier_admin'); + + $head[$h][0] = DOL_URL_ROOT.'/comm/admin/askpricesupplier_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFields"); + $head[$h][2] = 'attributes'; + $h++; + + $head[$h][0] = DOL_URL_ROOT.'/comm/admin/askpricesupplierdet_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFieldsLines"); + $head[$h][2] = 'attributeslines'; + $h++; + + complete_head_from_modules($conf,$langs,null,$head,$h,'askpricesupplier_admin','remove'); + + return $head; +} + + diff --git a/htdocs/core/lib/bank.lib.php b/htdocs/core/lib/bank.lib.php index 001c030305a..df9a25ae7c8 100644 --- a/htdocs/core/lib/bank.lib.php +++ b/htdocs/core/lib/bank.lib.php @@ -1,7 +1,7 @@ * Copyright (C) 2012 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 @@ -20,8 +20,8 @@ /** * \file htdocs/core/lib/bank.lib.php + * \ingroup bank * \brief Ensemble de fonctions de base pour le module banque - * \ingroup banque */ /** @@ -41,13 +41,6 @@ function bank_prepare_head(Account $object) $head[$h][2] = 'bankname'; $h++; - if ($object->type == 0 || $object->type == 1) { - $head[$h][0] = DOL_URL_ROOT . '/compta/bank/bankid_fr.php?id=' . $object->id; - $head[$h][1] = $langs->trans("RIB"); - $head[$h][2] = 'bankid'; - $h++; - } - $head[$h][0] = DOL_URL_ROOT . "/compta/bank/account.php?id=" . $object->id; $head[$h][1] = $langs->trans("Transactions"); $head[$h][2] = 'journal'; @@ -127,7 +120,7 @@ function bank_admin_prepare_head($object) * Check SWIFT informations for a bank account * * @param Account $account A bank account - * @return int True if informations are valid, false otherwise + * @return boolean True if informations are valid, false otherwise */ function checkSwiftForAccount($account) { @@ -144,7 +137,7 @@ function checkSwiftForAccount($account) * Check IBAN number informations for a bank account * * @param Account $account A bank account - * @return int True if informations are valid, false otherwise + * @return boolean True if informations are valid, false otherwise */ function checkIbanForAccount($account) { @@ -163,7 +156,7 @@ function checkIbanForAccount($account) * Check account number informations for a bank account * * @param Account $account A bank account - * @return int True if informations are valid, false otherwise + * @return boolean True if informations are valid, false otherwise */ function checkBanForAccount($account) { diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index cfa5a945841..8abdf32c635 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -471,7 +471,7 @@ function show_projects($conf,$langs,$db,$object,$backtopage='') print_fiche_titre($langs->trans("ProjectsDedicatedToThisThirdParty"),$buttoncreate,''); print "\n".''; - $sql = "SELECT p.rowid,p.title,p.ref,p.public, p.dateo as do, p.datee as de"; + $sql = "SELECT p.rowid as id, p.title, p.ref, p.public, p.dateo as do, p.datee as de, p.fk_statut as status"; $sql .= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql .= " WHERE p.fk_soc = ".$object->id; $sql .= " ORDER BY p.dateo DESC"; @@ -483,23 +483,24 @@ function show_projects($conf,$langs,$db,$object,$backtopage='') print ''; print ''; + print ''; print ''; if ($num > 0) { require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; - $projectstatic = new Project($db); + $projecttmp = new Project($db); $i=0; $var=false; while ($i < $num) { $obj = $db->fetch_object($result); - $projectstatic->fetch($obj->rowid); + $projecttmp->fetch($obj->id); // To verify role of users - $userAccess = $projectstatic->restrictedProjectArea($user); + $userAccess = $projecttmp->restrictedProjectArea($user); if ($user->rights->projet->lire && $userAccess > 0) { @@ -507,13 +508,15 @@ function show_projects($conf,$langs,$db,$object,$backtopage='') print ""; // Ref - print ''; + print ''; // Label print ''; // Date start print ''; // Date end print ''; + // Status + print ''; print ''; } diff --git a/htdocs/core/lib/date.lib.php b/htdocs/core/lib/date.lib.php index 777b3633cb5..4a8ae857a2d 100644 --- a/htdocs/core/lib/date.lib.php +++ b/htdocs/core/lib/date.lib.php @@ -95,6 +95,7 @@ function getServerTimeZoneInt($refgmtdate='now') } else { + $tmp=0; dol_print_error('','PHP version must be 5.3+'); /* // Method 2 (does not include daylight, not supported by adodb) @@ -812,11 +813,12 @@ function num_open_day($timestampStart, $timestampEnd, $inhour=0, $lastday=0, $ha * This replace old function monthArrayOrSelected. * * @param Translate $outputlangs Object langs + * @param int $short 1=Return short label * @return array Month string or array if selected < 0 */ -function monthArray($outputlangs) +function monthArray($outputlangs,$short=0) { - $montharray = array ( + $montharray = array ( 1 => $outputlangs->trans("January"), 2 => $outputlangs->trans("February"), 3 => $outputlangs->trans("March"), @@ -831,6 +833,24 @@ function monthArray($outputlangs) 12 => $outputlangs->trans("December") ); - return $montharray; + if (! empty($short)) + { + $montharray = array ( + 1 => $outputlangs->trans("Jan"), + 2 => $outputlangs->trans("Feb"), + 3 => $outputlangs->trans("Mar"), + 4 => $outputlangs->trans("Apr"), + 5 => $outputlangs->trans("May"), + 6 => $outputlangs->trans("Jun"), + 7 => $outputlangs->trans("Jul"), + 8 => $outputlangs->trans("Aug"), + 9 => $outputlangs->trans("Sep"), + 10 => $outputlangs->trans("Oct"), + 11 => $outputlangs->trans("Nov"), + 12 => $outputlangs->trans("Dec") + ); + } + + return $montharray; } diff --git a/htdocs/core/lib/donation.lib.php b/htdocs/core/lib/donation.lib.php new file mode 100644 index 00000000000..1fdd2399610 --- /dev/null +++ b/htdocs/core/lib/donation.lib.php @@ -0,0 +1,90 @@ + + * + * This 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/lib/donation.lib.php + * \ingroup Donation + * \brief Library of donation functions + */ + +/** + * Prepare array with list of admin tabs + * + * @param Donation $object Donation + * @return array Array of tabs to show + */ +function donation_admin_prepare_head($object) +{ + global $langs, $conf; + + $h = 0; + $head = array (); + + $head[$h][0] = DOL_URL_ROOT . '/don/admin/donation.php'; + $head[$h][1] = $langs->trans("Miscellaneous"); + $head[$h][2] = 'general'; + $h ++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname); to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'donation_admin'); + + $head[$h][0] = DOL_URL_ROOT . '/don/admin/donation_extrafields.php'; + $head[$h][1] = $langs->trans("ExtraFields"); + $head[$h][2] = 'attributes'; + $h++; + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'donation_admin', 'remove'); + + return $head; +} + +/** + * Prepare array with list of tabs + * + * @param Donation $object Donation + * @return array Array of tabs to show + */ +function donation_prepare_head($object) +{ + global $langs, $conf; + + $h = 0; + $head = array (); + + $head[$h][0] = DOL_URL_ROOT . '/don/card.php?id=' . $object->id; + $head[$h][1] = $langs->trans("Card"); + $head[$h][2] = 'card'; + $h ++; + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname); to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $h, 'donation'); + + $head[$h][0] = DOL_URL_ROOT . '/don/info.php?id=' . $object->id; + $head[$h][1] = $langs->trans("Info"); + $head[$h][2] = 'info'; + $h++; + + complete_head_from_modules($conf, $langs, $object, $head, $h, 'donation', 'remove'); + + return $head; +} diff --git a/htdocs/core/lib/functions.lib.php b/htdocs/core/lib/functions.lib.php index 45d7f391cdb..c75387210aa 100644 --- a/htdocs/core/lib/functions.lib.php +++ b/htdocs/core/lib/functions.lib.php @@ -592,16 +592,17 @@ function dol_strtoupper($utf8_string) * This function works only if syslog module is enabled. * This must not use any call to other function calling dol_syslog (avoid infinite loop). * - * @param string $message Line to log. Ne doit pas etre traduit si level = LOG_ERR - * @param int $level Log level - * 0=Show nothing - * On Windows LOG_ERR=4, LOG_WARNING=5, LOG_NOTICE=LOG_INFO=6, LOG_DEBUG=6 si define_syslog_variables ou PHP 5.3+, 7 si dolibarr - * On Linux LOG_ERR=3, LOG_WARNING=4, LOG_INFO=6, LOG_DEBUG=7 - * @param int $ident 1=Increase ident of 1, -1=Decrease ident of 1 - * @param string $suffixinfilename When output is a file, append this suffix into default log filename. + * @param string $message Line to log. + * @param int $level Log level + * 0=Show nothing + * On Windows LOG_ERR=4, LOG_WARNING=5, LOG_NOTICE=LOG_INFO=6, LOG_DEBUG=6 si define_syslog_variables ou PHP 5.3+, 7 si dolibarr + * On Linux LOG_ERR=3, LOG_WARNING=4, LOG_INFO=6, LOG_DEBUG=7 + * @param int $ident 1=Increase ident of 1, -1=Decrease ident of 1 + * @param string $suffixinfilename When output is a file, append this suffix into default log filename. + * @param string $restricttologhandler Output log only for this log handler * @return void */ -function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='') +function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename='', $restricttologhandler='') { global $conf, $user; @@ -624,7 +625,7 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename=' $conf->logbuffer[] = dol_print_date(time(),"%Y-%m-%d %H:%M:%S")." ".$message; } - //TODO: Remove this. MAIN_ENABLE_LOG_HTML should be deprecated and use a HTML handler + //TODO: Remove this. MAIN_ENABLE_LOG_HTML should be deprecated and use a log handler dedicated to HTML output // If enable html log tag enabled and url parameter log defined, we show output log on HTML comments if (! empty($conf->global->MAIN_ENABLE_LOG_HTML) && ! empty($_GET["log"])) { @@ -648,10 +649,10 @@ function dol_syslog($message, $level = LOG_INFO, $ident = 0, $suffixinfilename=' else if (! empty($_SERVER['COMPUTERNAME'])) $data['ip'] = $_SERVER['COMPUTERNAME'].(empty($_SERVER['USERNAME'])?'':'@'.$_SERVER['USERNAME']); // This is when PHP session is ran outside a web server, like from Linux command line (Not always defined, but usefull if OS defined it). else if (! empty($_SERVER['LOGNAME'])) $data['ip'] = '???@'.$_SERVER['LOGNAME']; - // Loop on each log handler and send output foreach ($conf->loghandlers as $loghandlerinstance) { + if ($restricttologhandler && $loghandlerinstance->code != $restricttologhandler) continue; $loghandlerinstance->export($data,$suffixinfilename); } unset($data); @@ -1157,7 +1158,7 @@ function dol_getdate($timestamp,$fast=false) * @param int $year Year * @param mixed $gm True or 1 or 'gmt'=Input informations are GMT values, False or 0 or 'server' = local to server TZ, 'user' = local to user TZ * @param int $check 0=No check on parameters (Can use day 32, etc...) - * @return timestamp|string Date as a timestamp, '' or false if error + * @return int|string Date as a timestamp, '' or false if error * @see dol_print_date, dol_stringtotime, dol_getdate */ function dol_mktime($hour,$minute,$second,$month,$day,$year,$gm=false,$check=1) @@ -1633,14 +1634,14 @@ function dol_print_address($address, $htmlid, $mode, $id) /** * Return true if email syntax is ok * - * @param string $address email (Ex: "toto@titi.com", "John Do ") - * @return boolean true if email syntax is OK, false if KO or empty string + * @param string $address email (Ex: "toto@titi.com", "John Do ") + * @param int $acceptsupervisorkey If 1, the special string '__SUPERVISOREMAIL__' is also accepted as valid + * @return boolean true if email syntax is OK, false if KO or empty string */ -function isValidEmail($address) +function isValidEmail($address, $acceptsupervisorkey=0) { - if (filter_var($address, FILTER_VALIDATE_EMAIL)) { - return true; - } + if ($acceptsupervisorkey && $address == '__SUPERVISOREMAIL__') return true; + if (filter_var($address, FILTER_VALIDATE_EMAIL)) return true; return false; } @@ -2116,7 +2117,7 @@ function img_edit_remove($titlealt = 'default', $other='') * Show logo editer/modifier fiche * * @param string $titlealt Text on alt and title of image. Alt only if param notitle is set to 1. If text is "TextA:TextB", use Text A on alt and Text B on title. - * @param float $float Si il faut y mettre le style "float: right" + * @param integer $float Si il faut y mettre le style "float: right" * @param string $other Add more attributes on img * @return string Return tag img */ @@ -2133,7 +2134,7 @@ function img_edit($titlealt = 'default', $float = 0, $other = '') * Show logo view card * * @param string $titlealt Text on alt and title of image. Alt only if param notitle is set to 1. If text is "TextA:TextB", use Text A on alt and Text B on title. - * @param float $float Si il faut y mettre le style "float: right" + * @param integer $float Si il faut y mettre le style "float: right" * @param string $other Add more attributes on img * @return string Return tag img */ @@ -2279,15 +2280,16 @@ function img_previous($titlealt = 'default') * * @param string $titlealt Text on alt and title of image. Alt only if param notitle is set to 1. If text is "TextA:TextB", use Text A on alt and Text B on title. * @param int $selected Selected + * @param string $moreclass Add more CSS classes * @return string Return img tag */ -function img_down($titlealt = 'default', $selected = 0) +function img_down($titlealt = 'default', $selected = 0, $moreclass='') { global $conf, $langs; if ($titlealt == 'default') $titlealt = $langs->trans('Down'); - return img_picto($titlealt, ($selected ? '1downarrow_selected.png' : '1downarrow.png'), 'class="imgdown"'); + return img_picto($titlealt, ($selected ? '1downarrow_selected.png' : '1downarrow.png'), 'class="imgdown'.($moreclass?" ".$moreclass:"").'"'); } /** @@ -2295,15 +2297,16 @@ function img_down($titlealt = 'default', $selected = 0) * * @param string $titlealt Text on alt and title of image. Alt only if param notitle is set to 1. If text is "TextA:TextB", use Text A on alt and Text B on title. * @param int $selected Selected + * @param string $moreclass Add more CSS classes * @return string Return img tag */ -function img_up($titlealt = 'default', $selected = 0) +function img_up($titlealt = 'default', $selected = 0, $moreclass='') { global $conf, $langs; if ($titlealt == 'default') $titlealt = $langs->trans('Up'); - return img_picto($titlealt, ($selected ? '1uparrow_selected.png' : '1uparrow.png'), 'class="imgup"'); + return img_picto($titlealt, ($selected ? '1uparrow_selected.png' : '1uparrow.png'), 'class="imgup'.($moreclass?" ".$moreclass:"").'"'); } /** @@ -2446,7 +2449,7 @@ function img_searchclear($titlealt = 'default', $other = '') * Show information for admin users * * @param string $text Text info - * @param string $infoonimgalt Info is shown only on alt of star picto, otherwise it is show on output after the star picto + * @param integer $infoonimgalt Info is shown only on alt of star picto, otherwise it is show on output after the star picto * @param int $nodiv No div * @return string String with info text */ @@ -2495,7 +2498,7 @@ function dol_print_error($db='',$error='') if ($_SERVER['DOCUMENT_ROOT']) // Mode web { $out.=$langs->trans("DolibarrHasDetectedError").".
\n"; - if (! empty($conf->global->MAIN_FEATURES_LEVEL)) $out.="You use an experimental level of features, so please do NOT report any bugs, except if problem is confirmed moving option MAIN_FEATURES_LEVEL back to 0.
\n"; + if (! empty($conf->global->MAIN_FEATURES_LEVEL)) $out.="You use an experimental or develop level of features, so please do NOT report any bugs, except if problem is confirmed moving option MAIN_FEATURES_LEVEL back to 0.
\n"; $out.=$langs->trans("InformationToHelpDiagnose").":
\n"; $out.="".$langs->trans("Date").": ".dol_print_date(time(),'dayhourlog')."
\n"; @@ -2621,7 +2624,7 @@ function print_liste_field_titre($name, $file="", $field="", $begin="", $morepar * Get title line of an array * * @param string $name Label of field - * @param int $thead 0=To use with standard table forat, 1=To use inside
, 2=To use with
+ * @param int $thead 0=To use with standard table format, 1=To use inside
, 2=To use with
* @param string $file Url used when we click on sort picto * @param string $field Field to use for new sorting. Empty if this field is not sortable. * @param string $begin ("" by defaut) @@ -2866,7 +2869,7 @@ function print_barre_liste($titre, $page, $file, $options='', $sortfield='', $so * @param int $page Number of page * @param string $file Lien * @param string $options Autres parametres d'url a propager dans les liens ("" par defaut) - * @param boolean|int $nextpage Do we show a next page button + * @param integer $nextpage Do we show a next page button * @param string $betweenarrows HTML Content to show between arrows * @return void */ @@ -2923,7 +2926,7 @@ function vatrate($rate,$addpercent=false,$info_bits=0,$usestarfornpr=0) * Function used into PDF and HTML pages * * @param float $amount Amount to format - * @param string $form Type of format, HTML or not (not by default) + * @param integer $form Type of format, HTML or not (not by default) * @param Translate $outlangs Object langs for output * @param int $trunc 1=Truncate if there is too much decimals (default), 0=Does not truncate * @param int $rounding Minimum number of decimal to show. If 0, no change, if -1, we use min($conf->global->MAIN_MAX_DECIMALS_UNIT,$conf->global->MAIN_MAX_DECIMALS_TOTAL) @@ -3622,7 +3625,7 @@ function get_default_npr($thirdparty_seller, $thirdparty_buyer, $idprod=0, $idpr * @param Societe $thirdparty_buyer Thirdparty buyer * @param int $local Localtax to process (1 or 2) * @param int $idprod Id product - * @return float localtax, -1 si ne peut etre determine + * @return integer localtax, -1 si ne peut etre determine * @see get_default_tva, get_default_npr */ function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $idprod=0) @@ -3664,7 +3667,7 @@ function get_default_localtax($thirdparty_seller, $thirdparty_buyer, $local, $id * Return yes or no in current language * * @param string $yesno Value to test (1, 'yes', 'true' or 0, 'no', 'false') - * @param string $case 1=Yes/No, 0=yes/no, 2=Disabled checkbox, 3=Disabled checkbox + Yes/No + * @param integer $case 1=Yes/No, 0=yes/no, 2=Disabled checkbox, 3=Disabled checkbox + Yes/No * @param int $color 0=texte only, 1=Text is formated with a color font style ('ok' or 'error'), 2=Text is formated with 'ok' color. * @return string HTML string */ @@ -3805,7 +3808,7 @@ function picto_required() * Clean a string from all HTML tags and entities * * @param string $StringHtml String to clean - * @param string $removelinefeed Replace also all lines feeds by a space, otherwise only last one are removed + * @param integer $removelinefeed Replace also all lines feeds by a space, otherwise only last one are removed * @param string $pagecodeto Encoding of input/output string * @return string String cleaned * @@ -4181,7 +4184,7 @@ function print_date_range($date_start,$date_end,$format = '',$outputlangs='') * @param int $date_end End date * @param string $format Output format * @param Translate $outputlangs Output language - * @param string $withparenthesis 1=Add parenthesis, 0=non parenthesis + * @param integer $withparenthesis 1=Add parenthesis, 0=non parenthesis * @return string String */ function get_date_range($date_start,$date_end,$format = '',$outputlangs='', $withparenthesis=1) @@ -4540,7 +4543,7 @@ function utf8_check($str) /** - * Return an UTF-8 string encoded into OS filesystem encoding. This function is used to define + * Return a string encoded into OS filesystem encoding. This function is used to define * value to pass to filesystem PHP functions. * * @param string $str String to encode (UTF-8) @@ -4843,7 +4846,7 @@ function printCommonFooter($zone='private') print 'MAIN_OPTIMIZE_SPEED='.(isset($conf->global->MAIN_OPTIMIZE_SPEED)?$conf->global->MAIN_OPTIMIZE_SPEED:'off'); if ($micro_start_time) { - $micro_end_time=dol_microtime_float(true); + $micro_end_time=dol_microtime_float(); print ' - Build time: '.ceil(1000*($micro_end_time-$micro_start_time)).' ms'; } if (function_exists("memory_get_usage")) @@ -4944,34 +4947,64 @@ function dol_getmypid() /** - * Natural search + * Generate natural SQL search string * - * @param mixed $fields String or array of strings filled with the fields names in the SQL query - * @param string $value The value to look for (example: "keyword1 keyword2") - * @return string $res The statement to append to the SQL query + * @param string|string[] $fields String or array of strings, filled with the name of fields in the SQL query + * @param string $value The value to look for. + * If param $numeric is 0, can contains several keywords separated with a space, like "keyword1 keyword2" = We want record field like keyword1 and field like keyword2 + * If param $numeric is 1, can contains an operator <>= like "<10" or ">=100.5 < 1000" + * @param integer $numeric 0=value is list of keywords, 1=value is a numeric test + * @return string $res The statement to append to the SQL query */ -function natural_search($fields, $value) +function natural_search($fields, $value, $numeric=0) { - global $db; + global $db,$langs; + + if ($numeric) + { + $value=preg_replace('/([<>=]+)\s+([0-9'.preg_quote($langs->trans("DecimalSeparator"),'/').'\-])/','\1\2',$value); // Clean string '< 10' into '<10' so we can the explode on space to get all tests to do + } $crits = explode(' ', $value); $res = ''; if (! is_array($fields)) $fields = array($fields); - $end = count($fields); + $nboffields = count($fields); $end2 = count($crits); $j = 0; - foreach ($crits as $crit) { - $i = 0; - foreach ($fields as $field) { - if ( $i > 0 && $i < $end) $res .= " OR "; - $res .= $field . " LIKE '%" . $db->escape(trim($crit)) . "%'"; + foreach ($crits as $crit) + { + $i = 0; $i2 = 0; + $newres = ''; + foreach ($fields as $field) + { + if ($numeric) + { + $operator='='; + $newcrit = preg_replace('/([<>=]+)/','',trim($crit)); + + preg_match('/([<>=]+)/',trim($crit), $reg); + if ($reg[1]) + { + $operator = $reg[1]; + } + if ($newcrit != '') + { + $newres .= ($i2 > 0 ? ' OR ' : '') . $field . ' '.$operator.' '.price2num($newcrit); + $i2++; // a criteria was added to string + } + } + else + { + $newres .= ($i2 > 0 ? ' OR ' : '') . $field . " LIKE '%" . $db->escape(trim($crit)) . "%'"; + $i2++; // a criteria was added to string + } $i++; } - if ($end > 1) $res .= ')'; - if ($j < $end2 - 1) $res .= " AND "; - if ($end > 1 && $j < $end2 - 1) $res .= '('; + if ($newres) $res = $res . ($res ? ' AND ' : '') . ($i2 > 1 ? '(' : '') .$newres . ($i2 > 1 ? ')' : ''); $j++; } - return " AND " . ($end > 1? '(' : '') . $res; + $res = " AND (" . $res . ")"; + //print 'xx'.$res.'yy'; + return $res; } diff --git a/htdocs/core/lib/functions2.lib.php b/htdocs/core/lib/functions2.lib.php index 5faf1c1c470..f2b105242de 100644 --- a/htdocs/core/lib/functions2.lib.php +++ b/htdocs/core/lib/functions2.lib.php @@ -1549,6 +1549,9 @@ function dolGetElementUrl($objectid,$objecttype,$withpicto=0,$option='') if ($objecttype == 'propal') { $classpath = 'comm/propal/class'; } + if ($objecttype == 'askpricesupplier') { + $classpath = 'comm/askpricesupplier/class'; + } if ($objecttype == 'shipping') { $classpath = 'expedition/class'; $subelement = 'expedition'; @@ -1780,6 +1783,9 @@ function getElementProperties($element_type) if ($element_type == 'propal') { $classpath = 'comm/propal/class'; } + if ($element_type == 'askpricesupplier') { + $classpath = 'comm/askpricesupplier/class'; + } if ($element_type == 'shipping') { $classpath = 'expedition/class'; $subelement = 'expedition'; @@ -1879,7 +1885,7 @@ function colorArrayToHex($arraycolor,$colorifnotfound='888888') function colorStringToArray($stringcolor,$colorifnotfound=array(88,88,88)) { if (is_array($stringcolor)) return $stringcolor; // If already into correct output format, we return as is - $tmp=preg_match('/^([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])$/',$stringcolor,$reg); + $tmp=preg_match('/^#?([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])([0-9a-fA-F][0-9a-fA-F])$/',$stringcolor,$reg); if (! $tmp) { $tmp=explode(',',$stringcolor); diff --git a/htdocs/core/lib/json.lib.php b/htdocs/core/lib/json.lib.php index 0d92233e62a..121e719bb6f 100644 --- a/htdocs/core/lib/json.lib.php +++ b/htdocs/core/lib/json.lib.php @@ -269,7 +269,7 @@ function dol_json_decode($json, $assoc=false) /** * Return text according to type * - * @param mixed $val Value to decode + * @param string $val Value to decode * @return string Formated value */ function _unval($val) diff --git a/htdocs/core/lib/loan.lib.php b/htdocs/core/lib/loan.lib.php new file mode 100644 index 00000000000..be04beb1d9a --- /dev/null +++ b/htdocs/core/lib/loan.lib.php @@ -0,0 +1,77 @@ + + * 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/core/lib/loan.lib.php + * \ingroup loan + * \brief Library for loan module + */ + + +/** + * Prepare array with list of tabs + * + * @param Object $object Object related to tabs + * @return array Array of tabs to show + */ +function loan_prepare_head($object) +{ + global $langs, $conf; + + $tab = 0; + $head = array(); + + $head[$tab][0] = DOL_URL_ROOT.'/loan/card.php?id='.$object->id; + $head[$tab][1] = $langs->trans('Card'); + $head[$tab][2] = 'card'; + $tab++; + + if (empty($conf->global->MAIN_DISABLE_NOTES_TAB)) + { + $nbNote = (empty($object->note_private)?0:1)+(empty($object->note_public)?0:1); + $head[$tab][0] = DOL_URL_ROOT."/loan/note.php?id=".$object->id; + $head[$tab][1] = $langs->trans("Notes"); + if($nbNote > 0) $head[$tab][1].= ' '.$nbNote.''; + $head[$tab][2] = 'note'; + $tab++; + } + + // Show more tabs from modules + // Entries must be declared in modules descriptor with line + // $this->tabs = array('entity:+tabname:Title:@mymodule:/mymodule/mypage.php?id=__ID__'); to add new tab + // $this->tabs = array('entity:-tabname); to remove a tab + complete_head_from_modules($conf, $langs, $object, $head, $tab,'loan'); + + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + $upload_dir = $conf->loan->dir_output . "/" . dol_sanitizeFileName($object->ref); + $nbFiles = count(dol_dir_list($upload_dir,'files',0,'','(\.meta|_preview\.png)$')); + $head[$tab][0] = DOL_URL_ROOT.'/loan/document.php?id='.$object->id; + $head[$tab][1] = $langs->trans("Documents"); + if($nbFiles > 0) $head[$tab][1].= ' ('.$nbFiles.')'; + $head[$tab][2] = 'documents'; + $tab++; + + $head[$tab][0] = DOL_URL_ROOT.'/loan/info.php?id='.$object->id; + $head[$tab][1] = $langs->trans("Info"); + $head[$tab][2] = 'info'; + $tab++; + + complete_head_from_modules($conf,$langs,$object,$head,$tab,'loan','remove'); + + return $head; +} \ No newline at end of file diff --git a/htdocs/core/lib/pdf.lib.php b/htdocs/core/lib/pdf.lib.php index 390973bd681..e671f519607 100644 --- a/htdocs/core/lib/pdf.lib.php +++ b/htdocs/core/lib/pdf.lib.php @@ -615,12 +615,12 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $pdf->SetXY($curx, $cury); $pdf->MultiCell(100, 3, $outputlangs->transnoentities("BankAccountNumber").': ' . $outputlangs->convToOutputCharset($account->number), 0, 'L', 0); $cury+=3; - + if ($diffsizecontent <= 2) $cury+=1; } $pdf->SetFont('','',$default_font_size - $diffsizecontent); - + if (empty($onlynumber) && ! empty($account->domiciliation)) { $pdf->SetXY($curx, $cury); @@ -631,8 +631,18 @@ function pdf_bank(&$pdf,$outputlangs,$curx,$cury,$account,$onlynumber=0,$default $tmpy=$pdf->getStringHeight(100, $val); $cury+=$tmpy; } + + if (! empty($account->proprio)) + { + $pdf->SetXY($curx, $cury); + $val=$outputlangs->transnoentities("BankAccountOwner").': ' . $outputlangs->convToOutputCharset($account->proprio); + $pdf->MultiCell(100, 3, $val, 0, 'L', 0); + $tmpy=$pdf->getStringHeight(100, $val); + $cury+=$tmpy; + } + else if (! $usedetailedbban) $cury+=1; - + // Use correct name of bank id according to country $ibankey="IBANNumber"; if ($account->getCountryCode() == 'IN') $ibankey="IFSC"; @@ -931,7 +941,7 @@ function pdf_writeLinkedObjects(&$pdf,$object,$outputlangs,$posx,$posy,$w,$h,$al * @param int $hideref Hide reference * @param int $hidedesc Hide description * @param int $issupplierline Is it a line for a supplier object ? - * @return void + * @return string|null */ function pdf_writelinedesc(&$pdf,$object,$i,$outputlangs,$w,$h,$posx,$posy,$hideref=0,$hidedesc=0,$issupplierline=0) { @@ -1149,7 +1159,7 @@ function pdf_getlinedesc($object,$i,$outputlangs,$hideref=0,$hidedesc=0,$issuppl * @param int $i Current line number * @param Translate $outputlangs Object langs for output * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) - * @return void + * @return null|string */ function pdf_getlinenum($object,$i,$outputlangs,$hidedetails=0) { @@ -1175,7 +1185,7 @@ function pdf_getlinenum($object,$i,$outputlangs,$hidedetails=0) * @param int $i Current line number * @param Translate $outputlangs Object langs for output * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) - * @return void + * @return null|string */ function pdf_getlineref($object,$i,$outputlangs,$hidedetails=0) { @@ -1200,7 +1210,7 @@ function pdf_getlineref($object,$i,$outputlangs,$hidedetails=0) * @param int $i Current line number * @param Translate $outputlangs Object langs for output * @param int $hidedetails Hide details (0=no, 1=yes, 2=just special lines) - * @return void + * @return null|string */ function pdf_getlineref_supplier($object,$i,$outputlangs,$hidedetails=0) { @@ -1559,7 +1569,7 @@ function pdf_getlinetotalwithtax($object,$i,$outputlangs,$hidedetails=0) * @param Object $object Object * @param string $type Type * @param Translate $outputlangs Object langs for output - * @return void + * @return integer */ function pdf_getTotalQty($object,$type,$outputlangs) { diff --git a/htdocs/core/lib/price.lib.php b/htdocs/core/lib/price.lib.php index aac29ad5256..983f2f27d53 100644 --- a/htdocs/core/lib/price.lib.php +++ b/htdocs/core/lib/price.lib.php @@ -49,7 +49,7 @@ * @param int $type 0/1=Product/service * @param Societe $seller Thirdparty seller (we need $seller->country_id property). Provided only if seller is the supplier, otherwise $seller will be $mysoc. * @param array $localtaxes_array Array with localtaxes info (loaded by getLocalTaxesFromRate function). - * @param float $progress Situation invoices progress (value from 0 to 100, 100 by default) + * @param integer $progress Situation invoices progress (value from 0 to 100, 100 by default) * @return result[ 0=total_ht, * 1=total_vat, * 2=total_ttc, diff --git a/htdocs/core/lib/product.lib.php b/htdocs/core/lib/product.lib.php index 1aea8f9e37b..a02747bb8aa 100644 --- a/htdocs/core/lib/product.lib.php +++ b/htdocs/core/lib/product.lib.php @@ -27,7 +27,7 @@ /** * Prepare array with list of tabs * - * @param Object $object Object related to tabs + * @param Product $object Object related to tabs * @param User $user Object user * @return array Array of tabs to show */ @@ -183,7 +183,7 @@ function product_admin_prepare_head() * * @param Product $product Product object * @param int $socid Thirdparty id - * @return void + * @return integer */ function show_stats_for_company($product,$socid) { diff --git a/htdocs/core/lib/project.lib.php b/htdocs/core/lib/project.lib.php index eb7617b5c7e..0d4b43c9172 100644 --- a/htdocs/core/lib/project.lib.php +++ b/htdocs/core/lib/project.lib.php @@ -177,15 +177,29 @@ function project_timesheet_prepare_head($mode) $h = 0; - $head[$h][0] = DOL_URL_ROOT."/projet/activity/perday.php".($mode?'?mode='.$mode:''); - $head[$h][1] = $langs->trans("InputPerDay"); - $head[$h][2] = 'inputperday'; - $h++; + if (empty($conf->global->PROJECT_DISABLE_TIMESHEET_PERWEEK)) + { + $head[$h][0] = DOL_URL_ROOT."/projet/activity/perweek.php".($mode?'?mode='.$mode:''); + $head[$h][1] = $langs->trans("InputPerWeek"); + $head[$h][2] = 'inputperweek'; + $h++; + } - $head[$h][0] = DOL_URL_ROOT."/projet/activity/pertime.php".($mode?'?mode='.$mode:''); - $head[$h][1] = $langs->trans("InputPerTime"); - $head[$h][2] = 'inputpertime'; - $h++; + if (empty($conf->global->PROJECT_DISABLE_TIMESHEET_PERTIME)) + { + $head[$h][0] = DOL_URL_ROOT."/projet/activity/perday.php".($mode?'?mode='.$mode:''); + $head[$h][1] = $langs->trans("InputPerDay"); + $head[$h][2] = 'inputperday'; + $h++; + } + + /*if (empty($conf->global->PROJECT_DISABLE_TIMESHEET_PERACTION)) + { + $head[$h][0] = DOL_URL_ROOT."/projet/activity/peraction.php".($mode?'?mode='.$mode:''); + $head[$h][1] = $langs->trans("InputPerAction"); + $head[$h][2] = 'inputperaction'; + $h++; + }*/ complete_head_from_modules($conf,$langs,null,$head,$h,'project_timesheet'); @@ -234,10 +248,10 @@ function project_admin_prepare_head() /** * Show task lines with a particular parent * - * @param string $inc Counter that count number of lines legitimate to show (for return) - * @param int $parent Id of parent task to start - * @param array $lines Array of all tasks - * @param int $level Level of task + * @param string $inc Line number (start to 0, then increased by recursive call) + * @param string $parent Id of parent project to show (0 to show all) + * @param Task[] $lines Array of lines + * @param int $level Level (start to 0, then increased/decrease by recursive call) * @param string $var Color * @param int $showproject Show project columns * @param int $taskrole Array of roles of user for each tasks @@ -482,27 +496,21 @@ function projectLinesa(&$inc, $parent, &$lines, &$level, $var, $showproject, &$t /** * Output a task line into a pertime intput mode * - * @param string $inc ? - * @param string $parent ? - * @param Task[] $lines ? - * @param int $level ? - * @param string $projectsrole ? - * @param string $tasksrole ? + * @param string $inc Line number (start to 0, then increased by recursive call) + * @param string $parent Id of parent project to show (0 to show all) + * @param Task[] $lines Array of lines + * @param int $level Level (start to 0, then increased/decrease by recursive call) + * @param string $projectsrole Array of roles user has on project + * @param string $tasksrole Array of roles user has on task * @param string $mine Show only task lines I am assigned to * @param int $restricteditformytask 0=No restriction, 1=Enable add time only if task is a task i am affected to * @return $inc */ -function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0) +function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0) { global $db, $user, $bc, $langs; global $form, $formother, $projectstatic, $taskstatic; - if (! is_object($formother)) - { - require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; - $formother = new FormOther($db); - } - $lastprojectid=0; $var=true; @@ -524,20 +532,22 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ // If we want all or we have a role on task, we show it if (empty($mine) || ! empty($tasksrole[$lines[$i]->id])) { - print "
\n"; - - // Project - print "\n"; + + // Project + print ""; // Ref print ''; @@ -547,10 +557,12 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ for ($k = 0 ; $k < $level ; $k++) print "   "; $taskstatic->id=$lines[$i]->id; $taskstatic->ref=$lines[$i]->label; + $taskstatic->date_start=$lines[$i]->date_start; + $taskstatic->date_end=$lines[$i]->date_end; print $taskstatic->getNomUrl(0); - print "
"; - for ($k = 0 ; $k < $level ; $k++) print "   "; - print get_date_range($lines[$i]->date_start,$lines[$i]->date_end,'',$langs,0); + //print "
"; + //for ($k = 0 ; $k < $level ; $k++) print "   "; + //print get_date_range($lines[$i]->date_start,$lines[$i]->date_end,'',$langs,0); print "\n"; // Planned Workload @@ -564,8 +576,9 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ print $formother->select_percent($lines[$i]->progress, $lines[$i]->id . 'progress'); print ''; - // Time spent + // Time spent by everybody print '\n"; + // Time spent by user + print '\n"; + $disabledproject=1;$disabledtask=1; //print "x".$lines[$i]->fk_project; //var_dump($lines[$i]); @@ -592,12 +612,14 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ } // Form to add new time - print ''; @@ -611,7 +633,7 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ $inc++; $level++; - if ($lines[$i]->id) projectLinesPerTime($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); + if ($lines[$i]->id) projectLinesPerDay($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); $level--; } else @@ -628,27 +650,23 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ /** * Output a task line into a perday intput mode * - * @param string $inc ? - * @param string $parent ? - * @param Task[] $lines ? - * @param int $level ? - * @param string $projectsrole ? - * @param string $tasksrole ? + * @param string $inc Line number (start to 0, then increased by recursive call) + * @param int $firstdaytoshow First day to show + * @param User|null $fuser Restrict list to user if defined + * @param string $parent Id of parent project to show (0 to show all) + * @param Task[] $lines Array of lines + * @param int $level Level (start to 0, then increased/decrease by recursive call) + * @param string $projectsrole Array of roles user has on project + * @param string $tasksrole Array of roles user has on task * @param string $mine Show only task lines I am assigned to * @param int $restricteditformytask 0=No restriction, 1=Enable add time only if task is a task i am affected to * @return $inc */ -function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0) +function projectLinesPerWeek(&$inc, $firstdaytoshow, $fuser, $parent, $lines, &$level, &$projectsrole, &$tasksrole, $mine, $restricteditformytask=0) { global $db, $user, $bc, $langs; global $form, $formother, $projectstatic, $taskstatic; - if (! is_object($formother)) - { - require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; - $formother = new FormOther($db); - } - $lastprojectid=0; $var=true; @@ -667,7 +685,7 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t $lastprojectid=$lines[$i]->fk_project; $projectstatic->id = $lines[$i]->fk_project; - $projectstatic->loadTimeSpent($datestart, $lines[$i]->id, $fuser->id); + $projectstatic->loadTimeSpent($firstdaytoshow, 0, $fuser->id); // Load time spent into this->weekWorkLoad and this->weekWorkLoadPerTaks for all day of a week } // If we want all or we have a role on task, we show it @@ -688,18 +706,21 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t print ''; // Label task print "\n"; // Planned Workload @@ -713,9 +734,9 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t print $formother->select_percent($lines[$i]->progress, $lines[$i]->id . 'progress'); print ''; - // Time spent - /* + // Time spent by everybody print '\n"; - */ + + // Time spent by user + print '\n"; $disabledproject=1;$disabledtask=1; //print "x".$lines[$i]->fk_project; @@ -742,18 +769,22 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t $disabledtask=1; } - //var_dump($projectstatic->weekWorkLoad); + //var_dump($projectstatic->weekWorkLoadPerTask); // Fields to show current time $tableCell=''; $modeinput='hours'; for ($idw = 0; $idw < 7; $idw++) { - $dayWorkLoad = 0; + $tmpday=dol_time_plus_duree($firstdaytoshow, $idw, 'd'); + $dayWorkLoad = $projectstatic->weekWorkLoadPerTask[$tmpday][$lines[$i]->id]; + $alreadyspent=''; + if ($dayWorkLoad > 0) $alreadyspent=convertSecondToTime($dayWorkLoad,'allhourmin'); $tableCell =''; print $tableCell; } @@ -762,7 +793,7 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t $inc++; $level++; - if ($lines[$i]->id) projectLinesPerDay($inc, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); + if ($lines[$i]->id) projectLinesPerWeek($inc, $firstdaytoshow, $fuser, $lines[$i]->id, $lines, $level, $projectsrole, $tasksrole, $mine, $restricteditformytask); $level--; } else @@ -927,7 +958,8 @@ function print_projecttasks_array($db, $socid, $projectsListId, $mytasks=0, $sta print "
'.$langs->trans("Ref").''.$langs->trans("Name").''.$langs->trans("DateStart").''.$langs->trans("DateEnd").''.$langs->trans("Status").'
'.img_object($langs->trans("ShowProject"),($obj->public?'projectpub':'project'))." ".$obj->ref.''.img_object($langs->trans("ShowProject"),($obj->public?'projectpub':'project'))." ".$obj->ref.''.$obj->title.''.dol_print_date($db->jdate($obj->do),"day").''.dol_print_date($db->jdate($obj->de),"day").''.$projecttmp->getLibStatut(5).'
"; $projectstatic->id=$lines[$i]->fk_project; $projectstatic->ref=$lines[$i]->projectref; $projectstatic->public=$lines[$i]->public; $projectstatic->label=$langs->transnoentitiesnoconv("YourRole").': '.$projectsrole[$lines[$i]->fk_project]; + + $taskstatic->id=$lines[$i]->id; + + print "
"; print $projectstatic->getNomUrl(1); print "'; - $taskstatic->id=$lines[$i]->id; $taskstatic->ref=($lines[$i]->ref?$lines[$i]->ref:$lines[$i]->id); print $taskstatic->getNomUrl(1); print ''; + // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user if ($lines[$i]->duration) { print ''; @@ -575,6 +588,13 @@ function projectLinesPerTime(&$inc, $parent, $lines, &$level, &$projectsrole, &$ else print '--:--'; print "'; + $tmptimespent=$taskstatic->getSummaryOfTimeSpent(); + if ($tmptimespent['total_duration']) print convertSecondToTime($tmptimespent['total_duration'],'allhourmin'); + else print '--:--'; + print "'; + print ''; $s=''; - $s.=$form->select_date('',$lines[$i]->id,0,0,2,"addtime",1,0,1,$disabledtask); - $s.='   '; - $s.=$form->select_duration($lines[$i]->id,'',$disabledtask,'text',0,1); - $s.=' '; + $s.=$form->select_date('',$lines[$i]->id,1,1,2,"addtime",1,0,1,$disabledtask); + print $s; + print ''; + //$s.='   '; + $s=$form->select_duration($lines[$i]->id.'duration','',$disabledtask,'text',0,1); + //$s.=' '; print $s; print ''; $taskstatic->id=$lines[$i]->id; $taskstatic->ref=($lines[$i]->ref?$lines[$i]->ref:$lines[$i]->id); - print $taskstatic->getNomUrl(1); + print $taskstatic->getNomUrl(1, 'withproject', 'time'); print '"; + print ''; for ($k = 0 ; $k < $level ; $k++) print "   "; $taskstatic->id=$lines[$i]->id; $taskstatic->ref=$lines[$i]->label; - print $taskstatic->getNomUrl(0); - print "
"; - for ($k = 0 ; $k < $level ; $k++) print "   "; - print get_date_range($lines[$i]->date_start,$lines[$i]->date_end,'',$langs,0); + $taskstatic->date_start=$lines[$i]->date_start; + $taskstatic->date_end=$lines[$i]->date_end; + print $taskstatic->getNomUrl(0, 'withproject', 'time'); + //print "
"; + //for ($k = 0 ; $k < $level ; $k++) print "   "; + //print get_date_range($lines[$i]->date_start,$lines[$i]->date_end,'',$langs,0); print "
'; + // $lines[$i]->duration is a denormalised field = summ of time spent by everybody for task. What we need is time consummed by user if ($lines[$i]->duration) { print ''; @@ -724,7 +745,13 @@ function projectLinesPerDay(&$inc, $parent, $lines, &$level, &$projectsrole, &$t } else print '--:--'; print "'; + $tmptimespent=$taskstatic->getSummaryOfTimeSpent(); + if ($tmptimespent['total_duration']) print convertSecondToTime($tmptimespent['total_duration'],'allhourmin'); + else print '--:--'; + print "'; - $tableCell.='+'; - $tableCell.=''; + $tableCell.='+'; + $tableCell.=''; + $tableCell.= 'onblur="regexEvent(this,event,\''.$modeinput.'\'); updateTotal('.$idw.',\''.$modeinput.'\')" />'; $tableCell.='
"; - if (!empty($conf->global->PROJECT_LIMIT_YEAR_RANGE)) { + if (!empty($conf->global->PROJECT_LIMIT_YEAR_RANGE)) + { //Add the year filter input print ''; print ''; diff --git a/htdocs/core/lib/treeview.lib.php b/htdocs/core/lib/treeview.lib.php index 470da211f2e..08fa63c52c6 100644 --- a/htdocs/core/lib/treeview.lib.php +++ b/htdocs/core/lib/treeview.lib.php @@ -31,7 +31,7 @@ * @param array $fulltree Array of entries in correct order * @param string $key Key of entry into fulltree to show picto * @param int $silent Do not output indent and picto, returns only value - * @return array array(0 or 1 if at least one of this level after, 0 or 1 if at least one of higher level after, nbofdirinsub, nbofdocinsub) + * @return integer[] array(0 or 1 if at least one of this level after, 0 or 1 if at least one of higher level after, nbofdirinsub, nbofdocinsub) */ function tree_showpad(&$fulltree,$key,$silent=0) { diff --git a/htdocs/core/lib/usergroups.lib.php b/htdocs/core/lib/usergroups.lib.php index 41b7996cbfd..b70c1e2517a 100644 --- a/htdocs/core/lib/usergroups.lib.php +++ b/htdocs/core/lib/usergroups.lib.php @@ -339,8 +339,9 @@ function show_theme($fuser,$edit=0,$foruserprofile=false) if (is_dir($dirtheme."/".$subdir) && substr($subdir, 0, 1) <> '.' && substr($subdir, 0, 3) <> 'CVS' && ! preg_match('/common|phones/i',$subdir)) { - // Disable not stable themes - //if ($conf->global->MAIN_FEATURES_LEVEL < 1 && preg_match('/bureau2crea/i',$subdir)) continue; + // Disable not stable themes (dir ends with _exp or _dev) + if ($conf->global->MAIN_FEATURES_LEVEL < 2 && preg_match('/_dev$/i',$subdir)) continue; + if ($conf->global->MAIN_FEATURES_LEVEL < 1 && preg_match('/_exp$/i',$subdir)) continue; print '
'; $file=$dirtheme."/".$subdir."/thumb.png"; diff --git a/htdocs/core/login/functions_dolibarr.php b/htdocs/core/login/functions_dolibarr.php index 8e5a8b13ea9..8654c866969 100644 --- a/htdocs/core/login/functions_dolibarr.php +++ b/htdocs/core/login/functions_dolibarr.php @@ -36,9 +36,6 @@ function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest=1) { global $db,$conf,$langs; - global $mc; - - dol_syslog("functions_dolibarr::check_user_password_dolibarr usertotest=".$usertotest); // Force master entity in transversal mode $entity=$entitytotest; @@ -48,6 +45,8 @@ function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest= if (! empty($usertotest)) { + dol_syslog("functions_dolibarr::check_user_password_dolibarr usertotest=".$usertotest." passwordtotest=".preg_replace('/./','*',$passwordtotest)." entitytotest=".$entitytotest); + // If test username/password asked, we define $test=false and $login var if ok, set $_SESSION["dol_loginmesg"] if ko $table = MAIN_DB_PREFIX."user"; $usernamecol1 = 'login'; @@ -60,7 +59,6 @@ function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest= if (preg_match('/@/',$usertotest)) $sql.=' OR '.$usernamecol2." = '".$db->escape($usertotest)."'"; $sql.=') AND '.$entitycol." IN (0," . ($entity ? $entity : 1) . ")"; - dol_syslog("functions_dolibarr::check_user_password_dolibarr", LOG_DEBUG); $resql=$db->query($sql); if ($resql) { @@ -99,12 +97,6 @@ function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest= } } - if ($passok && ! empty($obj->entity) && (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode))) - { - $ret=$mc->checkRight($obj->rowid, $entitytotest); - if ($ret < 0) $passok=false; - } - // Password ok ? if ($passok) { @@ -112,12 +104,31 @@ function check_user_password_dolibarr($usertotest,$passwordtotest,$entitytotest= } else { - dol_syslog("functions_dolibarr::check_user_password_dolibarr Authentification ko bad password pour '".$usertotest."'"); + dol_syslog("functions_dolibarr::check_user_password_dolibarr Authentification ko bad password for '".$usertotest."'"); sleep(1); $langs->load('main'); $langs->load('errors'); $_SESSION["dol_loginmesg"]=$langs->trans("ErrorBadLoginPassword"); } + + // We must check entity + if ($passok) + { + global $mc; + + if (!isset($mc)) { + //Global not available, disable $conf->multicompany->enabled for safety + $conf->multicompany->enabled = false; + } + + if (! empty($conf->multicompany->enabled)) { + $ret = $mc->checkRight($obj->rowid, $entitytotest); + if ($ret < 0) { + dol_syslog("functions_dolibarr::check_user_password_dolibarr Authentification ko entity '" . $entitytotest . "' not allowed for user '" . $obj->rowid . "'"); + $login = ''; // force authentication failure + } + } + } } else { diff --git a/htdocs/core/login/functions_ldap.php b/htdocs/core/login/functions_ldap.php index 88a5f55de19..208ccd0c37c 100644 --- a/htdocs/core/login/functions_ldap.php +++ b/htdocs/core/login/functions_ldap.php @@ -34,7 +34,8 @@ */ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) { - global $_POST,$db,$conf,$langs; + global $db,$conf,$langs; + global $_POST; global $dolibarr_main_auth_ldap_host,$dolibarr_main_auth_ldap_port; global $dolibarr_main_auth_ldap_version,$dolibarr_main_auth_ldap_servertype; global $dolibarr_main_auth_ldap_login_attribute,$dolibarr_main_auth_ldap_dn; @@ -42,6 +43,13 @@ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) global $dolibarr_main_auth_ldap_filter; global $dolibarr_main_auth_ldap_debug; + // Force master entity in transversal mode + $entity=$entitytotest; + if (! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)) $entity=1; + + $login=''; + $resultFetchUser=''; + if (! function_exists("ldap_connect")) { dol_syslog("functions_ldap::check_user_password_ldap Authentification ko failed to connect to LDAP. LDAP functions are disabled on this PHP"); @@ -52,11 +60,10 @@ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) return; } - $login=''; - $resultFetchUser=''; - - if (!empty($_POST["username"]) || $usertotest) + if ($usertotest) { + dol_syslog("functions_ldap::check_user_password_ldap usertotest=".$usertotest." passwordtotest=".preg_replace('/./','*',$passwordtotest)." entitytotest=".$entitytotest); + // If test username/password asked, we define $test=false and $login var if ok, set $_SESSION["dol_loginmesg"] if ko $ldaphost=$dolibarr_main_auth_ldap_host; $ldapport=$dolibarr_main_auth_ldap_port; @@ -80,7 +87,6 @@ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) $ldap->searchUser=$ldapadminlogin; $ldap->searchPassword=$ldapadminpass; - dol_syslog("functions_ldap::check_user_password_ldap usertotest=".$usertotest); if ($ldapdebug) { dol_syslog("functions_ldap::check_user_password_ldap Server:".join(',',$ldap->server).", Port:".$ldap->serverPort.", Protocol:".$ldap->ldapProtocolVersion.", Type:".$ldap->serverType); @@ -146,47 +152,56 @@ function check_user_password_ldap($usertotest,$passwordtotest,$entitytotest) $login=$usertotest; // ldap2dolibarr synchronisation - if ($login && ! empty($conf->ldap->enabled) && $conf->global->LDAP_SYNCHRO_ACTIVE == 'ldap2dolibarr') + if ($login && ! empty($conf->ldap->enabled) && $conf->global->LDAP_SYNCHRO_ACTIVE == 'ldap2dolibarr') // ldap2dolibarr synchronisation { - dol_syslog("functions_ldap::check_user_password_ldap Sync ldap2dolibarr"); + dol_syslog("functions_ldap::check_user_password_ldap Sync ldap2dolibarr"); - // On charge les attributs du user ldap - if ($ldapdebug) print "DEBUG: login ldap = ".$login."
\n"; - $resultFetchLdapUser = $ldap->fetch($login,$userSearchFilter); + // On charge les attributs du user ldap + if ($ldapdebug) print "DEBUG: login ldap = ".$login."
\n"; + $resultFetchLdapUser = $ldap->fetch($login,$userSearchFilter); - if ($ldapdebug) print "DEBUG: UACF = ".join(',',$ldap->uacf)."
\n"; - if ($ldapdebug) print "DEBUG: pwdLastSet = ".dol_print_date($ldap->pwdlastset,'day')."
\n"; - if ($ldapdebug) print "DEBUG: badPasswordTime = ".dol_print_date($ldap->badpwdtime,'day')."
\n"; + if ($ldapdebug) print "DEBUG: UACF = ".join(',',$ldap->uacf)."
\n"; + if ($ldapdebug) print "DEBUG: pwdLastSet = ".dol_print_date($ldap->pwdlastset,'day')."
\n"; + if ($ldapdebug) print "DEBUG: badPasswordTime = ".dol_print_date($ldap->badpwdtime,'day')."
\n"; - // On recherche le user dolibarr en fonction de son SID ldap - $sid = $ldap->getObjectSid($login); - if ($ldapdebug) print "DEBUG: sid = ".$sid."
\n"; + // On recherche le user dolibarr en fonction de son SID ldap + $sid = $ldap->getObjectSid($login); + if ($ldapdebug) print "DEBUG: sid = ".$sid."
\n"; - $user=new User($db); - $resultFetchUser=$user->fetch('',$login,$sid); - if ($resultFetchUser > 0) - { - dol_syslog("functions_ldap::check_user_password_ldap Sync user found id=".$user->id); - // On verifie si le login a change et on met a jour les attributs dolibarr - - if ($conf->multicompany->enabled) { - global $mc; - - $ret=$mc->checkRight($user->id, $entitytotest); - if ($ret < 0) $login=false; // provoque l'echec de l'identification - } - - - if ($user->login != $ldap->login && $ldap->login) + $usertmp=new User($db); + $resultFetchUser=$usertmp->fetch('',$login,$sid); + if ($resultFetchUser > 0) { - $user->login = $ldap->login; - $user->update($user); - // TODO Que faire si update echoue car on update avec un login deja existant. - } + dol_syslog("functions_ldap::check_user_password_ldap Sync user found user id=".$usertmp->id); + // On verifie si le login a change et on met a jour les attributs dolibarr - //$resultUpdate = $user->update_ldap2dolibarr($ldap); - } + if ($usertmp->login != $ldap->login && $ldap->login) + { + $usertmp->login = $ldap->login; + $usertmp->update($usertmp); + // TODO Que faire si update echoue car on update avec un login deja existant. + } + + //$resultUpdate = $usertmp->update_ldap2dolibarr($ldap); + } + unset($usertmp); } + + if (! empty($conf->multicompany->enabled)) // We must check entity (even if sync is not active) + { + global $mc; + + $usertmp=new User($db); + $usertmp->fetch('',$login); + $ret=$mc->checkRight($usertmp->id, $entitytotest); + if ($ret < 0) + { + dol_syslog("functions_ldap::check_user_password_ldap Authentification ko entity '".$entitytotest."' not allowed for user '".$usertmp->id."'"); + $login=''; // force authentication failure + } + unset($usertmp); + } + } if ($result == 1) { diff --git a/htdocs/core/menus/init_menu_auguria.sql b/htdocs/core/menus/init_menu_auguria.sql index b2f81ed1769..f481abdcf0c 100644 --- a/htdocs/core/menus/init_menu_auguria.sql +++ b/htdocs/core/menus/init_menu_auguria.sql @@ -12,12 +12,12 @@ insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, left insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('societe|fournisseur', '( ! empty($conf->societe->enabled) && (empty($conf->global->SOCIETE_DISABLE_PROSPECTS) || empty($conf->global->SOCIETE_DISABLE_CUSTOMERS))) || ! empty($conf->fournisseur->enabled)', 2__+MAX_llx_menu__, __HANDLER__, 'top', 'companies', '', 0, '/societe/index.php?mainmenu=companies&leftmenu=', 'ThirdParties', -1, 'companies', '$user->rights->societe->lire || $user->rights->societe->contact->lire', '', 2, 20, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('product|service', '$conf->product->enabled || $conf->service->enabled', 3__+MAX_llx_menu__, __HANDLER__, 'top', 'products', '', 0, '/product/index.php?mainmenu=products&leftmenu=', 'Products/Services', -1, 'products', '$user->rights->produit->lire||$user->rights->service->lire', '', 0, 30, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('propal|commande|fournisseur|contrat|ficheinter', '$conf->propal->enabled || $conf->commande->enabled || $conf->fournisseur->enabled || $conf->contrat->enabled || $conf->ficheinter->enabled', 5__+MAX_llx_menu__, __HANDLER__, 'top', 'commercial', '', 0, '/comm/index.php?mainmenu=commercial&leftmenu=', 'Commercial', -1, 'commercial', '$user->rights->societe->lire || $user->rights->societe->contact->lire', '', 2, 40, __ENTITY__); -insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('comptabilite|accounting|facture|deplacement|don|tax|salaries', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->deplacement->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->deplacement->lire || $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read', '', 2, 50, __ENTITY__); +insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('comptabilite|accounting|facture|deplacement|don|tax|salaries|loan', '$conf->comptabilite->enabled || $conf->accounting->enabled || $conf->facture->enabled || $conf->deplacement->enabled || $conf->don->enabled || $conf->tax->enabled || $conf->salaries->enabled || $conf->loan->enabled', 6__+MAX_llx_menu__, __HANDLER__, 'top', 'accountancy', '', 0, '/compta/index.php?mainmenu=accountancy&leftmenu=', 'MenuFinancial', -1, 'compta', '$user->rights->compta->resultat->lire || $user->rights->accounting->plancompte->lire || $user->rights->facture->lire|| $user->rights->deplacement->lire || $user->rights->don->lire || $user->rights->tax->charges->lire || $user->rights->salaries->read || $user->rights->loan->read', '', 2, 50, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('banque|prelevement', '$conf->banque->enabled || $conf->prelevement->enabled', 14__+MAX_llx_menu__, __HANDLER__, 'top', 'bank', '', 0, '/compta/bank/index.php?mainmenu=bank&leftmenu=bank', 'MenuBankCash', -1, 'banks', '$user->rights->banque->lire || $user->rights->prelevement->bons->lire', '', 0, 60, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('projet', '$conf->projet->enabled', 7__+MAX_llx_menu__, __HANDLER__, 'top', 'project', '', 0, '/projet/index.php?mainmenu=project&leftmenu=', 'Projects', -1, 'projects', '$user->rights->projet->lire', '', 2, 70, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('mailing|export|import|opensurvey', '$conf->mailing->enabled || $conf->export->enabled || $conf->import->enabled || $conf->opensurvey->enabled', 8__+MAX_llx_menu__, __HANDLER__, 'top', 'tools', '', 0, '/core/tools.php?mainmenu=tools&leftmenu=', 'Tools', -1, 'other', '$user->rights->mailing->lire || $user->rights->export->lire || $user->rights->import->run || $user->rights->opensurvey->read', '', 2, 90, __ENTITY__); insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('adherent', '$conf->adherent->enabled', 13__+MAX_llx_menu__, __HANDLER__, 'top', 'members', '', 0, '/adherents/index.php?mainmenu=members&leftmenu=', 'Members', -1, 'members', '$user->rights->adherent->lire', '', 2, 110, __ENTITY__); -insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm', '$conf->holiday->enabled || $conf->deplacement->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/compta/hrm.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->holiday->write || $user->rights->deplacement->lire', '', 0, 80, __ENTITY__); +insert into llx_menu (module, enabled, rowid, menu_handler, type, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('hrm', '$conf->holiday->enabled || $conf->deplacement->enabled || $conf->expensereport->enabled', 15__+MAX_llx_menu__, __HANDLER__, 'top', 'hrm', '', 0, '/compta/hrm.php?mainmenu=hrm&leftmenu=', 'HRM', -1, 'holiday', '$user->rights->holiday->write || $user->rights->deplacement->lire || $user->rights->expensereport->lire', '', 0, 80, __ENTITY__); -- Home - Setup insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$user->admin', __HANDLER__, 'left', 100__+MAX_llx_menu__, 'home', 'setup', 1__+MAX_llx_menu__, '/admin/index.php?leftmenu=setup', 'Setup', 0, 'admin', '', '', 2, 0, __ENTITY__); @@ -172,15 +172,19 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left -- Accountancy - Orders to bill insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->commande->enabled', __HANDLER__, 'left', 1900__+MAX_llx_menu__, 'accountancy', 'orders', 6__+MAX_llx_menu__, '/commande/list.php?leftmenu=orders&viewstatut=3', 'MenuOrdersToBill', 0, 'orders', '$user->rights->commande->lire', '', 0, 3, __ENTITY__); -- Donations -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled', __HANDLER__, 'left', 2000__+MAX_llx_menu__, 'accountancy', 'donations', 6__+MAX_llx_menu__, '/compta/dons/index.php?leftmenu=donations&mainmenu=accountancy', 'Donations', 0, 'donations', '$user->rights->don->lire', '', 2, 4, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2001__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/card.php?leftmenu=donations&mainmenu=accountancy&action=create', 'NewDonation', 1, 'donations', '$user->rights->don->creer', '', 2, 0, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/list.php?leftmenu=donations&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__); ---insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/compta/dons/stats.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled', __HANDLER__, 'left', 2000__+MAX_llx_menu__, 'accountancy', 'donations', 6__+MAX_llx_menu__, '/don/index.php?leftmenu=donations&mainmenu=accountancy', 'Donations', 0, 'donations', '$user->rights->don->lire', '', 2, 4, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2001__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/don/card.php?leftmenu=donations&mainmenu=accountancy&action=create', 'NewDonation', 1, 'donations', '$user->rights->don->creer', '', 2, 0, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2002__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/don/list.php?leftmenu=donations&mainmenu=accountancy', 'List', 1, 'donations', '$user->rights->don->lire', '', 2, 1, __ENTITY__); +-- insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->don->enabled && $leftmenu=="donations"', __HANDLER__, 'left', 2003__+MAX_llx_menu__, 'accountancy', '', 2000__+MAX_llx_menu__, '/don/stats/index.php?leftmenu=donations&mainmenu=accountancy', 'Statistics', 1, 'donations', '$user->rights->don->lire', '', 2, 2, __ENTITY__); -- Special expenses insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled || $conf->salaries->enabled', __HANDLER__, 'left', 2200__+MAX_llx_menu__, 'accountancy', 'tax', 6__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy', 'MenuSpecialExpenses', 0, 'compta', '(! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)', '', 0, 6, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled', __HANDLER__, 'left', 2210__+MAX_llx_menu__, 'accountancy', 'tax_sal', 2200__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary&mainmenu=accountancy', 'Salaries', 1, 'salaries', '$user->rights->salaries->read', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2211__+MAX_llx_menu__, 'accountancy', '', 2210__+MAX_llx_menu__, '/compta/salaries/card.php?leftmenu=tax_salary&action=create', 'NewPayment', 2, 'companies', '$user->rights->salaries->write', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->salaries->enabled && $leftmenu=="tax_salary"', __HANDLER__, 'left', 2212__+MAX_llx_menu__, 'accountancy', '', 2210__+MAX_llx_menu__, '/compta/salaries/index.php?leftmenu=tax_salary', 'Payments', 2, 'companies', '$user->rights->salaries->read', '', 0, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled', __HANDLER__, 'left', 2220__+MAX_llx_menu__, 'accountancy', 'tax_loan', 2200__+MAX_llx_menu__, '/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy', 'Loans', 1, 'loan', '$user->rights->loan->read', '', 0, 1, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2221__+MAX_llx_menu__, 'accountancy', '', 2220__+MAX_llx_menu__, '/loan/card.php?leftmenu=tax_loan&action=create', 'NewLoan', 2, 'loan', '$user->rights->loan->write', '', 0, 2, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2222__+MAX_llx_menu__, 'accountancy', '', 2220__+MAX_llx_menu__, '/loan/index.php?leftmenu=tax_loan', 'Payments', 2, 'companies', '$user->rights->loan->read', '', 0, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->loan->enabled && $leftmenu=="tax_loan"', __HANDLER__, 'left', 2223__+MAX_llx_menu__, 'accountancy', '', 2220__+MAX_llx_menu__, '/loan/calc.php?leftmenu=tax_loan', 'Calculator', 2, 'companies', '$user->rights->loan->calc', '', 0, 4, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled', __HANDLER__, 'left', 2250__+MAX_llx_menu__, 'accountancy', 'tax_social', 2200__+MAX_llx_menu__, '/compta/sociales/index.php?leftmenu=tax_social', 'SocialContributions', 1, '', '$user->rights->tax->charges->lire', '', 0, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2251__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/sociales/charges.php?leftmenu=tax_social&action=create', 'MenuNewSocialContribution', 2, '', '$user->rights->tax->charges->creer', '', 0, 2, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->tax->enabled && $leftmenu=="tax_social"', __HANDLER__, 'left', 2252__+MAX_llx_menu__, 'accountancy', '', 2250__+MAX_llx_menu__, '/compta/charges/index.php?leftmenu=tax_social&mainmenu=accountancy&mode=sconly', 'Payments', 2, '', '$user->rights->tax->charges->lire', '', 0, 3, __ENTITY__); @@ -244,12 +248,12 @@ insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, left insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3700__+MAX_llx_menu__, 'project', '', 7__+MAX_llx_menu__, '/projet/activity/index.php?leftmenu=projects', 'Activities', 0, 'projects', '$user->rights->projet->lire', '', 2, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3701__+MAX_llx_menu__, 'project', '', 3700__+MAX_llx_menu__, '/projet/tasks.php?leftmenu=projects&action=create', 'NewTask', 1, 'projects', '$user->rights->projet->creer', '', 2, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3702__+MAX_llx_menu__, 'project', '', 3700__+MAX_llx_menu__, '/projet/tasks/index.php?leftmenu=projects', 'List', 1, 'projects', '$user->rights->projet->lire', '', 2, 2, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3703__+MAX_llx_menu__, 'project', '', 3700__+MAX_llx_menu__, '/projet/activity/perday.php?leftmenu=projects', 'NewTimeSpent', 1, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3703__+MAX_llx_menu__, 'project', '', 3700__+MAX_llx_menu__, '/projet/activity/perweek.php?leftmenu=projects', 'NewTimeSpent', 1, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3800__+MAX_llx_menu__, 'project', '', 7__+MAX_llx_menu__, '/projet/activity/index.php?leftmenu=projects&mode=mine', 'MyActivities', 0, 'projects', '$user->rights->projet->lire', '', 2, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3801__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/tasks.php?leftmenu=projects&action=create&mode=mine', 'NewTask', 1, 'projects', '$user->rights->projet->creer', '', 2, 1, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3802__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/tasks/index.php?leftmenu=projects&mode=mine', 'List', 1, 'projects', '$user->rights->projet->lire', '', 2, 2, __ENTITY__); -insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3803__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/activity/perday.php?leftmenu=projects&mode=mine', 'NewTimeSpent', 1, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); +insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->projet->enabled', __HANDLER__, 'left', 3803__+MAX_llx_menu__, 'project', '', 3800__+MAX_llx_menu__, '/projet/activity/perweek.php?leftmenu=projects&mode=mine', 'NewTimeSpent', 1, 'projects', '$user->rights->projet->lire', '', 2, 3, __ENTITY__); -- Tools insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->mailing->enabled', __HANDLER__, 'left', 3900__+MAX_llx_menu__, 'tools', 'mailing', 8__+MAX_llx_menu__, '/comm/mailing/index.php?leftmenu=mailing', 'EMailings', 0, 'mails', '$user->rights->mailing->lire', '', 0, 0, __ENTITY__); insert into llx_menu (module, enabled, menu_handler, type, rowid, mainmenu, leftmenu, fk_menu, url, titre, level, langs, perms, target, usertype, position, entity) values ('', '$conf->mailing->enabled', __HANDLER__, 'left', 3901__+MAX_llx_menu__, 'tools', '', 3900__+MAX_llx_menu__, '/comm/mailing/card.php?leftmenu=mailing&action=create', 'NewMailing', 1, 'mails', '$user->rights->mailing->creer', '', 0, 0, __ENTITY__); diff --git a/htdocs/core/menus/standard/auguria.lib.php b/htdocs/core/menus/standard/auguria.lib.php index cbc73b2767d..59c0329b172 100644 --- a/htdocs/core/menus/standard/auguria.lib.php +++ b/htdocs/core/menus/standard/auguria.lib.php @@ -220,22 +220,27 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after,&$tabM $leftmenu=($forceleftmenu?'':(empty($_SESSION["leftmenu"])?'none':$_SESSION["leftmenu"])); // Show logo company - if (empty($noout) && ! empty($conf->global->MAIN_SHOW_LOGO)) + if (empty($noout) && ! empty($conf->global->MAIN_SHOW_LOGO) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { $mysoc->logo_mini=$conf->global->MAIN_INFO_SOCIETE_LOGO_MINI; if (! empty($mysoc->logo_mini) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) { $urllogo=DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=companylogo&file='.urlencode('thumbs/'.$mysoc->logo_mini); - print "\n".''."\n"; - print '
'."\n"; - print ''; - print ''; - print ''; - print ''; - print '
'."\n"; } + else + { + $urllogo=DOL_URL_ROOT.'/theme/dolibarr_logo.png'; + } + $title=$langs->trans("GoIntoSetupToChangeLogo"); + print "\n".''."\n"; + print '
'."\n"; + print ''; + print ''; + print ''; + print ''; + print '
'."\n"; } // We update newmenu with entries found into database diff --git a/htdocs/core/menus/standard/auguria_menu.php b/htdocs/core/menus/standard/auguria_menu.php index 88052f380c0..b54c746388e 100644 --- a/htdocs/core/menus/standard/auguria_menu.php +++ b/htdocs/core/menus/standard/auguria_menu.php @@ -158,7 +158,7 @@ class MenuManager * Show menu * * @param string $mode 'top', 'left', 'jmobile' - * @return void + * @return string */ function showmenu($mode) { @@ -218,18 +218,42 @@ class MenuManager } foreach($submenu->liste as $key2 => $val2) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu' { - $relurl2=dol_buildpath($val2['url'],1); - $relurl2=preg_replace('/__LOGIN__/',$user->login,$relurl2); - $relurl2=preg_replace('/__USERID__/',$user->id,$relurl2); - $canonurl2=preg_replace('/\?.*$/','',$val2['url']); - //var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']); - if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2=''; - if ($val2['level']==0) print str_pad('',$val2['level']+1).''; // ui-btn to highlight on clic - else print str_pad('',$val2['level']+1).'
  • '; // ui-btn to highlight on clic - if ($relurl2) print ''; - print $val2['titre']; - if ($relurl2) print ''; - print '
  • '."\n"; + $showmenu=true; + if (! empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) && empty($val2['enabled'])) $showmenu=false; + + if ($showmenu) // Visible (option to hide when not allowed is off or allowed) + { + $relurl2=dol_buildpath($val2['url'],1); + $relurl2=preg_replace('/__LOGIN__/',$user->login,$relurl2); + $relurl2=preg_replace('/__USERID__/',$user->id,$relurl2); + $canonurl2=preg_replace('/\?.*$/','',$val2['url']); + //var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']); + if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2=''; + if ($val2['level']==0) print str_pad('',$val2['level']+1).''; // ui-btn to highlight on clic + else print str_pad('',$val2['level']+1).'
  • '; // ui-btn to highlight on clic + if ($relurl2) + { + if ($val2['enabled']) // Allowed + { + print ''; + } + else // Not allowed but visible (greyed) + { + print ''; + } + } + print $val2['titre']; + if ($relurl2) + { + if ($val2['enabled']) // Allowed + print ''; + else + print ''; + } + print '
  • '."\n"; + } } //var_dump($submenu); print ''; diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index 24af20ea4af..d6ee928b121 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -3,6 +3,7 @@ * Copyright (C) 2010 Regis Houssin * Copyright (C) 2012-2014 Juanjo Menent * Copyright (C) 2013 CĆ©dric Salvador + * 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 @@ -134,9 +135,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0) } // Financial - $tmpentry=array('enabled'=>(! empty($conf->comptabilite->enabled) || ! empty($conf->accounting->enabled) || ! empty($conf->facture->enabled) || ! empty($conf->don->enabled) || ! empty($conf->tax->enabled) || ! empty($conf->salaries->enabled)), - 'perms'=>(! empty($user->rights->compta->resultat->lire) || ! empty($user->rights->accounting->plancompte->lire) || ! empty($user->rights->facture->lire) || ! empty($user->rights->don->lire) || ! empty($user->rights->tax->charges->lire) || ! empty($user->rights->salaries->read)), - 'module'=>'comptabilite|accounting|facture|don|tax|salaries'); + $tmpentry=array('enabled'=>(! empty($conf->comptabilite->enabled) || ! empty($conf->accounting->enabled) || ! empty($conf->facture->enabled) || ! empty($conf->don->enabled) || ! empty($conf->tax->enabled) || ! empty($conf->salaries->enabled) || ! empty($conf->loan->enabled)), + 'perms'=>(! empty($user->rights->compta->resultat->lire) || ! empty($user->rights->accounting->plancompte->lire) || ! empty($user->rights->facture->lire) || ! empty($user->rights->don->lire) || ! empty($user->rights->tax->charges->lire) || ! empty($user->rights->salaries->read) || ! empty($user->rights->loan->read)), + 'module'=>'comptabilite|accounting|facture|don|tax|salaries|loan'); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) { @@ -195,9 +196,9 @@ function print_eldy_menu($db,$atarget,$type_user,&$tabMenu,&$menu,$noout=0) } // HRM - $tmpentry=array('enabled'=>(! empty($conf->holiday->enabled) || ! empty($conf->deplacement->enabled)), - 'perms'=>(! empty($user->rights->holiday->write) || ! empty($user->rights->deplacement->lire)), - 'module'=>'holiday|deplacement'); + $tmpentry=array('enabled'=>(! empty($conf->holiday->enabled) || ! empty($conf->deplacement->enabled) || ! empty($conf->expensereport->enabled)), + 'perms'=>(! empty($user->rights->holiday->write) || ! empty($user->rights->deplacement->lire) || ! empty($user->rights->expensereport->lire)), + 'module'=>'holiday|deplacement|expensereport'); $showmode=dol_eldy_showmenu($type_user, $tmpentry, $listofmodulesforexternal); if ($showmode) { @@ -425,22 +426,27 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $leftmenu=($forceleftmenu?'':(empty($_SESSION["leftmenu"])?'none':$_SESSION["leftmenu"])); // Show logo company - if (empty($conf->global->MAIN_MENU_INVERT) && empty($noout) && ! empty($conf->global->MAIN_SHOW_LOGO)) + if (empty($conf->global->MAIN_MENU_INVERT) && empty($noout) && ! empty($conf->global->MAIN_SHOW_LOGO) && empty($conf->global->MAIN_OPTIMIZEFORTEXTBROWSER)) { $mysoc->logo_mini=$conf->global->MAIN_INFO_SOCIETE_LOGO_MINI; if (! empty($mysoc->logo_mini) && is_readable($conf->mycompany->dir_output.'/logos/thumbs/'.$mysoc->logo_mini)) { $urllogo=DOL_URL_ROOT.'/viewimage.php?cache=1&modulepart=companylogo&file='.urlencode('thumbs/'.$mysoc->logo_mini); - print "\n".''."\n"; - print '
    '."\n"; - print ''; - print ''; - print ''; - print ''; - print '
    '."\n"; } + else + { + $urllogo=DOL_URL_ROOT.'/theme/dolibarr_logo.png'; + } + $title=$langs->trans("GoIntoSetupToChangeLogo"); + print "\n".''."\n"; + print '
    '."\n"; + print ''; + print ''; + print ''; + print ''; + print '
    '."\n"; } /** @@ -738,8 +744,14 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("BillsCustomers"),0,$user->rights->facture->lire, '', $mainmenu, 'customers_bills'); $newmenu->add("/compta/facture.php?action=create&leftmenu=customers_bills",$langs->trans("NewBill"),1,$user->rights->facture->creer); $newmenu->add("/compta/facture/fiche-rec.php?leftmenu=customers_bills",$langs->trans("Repeatables"),1,$user->rights->facture->lire); + $newmenu->add("/compta/facture/list.php?leftmenu=customers_bills",$langs->trans("List"),1,$user->rights->facture->lire); - $newmenu->add("/compta/facture/impayees.php?leftmenu=customers_bills",$langs->trans("Unpaid"),1,$user->rights->facture->lire); + if (empty($leftmenu) || ($leftmenu == 'customers_bills')) { + $newmenu->add("/compta/facture/list.php?leftmenu=customers_bills&search_status=0",$langs->trans("BillShortStatusDraft"),2,$user->rights->facture->lire); + $newmenu->add("/compta/facture/impayees.php?leftmenu=customers_bills",$langs->trans("BillShortStatusNotPaid"),2,$user->rights->facture->lire); + $newmenu->add("/compta/facture/list.php?leftmenu=customers_bills&search_status=2",$langs->trans("BillShortStatusPaid"),2,$user->rights->facture->lire); + $newmenu->add("/compta/facture/list.php?leftmenu=customers_bills&search_status=3",$langs->trans("BillShortStatusCanceled"),2,$user->rights->facture->lire); + } $newmenu->add("/compta/paiement/list.php?leftmenu=customers_bills_payments",$langs->trans("Payments"),1,$user->rights->facture->lire); @@ -758,7 +770,14 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $langs->load("bills"); $newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills", $langs->trans("BillsSuppliers"),0,$user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills'); $newmenu->add("/fourn/facture/card.php?action=create",$langs->trans("NewBill"),1,$user->rights->fournisseur->facture->creer); - $newmenu->add("/fourn/facture/impayees.php", $langs->trans("Unpaid"),1,$user->rights->fournisseur->facture->lire); + $newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills", $langs->trans("List"),1,$user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills'); + + if (empty($leftmenu) || ($leftmenu == 'suppliers_bills')) { + $newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills&search_status=0", $langs->trans("BillShortStatusDraft"),2,$user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills'); + $newmenu->add("/fourn/facture/impayees.php", $langs->trans("BillShortStatusNotPaid"),2,$user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills'); + $newmenu->add("/fourn/facture/list.php?leftmenu=suppliers_bills&search_status=2", $langs->trans("BillShortStatusPaid"),2,$user->rights->fournisseur->facture->lire, '', $mainmenu, 'suppliers_bills'); + } + $newmenu->add("/fourn/facture/paiement.php", $langs->trans("Payments"),1,$user->rights->fournisseur->facture->lire); $newmenu->add("/compta/facture/stats/index.php?leftmenu=suppliers_bills&mode=supplier", $langs->trans("Statistics"),1,$user->rights->fournisseur->facture->lire); @@ -788,18 +807,18 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (! empty($conf->don->enabled)) { $langs->load("donations"); - $newmenu->add("/compta/dons/index.php?leftmenu=donations&mainmenu=accountancy",$langs->trans("Donations"), 0, $user->rights->don->lire, '', $mainmenu, 'donations'); - if (empty($leftmenu) || $leftmenu=="donations") $newmenu->add("/compta/dons/card.php?action=create",$langs->trans("NewDonation"), 1, $user->rights->don->creer); - if (empty($leftmenu) || $leftmenu=="donations") $newmenu->add("/compta/dons/list.php",$langs->trans("List"), 1, $user->rights->don->lire); - //if ($leftmenu=="donations") $newmenu->add("/compta/dons/stats.php",$langs->trans("Statistics"), 1, $user->rights->don->lire); + $newmenu->add("/don/index.php?leftmenu=donations&mainmenu=accountancy",$langs->trans("Donations"), 0, $user->rights->don->lire, '', $mainmenu, 'donations'); + if (empty($leftmenu) || $leftmenu=="donations") $newmenu->add("/don/card.php?action=create",$langs->trans("NewDonation"), 1, $user->rights->don->creer); + if (empty($leftmenu) || $leftmenu=="donations") $newmenu->add("/don/list.php",$langs->trans("List"), 1, $user->rights->don->lire); + // if ($leftmenu=="donations") $newmenu->add("/don/stats/index.php",$langs->trans("Statistics"), 1, $user->rights->don->lire); } // Taxes and social contributions - if (! empty($conf->tax->enabled) || ! empty($conf->salaries->enabled)) + if (! empty($conf->tax->enabled) || ! empty($conf->salaries->enabled) || ! empty($conf->loan->enabled)) { global $mysoc; - $permtoshowmenu=((! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read)); + $permtoshowmenu=((! empty($conf->tax->enabled) && $user->rights->tax->charges->lire) || (! empty($conf->salaries->enabled) && $user->rights->salaries->read) || (! empty($conf->loan->enabled) && $user->rights->loan->read)); $newmenu->add("/compta/charges/index.php?leftmenu=tax&mainmenu=accountancy",$langs->trans("MenuSpecialExpenses"), 0, $permtoshowmenu, '', $mainmenu, 'tax'); // Salaries @@ -811,6 +830,16 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu if (empty($leftmenu) || preg_match('/^tax_salary/i',$leftmenu)) $newmenu->add("/compta/salaries/index.php?leftmenu=tax_salary",$langs->trans("Payments"),2,$user->rights->salaries->read); } + // Loan + if (! empty($conf->loan->enabled)) + { + $langs->load("loan"); + $newmenu->add("/loan/index.php?leftmenu=tax_loan&mainmenu=accountancy",$langs->trans("Loans"),1,$user->rights->loan->read, '', $mainmenu, 'tax_loan'); + if (empty($leftmenu) || preg_match('/^tax_loan/i',$leftmenu)) $newmenu->add("/loan/card.php?leftmenu=tax_loan&action=create",$langs->trans("NewLoan"),2,$user->rights->loan->write); + if (empty($leftmenu) || preg_match('/^tax_loan/i',$leftmenu)) $newmenu->add("/loan/index.php?leftmenu=tax_loan",$langs->trans("Payments"),2,$user->rights->loan->read); + if (empty($leftmenu) || preg_match('/^tax_loan/i',$leftmenu)) $newmenu->add("/loan/calc.php?leftmenu=tax_loan",$langs->trans("Calculator"),2,$user->rights->loan->calc); + } + // Social contributions if (! empty($conf->tax->enabled)) { @@ -1148,13 +1177,13 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after,&$tabMenu $newmenu->add("/projet/activity/index.php?mode=mine", $langs->trans("MyActivities"), 0, $user->rights->projet->lire); $newmenu->add("/projet/tasks.php?action=create&mode=mine", $langs->trans("NewTask"), 1, $user->rights->projet->creer); $newmenu->add("/projet/tasks/index.php?mode=mine", $langs->trans("List"), 1, $user->rights->projet->lire); - $newmenu->add("/projet/activity/perday.php?mode=mine", $langs->trans("NewTimeSpent"), 1, $user->rights->projet->creer); + $newmenu->add("/projet/activity/perweek.php?mode=mine", $langs->trans("NewTimeSpent"), 1, $user->rights->projet->creer); // All project i have permission on $newmenu->add("/projet/activity/index.php", $langs->trans("Activities"), 0, $user->rights->projet->lire && $user->rights->projet->lire); $newmenu->add("/projet/tasks.php?action=create", $langs->trans("NewTask"), 1, $user->rights->projet->creer && $user->rights->projet->creer); $newmenu->add("/projet/tasks/index.php", $langs->trans("List"), 1, $user->rights->projet->lire && $user->rights->projet->lire); - $newmenu->add("/projet/activity/perday.php", $langs->trans("NewTimeSpent"), 1, $user->rights->projet->creer && $user->rights->projet->creer); + $newmenu->add("/projet/activity/perweek.php", $langs->trans("NewTimeSpent"), 1, $user->rights->projet->creer && $user->rights->projet->creer); } } } diff --git a/htdocs/core/menus/standard/eldy_menu.php b/htdocs/core/menus/standard/eldy_menu.php index af85537d455..fc66eef7fd6 100644 --- a/htdocs/core/menus/standard/eldy_menu.php +++ b/htdocs/core/menus/standard/eldy_menu.php @@ -112,7 +112,7 @@ class MenuManager * Show menu * * @param string $mode 'top', 'left', 'jmobile' - * @return void + * @return string */ function showmenu($mode) { @@ -150,6 +150,7 @@ class MenuManager { print '
      '; print '
    • '; + if ($val['enabled'] == 1) { $relurl=dol_buildpath($val['url'],1); @@ -184,23 +185,42 @@ class MenuManager } foreach($submenu->liste as $key2 => $val2) // $val['url','titre','level','enabled'=0|1|2,'target','mainmenu','leftmenu'] { - $relurl2=dol_buildpath($val2['url'],1); - $relurl2=preg_replace('/__LOGIN__/',$user->login,$relurl2); - $relurl2=preg_replace('/__USERID__/',$user->id,$relurl2); - $canonurl2=preg_replace('/\?.*$/','',$val2['url']); - //var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']); - if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2=''; - if ($val2['level']==0) print str_pad('',$val2['level']+1).''; // ui-btn to highlight on clic - else print str_pad('',$val2['level']+1).'
    • '; // ui-btn to highlight on clic - if ($relurl2) - { - print ''; - } - print $val2['titre']; - if ($relurl2) print ''; - print '
    • '."\n"; + $showmenu=true; + if (! empty($conf->global->MAIN_MENU_HIDE_UNAUTHORIZED) && empty($val2['enabled'])) $showmenu=false; + + if ($showmenu) // Visible (option to hide when not allowed is off or allowed) + { + $relurl2=dol_buildpath($val2['url'],1); + $relurl2=preg_replace('/__LOGIN__/',$user->login,$relurl2); + $relurl2=preg_replace('/__USERID__/',$user->id,$relurl2); + $canonurl2=preg_replace('/\?.*$/','',$val2['url']); + //var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']); + if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2=''; + if ($val2['level']==0) print str_pad('',$val2['level']+1).''; // ui-btn to highlight on clic + else print str_pad('',$val2['level']+1).'
    • '; // ui-btn to highlight on clic + if ($relurl2) + { + if ($val2['enabled']) // Allowed + { + print ''; + } + else // Not allowed but visible (greyed) + { + print ''; + } + } + print $val2['titre']; + if ($relurl2) + { + if ($val2['enabled']) // Allowed + print ''; + else + print ''; + } + print '
    • '."\n"; + } } //var_dump($submenu); print '
    '; diff --git a/htdocs/core/menus/standard/empty.php b/htdocs/core/menus/standard/empty.php index 83f54c050d6..ec783af938d 100644 --- a/htdocs/core/menus/standard/empty.php +++ b/htdocs/core/menus/standard/empty.php @@ -61,7 +61,7 @@ class MenuManager * Show menu * * @param string $mode 'top', 'left', 'jmobile' - * @return void + * @return string */ function showmenu($mode) { diff --git a/htdocs/core/modules/DolibarrModules.class.php b/htdocs/core/modules/DolibarrModules.class.php index 17b8b8e8def..017d1eb8662 100644 --- a/htdocs/core/modules/DolibarrModules.class.php +++ b/htdocs/core/modules/DolibarrModules.class.php @@ -39,166 +39,166 @@ abstract class DolibarrModules */ public $db; - /** - * @var string Relative path to module style sheet - * @deprecated - */ - public $style_sheet = ''; + /** + * @var string Relative path to module style sheet + * @deprecated + */ + public $style_sheet = ''; - /** - * @var array Paths to create when module is activated - */ - public $dirs = array(); + /** + * @var array Paths to create when module is activated + */ + public $dirs = array(); - /** - * @var array Module boxes - */ - public $boxes = array(); + /** + * @var array Module boxes + */ + public $boxes = array(); - /** - * @var array Module constants - */ - public $const = array(); + /** + * @var array Module constants + */ + public $const = array(); - /** - * @var array Module access rights - */ - public $rights; + /** + * @var array Module access rights + */ + public $rights; - /** - * @var string Module access rights family - */ - public $rights_class; + /** + * @var string Module access rights family + */ + public $rights_class; - /** - * @var array Module menu entries - */ - public $menu = array(); + /** + * @var array Module menu entries + */ + public $menu = array(); - /** - * @var array Module parts - * array( - * // Set this to 1 if module has its own trigger directory (/mymodule/core/triggers) - * 'triggers' => 0, - * // Set this to 1 if module has its own login method directory (/mymodule/core/login) + /** + * @var array Module parts + * array( + * // Set this to 1 if module has its own trigger directory (/mymodule/core/triggers) + * 'triggers' => 0, + * // Set this to 1 if module has its own login method directory (/mymodule/core/login) * 'login' => 0, - * // Set this to 1 if module has its own substitution function file (/mymodule/core/substitutions) + * // Set this to 1 if module has its own substitution function file (/mymodule/core/substitutions) * 'substitutions' => 0, - * // Set this to 1 if module has its own menus handler directory (/mymodule/core/menus) + * // Set this to 1 if module has its own menus handler directory (/mymodule/core/menus) * 'menus' => 0, - * // Set this to 1 if module has its own theme directory (/mymodule/theme) + * // Set this to 1 if module has its own theme directory (/mymodule/theme) * 'theme' => 0, - * // Set this to 1 if module overwrite template dir (/mymodule/core/tpl) - * 'tpl' => 0, - * // Set this to 1 if module has its own barcode directory (/mymodule/core/modules/barcode) + * // Set this to 1 if module overwrite template dir (/mymodule/core/tpl) + * 'tpl' => 0, + * // Set this to 1 if module has its own barcode directory (/mymodule/core/modules/barcode) * 'barcode' => 0, - * // Set this to 1 if module has its own models directory (/mymodule/core/modules/xxx) + * // Set this to 1 if module has its own models directory (/mymodule/core/modules/xxx) * 'models' => 0, - * // Set this to relative path of css file if module has its own css file + * // Set this to relative path of css file if module has its own css file * 'css' => '/mymodule/css/mymodule.css.php', - * // Set this to relative path of js file if module must load a js on all pages + * // Set this to relative path of js file if module must load a js on all pages * 'js' => '/mymodule/js/mymodule.js', - * // Set here all hooks context managed by module + * // Set here all hooks context managed by module * 'hooks' => array('hookcontext1','hookcontext2'), - * // Set here all workflow context managed by module + * // Set here all workflow context managed by module * 'workflow' => array( - * 'WORKFLOW_MODULE1_YOURACTIONTYPE_MODULE2' = >array( - * 'enabled' => '! empty($conf->module1->enabled) && ! empty($conf->module2->enabled)', - * 'picto'=>'yourpicto@mymodule' - * ) - * ) - * ) - */ - public $module_parts = array(); + * 'WORKFLOW_MODULE1_YOURACTIONTYPE_MODULE2' = >array( + * 'enabled' => '! empty($conf->module1->enabled) && ! empty($conf->module2->enabled)', + * 'picto'=>'yourpicto@mymodule' + * ) + * ) + * ) + */ + public $module_parts = array(); - /** - * @var string Module documents ? - * @deprecated Seems unused anywhere - */ - public $docs; + /** + * @var string Module documents ? + * @deprecated Seems unused anywhere + */ + public $docs; - /** - * @var string ? - * @deprecated Seems unused anywhere - */ - public $dbversion = "-"; + /** + * @var string ? + * @deprecated Seems unused anywhere + */ + public $dbversion = "-"; - /** - * @var string Error message - */ - public $error; + /** + * @var string Error message + */ + public $error; - /** - * @var int Module unique ID - */ - public $numero; + /** + * @var int Module unique ID + */ + public $numero; - /** - * @var string Module name - */ - public $name; + /** + * @var string Module name + */ + public $name; - /** - * @var string Module version - */ - public $version; + /** + * @var string Module version + */ + public $version; - /** - * @var string Module description - */ - public $description; + /** + * @var string Module description + */ + public $description; - /** - * @var string[] Module language files - */ - public $langfiles; + /** + * @var string[] Module language files + */ + public $langfiles; - /** - * @var string Module export code - */ - public $export_code; + /** + * @var string Module export code + */ + public $export_code; - /** - * @var string Module export label - */ - public $export_label; + /** + * @var string Module export label + */ + public $export_label; - /** - * @var string Module import code - */ - public $import_code; + /** + * @var string Module import code + */ + public $import_code; - /** - * @var string Module import label - */ - public $import_label; + /** + * @var string Module import label + */ + public $import_label; - /** - * @var string Module constant name - */ - public $const_name; + /** + * @var string Module constant name + */ + public $const_name; - /** - * @var bool Module can't be disabled - */ - public $always_enabled; + /** + * @var bool Module can't be disabled + */ + public $always_enabled; - /** - * @var bool Module is enabled globally (Multicompany support) - */ - public $core_enabled; + /** + * @var bool Module is enabled globally (Multicompany support) + */ + public $core_enabled; - /** - * Enables a module. - * Inserts all informations into database - * + /** + * Enables a module. + * Inserts all informations into database + * * @param array $array_sql SQL requests to be executed when enabling module - * @param string $options String with options when disabling module: - * 'noboxes' = Do not insert boxes - * 'newboxdefonly' = For boxes, insert def of boxes only and not boxes activation - * - * @return int 1 if OK, 0 if KO - */ + * @param string $options String with options when disabling module: + * 'noboxes' = Do not insert boxes + * 'newboxdefonly' = For boxes, insert def of boxes only and not boxes activation + * + * @return int 1 if OK, 0 if KO + */ function _init($array_sql, $options='') { global $conf; @@ -232,12 +232,12 @@ abstract class DolibarrModules // Execute addons requests $num=count($array_sql); - for ($i = 0; $i < $num; $i++) + for ($i = 0; $i < $num; $i++) { if (! $err) { $val=$array_sql[$i]; - $sql=$val; + $sql=$val; $ignoreerror=0; if (is_array($val)) { @@ -367,12 +367,12 @@ abstract class DolibarrModules // If module name translation using it's unique id does not exists, we take use its name to find translation if (is_array($this->langfiles)) { - foreach($this->langfiles as $val) - { - if ($val) $langs->load($val); - } + foreach($this->langfiles as $val) + { + if ($val) $langs->load($val); + } } - return $langs->trans($this->name); + return $langs->trans($this->name); } } @@ -389,20 +389,20 @@ abstract class DolibarrModules if ($langs->trans("Module".$this->numero."Desc") != ("Module".$this->numero."Desc")) { - // If module description translation exists + // If module description translation exists return $langs->trans("Module".$this->numero."Desc"); } else - { + { // If module description translation using it's unique id does not exists, we take use its name to find translation if (is_array($this->langfiles)) { - foreach($this->langfiles as $val) - { - if ($val) $langs->load($val); - } + foreach($this->langfiles as $val) + { + if ($val) $langs->load($val); + } } - return $langs->trans($this->description); + return $langs->trans($this->description); } } @@ -429,7 +429,7 @@ abstract class DolibarrModules else $ret=$langs->trans("VersionUnknown"); if (preg_match('/_deprecated/',$this->version)) $ret.=' ('.$langs->trans("Deprecated").')'; - return $ret; + return $ret; } @@ -582,9 +582,9 @@ abstract class DolibarrModules global $conf; $error=0; - $dirfound=0; + $dirfound=0; - if (empty($reldir)) return 1; + if (empty($reldir)) return 1; include_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'; @@ -599,10 +599,10 @@ abstract class DolibarrModules $handle=@opendir($dir); // Dir may not exists if (is_resource($handle)) { - $dirfound++; + $dirfound++; - // Run llx_mytable.sql files - while (($file = readdir($handle))!==false) + // Run llx_mytable.sql files + while (($file = readdir($handle))!==false) { if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data') { @@ -613,8 +613,8 @@ abstract class DolibarrModules rewinddir($handle); - // Run llx_mytable.key.sql files (Must be done after llx_mytable.sql) - while (($file = readdir($handle))!==false) + // Run llx_mytable.key.sql files (Must be done after llx_mytable.sql) + while (($file = readdir($handle))!==false) { if (preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'llx_' && substr($file,0,4) != 'data') { @@ -626,7 +626,7 @@ abstract class DolibarrModules rewinddir($handle); // Run data_xxx.sql files (Must be done after llx_mytable.key.sql) - while (($file = readdir($handle))!==false) + while (($file = readdir($handle))!==false) { if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,4) == 'data') { @@ -638,7 +638,7 @@ abstract class DolibarrModules rewinddir($handle); // Run update_xxx.sql files - while (($file = readdir($handle))!==false) + while (($file = readdir($handle))!==false) { if (preg_match('/\.sql$/i',$file) && ! preg_match('/\.key\.sql$/i',$file) && substr($file,0,6) == 'update') { @@ -671,9 +671,9 @@ abstract class DolibarrModules */ function insert_boxes($option='') { - require_once DOL_DOCUMENT_ROOT . '/core/class/infobox.class.php'; + require_once DOL_DOCUMENT_ROOT . '/core/class/infobox.class.php'; - global $conf; + global $conf; $err=0; @@ -681,8 +681,8 @@ abstract class DolibarrModules { $pos_name = InfoBox::getListOfPagesForBoxes(); - foreach ($this->boxes as $key => $value) - { + foreach ($this->boxes as $key => $value) + { $file = isset($this->boxes[$key]['file'])?$this->boxes[$key]['file']:''; $note = isset($this->boxes[$key]['note'])?$this->boxes[$key]['note']:''; $enabledbydefaulton = isset($this->boxes[$key]['enabledbydefaulton'])?$this->boxes[$key]['enabledbydefaulton']:'Home'; @@ -724,15 +724,15 @@ abstract class DolibarrModules foreach ($pos_name as $key2 => $val2) { - //print 'key2='.$key2.'-val2='.$val2."
    \n"; + //print 'key2='.$key2.'-val2='.$val2."
    \n"; if ($enabledbydefaulton && $val2 != $enabledbydefaulton) continue; // Not enabled by default onto this page. - $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id,position,box_order,fk_user,entity)"; - $sql.= " VALUES (".$lastid.", ".$key2.", '0', 0, ".$conf->entity.")"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (box_id,position,box_order,fk_user,entity)"; + $sql.= " VALUES (".$lastid.", ".$key2.", '0', 0, ".$conf->entity.")"; - dol_syslog(get_class($this)."::insert_boxes onto page ".$key2."=".$val2."", LOG_DEBUG); - $resql=$this->db->query($sql); - if (! $resql) $err++; + dol_syslog(get_class($this)."::insert_boxes onto page ".$key2."=".$val2."", LOG_DEBUG); + $resql=$this->db->query($sql); + if (! $resql) $err++; } } @@ -741,7 +741,7 @@ abstract class DolibarrModules $this->db->commit(); } else - { + { $this->error=$this->db->lasterror(); $this->db->rollback(); } @@ -781,11 +781,22 @@ abstract class DolibarrModules if (empty($file)) $file = isset($this->boxes[$key][1])?$this->boxes[$key][1]:''; // For backward compatibility - $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes"; - $sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def"; - $sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid"; - $sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'"; - $sql.= " AND ".MAIN_DB_PREFIX."boxes.entity = ".$conf->entity; + if ($this->db->type == 'sqlite3') { + // sqlite doesn't support "USING" syntax. + // TODO: remove this dependency. + $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes "; + $sql .= "WHERE ".MAIN_DB_PREFIX."boxes.box_id IN ("; + $sql .= "SELECT ".MAIN_DB_PREFIX."boxes_def.rowid "; + $sql .= "FROM ".MAIN_DB_PREFIX."boxes_def "; + $sql .= "WHERE ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."') "; + $sql .= "AND ".MAIN_DB_PREFIX."boxes.entity = ".$conf->entity; + } else { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes"; + $sql.= " USING ".MAIN_DB_PREFIX."boxes, ".MAIN_DB_PREFIX."boxes_def"; + $sql.= " WHERE ".MAIN_DB_PREFIX."boxes.box_id = ".MAIN_DB_PREFIX."boxes_def.rowid"; + $sql.= " AND ".MAIN_DB_PREFIX."boxes_def.file = '".$this->db->escape($file)."'"; + $sql.= " AND ".MAIN_DB_PREFIX."boxes.entity = ".$conf->entity; + } dol_syslog(get_class($this)."::delete_boxes", LOG_DEBUG); $resql=$this->db->query($sql); @@ -1012,7 +1023,7 @@ abstract class DolibarrModules if ($resql) { $obj=$this->db->fetch_object($resql); - if (! empty($obj->value) && ! empty($this->rights)) + if ($obj !== null && ! empty($obj->value) && ! empty($this->rights)) { // Si module actif foreach ($this->rights as $key => $value) @@ -1027,54 +1038,54 @@ abstract class DolibarrModules if (empty($r_type)) $r_type='w'; - // Search if perm already present - $sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."rights_def"; - $sql.= " WHERE id = ".$r_id." AND entity = ".$entity; - $resqlselect=$this->db->query($sql); + // Search if perm already present + $sql = "SELECT count(*) as nb FROM ".MAIN_DB_PREFIX."rights_def"; + $sql.= " WHERE id = ".$r_id." AND entity = ".$entity; + $resqlselect=$this->db->query($sql); - $obj = $this->db->fetch_object($resqlselect); + $obj = $this->db->fetch_object($resqlselect); if ($obj->nb == 0) { - if (dol_strlen($r_perms) ) - { - if (dol_strlen($r_subperms) ) - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def"; - $sql.= " (id, entity, libelle, module, type, bydefault, perms, subperms)"; - $sql.= " VALUES "; - $sql.= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."','".$r_subperms."')"; - } - else - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def"; - $sql.= " (id, entity, libelle, module, type, bydefault, perms)"; - $sql.= " VALUES "; - $sql.= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."')"; - } - } - else - { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def "; - $sql .= " (id, entity, libelle, module, type, bydefault)"; - $sql .= " VALUES "; - $sql .= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.")"; - } + if (dol_strlen($r_perms) ) + { + if (dol_strlen($r_subperms) ) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def"; + $sql.= " (id, entity, libelle, module, type, bydefault, perms, subperms)"; + $sql.= " VALUES "; + $sql.= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."','".$r_subperms."')"; + } + else + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def"; + $sql.= " (id, entity, libelle, module, type, bydefault, perms)"; + $sql.= " VALUES "; + $sql.= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.",'".$r_perms."')"; + } + } + else + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."rights_def "; + $sql .= " (id, entity, libelle, module, type, bydefault)"; + $sql .= " VALUES "; + $sql .= "(".$r_id.",".$entity.",'".$this->db->escape($r_desc)."','".$r_modul."','".$r_type."',".$r_def.")"; + } - $resqlinsert=$this->db->query($sql,1); + $resqlinsert=$this->db->query($sql,1); - if (! $resqlinsert) - { - if ($this->db->errno() != "DB_ERROR_RECORD_ALREADY_EXISTS") - { - $this->error=$this->db->lasterror(); - $err++; - break; - } - else dol_syslog(get_class($this)."::insert_permissions record already exists", LOG_INFO); + if (! $resqlinsert) + { + if ($this->db->errno() != "DB_ERROR_RECORD_ALREADY_EXISTS") + { + $this->error=$this->db->lasterror(); + $err++; + break; + } + else dol_syslog(get_class($this)."::insert_permissions record already exists", LOG_INFO); - } + } - $this->db->free($resqlinsert); + $this->db->free($resqlinsert); } $this->db->free($resqlselect); @@ -1082,9 +1093,9 @@ abstract class DolibarrModules // If we want to init permissions on admin users if ($reinitadminperms) { - if (! class_exists('User')) { - require DOL_DOCUMENT_ROOT . '/user/class/user.class.php'; - } + if (! class_exists('User')) { + require DOL_DOCUMENT_ROOT . '/user/class/user.class.php'; + } $sql="SELECT rowid FROM ".MAIN_DB_PREFIX."user WHERE admin = 1"; dol_syslog(get_class($this)."::insert_permissions Search all admin users", LOG_DEBUG); $resqlseladmin=$this->db->query($sql,1); @@ -1099,7 +1110,7 @@ abstract class DolibarrModules $tmpuser=new User($this->db); $tmpuser->fetch($obj2->rowid); if (!empty($tmpuser->id)) { - $tmpuser->addrights($r_id); + $tmpuser->addrights($r_id); } $i++; } @@ -1158,7 +1169,7 @@ abstract class DolibarrModules */ function insert_menus() { - global $user; + global $user; require_once DOL_DOCUMENT_ROOT . '/core/class/menubase.class.php'; @@ -1415,68 +1426,68 @@ abstract class DolibarrModules */ function insert_module_parts() { - global $conf; + global $conf; - $error=0; - $entity=$conf->entity; + $error=0; + $entity=$conf->entity; - if (is_array($this->module_parts) && ! empty($this->module_parts)) - { - foreach($this->module_parts as $key => $value) - { + if (is_array($this->module_parts) && ! empty($this->module_parts)) + { + foreach($this->module_parts as $key => $value) + { if (is_array($value) && count($value) == 0) continue; // Discard empty arrays - $newvalue = $value; + $newvalue = $value; - // Serialize array parameters - if (is_array($value)) - { - // Can defined other parameters - if (is_array($value['data']) && ! empty($value['data'])) - { - $newvalue = json_encode($value['data']); - if (isset($value['entity'])) $entity = $value['entity']; - } - else - { - $newvalue = json_encode($value); - } - } + // Serialize array parameters + if (is_array($value)) + { + // Can defined other parameters + if (is_array($value['data']) && ! empty($value['data'])) + { + $newvalue = json_encode($value['data']); + if (isset($value['entity'])) $entity = $value['entity']; + } + else + { + $newvalue = json_encode($value); + } + } - $sql = "INSERT INTO ".MAIN_DB_PREFIX."const ("; - $sql.= "name"; - $sql.= ", type"; - $sql.= ", value"; - $sql.= ", note"; - $sql.= ", visible"; - $sql.= ", entity"; - $sql.= ")"; - $sql.= " VALUES ("; - $sql.= $this->db->encrypt($this->const_name."_".strtoupper($key), 1); - $sql.= ", 'chaine'"; - $sql.= ", ".$this->db->encrypt($newvalue, 1); - $sql.= ", null"; - $sql.= ", '0'"; - $sql.= ", ".$entity; - $sql.= ")"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."const ("; + $sql.= "name"; + $sql.= ", type"; + $sql.= ", value"; + $sql.= ", note"; + $sql.= ", visible"; + $sql.= ", entity"; + $sql.= ")"; + $sql.= " VALUES ("; + $sql.= $this->db->encrypt($this->const_name."_".strtoupper($key), 1); + $sql.= ", 'chaine'"; + $sql.= ", ".$this->db->encrypt($newvalue, 1); + $sql.= ", null"; + $sql.= ", '0'"; + $sql.= ", ".$entity; + $sql.= ")"; - dol_syslog(get_class($this)."::insert_const_".$key."", LOG_DEBUG); - $resql=$this->db->query($sql,1); - if (! $resql) - { - if ($this->db->lasterrno() != 'DB_ERROR_RECORD_ALREADY_EXISTS') - { - $error++; - $this->error=$this->db->lasterror(); - } - else - { - dol_syslog(get_class($this)."::insert_const_".$key." Record already exists.", LOG_WARNING); - } - } - } - } - return $error; + dol_syslog(get_class($this)."::insert_const_".$key."", LOG_DEBUG); + $resql=$this->db->query($sql,1); + if (! $resql) + { + if ($this->db->lasterrno() != 'DB_ERROR_RECORD_ALREADY_EXISTS') + { + $error++; + $this->error=$this->db->lasterror(); + } + else + { + dol_syslog(get_class($this)."::insert_const_".$key." Record already exists.", LOG_WARNING); + } + } + } + } + return $error; } /** @@ -1486,31 +1497,31 @@ abstract class DolibarrModules */ function delete_module_parts() { - global $conf; + global $conf; - $err=0; - $entity=$conf->entity; + $err=0; + $entity=$conf->entity; - if (is_array($this->module_parts) && ! empty($this->module_parts)) - { - foreach($this->module_parts as $key => $value) - { - // If entity is defined - if (is_array($value) && isset($value['entity'])) $entity = $value['entity']; + if (is_array($this->module_parts) && ! empty($this->module_parts)) + { + foreach($this->module_parts as $key => $value) + { + // If entity is defined + if (is_array($value) && isset($value['entity'])) $entity = $value['entity']; - $sql = "DELETE FROM ".MAIN_DB_PREFIX."const"; - $sql.= " WHERE ".$this->db->decrypt('name')." LIKE '".$this->const_name."_".strtoupper($key)."'"; - $sql.= " AND entity = ".$entity; + $sql = "DELETE FROM ".MAIN_DB_PREFIX."const"; + $sql.= " WHERE ".$this->db->decrypt('name')." LIKE '".$this->const_name."_".strtoupper($key)."'"; + $sql.= " AND entity = ".$entity; - dol_syslog(get_class($this)."::delete_const_".$key."", LOG_DEBUG); - if (! $this->db->query($sql)) - { - $this->error=$this->db->lasterror(); - $err++; - } - } - } - return $err; + dol_syslog(get_class($this)."::delete_const_".$key."", LOG_DEBUG); + if (! $this->db->query($sql)) + { + $this->error=$this->db->lasterror(); + $err++; + } + } + } + return $err; } } diff --git a/htdocs/core/modules/action/rapport.pdf.php b/htdocs/core/modules/action/rapport.pdf.php index 32554e1511a..65a80d97e5b 100644 --- a/htdocs/core/modules/action/rapport.pdf.php +++ b/htdocs/core/modules/action/rapport.pdf.php @@ -303,7 +303,7 @@ class CommActionRapport * @param PDF $pdf Object PDF * @param Translate $outputlangs Object lang for output * @param int $pagenb Page nb - * @return void + * @return integer */ function _pagehead(&$pdf, $outputlangs, $pagenb) { diff --git a/htdocs/core/modules/askpricesupplier/doc/doc_generic_askpricesupplier_odt.modules.php b/htdocs/core/modules/askpricesupplier/doc/doc_generic_askpricesupplier_odt.modules.php new file mode 100644 index 00000000000..ddc995cc69a --- /dev/null +++ b/htdocs/core/modules/askpricesupplier/doc/doc_generic_askpricesupplier_odt.modules.php @@ -0,0 +1,484 @@ + + * Copyright (C) 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 . +* or see http://www.gnu.org/ +*/ + +/** + * \file htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php + * \ingroup societe + * \brief File of class to build ODT documents for third parties + */ + +require_once DOL_DOCUMENT_ROOT.'/core/modules/askpricesupplier/modules_askpricesupplier.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/doc.lib.php'; + + +/** + * Class to build documents using ODF templates generator + */ +class doc_generic_askpricesupplier_odt extends ModelePDFAskPriceSupplier +{ + var $emetteur; // Objet societe qui emet + + var $phpmin = array(5,2,0); // Minimum version of PHP required by module + var $version = 'dolibarr'; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $conf,$langs,$mysoc; + + $langs->load("main"); + $langs->load("companies"); + + $this->db = $db; + $this->name = "ODT templates"; + $this->description = $langs->trans("DocumentModelOdt"); + $this->scandir = 'ASKPRICESUPPLIER_ADDON_PDF_ODT_PATH'; // Name of constant that is used to save list of directories to scan + + // Dimension page pour format A4 + $this->type = 'odt'; + $this->page_largeur = 0; + $this->page_hauteur = 0; + $this->format = array($this->page_largeur,$this->page_hauteur); + $this->marge_gauche=0; + $this->marge_droite=0; + $this->marge_haute=0; + $this->marge_basse=0; + + $this->option_logo = 1; // Affiche logo + $this->option_tva = 0; // Gere option tva PROPALE_TVAOPTION + $this->option_modereg = 0; // Affiche mode reglement + $this->option_condreg = 0; // Affiche conditions reglement + $this->option_codeproduitservice = 0; // Affiche code produit-service + $this->option_multilang = 1; // Dispo en plusieurs langues + $this->option_escompte = 0; // Affiche si il y a eu escompte + $this->option_credit_note = 0; // Support credit notes + $this->option_freetext = 1; // Support add of a personalised text + $this->option_draft_watermark = 0; // Support add of a watermark on drafts + + // Recupere emetteur + $this->emetteur=$mysoc; + if (! $this->emetteur->country_code) $this->emetteur->country_code=substr($langs->defaultlang,-2); // By default if not defined + } + + + /** + * Return description of a module + * + * @param Translate $langs Lang object to use for output + * @return string Description + */ + function info($langs) + { + global $conf,$langs; + + $langs->load("companies"); + $langs->load("errors"); + + $form = new Form($this->db); + + $texte = $this->description.".
    \n"; + $texte.= '
    '; + $texte.= ''; + $texte.= ''; + $texte.= ''; + if ($conf->global->MAIN_ASKPRICESUPPLIER_CHOOSE_ODT_DOCUMENT > 0) + { + $texte.= ''; + $texte.= ''; + $texte.= ''; + } + $texte.= '
    '; + + // List of directories area + $texte.= ''; + + $texte.= ''; + $texte.= ''; + + $texte.= '
    '; + $texttitle=$langs->trans("ListOfDirectories"); + $listofdir=explode(',',preg_replace('/[\r\n]+/',',',trim($conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_PATH))); + $listoffiles=array(); + 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)) $texttitle.=img_warning($langs->trans("ErrorDirNotFound",$tmpdir),0); + else + { + $tmpfiles=dol_dir_list($tmpdir,'files',0,'\.(ods|odt)'); + if (count($tmpfiles)) $listoffiles=array_merge($listoffiles,$tmpfiles); + } + } + $texthelp=$langs->trans("ListOfDirectoriesForModelGenODT"); + // Add list of substitution keys + $texthelp.='
    '.$langs->trans("FollowingSubstitutionKeysCanBeUsed").'
    '; + $texthelp.=$langs->transnoentitiesnoconv("FullListOnOnlineDocumentation"); // This contains an url, we don't modify it + + $texte.= $form->textwithpicto($texttitle,$texthelp,1,'help','',1); + $texte.= '
    '; + $texte.= ''; + $texte.= '
    '; + $texte.= ''; + $texte.= '
    '; + + // Scan directories + if (count($listofdir)) + { + $texte.=$langs->trans("NumberOfModelFilesFound").': '.count($listoffiles).''; + + if ($conf->global->MAIN_ASKPRICESUPPLIER_CHOOSE_ODT_DOCUMENT > 0) + { + // Model for creation + $liste=ModelePDFAskPriceSupplier::liste_modeles($this->db); + $texte.= ''; + $texte.= ''; + $texte.= ''; + $texte.= '"; + + $texte.= ''; + $texte.= ''; + $texte.= '"; + $texte.= ''; + + $texte.= ''; + $texte.= '"; + $texte.= '
    '.$langs->trans("DefaultModelAskPriceSupplierCreate").''; + $texte.= $form->selectarray('value2',$liste,$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_DEFAULT); + $texte.= "
    '.$langs->trans("DefaultModelAskPriceSupplierToBill").''; + $texte.= $form->selectarray('value3',$liste,$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_TOBILL); + $texte.= "
    '.$langs->trans("DefaultModelAskPriceSupplierClosed").''; + $texte.= $form->selectarray('value4',$liste,$conf->global->ASKPRICESUPPLIER_ADDON_PDF_ODT_CLOSED); + $texte.= "
    '; + } + } + + $texte.= '
    '; + $texte.= $langs->trans("ExampleOfDirectoriesForModelGen"); + $texte.= '
    '; + $texte.= ''; + + return $texte; + } + + /** + * Function to build a document on disk using the generic odt module. + * + * @param Propale $object Object source to build document + * @param Translate $outputlangs Lang output object + * @param string $srctemplatepath Full path of source filename for generator using a template file + * @param int $hidedetails Do not show line details + * @param int $hidedesc Do not show desc + * @param int $hideref Do not show ref + * @return int 1 if OK, <=0 if KO + */ + function write_file($object,$outputlangs,$srctemplatepath,$hidedetails=0,$hidedesc=0,$hideref=0) + { + global $user,$langs,$conf,$mysoc,$hookmanager; + + if (empty($srctemplatepath)) + { + dol_syslog("doc_generic_odt::write_file parameter srctemplatepath empty", LOG_WARNING); + return -1; + } + + // Add odtgeneration hook + if (! is_object($hookmanager)) + { + include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; + $hookmanager=new HookManager($this->db); + } + $hookmanager->initHooks(array('odtgeneration')); + global $action; + + if (! is_object($outputlangs)) $outputlangs=$langs; + $sav_charset_output=$outputlangs->charset_output; + $outputlangs->charset_output='UTF-8'; + + $outputlangs->load("main"); + $outputlangs->load("dict"); + $outputlangs->load("companies"); + $outputlangs->load("bills"); + + if ($conf->askpricesupplier->dir_output) + { + // If $object is id instead of object + if (! is_object($object)) + { + $id = $object; + $object = new AskPriceSupplier($this->db); + $result=$object->fetch($id); + if ($result < 0) + { + dol_print_error($this->db,$object->error); + return -1; + } + } + + $dir = $conf->askpricesupplier->dir_output; + $objectref = dol_sanitizeFileName($object->ref); + if (! preg_match('/specimen/i',$objectref)) $dir.= "/" . $objectref; + $file = $dir . "/" . $objectref . ".odt"; + + if (! file_exists($dir)) + { + if (dol_mkdir($dir) < 0) + { + $this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir); + return -1; + } + } + + if (file_exists($dir)) + { + //print "srctemplatepath=".$srctemplatepath; // Src filename + $newfile=basename($srctemplatepath); + $newfiletmp=preg_replace('/\.od(t|s)/i','',$newfile); + $newfiletmp=preg_replace('/template_/i','',$newfiletmp); + $newfiletmp=preg_replace('/modele_/i','',$newfiletmp); + + $newfiletmp=$objectref.'_'.$newfiletmp; + + // Get extension (ods or odt) + $newfileformat=substr($newfile, strrpos($newfile, '.')+1); + if ( ! empty($conf->global->MAIN_DOC_USE_TIMING)) + { + $filename=$newfiletmp.'.'.dol_print_date(dol_now(),'%Y%m%d%H%M%S').'.'.$newfileformat; + } + else + { + $filename=$newfiletmp.'.'.$newfileformat; + } + $file=$dir.'/'.$filename; + //print "newdir=".$dir; + //print "newfile=".$newfile; + //print "file=".$file; + //print "conf->propal->dir_temp=".$conf->propal->dir_temp; + + dol_mkdir($conf->askpricesupplier->dir_temp); + + + // If BILLING contact defined on invoice, we use it + $usecontact=false; + $arrayidcontact=$object->getIdContact('external','BILLING'); + if (count($arrayidcontact) > 0) + { + $usecontact=true; + $result=$object->fetch_contact($arrayidcontact[0]); + } + + // Recipient name + if (! empty($usecontact)) + { + // On peut utiliser le nom de la societe du contact + if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) $socobject = $object->contact; + else $socobject = $object->client; + } + else + { + $socobject=$object->client; + } + + // Make substitution + $substitutionarray=array( + '__FROM_NAME__' => $this->emetteur->name, + '__FROM_EMAIL__' => $this->emetteur->email, + '__TOTAL_TTC__' => $object->total_ttc, + '__TOTAL_HT__' => $object->total_ht, + '__TOTAL_VAT__' => $object->total_vat + ); + complete_substitutions_array($substitutionarray, $langs, $object); + // Call the ODTSubstitution hook + $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$substitutionarray); + $reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + + // Line of free text + $newfreetext=''; + $paramfreetext='ASKPRICESUPPLIER_FREE_TEXT'; + if (! empty($conf->global->$paramfreetext)) + { + $newfreetext=make_substitutions($conf->global->$paramfreetext,$substitutionarray); + } + + // Open and load template + require_once ODTPHP_PATH.'odf.php'; + try { + $odfHandler = new odf( + $srctemplatepath, + array( + 'PATH_TO_TMP' => $conf->askpricesupplier->dir_temp, + 'ZIP_PROXY' => 'PclZipProxy', // PhpZipProxy or PclZipProxy. Got "bad compression method" error when using PhpZipProxy. + 'DELIMITER_LEFT' => '{', + 'DELIMITER_RIGHT' => '}' + ) + ); + } + catch(Exception $e) + { + $this->error=$e->getMessage(); + return -1; + } + // After construction $odfHandler->contentXml contains content and + // [!-- BEGIN row.lines --]*[!-- END row.lines --] has been replaced by + // [!-- BEGIN lines --]*[!-- END lines --] + //print html_entity_decode($odfHandler->__toString()); + //print exit; + + + // Make substitutions into odt of freetext + try { + $odfHandler->setVars('free_text', $newfreetext, true, 'UTF-8'); + } + catch(OdfException $e) + { + } + + // Make substitutions into odt + $array_user=$this->get_substitutionarray_user($user,$outputlangs); + $array_soc=$this->get_substitutionarray_mysoc($mysoc,$outputlangs); + $array_thirdparty=$this->get_substitutionarray_thirdparty($socobject,$outputlangs); + $array_objet=$this->get_substitutionarray_object($object,$outputlangs); + $array_other=$this->get_substitutionarray_other($outputlangs); + + $tmparray = array_merge($array_user,$array_soc,$array_thirdparty,$array_objet,$array_other); + complete_substitutions_array($tmparray, $outputlangs, $object); + // Call the ODTSubstitution hook + $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray); + $reshook=$hookmanager->executeHooks('ODTSubstitution',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + foreach($tmparray as $key=>$value) + { + try { + if (preg_match('/logo$/',$key)) // Image + { + if (file_exists($value)) $odfHandler->setImage($key, $value); + else $odfHandler->setVars($key, 'ErrorFileNotFound', true, 'UTF-8'); + } + else // Text + { + $odfHandler->setVars($key, $value, true, 'UTF-8'); + } + } + catch(OdfException $e) + { + } + } + // Replace tags of lines + try + { + $listlines = $odfHandler->setSegment('lines'); + foreach ($object->lines as $line) + { + $tmparray=$this->get_substitutionarray_lines($line,$outputlangs); + complete_substitutions_array($tmparray, $outputlangs, $object, $line, "completesubstitutionarray_lines"); + // Call the ODTSubstitutionLine hook + $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs,'substitutionarray'=>&$tmparray,'line'=>$line); + $reshook=$hookmanager->executeHooks('ODTSubstitutionLine',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + foreach($tmparray as $key => $val) + { + try + { + $listlines->setVars($key, $val, true, 'UTF-8'); + } + catch(OdfException $e) + { + } + catch(SegmentException $e) + { + } + } + $listlines->merge(); + } + $odfHandler->mergeSegment($listlines); + } + catch(OdfException $e) + { + $this->error=$e->getMessage(); + dol_syslog($this->error, LOG_WARNING); + return -1; + } + + // Replace labels translated + $tmparray=$outputlangs->get_translations_for_substitutions(); + foreach($tmparray as $key=>$value) + { + try { + $odfHandler->setVars($key, $value, true, 'UTF-8'); + } + catch(OdfException $e) + { + } + } + + // Call the beforeODTSave hook + $parameters=array('odfHandler'=>&$odfHandler,'file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs); + $reshook=$hookmanager->executeHooks('beforeODTSave',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + + // Write new file + if (!empty($conf->global->MAIN_ODT_AS_PDF)) { + try { + $odfHandler->exportAsAttachedPDF($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } + } + else { + try { + $odfHandler->saveToDisk($file); + }catch (Exception $e){ + $this->error=$e->getMessage(); + return -1; + } + } + + $reshook=$hookmanager->executeHooks('afterODTCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + $odfHandler=null; // Destroy object + + return 1; // Success + } + else + { + $this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir); + return -1; + } + } + + return -1; + } + +} + diff --git a/htdocs/core/modules/askpricesupplier/doc/index.html b/htdocs/core/modules/askpricesupplier/doc/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/core/modules/askpricesupplier/doc/pdf_aurore.modules.php b/htdocs/core/modules/askpricesupplier/doc/pdf_aurore.modules.php new file mode 100644 index 00000000000..753c9ad9237 --- /dev/null +++ b/htdocs/core/modules/askpricesupplier/doc/pdf_aurore.modules.php @@ -0,0 +1,1393 @@ + + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand + * Copyright (C) 2010-2014 Juanjo Menent + * Copyright (C) 2012 Christophe Battarel + * + * This 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/modules/propale/doc/pdf_azur.modules.php + * \ingroup propale + * \brief Fichier de la classe permettant de generer les propales au modele Azur + */ +require_once DOL_DOCUMENT_ROOT.'/core/modules/askpricesupplier/modules_askpricesupplier.php'; +require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; + + +/** + * Class to generate PDF proposal Azur + */ +class pdf_aurore extends ModelePDFAskPriceSupplier +{ + var $db; + var $name; + var $description; + var $type; + + var $phpmin = array(4,3,0); // Minimum version of PHP required by module + var $version = 'dolibarr'; + + var $page_largeur; + var $page_hauteur; + var $format; + var $marge_gauche; + var $marge_droite; + var $marge_haute; + var $marge_basse; + + var $emetteur; // Objet societe qui emet + + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $conf,$langs,$mysoc; + + $langs->load("main"); + $langs->load("bills"); + + $this->db = $db; + $this->name = "aurore"; + $this->description = $langs->trans('DocModelAuroreDescription'); + + // Dimension page pour format A4 + $this->type = 'pdf'; + $formatarray=pdf_getFormat(); + $this->page_largeur = $formatarray['width']; + $this->page_hauteur = $formatarray['height']; + $this->format = array($this->page_largeur,$this->page_hauteur); + $this->marge_gauche=isset($conf->global->MAIN_PDF_MARGIN_LEFT)?$conf->global->MAIN_PDF_MARGIN_LEFT:10; + $this->marge_droite=isset($conf->global->MAIN_PDF_MARGIN_RIGHT)?$conf->global->MAIN_PDF_MARGIN_RIGHT:10; + $this->marge_haute =isset($conf->global->MAIN_PDF_MARGIN_TOP)?$conf->global->MAIN_PDF_MARGIN_TOP:10; + $this->marge_basse =isset($conf->global->MAIN_PDF_MARGIN_BOTTOM)?$conf->global->MAIN_PDF_MARGIN_BOTTOM:10; + + $this->option_logo = 1; // Affiche logo + $this->option_tva = 1; // Gere option tva FACTURE_TVAOPTION + $this->option_modereg = 1; // Affiche mode reglement + $this->option_condreg = 1; // Affiche conditions reglement + $this->option_codeproduitservice = 1; // Affiche code produit-service + $this->option_multilang = 1; // Dispo en plusieurs langues + $this->option_escompte = 1; // Affiche si il y a eu escompte + $this->option_credit_note = 1; // Support credit notes + $this->option_freetext = 1; // Support add of a personalised text + $this->option_draft_watermark = 1; //Support add of a watermark on drafts + + $this->franchise=!$mysoc->tva_assuj; + + // Get source company + $this->emetteur=$mysoc; + if (empty($this->emetteur->country_code)) $this->emetteur->country_code=substr($langs->defaultlang,-2); // By default, if was not defined + + // Define position of columns + $this->posxdesc=$this->marge_gauche+1; + $this->posxtva=102; + $this->posxup=116; + $this->posxqty=145; + $this->posxdiscount=162; + $this->postotalht=174; + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) $this->posxtva=$this->posxup; + $this->posxpicture=$this->posxtva - (empty($conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH)?20:$conf->global->MAIN_DOCUMENTS_WITH_PICTURE_WIDTH); // width of images + if ($this->page_largeur < 210) // To work with US executive format + { + $this->posxpicture-=20; + $this->posxtva-=20; + $this->posxup-=20; + $this->posxqty-=20; + $this->posxdiscount-=20; + $this->postotalht-=20; + } + + $this->tva=array(); + $this->localtax1=array(); + $this->localtax2=array(); + $this->atleastoneratenotnull=0; + $this->atleastonediscount=0; + } + + /** + * Function to build pdf onto disk + * + * @param Object $object Object to generate + * @param Translate $outputlangs Lang output object + * @param string $srctemplatepath Full path of source filename for generator using a template file + * @param int $hidedetails Do not show line details + * @param int $hidedesc Do not show desc + * @param int $hideref Do not show ref + * @return int 1=OK, 0=KO + */ + function write_file($object,$outputlangs,$srctemplatepath='',$hidedetails=0,$hidedesc=0,$hideref=0) + { + global $user,$langs,$conf,$mysoc,$db,$hookmanager; + + if (! is_object($outputlangs)) $outputlangs=$langs; + // For backward compatibility with FPDF, force output charset to ISO, because FPDF expect text to be encoded in ISO + if (! empty($conf->global->MAIN_USE_FPDF)) $outputlangs->charset_output='ISO-8859-1'; + + $outputlangs->load("main"); + $outputlangs->load("dict"); + $outputlangs->load("companies"); + $outputlangs->load("bills"); + $outputlangs->load("askpricesupplier"); + $outputlangs->load("products"); + + $nblignes = count($object->lines); + + // Loop on each lines to detect if there is at least one image to show + $realpatharray=array(); + if (! empty($conf->global->MAIN_GENERATE_ASKPRICESUPPLIER_WITH_PICTURE)) + { + for ($i = 0 ; $i < $nblignes ; $i++) + { + if (empty($object->lines[$i]->fk_product)) continue; + + $objphoto = new Product($this->db); + $objphoto->fetch($object->lines[$i]->fk_product); + + $pdir = get_exdir($object->lines[$i]->fk_product,2) . $object->lines[$i]->fk_product ."/photos/"; + $dir = $conf->product->dir_output.'/'.$pdir; + + $realpath=''; + foreach ($objphoto->liste_photos($dir,1) as $key => $obj) + { + $filename=$obj['photo']; + //if ($obj['photo_vignette']) $filename='thumbs/'.$obj['photo_vignette']; + $realpath = $dir.$filename; + break; + } + + if ($realpath) $realpatharray[$i]=$realpath; + } + } + if (count($realpatharray) == 0) $this->posxpicture=$this->posxtva; + + if ($conf->askpricesupplier->dir_output) + { + $object->fetch_thirdparty(); + + // $deja_regle = 0; + + // Definition of $dir and $file + if ($object->specimen) + { + $dir = $conf->askpricesupplier->dir_output; + $file = $dir . "/SPECIMEN.pdf"; + } + else + { + $objectref = dol_sanitizeFileName($object->ref); + $dir = $conf->askpricesupplier->dir_output . "/" . $objectref; + $file = $dir . "/" . $objectref . ".pdf"; + } + + if (! file_exists($dir)) + { + if (dol_mkdir($dir) < 0) + { + $this->error=$langs->transnoentities("ErrorCanNotCreateDir",$dir); + return 0; + } + } + + if (file_exists($dir)) + { + // Add pdfgeneration hook + if (! is_object($hookmanager)) + { + include_once DOL_DOCUMENT_ROOT.'/core/class/hookmanager.class.php'; + $hookmanager=new HookManager($this->db); + } + $hookmanager->initHooks(array('pdfgeneration')); + $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs); + global $action; + $reshook=$hookmanager->executeHooks('beforePDFCreation',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks + + // Create pdf instance + $pdf=pdf_getInstance($this->format); + $default_font_size = pdf_getPDFFontSize($outputlangs); // Must be after pdf_getInstance + $heightforinfotot = 50; // Height reserved to output the info and total part + $heightforfreetext= (isset($conf->global->MAIN_PDF_FREETEXT_HEIGHT)?$conf->global->MAIN_PDF_FREETEXT_HEIGHT:5); // Height reserved to output the free text on last page + $heightforfooter = $this->marge_basse + 8; // Height reserved to output the footer (value include bottom margin) + $pdf->SetAutoPageBreak(1,0); + + if (class_exists('TCPDF')) + { + $pdf->setPrintHeader(false); + $pdf->setPrintFooter(false); + } + $pdf->SetFont(pdf_getPDFFont($outputlangs)); + // Set path to the background PDF File + if (empty($conf->global->MAIN_DISABLE_FPDI) && ! empty($conf->global->MAIN_ADD_PDF_BACKGROUND)) + { + $pagecount = $pdf->setSourceFile($conf->mycompany->dir_output.'/'.$conf->global->MAIN_ADD_PDF_BACKGROUND); + $tplidx = $pdf->importPage(1); + } + + $pdf->Open(); + $pagenb=0; + $pdf->SetDrawColor(128,128,128); + + $pdf->SetTitle($outputlangs->convToOutputCharset($object->ref)); + $pdf->SetSubject($outputlangs->transnoentities("CommercialAsk")); + $pdf->SetCreator("Dolibarr ".DOL_VERSION); + $pdf->SetAuthor($outputlangs->convToOutputCharset($user->getFullName($outputlangs))); + $pdf->SetKeyWords($outputlangs->convToOutputCharset($object->ref)." ".$outputlangs->transnoentities("CommercialAsk")); + if (! empty($conf->global->MAIN_DISABLE_PDF_COMPRESSION)) $pdf->SetCompression(false); + + $pdf->SetMargins($this->marge_gauche, $this->marge_haute, $this->marge_droite); // Left, Top, Right + + // Positionne $this->atleastonediscount si on a au moins une remise + for ($i = 0 ; $i < $nblignes ; $i++) + { + if ($object->lines[$i]->remise_percent) + { + $this->atleastonediscount++; + } + } + if (empty($this->atleastonediscount)) + { + $this->posxpicture+=($this->postotalht - $this->posxdiscount); + $this->posxtva+=($this->postotalht - $this->posxdiscount); + $this->posxup+=($this->postotalht - $this->posxdiscount); + $this->posxqty+=($this->postotalht - $this->posxdiscount); + $this->posxdiscount+=($this->postotalht - $this->posxdiscount); + //$this->postotalht; + } + + // New page + $pdf->AddPage(); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + $pagenb++; + $this->_pagehead($pdf, $object, 1, $outputlangs); + $pdf->SetFont('','', $default_font_size - 1); + $pdf->MultiCell(0, 3, ''); // Set interline to 3 + $pdf->SetTextColor(0,0,0); + + $tab_top = 90; + $tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?42:10); + $tab_height = 130; + $tab_height_newpage = 150; + + // Affiche notes + $notetoshow=empty($object->note_public)?'':$object->note_public; + if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) + { + // Get first sale rep + if (is_object($object->thirdparty)) + { + $salereparray=$object->thirdparty->getSalesRepresentatives($user); + $salerepobj=new User($this->db); + $salerepobj->fetch($salereparray[0]['id']); + if (! empty($salerepobj->signature)) $notetoshow=dol_concatdesc($notetoshow, $salerepobj->signature); + } + } + if ($notetoshow) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); + $nexY = $pdf->GetY(); + $height_note=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_note+1); + + $tab_height = $tab_height - $height_note; + $tab_top = $nexY+6; + } + else + { + $height_note=0; + } + + $iniY = $tab_top + 7; + $curY = $tab_top + 7; + $nexY = $tab_top + 7; + + // Loop on each lines + for ($i = 0 ; $i < $nblignes ; $i++) + { + $curY = $nexY; + $pdf->SetFont('','', $default_font_size - 1); // Into loop to work with multipage + $pdf->SetTextColor(0,0,0); + + // Define size of image if we need it + $imglinesize=array(); + if (! empty($realpatharray[$i])) $imglinesize=pdf_getSizeForImage($realpatharray[$i]); + + $pdf->setTopMargin($tab_top_newpage); + $pdf->setPageOrientation('', 1, $heightforfooter+$heightforfreetext+$heightforinfotot); // The only function to edit the bottom margin of current page to set it. + $pageposbefore=$pdf->getPage(); + + $showpricebeforepagebreak=1; + $posYAfterImage=0; + $posYAfterDescription=0; + + // We start with Photo of product line + if (isset($imglinesize['width']) && isset($imglinesize['height']) && ($curY + $imglinesize['height']) > ($this->page_hauteur-($heightforfooter+$heightforfreetext+$heightforinfotot))) // If photo too high, we moved completely on new page + { + $pdf->AddPage('','',true); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->setPage($pageposbefore+1); + + $curY = $tab_top_newpage; + $showpricebeforepagebreak=0; + } + + if (isset($imglinesize['width']) && isset($imglinesize['height'])) + { + $curX = $this->posxpicture-1; + $pdf->Image($realpatharray[$i], $curX + (($this->posxtva-$this->posxpicture-$imglinesize['width'])/2), $curY, $imglinesize['width'], $imglinesize['height'], '', '', '', 2, 300); // Use 300 dpi + // $pdf->Image does not increase value return by getY, so we save it manually + $posYAfterImage=$curY+$imglinesize['height']; + } + + // Description of product line + $curX = $this->posxdesc-1; + + $pdf->startTransaction(); + pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxpicture-$curX,3,$curX,$curY,$hideref,$hidedesc); + + $pageposafter=$pdf->getPage(); + if ($pageposafter > $pageposbefore) // There is a pagebreak + { + $pdf->rollbackTransaction(true); + $pageposafter=$pageposbefore; + //print $pageposafter.'-'.$pageposbefore;exit; + $pdf->setPageOrientation('', 1, $heightforfooter); // The only function to edit the bottom margin of current page to set it. + pdf_writelinedesc($pdf,$object,$i,$outputlangs,$this->posxpicture-$curX,3,$curX,$curY,$hideref,$hidedesc); + + $pageposafter=$pdf->getPage(); + $posyafter=$pdf->GetY(); + //var_dump($posyafter); var_dump(($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))); exit; + if ($posyafter > ($this->page_hauteur - ($heightforfooter+$heightforfreetext+$heightforinfotot))) // There is no space left for total+free text + { + if ($i == ($nblignes-1)) // No more lines, and no space left to show total, so we create a new page + { + $pdf->AddPage('','',true); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + $pdf->setPage($pageposafter+1); + } + } + else + { + // We found a page break + $showpricebeforepagebreak=0; + } + } + else // No pagebreak + { + $pdf->commitTransaction(); + } + $posYAfterDescription=$pdf->GetY(); + + $nexY = $pdf->GetY(); + $pageposafter=$pdf->getPage(); + + $pdf->setPage($pageposbefore); + $pdf->setTopMargin($this->marge_haute); + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + + // We suppose that a too long description or photo were moved completely on next page + if ($pageposafter > $pageposbefore && empty($showpricebeforepagebreak)) { + $pdf->setPage($pageposafter); $curY = $tab_top_newpage; + } + + $pdf->SetFont('','', $default_font_size - 1); // On repositionne la police par defaut + + // VAT Rate + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + { + $vat_rate = pdf_getlinevatrate($object, $i, $outputlangs, $hidedetails); + $pdf->SetXY($this->posxtva, $curY); + $pdf->MultiCell($this->posxup-$this->posxtva-3, 3, $vat_rate, 0, 'R'); + } + + // Unit price before discount + $up_excl_tax = pdf_getlineupexcltax($object, $i, $outputlangs, $hidedetails); + $pdf->SetXY($this->posxup, $curY); + if ($up_excl_tax > 0) + $pdf->MultiCell($this->posxqty-$this->posxup-0.8, 3, $up_excl_tax, 0, 'R', 0); + + // Quantity + $qty = pdf_getlineqty($object, $i, $outputlangs, $hidedetails); + $pdf->SetXY($this->posxqty, $curY); + $pdf->MultiCell($this->posxdiscount-$this->posxqty-0.8, 3, $qty, 0, 'R'); // Enough for 6 chars + + // Discount on line + if ($object->lines[$i]->remise_percent) + { + $pdf->SetXY($this->posxdiscount-2, $curY); + $remise_percent = pdf_getlineremisepercent($object, $i, $outputlangs, $hidedetails); + $pdf->MultiCell($this->postotalht-$this->posxdiscount+2, 3, $remise_percent, 0, 'R'); + } + + // Total HT line + $total_excl_tax = pdf_getlinetotalexcltax($object, $i, $outputlangs, $hidedetails); + $pdf->SetXY($this->postotalht, $curY); + if ($total_excl_tax > 0) + $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->postotalht, 3, $total_excl_tax, 0, 'R', 0); + + // Collecte des totaux par valeur de tva dans $this->tva["taux"]=total_tva + $tvaligne=$object->lines[$i]->total_tva; + $localtax1ligne=$object->lines[$i]->total_localtax1; + $localtax2ligne=$object->lines[$i]->total_localtax2; + $localtax1_rate=$object->lines[$i]->localtax1_tx; + $localtax2_rate=$object->lines[$i]->localtax2_tx; + $localtax1_type=$object->lines[$i]->localtax1_type; + $localtax2_type=$object->lines[$i]->localtax2_type; + + if ($object->remise_percent) $tvaligne-=($tvaligne*$object->remise_percent)/100; + if ($object->remise_percent) $localtax1ligne-=($localtax1ligne*$object->remise_percent)/100; + if ($object->remise_percent) $localtax2ligne-=($localtax2ligne*$object->remise_percent)/100; + + $vatrate=(string) $object->lines[$i]->tva_tx; + + // Retrieve type from database for backward compatibility with old records + if ((! isset($localtax1_type) || $localtax1_type=='' || ! isset($localtax2_type) || $localtax2_type=='') // if tax type not defined + && (! empty($localtax1_rate) || ! empty($localtax2_rate))) // and there is local tax + { + $localtaxtmp_array=getLocalTaxesFromRate($vatrate,0,$object->thirdparty,$mysoc); + $localtax1_type = $localtaxtmp_array[0]; + $localtax2_type = $localtaxtmp_array[2]; + } + + // retrieve global local tax + if ($localtax1_type && $localtax1ligne != 0) + $this->localtax1[$localtax1_type][$localtax1_rate]+=$localtax1ligne; + if ($localtax2_type && $localtax2ligne != 0) + $this->localtax2[$localtax2_type][$localtax2_rate]+=$localtax2ligne; + + if (($object->lines[$i]->info_bits & 0x01) == 0x01) $vatrate.='*'; + if (! isset($this->tva[$vatrate])) $this->tva[$vatrate]=''; + $this->tva[$vatrate] += $tvaligne; + + if ($posYAfterImage > $posYAfterDescription) $nexY=$posYAfterImage; + + // Add line + if (! empty($conf->global->MAIN_PDF_DASH_BETWEEN_LINES) && $i < ($nblignes - 1)) + { + $pdf->setPage($pageposafter); + $pdf->SetLineStyle(array('dash'=>'1,1','color'=>array(210,210,210))); + //$pdf->SetDrawColor(190,190,200); + $pdf->line($this->marge_gauche, $nexY+1, $this->page_largeur - $this->marge_droite, $nexY+1); + $pdf->SetLineStyle(array('dash'=>0)); + } + + $nexY+=2; // Passe espace entre les lignes + + // Detect if some page were added automatically and output _tableau for past pages + while ($pagenb < $pageposafter) + { + $pdf->setPage($pagenb); + if ($pagenb == 1) + { + $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1); + } + else + { + $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1); + } + $this->_pagefoot($pdf,$object,$outputlangs,1); + $pagenb++; + $pdf->setPage($pagenb); + $pdf->setPageOrientation('', 1, 0); // The only function to edit the bottom margin of current page to set it. + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + } + if (isset($object->lines[$i+1]->pagebreak) && $object->lines[$i+1]->pagebreak) + { + if ($pagenb == 1) + { + $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforfooter, 0, $outputlangs, 0, 1); + } + else + { + $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforfooter, 0, $outputlangs, 1, 1); + } + $this->_pagefoot($pdf,$object,$outputlangs,1); + // New page + $pdf->AddPage(); + if (! empty($tplidx)) $pdf->useTemplate($tplidx); + $pagenb++; + if (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)) $this->_pagehead($pdf, $object, 0, $outputlangs); + } + } + + // Show square + if ($pagenb == 1) + { + $this->_tableau($pdf, $tab_top, $this->page_hauteur - $tab_top - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 0, 0); + $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + } + else + { + $this->_tableau($pdf, $tab_top_newpage, $this->page_hauteur - $tab_top_newpage - $heightforinfotot - $heightforfreetext - $heightforfooter, 0, $outputlangs, 1, 0); + $bottomlasttab=$this->page_hauteur - $heightforinfotot - $heightforfreetext - $heightforfooter + 1; + } + + // Affiche zone infos + $posy=$this->_tableau_info($pdf, $object, $bottomlasttab, $outputlangs); + + // Affiche zone totaux + $posy=$this->_tableau_tot($pdf, $object, 0, $bottomlasttab, $outputlangs); + + // Affiche zone versements + /* + if ($deja_regle || $amount_credit_notes_included || $amount_deposits_included) + { + $posy=$this->_tableau_versements($pdf, $object, $posy, $outputlangs); + } + */ + + // Pied de page + $this->_pagefoot($pdf,$object,$outputlangs); + if (method_exists($pdf,'AliasNbPages')) $pdf->AliasNbPages(); + + $pdf->Close(); + + $pdf->Output($file,'F'); + + //Add pdfgeneration hook + $hookmanager->initHooks(array('pdfgeneration')); + $parameters=array('file'=>$file,'object'=>$object,'outputlangs'=>$outputlangs); + global $action; + $reshook=$hookmanager->executeHooks('afterPDFCreation',$parameters,$this,$action); // Note that $action and $object may have been modified by some hooks + + if (! empty($conf->global->MAIN_UMASK)) + @chmod($file, octdec($conf->global->MAIN_UMASK)); + + return 1; // Pas d'erreur + } + else + { + $this->error=$langs->trans("ErrorCanNotCreateDir",$dir); + return 0; + } + } + else + { + $this->error=$langs->trans("ErrorConstantNotDefined","ASKSUPPLIERPICE_OUTPUTDIR"); + return 0; + } + } + + /** + * Show payments table + * + * @param PDF $pdf Object PDF + * @param Object $object Object proposal + * @param int $posy Position y in PDF + * @param Translate $outputlangs Object langs for output + * @return int <0 if KO, >0 if OK + */ + function _tableau_versements(&$pdf, $object, $posy, $outputlangs) + { + + } + + + /** + * Show miscellaneous information (payment mode, payment term, ...) + * + * @param PDF $pdf Object PDF + * @param Object $object Object to show + * @param int $posy Y + * @param Translate $outputlangs Langs object + * @return void + */ + function _tableau_info(&$pdf, $object, $posy, $outputlangs) + { + global $conf; + $default_font_size = pdf_getPDFFontSize($outputlangs); + + $pdf->SetFont('','', $default_font_size - 1); + + // If France, show VAT mention if not applicable + if ($this->emetteur->country_code == 'FR' && $this->franchise == 1) + { + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("VATIsNotUsedForInvoice"), 0, 'L', 0); + + $posy=$pdf->GetY()+4; + } + + $posxval=52; + + // Show shipping date + if (! empty($object->date_livraison)) + { + $outputlangs->load("sendings"); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("DateDeliveryPlanned").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $dlp=dol_print_date($object->date_livraison,"daytext",false,$outputlangs,true); + $pdf->MultiCell(80, 4, $dlp, 0, 'L'); + + $posy=$pdf->GetY()+1; + } + else { + $outputlangs->load("sendings"); + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("DateDeliveryPlanned").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + //$dlp=dol_print_date($object->date_livraison,"daytext",false,$outputlangs,true); + $pdf->MultiCell(80, 4, $dlp, 0, 'L'); + + $posy=$pdf->GetY()+1; + } + /* PHFAVRE + elseif ($object->availability_code || $object->availability) // Show availability conditions + { + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("AvailabilityPeriod").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $lib_availability=$outputlangs->transnoentities("AvailabilityType".$object->availability_code)!=('AvailabilityType'.$object->availability_code)?$outputlangs->transnoentities("AvailabilityType".$object->availability_code):$outputlangs->convToOutputCharset($object->availability); + $lib_availability=str_replace('\n',"\n",$lib_availability); + $pdf->MultiCell(80, 4, $lib_availability, 0, 'L'); + + $posy=$pdf->GetY()+1; + }*/ + + // Show payments conditions + if (empty($conf->global->ASKPRICESUPPLIER_PDF_HIDE_PAYMENTTERMCOND) && ($object->cond_reglement_code || $object->cond_reglement)) + { + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("PaymentConditions").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + $lib_condition_paiement=$outputlangs->transnoentities("PaymentCondition".$object->cond_reglement_code)!=('PaymentCondition'.$object->cond_reglement_code)?$outputlangs->transnoentities("PaymentCondition".$object->cond_reglement_code):$outputlangs->convToOutputCharset($object->cond_reglement_doc); + $lib_condition_paiement=str_replace('\n',"\n",$lib_condition_paiement); + $pdf->MultiCell(80, 4, $lib_condition_paiement,0,'L'); + + $posy=$pdf->GetY()+3; + } + else { + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy); + $titre = $outputlangs->transnoentities("PaymentConditions").':'; + $pdf->MultiCell(80, 4, $titre, 0, 'L'); + + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy); + + $lib_condition_paiement=str_replace('\n',"\n",$lib_condition_paiement); + $pdf->MultiCell(80, 4, $lib_condition_paiement,0,'L'); + + $posy=$pdf->GetY()+3; + } + + if (empty($conf->global->ASKPRICESUPPLIER_PDF_HIDE_PAYMENTTERMCOND)) + { + // Show payment mode + if ($object->mode_reglement_code + && $object->mode_reglement_code != 'CHQ' + && $object->mode_reglement_code != 'VIR') + { + $pdf->SetFont('','B', $default_font_size - 2); + $pdf->SetXY($this->marge_gauche, $posy-2); + $titre = $outputlangs->transnoentities("PaymentMode").':'; + $pdf->MultiCell(80, 5, $titre, 0, 'L'); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posxval, $posy-2); + $lib_mode_reg=$outputlangs->transnoentities("PaymentType".$object->mode_reglement_code)!=('PaymentType'.$object->mode_reglement_code)?$outputlangs->transnoentities("PaymentType".$object->mode_reglement_code):$outputlangs->convToOutputCharset($object->mode_reglement); + $pdf->MultiCell(80, 5, $lib_mode_reg,0,'L'); + + $posy=$pdf->GetY()+2; + } + + // Show payment mode CHQ + if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'CHQ') + { + // Si mode reglement non force ou si force a CHQ + if (! empty($conf->global->FACTURE_CHQ_NUMBER)) + { + $diffsizetitle=(empty($conf->global->PDF_DIFFSIZE_TITLE)?3:$conf->global->PDF_DIFFSIZE_TITLE); + + if ($conf->global->FACTURE_CHQ_NUMBER > 0) + { + $account = new Account($this->db); + $account->fetch($conf->global->FACTURE_CHQ_NUMBER); + + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','B', $default_font_size - $diffsizetitle); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities('PaymentByChequeOrderedTo',$account->proprio),0,'L',0); + $posy=$pdf->GetY()+1; + + if (empty($conf->global->MAIN_PDF_HIDE_CHQ_ADDRESS)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','', $default_font_size - $diffsizetitle); + $pdf->MultiCell(100, 3, $outputlangs->convToOutputCharset($account->owner_address), 0, 'L', 0); + $posy=$pdf->GetY()+2; + } + } + if ($conf->global->FACTURE_CHQ_NUMBER == -1) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','B', $default_font_size - $diffsizetitle); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities('PaymentByChequeOrderedTo',$this->emetteur->name),0,'L',0); + $posy=$pdf->GetY()+1; + + if (empty($conf->global->MAIN_PDF_HIDE_CHQ_ADDRESS)) + { + $pdf->SetXY($this->marge_gauche, $posy); + $pdf->SetFont('','', $default_font_size - $diffsizetitle); + $pdf->MultiCell(100, 3, $outputlangs->convToOutputCharset($this->emetteur->getFullAddress()), 0, 'L', 0); + $posy=$pdf->GetY()+2; + } + } + } + } + + // If payment mode not forced or forced to VIR, show payment with BAN + if (empty($object->mode_reglement_code) || $object->mode_reglement_code == 'VIR') + { + if (! empty($object->fk_bank) || ! empty($conf->global->FACTURE_RIB_NUMBER)) + { + $bankid=(empty($object->fk_bank)?$conf->global->FACTURE_RIB_NUMBER:$object->fk_bank); + $account = new Account($this->db); + $account->fetch($bankid); + + $curx=$this->marge_gauche; + $cury=$posy; + + $posy=pdf_bank($pdf,$outputlangs,$curx,$cury,$account,0,$default_font_size); + + $posy+=2; + } + } + } + + return $posy; + } + + + /** + * Show total to pay + * + * @param PDF $pdf Object PDF + * @param Facture $object Object invoice + * @param int $deja_regle Montant deja regle + * @param int $posy Position depart + * @param Translate $outputlangs Objet langs + * @return int Position pour suite + */ + function _tableau_tot(&$pdf, $object, $deja_regle, $posy, $outputlangs) + { + global $conf,$mysoc; + $default_font_size = pdf_getPDFFontSize($outputlangs); + + $tab2_top = $posy; + $tab2_hl = 4; + $pdf->SetFont('','', $default_font_size - 1); + + // Tableau total + $col1x = 120; $col2x = 170; + if ($this->page_largeur < 210) // To work with US executive format + { + $col2x-=20; + } + $largcol2 = ($this->page_largeur - $this->marge_droite - $col2x); + + $useborder=0; + $index = 0; + + // Total HT + $pdf->SetFillColor(255,255,255); + $pdf->SetXY($col1x, $tab2_top + 0); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalHT"), 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + 0); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ht + (! empty($object->remise)?$object->remise:0), 0, $outputlangs), 0, 'R', 1); + + // Show VAT by rates and total + $pdf->SetFillColor(248,248,248); + + $this->atleastoneratenotnull=0; + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + { + $tvaisnull=((! empty($this->tva) && count($this->tva) == 1 && isset($this->tva['0.000']) && is_float($this->tva['0.000'])) ? true : false); + if (! empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_ISNULL) && $tvaisnull) + { + // Nothing to do + } + else + { + //Local tax 1 before VAT + //if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on') + //{ + foreach( $this->localtax1 as $localtax_type => $localtax_rate ) + { + if (in_array((string) $localtax_type, array('1','3','5'))) continue; + + foreach( $localtax_rate as $tvakey => $tvaval ) + { + if ($tvakey!=0) // On affiche pas taux 0 + { + //$this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl=''; + if (preg_match('/\*/',$tvakey)) + { + $tvakey=str_replace('*','',$tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' '; + $totalvat.=vatrate(abs($tvakey),1).$tvacompl; + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + } + } + } + //} + //Local tax 2 before VAT + //if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on') + //{ + foreach( $this->localtax2 as $localtax_type => $localtax_rate ) + { + if (in_array((string) $localtax_type, array('1','3','5'))) continue; + + foreach( $localtax_rate as $tvakey => $tvaval ) + { + if ($tvakey!=0) // On affiche pas taux 0 + { + //$this->atleastoneratenotnull++; + + + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl=''; + if (preg_match('/\*/',$tvakey)) + { + $tvakey=str_replace('*','',$tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT2", $mysoc->country_code).' '; + $totalvat.=vatrate(abs($tvakey),1).$tvacompl; + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + + } + } + } + //} + // VAT + foreach($this->tva as $tvakey => $tvaval) + { + if ($tvakey > 0) // On affiche pas taux 0 + { + $this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl=''; + if (preg_match('/\*/',$tvakey)) + { + $tvakey=str_replace('*','',$tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat =$outputlangs->transnoentities("TotalVAT").' '; + $totalvat.=vatrate($tvakey,1).$tvacompl; + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + } + } + + //Local tax 1 after VAT + //if (! empty($conf->global->FACTURE_LOCAL_TAX1_OPTION) && $conf->global->FACTURE_LOCAL_TAX1_OPTION=='localtax1on') + //{ + foreach( $this->localtax1 as $localtax_type => $localtax_rate ) + { + if (in_array((string) $localtax_type, array('2','4','6'))) continue; + + foreach( $localtax_rate as $tvakey => $tvaval ) + { + if ($tvakey != 0) // On affiche pas taux 0 + { + //$this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl=''; + if (preg_match('/\*/',$tvakey)) + { + $tvakey=str_replace('*','',$tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT1",$mysoc->country_code).' '; + + $totalvat.=vatrate(abs($tvakey),1).$tvacompl; + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1); + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + } + } + } + //} + //Local tax 2 after VAT + //if (! empty($conf->global->FACTURE_LOCAL_TAX2_OPTION) && $conf->global->FACTURE_LOCAL_TAX2_OPTION=='localtax2on') + //{ + foreach( $this->localtax2 as $localtax_type => $localtax_rate ) + { + if (in_array((string) $localtax_type, array('2','4','6'))) continue; + + foreach( $localtax_rate as $tvakey => $tvaval ) + { + // retrieve global local tax + if ($tvakey != 0) // On affiche pas taux 0 + { + //$this->atleastoneratenotnull++; + + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + + $tvacompl=''; + if (preg_match('/\*/',$tvakey)) + { + $tvakey=str_replace('*','',$tvakey); + $tvacompl = " (".$outputlangs->transnoentities("NonPercuRecuperable").")"; + } + $totalvat = $outputlangs->transcountrynoentities("TotalLT2",$mysoc->country_code).' '; + + $totalvat.=vatrate(abs($tvakey),1).$tvacompl; + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $totalvat, 0, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($tvaval, 0, $outputlangs), 0, 'R', 1); + } + } + } + //} + + // Total TTC + $index++; + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->SetTextColor(0,0,60); + $pdf->SetFillColor(224,224,224); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("TotalTTC"), $useborder, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc, 0, $outputlangs), $useborder, 'R', 1); + } + } + + $pdf->SetTextColor(0,0,0); + + /* + $resteapayer = $object->total_ttc - $deja_regle; + if (! empty($object->paye)) $resteapayer=0; + */ + + if ($deja_regle > 0) + { + $index++; + + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("AlreadyPaid"), 0, 'L', 0); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($deja_regle, 0, $outputlangs), 0, 'R', 0); + + /* + if ($object->close_code == 'discount_vat') + { + $index++; + $pdf->SetFillColor(255,255,255); + + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("EscompteOffered"), $useborder, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($object->total_ttc - $deja_regle, 0, $outputlangs), $useborder, 'R', 1); + + $resteapayer=0; + } + */ + + $index++; + $pdf->SetTextColor(0,0,60); + $pdf->SetFillColor(224,224,224); + $pdf->SetXY($col1x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($col2x-$col1x, $tab2_hl, $outputlangs->transnoentities("RemainderToPay"), $useborder, 'L', 1); + + $pdf->SetXY($col2x, $tab2_top + $tab2_hl * $index); + $pdf->MultiCell($largcol2, $tab2_hl, price($resteapayer, 0, $outputlangs), $useborder, 'R', 1); + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetTextColor(0,0,0); + } + + $index++; + return ($tab2_top + ($tab2_hl * $index)); + } + + /** + * Show table for lines + * + * @param PDF $pdf Object PDF + * @param string $tab_top Top position of table + * @param string $tab_height Height of table (rectangle) + * @param int $nexY Y (not used) + * @param Translate $outputlangs Langs object + * @param int $hidetop 1=Hide top bar of array and title, 0=Hide nothing, -1=Hide only title + * @param int $hidebottom Hide bottom bar of array + * @return void + */ + function _tableau(&$pdf, $tab_top, $tab_height, $nexY, $outputlangs, $hidetop=0, $hidebottom=0) + { + global $conf; + + // Force to disable hidetop and hidebottom + $hidebottom=0; + if ($hidetop) $hidetop=-1; + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + // Amount in (at tab_top - 1) + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','',$default_font_size - 2); + + if (empty($hidetop)) + { + $titre = $outputlangs->transnoentities("AmountInCurrency",$outputlangs->transnoentitiesnoconv("Currency".$conf->currency)); + $pdf->SetXY($this->page_largeur - $this->marge_droite - ($pdf->GetStringWidth($titre) + 3), $tab_top-4); + $pdf->MultiCell(($pdf->GetStringWidth($titre) + 3), 2, $titre); + + //$conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR='230,230,230'; + if (! empty($conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)) $pdf->Rect($this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_droite-$this->marge_gauche, 5, 'F', null, explode(',',$conf->global->MAIN_PDF_TITLE_BACKGROUND_COLOR)); + } + + $pdf->SetDrawColor(128,128,128); + $pdf->SetFont('','',$default_font_size - 1); + + // Output Rect + $this->printRect($pdf,$this->marge_gauche, $tab_top, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $tab_height, $hidetop, $hidebottom); // Rect prend une longueur en 3eme param et 4eme param + + if (empty($hidetop)) + { + $pdf->line($this->marge_gauche, $tab_top+5, $this->page_largeur-$this->marge_droite, $tab_top+5); // line prend une position y en 2eme param et 4eme param + + $pdf->SetXY($this->posxdesc-1, $tab_top+1); + $pdf->MultiCell(108,2, $outputlangs->transnoentities("Designation"),'','L'); + } + + if (! empty($conf->global->MAIN_GENERATE_PROPOSALS_WITH_PICTURE)) + { + $pdf->line($this->posxpicture-1, $tab_top, $this->posxpicture-1, $tab_top + $tab_height); + if (empty($hidetop)) + { + //$pdf->SetXY($this->posxpicture-1, $tab_top+1); + //$pdf->MultiCell($this->posxtva-$this->posxpicture-1,2, $outputlangs->transnoentities("Photo"),'','C'); + } + } + + if (empty($conf->global->MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT)) + { + //$pdf->line($this->posxtva-1, $tab_top, $this->posxtva-1, $tab_top + $tab_height); + $pdf->line($this->posxtva-2, $tab_top, $this->posxtva-2, $tab_top + $tab_height); + if (empty($hidetop)) + { + $pdf->SetXY($this->posxtva-5, $tab_top+1); + $pdf->MultiCell($this->posxup-$this->posxtva+3,2, $outputlangs->transnoentities("VAT"),'','C'); + } + } + + $pdf->line($this->posxup-3, $tab_top, $this->posxup-3, $tab_top + $tab_height); + if (empty($hidetop)) + { + $pdf->SetXY($this->posxup-1, $tab_top+1); + $pdf->MultiCell($this->posxqty-$this->posxup-1,2, $outputlangs->transnoentities("AskPriceSupplierUHT"),'','C'); + } + + $pdf->line($this->posxqty-1, $tab_top, $this->posxqty-1, $tab_top + $tab_height); + if (empty($hidetop)) + { + $pdf->SetXY($this->posxqty-1, $tab_top+1); + $pdf->MultiCell($this->posxdiscount-$this->posxqty-1,2, $outputlangs->transnoentities("Qty"),'','C'); + } + + $pdf->line($this->posxdiscount-1, $tab_top, $this->posxdiscount-1, $tab_top + $tab_height); + if (empty($hidetop)) + { + if ($this->atleastonediscount) + { + $pdf->SetXY($this->posxdiscount-1, $tab_top+1); + $pdf->MultiCell($this->postotalht-$this->posxdiscount+1,2, $outputlangs->transnoentities("ReductionShort"),'','C'); + } + } + if ($this->atleastonediscount) + { + $pdf->line($this->postotalht, $tab_top, $this->postotalht, $tab_top + $tab_height); + } + if (empty($hidetop)) + { + $pdf->SetXY($this->postotalht-1, $tab_top+1); + $pdf->MultiCell(30,2, $outputlangs->transnoentities("TotalHT"),'','C'); + } + } + + /** + * Show top header of page. + * + * @param PDF $pdf Object PDF + * @param Object $object Object to show + * @param int $showaddress 0=no, 1=yes + * @param Translate $outputlangs Object lang for output + * @return void + */ + function _pagehead(&$pdf, $object, $showaddress, $outputlangs) + { + global $conf,$langs; + + $outputlangs->load("main"); + $outputlangs->load("bills"); + $outputlangs->load("askpricesupplier"); + $outputlangs->load("companies"); + + $default_font_size = pdf_getPDFFontSize($outputlangs); + + pdf_pagehead($pdf,$outputlangs,$this->page_hauteur); + + // Show Draft Watermark + if($object->statut==0 && (! empty($conf->global->ASKPRICESUPPLIER_DRAFT_WATERMARK)) ) + { + pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->ASKPRICESUPPLIER_DRAFT_WATERMARK); + } + + $pdf->SetTextColor(0,0,60); + $pdf->SetFont('','B', $default_font_size + 3); + + $posy=$this->marge_haute; + $posx=$this->page_largeur-$this->marge_droite-100; + + $pdf->SetXY($this->marge_gauche,$posy); + + // Logo + $logo=$conf->mycompany->dir_output.'/logos/'.$this->emetteur->logo; + if ($this->emetteur->logo) + { + if (is_readable($logo)) + { + $height=pdf_getHeightForLogo($logo); + $pdf->Image($logo, $this->marge_gauche, $posy, 0, $height); // width=0 (auto) + } + else + { + $pdf->SetTextColor(200,0,0); + $pdf->SetFont('','B',$default_font_size - 2); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorLogoFileNotFound",$logo), 0, 'L'); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("ErrorGoToGlobalSetup"), 0, 'L'); + } + } + else + { + $text=$this->emetteur->name; + $pdf->MultiCell(100, 4, $outputlangs->convToOutputCharset($text), 0, 'L'); + } + + $pdf->SetFont('','B',$default_font_size + 3); + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(0,0,60); + $title=$outputlangs->transnoentities("CommercialAsk"); + $pdf->MultiCell(100, 4, $title, '', 'R'); + + $pdf->SetFont('','B',$default_font_size); + + $posy+=5; + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 4, $outputlangs->transnoentities("Ref")." : " . $outputlangs->convToOutputCharset($object->ref), '', 'R'); + + $posy+=1; + $pdf->SetFont('','', $default_font_size - 2); + + if ($object->ref_client) + { + $posy+=4; + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("RefCustomer")." : " . $outputlangs->convToOutputCharset($object->ref_client), '', 'R'); + } +/* PHFAVRE + $posy+=4; + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("AskPriceSupplierDate")." : " . dol_print_date($object->date_livraison,"day",false,$outputlangs,true), '', 'R'); +*/ + + if ($object->client->code_client) + { + $posy+=4; + $pdf->SetXY($posx,$posy); + $pdf->SetTextColor(0,0,60); + $pdf->MultiCell(100, 3, $outputlangs->transnoentities("CustomerCode")." : " . $outputlangs->transnoentities($object->client->code_client), '', 'R'); + } + + $posy+=2; + + // Show list of linked objects + $posy = pdf_writeLinkedObjects($pdf, $object, $outputlangs, $posx, $posy, 100, 3, 'R', $default_font_size); + + if ($showaddress) + { + // Sender properties + $carac_emetteur=''; + // Add internal contact of proposal if defined + $arrayidcontact=$object->getIdContact('internal','SALESREPFOLL'); + if (count($arrayidcontact) > 0) + { + $object->fetch_user($arrayidcontact[0]); + $carac_emetteur .= ($carac_emetteur ? "\n" : '' ).$outputlangs->transnoentities("Name").": ".$outputlangs->convToOutputCharset($object->user->getFullName($outputlangs))."\n"; + } + + $carac_emetteur .= pdf_build_address($outputlangs, $this->emetteur, $object->client); + + // Show sender + $posy=42; + $posx=$this->marge_gauche; + if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->page_largeur-$this->marge_droite-80; + $hautcadre=40; + + // Show sender frame + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posx,$posy-5); + $pdf->MultiCell(66,5, $outputlangs->transnoentities("BillFrom").":", 0, 'L'); + $pdf->SetXY($posx,$posy); + $pdf->SetFillColor(230,230,230); + $pdf->MultiCell(82, $hautcadre, "", 0, 'R', 1); + $pdf->SetTextColor(0,0,60); + + // Show sender name + $pdf->SetXY($posx+2,$posy+3); + $pdf->SetFont('','B', $default_font_size); + $pdf->MultiCell(80, 4, $outputlangs->convToOutputCharset($this->emetteur->name), 0, 'L'); + $posy=$pdf->getY(); + + // Show sender information + $pdf->SetXY($posx+2,$posy); + $pdf->SetFont('','', $default_font_size - 1); + $pdf->MultiCell(80, 4, $carac_emetteur, 0, 'L'); + + + // If CUSTOMER contact defined, we use it + $usecontact=false; + $arrayidcontact=$object->getIdContact('external','CUSTOMER'); + if (count($arrayidcontact) > 0) + { + $usecontact=true; + $result=$object->fetch_contact($arrayidcontact[0]); + } + + // Recipient name + if (! empty($usecontact)) + { + // On peut utiliser le nom de la societe du contact + if (! empty($conf->global->MAIN_USE_COMPANY_NAME_OF_CONTACT)) $socname = $object->contact->socname; + else $socname = $object->client->name; + $carac_client_name=$outputlangs->convToOutputCharset($socname); + } + else + { + $carac_client_name=$outputlangs->convToOutputCharset($object->client->name); + } + + $carac_client=pdf_build_address($outputlangs,$this->emetteur,$object->client,($usecontact?$object->contact:''),$usecontact,'target'); + + // Show recipient + $widthrecbox=100; + if ($this->page_largeur < 210) $widthrecbox=84; // To work with US executive format + $posy=42; + $posx=$this->page_largeur-$this->marge_droite-$widthrecbox; + if (! empty($conf->global->MAIN_INVERT_SENDER_RECIPIENT)) $posx=$this->marge_gauche; + + // Show recipient frame + $pdf->SetTextColor(0,0,0); + $pdf->SetFont('','', $default_font_size - 2); + $pdf->SetXY($posx+2,$posy-5); + $pdf->MultiCell($widthrecbox, 5, $outputlangs->transnoentities("BillTo").":", 0, 'L'); + $pdf->Rect($posx, $posy, $widthrecbox, $hautcadre); + + // Show recipient name + $pdf->SetXY($posx+2,$posy+3); + $pdf->SetFont('','B', $default_font_size); + $pdf->MultiCell($widthrecbox, 4, $carac_client_name, 0, 'L'); + + // Show recipient information + $pdf->SetFont('','', $default_font_size - 1); + $pdf->SetXY($posx+2,$posy+4+(dol_nboflines_bis($carac_client_name,50)*4)); + $pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L'); + } + + $pdf->SetTextColor(0,0,0); + } + + /** + * Show footer of page. Need this->emetteur object + * + * @param PDF $pdf PDF + * @param Object $object Object to show + * @param Translate $outputlangs Object lang for output + * @param int $hidefreetext 1=Hide free text + * @return int Return height of bottom margin including footer text + */ + function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) + { + $showdetails=0; + return pdf_pagefoot($pdf,$outputlangs,'ASKPRICESUPPLIER_FREE_TEXT',$this->emetteur,$this->marge_basse,$this->marge_gauche,$this->page_hauteur,$object,$showdetails,$hidefreetext); + } + +} + diff --git a/htdocs/core/modules/askpricesupplier/index.html b/htdocs/core/modules/askpricesupplier/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_marbre.php b/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_marbre.php new file mode 100644 index 00000000000..d1912b98a9a --- /dev/null +++ b/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_marbre.php @@ -0,0 +1,153 @@ + + * 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 . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/propale/mod_propale_marbre.php + * \ingroup propale + * \brief File of class to manage commercial proposal numbering rules Marbre + */ + +require_once DOL_DOCUMENT_ROOT .'/core/modules/askpricesupplier/modules_askpricesupplier.php'; + + +/** + * Class to manage customer order numbering rules Marbre + */ +class mod_askpricesupplier_marbre extends ModeleNumRefAskPriceSupplier +{ + var $version='dolibarr'; // 'development', 'experimental', 'dolibarr' + var $prefix='DF'; + var $error=''; + var $nom = "Marbre"; + + + /** + * Return description of numbering module + * + * @return string Text with description + */ + function info() + { + global $langs; + return $langs->trans("SimpleNumRefModelDesc",$this->prefix); + } + + + /** + * Return an example of numbering module values + * + * @return string Example + */ + function getExample() + { + return $this->prefix."0501-0001"; + } + + + /** + * Test si les numeros deje en vigueur dans la base ne provoquent pas de + * de conflits qui empechera cette numerotation de fonctionner. + * + * @return boolean false si conflit, true si ok + */ + function canBeActivated() + { + global $conf,$langs,$db; + + $pryymm=''; $max=''; + + $posindice=8; + $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; + + $resql=$db->query($sql); + if ($resql) + { + $row = $db->fetch_row($resql); + if ($row) { $pryymm = substr($row[0],0,6); $max=$row[0]; } + } + + if (! $pryymm || preg_match('/'.$this->prefix.'[0-9][0-9][0-9][0-9]/i',$pryymm)) + { + return true; + } + else + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorNumRefModel',$max); + return false; + } + } + + /** + * Return next value + * + * @param Societe $objsoc Object third party + * @param Propal $askpricesupplier Object commercial proposal + * @return string Next value + */ + function getNextValue($objsoc,$askpricesupplier) + { + global $db,$conf; + + // D'abord on recupere la valeur max + $posindice=8; + $sql = "SELECT MAX(CAST(SUBSTRING(ref FROM ".$posindice.") AS SIGNED)) as max"; // This is standard SQL + $sql.= " FROM ".MAIN_DB_PREFIX."askpricesupplier"; + $sql.= " WHERE ref LIKE '".$this->prefix."____-%'"; + $sql.= " AND entity = ".$conf->entity; + + $resql=$db->query($sql); + if ($resql) + { + $obj = $db->fetch_object($resql); + if ($obj) $max = intval($obj->max); + else $max=0; + } + else + { + dol_syslog(get_class($this)."::getNextValue", LOG_DEBUG); + return -1; + } + + $date = time(); + $yymm = strftime("%y%m",$date); + + if ($max >= (pow(10, 4) - 1)) $num=$max+1; // If counter > 9999, we do not format on 4 chars, we take number as it is + else $num = sprintf("%04s",$max+1); + + dol_syslog(get_class($this)."::getNextValue return ".$this->prefix.$yymm."-".$num); + return $this->prefix.$yymm."-".$num; + } + + /** + * Return next free value + * + * @param Societe $objsoc Object third party + * @param Object $objforref Object for number to search + * @return string Next free value + */ + function getNumRef($objsoc,$objforref) + { + return $this->getNextValue($objsoc,$objforref); + } + +} diff --git a/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_saphir.php b/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_saphir.php new file mode 100644 index 00000000000..22582308f22 --- /dev/null +++ b/htdocs/core/modules/askpricesupplier/mod_askpricesupplier_saphir.php @@ -0,0 +1,131 @@ + + * Copyright (C) 2004-2010 Laurent Destailleur + * Copyright (C) 2005-2007 Regis Houssin + * Copyright (C) 2008 Raphael Bertrand (Resultic) + * + * This 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/modules/propale/mod_propale_saphir.php + * \ingroup propale + * \brief File that contains the numbering module rules Saphir + */ + +require_once DOL_DOCUMENT_ROOT .'/core/modules/askpricesupplier/modules_askpricesupplier.php'; + + +/** + * Class of file that contains the numbering module rules Saphir + */ +class mod_askpricesupplier_saphir extends ModeleNumRefAskPriceSupplier +{ + var $version='dolibarr'; // 'development', 'experimental', 'dolibarr' + var $error = ''; + var $nom = 'Saphir'; + + + /** + * Return description of module + * + * @return string Texte descripif + */ + function info() + { + global $conf,$langs; + + $langs->load("bills"); + + $form = new Form($this->db); + + $texte = $langs->trans('GenericNumRefModelDesc')."
    \n"; + $texte.= '
    '; + $texte.= ''; + $texte.= ''; + $texte.= ''; + $texte.= ''; + + $tooltip=$langs->trans("GenericMaskCodes",$langs->transnoentities("CommRequest"),$langs->transnoentities("CommRequest")); + $tooltip.=$langs->trans("GenericMaskCodes2"); + $tooltip.=$langs->trans("GenericMaskCodes3"); + $tooltip.=$langs->trans("GenericMaskCodes4a",$langs->transnoentities("CommRequest"),$langs->transnoentities("CommRequest")); + $tooltip.=$langs->trans("GenericMaskCodes5"); + + // Parametrage du prefix + $texte.= ''; + $texte.= ''; + + $texte.= ''; + + $texte.= ''; + + $texte.= '
    '.$langs->trans("Mask").':'.$form->textwithpicto('',$tooltip,1,1).' 
    '; + $texte.= '
    '; + + return $texte; + } + + /** + * Renvoi un exemple de numerotation + * + * @return string Example + */ + function getExample() + { + global $conf,$langs,$mysoc; + + $old_code_client=$mysoc->code_client; + $mysoc->code_client='CCCCCCCCCC'; + $numExample = $this->getNextValue($mysoc,''); + $mysoc->code_client=$old_code_client; + + if (! $numExample) + { + $numExample = 'NotConfigured'; + } + return $numExample; + } + + /** + * Return next value + * + * @param Societe $objsoc Object third party + * @param Propal $askpricesupplier Object askpricesupplier + * @return string Value if OK, 0 if KO + */ + function getNextValue($objsoc,$askpricesupplier) + { + global $db,$conf; + + require_once DOL_DOCUMENT_ROOT .'/core/lib/functions2.lib.php'; + + // On defini critere recherche compteur + $mask=$conf->global->ASKPRICESUPPLIER_SAPHIR_MASK; + + if (! $mask) + { + $this->error='NotConfigured'; + return 0; + } + + $date=$askpricesupplier->datep; + $customercode=$objsoc->code_client; + $numFinal=get_next_value($db,$mask,'askpricesupplier','ref','',$customercode,$date); + + return $numFinal; + } + +} diff --git a/htdocs/core/modules/askpricesupplier/modules_askpricesupplier.php b/htdocs/core/modules/askpricesupplier/modules_askpricesupplier.php new file mode 100644 index 00000000000..4014452d8c2 --- /dev/null +++ b/htdocs/core/modules/askpricesupplier/modules_askpricesupplier.php @@ -0,0 +1,165 @@ + + * Copyright (C) 2004-2012 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2012 Juanjo Menent + * Copyright (C) 2014 Marcos Garcƭa + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * or see http://www.gnu.org/ + */ + +/** + * \file htdocs/core/modules/propale/modules_propale.php + * \ingroup propale + * \brief Fichier contenant la classe mere de generation des propales en PDF + * et la classe mere de numerotation des propales + */ + +require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; // Requis car utilise dans les classes qui heritent + + +/** + * Classe mere des modeles de propale + */ +abstract class ModelePDFAskPriceSupplier extends CommonDocGenerator +{ + var $error=''; + + + /** + * Return list of active generation modules + * + * @param DoliDB $db Database handler + * @param integer $maxfilenamelength Max length of value to show + * @return array List of templates + */ + static function liste_modeles($db,$maxfilenamelength=0) + { + global $conf; + + $type='askpricesupplier'; + $liste=array(); + + include_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + $liste=getListOfModels($db,$type,$maxfilenamelength); + + return $liste; + } +} + + +/** + * Classe mere des modeles de numerotation des references de propales + */ +abstract class ModeleNumRefAskPriceSupplier +{ + var $error=''; + + /** + * Return if a module can be used or not + * + * @return boolean true if module can be used + */ + function isEnabled() + { + return true; + } + + /** + * Renvoi la description par defaut du modele de numerotation + * + * @return string Texte descripif + */ + function info() + { + global $langs; + $langs->load("askpricesupplier"); + return $langs->trans("NoDescription"); + } + + /** + * Renvoi un exemple de numerotation + * + * @return string Example + */ + function getExample() + { + global $langs; + $langs->load("askpricesupplier"); + return $langs->trans("NoExample"); + } + + /** + * Test si les numeros deja en vigueur dans la base ne provoquent pas de + * de conflits qui empechera cette numerotation de fonctionner. + * + * @return boolean false si conflit, true si ok + */ + function canBeActivated() + { + return true; + } + + /** + * Renvoi prochaine valeur attribuee + * + * @param Societe $objsoc Object third party + * @param Propal $propal Object commercial proposal + * @return string Valeur + */ + function getNextValue($objsoc,$propal) + { + global $langs; + return $langs->trans("NotAvailable"); + } + + /** + * Renvoi version du module numerotation + * + * @return string Valeur + */ + function getVersion() + { + global $langs; + $langs->load("admin"); + + if ($this->version == 'development') return $langs->trans("VersionDevelopment"); + if ($this->version == 'experimental') return $langs->trans("VersionExperimental"); + if ($this->version == 'dolibarr') return DOL_VERSION; + if ($this->version) return $this->version; + return $langs->trans("NotAvailable"); + } +} + + +/** + * Create a document onto disk according to template module. + * + * @param DoliDB $db Database handler + * @param AskPriceSupplier $object Object askpricesupplier + * @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 + * @deprecated Use the new function generateDocument of Propal class + */ +function askpricesupplier_pdf_create(DoliDB $db, AskPriceSupplier $object, $modele, $outputlangs, $hidedetails=0, $hidedesc=0, $hideref=0) +{ + return $object->generateDocument($modele, $outputlangs, $hidedetails, $hidedesc, $hideref); +} + diff --git a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php index d476d2fa3f4..8f76595bf88 100644 --- a/htdocs/core/modules/barcode/doc/phpbarcode.modules.php +++ b/htdocs/core/modules/barcode/doc/phpbarcode.modules.php @@ -108,7 +108,7 @@ class modPhpbarcode extends ModeleBarCode * @param string $code Value to encode * @param string $encoding Mode of encoding * @param string $readable Code can be read - * @param string $scale Scale + * @param integer $scale Scale * @return int <0 if KO, >0 if OK */ function buildBarCode($code,$encoding,$readable='Y',$scale=1) @@ -148,7 +148,7 @@ class modPhpbarcode extends ModeleBarCode * @param string $code Value to encode * @param string $encoding Mode of encoding * @param string $readable Code can be read - * @param string $scale Scale + * @param integer $scale Scale * @return int <0 if KO, >0 if OK */ function writeBarCode($code,$encoding,$readable='Y',$scale=1) diff --git a/htdocs/core/modules/cheque/pdf/modules_chequereceipts.php b/htdocs/core/modules/cheque/pdf/modules_chequereceipts.php index 1fde7ef8bdb..11ff9b509ad 100644 --- a/htdocs/core/modules/cheque/pdf/modules_chequereceipts.php +++ b/htdocs/core/modules/cheque/pdf/modules_chequereceipts.php @@ -42,7 +42,7 @@ abstract class ModeleChequeReceipts extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php index cbe711ab7df..40c1c7aadec 100644 --- a/htdocs/core/modules/commande/doc/pdf_einstein.modules.php +++ b/htdocs/core/modules/commande/doc/pdf_einstein.modules.php @@ -264,6 +264,29 @@ class pdf_einstein extends ModelePDFCommandes $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + // Affiche notes $notetoshow=empty($object->note_public)?'':$object->note_public; if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) @@ -279,7 +302,7 @@ class pdf_einstein extends ModelePDFCommandes } if ($notetoshow) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); diff --git a/htdocs/core/modules/commande/mod_commande_saphir.php b/htdocs/core/modules/commande/mod_commande_saphir.php index 87ba0d57c98..1996717e506 100644 --- a/htdocs/core/modules/commande/mod_commande_saphir.php +++ b/htdocs/core/modules/commande/mod_commande_saphir.php @@ -121,7 +121,7 @@ class mod_commande_saphir extends ModeleNumRefCommandes return 0; } - $numFinal=get_next_value($db,$mask,'commande','ref','',$objsoc->code_client,$object->date); + $numFinal=get_next_value($db,$mask,'commande','ref','',$objsoc,$object->date); return $numFinal; } diff --git a/htdocs/core/modules/commande/modules_commande.php b/htdocs/core/modules/commande/modules_commande.php index 2caf1f905e6..9253f4dc650 100644 --- a/htdocs/core/modules/commande/modules_commande.php +++ b/htdocs/core/modules/commande/modules_commande.php @@ -45,7 +45,7 @@ abstract class ModelePDFCommandes extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -153,7 +153,7 @@ abstract class ModeleNumRefCommandes * Create a document onto disk accordign to template module. * * @param DoliDB $db Database handler - * @param Object $object Object order + * @param Commande $object Object order * @param string $modele Force le modele a utiliser ('' to not force) * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines diff --git a/htdocs/core/modules/contract/mod_contract_magre.php b/htdocs/core/modules/contract/mod_contract_magre.php index 289b474de5e..54da8fc55c4 100644 --- a/htdocs/core/modules/contract/mod_contract_magre.php +++ b/htdocs/core/modules/contract/mod_contract_magre.php @@ -112,7 +112,7 @@ class mod_contract_magre extends ModelNumRefContracts return 0; } - $numFinal=get_next_value($db,$mask,'contrat','ref','',$objsoc->code_client,$contract->date_contrat); + $numFinal=get_next_value($db,$mask,'contrat','ref','',$objsoc,$contract->date_contrat); return $numFinal; } diff --git a/htdocs/core/modules/contract/modules_contract.php b/htdocs/core/modules/contract/modules_contract.php index 9ffd5d93881..d4311bf3028 100644 --- a/htdocs/core/modules/contract/modules_contract.php +++ b/htdocs/core/modules/contract/modules_contract.php @@ -44,7 +44,7 @@ abstract class ModelePDFContract extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -148,7 +148,7 @@ class ModelNumRefContracts * Create a contract document on disk using template defined into CONTRACT_ADDON_PDF * * @param DoliDB $db objet base de donnee - * @param Object $object Object contract + * @param Contrat $object Object contract * @param string $modele force le modele a utiliser ('' par defaut) * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines diff --git a/htdocs/core/modules/dons/html_cerfafr.modules.php b/htdocs/core/modules/dons/html_cerfafr.modules.php index b4cc2795c1a..8730b1041de 100644 --- a/htdocs/core/modules/dons/html_cerfafr.modules.php +++ b/htdocs/core/modules/dons/html_cerfafr.modules.php @@ -25,7 +25,7 @@ * \brief Form of donation */ require_once DOL_DOCUMENT_ROOT.'/core/modules/dons/modules_don.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; diff --git a/htdocs/core/modules/dons/modules_don.php b/htdocs/core/modules/dons/modules_don.php index d676d2c6f70..14045f20d11 100644 --- a/htdocs/core/modules/dons/modules_don.php +++ b/htdocs/core/modules/dons/modules_don.php @@ -21,11 +21,11 @@ /** * \file htdocs/core/modules/dons/modules_don.php - * \ingroup don + * \ingroup donations * \brief File of class to manage donation document generation */ require_once DOL_DOCUMENT_ROOT.'/core/class/commondocgenerator.class.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; @@ -40,7 +40,7 @@ abstract class ModeleDon extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php index 9c5dada3a72..6982fc0c6cc 100644 --- a/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php +++ b/htdocs/core/modules/expedition/doc/pdf_rouget.modules.php @@ -191,9 +191,32 @@ class pdf_rouget extends ModelePdfExpedition $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + if (! empty($object->note_public) || ! empty($object->tracking_number)) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $tab_top_alt = $tab_top; $pdf->SetFont('','B', $default_font_size - 2); diff --git a/htdocs/core/modules/expedition/modules_expedition.php b/htdocs/core/modules/expedition/modules_expedition.php index 43292ae95c4..d9205503e11 100644 --- a/htdocs/core/modules/expedition/modules_expedition.php +++ b/htdocs/core/modules/expedition/modules_expedition.php @@ -43,7 +43,7 @@ abstract class ModelePdfExpedition extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -146,7 +146,7 @@ abstract class ModelNumRefExpedition * Cree un bon d'expedition sur disque * * @param DoliDB $db Objet base de donnee - * @param Object $object Object expedition + * @param Expedition $object Object expedition * @param string $modele Force le modele a utiliser ('' to not force) * @param Translate $outputlangs Objet lang a utiliser pour traduction * @return int <=0 if KO, >0 if OK diff --git a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php index bdb19778c87..d2cdb71e429 100755 --- a/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php +++ b/htdocs/core/modules/expensereport/doc/pdf_standard.modules.php @@ -508,7 +508,7 @@ class pdf_standard extends ModeleExpenseReport */ // Filligrane brouillon - if ($object->fk_c_expensereport_statuts==1 && ! empty($conf->global->EXPENSEREPORT_FREE_TEXT)) + if ($object->fk_statut==1 && ! empty($conf->global->EXPENSEREPORT_FREE_TEXT)) { pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->EXPENSEREPORT_FREE_TEXT); } @@ -640,7 +640,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->MultiCell(96,4,$outputlangs->transnoentities("DateCreation")." : ".dol_print_date($object->date_create,"day",false,$outpulangs),0,'L'); } - if ($object->fk_c_expensereport_statuts==99) + if ($object->fk_statut==99) { if ($object->fk_user_refuse > 0) { @@ -656,7 +656,7 @@ class pdf_standard extends ModeleExpenseReport $pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_REFUS")." : ".dol_print_date($object->date_refuse,"day",false,$outpulangs),0,'L'); } } - else if($object->fk_c_expensereport_statuts==4) + else if($object->fk_statut==4) { if ($object->fk_user_cancel > 0) { @@ -686,7 +686,7 @@ class pdf_standard extends ModeleExpenseReport } } - if($object->fk_c_expensereport_statuts==6) + if($object->fk_statut==6) { if ($object->fk_user_paid > 0) { diff --git a/htdocs/core/modules/expensereport/modules_expensereport.php b/htdocs/core/modules/expensereport/modules_expensereport.php index 3fa32af0fdf..5a6dcf29a34 100755 --- a/htdocs/core/modules/expensereport/modules_expensereport.php +++ b/htdocs/core/modules/expensereport/modules_expensereport.php @@ -30,7 +30,7 @@ class ModeleExpenseReport extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -52,7 +52,7 @@ class ModeleExpenseReport extends CommonDocGenerator * expensereport_pdf_create * * @param DoliDB $db Database handler - * @param Object $object Object order + * @param ExpenseReport $object Object order * @param string $message Message * @param string $modele Force le modele a utiliser ('' to not force) * @param Translate $outputlangs objet lang a utiliser pour traduction diff --git a/htdocs/core/modules/export/export_csv.modules.php b/htdocs/core/modules/export/export_csv.modules.php index ce058a93455..85bf6151055 100644 --- a/htdocs/core/modules/export/export_csv.modules.php +++ b/htdocs/core/modules/export/export_csv.modules.php @@ -74,7 +74,7 @@ class ExportCsv extends ModeleExports /** * getDriverId * - * @return int + * @return string */ function getDriverId() { diff --git a/htdocs/core/modules/export/export_excel.modules.php b/htdocs/core/modules/export/export_excel.modules.php index 87923b4cb9c..e5281150296 100644 --- a/htdocs/core/modules/export/export_excel.modules.php +++ b/htdocs/core/modules/export/export_excel.modules.php @@ -76,7 +76,7 @@ class ExportExcel extends ModeleExports /** * getDriverId * - * @return int + * @return string */ function getDriverId() { diff --git a/htdocs/core/modules/export/export_tsv.modules.php b/htdocs/core/modules/export/export_tsv.modules.php index 409102fd857..a1b553bbe57 100644 --- a/htdocs/core/modules/export/export_tsv.modules.php +++ b/htdocs/core/modules/export/export_tsv.modules.php @@ -69,7 +69,7 @@ class ExportTsv extends ModeleExports /** * getDriverId * - * @return int + * @return string */ function getDriverId() { diff --git a/htdocs/core/modules/export/modules_export.php b/htdocs/core/modules/export/modules_export.php index 62599016b3d..113f35299ca 100644 --- a/htdocs/core/modules/export/modules_export.php +++ b/htdocs/core/modules/export/modules_export.php @@ -43,7 +43,7 @@ class ModeleExports extends CommonDocGenerator // This class can't be abstrac * Load into memory list of available export format * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates (same content than array this->driverlabel) */ function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php index 8bfffac2635..eb26e9bd32c 100644 --- a/htdocs/core/modules/facture/doc/pdf_crabe.modules.php +++ b/htdocs/core/modules/facture/doc/pdf_crabe.modules.php @@ -319,6 +319,29 @@ class pdf_crabe extends ModelePDFFactures $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + // Affiche notes $notetoshow=empty($object->note_public)?'':$object->note_public; if (! empty($conf->global->MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE)) @@ -334,7 +357,7 @@ class pdf_crabe extends ModelePDFFactures } if ($notetoshow) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); diff --git a/htdocs/core/modules/facture/modules_facture.php b/htdocs/core/modules/facture/modules_facture.php index bca513e3fd6..2bf03edf557 100644 --- a/htdocs/core/modules/facture/modules_facture.php +++ b/htdocs/core/modules/facture/modules_facture.php @@ -43,7 +43,7 @@ abstract class ModelePDFFactures extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -148,7 +148,7 @@ abstract class ModeleNumRefFactures * Create a document onto disk according to template module. * * @param DoliDB $db Database handler - * @param Object $object Object invoice + * @param Facture $object Object invoice * @param string $modele Force template to use ('' to not force) * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines diff --git a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php index 1a26a161511..c10c24508e8 100644 --- a/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php +++ b/htdocs/core/modules/fichinter/doc/pdf_soleil.modules.php @@ -657,7 +657,7 @@ class pdf_soleil extends ModelePDFFicheinter * @param Object $object Object to show * @param Translate $outputlangs Object lang for output * @param int $hidefreetext 1=Hide free text - * @return void + * @return integer */ function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) { diff --git a/htdocs/core/modules/fichinter/mod_arctic.php b/htdocs/core/modules/fichinter/mod_arctic.php index ab06d1417e6..278e20ae7de 100644 --- a/htdocs/core/modules/fichinter/mod_arctic.php +++ b/htdocs/core/modules/fichinter/mod_arctic.php @@ -120,7 +120,7 @@ class mod_arctic extends ModeleNumRefFicheinter return 0; } - $numFinal=get_next_value($db,$mask,'fichinter','ref','',$objsoc->code_client,$object->datec); + $numFinal=get_next_value($db,$mask,'fichinter','ref','',$objsoc,$object->datec); return $numFinal; } diff --git a/htdocs/core/modules/fichinter/modules_fichinter.php b/htdocs/core/modules/fichinter/modules_fichinter.php index dbcdab37530..6f4b68f801c 100644 --- a/htdocs/core/modules/fichinter/modules_fichinter.php +++ b/htdocs/core/modules/fichinter/modules_fichinter.php @@ -41,7 +41,7 @@ abstract class ModelePDFFicheinter extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/import/import_csv.modules.php b/htdocs/core/modules/import/import_csv.modules.php index cd3a35e4060..22008bb054d 100644 --- a/htdocs/core/modules/import/import_csv.modules.php +++ b/htdocs/core/modules/import/import_csv.modules.php @@ -88,7 +88,7 @@ class ImportCsv extends ModeleImports /** * getDriverId * - * @return int Id + * @return string Id */ function getDriverId() { @@ -305,7 +305,7 @@ class ImportCsv extends ModeleImports /** * Close file handle * - * @return void + * @return integer */ function import_close_file() { diff --git a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php index e3e9be99411..e2dc1f2376e 100644 --- a/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php +++ b/htdocs/core/modules/livraison/doc/pdf_typhon.modules.php @@ -269,10 +269,33 @@ class pdf_typhon extends ModelePDFDeliveryOrder $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + // Affiche notes if (! empty($object->note_public)) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); diff --git a/htdocs/core/modules/livraison/mod_livraison_saphir.php b/htdocs/core/modules/livraison/mod_livraison_saphir.php index 5f8a6b93686..1192656bf8d 100644 --- a/htdocs/core/modules/livraison/mod_livraison_saphir.php +++ b/htdocs/core/modules/livraison/mod_livraison_saphir.php @@ -120,7 +120,7 @@ class mod_livraison_saphir extends ModeleNumRefDeliveryOrder return 0; } - $numFinal=get_next_value($db,$mask,'livraison','ref','',$objsoc->code_client,$object->date_livraison); + $numFinal=get_next_value($db,$mask,'livraison','ref','',$objsoc,$object->date_livraison); return $numFinal; } diff --git a/htdocs/core/modules/mailings/modules_mailings.php b/htdocs/core/modules/mailings/modules_mailings.php index 50da9252ecc..5561526a7ff 100644 --- a/htdocs/core/modules/mailings/modules_mailings.php +++ b/htdocs/core/modules/mailings/modules_mailings.php @@ -62,7 +62,7 @@ class MailingTargets // This can't be abstract as it is used for some method /** * Return number of records for email selector * - * @return string Example + * @return integer Example */ function getNbOfRecords() { diff --git a/htdocs/core/modules/mailings/pomme.modules.php b/htdocs/core/modules/mailings/pomme.modules.php index 2c93b588524..ce4a8b89e09 100644 --- a/htdocs/core/modules/mailings/pomme.modules.php +++ b/htdocs/core/modules/mailings/pomme.modules.php @@ -57,7 +57,7 @@ class mailing_pomme extends MailingTargets * array of SQL request that returns two field: * One called "label", One called "nb". * - * @return array Array with SQL requests + * @return string[] Array with SQL requests */ function getSqlArrayForStats() { diff --git a/htdocs/core/modules/member/modules_cards.php b/htdocs/core/modules/member/modules_cards.php index 0b5d9e482ac..d7fa0cbaae1 100644 --- a/htdocs/core/modules/member/modules_cards.php +++ b/htdocs/core/modules/member/modules_cards.php @@ -41,7 +41,7 @@ class ModelePDFCards * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/modAgenda.class.php b/htdocs/core/modules/modAgenda.class.php index 165b547dff4..73a8390c9e6 100644 --- a/htdocs/core/modules/modAgenda.class.php +++ b/htdocs/core/modules/modAgenda.class.php @@ -367,24 +367,24 @@ class modAgenda extends DolibarrModules $this->export_code[$r]=$this->rights_class.'_'.$r; $this->export_label[$r]="ExportDataset_event1"; $this->export_permission[$r]=array(array("agenda","export")); - $this->export_fields_array[$r]=array('ac.id'=>"ActionId",'ac.ref_ext'=>"ExternalRef",'ac.datec'=>"ActionDateCreation",'ac.datep'=>"DateActionBegin", - 'ac.datep2'=>"DateActionEnd",'ac.label'=>"Title",'ac.note'=>"Note",'ac.percent'=>"Percent",'ac.durationp'=>"durationp", + $this->export_fields_array[$r]=array('ac.id'=>"IdAgenda",'ac.ref_ext'=>"ExternalRef",'ac.datec'=>"DateCreation",'ac.datep'=>"DateActionBegin", + 'ac.datep2'=>"DateActionEnd",'ac.label'=>"Title",'ac.note'=>"Note",'ac.percent'=>"Percent",'ac.durationp'=>"Duration", 'cac.libelle'=>"ActionType", 's.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town', - 'co.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4', + 'co.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6', 's.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra'); $this->export_TypeFields_array[$r]=array('ac.ref_ext'=>"Text",'ac.datec'=>"Date",'ac.datep'=>"Date", 'ac.datep2'=>"Date",'ac.label'=>"Text",'ac.note'=>"Text",'ac.percent'=>"Number", 'ac.durationp'=>"Duree", - 'cac.libelle'=>"List:c_actioncomm:libelle:rowid", + 'cac.libelle'=>"List:c_actioncomm:libelle:id", 's.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text', - 'co.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text', + 'co.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.idprof5'=>'Text','s.idprof6'=>'Text', 's.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text'); $this->export_entities_array[$r]=array('ac.id'=>"action",'ac.ref_ext'=>"action",'ac.datec'=>"action",'ac.datep'=>"action", 'ac.datep2'=>"action",'ac.label'=>"action",'ac.note'=>"action",'ac.percent'=>"action",'ac.durationp'=>"action", 'cac.libelle'=>"action", 's.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company', - 'co.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company', + 'co.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company', 's.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company',); $this->export_sql_start[$r]='SELECT DISTINCT '; diff --git a/htdocs/core/modules/modAskPriceSupplier.class.php b/htdocs/core/modules/modAskPriceSupplier.class.php new file mode 100644 index 00000000000..451caccf649 --- /dev/null +++ b/htdocs/core/modules/modAskPriceSupplier.class.php @@ -0,0 +1,237 @@ + + * Copyright (C) 2004-2015 Laurent Destailleur + * Copyright (C) 2004 Sebastien Di Cintio + * Copyright (C) 2004 Benoit Mortier + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 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 . + */ + +/** + * \defgroup askpricesupplier Module askpricesupplier + * \brief Module to request supplier price proposals + * \file htdocs/core/modules/modAskPriceSupplier.class.php + * \ingroup askpricesupplier + * \brief File to describe and activate module AskPriceSupplier + */ +include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; + + +/** + * Classe de description et activation du module AskPriceSupllier + */ +class modAskPriceSupplier extends DolibarrModules +{ + + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $conf; + + $this->db = $db; + $this->numero = 1120; + + $this->family = "products"; + $this->name = preg_replace('/^mod/i','',get_class($this)); + $this->description = "askpricesupplierDESC"; + + $this->version = 'experimental'; + + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + $this->special = 0; + $this->picto='askpricesupplier'; + + $this->dirs = array(); + + // Dependancies + $this->depends = array('modFournisseur'); + $this->requiredby = array(); + $this->config_page_url = array("askpricesupplier.php"); + $this->langfiles = array("askpricesupplier"); + + // Constants + $this->const = array(); + $r=0; + + $this->const[$r][0] = "ASKPRICESUPPLIER_ADDON_PDF"; + $this->const[$r][1] = "chaine"; + $this->const[$r][2] = "aurore"; + $this->const[$r][3] = 'Name of submodule to generate PDF for supplier quotation request'; + $this->const[$r][4] = 0; + $r++; + + $this->const[$r][0] = "ASKPRICESUPPLIER_ADDON"; + $this->const[$r][1] = "chaine"; + $this->const[$r][2] = "mod_askpricesupplier_marbre"; + $this->const[$r][3] = 'Name of submodule to number supplier quotation request'; + $this->const[$r][4] = 0; + $r++; + + $this->const[$r][0] = "ASKPRICESUPPLIER_ADDON_PDF_ODT_PATH"; + $this->const[$r][1] = "chaine"; + $this->const[$r][2] = "DOL_DATA_ROOT/doctemplates/askpricesupplier"; + $this->const[$r][3] = ""; + $this->const[$r][4] = 0; + + // Boxes + $this->boxes = array(); + + // Permissions + $this->rights = array(); + $this->rights_class = 'askpricesupplier'; + $r=0; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Read supplier proposals'; // libelle de la permission + $this->rights[$r][3] = 1; // La permission est-elle une permission par defaut + $this->rights[$r][4] = 'lire'; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Create/modify supplier proposals'; // libelle de la permission + $this->rights[$r][3] = 1; // La permission est-elle une permission par defaut + $this->rights[$r][4] = 'creer'; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Validate supplier proposals'; // libelle de la permission + $this->rights[$r][3] = 0; // La permission est-elle une permission par defaut + $this->rights[$r][4] = ''; + $this->rights[$r][5] = 'validate'; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Envoyer les demandes fournisseurs'; // libelle de la permission + $this->rights[$r][3] = 0; // La permission est-elle une permission par defaut + $this->rights[$r][4] = ''; + $this->rights[$r][5] = 'send_advance'; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Delete supplier proposals'; // libelle de la permission + $this->rights[$r][3] = 0; // La permission est-elle une permission par defaut + $this->rights[$r][4] = 'supprimer'; + + $r++; + $this->rights[$r][0] = $this->numero + $r; // id de la permission + $this->rights[$r][1] = 'Close supplier price requests'; // libelle de la permission + $this->rights[$r][3] = 0; // La permission est-elle une permission par defaut + $this->rights[$r][4] = 'cloturer'; + + // Main menu entries + $this->menu = array(); // List of menus to add + $r=0; + $this->menu[$r]=array( + 'fk_menu'=>'fk_mainmenu=commercial', // Use 'fk_mainmenu=xxx' or 'fk_mainmenu=xxx,fk_leftmenu=yyy' where xxx is mainmenucode and yyy is a leftmenucode + 'type'=>'left', // This is a Left menu entry + 'titre'=>'askpricesupplierMENU_LEFT_TITLE', + 'leftmenu'=>'askpricesuppliersubmenu', + 'url'=>'/comm/askpricesupplier/index.php', + 'langs'=>'askpricesupplier', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. + 'enabled'=>'$conf->askpricesupplier->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. Use '$leftmenu==\'system\'' to show if leftmenu system is selected. + 'perms'=>'$user->rights->askpricesupplier->lire', // Use 'perms'=>'$user->rights->mymodule->level1->level2' if you want your menu with a permission rules + 'user'=>2 // 0=Menu for internal users, 1=external users, 2=both + ); + $r++; + + $this->menu[$r]=array( + 'fk_menu'=>'fk_mainmenu=commercial,fk_leftmenu=askpricesuppliersubmenu', + 'type'=>'left', + 'titre'=>'askpricesupplierMENU_LEFT_TITLE_NEW', + 'url'=>'/comm/askpricesupplier/card.php?action=create', + 'langs'=>'askpricesupplier', + 'enabled'=>'$conf->askpricesupplier->enabled', + 'perms'=>'$user->rights->askpricesupplier->creer', + 'user'=>2 + ); + $r++; + + $this->menu[$r]=array( + 'fk_menu'=>'fk_mainmenu=commercial,fk_leftmenu=askpricesuppliersubmenu', + 'type'=>'left', + 'titre'=>'askpricesupplierMENU_LEFT_TITLE_LIST', + 'url'=>'/comm/askpricesupplier/list.php', + 'langs'=>'askpricesupplier', + 'enabled'=>'$conf->askpricesupplier->enabled', + 'perms'=>'$user->rights->askpricesupplier->lire', + 'user'=>2 + ); + $r++; + } + + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function init($options='') + { + global $conf,$langs; + + // Remove permissions and default values + $this->remove($options); + + //ODT template + $src=DOL_DOCUMENT_ROOT.'/install/doctemplates/askpricesupplier/template_askpricesupplier.odt'; + $dirodt=DOL_DATA_ROOT.'/doctemplates/askpricesupplier'; + $dest=$dirodt.'/template_askpricesupplier.odt'; + + if (file_exists($src) && ! file_exists($dest)) + { + require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; + dol_mkdir($dirodt); + $result=dol_copy($src,$dest,0,0); + if ($result < 0) + { + $langs->load("errors"); + $this->error=$langs->trans('ErrorFailToCopyFile',$src,$dest); + return 0; + } + } + + $sql = array( + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity, + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','askpricesupplier',".$conf->entity.")", + ); + + return $this->_init($sql, $options); + } + + /** + * Function called when module is disabled. + * Remove from database constants, boxes and permissions from Dolibarr database. + * Data directories are not deleted + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function remove($options='') + { + $sql = array(); + + return $this->_remove($sql,$options); + } + +} \ No newline at end of file diff --git a/htdocs/core/modules/modCategorie.class.php b/htdocs/core/modules/modCategorie.class.php index a75e73e6c3d..3084677c4ef 100644 --- a/htdocs/core/modules/modCategorie.class.php +++ b/htdocs/core/modules/modCategorie.class.php @@ -197,14 +197,34 @@ class modCategorie extends DolibarrModules 'p.fax' => 'Fax', 'p.email' => 'Email', 'p.note_private' => 'NotePrivate', - 'p.note_public' => 'NotePublic' + 'p.note_public' => 'NotePublic', + 's.nom'=>"Name", + 's.client'=>"Customer", + 's.fournisseur'=>"Supplier", + 's.status'=>"Status", + 's.address'=>"Address", + 's.zip'=>"Zip", + 's.town'=>"Town", + 's.phone'=>"Phone", + 's.fax'=>"Fax", + 's.url'=>"Url", + 's.email'=>"Email" ); $this->export_TypeFields_array[$r] = array ( 'u.label' => "Text", 'u.description' => "Text", 'p.rowid' => 'List:contact:lastname', 'p.lastname' => 'Text', - 'p.firstname' => 'Text' + 'p.firstname' => 'Text', + 's.nom'=>"Text", + 's.status'=>"Text", + 's.address'=>"Text", + 's.zip'=>"Text", + 's.town'=>"Text", + 's.phone'=>"Text", + 's.fax'=>"Text", + 's.url'=>"Text", + 's.email'=>"Text" ); $this->export_entities_array[$r] = array ( 'u.rowid' => "category", @@ -227,11 +247,23 @@ class modCategorie extends DolibarrModules 'p.fax' => 'contact', 'p.email' => 'contact', 'p.note_private' => 'contact', - 'p.note_public' => 'contact' + 'p.note_public' => 'contact', + 's.nom'=>"company", + 's.client'=>"company", + 's.fournisseur'=>"company", + 's.status'=>"company", + 's.address'=>"company", + 's.zip'=>"company", + 's.town'=>"company", + 's.phone'=>"company", + 's.fax'=>"company", + 's.url'=>"company", + 's.email'=>"company" ); // We define here only fields that use another picto $this->export_sql_start[$r] = 'SELECT DISTINCT '; $this->export_sql_end[$r] = ' FROM ' . MAIN_DB_PREFIX . 'categorie as u, '.MAIN_DB_PREFIX . 'categorie_contact as cp, '.MAIN_DB_PREFIX . 'socpeople as p'; $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_country as country ON p.fk_pays = country.rowid'; + $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'societe as s ON s.rowid = p.fk_soc'; $this->export_sql_end[$r] .= ' WHERE u.rowid = cp.fk_categorie AND cp.fk_socpeople = p.rowid AND u.entity IN ('.getEntity('category',1).')'; $this->export_sql_end[$r] .= ' AND u.type = 4'; // contact categories diff --git a/htdocs/core/modules/modCommande.class.php b/htdocs/core/modules/modCommande.class.php index c7fb5cfa587..53584e419eb 100644 --- a/htdocs/core/modules/modCommande.class.php +++ b/htdocs/core/modules/modCommande.class.php @@ -151,8 +151,9 @@ class modCommande extends DolibarrModules $this->rights[$r][1] = 'Annuler les commandes clients'; $this->rights[$r][2] = 'd'; $this->rights[$r][3] = 0; - $this->rights[$r][4] = 'annuler'; - + $this->rights[$r][4] = 'order_advance'; + $this->rights[$r][5] = 'annuler'; + $r++; $this->rights[$r][0] = 89; $this->rights[$r][1] = 'Supprimer les commandes clients'; diff --git a/htdocs/core/modules/modContrat.class.php b/htdocs/core/modules/modContrat.class.php index dc97964fa45..27299e0f291 100644 --- a/htdocs/core/modules/modContrat.class.php +++ b/htdocs/core/modules/modContrat.class.php @@ -41,7 +41,7 @@ class modContrat extends DolibarrModules */ function __construct($db) { - global $conf; + global $conf, $langs; $this->db = $db; $this->numero = 54; @@ -118,10 +118,12 @@ class modContrat extends DolibarrModules // Exports //-------- + $langs->load("contracts"); + $r=1; $this->export_code[$r]=$this->rights_class.'_'.$r; - $this->export_label[$r]='ContractAndServices'; // Translation key (used only if key ExportDataset_xxx_z not found) + $this->export_label[$r]=$langs->trans('ContractsAndLine'); // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_icon[$r]='contract'; $this->export_permission[$r]=array(array("contrat","export")); $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode', diff --git a/htdocs/core/modules/modDon.class.php b/htdocs/core/modules/modDon.class.php index b1b265146a4..e25bd6d3bf9 100644 --- a/htdocs/core/modules/modDon.class.php +++ b/htdocs/core/modules/modDon.class.php @@ -2,7 +2,7 @@ /* Copyright (C) 2003-2005 Rodolphe Quiedeville * Copyright (C) 2004-2010 Laurent Destailleur * Copyright (C) 2005-2011 Regis Houssin - * Copyright (C) 2014 Alexandre Spangaro + * 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 @@ -19,10 +19,10 @@ */ /** - * \defgroup don Module donation + * \defgroup don Module donations * \brief Module to manage the follow-up of the donations * \file htdocs/core/modules/modDon.class.php - * \ingroup don + * \ingroup donations * \brief Description and activation file for module Donation */ @@ -64,7 +64,7 @@ class modDon extends DolibarrModules $this->requiredby = array(); // Config pages - $this->config_page_url = array("dons.php"); + $this->config_page_url = array("donation.php@don"); // Constants $this->const = array (); @@ -104,6 +104,13 @@ class modDon extends DolibarrModules "Message affichƩ sur le rƩcƩpissƩ de versements ou dons", "0" ); + $this->const[5] = array ( + "DONATION_ACCOUNTINGACCOUNT", + "chaine", + "7581", + "Compte comptable de remise des versements ou dons", + "0" + ); // Boxes $this->boxes = array(); @@ -146,8 +153,8 @@ class modDon extends DolibarrModules global $conf; $sql = array( - "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][2]."' AND entity = ".$conf->entity, - "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][2]."','donation',".$conf->entity.")", + "DELETE FROM ".MAIN_DB_PREFIX."document_model WHERE nom = '".$this->const[0][4]."' AND entity = ".$conf->entity, + "INSERT INTO ".MAIN_DB_PREFIX."document_model (nom, type, entity) VALUES('".$this->const[0][4]."','donation',".$conf->entity.")", ); return $this->_init($sql,$options); @@ -168,4 +175,4 @@ class modDon extends DolibarrModules return $this->_remove($sql,$options); } -} +} \ No newline at end of file diff --git a/htdocs/core/modules/modDynamicPrices.class.php b/htdocs/core/modules/modDynamicPrices.class.php index 3a47e6a70e9..1b2fb712a8b 100644 --- a/htdocs/core/modules/modDynamicPrices.class.php +++ b/htdocs/core/modules/modDynamicPrices.class.php @@ -58,7 +58,7 @@ class modDynamicPrices extends DolibarrModules // Config pages //------------- - //$this->config_page_url = array(); + $this->config_page_url = array("dynamic_prices.php@product"); // Dependancies //------------- diff --git a/htdocs/core/modules/modExpenseReport.class.php b/htdocs/core/modules/modExpenseReport.class.php index 5d826ae9a54..dfe8180e0c1 100755 --- a/htdocs/core/modules/modExpenseReport.class.php +++ b/htdocs/core/modules/modExpenseReport.class.php @@ -17,14 +17,13 @@ */ /** - * \defgroup Indicateurs - * \brief Module indicateurs - * Such a file must be copied into htdocs/includes/module directory. + * \defgroup expensereport Module expensereport + * \brief Module to manage expense report. Replace old module Deplacement. */ /** - * \file htdocs/indicateurs/core/modules/modExpenseReport.class.php - * \ingroup indicateur + * \file htdocs/core/modules/modExpenseReport.class.php + * \ingroup expensereport * \brief Description and activation file for module ExpenseReport */ include_once(DOL_DOCUMENT_ROOT ."/core/modules/DolibarrModules.class.php"); @@ -84,7 +83,7 @@ class modExpenseReport extends DolibarrModules // Dependencies $this->depends = array(); // List of modules id that must be enabled if this module is enabled - $this->conflictwith = array("modDeplacement"); + // $this->conflictwith = array("modDeplacement"); // Deactivate for access on old information $this->requiredby = array(); // List of modules id to disable if this one is disabled $this->phpmin = array(4,3); // Minimum version of PHP required by module $this->need_dolibarr_version = array(3,7); // Minimum version of Dolibarr required by module @@ -270,7 +269,7 @@ class modExpenseReport extends DolibarrModules 'titre'=>'ListToApprove', 'mainmenu'=>'hrm', 'leftmenu'=>'expensereport_detaillist_approve', - 'url'=>'/expensereport/list.php?search_state=2', + 'url'=>'/expensereport/list.php?search_status=2', 'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory. 'position'=>100, 'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled. diff --git a/htdocs/core/modules/modFTP.class.php b/htdocs/core/modules/modFTP.class.php index 2d6e1689ba9..38b16127c90 100644 --- a/htdocs/core/modules/modFTP.class.php +++ b/htdocs/core/modules/modFTP.class.php @@ -17,7 +17,7 @@ */ /** - * \defgroup ftp Module FTP + * \defgroup ftp Module ftp * \brief Module for FTP client module * \file htdocs/core/modules/modFTP.class.php * \ingroup ftp diff --git a/htdocs/core/modules/modFacture.class.php b/htdocs/core/modules/modFacture.class.php index 86762fbb87c..7b070ae6340 100644 --- a/htdocs/core/modules/modFacture.class.php +++ b/htdocs/core/modules/modFacture.class.php @@ -235,10 +235,10 @@ class modFacture extends DolibarrModules $this->export_label[$r]='CustomersInvoicesAndPayments'; // Translation key (used only if key ExportDataset_xxx_z not found) $this->export_icon[$r]='bill'; $this->export_permission[$r]=array(array("facture","facture","export")); - $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin','p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber'); - //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number'); - $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number'); - $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment','f.fk_user_author'=>'user','uc.login'=>'user','f.fk_user_valid'=>'user','uv.login'=>'user'); + $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.code_compta'=>'CustomerAccountancyCode','s.code_compta_fournisseur'=>'SupplierAccountancyCode','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.facnumber'=>"InvoiceRef",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.date_lim_reglement'=>"DateDue",'f.total'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_private'=>"NotePrivate",'f.note_public'=>"NotePublic",'f.fk_user_author'=>'CreatedById','uc.login'=>'CreatedByLogin','f.fk_user_valid'=>'ValidatedById','uv.login'=>'ValidatedByLogin','p.rowid'=>'PaymentId','pf.amount'=>'AmountPayment','p.datep'=>'DatePayment','p.num_paiement'=>'PaymentNumber','p.fk_bank'=>'IdTransaction'); + //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:nom",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number','p.fk_bank'=>'Number'); + $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.code_compta'=>'Text','s.code_compta_fournisseur'=>'Text','s.tva_intra'=>'Text','f.rowid'=>"List:facture:facnumber",'f.facnumber'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.date_lim_reglement'=>"Date",'f.total'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_private'=>"Text",'f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number','p.fk_bank'=>'Number'); + $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.code_compta'=>'company','s.code_compta_fournisseur'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.facnumber'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.date_lim_reglement'=>"invoice",'f.total'=>"invoice",'f.total_ttc'=>"invoice",'f.tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_private'=>"invoice",'f.note_public'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment','p.fk_bank'=>'payment','f.fk_user_author'=>'user','uc.login'=>'user','f.fk_user_valid'=>'user','uv.login'=>'user'); $this->export_dependencies_array[$r]=array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them // Add extra fields $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture'"; diff --git a/htdocs/core/modules/modFicheinter.class.php b/htdocs/core/modules/modFicheinter.class.php index 7c54679bd9c..b41b291711a 100644 --- a/htdocs/core/modules/modFicheinter.class.php +++ b/htdocs/core/modules/modFicheinter.class.php @@ -21,7 +21,7 @@ */ /** - * \defgroup ficheinter Module intervention cards + * \defgroup ficheinter Module Interventions * \brief Module to manage intervention cards * \file htdocs/core/modules/modFicheinter.class.php * \ingroup ficheinter diff --git a/htdocs/core/modules/modFournisseur.class.php b/htdocs/core/modules/modFournisseur.class.php index 45cb61b04fd..98986a045da 100644 --- a/htdocs/core/modules/modFournisseur.class.php +++ b/htdocs/core/modules/modFournisseur.class.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) 2012 Juanjo Menent * Copyright (C) 2013 Philippe Grand @@ -177,6 +177,14 @@ class modFournisseur extends DolibarrModules $this->rights[$r][4] = 'commande'; $this->rights[$r][5] = 'receptionner'; + $r++; + $this->rights[$r][0] = 1189; + $this->rights[$r][1] = 'Check/Uncheck a supplier order reception'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'commande_advance'; + $this->rights[$r][5] = 'check'; + $r++; $this->rights[$r][0] = 1188; $this->rights[$r][1] = 'Supprimer une commande fournisseur'; @@ -251,11 +259,11 @@ class modFournisseur extends DolibarrModules $this->export_icon[$r]='bill'; $this->export_permission[$r]=array(array("fournisseur","facture","export")); $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"InvoiceId",'f.ref'=>"InvoiceRef",'f.ref_supplier'=>"RefSupplier",'f.datec'=>"InvoiceDateCreation",'f.datef'=>"DateInvoice",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.total_tva'=>"TotalVAT",'f.paye'=>"InvoicePaid",'f.fk_statut'=>'InvoiceStatus','f.note_public'=>"InvoiceNote",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.remise_percent'=>"Discount",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel','p.accountancy_code_buy'=>'ProductAccountancyBuyCode'); - //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_public'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); - $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.ref_supplier'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_public'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); + //$this->export_TypeFields_array[$r]=array('s.rowid'=>"List:societe:CompanyName",'s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_public'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Number','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); + $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.ref_supplier'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_public'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Text",'fd.qty'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.tva'=>"Number",'fd.product_type'=>'Number','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.ref'=>"invoice",'f.ref_supplier'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_public'=>"invoice",'fd.rowid'=>'invoice_line','fd.description'=>"invoice_line",'fd.tva_tx'=>"invoice_line",'fd.qty'=>"invoice_line",'fd.remise_percent'=>"invoice_line",'fd.total_ht'=>"invoice_line",'fd.total_ttc'=>"invoice_line",'fd.tva'=>"invoice_line",'fd.product_type'=>'invoice_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product','p.accountancy_code_buy'=>'product'); $this->export_dependencies_array[$r]=array('invoice_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them - // Add extra fields + // Add extra fields object $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn'"; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) @@ -288,13 +296,48 @@ class modFournisseur extends DolibarrModules $this->export_entities_array[$r][$fieldname]='invoice'; } } - // End add axtra fields - $this->export_sql_start[$r]='SELECT DISTINCT '; + // End add extra fields + // Add extra fields line + $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn_det'"; + $resql=$this->db->query($sql); + if ($resql) // This can fail when class is used on old database (during migration for example) + { + while ($obj=$this->db->fetch_object($resql)) + { + $fieldname='extraline.'.$obj->name; + $fieldlabel=ucfirst($obj->label); + $typeFilter="Text"; + switch($obj->type) + { + case 'int': + case 'double': + case 'price': + $typeFilter="Numeric"; + break; + case 'date': + case 'datetime': + $typeFilter="Date"; + break; + case 'boolean': + $typeFilter="Boolean"; + break; + case 'sellist': + $typeFilter="List:".$obj->param; + break; + } + $this->export_fields_array[$r][$fieldname]=$fieldlabel; + $this->export_TypeFields_array[$r][$fieldname]=$typeFilter; + $this->export_entities_array[$r][$fieldname]='invoice_line'; + } + } + // End add extra fields line + $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'facture_fourn as f'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'facture_fourn_extrafields as extra ON f.rowid = extra.fk_object'; $this->export_sql_end[$r] .=' , '.MAIN_DB_PREFIX.'facture_fourn_det as fd'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'facture_fourn_det_extrafields as extraline ON fd.rowid = extraline.fk_object'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)'; $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture_fourn'; $this->export_sql_end[$r] .=' AND f.entity IN ('.getEntity('supplier_invoice',1).')'; @@ -309,7 +352,7 @@ class modFournisseur extends DolibarrModules $this->export_TypeFields_array[$r]=array('s.nom'=>'Text','s.address'=>'Text','s.zip'=>'Text','s.town'=>'Text','c.code'=>'Text','s.phone'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.ref_supplier'=>"Text",'f.datec'=>"Date",'f.datef'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.total_tva'=>"Number",'f.paye'=>"Boolean",'f.fk_statut'=>'Status','f.note_public'=>"Text",'pf.amount'=>'Number','p.datep'=>'Date','p.num_paiement'=>'Number'); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"invoice",'f.ref'=>"invoice",'f.ref_supplier'=>"invoice",'f.datec'=>"invoice",'f.datef'=>"invoice",'f.total_ht'=>"invoice",'f.total_ttc'=>"invoice",'f.total_tva'=>"invoice",'f.paye'=>"invoice",'f.fk_statut'=>'invoice','f.note_public'=>"invoice",'p.rowid'=>'payment','pf.amount'=>'payment','p.datep'=>'payment','p.num_paiement'=>'payment'); $this->export_dependencies_array[$r]=array('payment'=>'p.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them - // Add extra fields + // Add extra fields object $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'facture_fourn'"; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) @@ -342,7 +385,7 @@ class modFournisseur extends DolibarrModules $this->export_entities_array[$r][$fieldname]='invoice'; } } - // End add axtra fields + // End add extra fields object $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid,'; @@ -361,10 +404,10 @@ class modFournisseur extends DolibarrModules $this->export_icon[$r]='order'; $this->export_permission[$r]=array(array("fournisseur","commande","export")); $this->export_fields_array[$r]=array('s.rowid'=>"IdCompany",'s.nom'=>'CompanyName','s.address'=>'Address','s.zip'=>'Zip','s.town'=>'Town','c.code'=>'CountryCode','s.phone'=>'Phone','s.siren'=>'ProfId1','s.siret'=>'ProfId2','s.ape'=>'ProfId3','s.idprof4'=>'ProfId4','s.idprof5'=>'ProfId5','s.idprof6'=>'ProfId6','s.tva_intra'=>'VATIntra','f.rowid'=>"OrderId",'f.ref'=>"Ref",'f.ref_supplier'=>"RefSupplier",'f.date_creation'=>"DateCreation",'f.date_commande'=>"OrderDate",'f.total_ht'=>"TotalHT",'f.total_ttc'=>"TotalTTC",'f.tva'=>"TotalVAT",'f.fk_statut'=>'Status','f.note_public'=>"NotePublic",'f.note_private'=>"NotePrivate",'fd.rowid'=>'LineId','fd.description'=>"LineDescription",'fd.tva_tx'=>"LineVATRate",'fd.qty'=>"LineQty",'fd.remise_percent'=>"Discount",'fd.total_ht'=>"LineTotalHT",'fd.total_ttc'=>"LineTotalTTC",'fd.total_tva'=>"LineTotalVAT",'fd.product_type'=>'TypeOfLineServiceOrProduct','fd.fk_product'=>'ProductId','p.ref'=>'ProductRef','p.label'=>'ProductLabel'); - $this->export_TypeFields_array[$r]=array('s.rowid'=>"company",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.idprof5'=>'Text','s.idprof6'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.ref_supplier'=>"Text",'f.date_creation'=>"Date",'f.date_commande'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.fk_statut'=>'Status','f.note_public'=>"Text",'f.note_private'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Number",'fd.qty'=>"Number",'fd.remise_percent'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.total_tva'=>"Number",'fd.product_type'=>'Boolean','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); + $this->export_TypeFields_array[$r]=array('s.rowid'=>"company",'s.nom'=>'Text','s.address'=>'Text','s.cp'=>'Text','s.ville'=>'Text','c.code'=>'Text','s.tel'=>'Text','s.siren'=>'Text','s.siret'=>'Text','s.ape'=>'Text','s.idprof4'=>'Text','s.idprof5'=>'Text','s.idprof6'=>'Text','s.tva_intra'=>'Text','f.ref'=>"Text",'f.ref_supplier'=>"Text",'f.date_creation'=>"Date",'f.date_commande'=>"Date",'f.total_ht'=>"Number",'f.total_ttc'=>"Number",'f.tva'=>"Number",'f.fk_statut'=>'Status','f.note_public'=>"Text",'f.note_private'=>"Text",'fd.description'=>"Text",'fd.tva_tx'=>"Number",'fd.qty'=>"Number",'fd.remise_percent'=>"Number",'fd.total_ht'=>"Number",'fd.total_ttc'=>"Number",'fd.total_tva'=>"Number",'fd.product_type'=>'Number','fd.fk_product'=>'List:Product:label','p.ref'=>'Text','p.label'=>'Text'); $this->export_entities_array[$r]=array('s.rowid'=>"company",'s.nom'=>'company','s.address'=>'company','s.zip'=>'company','s.town'=>'company','c.code'=>'company','s.phone'=>'company','s.siren'=>'company','s.siret'=>'company','s.ape'=>'company','s.idprof4'=>'company','s.idprof5'=>'company','s.idprof6'=>'company','s.tva_intra'=>'company','f.rowid'=>"order",'f.ref'=>"order",'f.ref_supplier'=>"order",'f.date_creation'=>"order",'f.date_commande'=>"order",'f.total_ht'=>"order",'f.total_ttc'=>"order",'f.tva'=>"order",'f.fk_statut'=>'order','f.note_public'=>"order",'f.note_private'=>"order",'fd.rowid'=>'order_line','fd.description'=>"order_line",'fd.tva_tx'=>"order_line",'fd.qty'=>"order_line",'fd.remise_percent'=>"order_line",'fd.total_ht'=>"order_line",'fd.total_ttc'=>"order_line",'fd.total_tva'=>"order_line",'fd.product_type'=>'order_line','fd.fk_product'=>'product','p.ref'=>'product','p.label'=>'product'); $this->export_dependencies_array[$r]=array('order_line'=>'fd.rowid','product'=>'fd.rowid'); // To add unique key if we ask a field of a child to avoid the DISTINCT to discard them - // Add extra fields + // Add extra fields object $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande_fournisseur'"; $resql=$this->db->query($sql); if ($resql) // This can fail when class is used on old database (during migration for example) @@ -397,13 +440,48 @@ class modFournisseur extends DolibarrModules $this->export_entities_array[$r][$fieldname]='order'; } } - // End add axtra fields + // End add extra fields object + // Add extra fields line + $sql="SELECT name, label, type, param FROM ".MAIN_DB_PREFIX."extrafields WHERE elementtype = 'commande_fournisseurdet'"; + $resql=$this->db->query($sql); + if ($resql) // This can fail when class is used on old database (during migration for example) + { + while ($obj=$this->db->fetch_object($resql)) + { + $fieldname='extraline.'.$obj->name; + $fieldlabel=ucfirst($obj->label); + $typeFilter="Text"; + switch($obj->type) + { + case 'int': + case 'double': + case 'price': + $typeFilter="Numeric"; + break; + case 'date': + case 'datetime': + $typeFilter="Date"; + break; + case 'boolean': + $typeFilter="Boolean"; + break; + case 'sellist': + $typeFilter="List:".$obj->param; + break; + } + $this->export_fields_array[$r][$fieldname]=$fieldlabel; + $this->export_TypeFields_array[$r][$fieldname]=$typeFilter; + $this->export_entities_array[$r][$fieldname]='order_line'; + } + } + // End add extra fields line $this->export_sql_start[$r]='SELECT DISTINCT '; $this->export_sql_end[$r] =' FROM '.MAIN_DB_PREFIX.'societe as s'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'commande_fournisseur as f'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'commande_fournisseur_extrafields as extra ON f.rowid = extra.fk_object,'; $this->export_sql_end[$r] .=' '.MAIN_DB_PREFIX.'commande_fournisseurdet as fd'; + $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'commande_fournisseurdet_extrafields as extraline ON fd.rowid = extraline.fk_object'; $this->export_sql_end[$r] .=' LEFT JOIN '.MAIN_DB_PREFIX.'product as p on (fd.fk_product = p.rowid)'; $this->export_sql_end[$r] .=' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_commande'; $this->export_sql_end[$r] .=' AND f.entity IN ('.getEntity('supplier_order',1).')'; diff --git a/htdocs/core/modules/modGeoIPMaxmind.class.php b/htdocs/core/modules/modGeoIPMaxmind.class.php index 06d9d8f7f5e..cfe7acbdfa6 100644 --- a/htdocs/core/modules/modGeoIPMaxmind.class.php +++ b/htdocs/core/modules/modGeoIPMaxmind.class.php @@ -16,7 +16,7 @@ */ /** - * \defgroup geoip Module GeoIP + * \defgroup geoip Module geoipmaxmind * \brief Module to make geoip conversions * \file htdocs/core/modules/modGeoIPMaxmind.class.php * \ingroup geoip diff --git a/htdocs/core/modules/modIncoterm.class.php b/htdocs/core/modules/modIncoterm.class.php new file mode 100644 index 00000000000..a6340bd4f9c --- /dev/null +++ b/htdocs/core/modules/modIncoterm.class.php @@ -0,0 +1,142 @@ + + * Copyright (C) 2004-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 . + */ + +/** + * \defgroup mymodule Module MyModule + * \brief Example of a module descriptor. + * Such a file must be copied into htdocs/mymodule/core/modules directory. + * \file htdocs/mymodule/core/modules/modMyModule.class.php + * \ingroup mymodule + * \brief Description and activation file for module MyModule + */ +include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; + + +/** + * Description and activation class for module MyModule + */ +class modIncoterm extends DolibarrModules +{ + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $langs,$conf; + + $this->db = $db; + + // Id for module (must be unique). + // Use here a free id (See in Home -> System information -> Dolibarr for list of used modules id). + $this->numero = 210009; + // Key text used to identify module (for permissions, menus, etc...) + $this->rights_class = 'incoterm'; + + // Family can be 'crm','financial','hr','projects','products','ecm','technic','other' + $this->family = "products"; + $this->name = preg_replace('/^mod/i','',get_class($this)); + $this->description = "Incoterm management"; + $this->version = 'dolibarr'; + // Key used in llx_const table to save module status enabled/disabled (where MYMODULE is value of property name of module in uppercase) + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + // Where to store the module in setup page (0=common,1=interface,2=others,3=very specific) + $this->special = 0; + $this->picto='generic'; + + $this->module_parts = array(); + $this->dirs = array(); + + $this->config_page_url = array(); + + // Dependencies + $this->depends = array(); // List of modules id that must be enabled if this module is enabled + $this->requiredby = array(); // List of modules id to disable if this one is disabled + $this->phpmin = array(5,0); // Minimum version of PHP required by module + $this->need_dolibarr_version = array(3,0); // Minimum version of Dolibarr required by module + $this->langfiles = array("incoterm"); + + $this->const = array( + array('INCOTERM_ACTIVATE', 'chaine', 0, 'Description de INCOTERM_ACTIVATE') + ); + + $this->tabs = array(); + + // Dictionaries + if (! isset($conf->incoterm->enabled)) + { + $conf->incoterm=new stdClass(); + $conf->incoterm->enabled=0; + } + $this->dictionaries=array( + 'langs'=>'incoterm', + 'tabname'=>array(MAIN_DB_PREFIX."c_incoterms"), // List of tables we want to see into dictonnary editor + 'tablib'=>array("Incoterms"), // Label of tables + 'tabsql'=>array('SELECT rowid, code, libelle, active FROM '.MAIN_DB_PREFIX.'c_incoterms'), // Request to select fields + 'tabsqlsort'=>array("rowid ASC"), // Sort order + 'tabfield'=>array("code,libelle"), // List of fields (result of select to show dictionnary) + 'tabfieldvalue'=>array("code,libelle"), // List of fields (list of fields to edit a record) + 'tabfieldinsert'=>array("code,libelle"), // List of fields (list of fields for insert) + 'tabrowid'=>array("rowid"), // Name of columns with primary key (try to always name it 'rowid') + 'tabcond'=>array($conf->incoterm->enabled) + ); + + $this->boxes = array(); // List of boxes + $r=0; + + // Permissions + $this->rights = array(); // Permission array used by this module + $r=0; + + // Main menu entries + $this->menus = array(); // List of menus to add + $r=0; + } + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function init($options='') + { + $sql = array(); + + return $this->_init($sql, $options); + } + + /** + * Function called when module is disabled. + * Remove from database constants, boxes and permissions from Dolibarr database. + * Data directories are not deleted + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function remove($options='') + { + $sql = array(); + + return $this->_remove($sql, $options); + } +} diff --git a/htdocs/core/modules/modLoan.class.php b/htdocs/core/modules/modLoan.class.php new file mode 100644 index 00000000000..21ae96eba26 --- /dev/null +++ b/htdocs/core/modules/modLoan.class.php @@ -0,0 +1,181 @@ + + * + * This 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/ + */ + +/** + * \defgroup tax Module Loans + * \brief Module to include loans management + * \file htdocs/core/modules/modLoan.class.php + * \ingroup loan + * \brief File to activate module loan + */ +include_once DOL_DOCUMENT_ROOT .'/core/modules/DolibarrModules.class.php'; + + +/** + * Class to manage loan module + */ +class modLoan extends DolibarrModules +{ + + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + global $conf; + + $this->db = $db; + $this->numero = 520; + + $this->family = "financial"; + // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) + $this->name = preg_replace('/^mod/i','',get_class($this)); + // Module description used if translation string 'ModuleXXXDesc' not found (where XXX is value of numeric property 'numero' of module) + $this->description = "Loans management"; + + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + $this->version = 'development'; + + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + $this->special = 0; + $this->picto='bill'; + + // Data directories to create when module is enabled + $this->dirs = array("/loan/temp"); + + // Config pages + $this->config_page_url = array('loan.php'); + + // Dependances + $this->depends = array(); + $this->requiredby = array(); + $this->conflictwith = array(); + $this->langfiles = array("loan"); + + // Constants + $this->const = array(); + $this->const[0] = array( + "LOAN_ACCOUNTING_ACCOUNT_CAPITAL", + "chaine", + "164" + ); + $this->const[1] = array( + "LOAN_ACCOUNTING_ACCOUNT_INTEREST", + "chaine", + "6611" + ); + $this->const[1] = array( + "LOAN_ACCOUNTING_ACCOUNT_INSURANCE", + "chaine", + "6162" + ); + + // Boxes + $this->boxes = array(); + + // Permissions + $this->rights = array(); + $this->rights_class = 'loan'; + $r=0; + + $r++; + $this->rights[$r][0] = 520; + $this->rights[$r][1] = 'Read loans'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 1; + $this->rights[$r][4] = 'read'; + $this->rights[$r][5] = ''; + + $r++; + $this->rights[$r][0] = 522; + $this->rights[$r][1] = 'Create/modify loans'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'write'; + $this->rights[$r][5] = ''; + + $r++; + $this->rights[$r][0] = 524; + $this->rights[$r][1] = 'Delete loans'; + $this->rights[$r][2] = 'd'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'delete'; + $this->rights[$r][5] = ''; + + $r++; + $this->rights[$r][0] = 525; + $this->rights[$r][1] = 'Access loan calculator'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'calc'; + $this->rights[$r][5] = ''; + + $r++; + $this->rights[$r][0] = 527; + $this->rights[$r][1] = 'Export loans'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'export'; + $this->rights[$r][5] = ''; + + + // Exports + //-------- + $r=0; + + } + + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function init($options='') + { + global $conf; + + // Clean before activation + $this->remove($options); + + $sql = array(); + + return $this->_init($sql,$options); + } + + /** + * Function called when module is disabled. + * Remove from database constants, boxes and permissions from Dolibarr database. + * Data directories are not deleted + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + function remove($options='') + { + $sql = array(); + + return $this->_remove($sql,$options); + } + +} diff --git a/htdocs/core/modules/modResource.class.php b/htdocs/core/modules/modResource.class.php index 26fe0b4bd31..e63f44c3945 100644 --- a/htdocs/core/modules/modResource.class.php +++ b/htdocs/core/modules/modResource.class.php @@ -17,7 +17,7 @@ */ /** - * \defgroup resource Resource module + * \defgroup resource Module resource * \brief Resource module descriptor. * \file core/modules/modResource.class.php * \ingroup resource @@ -59,7 +59,7 @@ class modResource extends DolibarrModules // Module description // used if translation string 'ModuleXXXDesc' not found // (where XXX is value of numeric property 'numero' of module) - $this->description = "Description of module Resource"; + $this->description = "Manage resources (printers, cars, room, ...) you can then share into events"; // Possible values for version are: 'development', 'experimental' or version $this->version = 'development'; // Key used in llx_const table to save module status enabled/disabled diff --git a/htdocs/core/modules/printsheet/modules_labels.php b/htdocs/core/modules/printsheet/modules_labels.php index d2594d75b21..15ef011ea04 100644 --- a/htdocs/core/modules/printsheet/modules_labels.php +++ b/htdocs/core/modules/printsheet/modules_labels.php @@ -41,7 +41,7 @@ class ModelePDFLabels * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ function liste_modeles($db,$maxfilenamelength=0) diff --git a/htdocs/core/modules/project/doc/pdf_baleine.modules.php b/htdocs/core/modules/project/doc/pdf_baleine.modules.php index ea5ae8e9156..fcac8bd2646 100644 --- a/htdocs/core/modules/project/doc/pdf_baleine.modules.php +++ b/htdocs/core/modules/project/doc/pdf_baleine.modules.php @@ -28,6 +28,7 @@ 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/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/pdf.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; /** @@ -77,6 +78,7 @@ class pdf_baleine extends ModelePDFProjects // Defini position des colonnes $this->posxref=$this->marge_gauche+1; $this->posxlabel=$this->marge_gauche+25; + $this->posxworkload=$this->marge_gauche+100; $this->posxprogress=$this->marge_gauche+140; $this->posxdatestart=$this->marge_gauche+150; $this->posxdateend=$this->marge_gauche+170; @@ -216,20 +218,22 @@ class pdf_baleine extends ModelePDFProjects $progress=$object->lines[$i]->progress.'%'; $datestart=dol_print_date($object->lines[$i]->date_start,'day'); $dateend=dol_print_date($object->lines[$i]->date_end,'day'); - + $planned_workload=convertSecondToTime($object->lines[$i]->planned_workload,'allhourmin'); $pdf->SetFont('','', $default_font_size - 1); // Dans boucle pour gerer multi-page $pdf->SetXY($this->posxref, $curY); - $pdf->MultiCell(60, 3, $outputlangs->convToOutputCharset($ref), 0, 'L'); + $pdf->MultiCell($this->posxlabel-$this->posxref, 3, $outputlangs->convToOutputCharset($ref), 0, 'L'); $pdf->SetXY($this->posxlabel, $curY); - $pdf->MultiCell(108, 3, $outputlangs->convToOutputCharset($libelleline), 0, 'L'); + $pdf->MultiCell($this->posxworkload-$this->posxlabel, 3, $outputlangs->convToOutputCharset($libelleline), 0, 'L'); + $pdf->SetXY($this->posxworkload, $curY); + $pdf->MultiCell($this->posxprogress-$this->posxworkload, 3, $planned_workload, 0, 'R'); $pdf->SetXY($this->posxprogress, $curY); - $pdf->MultiCell(16, 3, $progress, 0, 'L'); + $pdf->MultiCell($this->posxdatestart-$this->posxprogress, 3, $progress, 0, 'R'); $pdf->SetXY($this->posxdatestart, $curY); - $pdf->MultiCell(20, 3, $datestart, 0, 'L'); + $pdf->MultiCell($this->posxdateend-$this->posxdatestart, 3, $datestart, 0, 'C'); $pdf->SetXY($this->posxdateend, $curY); - $pdf->MultiCell(20, 3, $dateend, 0, 'L'); + $pdf->MultiCell($this->page_largeur-$this->marge_droite-$this->posxdateend, 3, $dateend, 0, 'C'); $pageposafter=$pdf->getPage(); @@ -362,8 +366,23 @@ class pdf_baleine extends ModelePDFProjects $pdf->SetTextColor(0,0,0); $pdf->SetFont('','', $default_font_size); - $pdf->SetXY($this->posxref-1, $tab_top+2); - $pdf->MultiCell(80,2, $outputlangs->transnoentities("Tasks"),'','L'); + $pdf->SetXY($this->posxref, $tab_top+1); + $pdf->MultiCell($this->posxlabel-$this->posxref,3, $outputlangs->transnoentities("Tasks"),'','L'); + + $pdf->SetXY($this->posxlabel, $tab_top+1); + $pdf->MultiCell($this->posxworkload-$this->posxlabel, 3, $outputlangs->transnoentities("Description"), 0, 'L'); + + $pdf->SetXY($this->posxworkload, $tab_top+1); + $pdf->MultiCell($this->posxprogress-$this->posxworkload, 3, $outputlangs->transnoentities("PlannedWorkloadShort"), 0, 'R'); + + $pdf->SetXY($this->posxprogress, $tab_top+1); + $pdf->MultiCell($this->posxdatestart-$this->posxprogress, 3, '%', 0, 'R'); + + $pdf->SetXY($this->posxdatestart, $tab_top+1); + $pdf->MultiCell($this->posxdateend-$this->posxdatestart, 3, '', 0, 'C'); + + $pdf->SetXY($this->posxdateend, $tab_top+1); + $pdf->MultiCell($this->page_largeur - $this->marge_droite - $this->posxdatestart, 3, '', 0, 'C'); } @@ -371,7 +390,7 @@ class pdf_baleine extends ModelePDFProjects * Show top header of page. * * @param PDF $pdf Object PDF - * @param Object $object Object to show + * @param Project $object Object to show * @param int $showaddress 0=no, 1=yes * @param Translate $outputlangs Object lang for output * @return void @@ -457,10 +476,10 @@ class pdf_baleine extends ModelePDFProjects * Show footer of page. Need this->emetteur object * * @param PDF $pdf PDF - * @param Object $object Object to show + * @param Project $object Object to show * @param Translate $outputlangs Object lang for output * @param int $hidefreetext 1=Hide free text - * @return void + * @return integer */ function _pagefoot(&$pdf,$object,$outputlangs,$hidefreetext=0) { diff --git a/htdocs/core/modules/project/modules_project.php b/htdocs/core/modules/project/modules_project.php index 54d981e51a4..f79de708164 100644 --- a/htdocs/core/modules/project/modules_project.php +++ b/htdocs/core/modules/project/modules_project.php @@ -38,7 +38,7 @@ abstract class ModelePDFProjects extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -145,7 +145,7 @@ abstract class ModeleNumRefProjects * Create an intervention document on disk using template defined into PROJECT_ADDON_PDF * * @param DoliDB $db objet base de donnee - * @param Object $object Object fichinter + * @param Project $object Object fichinter * @param string $modele force le modele a utiliser ('' par defaut) * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines diff --git a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php index c074cba31e5..8a9669dadf1 100644 --- a/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php +++ b/htdocs/core/modules/project/task/doc/doc_generic_task_odt.modules.php @@ -106,7 +106,7 @@ class doc_generic_task_odt extends ModelePDFTask /** * Define array with couple substitution key => substitution value * - * @param Object $object Main object to use as data source + * @param Project $object Main object to use as data source * @param Translate $outputlangs Lang object to use for output * @return array Array of substitution */ diff --git a/htdocs/core/modules/project/task/modules_task.php b/htdocs/core/modules/project/task/modules_task.php index f861b1bf002..9f9cb5041c8 100644 --- a/htdocs/core/modules/project/task/modules_task.php +++ b/htdocs/core/modules/project/task/modules_task.php @@ -39,7 +39,7 @@ abstract class ModelePDFTask extends CommonDocGenerator * Return list of active generation modules * * @param DoliDB $db Database handler - * @param string $maxfilenamelength Max length of value to show + * @param integer $maxfilenamelength Max length of value to show * @return array List of templates */ static function liste_modeles($db,$maxfilenamelength=0) @@ -145,7 +145,7 @@ abstract class ModeleNumRefTask * Create an intervention document on disk using template defined into PROJECT_TASK_ADDON_PDF * * @param DoliDB $db objet base de donnee - * @param Object $object Object fichinter + * @param Task $object Object fichinter * @param string $modele force le modele a utiliser ('' par defaut) * @param Translate $outputlangs objet lang a utiliser pour traduction * @param int $hidedetails Hide details of lines diff --git a/htdocs/core/modules/propale/doc/pdf_azur.modules.php b/htdocs/core/modules/propale/doc/pdf_azur.modules.php index 35953b8521f..b3ff4710f1b 100644 --- a/htdocs/core/modules/propale/doc/pdf_azur.modules.php +++ b/htdocs/core/modules/propale/doc/pdf_azur.modules.php @@ -288,6 +288,29 @@ class pdf_azur extends ModelePDFPropales $tab_top_newpage = (empty($conf->global->MAIN_PDF_DONOTREPEAT_HEAD)?42:10); $tab_height = 130; $tab_height_newpage = 150; + + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } // Affiche notes $notetoshow=empty($object->note_public)?'':$object->note_public; @@ -304,7 +327,7 @@ class pdf_azur extends ModelePDFPropales } if ($notetoshow) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($notetoshow), 0, 1); diff --git a/htdocs/core/modules/propale/mod_propale_saphir.php b/htdocs/core/modules/propale/mod_propale_saphir.php index 503d8754684..25ccecb253c 100644 --- a/htdocs/core/modules/propale/mod_propale_saphir.php +++ b/htdocs/core/modules/propale/mod_propale_saphir.php @@ -123,7 +123,7 @@ class mod_propale_saphir extends ModeleNumRefPropales $date=$propal->datep; $customercode=$objsoc->code_client; - $numFinal=get_next_value($db,$mask,'propal','ref','',$customercode,$date); + $numFinal=get_next_value($db,$mask,'propal','ref','',$objsoc,$date); return $numFinal; } diff --git a/htdocs/core/modules/rapport/pdf_paiement.class.php b/htdocs/core/modules/rapport/pdf_paiement.class.php index f9726eedbed..b7aea75836f 100644 --- a/htdocs/core/modules/rapport/pdf_paiement.class.php +++ b/htdocs/core/modules/rapport/pdf_paiement.class.php @@ -1,6 +1,7 @@ * Copyright (C) 2006-2014 Laurent Destailleur + * 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 @@ -65,7 +66,8 @@ class pdf_paiement $this->posxdate=$this->marge_gauche+2; $this->posxpaymenttype=42; $this->posxinvoice=82; - $this->posxinvoiceamount=122; + $this->posxbankaccount=110; + $this->posxinvoiceamount=132; $this->posxpaymentamount=162; if ($this->page_largeur < 210) // To work with US executive format { @@ -147,16 +149,18 @@ class pdf_paiement //$sql .= ", c.libelle as paiement_type, p.num_paiement"; $sql.= ", c.code as paiement_code, p.num_paiement"; $sql.= ", p.amount as paiement_amount, f.total_ttc as facture_amount "; - $sql.= ", pf.amount as pf_amount "; + $sql.= ", pf.amount as pf_amount , ba.ref as bankaccount "; $sql.= ", p.rowid as prowid"; $sql.= " FROM ".MAIN_DB_PREFIX."paiement as p, ".MAIN_DB_PREFIX."facture as f,"; $sql.= " ".MAIN_DB_PREFIX."c_paiement as c, ".MAIN_DB_PREFIX."paiement_facture as pf,"; + $sql.= " ".MAIN_DB_PREFIX."bank as b, ".MAIN_DB_PREFIX."bank_account as ba,"; $sql.= " ".MAIN_DB_PREFIX."societe as s"; if (! $user->rights->societe->client->voir && ! $socid) { $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; } $sql.= " WHERE f.fk_soc = s.rowid AND pf.fk_facture = f.rowid AND pf.fk_paiement = p.rowid"; + $sql.= " AND p.fk_bank = b.rowid AND b.fk_account = ba.rowid "; $sql.= " AND f.entity = ".$conf->entity; $sql.= " AND p.fk_paiement = c.id "; $sql.= " AND p.datep BETWEEN '".$this->db->idate(dol_get_first_day($year,$month))."' AND '".$this->db->idate(dol_get_last_day($year,$month))."'"; @@ -188,6 +192,7 @@ class pdf_paiement $lines[$i][5] = price($objp->facture_amount); $lines[$i][6] = price($objp->pf_amount); $lines[$i][7] = $objp->prowid; + $lines[$i][8] = $objp->bankaccount; $i++; } } @@ -275,7 +280,8 @@ class pdf_paiement $default_font_size = pdf_getPDFFontSize($outputlangs); - $title=$outputlangs->transnoentities("ListOfCustomerPayments"); + $title=$conf->global->MAIN_INFO_SOCIETE_NOM; + $title.=' - '.$outputlangs->transnoentities("ListOfCustomerPayments"); $title.=' - '.dol_print_date(dol_mktime(0,0,0,$this->month,1,$this->year),"%B %Y",false,$outputlangs,true); $pdf->SetFont('','B',$default_font_size + 1); $pdf->SetXY($this->marge_gauche,10); @@ -300,7 +306,12 @@ class pdf_paiement $pdf->line($this->posxinvoice - 1, $this->tab_top, $this->posxinvoice - 1, $this->tab_top + $this->tab_height + 10); $pdf->SetXY($this->posxinvoice, $this->tab_top+2); - $pdf->MultiCell($this->posxinvoiceamount - $this->posxinvoice, 2, $outputlangs->transnoentities("Invoice"), 0, 'L'); + $pdf->MultiCell($this->posxbankaccount - $this->posxinvoice, 2, $outputlangs->transnoentities("Invoice"), 0, 'L'); + + $pdf->line($this->posxbankaccount - 1, $this->tab_top, $this->posxbankaccount - 1, $this->tab_top + $this->tab_height + 10); + $pdf->SetXY($this->posxbankaccount, $this->tab_top+2); + $pdf->MultiCell($this->posxinvoiceamount - $this->posxbankaccount, 2, $outputlangs->transnoentities("Account"), 0, 'L'); + $pdf->line($this->posxinvoiceamount - 1, $this->tab_top, $this->posxinvoiceamount - 1, $this->tab_top + $this->tab_height + 10); $pdf->SetXY($this->posxinvoiceamount, $this->tab_top+2); @@ -364,8 +375,12 @@ class pdf_paiement // Invoice number $pdf->SetXY($this->posxinvoice, $this->tab_top + 10 + $yp); - $pdf->MultiCell($this->posxinvoiceamount - $this->posxdate, $this->line_height, $lines[$j][0], 0, 'L', 0); + $pdf->MultiCell($this->posxinvoiceamount - $this->posxbankaccount, $this->line_height, $lines[$j][0], 0, 'L', 0); + // BankAccount + $pdf->SetXY($this->posxbankaccount, $this->tab_top + 10 + $yp); + $pdf->MultiCell($this->posxbankaccount - $this->posxdate, $this->line_height, $lines[$j][8], 0, 'L', 0); + // Invoice amount $pdf->SetXY($this->posxinvoiceamount, $this->tab_top + 10 + $yp); $pdf->MultiCell($this->posxpaymentamount- $this->posxinvoiceamount - 1, $this->line_height, $lines[$j][5], 0, 'R', 0); @@ -381,6 +396,5 @@ class pdf_paiement } } } - } diff --git a/htdocs/core/modules/societe/mod_codecompta_aquarium.php b/htdocs/core/modules/societe/mod_codecompta_aquarium.php index 1efc062ab2c..c8e005c79c7 100644 --- a/htdocs/core/modules/societe/mod_codecompta_aquarium.php +++ b/htdocs/core/modules/societe/mod_codecompta_aquarium.php @@ -45,8 +45,8 @@ class mod_codecompta_aquarium extends ModeleAccountancyCode function __construct() { global $conf; - if (empty($conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER)) $conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER='411'; - if (empty($conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER)) $conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER='401'; + if (! isset($conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER) || trim($conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER) == '') $conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER='411'; + if (! isset($conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER) || trim($conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER) == '') $conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER='401'; $this->prefixcustomeraccountancycode=$conf->global->COMPANY_AQUARIUM_MASK_CUSTOMER; $this->prefixsupplieraccountancycode=$conf->global->COMPANY_AQUARIUM_MASK_SUPPLIER; } diff --git a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php index 15bef66bf8f..ba31d979864 100644 --- a/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php +++ b/htdocs/core/modules/supplier_invoice/mod_facture_fournisseur_tulip.php @@ -126,7 +126,7 @@ class mod_facture_fournisseur_tulip extends ModeleNumRefSuppliersInvoices } //Supplier invoices take invoice date instead of creation date for the mask - $numFinal=get_next_value($db,$mask,'facture_fourn','ref','',$objsoc->code_fournisseur,$object->date); + $numFinal=get_next_value($db,$mask,'facture_fourn','ref','',$objsoc,$object->date); return $numFinal; } diff --git a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php index d100a45b828..78d7f42fab2 100644 --- a/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php +++ b/htdocs/core/modules/supplier_invoice/pdf/pdf_canelle.modules.php @@ -261,10 +261,33 @@ class pdf_canelle extends ModelePDFSuppliersInvoices $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + // Affiche notes if (! empty($object->note_public)) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); diff --git a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php index 7f74ce095c0..37b8adab22e 100644 --- a/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php +++ b/htdocs/core/modules/supplier_order/mod_commande_fournisseur_orchidee.php @@ -121,7 +121,7 @@ class mod_commande_fournisseur_orchidee extends ModeleNumRefSuppliersOrders return 0; } - $numFinal=get_next_value($db,$mask,'commande_fournisseur','ref','',$objsoc->code_fournisseur,$object->date_commande); + $numFinal=get_next_value($db,$mask,'commande_fournisseur','ref','',$objsoc,$object->date_commande); return $numFinal; } diff --git a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php index 8d59e77cb12..9a0291d5e8d 100644 --- a/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php +++ b/htdocs/core/modules/supplier_order/pdf/pdf_muscadet.modules.php @@ -269,10 +269,33 @@ class pdf_muscadet extends ModelePDFSuppliersOrders $tab_height = 130; $tab_height_newpage = 150; + // Incoterm + $height_incoterms = 0; + if ($conf->incoterm->enabled) + { + $desc_incoterms = $object->getIncotermsForPDF(); + if ($desc_incoterms) + { + $tab_top = 88; + + $pdf->SetFont('','', $default_font_size - 1); + $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top-1, dol_htmlentitiesbr($desc_incoterms), 0, 1); + $nexY = $pdf->GetY(); + $height_incoterms=$nexY-$tab_top; + + // Rect prend une longueur en 3eme param + $pdf->SetDrawColor(192,192,192); + $pdf->Rect($this->marge_gauche, $tab_top-1, $this->page_largeur-$this->marge_gauche-$this->marge_droite, $height_incoterms+1); + + $tab_top = $nexY+6; + $height_incoterms += 4; + } + } + // Affiche notes if (! empty($object->note_public)) { - $tab_top = 88; + $tab_top = 88 + $height_incoterms; $pdf->SetFont('','', $default_font_size - 1); $pdf->writeHTMLCell(190, 3, $this->posxdesc-1, $tab_top, dol_htmlentitiesbr($object->note_public), 0, 1); @@ -531,7 +554,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * Show payments table * * @param PDF $pdf Object PDF - * @param Object $object Object order + * @param CommandeFournisseur $object Object order * @param int $posy Position y in PDF * @param Translate $outputlangs Object langs for output * @return int <0 if KO, >0 if OK @@ -546,10 +569,10 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * Show miscellaneous information (payment mode, payment term, ...) * * @param PDF $pdf Object PDF - * @param Object $object Object to show + * @param CommandeFournisseur $object Object to show * @param int $posy Y * @param Translate $outputlangs Langs object - * @return void + * @return integer */ function _tableau_info(&$pdf, $object, $posy, $outputlangs) { @@ -915,7 +938,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * Show top header of page. * * @param PDF $pdf Object PDF - * @param Object $object Object to show + * @param CommandeFournisseur $object Object to show * @param int $showaddress 0=no, 1=yes * @param Translate $outputlangs Object lang for output * @return void @@ -1116,7 +1139,7 @@ class pdf_muscadet extends ModelePDFSuppliersOrders * Show footer of page. Need this->emetteur object * * @param PDF $pdf PDF - * @param Object $object Object to show + * @param CommandeFournisseur $object Object to show * @param Translate $outputlangs Object lang for output * @param int $hidefreetext 1=Hide free text * @return int Return height of bottom margin including footer text diff --git a/htdocs/core/modules/syslog/mod_syslog_chromephp.php b/htdocs/core/modules/syslog/mod_syslog_chromephp.php index b2520d27d7b..3e24901f5af 100644 --- a/htdocs/core/modules/syslog/mod_syslog_chromephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_chromephp.php @@ -7,6 +7,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php'; */ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface { + var $code = 'chromephp'; + /** * Return name of logger * @@ -111,10 +113,10 @@ class mod_syslog_chromephp extends LogHandler implements LogHandlerInterface } /** - * Output log content + * Output log content. We also start output buffering at first log write. * * @param array $content Content to log - * @return void + * @return null|false */ public function export($content) { diff --git a/htdocs/core/modules/syslog/mod_syslog_file.php b/htdocs/core/modules/syslog/mod_syslog_file.php index 92d2302bea7..b1060677c6f 100644 --- a/htdocs/core/modules/syslog/mod_syslog_file.php +++ b/htdocs/core/modules/syslog/mod_syslog_file.php @@ -7,6 +7,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php'; */ class mod_syslog_file extends LogHandler implements LogHandlerInterface { + var $code = 'file'; /** * Return name of logger diff --git a/htdocs/core/modules/syslog/mod_syslog_firephp.php b/htdocs/core/modules/syslog/mod_syslog_firephp.php index 31addd8b17a..08c0b91efc6 100644 --- a/htdocs/core/modules/syslog/mod_syslog_firephp.php +++ b/htdocs/core/modules/syslog/mod_syslog_firephp.php @@ -7,6 +7,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php'; */ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface { + var $code = 'firephp'; + /** * Return name of logger * @@ -111,7 +113,7 @@ class mod_syslog_firephp extends LogHandler implements LogHandlerInterface * Output log content * * @param array $content Content to log - * @return void + * @return null|false */ public function export($content) { diff --git a/htdocs/core/modules/syslog/mod_syslog_syslog.php b/htdocs/core/modules/syslog/mod_syslog_syslog.php index 2043225857b..0f0848f3afd 100644 --- a/htdocs/core/modules/syslog/mod_syslog_syslog.php +++ b/htdocs/core/modules/syslog/mod_syslog_syslog.php @@ -7,6 +7,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/modules/syslog/logHandler.php'; */ class mod_syslog_syslog extends LogHandler implements LogHandlerInterface { + var $code = 'syslog'; + /** * Return name of logger * diff --git a/htdocs/core/tpl/admin_extrafields_add.tpl.php b/htdocs/core/tpl/admin_extrafields_add.tpl.php index 1f61064183b..72eddc012d2 100644 --- a/htdocs/core/tpl/admin_extrafields_add.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_add.tpl.php @@ -48,6 +48,7 @@ else if (type == 'boolean') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} else if (type == 'price') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").hide();jQuery("#helpchkbxlst").hide();} else if (type == 'select') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();} + else if (type == 'link') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();} else if (type == 'sellist') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();jQuery("#helpselect").hide();jQuery("#helpsellist").show();jQuery("#helpchkbxlst").hide();} else if (type == 'checkbox') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();} else if (type == 'radio') { size.val('').attr('disabled','disabled'); unique.attr('disabled','disabled'); jQuery("#value_choice").show();jQuery("#helpselect").show();jQuery("#helpsellist").hide();jQuery("#helpchkbxlst").hide();} diff --git a/htdocs/core/tpl/admin_extrafields_edit.tpl.php b/htdocs/core/tpl/admin_extrafields_edit.tpl.php index 13a6486aa4f..76713be57df 100644 --- a/htdocs/core/tpl/admin_extrafields_edit.tpl.php +++ b/htdocs/core/tpl/admin_extrafields_edit.tpl.php @@ -68,7 +68,7 @@ if((($type == 'select') || ($type == 'checkbox') || ($type == 'radio')) && is_ar } } } -elseif (($type== 'sellist') || ($type == 'chkbxlst')) +elseif (($type== 'sellist') || ($type == 'chkbxlst') || ($type == 'link') ) { $paramlist=array_keys($param['options']); $param_chain = $paramlist[0]; diff --git a/htdocs/core/tpl/ajaxrow.tpl.php b/htdocs/core/tpl/ajaxrow.tpl.php index 27b14d859f3..4b8d82bce40 100644 --- a/htdocs/core/tpl/ajaxrow.tpl.php +++ b/htdocs/core/tpl/ajaxrow.tpl.php @@ -33,8 +33,8 @@ $tagidfortablednd=(empty($tagidfortablednd)?'tablelines':$tagidfortablednd); if (GETPOST('action') != 'editline' && $nboflines > 1) { ?> diff --git a/htdocs/core/tpl/document_actions_post_headers.tpl.php b/htdocs/core/tpl/document_actions_post_headers.tpl.php index abd42296cde..c7d5dc2c083 100644 --- a/htdocs/core/tpl/document_actions_post_headers.tpl.php +++ b/htdocs/core/tpl/document_actions_post_headers.tpl.php @@ -47,7 +47,7 @@ $savingdocmask=''; if (empty($conf->global->MAIN_DISABLE_SUGGEST_REF_AS_PREFIX)) { //var_dump($modulepart); - if (in_array($modulepart,array('facture_fournisseur','commande_fournisseur','facture','commande','propal','ficheinter','contract','project','project_task','expensereport'))) + if (in_array($modulepart,array('facture_fournisseur','commande_fournisseur','facture','commande','propal','askpricesupplier','ficheinter','contract','project','project_task','expensereport'))) { $savingdocmask=$object->ref.'___file__'; } diff --git a/htdocs/core/tpl/extrafields_view.tpl.php b/htdocs/core/tpl/extrafields_view.tpl.php index 7f0115b83bc..b6b26cc380d 100644 --- a/htdocs/core/tpl/extrafields_view.tpl.php +++ b/htdocs/core/tpl/extrafields_view.tpl.php @@ -65,7 +65,7 @@ if (empty($reshook) && ! empty($extrafields->attribute_label)) print '' . img_edit().''; print ''; - print ''; + print ''; // Convert date into timestamp format if (in_array($extrafields->attribute_type[$key], array('date','datetime'))) { diff --git a/htdocs/core/tpl/login.tpl.php b/htdocs/core/tpl/login.tpl.php index bf5456a7d8d..3eb9f907d8a 100644 --- a/htdocs/core/tpl/login.tpl.php +++ b/htdocs/core/tpl/login.tpl.php @@ -29,7 +29,7 @@ if (GETPOST('dol_use_jmobile')) $conf->dol_use_jmobile=1; if (! empty($conf->dol_use_jmobile)) $conf->use_javascript_ajax=1; $arrayofjs=array('/core/js/dst.js'.(empty($conf->dol_use_jmobile)?'':'?version='.urlencode(DOL_VERSION))); // Javascript code on logon page only to detect user tz, dst_observed, dst_first, dst_second -$titleofloginpage=$langs->trans('Login').' '.$title; // title is defined by dol_loginfunction in security2.lib.php +$titleofloginpage=$langs->trans('Login').' @ '.$title; // title is defined by dol_loginfunction in security2.lib.php. We must keep the @, some tools use it to know it is login page. print top_htmlhead('',$titleofloginpage,0,0,$arrayofjs); ?> @@ -46,10 +46,9 @@ $(document).ready(function () { -
    +
    -
    + diff --git a/htdocs/core/tpl/notes.tpl.php b/htdocs/core/tpl/notes.tpl.php index 66b310da69d..5773d7ce9d8 100644 --- a/htdocs/core/tpl/notes.tpl.php +++ b/htdocs/core/tpl/notes.tpl.php @@ -50,6 +50,7 @@ if (! empty($conf->global->MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES)) // Special cases if ($module == 'propal') { $permission=$user->rights->propale->creer;} +elseif ($module == 'askpricesupplier') { $permission=$user->rights->askpricesupplier->creer;} elseif ($module == 'fichinter') { $permission=$user->rights->ficheinter->creer;} elseif ($module == 'project') { $permission=$user->rights->projet->creer;} elseif ($module == 'project_task') { $permission=$user->rights->projet->creer;} diff --git a/htdocs/core/tpl/objectline_create.tpl.php b/htdocs/core/tpl/objectline_create.tpl.php index 8a98ac2f613..84cc158515d 100644 --- a/htdocs/core/tpl/objectline_create.tpl.php +++ b/htdocs/core/tpl/objectline_create.tpl.php @@ -31,7 +31,7 @@ $usemargins=0; -if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1; +if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','askpricesupplier','commande'))) $usemargins=1; global $forceall, $senderissupplier, $inputalsopricewithtax; if (empty($dateSelector)) $dateSelector=0; @@ -42,8 +42,8 @@ if (empty($inputalsopricewithtax)) $inputalsopricewithtax=0; // Define colspan for button Add $colspan = 3; // Col total ht + col edit + col delete -if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc -if (in_array($object->element,array('propal','facture','invoice','commande','order'))) $colspan++; // With this, there is a column move button +if (in_array($object->element,array('propal', 'askpricesupplier','facture','invoice','commande','order','order_supplier','invoice_supplier'))) $colspan++; // With this, there is a column move button +//print $object->element; ?> @@ -52,6 +52,9 @@ if (in_array($object->element,array('propal','facture','invoice','commande','ord global->MAIN_VIEW_LINE_NUMBER) ? ' colspan="2"' : ''); ?>>
    trans('AddNewLine'); ?>trans("FreeZone"); ?> + element == 'askpricesupplier') { ?> + trans('AskPriceSupplierRefFourn'); ?> + trans('VAT'); ?> trans('PriceUHT'); ?> @@ -158,12 +161,12 @@ else { if (empty($senderissupplier)) { - $form->select_produits('', 'idprod', $filtertype, $conf->product->limit_size, $buyer->price_level, 1, 2, '', 1, array(),$buyer->id); + $form->select_produits(GETPOST('idprod'), 'idprod', $filtertype, $conf->product->limit_size, $buyer->price_level, 1, 2, '', 1, array(),$buyer->id); } else { $ajaxoptions=array( - 'update' => array('qty'=>'qty','remise_percent' => 'discount'), // html id tag will be edited with which ajax json response key + 'update' => array('qty'=>'qty','remise_percent' => 'discount'), // html id tags that will be edited with which ajax json response key 'option_disabled' => 'addPredefinedProductButton', // html id to disable once select is done 'warning' => $langs->trans("NoPriceDefinedForThisSupplier") // translation of an error saved into var 'error' ); @@ -191,29 +194,28 @@ else { $nbrows=ROWS_2; $enabled=(! empty($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0); if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT; - $doleditor=new DolEditor('dp_desc',GETPOST('dp_desc'),'',100,'dolibarr_details','',false,true,$enabled,$nbrows,'98%'); + $toolbarname='dolibarr_details'; + if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) $toolbarname='dolibarr_notes'; + $doleditor=new DolEditor('dp_desc',GETPOST('dp_desc'),'',100,$toolbarname,'',false,true,$enabled,$nbrows,'98%'); $doleditor->Create(); ?> - + + element == 'askpricesupplier') { ?> + + + tva_assuj == "0") echo '0'; - else echo $form->load_tva('tva_tx', (isset($_POST["tva_tx"])?$_POST["tva_tx"]:-1), $seller, $buyer); - } + if ($seller->tva_assuj == "0") echo '0'; + else echo $form->load_tva('tva_tx', (isset($_POST["tva_tx"])?$_POST["tva_tx"]:-1), $seller, $buyer); ?> - "> - - "> - "> @@ -271,6 +273,9 @@ else { elseif ($this->table_element_line=='propaldet') { $newline = new PropaleLigne($this->db); } + elseif ($this->table_element_line=='askpricesupplierdet') { + $newline = new AskPriceSupplierLine($this->db); + } elseif ($this->table_element_line=='facturedet') { $newline = new FactureLigne($this->db); } @@ -281,7 +286,7 @@ else { $newline = new CommandeFournisseurLigne($this->db); } elseif ($this->table_element_line=='facture_fourn_det') { - $newline = new FactureFournisseurLigne($this->db); + $newline = new SupplierInvoiceLine($this->db); } if (is_object($newline)) { print $newline->showOptionals($extrafieldsline, 'edit', array('style'=>$bcnd[$var], 'colspan'=>$coldisplay+8)); @@ -291,13 +296,13 @@ else { service->enabled) && $dateSelector && GETPOST('type') != '0') +if ((! empty($conf->service->enabled) || ($object->element == 'contrat')) && $dateSelector && GETPOST('type') != '0') // We show date field if required { if(! empty($conf->global->MAIN_VIEW_LINE_NUMBER)) $colspan = 10; else $colspan = 9; if($this->situation_cycle_ref) $colspan++; if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc - if (in_array($object->element,array('propal','facture','invoice','commande','order'))) $colspan++; // With this, there is a column move button + if (in_array($object->element,array('propal','askpricesupplier','facture','invoice','commande','order','order_supplier','invoice_supplier'))) $colspan++; // With this, there is a column move button if (! empty($usemargins)) { @@ -545,6 +550,11 @@ jQuery(document).ready(function() { if (jQuery('#idprod').val() > 0) jQuery('#dp_desc').focus(); if (jQuery('#idprodfournprice').val() > 0) jQuery('#dp_desc').focus(); }); + + + setforpredef(); + + }); /* Function to set fields from choice */ @@ -573,11 +583,11 @@ function setforpredef() { jQuery("#prod_entry_mode_free").attr('checked',false); jQuery("#prod_entry_mode_predef").attr('checked',true); jQuery("#price_ht").hide(); + jQuery("#title_up_ht").hide(); jQuery("#price_ttc").hide(); // May no exists jQuery("#tva_tx").hide(); jQuery("#buying_price").show(); jQuery("#title_vat").hide(); - jQuery("#title_up_ht").hide(); jQuery("#title_up_ttc").hide(); jQuery("#np_marginRate").hide(); // May no exists jQuery("#np_markRate").hide(); // May no exists diff --git a/htdocs/core/tpl/objectline_edit.tpl.php b/htdocs/core/tpl/objectline_edit.tpl.php index 98f1b842f1a..5b895a69da3 100644 --- a/htdocs/core/tpl/objectline_edit.tpl.php +++ b/htdocs/core/tpl/objectline_edit.tpl.php @@ -31,7 +31,7 @@ $usemargins=0; -if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal','commande'))) $usemargins=1; +if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal', 'askpricesupplier','commande'))) $usemargins=1; global $forceall, $senderissupplier, $inputalsopricewithtax; if (empty($dateSelector)) $dateSelector=0; @@ -43,7 +43,7 @@ if (empty($inputalsopricewithtax)) $inputalsopricewithtax=0; // Define colspan for button Add $colspan = 3; // Col total ht + col edit + col delete if (! empty($inputalsopricewithtax)) $colspan++; // We add 1 if col total ttc -if (in_array($object->element,array('propal','facture','invoice','commande','order','order_supplier','invoice_supplier'))) $colspan++; // With this, there is a column move button +if (in_array($object->element,array('propal','askpricesupplier','facture','invoice','commande','order','order_supplier','invoice_supplier'))) $colspan++; // With this, there is a column move button ?> @@ -86,13 +86,16 @@ $coldisplay=-1; // We remove first td } // Do not allow editing during a situation cycle - if ($this->situation_counter == 1 || !$this->situation_cycle_ref) { + if (empty($this->situation_cycle_ref) || $this->situation_counter == 1) + { // editeur wysiwyg require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $nbrows=ROWS_2; if (! empty($conf->global->MAIN_INPUT_DESC_HEIGHT)) $nbrows=$conf->global->MAIN_INPUT_DESC_HEIGHT; $enable=(isset($conf->global->FCKEDITOR_ENABLE_DETAILS)?$conf->global->FCKEDITOR_ENABLE_DETAILS:0); - $doleditor=new DolEditor('product_desc',$line->description,'',164,'dolibarr_details','',false,true,$enable,$nbrows,'98%'); + $toolbarname='dolibarr_details'; + if (! empty($conf->global->FCKEDITOR_ENABLE_DETAILS_FULL)) $toolbarname='dolibarr_notes'; + $doleditor=new DolEditor('product_desc',$line->description,'',164,$toolbarname,'',false,true,$enable,$nbrows,'98%'); $doleditor->Create(); } else { print ''; @@ -100,6 +103,10 @@ $coldisplay=-1; // We remove first td ?> + element == 'askpricesupplier') { ?> + + + situation_counter == 1 || !$this->situation_cycle_ref) { diff --git a/htdocs/core/tpl/objectline_view.tpl.php b/htdocs/core/tpl/objectline_view.tpl.php index 0664d471dec..7b4f27ae87e 100644 --- a/htdocs/core/tpl/objectline_view.tpl.php +++ b/htdocs/core/tpl/objectline_view.tpl.php @@ -35,6 +35,10 @@ */ global $forceall, $senderissupplier, $inputalsopricewithtax, $usemargins; + +$usemargins=0; +if (! empty($conf->margin->enabled) && ! empty($object->element) && in_array($object->element,array('facture','propal', 'askpricesupplier','commande'))) $usemargins=1; + if (empty($dateSelector)) $dateSelector=0; if (empty($forceall)) $forceall=0; if (empty($senderissupplier)) $senderissupplier=0; @@ -48,7 +52,7 @@ if (empty($usemargins)) $usemargins=0; global->MAIN_VIEW_LINE_NUMBER)) { ?> -
    +
    info_bits & 2) == 2) { ?> - + element == 'askpricesupplier') { ?> + ref_fourn; ?> + tva_tx,'%',$line->info_bits); ?> - pu_ht)?price($line->pu_ht):price($line->subprice)); ?> + pu_ht); ?> pu_ttc)?price($line->pu_ttc):price($line->subprice)); ?> @@ -173,11 +179,11 @@ if (empty($usemargins)) $usemargins=0; total_ht); ?> - statut == 0 && ($user->rights->$element->creer || $permtoedit)) { ?> + statut == 0 && ($object_rights->creer)) { ?> info_bits & 2) == 2) { ?> - id.'#'.$line->id; ?>"> + id.'#line_'.$line->id; ?>"> @@ -197,12 +203,12 @@ if (empty($usemargins)) $usemargins=0; 0) { ?> id; ?>"> - + id; ?>"> - + diff --git a/htdocs/core/tpl/passwordforgotten.tpl.php b/htdocs/core/tpl/passwordforgotten.tpl.php index c517ec611d1..662bf997aa9 100644 --- a/htdocs/core/tpl/passwordforgotten.tpl.php +++ b/htdocs/core/tpl/passwordforgotten.tpl.php @@ -44,7 +44,7 @@ $(document).ready(function () { -
    +
    -
    + diff --git a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php index 940e3a1712d..160387f5fde 100644 --- a/htdocs/core/triggers/interface_50_modNotification_Notification.class.php +++ b/htdocs/core/triggers/interface_50_modNotification_Notification.class.php @@ -40,6 +40,7 @@ class InterfaceNotification extends DolibarrTriggers 'ORDER_VALIDATE', 'PROPAL_VALIDATE', 'FICHINTER_VALIDATE', + 'ORDER_SUPPLIER_VALIDATE', 'ORDER_SUPPLIER_APPROVE', 'ORDER_SUPPLIER_REFUSE', 'SHIPPING_VALIDATE' @@ -84,8 +85,8 @@ class InterfaceNotification extends DolibarrTriggers $sql = "SELECT rowid, code, label, description, elementtype"; $sql.= " FROM ".MAIN_DB_PREFIX."c_action_trigger"; - $sql.= $this->db->order("elementtype, code"); - dol_syslog("Get list of notifications", LOG_DEBUG); + $sql.= $this->db->order("rang, elementtype, code"); + dol_syslog("getListOfManagedEvents Get list of notifications", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -103,13 +104,14 @@ class InterfaceNotification extends DolibarrTriggers { //print 'xx'.$obj->code; $element=$obj->elementtype; + + // Exclude events if related module is disabled if ($element == 'order_supplier' && empty($conf->fournisseur->enabled)) $qualified=0; elseif ($element == 'invoice_supplier' && empty($conf->fournisseur->enabled)) $qualified=0; elseif ($element == 'withdraw' && empty($conf->prelevement->enabled)) $qualified=0; elseif ($element == 'shipping' && empty($conf->expedition->enabled)) $qualified=0; elseif ($element == 'member' && empty($conf->adherent->enabled)) $qualified=0; - elseif (! in_array($element,array('order_supplier','invoice_supplier','withdraw','shipping','member')) - && empty($conf->$element->enabled)) $qualified=0; + elseif (! in_array($element,array('order_supplier','invoice_supplier','withdraw','shipping','member')) && empty($conf->$element->enabled)) $qualified=0; } if ($qualified) diff --git a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN index d3abf17501d..c50a4afcc01 100644 --- a/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN +++ b/htdocs/core/triggers/interface_90_all_Demo.class.php-NORUN @@ -151,6 +151,19 @@ class InterfaceDemo extends DolibarrTriggers case 'LINEPROPAL_UPDATE': case 'LINEPROPAL_DELETE': + // Askpricesupplier + case 'ASKPRICESUPPLIER_CREATE': + case 'ASKPRICESUPPLIER_CLONE': + case 'ASKPRICESUPPLIER_MODIFY': + case 'ASKPRICESUPPLIER_VALIDATE': + case 'ASKPRICESUPPLIER_SENTBYMAIL': + case 'ASKPRICESUPPLIER_CLOSE_SIGNED': + case 'ASKPRICESUPPLIER_CLOSE_REFUSED': + case 'ASKPRICESUPPLIER_DELETE': + case 'LINEASKPRICESUPPLIER_INSERT': + case 'LINEASKPRICESUPPLIER_UPDATE': + case 'LINEASKPRICESUPPLIER_DELETE': + // Contracts case 'CONTRACT_CREATE': case 'CONTRACT_ACTIVATE': diff --git a/htdocs/cron/list.php b/htdocs/cron/list.php index 3c2844f3fe4..e543c269fb4 100644 --- a/htdocs/cron/list.php +++ b/htdocs/cron/list.php @@ -100,7 +100,7 @@ if ($action == 'confirm_execute' && $confirm == "yes" && $user->rights->cron->ex if ($result < 0) { setEventMessage($object->error,'errors'); } - else + else { $res = $object->reprogram_jobs($user->login); if ($res > 0) @@ -314,11 +314,11 @@ print "\n
    \n"; if (! $user->rights->cron->create) { - print ''.$langs->trans("New").''; + print ''.$langs->trans("CronCreateJob").''; } else { - print ''.$langs->trans("New").''; + print ''.$langs->trans("CronCreateJob").''; } print '
    '; diff --git a/htdocs/admin/dons.php b/htdocs/don/admin/donation.php similarity index 85% rename from htdocs/admin/dons.php rename to htdocs/don/admin/donation.php index dcac1079422..bd4683ec3c7 100644 --- a/htdocs/admin/dons.php +++ b/htdocs/don/admin/donation.php @@ -2,7 +2,7 @@ /* Copyright (C) 2005-2010 Laurent Destailleur * Copyright (C) 2012-2013 Juanjo Menent * Copyright (C) 2013 Philippe Grand - * Copyright (C) 2014 Alexandre Spangaro + * 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 @@ -19,16 +19,19 @@ */ /** - * \file htdocs/admin/dons.php - * \ingroup dons - * \brief Page d'administration/configuration du module Dons + * \file htdocs/don/admin/dons.php + * \ingroup donations + * \brief Page to setup the donation module */ -require '../main.inc.php'; +require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/donation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; $langs->load("admin"); $langs->load("donations"); +$langs->load("accountancy"); $langs->load('other'); if (!$user->admin) accessforbidden(); @@ -112,7 +115,25 @@ else if ($action == 'del') } } -// Option +// Options +if ($action == 'set_DONATION_ACCOUNTINGACCOUNT') +{ + $account = GETPOST('DONATION_ACCOUNTINGACCOUNT'); // No alpha here, we want exact string + + $res = dolibarr_set_const($db, "DONATION_ACCOUNTINGACCOUNT",$account,'chaine',0,'',$conf->entity); + + if (! $res > 0) $error++; + + if (! $error) + { + setEventMessage($langs->trans("SetupSaved")); + } + else + { + setEventMessage($langs->trans("Error"),'errors'); + } +} + if ($action == 'set_DONATION_MESSAGE') { $freemessage = GETPOST('DONATION_MESSAGE'); // No alpha here, we want exact string @@ -173,44 +194,65 @@ else if ($action == 'setart885') { * View */ -$dir = "../core/modules/dons/"; +$dir = "../../core/modules/dons/"; $form=new Form($db); llxHeader('',$langs->trans("DonationsSetup"),'DonConfiguration'); - $linkback=''.$langs->trans("BackToModuleList").''; print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'setup'); +$head = donation_admin_prepare_head(); + +dol_fiche_head($head, 'general', $langs->trans("Donations"), 0, 'payment'); + /* * Params */ print_titre($langs->trans("Options")); -print ''; -print ''; -print ''; print ''; print ''; -print ''; -print ''; +print ''; +//print ''; print "\n"; $var=true; -$var=! $var; +print ''; +print ''; +print ''; -print ''; + +print ''; +print '\n"; +print ''; + +print ''; +print ''; +print ''; + +$var=! $var; +print '\n"; + print "
    '.$langs->trans("Parameter").' '.$langs->trans("Parameters").' 
    '; +$var=! $var; +print '
    '; +$label = $langs->trans(AccountAccounting); +print ''; +print ''; +print ''; +print ''; +print "
    '; print $langs->trans("FreeTextOnDonations").'
    '; print ''; print '
    '; print ''; print "
    \n"; print ''; /* * French params */ -if ($conf->global->MAIN_LANG_DEFAULT == "fr_FR") +if (preg_match('/fr/i',$conf->global->MAIN_INFO_SOCIETE_COUNTRY)) { print '
    '; print_titre($langs->trans("FrenchOptions")); diff --git a/htdocs/don/admin/donation_extrafields.php b/htdocs/don/admin/donation_extrafields.php new file mode 100644 index 00000000000..2d08c36873f --- /dev/null +++ b/htdocs/don/admin/donation_extrafields.php @@ -0,0 +1,114 @@ + + * + * This 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/don/admin/donation_extrafields.php + * \ingroup donations + * \brief Page to setup extra fields of donations + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/donation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; + +$langs->load("companies"); +$langs->load("admin"); +$langs->load('donations'); + +$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='don'; //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("Donations"); + +llxHeader('',$langs->trans("DonationsSetup")); + +$linkback=''.$langs->trans("BackToModuleList").''; +print_fiche_titre($langs->trans("DonationsSetup"),$linkback,'setup'); + + +$head = donation_admin_prepare_head(); + +dol_fiche_head($head, 'attributes', $langs->trans("Donations"), 0, 'payment'); + +require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_view.tpl.php'; + +dol_fiche_end(); + + +// Buttons +if ($action != 'create' && $action != 'edit') +{ + print '
    '; + print ''; + print "
    "; +} + + +/* ************************************************************************** */ +/* */ +/* Create optional field */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print "
    "; + print_titre($langs->trans('NewAttribute')); + + require DOL_DOCUMENT_ROOT.'/core/tpl/admin_extrafields_add.tpl.php'; +} + +/* ************************************************************************** */ +/* */ +/* Edit optional field */ +/* */ +/* ************************************************************************** */ +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/don/admin/index.html b/htdocs/don/admin/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/don/card.php b/htdocs/don/card.php new file mode 100644 index 00000000000..d3ce60a5381 --- /dev/null +++ b/htdocs/don/card.php @@ -0,0 +1,740 @@ + + * Copyright (C) 2004-2011 Laurent Destailleur + * Copyright (C) 2005-2012 Regis Houssin + * Copyright (C) 2013 Florian Henry + * 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 . + */ + +/** + * \file htdocs/don/card.php + * \ingroup donations + * \brief Page of donation card + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/dons/modules_don.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/donation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; +if (! empty($conf->projet->enabled)) +{ + require_once DOL_DOCUMENT_ROOT.'/core/class/html.formprojet.class.php'; +} +require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; + +$langs->load("companies"); +$langs->load("donations"); +$langs->load("bills"); + +$id=GETPOST('rowid')?GETPOST('rowid','int'):GETPOST('id','int'); +$action=GETPOST('action','alpha'); +$cancel=GETPOST('cancel'); +$amount=GETPOST('amount'); +$donation_date=dol_mktime(12, 0, 0, GETPOST('remonth'), GETPOST('reday'), GETPOST('reyear')); + +$object = new Don($db); +$extrafields = new ExtraFields($db); + +// Security check +$result = restrictedArea($user, 'don', $id); + +// 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('doncard','globalcard')); + +/* + * Actions + */ +$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some +if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); + +if ($action == 'update') +{ + if (! empty($cancel)) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); + exit; + } + + $error=0; + + if (empty($donation_date)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("Date")), 'errors'); + $action = "create"; + $error++; + } + + if (empty($amount)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("Amount")), 'errors'); + $action = "create"; + $error++; + } + + if (! $error) + { + $object->fetch($id); + + $object->firstname = GETPOST("firstname"); + $object->lastname = GETPOST("lastname"); + $object->societe = GETPOST("societe"); + $object->address = GETPOST("address"); + $object->amount = price2num(GETPOST("amount")); + $object->town = GETPOST("town"); + $object->zip = GETPOST("zipcode"); + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST("email"); + $object->date = $donation_date; + $object->public = GETPOST("public"); + $object->fk_project = GETPOST("fk_project"); + $object->note_private= GETPOST("note_private"); + $object->note_public = GETPOST("note_public"); + + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels,$object); + if ($ret < 0) $error++; + + if ($object->update($user) > 0) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$object->id); + exit; + } + } +} + +if ($action == 'add') +{ + if (! empty($cancel)) + { + header("Location: index.php"); + exit; + } + + $error=0; + + if (empty($donation_date)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("Date")), 'errors'); + $action = "create"; + $error++; + } + + if (empty($amount)) + { + setEventMessage($langs->trans("ErrorFieldRequired",$langs->trans("Amount")), 'errors'); + $action = "create"; + $error++; + } + + if (! $error) + { + $object->firstname = GETPOST("firstname"); + $object->lastname = GETPOST("lastname"); + $object->societe = GETPOST("societe"); + $object->address = GETPOST("address"); + $object->amount = price2num(GETPOST("amount")); + $object->zip = GETPOST("zipcode"); + $object->town = GETPOST("town"); + $object->country_id = GETPOST('country_id', 'int'); + $object->email = GETPOST("email"); + $object->date = $donation_date; + $object->note_private= GETPOST("note_private"); + $object->note_public = GETPOST("note_public"); + $object->public = GETPOST("public"); + $object->fk_project = GETPOST("fk_project"); + + // Fill array 'array_options' with data from add form + $ret = $extrafields->setOptionalsFromPost($extralabels,$object); + if ($ret < 0) $error++; + + if ($object->create($user) > 0) + { + header("Location: index.php"); + exit; + } + } +} +if ($action == 'confirm_delete' && GETPOST("confirm") == "yes" && $user->rights->don->supprimer) +{ + $object->fetch($id); + $result=$object->delete($user); + if ($result > 0) + { + header("Location: index.php"); + exit; + } + else + { + dol_syslog($object->error,LOG_DEBUG); + setEventMessage($object->error,'errors'); + setEventMessage($object->errors,'errors'); + } +} +if ($action == 'valid_promesse') +{ + if ($object->valid_promesse($id, $user->id) >= 0) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); + exit; + } + else { + setEventMessage($object->error, 'errors'); + } +} +if ($action == 'set_cancel') +{ + if ($object->set_cancel($id) >= 0) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); + exit; + } + else { + setEventMessage($object->error, 'errors'); + } +} +if ($action == 'set_paid') +{ + if ($object->set_paid($id, $modepayment) >= 0) + { + header("Location: ".$_SERVER['PHP_SELF']."?id=".$id); + exit; + } + else { + setEventMessage($object->error, 'errors'); + } +} + +/* + * Build doc + */ +if ($action == 'builddoc') +{ + $object = new Don($db); + $object->fetch($id); + + // Save last template used to generate document + if (GETPOST('model')) $object->setDocModel($user, GETPOST('model','alpha')); + + // Define output language + $outputlangs = $langs; + $newlang=''; + if ($conf->global->MAIN_MULTILANGS && empty($newlang) && ! empty($_REQUEST['lang_id'])) $newlang=$_REQUEST['lang_id']; + if ($conf->global->MAIN_MULTILANGS && empty($newlang)) $newlang=$object->client->default_lang; + if (! empty($newlang)) + { + $outputlangs = new Translate("",$conf); + $outputlangs->setDefaultLang($newlang); + } + $result=don_create($db, $object->id, '', $object->modelpdf, $outputlangs); + if ($result <= 0) + { + dol_print_error($db,$result); + exit; + } +} + + +/* + * View + */ + +llxHeader('',$langs->trans("Donations"),'EN:Module_Donations|FR:Module_Dons|ES:Módulo_Donaciones'); + +$form=new Form($db); +$formfile = new FormFile($db); +$formcompany = new FormCompany($db); + + +/* ************************************************************************** */ +/* */ +/* Donation card in create mode */ +/* */ +/* ************************************************************************** */ + +if ($action == 'create') +{ + print_fiche_titre($langs->trans("AddDonation")); + + print '
    '; + print ''; + print ''; + + print ''; + + $nbrows=11; + if (! empty($conf->projet->enabled)) $nbrows++; + + // Date + print ''; + + // Amount + print "".''; + + print '\n"; + + print "".''; + print "".''; + print "".''; + print "".''; + + // Zip / Town + print ''; + + // Country + print ''; + + print "".''; + + // Public note + print ''; + print ''; + print ''; + + // Private note + if (empty($user->societe_id)) { + print ''; + print ''; + print ''; + } + + if (! empty($conf->projet->enabled)) + { + + $formproject=new FormProjets($db); + + print "\n"; + } + + // Other attributes + $parameters=array('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',$parameters); + } + + print "
    '.$langs->trans("Date").''; + $form->select_date($donation_date?$donation_date:-1,'','','','',"add",1,1); + print '
    '.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
    '.$langs->trans("PublicDonation").""; + print $form->selectyesno("public",isset($_POST["public"])?$_POST["public"]:1,1); + print "
    '.$langs->trans("Company").'
    '.$langs->trans("Lastname").'
    '.$langs->trans("Firstname").'
    '.$langs->trans("Address").''; + print '
    '.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); + print ' '; + print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); + print '
    '; + print $form->select_country(GETPOST('country_id')!=''?GETPOST('country_id'):$object->country_id); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + print '
    '.$langs->trans("EMail").'
    ' . $langs->trans('NotePublic') . ''; + + $doleditor = new DolEditor('note_public', $note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + print $doleditor->Create(1); + print '
    ' . $langs->trans('NotePrivate') . ''; + + $doleditor = new DolEditor('note_private', $note_private, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + print $doleditor->Create(1); + print '
    ".$langs->trans("Project").""; + $formproject->select_projects(-1, GETPOST("fk_project"),'fk_project', 0, 1, 0, 1); + print "
    \n"; + print '
       
    '; + print "
    \n"; +} + + +/* ************************************************************ */ +/* */ +/* Donation card in edit mode */ +/* */ +/* ************************************************************ */ + +if (! empty($id) && $action == 'edit') +{ + $result=$object->fetch($id); + if ($result < 0) { + dol_print_error($db,$object->error); exit; + } + $result=$object->fetch_optionals($object->id,$extralabels); + if ($result < 0) { + dol_print_error($db); exit; + } + + $head = donation_prepare_head($object); + dol_fiche_head($head, $hselected, $langs->trans("Donation"), 0, 'generic'); + + print '
    '; + print ''; + print ''; + + print ''; + print ''; + print ''; + + // Ref + print "".''; + print ''; + + $nbrows=12; + if (! empty($conf->projet->enabled)) $nbrows++; + + // Date + print "".''; + + // Amount + if ($object->statut == 0) + { + print "".''; + } + else + { + print ''; + } + + print '"; + print "\n"; + + $langs->load("companies"); + print "".''; + print "".''; + print "".''; + print "".''; + + // Zip / Town + print ''; + + // Country + print ''; + + print "".''; + + print "\n"; + + print "".''; + + // Project + if (! empty($conf->projet->enabled)) + { + $formproject=new FormProjets($db); + + $langs->load('projects'); + print ''; + } + + // Other attributes + $parameters=array('colspan' => ' colspan="2"'); + $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'); + } + + print "
    '.$langs->trans("Ref").''; + print $object->getNomUrl(); + print '
    '.$langs->trans("Date").''; + $form->select_date($object->date,'','','','',"update"); + print '
    '.$langs->trans("Amount").' '.$langs->trans("Currency".$conf->currency).'
    '.$langs->trans("Amount").''; + print price($object->amount,0,$langs,0,0,-1,$conf->currency); + print '
    '.$langs->trans("PublicDonation").""; + print $form->selectyesno("public",1,1); + print "
    '.$langs->trans("Company").'
    '.$langs->trans("Lastname").'
    '.$langs->trans("Firstname").'
    '.$langs->trans("Address").''; + print '
    '.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $formcompany->select_ziptown((isset($_POST["zipcode"])?$_POST["zipcode"]:$object->zip),'zipcode',array('town','selectcountry_id','state_id'),6); + print ' '; + print $formcompany->select_ziptown((isset($_POST["town"])?$_POST["town"]:$object->town),'town',array('zipcode','selectcountry_id','state_id')); + print '
    '.$langs->trans('Country').''; + print $form->select_country((!empty($object->country_id)?$object->country_id:$mysoc->country_code),'country_id'); + if ($user->admin) print info_admin($langs->trans("YouCanChangeValuesForThisListFromDictionarySetup"),1); + print '
    '.$langs->trans("EMail").'
    ".$langs->trans("PaymentMode")."\n"; + + if ($object->modepaymentid) $selected = $object->modepaymentid; + else $selected = ''; + + $form->select_types_paiements($selected, 'modepayment', 'CRDT', 0, 1); + print "
    '.$langs->trans("Status").''.$object->getLibStatut(4).'
    '.$langs->trans('Project').''; + $formproject->select_projects(-1, $object->fk_project,'fk_project', 0, 1, 0, 1); + print '
    \n"; + + print '
       
    '; + + print "
    \n"; + + print "\n"; +} + + + +/* ************************************************************ */ +/* */ +/* Donation card in view mode */ +/* */ +/* ************************************************************ */ +if (! empty($id) && $action != 'edit') +{ + // Confirmation delete + if ($action == 'delete') + { + $text=$langs->trans("ConfirmDeleteADonation"); + print $form->formconfirm($_SERVER["PHP_SELF"]."?id=".$object->id,$langs->trans("DeleteADonation"),$text,"confirm_delete",'','',1); + } + + $result=$object->fetch($id); + if ($result < 0) { + dol_print_error($db,$object->error); exit; + } + $result=$object->fetch_optionals($object->id,$extralabels); + if ($result < 0) { + dol_print_error($db); exit; + } + + $head = donation_prepare_head($object); + dol_fiche_head($head, $hselected, $langs->trans("Donation"), 0, 'generic'); + + print '
    '; + print ''; + print ''; + + $linkback = ''.$langs->trans("BackToList").''; + + $nbrows=12; + if (! empty($conf->projet->enabled)) $nbrows++; + + // Ref + print "".''; + print ''; + + // Date + print '"; + + print ''; + + print ''; + + print ''; + print ''; + print ''; + print ''; + + $rowspan=6; + if (! empty($conf->projet->enabled)) $rowspan++; + print '"; + + print ""; + + // Zip / Town + print ''; + + // Country + print ''; + + // EMail + print "".''; + + // Payment mode + print "\n"; + + print "".''; + + // Project + if (! empty($conf->projet->enabled)) + { + print ''; + print ''; + print ''; + print ''; + } + + // Other attributes + $parameters=array('colspan' => ' colspan="2"'); + $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); + } + + print "
    '.$langs->trans("Ref").''; + print $form->showrefnav($object, 'rowid', $linkback, 1, 'rowid', 'ref', ''); + print '
    '.$langs->trans("Date").''; + print dol_print_date($object->date,"day"); + print "
    '.$langs->trans("Amount").''; + print price($object->amount,0,$langs,0,0,-1,$conf->currency); + print '
    '.$langs->trans("PublicDonation").''; + print yn($object->public); + print '
    '.$langs->trans("Company").''.$object->societe.'
    '.$langs->trans("Lastname").''.$object->lastname.'
    '.$langs->trans("Firstname").''.$object->firstname.'
    '.$langs->trans("Address").''.dol_nl2br($object->address).''; + + /* + * Payments + */ + $sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount,"; + $sql.= "c.code as type_code,c.libelle as paiement_type"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_donation as p"; + $sql.= ", ".MAIN_DB_PREFIX."c_paiement as c "; + $sql.= ", ".MAIN_DB_PREFIX."don as d"; + $sql.= " WHERE d.rowid = '".$id."'"; + $sql.= " AND p.fk_donation = d.rowid"; + $sql.= " AND d.entity = ".$conf->entity; + $sql.= " AND p.fk_typepayment = c.id"; + $sql.= " ORDER BY dp"; + + //print $sql; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; $total = 0; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $var=True; + while ($i < $num) + { + $objp = $db->fetch_object($resql); + $var=!$var; + print "'; + print '\n"; + $labeltype=$langs->trans("PaymentType".$object->type_code)!=("PaymentType".$object->type_code)?$langs->trans("PaymentType".$object->type_code):$object->paiement_type; + print "\n"; + print '\n"; + print ""; + $totalpaid += $objp->amount; + $i++; + } + + if ($object->paid == 0) + { + print "\n"; + print "\n"; + + $remaintopay = $object->amount - $totalpaid; + + print ""; + print "\n"; + } + print "
    '.$langs->trans("RefPayment").''.$langs->trans("Date").''.$langs->trans("Type").''.$langs->trans("Amount").' 
    "; + print ''.img_object($langs->trans("Payment"),"payment").' '.$objp->rowid.''.dol_print_date($db->jdate($objp->dp),'day')."".$labeltype.' '.$object->num_paiement."'.price($objp->amount)." ".$langs->trans("Currency".$conf->currency)."
    ".$langs->trans("AlreadyPaid")." :".price($totalpaid)." ".$langs->trans("Currency".$conf->currency)."
    ".$langs->trans("AmountExpected")." :".price($object->amount)." ".$langs->trans("Currency".$conf->currency)."
    ".$langs->trans("RemainderToPay")." :".price($remaintopay)." ".$langs->trans("Currency".$conf->currency)."
    "; + $db->free($resql); + } + else + { + dol_print_error($db); + } + print "
    '.$langs->trans("Zip").' / '.$langs->trans("Town").''; + print $object->zip.($object->zip && $object->town?' / ':'').$object->town.'
    '.$langs->trans('Country').''; + if (! empty($object->country_code)) + { + $img=picto_from_langcode($object->country_code); + print ($img?$img.' ':''); + print $object->country; + } + else + { + print $object->country_olddata; + } + print '
    '.$langs->trans("EMail").''.dol_print_email($object->email).'
    ".$langs->trans("PaymentMode").""; + $form->form_modes_reglement(null, $object->modepaymentid,'none'); + print "
    '.$langs->trans("Status").''.$object->getLibStatut(4).'
    '.$langs->trans("Project").''.$object->projet.'
    \n"; + print "
    \n"; + + print ""; + + $remaintopay = $object->amount - $totalpaid; + + /** + * Actions buttons + */ + print '
    '; + + print ''; + + if ($object->statut == 0) + { + print ''; + } + + if (($object->statut == 0 || $object->statut == 1) && $remaintopay == 0 && $object->paye == 0) + { + print '"; + } + + // Create payment + if ($object->statut == 1 && $object->paid == 0 && $user->rights->don->creer) + { + if ($remaintopay == 0) + { + print '
    ' . $langs->trans('DoPayment') . '
    '; + } + else + { + print ''; + } + } + + // Classify 'paid' + if ($object->statut == 1 && round($remaintopay) == 0 && $object->paid == 0 && $user->rights->don->creer) + { + print '"; + } + + // Delete + if ($user->rights->don->supprimer) + { + print '"; + } + else + { + print '"; + } + + print "
    "; + + + print ''; + + print '
    '; + + /* + * Documents generes + */ + $filename=dol_sanitizeFileName($object->id); + $filedir=$conf->don->dir_output . '/' . get_exdir($filename,2); + $urlsource=$_SERVER['PHP_SELF'].'?rowid='.$object->id; + // $genallowed=($fac->statut == 1 && ($fac->paye == 0 || $user->admin) && $user->rights->facture->creer); + // $delallowed=$user->rights->facture->supprimer; + $genallowed=1; + $delallowed=0; + + $var=true; + + print '
    '; + $formfile->show_documents('donation',$filename,$filedir,$urlsource,$genallowed,$delallowed); + + print '
     
    '; + +} + +llxFooter(); +$db->close(); \ No newline at end of file diff --git a/htdocs/compta/dons/class/don.class.php b/htdocs/don/class/don.class.php similarity index 68% rename from htdocs/compta/dons/class/don.class.php rename to htdocs/don/class/don.class.php index e5d64eb0d9d..5e36037738f 100644 --- a/htdocs/compta/dons/class/don.class.php +++ b/htdocs/don/class/don.class.php @@ -2,7 +2,8 @@ /* Copyright (C) 2002 Rodolphe Quiedeville * Copyright (C) 2004-2008 Laurent Destailleur * Copyright (C) 2009 Regis Houssin - * Copyright (C) 2014 Florian Henry + * Copyright (C) 2014 Florian Henry + * 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 @@ -19,9 +20,9 @@ */ /** - * \file htdocs/compta/dons/class/don.class.php - * \ingroup don - * \brief Fichier de la classe des dons + * \file htdocs/don/class/don.class.php + * \ingroup Donation + * \brief File of class to manage donations */ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; @@ -33,8 +34,10 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; */ class Don extends CommonObject { - public $element='don'; - public $table_element='don'; + public $element='don'; // Id that identify managed objects + public $table_element='don'; // Name of table without prefix where object is stored + public $fk_element = 'fk_donation'; + protected $ismultientitymanaged = 1; // 0=No test on entity, 1=Test with field entity, 2=Test with link by societe var $id; var $ref; @@ -46,6 +49,8 @@ class Don extends CommonObject var $address; var $zip; var $town; + var $country_id; + var $country_code; var $country; var $email; var $public; @@ -296,14 +301,19 @@ class Don extends CommonObject /** * Create donation record into database * - * @param User $user Objet utilisateur qui cree le don - * @return int Id don cree si ok, <0 si ko + * @param User $user User who created the donation + * @param int $notrigger Disable triggers + * @return int <0 if KO, id of created donation if OK * TODO add numbering module for Ref */ - function create($user) + function create($user, $notrigger) { - global $conf; - + global $conf, $langs; + + $error = 0; + $ret = 0; + $now=dol_now(); + // Clean parameters $this->address=($this->address>0?$this->address:$this->address); $this->zip=($this->zip>0?$this->zip:$this->zip); @@ -311,24 +321,23 @@ class Don extends CommonObject $this->country_id=($this->country_id>0?$this->country_id:$this->country_id); $this->country=($this->country?$this->country:$this->country); - $now=dol_now(); - $this->db->begin(); $sql = "INSERT INTO ".MAIN_DB_PREFIX."don ("; $sql.= "datec"; $sql.= ", entity"; $sql.= ", amount"; - $sql.= ", fk_paiement"; + $sql.= ", fk_payment"; $sql.= ", firstname"; $sql.= ", lastname"; $sql.= ", societe"; $sql.= ", address"; $sql.= ", zip"; $sql.= ", town"; - $sql.= ", country"; + // $sql.= ", country"; -- Deprecated + $sql.= ", fk_country"; $sql.= ", public"; - $sql.= ", fk_don_projet"; + $sql.= ", fk_project"; $sql.= ", note_private"; $sql.= ", note_public"; $sql.= ", fk_user_author"; @@ -348,7 +357,7 @@ class Don extends CommonObject $sql.= ", '".$this->db->escape($this->address)."'"; $sql.= ", '".$this->db->escape($this->zip)."'"; $sql.= ", '".$this->db->escape($this->town)."'"; - $sql.= ", '".$this->db->escape($this->country)."'"; // TODO use country_id + $sql.= ", ".$this->country_id; $sql.= ", ".$this->public; $sql.= ", ".($this->fk_project > 0?$this->fk_project:"null"); $sql.= ", ".(!empty($this->note_private)?("'".$this->db->escape($this->note_private)."'"):"NULL"); @@ -361,24 +370,54 @@ class Don extends CommonObject $sql.= ", '".$this->db->escape($this->phone_mobile)."'"; $sql.= ")"; - dol_syslog("Don::create", LOG_DEBUG); - $result = $this->db->query($sql); - if ($result) + 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."don"); + $this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."don"); + $ret = $this->id; - // Call trigger - $result=$this->call_trigger('DON_CREATE',$user); - if ($result < 0) { $error++; $this->db->rollback(); return -1; } - // End call triggers + if (!$notrigger) + { + // Call trigger + $result=$this->call_trigger('DON_CREATE',$user); + if ($result < 0) { $error++; } + // End call triggers + } + } + else + { + $this->error = $this->db->lasterror(); + $this->errno = $this->db->lasterrno(); + $error++; + } + + // Update extrafield + if (!$error) { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + + if (!$error && !empty($conf->global->MAIN_DISABLEDRAFTSTATUS)) + { + $res = $this->setValid($user); + if ($res < 0) $error++; + } + if (!$error) + { $this->db->commit(); - return $this->id; + return $ret; } else { $this->db->rollback(); - dol_print_error($this->db); return -1; } } @@ -387,10 +426,15 @@ class Don extends CommonObject * Update a donation record * * @param User $user Objet utilisateur qui met a jour le don + * @param int $notrigger Disable triggers * @return int >0 if OK, <0 if KO */ - function update($user) + function update($user, $notrigger=0) { + global $langs, $conf; + + $error=0; + // Clean parameters $this->address=($this->address>0?$this->address:$this->address); $this->zip=($this->zip>0?$this->zip:$this->zip); @@ -402,16 +446,16 @@ class Don extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."don SET "; $sql .= "amount = " . price2num($this->amount); - $sql .= ",fk_paiement = ".($this->modepaiementid?$this->modepaiementid:"null"); + $sql .= ",fk_payment = ".($this->modepaymentid?$this->modepaymentid:"null"); $sql .= ",firstname = '".$this->db->escape($this->firstname)."'"; $sql .= ",lastname='".$this->db->escape($this->lastname)."'"; $sql .= ",societe='".$this->db->escape($this->societe)."'"; $sql .= ",address='".$this->db->escape($this->address)."'"; $sql .= ",zip='".$this->db->escape($this->zip)."'"; $sql .= ",town='".$this->db->escape($this->town)."'"; - $sql .= ",country='".$this->db->escape($this->country)."'"; // TODO use country_id + $sql .= ",fk_country = ".$this->country_id; $sql .= ",public=".$this->public; - $sql .= ",fk_don_projet=".($this->fk_project>0?$this->fk_project:'null'); + $sql .= ",fk_project=".($this->fk_project>0?$this->fk_project:'null'); $sql .= ",note_private=".(!empty($this->note_private)?("'".$this->db->escape($this->note_private)."'"):"NULL"); $sql .= ",note_public=".(!empty($this->note_public)?("'".$this->db->escape($this->note_public)."'"):"NULL"); $sql .= ",datedon='".$this->db->idate($this->date)."'"; @@ -419,63 +463,126 @@ class Don extends CommonObject $sql .= ",phone='".$this->phone."'"; $sql .= ",phone_mobile='".$this->phone_mobile."'"; $sql .= ",fk_statut=".$this->statut; - $sql .= " WHERE rowid = $this->id"; - - dol_syslog("Don::update", LOG_DEBUG); - $result = $this->db->query($sql); - if ($result) - { - // Call trigger - $result=$this->call_trigger('DON_UPDATE',$user); - if ($result < 0) { $error++; $this->db->rollback(); return -1; } - // End call triggers - - $this->db->commit(); - return 1; - } - else - { - $this->db->rollback(); - dol_print_error($this->db); - return -1; - } - } - - /** - * Delete a donation - * - * @param int $rowid Id of donation to delete - * @return int <0 if KO, >0 if OK - */ - function delete($rowid) - { - - $this->db->begin(); - - $sql = "DELETE FROM ".MAIN_DB_PREFIX."don WHERE rowid = $rowid AND fk_statut = 0;"; + $sql .= " WHERE rowid = '".$this->id."'"; + dol_syslog(get_class($this)."::Update", LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { - if ( $this->db->affected_rows($resql) ) + if (!$notrigger) { - // Call trigger - $result=$this->call_trigger('DON_DELETE',$user); - if ($result < 0) { $error++; $this->db->rollback(); return -1; } + // Call trigger + $result=$this->call_trigger('DON_MODIFY',$user); + if ($result < 0) { $error++; } // End call triggers + } + // Update extrafield + if (!$error) + { + if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used + { + $result=$this->insertExtraFields(); + if ($result < 0) + { + $error++; + } + } + } + + if (! $error ) + { $this->db->commit(); - return 1; + $result = 1; } else { $this->db->rollback(); - return -1; + $result = -1; } } else + { + $this->error = $this->db->lasterror(); + $this->errors[] = $this->error; + $this->db->rollback(); + dol_syslog(get_class($this)."::Update error -2 " . $this->error, LOG_ERR); + $result = -2; + } + return $result; + } + + /** + * Delete a donation from database + * + * @param User $user User + * @param int $notrigger Disable triggers + * @return int <0 if KO, 0 if not possible, >0 if OK + */ + function delete($user, $notrigger=0) + { + global $conf, $langs; + require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; + + $error = 0; + + $this->db->begin(); + + // Delete donation + if (! $error) { - dol_print_error($this->db); + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "don"; + $sql.= " WHERE rowid=" . $this->id; + + $resql = $this->db->query($sql); + if (!$resql) + { + $this->errors[] = $this->db->lasterror(); + $error++; + } + } + + if (! $error) + { + $sql = "DELETE FROM " . MAIN_DB_PREFIX . "don_extrafields"; + $sql.= " WHERE fk_object=" . $this->id; + + $resql = $this->db->query($sql); + if (! $resql) + { + $this->errors[] = $this->db->lasterror(); + $error++; + } + } + + if (! $error) + { + if (!$notrigger) + { + // Call trigger + $result=$this->call_trigger('DON_DELETE',$user); + + if ($result < 0) { + $error++; + } + // End call triggers + } + } + + if (! $error) + { + $this->db->commit(); + return 1; + } + else + { + foreach ( $this->errors as $errmsg ) + { + dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR); + $this->error .= ($this->error ? ', ' . $errmsg : $errmsg); + } + dol_syslog(get_class($this) . "::delete " . $this->error, LOG_ERR); + $this->db->rollback(); return -1; } } @@ -483,23 +590,33 @@ class Don extends CommonObject /** * Load donation from database * - * @param int $rowid Id of donation to load + * @param int $id Id of donation to load * @param string $ref Ref of donation to load * @return int <0 if KO, >0 if OK */ - function fetch($rowid,$ref='') + function fetch($id, $ref='') { global $conf; $sql = "SELECT d.rowid, d.datec, d.tms as datem, d.datedon,"; $sql.= " d.firstname, d.lastname, d.societe, d.amount, d.fk_statut, d.address, d.zip, d.town, "; - $sql.= " d.country, d.public, d.amount, d.fk_paiement, d.note_private, d.note_public, cp.libelle, d.email, d.phone, "; - $sql.= " d.phone_mobile, d.fk_don_projet,"; - $sql.= " p.title as project_label"; + $sql.= " d.fk_country, d.country as country_olddata, d.public, d.amount, d.fk_payment, d.paid, d.note_private, d.note_public, cp.libelle, d.email, d.phone, "; + $sql.= " d.phone_mobile, d.fk_project,"; + $sql.= " p.title as project_label,"; + $sql.= " c.code as country_code, c.label as country"; $sql.= " FROM ".MAIN_DB_PREFIX."don as d"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid = d.fk_don_projet"; - $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as cp ON cp.id = d.fk_paiement"; - $sql.= " WHERE d.rowid = ".$rowid." AND d.entity = ".$conf->entity; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet as p ON p.rowid = d.fk_project"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as cp ON cp.id = d.fk_payment"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as c ON d.fk_country = c.rowid"; + if (! empty($id)) + { + $sql.= " WHERE d.rowid=".$id; + } + else if (! empty($ref)) + { + $sql.= " WHERE ref='".$this->db->escape($ref)."'"; + } + $sql.= " AND d.entity = ".$conf->entity; dol_syslog(get_class($this)."::fetch", LOG_DEBUG); $resql=$this->db->query($sql); @@ -522,19 +639,30 @@ class Don extends CommonObject $this->town = $obj->town; $this->zip = $obj->zip; $this->town = $obj->town; + $this->country_id = $obj->country_id; + $this->country_code = $obj->country_code; $this->country = $obj->country; - $this->email = $obj->email; + $this->country_olddata= $obj->country_olddata; // deprecated + $this->email = $obj->email; $this->phone = $obj->phone; $this->phone_mobile = $obj->phone_mobile; - $this->projet = $obj->project_label; - $this->fk_project = $obj->fk_don_projet; + $this->project = $obj->project_label; + $this->fk_project = $obj->fk_project; $this->public = $obj->public; - $this->modepaiementid = $obj->fk_paiement; - $this->modepaiement = $obj->libelle; + $this->modepaymentid = $obj->fk_payment; + $this->modepayment = $obj->libelle; + $this->paid = $obj->paid; $this->amount = $obj->amount; $this->note_private = $obj->note_private; $this->note_public = $obj->note_public; $this->commentaire = $obj->note; // deprecated + + // Retrieve all extrafield for thirdparty + // 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; } @@ -547,16 +675,16 @@ class Don extends CommonObject } /** - * Valide une promesse de don + * Validate a promise of donation * - * @param int $rowid id du don a modifier - * @param int $userid utilisateur qui valide la promesse + * @param int $id id of donation + * @param int $userid User who validate the promise * @return int <0 if KO, >0 if OK */ - function valid_promesse($rowid, $userid) + function valid_promesse($id, $userid) { - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 1, fk_user_valid = $userid WHERE rowid = $rowid AND fk_statut = 0"; + $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 1, fk_user_valid = ".$userid." WHERE rowid = ".$id." AND fk_statut = 0"; $resql=$this->db->query($sql); if ($resql) @@ -580,18 +708,18 @@ class Don extends CommonObject /** * Classe le don comme paye, le don a ete recu * - * @param int $rowid id du don a modifier + * @param int $id id du don a modifier * @param int $modepaiement mode de paiement * @return int <0 if KO, >0 if OK */ - function set_paye($rowid, $modepaiement='') + function set_paid($id, $modepaiement='') { $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 2"; if ($modepaiement) { - $sql .= ", fk_paiement=$modepaiement"; + $sql .= ", fk_payment=$modepayment"; } - $sql .= " WHERE rowid = $rowid AND fk_statut = 1"; + $sql .= " WHERE rowid = $id AND fk_statut = 1"; $resql=$this->db->query($sql); if ($resql) @@ -612,17 +740,15 @@ class Don extends CommonObject } } - /** - * Classe le don comme encaisse + * Set donation to status canceled * - * @param int $rowid id du don a modifier + * @param int $id id of donation * @return int <0 if KO, >0 if OK */ - function set_encaisse($rowid) + function set_cancel($id) { - - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 3 WHERE rowid = $rowid AND fk_statut = 2"; + $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = -1 WHERE rowid = ".$id; $resql=$this->db->query($sql); if ($resql) @@ -644,36 +770,7 @@ class Don extends CommonObject } /** - * Set donation sto status canceled - * - * @param int $rowid id du don a modifier - * @return int <0 if KO, >0 if OK - */ - function set_cancel($rowid) - { - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = -1 WHERE rowid = ".$rowid; - - $resql=$this->db->query($sql); - if ($resql) - { - if ( $this->db->affected_rows($resql) ) - { - return 1; - } - else - { - return 0; - } - } - else - { - dol_print_error($this->db); - return -1; - } - } - - /** - * Somme des dons + * Sum of donations * * @param string $param 1=promesses de dons validees , 2=xxx, 3=encaisses * @return int Summ of donations @@ -703,7 +800,7 @@ class Don extends CommonObject /** * 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) @@ -713,16 +810,61 @@ class Don extends CommonObject $result=''; $label=$langs->trans("ShowDonation").': '.$this->id; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='generic'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$lienfin); + if ($withpicto) $result.=($link.img_object($label, $picto, 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->id.$lienfin; + if ($withpicto != 2) $result.=$link.$this->id.$linkend; return $result; } + + /** + * Information on record + * + * @param int $id Id of record + * @return void + */ + function info($id) + { + $sql = 'SELECT d.rowid, d.datec, d.fk_user_author, d.fk_user_valid,'; + $sql.= ' d.tms'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'don as d'; + $sql.= ' WHERE d.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_valid) + { + $vuser = new User($this->db); + $vuser->fetch($obj->fk_user_valid); + $this->user_modification = $vuser; + } + $this->date_creation = $this->db->jdate($obj->datec); + $this->date_modification = $this->db->jdate($obj->tms); + } + $this->db->free($result); + } + else + { + dol_print_error($this->db); + } + } } diff --git a/htdocs/don/class/donstats.class.php b/htdocs/don/class/donstats.class.php new file mode 100644 index 00000000000..63105da07d2 --- /dev/null +++ b/htdocs/don/class/donstats.class.php @@ -0,0 +1,133 @@ + + * Copyright (c) 2005-2013 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2011 Juanjo Menent + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/** + * \file htdocs/don/class/dontats.class.php + * \ingroup donations + * \brief File of class to manage donations statistics + */ + +include_once DOL_DOCUMENT_ROOT . '/core/class/stats.class.php'; +include_once DOL_DOCUMENT_ROOT . '/don/class/don.class.php'; +include_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php'; + + +/** + * Class to manage donations statistics + */ +class DonationStats extends Stats +{ + public $table_element; + + var $socid; + var $userid; + + var $from; + var $field; + var $where; + + + /** + * Constructor + * + * @param DoliDB $db Database handler + * @param int $socid Id third party for filter + * @param string $mode Option (not used) + * @param int $userid Id user for filter (creation user) + */ + function __construct($db, $socid, $mode, $userid=0) + { + global $user, $conf; + + $this->db = $db; + + $this->socid = ($socid > 0 ? $socid : 0); + $this->userid = $userid; + $this->cachefilesuffix = $mode; + + $object=new Don($this->db); + $this->from = MAIN_DB_PREFIX.$object->table_element." as d"; + //$this->from.= ", ".MAIN_DB_PREFIX."societe as s"; + //$this->field='weight'; // Warning, unit of weight is NOT USED AND MUST BE + $this->where.= " d.fk_statut > 0"; // Not draft and not cancelled + + //$this->where.= " AND c.fk_soc = s.rowid AND c.entity = ".$conf->entity; + $this->where.= " AND d.entity = ".$conf->entity; + if ($this->userid > 0) $this->where.=' WHERE c.fk_user_author = '.$this->userid; + } + + /** + * Return shipment number by month for a year + * + * @param int $year Year to scan + * @return array Array with number by month + */ + function getNbByMonth($year) + { + global $user; + + $sql = "SELECT date_format(d.datedon,'%m') as dm, COUNT(*) as nb"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE d.datedon BETWEEN '".$this->db->idate(dol_get_first_day($year))."' AND '".$this->db->idate(dol_get_last_day($year))."'"; + $sql.= " AND ".$this->where; + $sql.= " GROUP BY dm"; + $sql.= $this->db->order('dm','DESC'); + + $res=$this->_getNbByMonth($year, $sql); + return $res; + } + + /** + * Return shipments number per year + * + * @return array Array with number by year + * + */ + function getNbByYear() + { + global $user; + + $sql = "SELECT date_format(d.datedon,'%Y') as dm, COUNT(*) as nb, SUM(d.".$this->field.")"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE ".$this->where; + $sql.= " GROUP BY dm"; + $sql.= $this->db->order('dm','DESC'); + + return $this->_getNbByYear($sql); + } + + /** + * Return nb, total and average + * + * @return array Array of values + */ + function getAllByYear() + { + global $user; + + $sql = "SELECT date_format(d.datedon,'%Y') as year, COUNT(*) as nb, SUM(d.".$this->field.") as total, AVG(".$this->field.") as avg"; + $sql.= " FROM ".$this->from; + $sql.= " WHERE ".$this->where; + $sql.= " GROUP BY year"; + $sql.= $this->db->order('year','DESC'); + + return $this->_getAllByYear($sql); + } +} \ No newline at end of file diff --git a/htdocs/don/class/index.html b/htdocs/don/class/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/don/class/paymentdonation.class.php b/htdocs/don/class/paymentdonation.class.php new file mode 100644 index 00000000000..a6c56f9f235 --- /dev/null +++ b/htdocs/don/class/paymentdonation.class.php @@ -0,0 +1,593 @@ + + * + * This 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/don/class/paymentdonation.class.php + * \ingroup Donation + * \brief File of class to manage payment of donations + */ + +require_once DOL_DOCUMENT_ROOT.'/core/class/commonobject.class.php'; + + +/** \class PaymentDonation + * \brief Class to manage payments of donations + */ +class PaymentDonation extends CommonObject +{ + public $element='payment_donation'; //!< Id that identify managed objects + public $table_element='payment_donation'; //!< Name of table without prefix where object is stored + + var $id; + var $rowid; + var $ref; + + var $fk_donation; + var $datec=''; + var $tms=''; + var $datep=''; + var $amount; // Total amount of payment + var $amounts=array(); // Array of amounts + var $fk_typepayment; + var $num_payment; + var $note; + var $fk_bank; + var $fk_user_creat; + var $fk_user_modif; + + /** + * Constructor + * + * @param DoliDB $db Database handler + */ + function __construct($db) + { + $this->db = $db; + } + + /** + * Create payment of donation 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='ErrorBadValueForParameterCreatePaymentDonation'; + return -1; + } + + // Clean parameters + if (isset($this->fk_donation)) $this->fk_donation=trim($this->fk_donation); + if (isset($this->amount)) $this->amount=trim($this->amount); + 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)) $this->note=trim($this->note); + 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 = 0; + foreach ($this->amounts as $key => $value) // How payment is dispatch + { + $newvalue = price2num($value,'MT'); + $this->amounts[$key] = $newvalue; + $totalamount += $newvalue; + } + $totalamount = price2num($totalamount); + + // Check parameters + if ($totalamount == 0) return -1; // On accepte les montants negatifs pour les rejets de prelevement mais pas null + + + $this->db->begin(); + + if ($totalamount != 0) + { + $sql = "INSERT INTO ".MAIN_DB_PREFIX."payment_donation (fk_donation, datec, datep, amount,"; + $sql.= " fk_typepayment, num_payment, note, fk_user_creat, fk_bank)"; + $sql.= " VALUES ($this->chid, '".$this->db->idate($now)."',"; + $sql.= " '".$this->db->idate($this->datepaid)."',"; + $sql.= " ".$totalamount.","; + $sql.= " ".$this->paymenttype.", '".$this->db->escape($this->num_payment)."', '".$this->db->escape($this->note)."', ".$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_donation"); + } + else + { + $error++; + } + + } + + if ($totalamount != 0 && ! $error) + { + $this->amount=$totalamount; + $this->total=$totalamount; // deprecated + $this->db->commit(); + return $this->id; + } + else + { + $this->error=$this->db->error(); + $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_donation,"; + $sql.= " t.datec,"; + $sql.= " t.tms,"; + $sql.= " t.datep,"; + $sql.= " t.amount,"; + $sql.= " t.fk_typepayment,"; + $sql.= " t.num_payment,"; + $sql.= " t.note,"; + $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_donation 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_donation = $obj->fk_donation; + $this->datec = $this->db->jdate($obj->datec); + $this->tms = $this->db->jdate($obj->tms); + $this->datep = $this->db->jdate($obj->datep); + $this->amount = $obj->amount; + $this->fk_typepayment = $obj->fk_typepayment; + $this->num_payment = $obj->num_payment; + $this->note = $obj->note; + $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=null, $notrigger=0) + { + global $conf, $langs; + $error=0; + + // Clean parameters + + if (isset($this->fk_donation)) $this->fk_donation=trim($this->fk_donation); + if (isset($this->amount)) $this->amount=trim($this->amount); + 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)) $this->note=trim($this->note); + 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_donation SET"; + + $sql.= " fk_donation=".(isset($this->fk_donation)?$this->fk_donation:"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=".(isset($this->amount)?$this->amount:"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=".(isset($this->note)?"'".$this->db->escape($this->note)."'":"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_donation' 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_donation"; + $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; + } + } + + + + /** + * 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 PaymentDonation($this->db); + + $object->context['createfromclone'] = 'createfromclone'; + + $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) + { + + + + } + + unset($this->context['createfromclone']); + + // End + if (! $error) + { + $this->db->commit(); + return $object->id; + } + else + { + $this->db->rollback(); + 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() + { + $this->id=0; + + $this->fk_donation=''; + $this->datec=''; + $this->tms=''; + $this->datep=''; + $this->amount=''; + $this->fk_typepayment=''; + $this->num_payment=''; + $this->note=''; + $this->fk_bank=''; + $this->fk_user_creat=''; + $this->fk_user_modif=''; + + + } + + + /** + * 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_donation' + * @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_donation') $amount=$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, + $amount, + $this->num_payment, + '', + $user, + $emetteur_nom, + $emetteur_banque + ); + + // Update fk_bank in llx_paiement. + // On connait ainsi le paiement qui a genere l'ecriture bancaire + 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', 'payment_supplier', 'payment_donation' in bank_url between payment and bank transaction + $url=''; + if ($mode == 'payment_donation') $url=DOL_URL_ROOT.'/don/payment/card.php?rowid='; + if ($url) + { + $result=$acc->add_url_line($bank_line_id, $this->id, $url, '(paiement)', $mode); + if ($result <= 0) + { + $error++; + dol_print_error($this->db); + } + } + } + else + { + $this->error=$acc->error; + $error++; + } + } + + if (! $error) + { + return 1; + } + else + { + return -1; + } + } + + + /** + * Update link between the donation payment and the generated line 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_donation 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 picto eventually) + * + * @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 + */ + function getNomUrl($withpicto=0,$maxlen=0) + { + global $langs; + + $result=''; + + if (empty($this->ref)) $this->ref=$this->lib; + $label = $langs->trans("ShowPayment").': '.$this->ref; + + if (!empty($this->id)) + { + $link = ''; + $linkend=''; + + if ($withpicto) $result.=($link.img_object($label, 'payment', 'class="classfortooltip"').$linkend.' '); + if ($withpicto && $withpicto != 2) $result.=' '; + if ($withpicto != 2) $result.=$link.($maxlen?dol_trunc($this->ref,$maxlen):$this->ref).$linkend; + } + + return $result; + } +} \ No newline at end of file diff --git a/htdocs/don/index.html b/htdocs/don/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/compta/dons/index.php b/htdocs/don/index.php similarity index 96% rename from htdocs/compta/dons/index.php rename to htdocs/don/index.php index 100380bc128..b276e21dc50 100644 --- a/htdocs/compta/dons/index.php +++ b/htdocs/don/index.php @@ -18,13 +18,13 @@ */ /** - * \file htdocs/compta/dons/index.php - * \ingroup don - * \brief Home page of donation module + * \file htdocs/don/index.php + * \ingroup donations + * \brief Home page of donation module */ -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; $langs->load("donations"); diff --git a/htdocs/don/info.php b/htdocs/don/info.php new file mode 100644 index 00000000000..04cbae7a587 --- /dev/null +++ b/htdocs/don/info.php @@ -0,0 +1,62 @@ + + * + * This 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/don/info.php + * \ingroup donations + * \brief Page to show a donation information + */ + +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/donation.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; + +$langs->load("donations"); + +// Security check +$id = GETPOST('id','int'); +if ($user->societe_id) $socid=$user->societe_id; +$result = restrictedArea($user, 'don', $id, ''); + + +/* + * View + */ + +llxHeader(); + +if ($id) +{ + $object = new Don($db); + $object->fetch($id); + $object->info($id); + + $head = donation_prepare_head($object); + + dol_fiche_head($head, 'info', $langs->trans("Donation"), 0, 'bill'); + + print '
    '; + dol_print_object_info($object); + print '
    '; + + print ''; +} + +$db->close(); + +llxFooter(); diff --git a/htdocs/compta/dons/list.php b/htdocs/don/list.php similarity index 95% rename from htdocs/compta/dons/list.php rename to htdocs/don/list.php index 95011ca0b74..ee7a6f5e6f9 100644 --- a/htdocs/compta/dons/list.php +++ b/htdocs/don/list.php @@ -19,13 +19,13 @@ */ /** - * \file htdocs/compta/dons/list.php - * \ingroup don - * \brief Page de liste des dons + * \file htdocs/don/list.php + * \ingroup donations + * \brief List of donations */ -require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require '../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; if (! empty($conf->projet->enabled)) require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $langs->load("companies"); @@ -73,7 +73,7 @@ $sql = "SELECT d.rowid, d.datedon, d.firstname, d.lastname, d.societe,"; $sql.= " d.amount, d.fk_statut as statut, "; $sql.= " p.rowid as pid, p.ref, p.title, p.public"; $sql.= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."projet AS p"; -$sql.= " ON p.rowid = d.fk_don_projet WHERE 1 = 1"; +$sql.= " ON p.rowid = d.fk_project WHERE 1 = 1"; if ($statut >= 0) { $sql .= " AND d.fk_statut = ".$statut; @@ -125,7 +125,7 @@ if ($resql) if (! empty($conf->projet->enabled)) { $langs->load("projects"); - print_liste_field_titre($langs->trans("Project"),$_SERVER["PHP_SELF"],"fk_don_projet","&page=$page&statut=$statut","","",$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Project"),$_SERVER["PHP_SELF"],"fk_project","&page=$page&statut=$statut","","",$sortfield,$sortorder); } print_liste_field_titre($langs->trans("Amount"),$_SERVER["PHP_SELF"],"d.amount","&page=$page&statut=$statut","",'align="right"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"d.fk_statut","&page=$page&statut=$statut","",'align="right"',$sortfield,$sortorder); diff --git a/htdocs/don/payment/card.php b/htdocs/don/payment/card.php new file mode 100644 index 00000000000..3abff69a624 --- /dev/null +++ b/htdocs/don/payment/card.php @@ -0,0 +1,303 @@ + + * + * This 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/don/payment/card.php + * \ingroup donations + * \brief Tab payment of a donation + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/paymentdonation.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/modules/facture/modules_facture.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'); + +// Security check +$id=GETPOST('rowid')?GETPOST('rowid','int'):GETPOST('id','int'); +$action=GETPOST("action"); +$confirm=GETPOST('confirm'); +if ($user->societe_id) $socid=$user->societe_id; +// TODO Add rule to restrict access payment +//$result = restrictedArea($user, 'facture', $id,''); + +$payment = new PaymentDonation($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->don->supprimer) +{ + $db->begin(); + + $result = $payment->delete($user); + if ($result > 0) + { + $db->commit(); + header("Location: ".DOL_URL_ROOT."/don/index.php"); + exit; + } + else + { + setEventMessage($payment->error, 'errors'); + $db->rollback(); + } +} + +// Create payment +if ($action == 'confirm_valide' && $confirm == 'yes' && $user->rights->don->creer) +{ + $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(); + +$don = new Don($db); +$form = new Form($db); + +$h=0; + +$head[$h][0] = DOL_URL_ROOT.'/don/payment/card.php?id='.$id; +$head[$h][1] = $langs->trans("Card"); +$hselected = $h; +$h++; + +dol_fiche_head($head, $hselected, $langs->trans("DonationPayment"), 0, 'payment'); + +/* + * Confirm deleting 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 ''; + +// Note +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('Amount').''.price($payment->amount, 0, $outputlangs, 1, -1, -1, $conf->currency).'
    '.$langs->trans('Note').''.nl2br($payment->note).'
    '.$langs->trans('BankTransactionLine').''; + print $bankline->getNomUrl(1,0,'showall'); + print '
    '; + + +/* + * List of donations paid + */ + +$disable_delete = 0; +$sql = 'SELECT d.rowid as did, d.paid, d.amount as d_amount, pd.amount'; +$sql.= ' FROM '.MAIN_DB_PREFIX.'payment_donation as pd,'.MAIN_DB_PREFIX.'don as d'; +$sql.= ' WHERE pd.fk_donation = d.rowid'; +$sql.= ' AND d.entity = '.$conf->entity; +$sql.= ' AND pd.rowid = '.$id; + +dol_syslog("donations/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 "\n"; + + if ($num > 0) + { + $var=True; + + while ($i < $num) + { + $objp = $db->fetch_object($resql); + + $var=!$var; + print ''; + // Ref + print '\n"; + // 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; + $i++; + } + } + $var=!$var; + + print "
    '.$langs->trans('Donation').''.$langs->trans('ExpectedToPay').''.$langs->trans('Status').''.$langs->trans('PayedByThisPayment').'
    '; + $don->fetch($objp->did); + print $don->getNomUrl(1); + print "'.price($objp->d_amount).''.$don->getLibStatut(4,$objp->amount).''.price($objp->amount).'
    \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 ($_GET['action'] == '') +{ + if ($user->rights->don->supprimer) + { + if (! $disable_delete) + { + print ''.$langs->trans('Delete').''; + } + else + { + print ''.$langs->trans('Delete').''; + } + } +} + +print '
    '; + + + +llxFooter(); + +$db->close(); diff --git a/htdocs/don/payment/index.html b/htdocs/don/payment/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/don/payment/payment.php b/htdocs/don/payment/payment.php new file mode 100644 index 00000000000..52cf8f38a12 --- /dev/null +++ b/htdocs/don/payment/payment.php @@ -0,0 +1,313 @@ + + * + * This 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/don/payment.php + * \ingroup donations + * \brief Page to add payment of a donation + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/paymentdonation.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + +$langs->load("bills"); + +$chid=GETPOST("rowid"); +$action=GETPOST('action'); +$amounts = array(); + +// Security check +$socid=0; +if ($user->societe_id > 0) +{ + $socid = $user->societe_id; +} + + +/* + * Actions + */ + +if ($action == 'add_payment') +{ + $error=0; + + if ($_POST["cancel"]) + { + $loc = DOL_URL_ROOT.'/don/card.php?rowid='.$chid; + header("Location: ".$loc); + exit; + } + + $datepaid = dol_mktime(12, 0, 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]); + + if (! $_POST["paymenttype"] > 0) + { + $mesg = $langs->trans("ErrorFieldRequired",$langs->transnoentities("PaymentMode")); + $error++; + } + if ($datepaid == '') + { + $mesg = $langs->trans("ErrorFieldRequired",$langs->transnoentities("Date")); + $error++; + } + if (! empty($conf->banque->enabled) && ! $_POST["accountid"] > 0) + { + $mesg = $langs->trans("ErrorFieldRequired",$langs->transnoentities("AccountToCredit")); + $error++; + } + + if (! $error) + { + $paymentid = 0; + + // Read possible payments + foreach ($_POST as $key => $value) + { + if (substr($key,0,7) == 'amount_') + { + $other_chid = substr($key,7); + $amounts[$other_chid] = price2num($_POST[$key]); + } + } + + if (count($amounts) <= 0) + { + $error++; + $errmsg='ErrorNoPaymentDefined'; + } + + if (! $error) + { + $db->begin(); + + // Create a line of payments + $payment = new PaymentDonation($db); + $payment->chid = $chid; + $payment->datepaid = $datepaid; + $payment->amounts = $amounts; // Tableau de montant + $payment->paymenttype = $_POST["paymenttype"]; + $payment->num_payment = $_POST["num_payment"]; + $payment->note = $_POST["note"]; + + if (! $error) + { + $paymentid = $payment->create($user); + if ($paymentid < 0) + { + $errmsg=$payment->error; + $error++; + } + } + + if (! $error) + { + $result=$payment->addPaymentToBank($user,'payment_donation','(DonationPayment)',$_POST['accountid'],'',''); + if (! $result > 0) + { + $errmsg=$payment->error; + $error++; + } + } + + if (! $error) + { + $db->commit(); + $loc = DOL_URL_ROOT.'/don/card.php?rowid='.$chid; + header('Location: '.$loc); + exit; + } + else + { + $db->rollback(); + } + } + } + + $_GET["action"]='create'; +} + + +/* + * View + */ + +llxHeader(); + +$form=new Form($db); + + +// Form to create donation payment +if (GETPOST("action") == 'create') +{ + + $don = new Don($db); + $don->fetch($chid); + + $total = $don->amount; + + print_fiche_titre($langs->trans("DoPayment")); + print "
    \n"; + + if ($mesg) + { + print "
    $mesg
    "; + } + + print '
    '; + print ''; + print ''; + print ''; + print ''; + + print ''; + + print ''; + + print ''; + print '\n"; + print ''; + + $sql = "SELECT sum(p.amount) as total"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_donation as p"; + $sql.= " WHERE p.fk_donation = ".$chid; + $resql = $db->query($sql); + if ($resql) + { + $obj=$db->fetch_object($resql); + $sumpaid = $obj->total; + $db->free(); + } + print ''; + print ''; + + print ''; + print "'; + print ''; + + print '"; + print ''; + + print '\n"; + print ''; + + print ''; + print ''; + print ''; + + // Number + print ''; + print ''."\n"; + + print ''; + print ''; + print ''; + print ''; + + print '
    '.$langs->trans("Donation").'
    '.$langs->trans("Ref").''.$chid.'
    '.$langs->trans("Date")."".dol_print_date($don->date,'day')."
    '.$langs->trans("Amount")."".price($don->amount,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).'
    ".$langs->trans("Payment").'
    '.$langs->trans("Date").''; + $datepaid = dol_mktime(12, 0, 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]); + $datepayment=empty($conf->global->MAIN_AUTOFILL_DATE)?(empty($_POST["remonth"])?-1:$datepaid):0; + $form->select_date($datepayment,'','','','',"add_payment",1,1); + print "
    '.$langs->trans("PaymentMode").''; + $form->select_types_paiements(isset($_POST["paymenttype"])?$_POST["paymenttype"]:$don->paymenttype, "paymenttype"); + print "
    '.$langs->trans('AccountToCredit').''; + $form->select_comptes(isset($_POST["accountid"])?$_POST["accountid"]:$don->accountid, "accountid", 0, '',1); // Show open bank account list + print '
    '.$langs->trans('Numero'); + print ' ('.$langs->trans("ChequeOrTransferNumber").')'; + print '
    '.$langs->trans("Comments").'
    '; + + print '
    '; + + /* + * Autres charges impayees + */ + $num = 1; + $i = 0; + + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print "\n"; + + $var=true; + $total=0; + $totalrecu=0; + + while ($i < $num) + { + $objp = $don; + + $var=!$var; + + print ""; + + print '"; + + print '"; + + print '"; + + print '"; + + print "\n"; + $total+=$objp->total; + $total_ttc+=$objp->total_ttc; + $totalrecu+=$objp->am; + $i++; + } + if ($i > 1) + { + // Print total + print ""; + print ''; + print ""; + print ""; + print ""; + print ''; + print "\n"; + } + + print "
    '.$langs->trans("Amount").''.$langs->trans("AlreadyPaid").''.$langs->trans("RemainderToPay").''.$langs->trans("Amount").'
    '.price($objp->amount)."'.price($sumpaid)."'.price($objp->amount - $sumpaid)."'; + if ($sumpaid < $objp->amount) + { + $namef = "amount_".$objp->id; + print ''; + } + else + { + print '-'; + } + print "
    '.$langs->trans("Total").':".price($total_ttc)."".price($totalrecu)."".price($total_ttc - $totalrecu)." 
    "; + + print '
    '; + print ''; + print '     '; + print ''; + print '
    '; + + print "
    \n"; +} + + +$db->close(); + +llxFooter(); diff --git a/htdocs/don/stats/index.php b/htdocs/don/stats/index.php new file mode 100644 index 00000000000..91f4465f376 --- /dev/null +++ b/htdocs/don/stats/index.php @@ -0,0 +1,358 @@ + + * Copyright (C) 2004-2013 Laurent Destailleur + * Copyright (C) 2005-2009 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 + * 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/don/stats/index.php + * \ingroup donations + * \brief Page with donations statistics + */ + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/donstats.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/dolgraph.class.php'; + +$WIDTH=DolGraph::getDefaultGraphSizeForStats('width'); +$HEIGHT=DolGraph::getDefaultGraphSizeForStats('height'); + +$userid=GETPOST('userid','int'); +$socid=GETPOST('socid','int'); +// Security check +if ($user->societe_id > 0) +{ + $action = ''; + $socid = $user->societe_id; +} + +$nowyear=strftime("%Y", dol_now()); +$year = GETPOST('year')>0?GETPOST('year'):$nowyear; +//$startyear=$year-2; +$startyear=$year-1; +$endyear=$year; + +$langs->load("sendings"); +$langs->load("other"); + + +/* + * View + */ + +$form=new Form($db); + +llxHeader(); + +print_fiche_titre($langs->trans("StatisticsOfSendings"), $mesg); + + +dol_mkdir($dir); + +$stats = new DonationStats($db, $socid, $mode, ($userid>0?$userid:0)); + +// Build graphic number of object +$data = $stats->getNbByMonthWithPrevYear($endyear,$startyear); +//var_dump($data);exit; +// $data = array(array('Lib',val1,val2,val3),...) + + +if (!$user->rights->societe->client->voir || $user->societe_id) +{ + $filenamenb = $dir.'/shipmentsnbinyear-'.$user->id.'-'.$year.'.png'; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsnbinyear-'.$user->id.'-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsnbinyear-'.$user->id.'-'.$year.'.png'; +} +else +{ + $filenamenb = $dir.'/shipmentsnbinyear-'.$year.'.png'; + if ($mode == 'customer') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsnbinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlnb = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsnbinyear-'.$year.'.png'; +} + +$px1 = new DolGraph(); +$mesg = $px1->isGraphKo(); +if (! $mesg) +{ + $px1->SetData($data); + $px1->SetPrecisionY(0); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px1->SetLegend($legend); + $px1->SetMaxValue($px1->GetCeilMaxValue()); + $px1->SetMinValue(min(0,$px1->GetFloorMinValue())); + $px1->SetWidth($WIDTH); + $px1->SetHeight($HEIGHT); + $px1->SetYLabel($langs->trans("NbOfSendings")); + $px1->SetShading(3); + $px1->SetHorizTickIncrement(1); + $px1->SetPrecisionY(0); + $px1->mode='depth'; + $px1->SetTitle($langs->trans("NumberOfShipmentsByMonth")); + + $px1->draw($filenamenb,$fileurlnb); +} + +// Build graphic amount of object +/* +$data = $stats->getAmountByMonthWithPrevYear($endyear,$startyear); +//var_dump($data); +// $data = array(array('Lib',val1,val2,val3),...) + +if (!$user->rights->societe->client->voir || $user->societe_id) +{ + $filenameamount = $dir.'/shipmentsamountinyear-'.$user->id.'-'.$year.'.png'; + if ($mode == 'customer') $fileurlamount = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsamountinyear-'.$user->id.'-'.$year.'.png'; + if ($mode == 'supplier') $fileurlamount = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsamountinyear-'.$user->id.'-'.$year.'.png'; +} +else +{ + $filenameamount = $dir.'/shipmentsamountinyear-'.$year.'.png'; + if ($mode == 'customer') $fileurlamount = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsamountinyear-'.$year.'.png'; + if ($mode == 'supplier') $fileurlamount = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsamountinyear-'.$year.'.png'; +} + +$px2 = new DolGraph(); +$mesg = $px2->isGraphKo(); +if (! $mesg) +{ + $px2->SetData($data); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px2->SetLegend($legend); + $px2->SetMaxValue($px2->GetCeilMaxValue()); + $px2->SetMinValue(min(0,$px2->GetFloorMinValue())); + $px2->SetWidth($WIDTH); + $px2->SetHeight($HEIGHT); + $px2->SetYLabel($langs->trans("AmountOfShipments")); + $px2->SetShading(3); + $px2->SetHorizTickIncrement(1); + $px2->SetPrecisionY(0); + $px2->mode='depth'; + $px2->SetTitle($langs->trans("AmountOfShipmentsByMonthHT")); + + $px2->draw($filenameamount,$fileurlamount); +} +*/ + +/* +$data = $stats->getAverageByMonthWithPrevYear($endyear, $startyear); + +if (!$user->rights->societe->client->voir || $user->societe_id) +{ + $filename_avg = $dir.'/shipmentsaverage-'.$user->id.'-'.$year.'.png'; + if ($mode == 'customer') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsaverage-'.$user->id.'-'.$year.'.png'; + if ($mode == 'supplier') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsaverage-'.$user->id.'-'.$year.'.png'; +} +else +{ + $filename_avg = $dir.'/shipmentsaverage-'.$year.'.png'; + if ($mode == 'customer') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstats&file=shipmentsaverage-'.$year.'.png'; + if ($mode == 'supplier') $fileurl_avg = DOL_URL_ROOT.'/viewimage.php?modulepart=shipmentstatssupplier&file=shipmentsaverage-'.$year.'.png'; +} + +$px3 = new DolGraph(); +$mesg = $px3->isGraphKo(); +if (! $mesg) +{ + $px3->SetData($data); + $i=$startyear;$legend=array(); + while ($i <= $endyear) + { + $legend[]=$i; + $i++; + } + $px3->SetLegend($legend); + $px3->SetYLabel($langs->trans("AmountAverage")); + $px3->SetMaxValue($px3->GetCeilMaxValue()); + $px3->SetMinValue($px3->GetFloorMinValue()); + $px3->SetWidth($WIDTH); + $px3->SetHeight($HEIGHT); + $px3->SetShading(3); + $px3->SetHorizTickIncrement(1); + $px3->SetPrecisionY(0); + $px3->mode='depth'; + $px3->SetTitle($langs->trans("AmountAverage")); + + $px3->draw($filename_avg,$fileurl_avg); +} +*/ + + +// Show array +$data = $stats->getAllByYear(); +$arrayyears=array(); +foreach($data as $val) { + if (! empty($val['year'])) { + $arrayyears[$val['year']]=$val['year']; + } +} +if (! count($arrayyears)) $arrayyears[$nowyear]=$nowyear; + +$h=0; +$head = array(); +$head[$h][0] = DOL_URL_ROOT . '/don/stats/index.php?mode='.$mode; +$head[$h][1] = $langs->trans("ByMonthYear"); +$head[$h][2] = 'byyear'; +$h++; + +$type='donation_stats'; + +complete_head_from_modules($conf,$langs,null,$head,$h,$type); + +dol_fiche_head($head,'byyear',$langs->trans("Statistics")); + + +print '
    '; + + +//if (empty($socid)) +//{ + // Show filter box + print '
    '; + print ''; + print ''; + print ''; + // Company + print ''; + // User + print ''; + // Year + print ''; + print ''; + print '
    '.$langs->trans("Filter").'
    '.$langs->trans("ThirdParty").''; + if ($mode == 'customer') $filter='s.client in (1,2,3)'; + if ($mode == 'supplier') $filter='s.fournisseur = 1'; + print $form->select_company($socid,'socid',$filter,1); + print '
    '.$langs->trans("CreatedBy").''; + print $form->select_users($userid,'userid',1); + print '
    '.$langs->trans("Year").''; + if (! in_array($year,$arrayyears)) $arrayyears[$year]=$year; + if (! in_array($nowyear,$arrayyears)) $arrayyears[$nowyear]=$nowyear; + arsort($arrayyears); + print $form->selectarray('year',$arrayyears,$year,0); + print '
    '; + print '
    '; + print '

    '; +//} + +print ''; +print ''; +print ''; +print ''; +/*print ''; +print '';*/ +print ''; + +$oldyear=0; +foreach ($data as $val) +{ + $year = $val['year']; + while (! empty($year) && $oldyear > $year+1) + { // If we have empty year + $oldyear--; + print ''; + print ''; + + print ''; + /*print ''; + print '';*/ + print ''; + } + + print ''; + print ''; + print ''; + /*print ''; + print '';*/ + print ''; + $oldyear=$year; +} + +print '
    '.$langs->trans("Year").''.$langs->trans("NbOfSendings").''.$langs->trans("AmountTotal").''.$langs->trans("AmountAverage").'
    '.$oldyear.'000
    '.$year.''.$val['nb'].''.price(price2num($val['total'],'MT'),1).''.price(price2num($val['avg'],'MT'),1).'
    '; + + +print '
    '; + + +// Show graphs +print '
    '; +if ($mesg) { print $mesg; } +else { + print $px1->show(); + print "
    \n"; + /*print $px2->show(); + print "
    \n"; + print $px3->show();*/ +} +print '
    '; + + +print '
    '; +print '
    '; + +dol_fiche_end(); + + + +// TODO USe code similar to commande/stats/index.php instead of this one. +/* +print ''; +print ''; +print ''; + +$sql = "SELECT count(*) as nb, date_format(date_expedition,'%Y') as dm"; +$sql.= " FROM ".MAIN_DB_PREFIX."expedition"; +$sql.= " WHERE fk_statut > 0"; +$sql.= " AND entity = ".$conf->entity; +$sql.= " GROUP BY dm DESC"; + +$resql=$db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + while ($i < $num) + { + $row = $db->fetch_row($resql); + $nbproduct = $row[0]; + $year = $row[1]; + print ""; + print ''; + $i++; + } +} +$db->free($resql); + +print '
    '.$langs->trans("Year").''.$langs->trans("NbOfSendings").'
    '.$year.''.$nbproduct.'
    '; +*/ + +print '
    '; +print ''.$langs->trans("StatsOnShipmentsOnlyValidated").''; + +llxFooter(); + +$db->close(); diff --git a/htdocs/ecm/class/ecmdirectory.class.php b/htdocs/ecm/class/ecmdirectory.class.php index 63fe3d477e4..99b1441e658 100644 --- a/htdocs/ecm/class/ecmdirectory.class.php +++ b/htdocs/ecm/class/ecmdirectory.class.php @@ -400,7 +400,7 @@ class EcmDirectory // extends CommonObject /** * Return directory name you can click (and picto) * - * @param int $withpicto 0=Pas de picto, 1=Inclut le picto dans le lien, 2=Picto seul + * @param int $withpicto 0=Pas de picto, 1=Include picto into link, 2=Only picto * @param string $option Sur quoi pointe le lien * @param int $max Max length * @param string $more Add more param on a link @@ -416,19 +416,19 @@ class EcmDirectory // extends CommonObject $newlabel=$langs->trans("ShowECMSection").': '.$newref; $linkclose='"'.($more?' '.$more:'').' title="'.dol_escape_htmltag($newlabel, 1).'" class="classfortooltip">'; - $lien = 'load('orders'); $langs->load('stocks'); $langs->load('other'); $langs->load('propal'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); if (! empty($conf->productbatch->enabled)) $langs->load('productbatch'); $origin = GETPOST('origin','alpha')?GETPOST('origin','alpha'):'expedition'; // Example: commande, propal @@ -76,10 +77,7 @@ $hideref = (GETPOST('hideref','int') ? GETPOST('hideref','int') : (! empty($co $object = new Expedition($db); // Load object -if ($id > 0 || ! empty($ref)) -{ - $ret=$object->fetch($id, $ref); -} +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('expeditioncard','globalcard')); @@ -104,6 +102,12 @@ if (($action == 'create') || ($action == 'add')) } } +// Set incoterm +if ($action == 'set_incoterms' && !empty($conf->incoterm->enabled)) +{ + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); +} + $parameters=array(); $reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); @@ -143,6 +147,8 @@ if (empty($reshook)) $object->ref_int = GETPOST('ref_int','alpha'); $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'); $batch_line = array(); @@ -587,6 +593,16 @@ if ($action == 'create') print ''; print "\n"; + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:'')); + print ''; + } + // Other attributes $parameters=array('colspan' => ' colspan="3"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$expe,$action); // Note that $action and $object may have been modified by hook @@ -918,7 +934,7 @@ else if ($id || $ref) require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; $notify=new Notify($db); $text.='
    '; - $text.=$notify->confirmMessage('SHIPPING_VALIDATE',$object->socid); + $text.=$notify->confirmMessage('SHIPPING_VALIDATE',$object->socid, $object); } print $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$object->id,$langs->trans('ValidateSending'),$text,'confirm_valid','',0,1); @@ -1175,6 +1191,29 @@ else if ($id || $ref) print $form->editfieldval("TrackingNumber",'trackingnumber',$object->tracking_url,$object,$user->rights->expedition->creer,'string',$object->tracking_number); print ''; + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
    '; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->expedition->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 $parameters=array('colspan' => ' colspan="3"'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php index 062510f1aa8..868ade3a7e1 100644 --- a/htdocs/expedition/class/expedition.class.php +++ b/htdocs/expedition/class/expedition.class.php @@ -90,6 +90,10 @@ class Expedition extends CommonObject var $listmeths; // List of carriers + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip /** * Constructor @@ -214,6 +218,7 @@ class Expedition extends CommonObject $sql.= ", note_private"; $sql.= ", note_public"; $sql.= ", model_pdf"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ") VALUES ("; $sql.= "'(PROV)'"; $sql.= ", ".$conf->entity; @@ -236,6 +241,8 @@ class Expedition 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(get_class($this)."::create", LOG_DEBUG); @@ -426,8 +433,11 @@ class Expedition extends CommonObject $sql.= ", e.fk_shipping_method, e.tracking_number"; $sql.= ", el.fk_source as origin_id, el.sourcetype as origin"; $sql.= ", e.note_private, e.note_public"; + $sql.= ', e.fk_incoterms, e.location_incoterms'; + $sql.= ', i.libelle as libelle_incoterms'; $sql.= " FROM ".MAIN_DB_PREFIX."expedition as e"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."element_element as el ON el.fk_target = e.rowid AND el.targettype = '".$this->element."'"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON e.fk_incoterms = i.rowid'; $sql.= " WHERE e.entity = ".$conf->entity; if ($id) $sql.= " AND e.rowid=".$id; if ($ref) $sql.= " AND e.ref='".$this->db->escape($ref)."'"; @@ -480,6 +490,11 @@ class Expedition extends CommonObject $this->trueSize = $obj->size."x".$obj->width."x".$obj->height; $this->size_units = $obj->size_units; + //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; diff --git a/htdocs/expedition/class/expeditionbatch.class.php b/htdocs/expedition/class/expeditionbatch.class.php index cc5726ed0c8..fd424fc4990 100644 --- a/htdocs/expedition/class/expeditionbatch.class.php +++ b/htdocs/expedition/class/expeditionbatch.class.php @@ -32,9 +32,9 @@ class ExpeditionLineBatch extends CommonObject private static $_table_element='expeditiondet_batch'; //!< Name of table without prefix where object is stored var $id; - var $sellby=''; - var $eatby=''; - var $batch=''; + var $sellby; + var $eatby; + var $batch; var $dluo_qty; var $entrepot_id; var $fk_origin_stock; @@ -147,7 +147,7 @@ class ExpeditionLineBatch extends CommonObject /** * Delete batch record attach to a shipment * - * @param object $db Database object + * @param DoliDB $db Database object * @param int $id_expedition rowid of shipment * @return int -1 if KO, 1 if OK */ @@ -172,7 +172,7 @@ class ExpeditionLineBatch extends CommonObject /** * Retrieve all batch number details link to a shipment line * - * @param object $db Database object + * @param DoliDB $db Database object * @param int $id_line_expdet id of shipment line * @return variant -1 if KO, array of ExpeditionLineBatch if OK */ diff --git a/htdocs/expedition/shipment.php b/htdocs/expedition/shipment.php index 5712f64eba7..d29dc513e5c 100644 --- a/htdocs/expedition/shipment.php +++ b/htdocs/expedition/shipment.php @@ -402,7 +402,7 @@ if ($id > 0 || ! empty($ref)) print ''.$langs->trans("KeepToShip").''; if (! empty($conf->stock->enabled)) { - print ''.$langs->trans("Stock").''; + print ''.$langs->trans("RealStock").''; } else { diff --git a/htdocs/expensereport/ajax/ajaxprojet.php b/htdocs/expensereport/ajax/ajaxprojet.php index 77d22d1ac90..6b9dd7e062f 100755 --- a/htdocs/expensereport/ajax/ajaxprojet.php +++ b/htdocs/expensereport/ajax/ajaxprojet.php @@ -20,6 +20,7 @@ /** * \file htdocs/expensereport/ajax/ajaxprojet.php + * \ingroup expensereport * \brief File to return Ajax response on third parties request */ diff --git a/htdocs/expensereport/ajax/index.html b/htdocs/expensereport/ajax/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 86c113c24da..fad813a570b 100755 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -19,7 +19,8 @@ /** * \file htdocs/expensereport/card.php - * \brief Page for trip and expense card + * \ingroup expensereport + * \brief Page for trip and expense report card */ $res=0; @@ -109,7 +110,7 @@ if ($action == 'add' && $user->rights->expensereport->creer) $object->date_debut = $date_start; $object->date_fin = $date_end; - $object->fk_c_expensereport_statuts = 1; + $object->fk_statut = 1; $object->fk_c_paiement = GETPOST('fk_c_paiement','int'); $object->fk_user_validator = GETPOST('fk_user_validator','int'); $object->note_public = GETPOST('note_public'); @@ -151,7 +152,7 @@ if ($action == 'update' && $user->rights->expensereport->creer) $object->date_debut = $date_start; $object->date_fin = $date_end; - if($object->fk_c_expensereport_statuts < 3) + if($object->fk_statut < 3) { $object->fk_user_validator = GETPOST('fk_user_validator','int'); } @@ -733,12 +734,12 @@ if ($action == "confirm_paid" && GETPOST('confirm')=="yes" && $id > 0 && $user-> $insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user); if ($insertid > 0): - $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d"; $sql.= " SET integration_compta = 1, fk_bank_account = $idAccount"; $sql.= " WHERE rowid = $idTrip"; $resql=$db->query($sql); if($result): - Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id); + Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id); exit; else: dol_print_error($db); @@ -1135,7 +1136,7 @@ if ($action == 'create') print ''; print ''; } - + // Public note print ''; print '' . $langs->trans('NotePublic') . ''; @@ -1155,7 +1156,7 @@ if ($action == 'create') print $doleditor->Create(1); print ''; } - + print ''; print ''; @@ -1197,7 +1198,7 @@ else $head = expensereport_prepare_head($object); - if ($action == 'edit' && ($object->fk_c_expensereport_statuts < 3 || $object->fk_c_expensereport_statuts==99)) + if ($action == 'edit' && ($object->fk_statut < 3 || $object->fk_statut==99)) { print "
    \n"; print ''; @@ -1205,7 +1206,7 @@ else dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip'); - if($object->fk_c_expensereport_statuts==99) + if($object->fk_statut==99) { print ''; } @@ -1246,7 +1247,7 @@ else print ''; } - if($object->fk_c_expensereport_statuts<3) + if($object->fk_statut<3) { print ''; print ''.$langs->trans("VALIDATOR").''; // Approbator @@ -1275,7 +1276,7 @@ else $userfee->fetch($object->fk_user_author); print $userfee->getNomUrl(1); print ''; - if ($object->fk_c_expensereport_statuts==6) + if ($object->fk_statut==6) { print ''; print ''.$langs->trans("AUTHORPAIEMENT").''; @@ -1286,7 +1287,7 @@ else print ''; } - + // Public note print ''; print '' . $langs->trans('NotePublic') . ''; @@ -1295,7 +1296,7 @@ else $doleditor = new DolEditor('note_public', $object->note_public, '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print ''; - + // Private note if (empty($user->societe_id)) { print ''; @@ -1306,7 +1307,7 @@ else print $doleditor->Create(1); print ''; } - + print ''; dol_fiche_end(); @@ -1437,7 +1438,7 @@ else print ''.$langs->trans("DATE_SAVE").''; print ''.dol_print_date($object->date_create,'dayhour').''; print ''; - if($object->fk_c_expensereport_statuts==6) + if($object->fk_statut==6) { print ''; print ''.$langs->trans("AUTHORPAIEMENT").''; @@ -1452,7 +1453,7 @@ else print ''; } - if($object->fk_c_expensereport_statuts<3) // informed + if($object->fk_statut<3) // informed { print ''; print ''.$langs->trans("VALIDATOR").''; @@ -1465,7 +1466,7 @@ else } print ''; } - elseif($object->fk_c_expensereport_statuts==4) + elseif($object->fk_statut==4) { print ''; print ''.$langs->trans("CANCEL_USER").''; @@ -1504,7 +1505,7 @@ else print ''; } - if($object->fk_c_expensereport_statuts==99 || !empty($object->detail_refuse)) + if($object->fk_statut==99 || !empty($object->detail_refuse)) { print ''; print ''.$langs->trans("REFUSEUR").''; @@ -1529,9 +1530,9 @@ else $sql.= ' fde.fk_c_tva as vatrate, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref'; - $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde'; - $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id'; - $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det as fde'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON fde.fk_c_type_fees=ctf.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pjt ON fde.fk_projet=pjt.rowid'; $sql.= ' WHERE fde.fk_expensereport = '.$id; $resql = $db->query($sql); @@ -1566,7 +1567,7 @@ else print ''.$langs->trans('AmountTTC').''; } // Ajout des boutons de modification/suppression - if ($object->fk_c_expensereport_statuts < 2 || $object->fk_c_expensereport_statuts==99) + if ($object->fk_statut < 2 || $object->fk_statut==99) { print ''; } @@ -1609,7 +1610,7 @@ else } // Ajout des boutons de modification/suppression - if($object->fk_c_expensereport_statuts<2 OR $object->fk_c_expensereport_statuts==99) + if($object->fk_statut<2 OR $object->fk_statut==99) { print ''; print 'rowid.'#'.$objp->rowid.'">'; @@ -1689,7 +1690,7 @@ else //print ''; // Add a line - if (($object->fk_c_expensereport_statuts==0 || $object->fk_c_expensereport_statuts==99) && $action != 'editline') + if (($object->fk_statut==0 || $object->fk_statut==99) && $action != 'editline') { print_fiche_titre($langs->trans("AddLine"),'',''); @@ -1712,17 +1713,17 @@ else print ''; - // SƩlection date + // Select date print ''; $form->select_date($date?$date:-1,'date'); print ''; - // SƩlection projet + // Select project print ''; $formproject->select_projects(-1, GETPOST('fk_projet'), 'fk_projet', 0, 0, 1, 1); print ''; - // SƩlection type + // Select type print ''; select_type_fees_id(GETPOST('fk_c_type_fees'),'fk_c_type_fees',1); print ''; @@ -1732,7 +1733,7 @@ else print ''; print ''; - // SƩlection TVA + // Select VAT print ''; $defaultvat=-1; if (! empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none'; @@ -1747,7 +1748,7 @@ else print ''; print ''; - // QuantitƩ + // Quantity print ''; print ''; print ''; @@ -1799,7 +1800,7 @@ if ($action != 'create' && $action != 'edit') * ET fk_user_author == user courant * Afficher : "Enregistrer" / "Modifier" / "Supprimer" */ - if ($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==0) + if ($user->rights->expensereport->creer && $object->fk_statut==0) { if ($object->fk_user_author == $user->id) { @@ -1825,7 +1826,7 @@ if ($action != 'create' && $action != 'edit') * ET fk_user_author == user courant * Afficher : "Enregistrer" / "Modifier" / "Supprimer" */ - if($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==99) + if($user->rights->expensereport->creer && $object->fk_statut==99) { if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { @@ -1845,7 +1846,7 @@ if ($action != 'create' && $action != 'edit') } } - if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==5) + if ($user->rights->expensereport->to_paid && $object->fk_statut==5) { if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) { @@ -1859,7 +1860,7 @@ if ($action != 'create' && $action != 'edit') * ET fk_user_validator == user courant * Afficher : "Valider" / "Refuser" / "Supprimer" */ - if ($object->fk_c_expensereport_statuts == 2) + if ($object->fk_statut == 2) { if ($object->fk_user_author == $user->id) { @@ -1868,7 +1869,7 @@ if ($action != 'create' && $action != 'edit') } } - if ($user->rights->expensereport->approve && $object->fk_c_expensereport_statuts == 2) + if ($user->rights->expensereport->approve && $object->fk_statut == 2) { //if($object->fk_user_validator==$user->id) //{ @@ -1895,7 +1896,7 @@ if ($action != 'create' && $action != 'edit') * ET user Ơ droit de "to_paid" * Afficher : "Annuler" / "Payer" / "Supprimer" */ - if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts == 5) + if ($user->rights->expensereport->to_paid && $object->fk_statut == 5) { // Payer print ''.$langs->trans('TO_PAID').''; @@ -1918,7 +1919,7 @@ if ($action != 'create' && $action != 'edit') * ET user Ơ droit "to_paid" * Afficher : "Annuler" */ - if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==6) + if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_statut==6) { // Annuler print ''.$langs->trans('Cancel').''; @@ -1933,7 +1934,7 @@ if ($action != 'create' && $action != 'edit') * ET user Ơ droit "supprimer" * Afficher : "Supprimer" */ - if ($user->rights->expensereport->supprimer && $object->fk_c_expensereport_statuts==4) + if ($user->rights->expensereport->supprimer && $object->fk_statut==4) { if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid) @@ -1959,7 +1960,7 @@ print '
    '; /* * Documents generes */ -if($user->rights->expensereport->export && $object->fk_c_expensereport_statuts>0 && $action != 'edit') +if($user->rights->expensereport->export && $object->fk_statut>0 && $action != 'edit') { $filename = dol_sanitizeFileName($object->ref); $filedir = $conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref); diff --git a/htdocs/expensereport/class/expensereport.class.php b/htdocs/expensereport/class/expensereport.class.php index b31329fae95..0d30602987f 100755 --- a/htdocs/expensereport/class/expensereport.class.php +++ b/htdocs/expensereport/class/expensereport.class.php @@ -1,5 +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 . + */ + +/** + * \file htdocs/expensereport/class/expensereport.class.php + * \ingroup expensereport + * \brief File to manage Expense Reports + */ +require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; /** * Class to manage Trips and Expenses @@ -26,7 +48,7 @@ class ExpenseReport extends CommonObject var $fk_user_validator; var $status; - var $fk_c_expensereport_statuts; // -- 1=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied + var $fk_statut; // -- 1=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied var $fk_c_paiement; var $user_author_infos; @@ -133,7 +155,7 @@ class ExpenseReport extends CommonObject $sql.= ",date_create"; $sql.= ",fk_user_author"; $sql.= ",fk_user_validator"; - $sql.= ",fk_c_expensereport_statuts"; + $sql.= ",fk_statut"; $sql.= ",fk_c_paiement"; $sql.= ",note_public"; $sql.= ",note_private"; @@ -147,7 +169,7 @@ class ExpenseReport extends CommonObject $sql.= ", '".$this->db->idate($now)."'"; $sql.= ", ".($user->id > 0 ? $user->id:"null"); $sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null"); - $sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:0); + $sql.= ", ".($this->fk_statut > 1 ? $this->fk_statut:0); $sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null"); $sql.= ", ".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null"); $sql.= ", ".($this->note_private?"'".$this->db->escape($this->note_private)."'":"null"); @@ -231,7 +253,7 @@ class ExpenseReport extends CommonObject $sql.= " , fk_user_validator = ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null"); $sql.= " , fk_user_valid = ".($this->fk_user_valid > 0 ? $this->fk_user_valid:"null"); $sql.= " , fk_user_paid = ".($this->fk_user_paid > 0 ? $this->fk_user_paid:"null"); - $sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts >= 0 ? $this->fk_c_expensereport_statuts:'0'); + $sql.= " , fk_statut = ".($this->fk_statut >= 0 ? $this->fk_statut:'0'); $sql.= " , fk_c_paiement = ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null"); $sql.= " , note_public = ".(!empty($this->note_public)?"'".$this->db->escape($this->note_public)."'":"''"); $sql.= " , note_private = ".(!empty($this->note_private)?"'".$this->db->escape($this->note_private)."'":"''"); @@ -267,10 +289,10 @@ class ExpenseReport extends CommonObject $sql.= " d.date_refuse, d.date_cancel,"; // ACTIONS $sql.= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int) $sql.= " d.date_debut, d.date_fin, d.date_create, d.date_valid, d.date_approve, d.date_paiement,"; // DATES (datetime) - $sql.= " d.fk_user_author, d.fk_user_validator, d.fk_c_expensereport_statuts as status, d.fk_c_paiement,"; + $sql.= " d.fk_user_author, d.fk_user_validator, d.fk_statut as status, d.fk_c_paiement,"; $sql.= " d.fk_user_valid, d.fk_user_approve, d.fk_user_paid,"; $sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement - $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as dp ON d.fk_c_paiement = dp.id"; if ($ref) $sql.= " WHERE d.ref = '".$this->db->escape($ref)."'"; else $sql.= " WHERE d.rowid = ".$id; $sql.= $restrict; @@ -318,18 +340,18 @@ class ExpenseReport extends CommonObject if ($this->fk_user_validator > 0) $user_approver->fetch($this->fk_user_validator); $this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname); - $this->fk_c_expensereport_statuts = $obj->status; + $this->fk_statut = $obj->status; $this->status = $obj->status; $this->fk_c_paiement = $obj->fk_c_paiement; - if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6) + if ($this->fk_statut==5 || $this->fk_statut==6) { $user_valid = new User($this->db); if ($this->fk_user_valid > 0) $user_valid->fetch($this->fk_user_valid); $this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname); } - if ($this->fk_c_expensereport_statuts==6) + if ($this->fk_statut==6) { $user_paid = new User($this->db); if ($this->fk_user_paid > 0) $user_paid->fetch($this->fk_user_paid); @@ -497,7 +519,7 @@ class ExpenseReport extends CommonObject $this->date_approve = $now; $this->status = 5; - $this->fk_c_expensereport_statuts = 5; + $this->fk_statut = 5; $this->fk_user_author = $user->id; $this->fk_user_valid = $user->id; @@ -567,7 +589,7 @@ class ExpenseReport extends CommonObject $objp = $db->fetch_object($result); - $sql2 = "SELECT d.rowid, d.fk_user_author, d.ref, d.fk_c_expensereport_statuts"; + $sql2 = "SELECT d.rowid, d.fk_user_author, d.ref, d.fk_statut"; $sql2.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; $sql2.= " WHERE d.rowid = '".$objp->fk_expensereport."'"; @@ -576,7 +598,7 @@ class ExpenseReport extends CommonObject $objp->fk_user_author = $obj->fk_user_author; $objp->ref = $obj->ref; - $objp->fk_c_expensereport_status = $obj->fk_c_expensereport_statuts; + $objp->fk_c_expensereport_status = $obj->fk_statut; $objp->rowid = $obj->rowid; $total_HT = $total_HT + $objp->total_ht; @@ -707,8 +729,8 @@ class ExpenseReport extends CommonObject $sql.= ' ctf.code as code_type_fees, ctf.label as libelle_type_fees,'; $sql.= ' p.ref as ref_projet, p.title as title_projet'; $sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as de'; - $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON de.fk_c_type_fees = ctf.id'; - $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet p ON de.fk_projet = p.rowid'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON de.fk_c_type_fees = ctf.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as p ON de.fk_projet = p.rowid'; $sql.= ' WHERE de.'.$this->fk_element.' = '.$this->id; dol_syslog('ExpenseReport::fetch_lines sql='.$sql, LOG_DEBUG); @@ -831,10 +853,10 @@ class ExpenseReport extends CommonObject $this->ref = strtoupper($user->login).$expld_car.$prefix.$this->ref.$expld_car.dol_print_date($this->date_debut,'%y%m%d'); } - if ($this->fk_c_expensereport_statuts != 2) + if ($this->fk_statut != 2) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 2, fk_user_valid = ".$user->id.","; + $sql.= " SET ref = '".$this->ref."', fk_statut = 2, fk_user_valid = ".$user->id.","; $sql.= " ref_number_int = ".$ref_number_int; $sql.= ' WHERE rowid = '.$this->id; @@ -877,10 +899,10 @@ class ExpenseReport extends CommonObject $this->date_debut = $this->db->jdate($objp->date_debut); - if ($this->fk_c_expensereport_statuts != 2) + if ($this->fk_statut != 2) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 2"; + $sql.= " SET fk_statut = 2"; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG); @@ -913,10 +935,10 @@ class ExpenseReport extends CommonObject // date approval $this->date_approve = $this->db->idate($now); - if ($this->fk_c_expensereport_statuts != 5) + if ($this->fk_statut != 5) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 5, fk_user_approve = ".$user->id.","; + $sql.= " SET ref = '".$this->ref."', fk_statut = 5, fk_user_approve = ".$user->id.","; $sql.= " date_approve='".$this->date_approve."'"; $sql.= ' WHERE rowid = '.$this->id; if ($this->db->query($sql)) @@ -946,17 +968,17 @@ class ExpenseReport extends CommonObject $now = dol_now(); // date de refus - if ($this->fk_c_expensereport_statuts != 99) + if ($this->fk_statut != 99) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id.","; + $sql.= " SET ref = '".$this->ref."', fk_statut = 99, fk_user_refuse = ".$user->id.","; $sql.= " date_refuse='".$this->db->idate($now)."',"; $sql.= " detail_refuse='".$this->db->escape($details)."'"; $sql.= " fk_user_approve=NULL,"; $sql.= ' WHERE rowid = '.$this->id; if ($this->db->query($sql)) { - $this->fk_c_expensereport_statuts = 99; + $this->fk_statut = 99; $this->fk_user_refuse = $user->id; $this->detail_refuse = $details; $this->date_refuse = $now; @@ -985,10 +1007,10 @@ class ExpenseReport extends CommonObject $now= dol_now(); $this->date_paiement = $this->db->idate($now); - if ($this->fk_c_expensereport_statuts != 6) + if ($this->fk_statut != 6) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 6, fk_user_paid = ".$user->id.","; + $sql.= " SET fk_statut = 6, fk_user_paid = ".$user->id.","; $sql.= " date_paiement='".$this->db->idate($this->date_paiement)."'"; $sql.= ' WHERE rowid = '.$this->id; @@ -1020,7 +1042,7 @@ class ExpenseReport extends CommonObject if ($this->fk_c_deplacement_statuts != 5) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 5"; + $sql.= " SET fk_statut = 5"; $sql.= ' WHERE rowid = '.$this->id; dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG); @@ -1048,10 +1070,10 @@ class ExpenseReport extends CommonObject function set_cancel($user,$detail) { $this->date_cancel = $this->db->idate(gmmktime()); - if ($this->fk_c_expensereport_statuts != 4) + if ($this->fk_statut != 4) { $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; - $sql.= " SET fk_c_expensereport_statuts = 4, fk_user_cancel = ".$user->id; + $sql.= " SET fk_statut = 4, fk_user_cancel = ".$user->id; $sql.= ", date_cancel='".$this->date_cancel."'"; $sql.= " ,detail_cancel='".$this->db->escape($detail)."'"; $sql.= ' WHERE rowid = '.$this->id; @@ -1113,7 +1135,7 @@ class ExpenseReport extends CommonObject /** * 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) @@ -1122,16 +1144,16 @@ class ExpenseReport extends CommonObject $result=''; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='trip'; $label=$langs->trans("Show").': '.$this->ref; - if ($withpicto) $result.=($lien.img_object($label,$picto).$lienfin); + if ($withpicto) $result.=($link.img_object($label,$picto).$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$this->ref.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } @@ -1180,13 +1202,13 @@ class ExpenseReport extends CommonObject function updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $expensereport_id) { - if ($this->fk_c_expensereport_statuts==0 || $this->fk_c_expensereport_statuts==99) + if ($this->fk_statut==0 || $this->fk_statut==99) { $this->db->begin(); // Select du taux de tva par rapport au code $sql = "SELECT t.taux as taux_tva"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_tva t"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_tva as t"; $sql.= " WHERE t.rowid = ".$c_tva; $result = $this->db->query($sql); $objp_tva = $this->db->fetch_object($result); @@ -1222,7 +1244,7 @@ class ExpenseReport extends CommonObject // Select des infos sur le type fees $sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees c"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees as c"; $sql.= " WHERE c.id = ".$type_fees_id; $result = $this->db->query($sql); $objp_fees = $this->db->fetch_object($result); @@ -1231,7 +1253,7 @@ class ExpenseReport extends CommonObject // Select des informations du projet $sql = "SELECT p.ref as ref_projet, p.title as title_projet"; - $sql.= " FROM ".MAIN_DB_PREFIX."projet p"; + $sql.= " FROM ".MAIN_DB_PREFIX."projet as p"; $sql.= " WHERE p.rowid = ".$projet_id; $result = $this->db->query($sql); $objp_projet = $this->db->fetch_object($result); @@ -1404,6 +1426,39 @@ class ExpenseReport extends CommonObject return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + /** + * List of types + * + * @param int $active Active or not + * @return array + */ + function listOfTypes($active=1) + { + global $langs; + $ret=array(); + $sql = "SELECT id, code, label"; + $sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees"; + $sql.= " WHERE active = ".$active; + dol_syslog(get_class($this)."::listOfTypes", LOG_DEBUG); + $result = $this->db->query($sql); + if ( $result ) + { + $num = $this->db->num_rows($result); + $i=0; + while ($i < $num) + { + $obj = $this->db->fetch_object($result); + $ret[$obj->code]=(($langs->trans($obj->code)!=$obj->code)?$langs->trans($obj->code):$obj->label); + $i++; + } + } + else + { + dol_print_error($this->db); + } + return $ret; + } + } @@ -1460,9 +1515,9 @@ class ExpenseReportLine $sql.= ' fde.fk_c_tva as tva_taux, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref'; - $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde'; - $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id'; - $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det as fde'; + $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON fde.fk_c_type_fees=ctf.id'; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pjt ON fde.fk_projet=pjt.rowid'; $sql.= ' WHERE fde.rowid = '.$rowid; $result = $this->db->query($sql); @@ -1643,7 +1698,7 @@ class ExpenseReportLine * @param int $useempty 1=Add empty line * @return string HTML select with sattus */ -function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_statuts',$useempty=1) +function select_expensereport_statut($selected='',$htmlname='fk_statut',$useempty=1) { global $db; @@ -1708,4 +1763,4 @@ function select_type_fees_id($selected='',$htmlname='type',$showempty=0) } } print ''; -} +} \ No newline at end of file diff --git a/htdocs/expensereport/class/expensereportstats.class.php b/htdocs/expensereport/class/expensereportstats.class.php index 9536d59937d..57c970b9fc8 100644 --- a/htdocs/expensereport/class/expensereportstats.class.php +++ b/htdocs/expensereport/class/expensereportstats.class.php @@ -19,11 +19,11 @@ /** * \file htdocs/expensereport/class/expensereportstats.class.php - * \ingroup factures + * \ingroup expensereport * \brief Fichier de la classe de gestion des stats des expensereport et notes de frais */ include_once DOL_DOCUMENT_ROOT . '/core/class/stats.class.php'; -dol_include_once('/expensereport/class/expensereport.class.php'); +include_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; /** * Classe permettant la gestion des stats des expensereports et notes de frais @@ -59,7 +59,7 @@ class ExpenseReportStats extends Stats $this->from = MAIN_DB_PREFIX.$object->table_element; $this->field='total_ht'; - $this->where = " fk_c_expensereport_statuts > 0 and date_valid > '2000-01-01'"; + $this->where = " fk_statut > 0 and date_valid > '2000-01-01'"; //$this->where.= " AND entity = ".$conf->entity; if ($this->socid) { diff --git a/htdocs/expensereport/class/index.html b/htdocs/expensereport/class/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/expensereport/export_csv.php b/htdocs/expensereport/export_csv.php index 05036deaf7c..ba3621d1ac0 100755 --- a/htdocs/expensereport/export_csv.php +++ b/htdocs/expensereport/export_csv.php @@ -17,12 +17,13 @@ /** * \file htdocs/expensereport/index.php + * \ingroup expensereport * \brief Page list of expenses */ require '../main.inc.php'; -require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); -dol_include_once("/expensereport/class/expensereport.class.php"); +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; +require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; $langs->load("users"); $langs->load("trips"); diff --git a/htdocs/expensereport/index.html b/htdocs/expensereport/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/expensereport/index.php b/htdocs/expensereport/index.php index 89469609e2a..4af39adb633 100644 --- a/htdocs/expensereport/index.php +++ b/htdocs/expensereport/index.php @@ -21,12 +21,13 @@ /** * \file htdocs/expensereport/index.php + * \ingroup expensereport * \brief Page list of expenses */ require '../main.inc.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php'; -dol_include_once("/expensereport/class/expensereport.class.php"); +require_once DOL_DOCUMENT_ROOT . '/compta/tva/class/tva.class.php'; +require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; $langs->load("companies"); $langs->load("users"); @@ -111,8 +112,7 @@ print ''; print ''.$langs->trans("Statistics").''; print "\n"; -//$listoftype=$tripandexpense_static->listOfTypes(); -$listoftype=$label; +$listoftype=$tripandexpense_static->listOfTypes(); foreach ($listoftype as $code => $label) { $dataseries[]=array('label'=>$label,'data'=>(isset($somme[$code])?(int) $somme[$code]:0)); @@ -143,7 +143,7 @@ $max=10; $langs->load("boxes"); -$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_c_expensereport_statuts as fk_status"; +$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_statut as fk_status"; $sql.= " FROM ".MAIN_DB_PREFIX."expensereport 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_author"; @@ -187,8 +187,8 @@ if ($result) print ''; print ''.$expensereportstatic->getNomUrl(1).''; print ''.$userstatic->getNomUrl(1).''; - print ''.$obj->total_ht.''; - print ''.$obj->total_ttc.''; + print ''.price($obj->total_ht).''; + print ''.price($obj->total_ttc).''; print ''.dol_print_date($db->jdate($obj->dm),'day').''; print ''; //print $obj->libelle; diff --git a/htdocs/expensereport/info.php b/htdocs/expensereport/info.php index e548c6521d7..c1e0b598e7e 100644 --- a/htdocs/expensereport/info.php +++ b/htdocs/expensereport/info.php @@ -19,7 +19,7 @@ /** * \file htdocs/expensereport/info.php - * \ingroup trip + * \ingroup expensereport * \brief Page to show a trip information */ diff --git a/htdocs/expensereport/list.php b/htdocs/expensereport/list.php index d6700ac26a2..9ef9c05a328 100755 --- a/htdocs/expensereport/list.php +++ b/htdocs/expensereport/list.php @@ -21,12 +21,14 @@ /** * \file htdocs/expensereport/index.php - * \brief Page liste des expensereports + * \ingroup expensereport + * \brief list of expense reports */ require "../main.inc.php"; -dol_include_once("/expensereport/class/expensereport.class.php"); -require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php'; $langs->load("companies"); $langs->load("users"); @@ -39,7 +41,7 @@ $result = restrictedArea($user, 'expensereport','',''); $search_ref = GETPOST('search_ref'); $search_user = GETPOST('search_user','int'); -$search_state = GETPOST('search_state','int'); +$search_status = GETPOST('search_status','int'); $month_start = GETPOST("month_start","int"); $year_start = GETPOST("year_start","int"); $month_end = GETPOST("month_end","int"); @@ -49,7 +51,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both { $search_ref=""; $search_user=""; - $search_state=""; + $search_status=""; $month_start=""; $year_start=""; $month_end=""; @@ -69,13 +71,12 @@ llxHeader('', $langs->trans("ListOfTrips")); $max_year = 5; $min_year = 5; -$sortorder = $_GET["sortorder"]; -$sortfield = $_GET["sortfield"]; -$page = $_GET["page"]; +$sortorder = GETPOST("sortorder"); +$sortfield = GETPOST("sortfield"); +$page = GETPOST("page"); if (!$sortorder) $sortorder="DESC"; if (!$sortfield) $sortfield="d.date_debut"; - if ($page == -1) { $page = 0 ; } @@ -85,79 +86,53 @@ $offset = $limit * $page; $pageprev = $page - 1; $pagenext = $page + 1; -$sql = "SELECT d.rowid, d.ref, d.total_ht, d.total_tva, d.total_ttc, d.fk_c_expensereport_statuts as status,"; +$sql = "SELECT d.rowid, d.ref, d.total_ht, d.total_tva, d.total_ttc, d.fk_statut as status,"; $sql.= " d.date_debut, d.date_fin,"; $sql.= " u.rowid as id_user, u.firstname, u.lastname"; -$sql.= " FROM ".MAIN_DB_PREFIX."expensereport d\n"; -$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid\n"; +$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; +$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON d.fk_user_author = u.rowid"; - - -// WHERE +// Where if(!empty($search_ref)){ - $sql.= " WHERE d.ref LIKE '%".$db->escape($search_ref)."%'\n"; + $sql.= " WHERE d.ref LIKE '%".$db->escape($search_ref)."%'"; }else{ - $sql.= " WHERE 1 = 1\n"; + $sql.= " WHERE 1 = 1"; } -// DATE START -if ($month_start > 0) { - if ($year_start > 0) { - if($month_end > 0) { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; - $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; - } else { - $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; - $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; - } - } else { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; - $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; - } else { - $sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'"; - } - } - } else { - $sql.= " AND date_format(d.date_debut, '%m') >= '$month_start'"; - } -} else { - if ($year_start > 0) { - if($month_end > 0) { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; - } else { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; - } - } else { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; - } else { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - } - } - } else { - if($month_end > 0) { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'"; - } else { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'"; - } - } else { - if($year_end > 0) { - $sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'"; - $sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'"; - } - } - } +// Date Start +if ($month_start > 0) +{ + if ($year_start > 0 && empty($day)) + $sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_get_first_day($year_start,$month_start,false))."' AND '".$db->idate(dol_get_last_day($year_start,$month_start,false))."'"; + else if ($year_start > 0 && ! empty($day)) + $sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_start, $day, $year_start))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month_start, $day, $year_start))."'"; + else + $sql.= " AND date_format(d.date_debut, '%m') = '".$month_start."'"; } -if (!empty($search_user) && $search_user > 0) $sql.= " AND d.fk_user_author = ".$search_user."\n"; -if($search_state != '') $sql.= " AND d.fk_c_expensereport_statuts = '$search_state'\n"; +else if ($year_start > 0) +{ + $sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_get_first_day($year_start,1,false))."' AND '".$db->idate(dol_get_last_day($year_start,12,false))."'"; +} +// Date Start +if ($month_end > 0) +{ + if ($year_end > 0 && empty($day)) + $sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_get_first_day($year_end,$month_end,false))."' AND '".$db->idate(dol_get_last_day($year_end,$month_end,false))."'"; + else if ($year_end > 0 && ! empty($day)) + $sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_end, $day, $year_end))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month_end, $day, $year_end))."'"; + else + $sql.= " AND date_format(d.date_fin, '%m') = '".$month_end."'"; +} +else if ($year_end > 0) +{ + $sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_get_first_day($year_end,1,false))."' AND '".$db->idate(dol_get_last_day($year_end,12,false))."'"; +} +// User +if ($search_name) +{ + $sql .= natural_search('u.lastname', $search_name); +} +// Status +if($search_status != '') $sql.= " AND d.fk_statut = '".$search_status."'"; // RESTRICT RIGHTS if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous)) @@ -219,17 +194,13 @@ if ($resql) print ' '; } - print ' '; - print ' '; - - print ''; - print ""; + print ' '; // Status print ''; - select_expensereport_statut($search_state,'search_state'); + select_expensereport_statut($search_status,'search_status'); print ''; print ''; @@ -257,10 +228,6 @@ if ($resql) print ''.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').''; print ''.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').''; print ''.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).''; - /*print ''.price($objp->total_tva, '', $langs, 0, 'MT', 0, $conf->currency).''; - print ''.price($objp->total_ht, '', $langs, 0, 'MT', 0, $conf->currency).''; - print ''.price($objp->total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).''; - */ print ''.price($objp->total_ht).''; print ''.price($objp->total_tva).''; print ''.price($objp->total_ttc).''; @@ -281,11 +248,7 @@ if ($resql) print ''; print ''.$langs->trans("Total").''; - /* - print ''.price($total_total_tva, '', $langs, 0, 'MT', 0, $conf->currency).''; - print ''.price($total_total_ht, '', $langs, 0, 'MT', 0, $conf->currency).''; - print ''.price($total_total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).''; - */ + print ''.$total_total_ht.''; print ''.$total_total_tva.''; print ''.$total_total_ttc.''; diff --git a/htdocs/expensereport/stats/index.html b/htdocs/expensereport/stats/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/expensereport/synchro_compta.php b/htdocs/expensereport/synchro_compta.php index b8f7760e409..58fcbaee301 100755 --- a/htdocs/expensereport/synchro_compta.php +++ b/htdocs/expensereport/synchro_compta.php @@ -16,8 +16,8 @@ */ require '../main.inc.php'; -require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'); -dol_include_once("/expensereport/class/expensereport.class.php"); +require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php'; +require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; $langs->load("companies"); $langs->load("users"); @@ -49,12 +49,12 @@ if ($_GET["action"] == 'confirm_ndf_to_account' && $_GET["confirm"] == "yes"): $insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user); if ($insertid > 0): - $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d"; $sql.= " SET integration_compta = 1, fk_bank_account = $idAccount"; $sql.= " WHERE rowid = $idTrip"; $resql=$db->query($sql); if($result): - Header("Location: synchro_compta.php?account=".$idAccount); + Header("Location: ".$_SERVER["PHP_SELF"]."?account=".$idAccount); exit; else: dol_print_error($db); @@ -75,12 +75,12 @@ if ($_GET["action"] == 'confirm_account_to_ndf' && $_GET["confirm"] == "yes"): $sql.= " WHERE label LIKE '%".$expensereport->ref."%'"; $resql=$db->query($sql); if ($resql > 0): - $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d"; + $sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d"; $sql.= " SET integration_compta = 0, fk_bank_account = 0"; $sql.= " WHERE rowid = $idTrip"; $resql=$db->query($sql); if($result): - Header("Location: synchro_compta.php?account=".$idAccount); + Header("Location: ".$_SERVER["PHP_SELF"]."?account=".$idAccount); exit; else: dol_print_error($db); @@ -110,13 +110,13 @@ dol_fiche_head(''); if ($_GET["action"] == 'ndfTOaccount'): $idTrip = $_GET['idTrip']; - $ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1); + $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1); if ($ret == 'html') print '
    '; endif; if ($_GET["action"] == 'accountTOndf'): $idTrip = $_GET['idTrip']; - $ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1); + $ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1); if ($ret == 'html') print '
    '; endif; @@ -136,11 +136,11 @@ else: print ' '; print ""; - $sql = "SELECT d.fk_bank_account, d.ref, d.rowid, d.date_valid, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_c_expensereport_statuts"; + $sql = "SELECT d.fk_bank_account, d.ref, d.rowid, d.date_valid, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_statut"; $sql.= " ,CONCAT(u.firstname,' ',u.lastname) as declarant_NDF"; - $sql.= " FROM ".MAIN_DB_PREFIX."expensereport d"; - $sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid"; - $sql.= " WHERE d.fk_c_expensereport_statuts = 6"; + $sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d"; + $sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON d.fk_user_author = u.rowid"; + $sql.= " WHERE d.fk_statut = 6"; $sql.= " ORDER BY d.date_valid DESC"; $resql=$db->query($sql); @@ -200,7 +200,7 @@ else: print ""; else: - print '
    '.$langs->trans("AucuneTripToSynch").'
    '; + print '
    '.$langs->trans("NoTripToSync").'
    '; endif; $db->free($resql); diff --git a/htdocs/exports/class/export.class.php b/htdocs/exports/class/export.class.php index d332592da6d..fd360ab35bf 100644 --- a/htdocs/exports/class/export.class.php +++ b/htdocs/exports/class/export.class.php @@ -337,13 +337,15 @@ class Export /** * Build an input field used to filter the query * - * @param string $TypeField Type of Field to filter + * @param string $TypeField Type of Field to filter. Example: Text, List:c_country:label:rowid, List:c_stcom:label:code, Number, Boolean * @param string $NameField Name of the field to filter * @param string $ValueField Initial value of the field to filter * @return string html string of the input field ex : "" */ function build_filterField($TypeField, $NameField, $ValueField) { + global $langs; + $szFilterField=''; $InfoFieldList = explode(":", $TypeField); @@ -354,7 +356,7 @@ class Export case 'Date': case 'Duree': case 'Numeric': - $szFilterField='"; + $szFilterField=''; break; case 'Boolean': $szFilterField='"; - $this->db->free(); + $this->db->free($resql); } + else dol_print_error($this->db); break; } @@ -524,7 +540,10 @@ class Export if ($resql) { //$this->array_export_label[$indice] - $filename="export_".$datatoexport; + if ($conf->global->EXPORT_PREFIX_SPEC) + $filename=$conf->global->EXPORT_PREFIX_SPEC."_".$datatoexport; + else + $filename="export_".$datatoexport; $filename.='.'.$objmodel->getDriverExtension(); $dirname=$conf->export->dir_temp.'/'.$user->id; diff --git a/htdocs/exports/export.php b/htdocs/exports/export.php index ca997f0eb59..5c3400e5375 100644 --- a/htdocs/exports/export.php +++ b/htdocs/exports/export.php @@ -97,7 +97,7 @@ $entitytolang = array( 'project' => 'Projects', 'projecttask' => 'Tasks', 'task_time' => 'TaskTimeSpent', - 'action' => 'Action', + 'action' => 'Event', 'expensereport'=> 'ExpenseReport', 'expensereport_line'=> 'ExpenseReportLine', ); diff --git a/htdocs/fichinter/card.php b/htdocs/fichinter/card.php index 661ffc9af30..9eb9b243830 100644 --- a/htdocs/fichinter/card.php +++ b/htdocs/fichinter/card.php @@ -1210,7 +1210,9 @@ else if ($id > 0 || ! empty($ref)) 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 diff --git a/htdocs/fichinter/class/fichinter.class.php b/htdocs/fichinter/class/fichinter.class.php index 7be3b0bf3bd..baf2555a905 100644 --- a/htdocs/fichinter/class/fichinter.class.php +++ b/htdocs/fichinter/class/fichinter.class.php @@ -551,15 +551,15 @@ class Fichinter extends CommonObject if (! empty($this->ref)) $label .= '
    ' . $langs->trans('Ref') . ': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='intervention'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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; } @@ -1022,7 +1022,6 @@ class FichinterLigne extends CommonObjectLine var $error; // From llx_fichinterdet - var $rowid; var $fk_fichinter; var $desc; // Description ligne var $datei; // Date intervention diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 7343e65c854..15bee891775 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -83,7 +83,6 @@ if (! empty($dolibarr_strict_mode)) } else { - if (! defined('E_DEPRECATED')) define('E_DEPRECATED',0); // For PHP < 5.3.0 compatibility error_reporting(E_ALL & ~(E_STRICT|E_NOTICE|E_DEPRECATED)); } diff --git a/htdocs/fourn/ajax/getSupplierPrices.php b/htdocs/fourn/ajax/getSupplierPrices.php index e3bb29ad228..c39acd9dd29 100644 --- a/htdocs/fourn/ajax/getSupplierPrices.php +++ b/htdocs/fourn/ajax/getSupplierPrices.php @@ -70,7 +70,7 @@ if ($idprod > 0) if ($num) { - require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; + require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; $i = 0; while ($i < $num) { diff --git a/htdocs/fourn/card.php b/htdocs/fourn/card.php index 3f0636e324a..97004783ae6 100644 --- a/htdocs/fourn/card.php +++ b/htdocs/fourn/card.php @@ -5,6 +5,7 @@ * Copyright (C) 2005-2010 Regis Houssin * Copyright (C) 2010-2014 Juanjo Menent * Copyright (C) 2014 Jean Heimburger + * 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,6 +32,7 @@ require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; if (! empty($conf->adherent->enabled)) require_once DOL_DOCUMENT_ROOT.'/adherents/class/adherent.class.php'; $langs->load('suppliers'); @@ -49,10 +51,15 @@ if ($user->societe_id) $id=$user->societe_id; $result = restrictedArea($user, 'societe&fournisseur', $id, '&societe'); $object = new Fournisseur($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('suppliercard','globalcard')); + /* * Action */ @@ -111,8 +118,8 @@ if ($id > 0 && empty($object->id)) if ($object->id > 0) { - $title=$langs->trans("SupplierCard"); - if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name; + $title=$langs->trans("ThirdParty")." - ".$langs->trans('SupplierCard'); + if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$langs->trans('SupplierCard'); $help_url=''; llxHeader('',$title, $help_url); @@ -128,7 +135,6 @@ if ($object->id > 0) print ''; print ''; @@ -251,7 +257,16 @@ if ($object->id > 0) print ""; print ''; - // Module Adherent + // 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); + } + + // Module Adherent if (! empty($conf->adherent->enabled)) { $langs->load("members"); @@ -290,6 +305,8 @@ if ($object->id > 0) print '
    '.$langs->trans("ThirdPartyName").''; - $object->next_prev_filter="te.fournisseur = 1"; print $form->showrefnav($object,'socid','',($user->societe_id?0:1),'rowid','nom','',''); print '
    '.$langs->trans("ShowSupplierPreview").'
    '; print ''; print ''; + print '
    '; + /* * List of products @@ -299,14 +316,53 @@ if ($object->id > 0) $langs->load("products"); print ''; print ''; - print '
    '.$langs->trans("ProductsAndServices").''; + print ''.$langs->trans("ProductsAndServices").''; print ''.$langs->trans("All").' '.$object->nbOfProductRefs().''; - print '
    '; + print ''; + + //Query from product/liste.php + $sql = 'SELECT p.rowid, p.ref, p.label, pfp.tms,'; + $sql.= ' p.fk_product_type'; + $sql.= ' FROM '.MAIN_DB_PREFIX.'product_fournisseur_price as pfp'; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = pfp.fk_product"; + $sql.= ' WHERE p.entity IN ('.getEntity('product', 1).')'; + $sql.= ' AND pfp.fk_soc = '.$object->id; + $sql .= $db->order('pfp.tms', 'desc'); + $sql.= $db->plimit($MAXLIST); + + $query = $db->query($sql); + + $return = array(); + + if ($db->num_rows($query)) { + + $productstatic = new Product($db); + + while ($objp = $db->fetch_object($query)) { + + $var=!$var; + + $productstatic->id = $objp->rowid; + $productstatic->ref = $objp->ref; + $productstatic->label = $objp->label; + $productstatic->type = $objp->fk_product_type; + + print ""; + print ''; + print $productstatic->getNomUrl(1); + print ''; + print ''; + print dol_trunc(dol_htmlentities($objp->label), 30); + print ''; + print ''.dol_print_date($objp->tms).''; + print ''; + } + } + + print ''; } - print '
    '; - /* * Last orders */ @@ -314,8 +370,6 @@ if ($object->id > 0) if ($user->rights->fournisseur->commande->lire) { - - // TODO move to DAO class // Check if there are supplier orders billable $sql2 = 'SELECT s.nom, s.rowid as socid, s.client, c.rowid, c.ref, c.total_ht, c.ref_supplier,'; @@ -499,6 +553,12 @@ if ($object->id > 0) print ''.$langs->trans("AddBill").''; } + if ($conf->askpricesupplier->enabled && $user->rights->askpricesupplier->creer) + { + $langs->load("askpricesupplier"); + print ''.$langs->trans("AddAskPriceSupplier").''; + } + if ($user->rights->fournisseur->facture->creer) { if (! empty($orders2invoice) && $orders2invoice > 0) print ''; diff --git a/htdocs/fourn/class/fournisseur.class.php b/htdocs/fourn/class/fournisseur.class.php index 35620bf91fb..5fc0b3e43dd 100644 --- a/htdocs/fourn/class/fournisseur.class.php +++ b/htdocs/fourn/class/fournisseur.class.php @@ -35,6 +35,9 @@ class Fournisseur extends Societe { var $db; + var $next_prev_filter="te.fournisseur = 1"; // Used to add a filter in Form::showrefnav method + + /** * Constructor * diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php index e626760f83e..52c215de6a4 100644 --- a/htdocs/fourn/class/fournisseur.commande.class.php +++ b/htdocs/fourn/class/fournisseur.commande.class.php @@ -86,25 +86,40 @@ class CommandeFournisseur extends CommonOrder var $user_valid_id; var $user_approve_id; + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip + var $extraparams=array(); + /** + * @var CommandeFournisseurLigne[] + */ + public $lines = array(); + //Ajout pour askpricesupplier + var $origin; + var $origin_id; + var $linked_objects=array(); - /** + /** * Constructor * * @param DoliDB $db Database handler */ function __construct($db) { + global $conf; + $this->db = $db; $this->products = array(); - $this->lines = array(); // List of language codes for status $this->statuts[0] = 'StatusOrderDraft'; $this->statuts[1] = 'StatusOrderValidated'; $this->statuts[2] = 'StatusOrderApproved'; - $this->statuts[3] = 'StatusOrderOnProcess'; + if (empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) $this->statuts[3] = 'StatusOrderOnProcess'; + else $this->statuts[3] = 'StatusOrderOnProcessWithValidation'; $this->statuts[4] = 'StatusOrderReceivedPartially'; $this->statuts[5] = 'StatusOrderReceivedAll'; $this->statuts[6] = 'StatusOrderCanceled'; // Approved->Canceled @@ -137,10 +152,13 @@ class CommandeFournisseur extends CommonOrder $sql.= " cm.libelle as methode_commande,"; $sql.= " cr.code as cond_reglement_code, cr.libelle as cond_reglement_libelle,"; $sql.= " p.code as mode_reglement_code, p.libelle as mode_reglement_libelle"; + $sql.= ', c.fk_incoterms, c.location_incoterms'; + $sql.= ', i.libelle as libelle_incoterms'; $sql.= " FROM ".MAIN_DB_PREFIX."commande_fournisseur as c"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_payment_term as cr ON (c.fk_cond_reglement = cr.rowid)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as p ON (c.fk_mode_reglement = p.id)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_input_method as cm ON cm.rowid = c.fk_input_method"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON c.fk_incoterms = i.rowid'; $sql.= " WHERE c.entity = ".$conf->entity; if ($ref) $sql.= " AND c.ref='".$this->db->escape($ref)."'"; else $sql.= " AND c.rowid=".$id; @@ -196,6 +214,11 @@ class CommandeFournisseur extends CommonOrder $this->note_public = $obj->note_public; $this->modelpdf = $obj->model_pdf; + //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->db->free($resql); @@ -237,14 +260,14 @@ class CommandeFournisseur extends CommonOrder $line = new CommandeFournisseurLigne($this->db); $line->id = $objp->rowid; - $line->desc = $objp->description; // Description ligne - $line->description = $objp->description; // Description ligne + $line->desc = $objp->description; + $line->description = $objp->description; $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; // deprecated - $line->pu_ht = $objp->subprice; // Unit price HT + $line->subprice = $objp->subprice; + $line->pu_ht = $objp->subprice; $line->remise_percent = $objp->remise_percent; $line->total_ht = $objp->total_ht; $line->total_tva = $objp->total_tva; @@ -253,16 +276,16 @@ class CommandeFournisseur extends CommonOrder $line->total_ttc = $objp->total_ttc; $line->product_type = $objp->product_type; - $line->fk_product = $objp->fk_product; // Id du produit + $line->fk_product = $objp->fk_product; - $line->libelle = $objp->product_label; // TODO deprecated - $line->product_label = $objp->product_label; // Label produit - $line->product_desc = $objp->product_desc; // Description produit + $line->libelle = $objp->product_label; + $line->product_label = $objp->product_label; + $line->product_desc = $objp->product_desc; - $line->ref = $objp->product_ref; // TODO deprecated - $line->product_ref = $objp->product_ref; // Internal reference - $line->ref_fourn = $objp->ref_supplier; // TODO deprecated - $line->ref_supplier = $objp->ref_supplier; // Reference supplier + $line->ref = $objp->product_ref; + $line->product_ref = $objp->product_ref; + $line->ref_fourn = $objp->ref_supplier; + $line->ref_supplier = $objp->ref_supplier; $line->date_start = $this->db->jdate($objp->date_start); $line->date_end = $this->db->jdate($objp->date_end); @@ -526,9 +549,9 @@ class CommandeFournisseur extends CommonOrder /** - * 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 */ @@ -549,14 +572,14 @@ class CommandeFournisseur extends CommonOrder if (! empty($this->total_ttc)) $label.= '
    ' . $langs->trans('AmountTTC') . ': ' . price($this->total_ttc, 0, $langs, 0, -1, -1, $conf->currency); - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='order'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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; } @@ -920,6 +943,7 @@ class CommandeFournisseur extends CommonOrder $sql.= ", fk_mode_reglement"; $sql.= ", fk_cond_reglement"; $sql.= ", fk_account"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ") "; $sql.= " VALUES ("; $sql.= "''"; @@ -937,6 +961,8 @@ class CommandeFournisseur extends CommonOrder $sql.= ", ".($this->mode_reglement_id > 0 ? $this->mode_reglement_id : 'null'); $sql.= ", ".($this->cond_reglement_id > 0 ? $this->cond_reglement_id : 'null'); $sql.= ", ".($this->fk_account>0?$this->fk_account:'NULL'); + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -984,30 +1010,27 @@ class CommandeFournisseur extends CommonOrder // Add entry into log $this->log($user, 0, $now); - if (! $error) + // Add link with price request and supplier order + if ($this->id) { - $action='create'; + $this->ref="(PROV".$this->id.")"; - // Actions on extra fields (by external module or standard code) - // FIXME le hook fait double emploi avec le trigger !! - $hookmanager->initHooks(array('supplierorderdao')); - $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++; + // Add object linked + if (is_array($this->linked_objects) && ! empty($this->linked_objects)) + { + foreach($this->linked_objects as $origin => $origin_id) + { + $ret = $this->add_object_linked($origin, $origin_id); + if (! $ret) + { + dol_print_error($this->db); + $error++; + } + } + } } - if (! $notrigger) + if (! $error && ! $notrigger) { // Call trigger $result=$this->call_trigger('ORDER_SUPPLIER_CREATE',$user); @@ -1024,7 +1047,7 @@ class CommandeFournisseur extends CommonOrder } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -2; } @@ -1032,7 +1055,7 @@ class CommandeFournisseur extends CommonOrder } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); $this->db->rollback(); return -1; } @@ -1521,6 +1544,10 @@ class CommandeFournisseur extends CommonOrder } } + // Delete linked object + $res = $this->deleteObjectLinked(); + if ($res < 0) $error++; + if (! $error) { // We remove directory @@ -1596,19 +1623,64 @@ class CommandeFournisseur extends CommonOrder } } + /** + * Return array of dispathed lines waiting to be approved for this order + * + * @param int $status Filter on stats (-1 = no filter, 0 = lines draft to be approved, 1 = approved lines) + * @return array Array of lines + */ + function getDispachedLines($status=-1) + { + $ret = array(); + + // List of already dispatched lines + $sql = "SELECT p.ref, p.label,"; + $sql.= " e.rowid as warehouse_id, e.label as entrepot,"; + $sql.= " cfd.rowid as dispatchlineid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; + $sql.= " FROM ".MAIN_DB_PREFIX."product as p,"; + $sql.= " ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; + $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entrepot as e ON cfd.fk_entrepot = e.rowid"; + $sql.= " WHERE cfd.fk_commande = ".$this->id; + $sql.= " AND cfd.fk_product = p.rowid"; + if ($status >= 0) $sql.=" AND cfd.status = ".$status; + $sql.= " ORDER BY cfd.rowid ASC"; + + $resql = $this->db->query($sql); + if ($resql) + { + $num = $this->db->num_rows($resql); + $i = 0; + + while ($i < $num) + { + $objp = $this->db->fetch_object($resql); + if ($objp) $ret[]=array('id'=>$objp->dispatchedlineid, 'productid'=>$objp->fk_product, 'warehouseid'=>$objp->warehouse_id); + + $i++; + } + } + else dol_print_error($this->db, 'Failed to execute request to get dispatched lines'); + + return $ret; + } + + /** * Set a delivery in database for this supplier order * * @param User $user User that input data * @param date $date Date of reception - * @param string $type Type of receipt + * @param string $type Type of receipt ('tot' = total/done, 'par' = partial, 'nev' = never, 'can' = cancel) * @param string $comment Comment * @return int <0 if KO, >0 if OK */ function Livraison($user, $date, $type, $comment) { + global $conf; + $result = 0; - + $error = 0; + dol_syslog(get_class($this)."::Livraison"); if ($user->rights->fournisseur->commande->receptionner) @@ -1618,7 +1690,27 @@ class CommandeFournisseur extends CommonOrder if ($type == 'nev') $statut = 7; if ($type == 'can') $statut = 7; - if ($statut == 4 or $statut == 5 or $statut == 7) + if (! $error && ! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS) && ($type == 'tot')) + { + // If option SUPPLIER_ORDER_USE_DISPATCH_STATUS is on, we check all reception are approved to allow status "total/done" + $dispatchedlinearray=$this->getDispachedLines(0); + if (count($dispatchedlinearray) > 0) + { + $result=-1; + $error++; + $this->errors[]='ErrorCantSetReceptionToTotalDoneWithReceptionToApprove'; + dol_syslog('ErrorCantSetReceptionToTotalDoneWithReceptionToApprove', LOG_DEBUG); + } + } + + if (! $error && ! ($statut == 4 or $statut == 5 or $statut == 7)) + { + $error++; + dol_syslog(get_class($this)."::Livraison Error -2", LOG_ERR); + $result = -2; + } + + if (! $error) { $this->db->begin(); @@ -1643,11 +1735,6 @@ class CommandeFournisseur extends CommonOrder $result = -1; } } - else - { - dol_syslog(get_class($this)."::Livraison Error -2", LOG_ERR); - $result = -2; - } } else { @@ -1691,6 +1778,40 @@ class CommandeFournisseur extends CommonOrder } } + /** + * Set the id projet + * + * @param User $user Objet utilisateur qui modifie + * @param int $id_projet Date de livraison + * @return int <0 si ko, >0 si ok + */ + function set_id_projet($user, $id_projet) + { + if ($user->rights->fournisseur->commande->creer) + { + $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur"; + $sql.= " SET fk_projet = ".($id_projet > 0 ? (int) $id_projet : 'null'); + $sql.= " WHERE rowid = ".$this->id; + + dol_syslog(get_class($this)."::set_id_projet", LOG_DEBUG); + $resql=$this->db->query($sql); + if ($resql) + { + $this->fk_projet = $id_projet; + return 1; + } + else + { + $this->error=$this->db->error(); + return -1; + } + } + else + { + return -2; + } + } + /** * Update a supplier order from a customer order * @@ -2206,6 +2327,18 @@ class CommandeFournisseur extends CommonOrder if ($nb === 0) return $langs->trans('Undefined'); else return $nb.' '.$langs->trans('Days'); } + + /** + * Returns the rights used for this class + * @return stdClass + */ + public function getRights() + { + global $user; + + return $user->rights->fournisseur->commande; + } + } @@ -2215,42 +2348,32 @@ class CommandeFournisseur extends CommonOrder */ class CommandeFournisseurLigne extends CommonOrderLine { - var $db; - var $error; - public $element='commande_fournisseurdet'; public $table_element='commande_fournisseurdet'; + + /** + * Unit price without taxes + * @var float + */ + public $pu_ht; - var $oldline; - - // From llx_commandedet - var $qty; - var $tva_tx; - var $localtax1_tx; - var $localtax2_tx; - var $localtax1_type; - var $localtax2_type; - var $subprice; - var $remise_percent; - var $desc; // Description ligne - var $fk_product; // Id of predefined product - var $product_type = 0; // Type 0 = product, 1 = Service - var $total_ht; - var $total_tva; - var $total_localtax1; - var $total_localtax2; - var $total_ttc; - var $info_bits; - var $special_code; - var $date_start; + var $date_start; var $date_end; - // From llx_product - var $libelle; // Label produit - var $product_desc; // Description produit - // From llx_product_fournisseur_price - var $ref_fourn; // Ref supplier + + /** + * Supplier ref + * @var string + * @deprecated Use ref_supplier + */ + public $ref_fourn; + + /** + * Supplier reference + * @var string + */ + public $ref_supplier; /** diff --git a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php index 370b61de881..e7aea53945e 100644 --- a/htdocs/fourn/class/fournisseur.commande.dispatch.class.php +++ b/htdocs/fourn/class/fournisseur.commande.dispatch.class.php @@ -17,7 +17,7 @@ */ /** - * \file dev/skeletons/commandefournisseurdispatch.class.php + * \file fourn/class/fournisseur.commande.dispatch.class.php * \ingroup fournisseur stock * \brief This file is an example for a CRUD class file (Create/Read/Update/Delete) * Initialy built by build_class_from_table on 2015-02-24 10:38 @@ -70,10 +70,10 @@ class CommandeFournisseurDispatch extends CommonObject // List of language codes for status $this->statuts[0] = 'Received'; - $this->statuts[1] = 'Approved'; + $this->statuts[1] = 'Verified'; $this->statuts[2] = 'Denied'; $this->statutshort[0] = 'Received'; - $this->statutshort[1] = 'Approved'; + $this->statutshort[1] = 'Verified'; $this->statutshort[2] = 'Denied'; return 1; @@ -494,23 +494,17 @@ class CommandeFournisseurDispatch extends CommonObject if ($mode == 3) { if ($statut==0) return img_picto($langs->trans($this->statuts[$statut]),'statut0'); - if ($statut==1) return img_picto($langs->trans($this->statuts[$statut]),'statut1'); - if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut3'); - if ($statut==3) return img_picto($langs->trans($this->statuts[$statut]),'statut5'); + if ($statut==1) return img_picto($langs->trans($this->statuts[$statut]),'statut4'); } if ($mode == 4) { if ($statut==0) return img_picto($langs->trans($this->statuts[$statut]),'statut0').' '.$langs->trans($this->statuts[$statut]); - if ($statut==1) return img_picto($langs->trans($this->statuts[$statut]),'statut1').' '.$langs->trans($this->statuts[$statut]); - if ($statut==2) return img_picto($langs->trans($this->statuts[$statut]),'statut3').' '.$langs->trans($this->statuts[$statut]); - if ($statut==3) return img_picto($langs->trans($this->statuts[$statut]),'statut5').' '.$langs->trans($this->statuts[$statut]); + if ($statut==1) return img_picto($langs->trans($this->statuts[$statut]),'statut4').' '.$langs->trans($this->statuts[$statut]); } if ($mode == 5) { if ($statut==0) return ''.$langs->trans($this->statutshort[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut0'); - if ($statut==1) return ''.$langs->trans($this->statutshort[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut1'); - if ($statut==2) return ''.$langs->trans($this->statutshort[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut3'); - if ($statut==3) return ''.$langs->trans($this->statutshort[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut5'); + if ($statut==1) return ''.$langs->trans($this->statutshort[$statut]).' '.img_picto($langs->trans($this->statuts[$statut]),'statut4'); } } diff --git a/htdocs/fourn/class/fournisseur.facture.class.php b/htdocs/fourn/class/fournisseur.facture.class.php index 8283f1cb957..19cb26cf17b 100644 --- a/htdocs/fourn/class/fournisseur.facture.class.php +++ b/htdocs/fourn/class/fournisseur.facture.class.php @@ -89,37 +89,20 @@ class FactureFournisseur extends CommonInvoice var $mode_reglement_id; var $mode_reglement_code; - var $lines; + /** + * Invoice lines + * @var SupplierInvoiceLine[] + */ + public $lines = array(); var $fournisseur; // deprecated - var $thirdparty; // To store thirdparty + //Incorterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip + var $extraparams=array(); - /** - * 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; - /** * Constructor * @@ -140,7 +123,6 @@ class FactureFournisseur extends CommonInvoice $this->propalid = 0; $this->products = array(); - $this->lines = array(); } /** @@ -186,6 +168,7 @@ class FactureFournisseur extends CommonInvoice $sql.= ", note_public"; $sql.= ", fk_user_author"; $sql.= ", date_lim_reglement"; + $sql.= ", fk_incoterms, location_incoterms"; $sql.= ")"; $sql.= " VALUES ("; $sql.= "'(PROV)'"; @@ -203,6 +186,8 @@ class FactureFournisseur extends CommonInvoice $sql.= ", '".$this->db->escape($this->note_public)."'"; $sql.= ", ".$user->id.","; $sql.= $this->date_echeance!=''?"'".$this->db->idate($this->date_echeance)."'":"null"; + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -369,11 +354,14 @@ class FactureFournisseur extends CommonInvoice $sql.= " t.extraparams,"; $sql.= " cr.code as cond_reglement_code, cr.libelle as cond_reglement_libelle,"; $sql.= " p.code as mode_reglement_code, p.libelle as mode_reglement_libelle,"; - $sql.= ' s.nom as socnom, s.rowid as socid'; + $sql.= ' s.nom as socnom, s.rowid as socid,'; + $sql.= ' t.fk_incoterms, t.location_incoterms,'; + $sql.= " i.libelle as libelle_incoterms"; $sql.= ' FROM '.MAIN_DB_PREFIX.'facture_fourn as t'; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON (t.fk_soc = s.rowid)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_payment_term as cr ON (t.fk_cond_reglement = cr.rowid)"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as p ON (t.fk_mode_reglement = p.id)"; + $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON t.fk_incoterms = i.rowid'; if ($id) $sql.= " WHERE t.rowid=".$id; if ($ref) $sql.= " WHERE t.ref='".$this->db->escape($ref)."'"; @@ -433,6 +421,11 @@ class FactureFournisseur extends CommonInvoice $this->modelpdf = $obj->model_pdf; $this->import_key = $obj->import_key; + //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->socid = $obj->socid; @@ -480,7 +473,7 @@ class FactureFournisseur extends CommonInvoice */ function fetch_lines() { - $sql = 'SELECT f.rowid, f.ref as ref_supplier, f.description, f.pu_ht, f.pu_ttc, f.qty, f.remise_percent, f.tva_tx, f.tva'; + $sql = 'SELECT f.rowid, f.ref as ref_supplier, f.description, f.pu_ht, f.pu_ttc, f.qty, f.remise_percent, f.tva_tx'; $sql.= ', f.localtax1_tx, f.localtax2_tx, f.total_localtax1, f.total_localtax2 '; $sql.= ', f.total_ht, f.tva as total_tva, f.total_ttc, f.fk_product, f.product_type, f.info_bits, f.rang, f.special_code, f.fk_parent_line'; $sql.= ', p.rowid as product_id, p.ref as product_ref, p.label as label, p.description as product_desc'; @@ -501,7 +494,7 @@ class FactureFournisseur extends CommonInvoice { $obj = $this->db->fetch_object($resql_rows); - $this->lines[$i] = new FactureFournisseurLigne($this->db); + $this->lines[$i] = new SupplierInvoiceLine($this->db); $this->lines[$i]->id = $obj->rowid; $this->lines[$i]->rowid = $obj->rowid; @@ -511,6 +504,7 @@ class FactureFournisseur extends CommonInvoice $this->lines[$i]->ref_supplier = $obj->ref_supplier; // Reference product supplier TODO Rename field ref to ref_supplier into table llx_facture_fourn_det and llx_commande_fournisseurdet and update fields it into updateline $this->lines[$i]->libelle = $obj->label; // This field may contains label of product (when invoice create from order) $this->lines[$i]->product_desc = $obj->product_desc; // Description du produit + $this->lines[$i]->subprice = $obj->pu_ht; $this->lines[$i]->pu_ht = $obj->pu_ht; $this->lines[$i]->pu_ttc = $obj->pu_ttc; $this->lines[$i]->tva_tx = $obj->tva_tx; @@ -518,7 +512,7 @@ class FactureFournisseur extends CommonInvoice $this->lines[$i]->localtax2_tx = $obj->localtax2_tx; $this->lines[$i]->qty = $obj->qty; $this->lines[$i]->remise_percent = $obj->remise_percent; - $this->lines[$i]->tva = $obj->tva; + $this->lines[$i]->tva = $obj->total_tva; $this->lines[$i]->total_ht = $obj->total_ht; $this->lines[$i]->total_tva = $obj->total_tva; $this->lines[$i]->total_localtax1 = $obj->total_localtax1; @@ -1297,7 +1291,7 @@ class FactureFournisseur extends CommonInvoice if (empty($conf->global->MAIN_EXTRAFIELDS_DISABLED)) // For avoid conflicts if trigger used { - $linetmp = new FactureFournisseurLigne($this->db); + $linetmp = new SupplierInvoiceLine($this->db); $linetmp->id=$this->rowid; $linetmp->array_options = $array_options; $result=$linetmp->insertExtraFields(); @@ -1497,9 +1491,9 @@ class FactureFournisseur extends CommonInvoice /** - * 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 * @param int $max Max length of shown ref * @return string Chaine avec URL @@ -1523,20 +1517,20 @@ class FactureFournisseur extends CommonInvoice if ($option == 'document') { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; } else { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; } $ref=$this->ref; if (empty($ref)) $ref=$this->id; - if ($withpicto) $result.=($lien.img_object($label, 'bill', 'class="classfortooltip"').$lienfin.' '); - $result.=$lien.($max?dol_trunc($ref,$max):$ref).$lienfin; + if ($withpicto) $result.=($link.img_object($label, 'bill', 'class="classfortooltip"').$linkend.' '); + $result.=$link.($max?dol_trunc($ref,$max):$ref).$linkend; return $result; } @@ -1842,6 +1836,18 @@ class FactureFournisseur extends CommonInvoice return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref); } + /** + * Returns the rights used for this class + * @return stdClass + */ + public function getRights() + { + global $user; + + return $user->rights->fournisseur->facture; + } + + } @@ -1849,20 +1855,70 @@ class FactureFournisseur extends CommonInvoice /** * Class to manage line invoices */ -class FactureFournisseurLigne extends CommonInvoice +class SupplierInvoiceLine extends CommonInvoice { - var $db; - var $error; - - var $pu_ht; - var $pu_ttc; - public $element='facture_fourn_det'; public $table_element='facture_fourn_det'; - var $oldline; + var $oldline; - /** + public $ref; + public $product_ref; + public $ref_supplier; + public $libelle; + public $product_desc; + + /** + * Unit price before taxes + * @var float + * @deprecated Use $subprice + */ + public $pu_ht; + + /** + * Unit price included taxes + * @var float + */ + public $pu_ttc; + + /** + * Total VAT amount + * @var float + * @deprecated Use $total_tva instead + */ + public $tva; + + /** + * Id of the corresponding supplier invoice + * @var int + */ + var $fk_facture_fourn; + + /** + * Product label + * @var string + */ + var $label; // deprecated + + /** + * Description of the line + * @var string + */ + var $description; + + var $skip_update_total; // Skip update price total for special lines + + /** + * @var int Situation advance percentage + */ + public $situation_percent; + + /** + * @var int Previous situation line id reference + */ + public $fk_prev_id; + + /** * Constructor * * @param DoliDB $db Database handler diff --git a/htdocs/fourn/class/fournisseur.product.class.php b/htdocs/fourn/class/fournisseur.product.class.php index 6fa617834c2..adc1f3a50fc 100755 --- a/htdocs/fourn/class/fournisseur.product.class.php +++ b/htdocs/fourn/class/fournisseur.product.class.php @@ -27,7 +27,7 @@ require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_parser.class.php'; /** @@ -159,7 +159,7 @@ class ProductFournisseur extends Product */ function update_buyprice($qty, $buyprice, $user, $price_base_type, $fourn, $availability, $ref_fourn, $tva_tx, $charges=0, $remise_percent=0, $remise=0, $newnpr=0, $delivery_time_days=0) { - global $conf; + global $conf, $langs; // Clean parameter if (empty($qty)) $qty=0; diff --git a/htdocs/fourn/class/paiementfourn.class.php b/htdocs/fourn/class/paiementfourn.class.php index 3cd3ec0496c..dc66e5abf9a 100644 --- a/htdocs/fourn/class/paiementfourn.class.php +++ b/htdocs/fourn/class/paiementfourn.class.php @@ -476,9 +476,9 @@ class PaiementFourn extends Paiement /** - * 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 */ @@ -495,13 +495,13 @@ class PaiementFourn extends Paiement } $label = $langs->trans("ShowPayment").': '.$text; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowPayment"), 'payment', 'class="classfortooltip"').$lienfin); + if ($withpicto) $result.=($link.img_object($langs->trans("ShowPayment"), 'payment', 'class="classfortooltip"').$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - if ($withpicto != 2) $result.=$lien.$text.$lienfin; + if ($withpicto != 2) $result.=$link.$text.$linkend; return $result; } } diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php index 68724345411..ef5f708cc35 100644 --- a/htdocs/fourn/commande/card.php +++ b/htdocs/fourn/commande/card.php @@ -40,6 +40,8 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/doleditor.class.php'; +if (! empty($conf->askpricesupplier->enabled)) + require DOL_DOCUMENT_ROOT . '/comm/askpricesupplier/class/askpricesupplier.class.php'; if (!empty($conf->produit->enabled)) require_once DOL_DOCUMENT_ROOT.'/product/class/product.class.php'; if (!empty($conf->projet->enabled)) @@ -52,9 +54,11 @@ $langs->load('sendings'); $langs->load('companies'); $langs->load('bills'); $langs->load('propal'); +$langs->load('askpricesupplier'); $langs->load('deliveries'); $langs->load('products'); $langs->load('stocks'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); $id = GETPOST('id','int'); $ref = GETPOST('ref','alpha'); @@ -66,6 +70,10 @@ $projectid = GETPOST('projectid','int'); $cancel = GETPOST('cancel','alpha'); $lineid = GETPOST('lineid', 'int'); +$lineid = GETPOST('lineid', 'int'); +$origin = GETPOST('origin', 'alpha'); +$originid = (GETPOST('originid', 'int') ? GETPOST('originid', 'int') : GETPOST('origin_id', 'int')); // For backward compatibility + //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)); @@ -131,35 +139,42 @@ if (empty($reshook)) if ($action == 'setref_supplier' && $user->rights->fournisseur->commande->creer) { $result=$object->setValueFrom('ref_supplier',GETPOST('ref_supplier','alpha')); - if ($result < 0) dol_print_error($db, $object->error); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); + } + + // Set incoterm + if ($action == 'set_incoterms' && $user->rights->fournisseur->commande->creer) + { + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // conditions de reglement if ($action == 'setconditions' && $user->rights->fournisseur->commande->creer) { $result=$object->setPaymentTerms(GETPOST('cond_reglement_id','int')); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // mode de reglement if ($action == 'setmode' && $user->rights->fournisseur->commande->creer) { $result = $object->setPaymentMethods(GETPOST('mode_reglement_id','int')); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // bank account if ($action == 'setbankaccount' && $user->rights->fournisseur->commande->creer) { - $result=$object->setBankAccount(GETPOST('fk_account', 'int')); + $result=$object->setBankAccount(GETPOST('fk_account', 'int')); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // date de livraison if ($action == 'setdate_livraison' && $user->rights->fournisseur->commande->creer) { $result=$object->set_date_livraison($user,$datelivraison); - if ($result < 0) - { - setEventMessage($object->error, 'errors'); - } + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } // Set project @@ -171,6 +186,7 @@ if (empty($reshook)) if ($action == 'setremisepercent' && $user->rights->fournisseur->commande->creer) { $result = $object->set_remise($user, $_POST['remise_percent']); + if ($result < 0) setEventMessages($object->error, $object->errors, 'errors'); } if ($action == 'reopen' && $user->rights->fournisseur->commande->approuver) @@ -272,7 +288,7 @@ if (empty($reshook)) $idprod=0; $productsupplier = new ProductFournisseur($db); - if (GETPOST('idprodfournprice') == -1 || GETPOST('idprodfournprice') == '') $idprod=-2; // Same behaviour than with combolist. When not select idprodfournprice is now -2 (to avoid conflict with next action that may return -1) + if (GETPOST('idprodfournprice') == -1 || GETPOST('idprodfournprice') == '') $idprod=-99; // Same behaviour than with combolist. When not select idprodfournprice is now -99 (to avoid conflict with next action that may return -1, -2, ...) if (GETPOST('idprodfournprice') > 0) { @@ -316,12 +332,12 @@ if (empty($reshook)) $array_options ); } - if ($idprod == -2 || $idprod == 0) + if ($idprod == -99 || $idprod == 0) { - // Product not selected - $error++; - $langs->load("errors"); - setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("ProductOrService")), 'errors'); + // Product not selected + $error++; + $langs->load("errors"); + setEventMessage($langs->trans("ErrorFieldRequired",$langs->transnoentitiesnoconv("ProductOrService")).' '.$langs->trans("or").' '.$langs->trans("NoPriceDefinedForThisSupplier"), 'errors'); } if ($idprod == -1) { @@ -432,14 +448,12 @@ if (empty($reshook)) { $price_base_type = 'HT'; $ht = price2num(GETPOST('price_ht')); - $result=$object->addline($desc, $ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, 0, 0, '', $remise_percent, $price_base_type, 0, $type,'','', $date_start, $date_end); } else { $ttc = price2num(GETPOST('price_ttc')); $ht = $ttc / (1 + ($tva_tx / 100)); $price_base_type = 'HT'; - $result=$object->addline($desc, $ht, $qty, $tva_tx, $localtax1_tx, $localtax2_tx, 0, 0, '', $remise_percent, $price_base_type, $ttc, $type,'','', $date_start, $date_end); } if ($lineid) @@ -718,15 +732,14 @@ if (empty($reshook)) } } - // Receive + // Set status of reception (complete, partial, ...) if ($action == 'livraison' && $user->rights->fournisseur->commande->receptionner) { - - if ($_POST["type"]) + if (GETPOST("type") != '') { - $date_liv = dol_mktime(0,0,0,$_POST["remonth"],$_POST["reday"],$_POST["reyear"]); + $date_liv = dol_mktime(GETPOST('rehour'),GETPOST('remin'),GETPOST('resec'),GETPOST("remonth"),GETPOST("reday"),GETPOST("reyear")); - $result = $object->Livraison($user, $date_liv, $_POST["type"], $_POST["comment"]); + $result = $object->Livraison($user, $date_liv, GETPOST("type"), GETPOST("comment")); if ($result > 0) { header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id); @@ -738,8 +751,7 @@ if (empty($reshook)) } else { - dol_print_error($db,$object->error); - exit; + setEventMessages($object->error, $object->errors, 'errors'); } } else @@ -832,6 +844,7 @@ if (empty($reshook)) } } + /* * Create an order */ @@ -859,6 +872,8 @@ if (empty($reshook)) $object->note_private = GETPOST('note_private'); $object->note_public = GETPOST('note_public'); $object->date_livraison = $datelivraison; + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); // Fill array 'array_options' with data from add form if (! $error) @@ -869,12 +884,132 @@ if (empty($reshook)) if (! $error) { - $id = $object->create($user); - if ($id < 0) - { - $error++; - setEventMessage($langs->trans($object->error), 'errors'); - } + // If creation from another object of another module (Example: origin=propal, originid=1) + if (! empty($origin) && ! empty($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; + $other_linked_objects = GETPOST('other_linked_objects', 'array'); + if (! empty($other_linked_objects)) { + $object->linked_objects = array_merge($object->linked_objects, $other_linked_objects); + } + + $object_id = $object->create($user); + + if ($object_id > 0) + { + dol_include_once('/' . $element . '/class/' . $subelement . '.class.php'); + + $classname = ucfirst($subelement); + $srcobject = new $classname($db); + $srcobject->fetch($object->origin_id); + + $object->set_date_livraison($user, $srcobject->date_livraison); + $object->set_id_projet($user, $srcobject->fk_project); + + 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); + + $productsupplier = new ProductFournisseur($db); + + for($i = 0; $i < $num; $i ++) + { + + if (empty($lines[$i]->subprice) || $lines[$i]->qty <= 0) + continue; + + $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); + + // 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')) // For avoid conflicts if + // trigger used + { + $lines [$i]->fetch_optionals($lines [$i]->rowid); + $array_option = $lines [$i]->array_options; + } + + $idprod = $productsupplier->find_min_price_product_fournisseur($lines [$i]->fk_product, $lines [$i]->qty); + $res = $productsupplier->fetch($idProductFourn); + + $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, + $productsupplier->product_fourn_price_id, + $productsupplier->ref_fourn, + $lines [$i]->remise_percent, + 'HT', + 0, + $lines [$i]->product_type, + '', + '', + null, + null + ); + + if ($result < 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 { + setEventMessage($srcobject->error, 'errors'); + $error ++; + } + } else { + setEventMessage($object->error, 'errors'); + $error ++; + } + } + else + { + $id = $object->create($user); + if ($id < 0) + { + $error++; + setEventMessage($langs->trans($object->error), 'errors'); + } + } } if ($error) @@ -1243,7 +1378,7 @@ $productstatic = new Product($db); /* *************************************************************************** */ $now=dol_now(); -if ($action=="create") +if ($action=='create') { print_fiche_titre($langs->trans('NewOrder')); @@ -1256,12 +1391,68 @@ if ($action=="create") $societe->fetch($socid); } - $cond_reglement_id = $societe->cond_reglement_supplier_id; - $mode_reglement_id = $societe->mode_reglement_supplier_id; + if (! empty($origin) && ! empty($originid)) + { + // Parse element/subelement (ex: project_task) + $element = $subelement = $origin; + if (preg_match('/^([^_]+)_([^_]+)/i', $origin, $regs)) { + $element = $regs [1]; + $subelement = $regs [2]; + } + + $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(); + + // Replicate extrafields + $objectsrc->fetch_optionals($originid); + $object->array_options = $objectsrc->array_options; + + $projectid = (! empty($objectsrc->fk_project) ? $objectsrc->fk_project : ''); + $ref_client = (! empty($objectsrc->ref_client) ? $objectsrc->ref_client : ''); + + $soc = $objectsrc->client; + $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)); + $fk_account = (! empty($objectsrc->fk_account)?$objectsrc->fk_account:(! empty($soc->fk_account)?$soc->fk_account:0)); + $availability_id = (!empty($objectsrc->availability_id)?$objectsrc->availability_id:(!empty($soc->availability_id)?$soc->availability_id:0)); + $shipping_method_id = (! empty($objectsrc->shipping_method_id)?$objectsrc->shipping_method_id:(! empty($soc->shipping_method_id)?$soc->shipping_method_id:0)); + $demand_reason_id = (!empty($objectsrc->demand_reason_id)?$objectsrc->demand_reason_id:(!empty($soc->demand_reason_id)?$soc->demand_reason_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)); + $dateinvoice = empty($conf->global->MAIN_AUTOFILL_DATE)?-1:''; + + $datedelivery = (! empty($objectsrc->date_livraison) ? $objectsrc->date_livraison : ''); + + $note_private = (! empty($objectsrc->note_private) ? $objectsrc->note_private : (! empty($objectsrc->note_private) ? $objectsrc->note_private : '')); + $note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : ''); + + // Object source contacts list + $srccontactslist = $objectsrc->liste_contact(- 1, 'external', 1); + + } + else + { + $cond_reglement_id = $societe->cond_reglement_supplier_id; + $mode_reglement_id = $societe->mode_reglement_supplier_id; + } print '
    '; print ''; print ''; + print '' . "\n"; + print ''; + print ''; + print ''; + print ''; // Ref @@ -1317,9 +1508,19 @@ if ($action=="create") print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + } + print ''; print ''; //print ''; @@ -1327,13 +1528,40 @@ if ($action=="create") print ''; print ''; //print ''; print ''; + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { + print "\n"; + print "\n"; + print '' . "\n"; + print '' . "\n"; + print '' . "\n"; + print ''; + print ''; + + $newclassname = $classname; + if ($newclassname == 'AskPriceSupplier') + $newclassname = 'CommercialAskPriceSupplier'; + print ''; + print ''; + print '"; + if ($mysoc->localtax1_assuj == "1" || $objectsrc->total_localtax1 != 0) // Localtax1 RE + { + print '"; + } + + if ($mysoc->localtax2_assuj == "1" || $objectsrc->total_localtax2 != 0) // Localtax2 IRPF + { + print '"; + } + + print '"; + } // Other options $parameters=array(); @@ -1350,6 +1578,18 @@ if ($action=="create") print '
    '; print "\n"; + + // Show origin lines + if (! empty($origin) && ! empty($originid) && is_object($objectsrc)) { + $title = $langs->trans('ProductsAndServices'); + print_titre($title); + + print '
    '; + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:'')); + print '
    '.$langs->trans('NotePublic').''; - $doleditor = new DolEditor('note_public', GETPOST('note_public'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_public', isset($note_public) ? $note_public : GETPOST('note_public'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
    '.$langs->trans('NotePrivate').''; - $doleditor = new DolEditor('note_private', GETPOST('note_private'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); + $doleditor = new DolEditor('note_private', isset($note_private) ? $note_private : GETPOST('note_private'), '', 80, 'dolibarr_notes', 'In', 0, false, true, ROWS_3, 70); print $doleditor->Create(1); print '
    ' . $langs->trans($newclassname) . '' . $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) . "
    '; + + $objectsrc->printOriginLinesList(); + + print '
    '; + } } elseif (! empty($object->id)) { @@ -1415,7 +1655,7 @@ elseif (! empty($object->id)) require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; $notify=new Notify($db); $text.='
    '; - $text.=$notify->confirmMessage('ORDER_SUPPLIER_APPROVE', $object->socid); + $text.=$notify->confirmMessage('ORDER_SUPPLIER_VALIDATE', $object->socid, $object); } $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ValidateOrder'), $text, 'confirm_valid', '', 0, 1); @@ -1450,9 +1690,16 @@ elseif (! empty($object->id)) array('type' => 'other', 'name' => 'idwarehouse', 'label' => $langs->trans("SelectWarehouseForStockIncrease"), 'value' => $formproduct->selectWarehouses(GETPOST('idwarehouse'),'idwarehouse','',1)) ); } + $text=$langs->trans("ConfirmApproveThisOrder",$object->ref); + if (! empty($conf->notification->enabled)) + { + require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; + $notify=new Notify($db); + $text.='
    '; + $text.=$notify->confirmMessage('ORDER_SUPPLIER_APPROVE', $object->socid, $object); + } - $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id,$langs->trans("ApproveThisOrder"),$langs->trans("ConfirmApproveThisOrder",$object->ref),"confirm_approve", $formquestion, 1, 1, 240); - + $formconfirm = $form->formconfirm($_SERVER['PHP_SELF']."?id=".$object->id, $langs->trans("ApproveThisOrder"), $text, "confirm_approve", $formquestion, 1, 1, 240); } /* @@ -1489,9 +1736,12 @@ elseif (! empty($object->id)) $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id.'&lineid='.$lineid, $langs->trans('DeleteProductLine'), $langs->trans('ConfirmDeleteProductLine'), 'confirm_deleteline', '', 0, 1); } - if (!$formconfirm) { + 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 @@ -1676,34 +1926,57 @@ elseif (! empty($object->id)) print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
    '; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->fournisseur->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'; // Ligne de 3 colonnes print ''.$langs->trans("AmountHT").''; - print ''.price($object->total_ht).''; - print ''.$langs->trans("Currency".$conf->currency).''; + print ''.price($object->total_ht,'',$langs,1,-1,-1,$conf->currency).''; + print ''; - print ''.$langs->trans("AmountVAT").''.price($object->total_tva).''; - print ''.$langs->trans("Currency".$conf->currency).''; + print ''.$langs->trans("AmountVAT").''.price($object->total_tva,'',$langs,1,-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).''; - print ''.$langs->trans("Currency".$conf->currency).''; + print ''.price($object->total_localtax1,'',$langs,1,-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).''; - print ''.$langs->trans("Currency".$conf->currency).''; + print ''.price($object->total_localtax2,'',$langs,1,-1,-1,$conf->currency).''; + print ''; } - print ''.$langs->trans("AmountTTC").''.price($object->total_ttc).''; - print ''.$langs->trans("Currency".$conf->currency).''; + print ''.$langs->trans("AmountTTC").''.price($object->total_ttc,'',$langs,1,-1,-1,$conf->currency).''; + print ''; print "
    "; @@ -1748,7 +2021,7 @@ elseif (! empty($object->id)) // Show object lines $inputalsopricewithtax=0; if (! empty($object->lines)) - $ret = $object->printObjectLines($action, $soc, $mysoc, $lineid, 1, $user->rights->fournisseur->commande->creer); + $ret = $object->printObjectLines($action, $soc, $mysoc, $lineid, 1); $num = count($object->lines); @@ -2012,8 +2285,13 @@ elseif (! empty($object->id)) $formmail->withbody=1; $formmail->withdeliveryreceipt=1; $formmail->withcancel=1; + + $object->fetch_projet(); // Tableau des substitutions $formmail->substit['__ORDERREF__']=$object->ref; + $formmail->substit['__ORDERSUPPLIERREF__']=$object->ref_supplier; + $formmail->substit['__THIRPARTY_NAME__'] = $object->thirdparty->name; + $formmail->substit['__PROJECT_REF__'] = (is_object($object->projet)?$object->projet->ref:''); $formmail->substit['__SIGNATURE__']=$user->signature; $formmail->substit['__PERSONALIZED__']=''; $formmail->substit['__CONTACTCIVNAME__']=''; @@ -2289,7 +2567,7 @@ elseif (! empty($object->id)) || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && ! empty($user->rights->fournisseur->supplier_order_advance->validate))) { $tmpbuttonlabel=$langs->trans('Validate'); - if ($user->rights->fournisseur->commande->approuver) $tmpbuttonlabel = $langs->trans("ValidateAndApprove"); + if ($user->rights->fournisseur->commande->approuver && empty($conf->global->SUPPLIER_ORDER_NO_DIRECT_APPROVE)) $tmpbuttonlabel = $langs->trans("ValidateAndApprove"); print ''; print $tmpbuttonlabel; @@ -2331,7 +2609,14 @@ elseif (! empty($object->id)) } // Reopen - if (in_array($object->statut, array(2, 5, 6, 7, 9))) + if (in_array($object->statut, array(2))) + { + if ($user->rights->fournisseur->commande->commander) + { + print ''.$langs->trans("Disapprove").''; + } + } + if (in_array($object->statut, array(5, 6, 7, 9))) { if ($user->rights->fournisseur->commande->commander) { diff --git a/htdocs/fourn/commande/dispatch.php b/htdocs/fourn/commande/dispatch.php index a68f11f0f69..f2dd3518868 100644 --- a/htdocs/fourn/commande/dispatch.php +++ b/htdocs/fourn/commande/dispatch.php @@ -46,6 +46,8 @@ if (! empty($conf->productbatch->enabled)) $langs->load('productbatch'); // Security check $id = GETPOST("id",'int'); +$lineid = GETPOST('lineid', 'int'); +$action = GETPOST('action'); if ($user->societe_id) $socid=$user->societe_id; $result = restrictedArea($user, 'fournisseur', $id, '', 'commande'); @@ -65,7 +67,41 @@ $mesg=''; * Actions */ -if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->receptionner) +if ($action == 'checkdispatchline' && + ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) +) +{ + $supplierorderdispatch = new CommandeFournisseurDispatch($db); + $result=$supplierorderdispatch->fetch($lineid); + if (! $result) dol_print_error($db); + $result=$supplierorderdispatch->setStatut(1); + if ($result < 0) + { + setEventMessages($supplierorderdispatch->error, $supplierorderdispatch->errors, 'errors'); + $error++; + $action=''; + } +} + +if ($action == 'uncheckdispatchline' && + ! ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check))) +) +{ + $supplierorderdispatch = new CommandeFournisseurDispatch($db); + $result=$supplierorderdispatch->fetch($lineid); + if (! $result) dol_print_error($db); + $result=$supplierorderdispatch->setStatut(0); + if ($result < 0) + { + setEventMessages($supplierorderdispatch->error, $supplierorderdispatch->errors, 'errors'); + $error++; + $action=''; + } +} + +if ($action == 'dispatch' && $user->rights->fournisseur->commande->receptionner) { $commande = new CommandeFournisseur($db); $commande->fetch($id); @@ -76,33 +112,40 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece foreach($_POST as $key => $value) { - if (preg_match('/^product_([0-9]+)$/i', $key, $reg)) + if (preg_match('/^product_([0-9]+)$/i', $key, $reg)) // without batch module enabled { + $numline=$reg[1] + 1; // line of product $prod = "product_".$reg[1]; $qty = "qty_".$reg[1]; $ent = "entrepot_".$reg[1]; $pu = "pu_".$reg[1]; // This is unit price including discount $fk_commandefourndet = "fk_commandefourndet_".$reg[1]; - if (GETPOST($ent,'int') > 0) + + if (GETPOST($qty) > 0) // We ask to move a qty { - $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), '', '', '', GETPOST($fk_commandefourndet, 'int')); - if ($result < 0) + if (! GETPOST($ent,'int') > 0) { - setEventMessages($commande->error, $commande->errors, 'errors'); + dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); + $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline); + setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); $error++; } - } - else - { - dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); - $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1); - setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); - $error++; + + if (! $error) + { + $result = $commande->DispatchProduct($user, GETPOST($prod,'int'),GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), '', '', '', GETPOST($fk_commandefourndet, 'int')); + if ($result < 0) + { + setEventMessages($commande->error, $commande->errors, 'errors'); + $error++; + } + } } } - else if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) + if (preg_match('/^product_([0-9]+)_([0-9]+)$/i', $key, $reg)) // with batch module enabled { //eat-by date dispatch + $numline=$reg[2] + 1; // line of product $prod = "product_".$reg[1]."_".$reg[2]; $qty = "qty_".$reg[1]."_".$reg[2]; $ent = "entrepot_".$reg[1]."_".$reg[2]; @@ -112,24 +155,25 @@ if ($_POST["action"] == 'dispatch' && $user->rights->fournisseur->commande->rece $dDLUO = dol_mktime(12, 0, 0, $_POST['dluo_'.$reg[1]."_".$reg[2].'month'], $_POST['dluo_'.$reg[1]."_".$reg[2].'day'], $_POST['dluo_'.$reg[1]."_".$reg[2].'year']); $dDLC = dol_mktime(12, 0, 0, $_POST['dlc_'.$reg[1]."_".$reg[2].'month'], $_POST['dlc_'.$reg[1]."_".$reg[2].'day'], $_POST['dlc_'.$reg[1]."_".$reg[2].'year']); - if (! (GETPOST($ent,'int') > 0)) + if (GETPOST($qty) > 0) // We ask to move a qty { - dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); - $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').'' .($reg[1]-1); - setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); - $error++; - } - - if (! $error) - { - if (! ((GETPOST($qty) > 0) && ($_POST[$lot] || $dDLUO || $dDLC))) + if (! (GETPOST($ent,'int') > 0)) { - dol_syslog('No dispatch for line '.$key.' as qty is not set or eat-by date are not set'); - $text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').'' .($reg[1]-1); + dol_syslog('No dispatch for line '.$key.' as no warehouse choosed'); + $text = $langs->transnoentities('Warehouse').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1); setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); $error++; } - else + + if (! ($_POST[$lot] || $dDLUO || $dDLC)) + { + dol_syslog('No dispatch for line '.$key.' as serial/eat-by/sellby date are not set'); + $text = $langs->transnoentities('atleast1batchfield').', '.$langs->transnoentities('Line').' ' .($numline).'-'.($reg[1]+1); + setEventMessage($langs->trans('ErrorFieldRequired',$text), 'errors'); + $error++; + } + + if (! $error) { $result = $commande->dispatchProduct($user, GETPOST($prod,'int'), GETPOST($qty), GETPOST($ent,'int'), GETPOST($pu), GETPOST("comment"), $dDLC, $dDLUO, GETPOST($lot, 'alpha'), GETPOST($fk_commandefourndet, 'int')); if ($result < 0) @@ -393,7 +437,7 @@ if ($id > 0 || ! empty($ref)) } else { - print ''; + print ''; print $linktoprod; print ""; } @@ -511,7 +555,7 @@ if ($id > 0 || ! empty($ref)) // List of already dispatching $sql = "SELECT p.ref, p.label,"; $sql.= " e.rowid as warehouse_id, e.label as entrepot,"; - $sql.= " cfd.rowid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; + $sql.= " cfd.rowid as dispatchlineid, cfd.fk_product, cfd.qty, cfd.eatby, cfd.sellby, cfd.batch, cfd.comment, cfd.status"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p,"; $sql.= " ".MAIN_DB_PREFIX."commande_fournisseur_dispatch as cfd"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."entrepot as e ON cfd.fk_entrepot = e.rowid"; @@ -545,7 +589,7 @@ if ($id > 0 || ! empty($ref)) print ''; print ''.$langs->trans("Warehouse").''; print ''.$langs->trans("Comment").''; - if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) print ''.$langs->trans("Status").''; + if (! empty($conf->global->SUPPLIER_ORDER_USE_DISPATCH_STATUS)) print ''.$langs->trans("Status").''; print "\n"; $var=false; @@ -553,6 +597,7 @@ if ($id > 0 || ! empty($ref)) while ($i < $num) { $objp = $db->fetch_object($resql); + print ""; print ''; print ''.img_object($langs->trans("ShowProduct"),'product').' '.$objp->ref.''; @@ -588,8 +633,38 @@ if ($id > 0 || ! empty($ref)) //print $supplierorderdispatch->status; print $supplierorderdispatch->getLibStatut(5); print ''; - } + // Add button to check/uncheck disaptching + print ''; + if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande->receptionner)) + || (! empty($conf->global->MAIN_USE_ADVANCED_PERMS) && empty($user->rights->fournisseur->commande_advance->check)) + ) + { + if (empty($objp->status)) + { + print ''.$langs->trans("Check").''; + } + else + { + print ''.$langs->trans("Uncheck").''; + } + } + else + { + $disabled=''; + if ($commande->statut == 5) $disabled=1; + if (empty($objp->status)) + { + print 'dispatchlineid.'">'.$langs->trans("Check").''; + } + else + { + print 'dispatchlineid.'">'.$langs->trans("Uncheck").''; + } + } + print ''; + } + print "\n"; $i++; diff --git a/htdocs/fourn/commande/list.php b/htdocs/fourn/commande/list.php index 613eb463366..386caad8134 100644 --- a/htdocs/fourn/commande/list.php +++ b/htdocs/fourn/commande/list.php @@ -45,7 +45,7 @@ $search_user=GETPOST('search_user'); $search_ht=GETPOST('search_ht'); $search_ttc=GETPOST('search_ttc'); $sall=GETPOST('search_all'); -$search_status=(GETPOST('search_status','int')!=''?GETPOST('search_status','int'):GETPOST('statut','int')); +$search_status=(GETPOST('search_status','alpha')!=''?GETPOST('search_status','alpha'):GETPOST('statut','alpha')); // alpha and not intbecause it can be '6,7' $page = GETPOST('page','int'); $socid = GETPOST('socid','int'); @@ -100,7 +100,7 @@ $offset = $conf->liste_limit * $page ; /* - * Mode Liste + * Mode list */ $sql = "SELECT s.rowid as socid, s.nom as name, cf.date_commande as dc,"; @@ -130,17 +130,17 @@ if ($search_user) { $sql.= " AND u.login LIKE '%".$db->escape($search_user)."%'"; } -if ($search_ht) +if ($search_ht != '') { - $sql .= " AND cf.total_ht = '".$db->escape(price2num($search_ht))."'"; + $sql .= natural_search("cf.total_ht",$search_ht, 1); } -if ($search_ttc) +if ($search_ttc != '') { - $sql .= " AND cf.total_ttc = '".$db->escape(price2num($search_ttc))."'"; + $sql .= natural_search("cf.total_ttc", $search_ttc, 1); } if ($sall) { - $sql .= natural_search(array('cf.ref', 'cf.note_public', 'cf.note_private'), $sall); + $sql .= natural_search(array('cf.ref', 'cf.ref_supplier', 'cf.note_public', 'cf.note_private'), $sall); } if ($socid) $sql.= " AND s.rowid = ".$socid; @@ -153,9 +153,9 @@ if ($search_refsupp) { $sql.= " AND (cf.ref_supplier LIKE '%".$db->escape($search_refsupp)."%')"; } -if ($search_status >= 0) +if ($search_status != '' && $search_status >= 0) { - if ($search_status == 6 || $search_status == 7) $sql.=" AND cf.fk_statut IN (6,7)"; + if (strstr($search_status, ',')) $sql.=" AND cf.fk_statut IN (".$db->escape($search_status).")"; else $sql.=" AND cf.fk_statut = ".$search_status; } @@ -205,17 +205,17 @@ if ($resql) print ''; - print ''; + print ''; if (empty($conf->global->SUPPLIER_ORDER_HIDE_REF_SUPPLIER)) print ''; - print ''; + print ''; if (! empty($conf->global->PROJECT_SHOW_REF_INTO_LISTS)) { print ''; print ''; } print ''; - print ''; - print ''; + print ''; + print ''; print ' '; print ' '; print ''; diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php index 01be69f1590..e93d06ad530 100644 --- a/htdocs/fourn/facture/card.php +++ b/htdocs/fourn/facture/card.php @@ -52,6 +52,7 @@ $langs->load('suppliers'); $langs->load('companies'); $langs->load('products'); $langs->load('banks'); +if (!empty($conf->incoterm->enabled)) $langs->load('incoterm'); $id = (GETPOST('facid','int') ? GETPOST('facid','int') : GETPOST('id','int')); $action = GETPOST("action"); @@ -353,6 +354,8 @@ if (empty($reshook)) $object->mode_reglement_id = GETPOST('mode_reglement_id'); $object->fk_account = GETPOST('fk_account', 'int'); $object->fk_project = ($tmpproject > 0) ? $tmpproject : null; + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); // Auto calculation of date due if not filled by user if(empty($object->date_echeance)) $object->date_echeance = $object->calculate_date_lim_reglement(); @@ -1462,6 +1465,16 @@ if ($action == 'create') 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 ''; + } + // Bank Account print ''.$langs->trans('BankAccount').''; $form->select_comptes($fk_account, 'fk_account', 0, '', 1); @@ -1651,7 +1664,7 @@ else require_once DOL_DOCUMENT_ROOT .'/core/class/notify.class.php'; $notify=new Notify($db); $text.='
    '; - $text.=$notify->confirmMessage('BILL_SUPPLIER_VALIDATE',$object->socid); + $text.=$notify->confirmMessage('BILL_SUPPLIER_VALIDATE',$object->socid, $object); }*/ $formquestion=array(); @@ -1703,7 +1716,9 @@ else 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 @@ -2007,6 +2022,29 @@ else print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
    '; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->fournisseur->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 = 4; include DOL_DOCUMENT_ROOT . '/core/tpl/extrafields_view.tpl.php'; @@ -2054,7 +2092,7 @@ else // Show object lines if (! empty($object->lines)) - $ret = $object->printObjectLines($action, $soc, $mysoc, $lineid, 1, $user->rights->fournisseur->facture->creer); + $ret = $object->printObjectLines($action, $soc, $mysoc, $lineid, 1); $num=count($object->lines); diff --git a/htdocs/fourn/facture/list.php b/htdocs/fourn/facture/list.php index d59870d8fc5..3c1b0f06cb6 100644 --- a/htdocs/fourn/facture/list.php +++ b/htdocs/fourn/facture/list.php @@ -5,6 +5,7 @@ * Copyright (C) 2013 Philippe Grand * Copyright (C) 2013 Florian Henry * Copyright (C) 2013 CĆ©dric Salvador + * 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 @@ -70,6 +71,7 @@ $search_label = GETPOST("search_label","alpha"); $search_company = GETPOST("search_company","alpha"); $search_amount_no_tax = GETPOST("search_amount_no_tax","alpha"); $search_amount_all_tax = GETPOST("search_amount_all_tax","alpha"); +$search_status=GETPOST('search_status','alpha'); $month = GETPOST("month","int"); $year = GETPOST("year","int"); $filter = GETPOST("filtre"); @@ -153,7 +155,7 @@ if ($search_ref) if (is_numeric($search_ref)) $sql .= natural_search(array('fac.ref'), $search_ref); else $sql .= natural_search('fac.ref', $search_ref); } -if (search_ref_supplier) +if ($search_ref_supplier) { $sql .= natural_search('fac.ref_supplier', $search_ref_supplier); } @@ -178,14 +180,19 @@ if ($search_company) $sql .= natural_search('s.nom', $search_company); } -if ($search_amount_no_tax) +if ($search_amount_no_tax != '') { - $sql .= " AND fac.total_ht = '".$db->escape(price2num($search_amount_no_tax))."'"; + $sql .= natural_search('fac.total_ht', $search_amount_no_tax, 1); } -if ($search_amount_all_tax) +if ($search_amount_all_tax != '') { - $sql .= " AND fac.total_ttc = '".$db->escape(price2num($search_amount_all_tax))."'"; + $sql .= natural_search('fac.total_ttc', $search_amount_all_tax, 1); +} + +if ($search_status != '') +{ + $sql.= " AND fac.fk_statut = '".$db->escape($search_status)."'"; } $nbtotalofrecords = 0; @@ -270,9 +277,9 @@ if ($resql) print ''; } print ''; - print ''; + print ''; print ''; - print ''; + print ''; print ''; $liststatus=array('paye:0'=>$langs->trans("Unpaid"), 'paye:1'=>$langs->trans("Paid")); print $form->selectarray('filtre', $liststatus, $filter, 1); diff --git a/htdocs/fourn/facture/paiement.php b/htdocs/fourn/facture/paiement.php index 07f6a3ae43c..a2e6b9d22bc 100644 --- a/htdocs/fourn/facture/paiement.php +++ b/htdocs/fourn/facture/paiement.php @@ -32,9 +32,9 @@ */ require '../../main.inc.php'; -require DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; -require DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; -require DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php'; $langs->load('companies'); $langs->load('bills'); diff --git a/htdocs/fourn/list.php b/htdocs/fourn/list.php index b0d7caf8695..77202f989fe 100644 --- a/htdocs/fourn/list.php +++ b/htdocs/fourn/list.php @@ -27,6 +27,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; $langs->load("suppliers"); $langs->load("orders"); @@ -59,6 +60,7 @@ if (! $sortfield) $sortfield="nom"; // Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array $hookmanager->initHooks(array('supplierlist')); +$extrafields = new ExtraFields($db); if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both test are required to be compatible with all browsers { @@ -73,6 +75,9 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both $catid=""; } +$extrafields->fetch_name_optionals_label('thirdparty'); + + /* * Actions */ @@ -95,7 +100,14 @@ llxHeader('',$langs->trans("ThirdParty"),$help_url); $sql = "SELECT s.rowid as socid, s.nom as name, s.zip, s.town, s.datec, st.libelle as stcomm, s.prefix_comm, s.status as status, "; $sql.= "code_fournisseur, code_compta_fournisseur"; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", sc.fk_soc, sc.fk_user "; +// Add fields for extrafields +foreach ($extrafields->attribute_list as $key => $val) $sql.=",ef.".$key.' as options_'.$key; +// Add fields from hooks +$parameters=array(); +$result=$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"; +$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe_extrafields as ef ON ef.fk_object = s.rowid"; if (! empty($search_categ) || ! empty($catid)) $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX."categorie_fournisseur as cf ON s.rowid = cf.fk_societe"; // We need this table joined to the select in order to filter by categ $sql.= ", ".MAIN_DB_PREFIX."c_stcomm as st"; if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; @@ -122,6 +134,10 @@ if ($catid > 0) $sql.= " AND cf.fk_categorie = ".$catid; if ($catid == -2) $sql.= " AND cf.fk_categorie IS NULL"; if ($search_categ > 0) $sql.= " AND cf.fk_categorie = ".$search_categ; if ($search_categ == -2) $sql.= " AND cf.fk_categorie IS NULL"; +// Add where from hooks +$parameters=array(); +$result=$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)) @@ -131,6 +147,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) } $sql.= $db->order($sortfield,$sortorder); $sql.= $db->plimit($conf->liste_limit+1, $offset); +//print $sql; dol_syslog('fourn/list.php:', LOG_DEBUG); $resql = $db->query($sql); @@ -170,11 +187,12 @@ if ($resql) print_liste_field_titre($langs->trans("SupplierCode"),$_SERVER["PHP_SELF"],"s.code_fournisseur","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("AccountancyCode"),$_SERVER["PHP_SELF"],"s.code_compta_fournisseur","",$param,'align="left"',$sortfield,$sortorder); print_liste_field_titre($langs->trans("DateCreation"),$_SERVER["PHP_SELF"],"s.datec","",$param,'align="right"',$sortfield,$sortorder); + + $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="right"',$sortfield,$sortorder); - - $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListTitle',$parameters); // Note that $action and $object may have been modified by hook - print "\n"; print ''; @@ -197,12 +215,13 @@ if ($resql) 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 ''; print "\n"; - - $parameters=array(); - $formconfirm=$hookmanager->executeHooks('printFieldListOption',$parameters); // Note that $action and $object may have been modified by hook print ''; @@ -225,12 +244,13 @@ if ($resql) print ''.$obj->town.''."\n"; print ''.$obj->code_fournisseur.' '; print ''.$obj->code_compta_fournisseur.' '; - print ''; - print dol_print_date($db->jdate($obj->datec),'day').''; - print ''.$thirdpartystatic->getLibStatut(3).''; + print ''.dol_print_date($db->jdate($obj->datec),'day').''; $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 ''.$thirdpartystatic->getLibStatut(3).''; print "\n"; $i++; @@ -240,7 +260,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/fourn/product/list.php b/htdocs/fourn/product/list.php index afaf4c8e796..33e1ea46dd9 100644 --- a/htdocs/fourn/product/list.php +++ b/htdocs/fourn/product/list.php @@ -125,7 +125,7 @@ if (empty($conf->global->MAIN_DISABLE_FULL_SCANLIST)) $result = $db->query($sql); $nbtotalofrecords = $db->num_rows($result); } -$sql .= " ORDER BY ".$sortfield." ".$sortorder; +$sql .= $db->order($sortfield,$sortorder); $sql .= $db->plimit($limit + 1, $offset); dol_syslog("fourn/product/list.php:", LOG_DEBUG); @@ -225,11 +225,11 @@ if ($resql) if ($companystatic->id > 0) print $companystatic->getNomUrl(1,'supplier'); print ''; - print ''.price($objp->price).''; + print ''.(isset($objp->price) ? price($objp->price) : '').''; print ''.$objp->qty.''; - print ''.price($objp->unitprice).''; + print ''.(isset($objp->unitprice) ? price($objp->unitprice) : '').''; print "\n"; $i++; diff --git a/htdocs/ftp/index.php b/htdocs/ftp/index.php index f1a051bcf2a..4da37cde779 100644 --- a/htdocs/ftp/index.php +++ b/htdocs/ftp/index.php @@ -634,7 +634,7 @@ llxFooter(); * @param string $ftp_user FTP user * @param string $ftp_password FTP password * @param string $section Directory - * @param string $ftp_passive Use a passive mode + * @param integer $ftp_passive Use a passive mode * @return int <0 if OK, >0 if KO */ function dol_ftp_connect($ftp_server, $ftp_port, $ftp_user, $ftp_password, $section, $ftp_passive=0) diff --git a/htdocs/holiday/class/holiday.class.php b/htdocs/holiday/class/holiday.class.php index 280efd4addc..f9624946531 100644 --- a/htdocs/holiday/class/holiday.class.php +++ b/htdocs/holiday/class/holiday.class.php @@ -660,14 +660,14 @@ class Holiday extends CommonObject $result=''; $label=$langs->trans("Show").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='holiday'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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/imports/import.php b/htdocs/imports/import.php index 17c9f717253..5fc55dd3dab 100644 --- a/htdocs/imports/import.php +++ b/htdocs/imports/import.php @@ -1754,7 +1754,7 @@ function show_elem($fieldssource,$pos,$key,$var,$nostyle='') * * @param array $fieldssource Array of field source * @param array $listofkey Array of keys - * @return void + * @return integer */ function getnewkey(&$fieldssource,&$listofkey) { diff --git a/htdocs/includes/tcpdi/fpdf_tpl.php b/htdocs/includes/tcpdi/fpdf_tpl.php index 86e38b71641..be03a39b5d3 100644 --- a/htdocs/includes/tcpdi/fpdf_tpl.php +++ b/htdocs/includes/tcpdi/fpdf_tpl.php @@ -1,460 +1,460 @@ -Error('This method is only usable with FPDF. Use TCPDF methods startTemplate() instead.'); - return; - } - - if ($this->page <= 0) - $this->error("You have to add a page to fpdf first!"); - - if ($x == null) - $x = 0; - if ($y == null) - $y = 0; - if ($w == null) - $w = $this->w; - if ($h == null) - $h = $this->h; - - // Save settings - $this->tpl++; - $tpl =& $this->tpls[$this->tpl]; - $tpl = array( - 'o_x' => $this->x, - 'o_y' => $this->y, - 'o_AutoPageBreak' => $this->AutoPageBreak, - 'o_bMargin' => $this->bMargin, - 'o_tMargin' => $this->tMargin, - 'o_lMargin' => $this->lMargin, - 'o_rMargin' => $this->rMargin, - 'o_h' => $this->h, - 'o_w' => $this->w, - 'o_FontFamily' => $this->FontFamily, - 'o_FontStyle' => $this->FontStyle, - 'o_FontSizePt' => $this->FontSizePt, - 'o_FontSize' => $this->FontSize, - 'buffer' => '', - 'x' => $x, - 'y' => $y, - 'w' => $w, - 'h' => $h - ); - - $this->SetAutoPageBreak(false); - - // Define own high and width to calculate possitions correct - $this->h = $h; - $this->w = $w; - - $this->_intpl = true; - $this->SetXY($x + $this->lMargin, $y + $this->tMargin); - $this->SetRightMargin($this->w - $w + $this->rMargin); - - if ($this->CurrentFont) { - $fontkey = $this->FontFamily . $this->FontStyle; - $this->_res['tpl'][$this->tpl]['fonts'][$fontkey] =& $this->fonts[$fontkey]; - - $this->_out(sprintf('BT /F%d %.2f Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); - } - - return $this->tpl; - } - - /** - * End Template - * - * This method ends a template and reset initiated variables on beginTemplate. - * - * @return mixed If a template is opened, the ID is returned. If not a false is returned. - */ - function endTemplate() { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::endTemplate'), $args); - } - - if ($this->_intpl) { - $this->_intpl = false; - $tpl =& $this->tpls[$this->tpl]; - $this->SetXY($tpl['o_x'], $tpl['o_y']); - $this->tMargin = $tpl['o_tMargin']; - $this->lMargin = $tpl['o_lMargin']; - $this->rMargin = $tpl['o_rMargin']; - $this->h = $tpl['o_h']; - $this->w = $tpl['o_w']; - $this->SetAutoPageBreak($tpl['o_AutoPageBreak'], $tpl['o_bMargin']); - - $this->FontFamily = $tpl['o_FontFamily']; - $this->FontStyle = $tpl['o_FontStyle']; - $this->FontSizePt = $tpl['o_FontSizePt']; - $this->FontSize = $tpl['o_FontSize']; - - $fontkey = $this->FontFamily . $this->FontStyle; - if ($fontkey) - $this->CurrentFont =& $this->fonts[$fontkey]; - - return $this->tpl; - } else { - return false; - } - } - - /** - * Use a Template in current Page or other Template - * - * You can use a template in a page or in another template. - * You can give the used template a new size like you use the Image()-method. - * All parameters are optional. The width or height is calculated automaticaly - * if one is given. If no parameter is given the origin size as defined in - * beginTemplate() is used. - * The calculated or used width and height are returned as an array. - * - * @param int $tplidx A valid template-Id - * @param int $_x The x-position - * @param int $_y The y-position - * @param int $_w The new width of the template - * @param int $_h The new height of the template - * @retrun array The height and width of the template - */ - function useTemplate($tplidx, $_x = null, $_y = null, $_w = 0, $_h = 0) { - if ($this->page <= 0) - $this->error('You have to add a page first!'); - - if (!isset($this->tpls[$tplidx])) - $this->error('Template does not exist!'); - - if ($this->_intpl) { - $this->_res['tpl'][$this->tpl]['tpls'][$tplidx] =& $this->tpls[$tplidx]; - } - - $tpl =& $this->tpls[$tplidx]; - $w = $tpl['w']; - $h = $tpl['h']; - - if ($_x == null) - $_x = 0; - if ($_y == null) - $_y = 0; - - $_x += $tpl['x']; - $_y += $tpl['y']; - - $wh = $this->getTemplateSize($tplidx, $_w, $_h); - $_w = $wh['w']; - $_h = $wh['h']; - - $tData = array( - 'x' => $this->x, - 'y' => $this->y, - 'w' => $_w, - 'h' => $_h, - 'scaleX' => ($_w / $w), - 'scaleY' => ($_h / $h), - 'tx' => $_x, - 'ty' => ($this->h - $_y - $_h), - 'lty' => ($this->h - $_y - $_h) - ($this->h - $h) * ($_h / $h) - ); - - $this->_out(sprintf('q %.4F 0 0 %.4F %.4F %.4F cm', $tData['scaleX'], $tData['scaleY'], $tData['tx'] * $this->k, $tData['ty'] * $this->k)); // Translate - $this->_out(sprintf('%s%d Do Q', $this->tplprefix, $tplidx)); - - $this->lastUsedTemplateData = $tData; - - return array('w' => $_w, 'h' => $_h); - } - - /** - * Get The calculated Size of a Template - * - * If one size is given, this method calculates the other one. - * - * @param int $tplidx A valid template-Id - * @param int $_w The width of the template - * @param int $_h The height of the template - * @return array The height and width of the template - */ - function getTemplateSize($tplidx, $_w = 0, $_h = 0) { - if (!isset($this->tpls[$tplidx])) - return false; - - $tpl =& $this->tpls[$tplidx]; - $w = $tpl['w']; - $h = $tpl['h']; - - if ($_w == 0 and $_h == 0) { - $_w = $w; - $_h = $h; - } - - if($_w == 0) - $_w = $_h * $w / $h; - if($_h == 0) - $_h = $_w * $h / $w; - - return array("w" => $_w, "h" => $_h); - } - - /** - * See FPDF/TCPDF-Documentation ;-) - */ - public function SetFont($family, $style = '', $size = 0) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::SetFont'), $args); - } - - parent::SetFont($family, $style, $size); - - $fontkey = $this->FontFamily . $this->FontStyle; - - if ($this->_intpl) { - $this->_res['tpl'][$this->tpl]['fonts'][$fontkey] =& $this->fonts[$fontkey]; - } else { - $this->_res['page'][$this->page]['fonts'][$fontkey] =& $this->fonts[$fontkey]; - } - } - - /** - * See FPDF/TCPDF-Documentation ;-) - */ - function Image( - $file, $x = '', $y = '', $w = 0, $h = 0, $type = '', $link = '', $align = '', $resize = false, - $dpi = 300, $palign = '', $ismask = false, $imgmask = false, $border = 0, $fitbox = false, - $hidden = false, $fitonpage = false, $alt = false, $altimgs = array() - ) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::Image'), $args); - } - - $ret = parent::Image($file, $x, $y, $w, $h, $type, $link); - if ($this->_intpl) { - $this->_res['tpl'][$this->tpl]['images'][$file] =& $this->images[$file]; - } else { - $this->_res['page'][$this->page]['images'][$file] =& $this->images[$file]; - } - - return $ret; - } - - /** - * See FPDF-Documentation ;-) - * - * AddPage is not available when you're "in" a template. - */ - function AddPage($orientation = '', $format = '', $keepmargins = false, $tocpage = false) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::AddPage'), $args); - } - - if ($this->_intpl) - $this->Error('Adding pages in templates isn\'t possible!'); - - parent::AddPage($orientation, $format); - } - - /** - * Preserve adding Links in Templates ...won't work - */ - function Link($x, $y, $w, $h, $link, $spaces = 0) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::Link'), $args); - } - - if ($this->_intpl) - $this->Error('Using links in templates aren\'t possible!'); - - parent::Link($x, $y, $w, $h, $link); - } - - function AddLink() { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::AddLink'), $args); - } - - if ($this->_intpl) - $this->Error('Adding links in templates aren\'t possible!'); - return parent::AddLink(); - } - - function SetLink($link, $y = 0, $page = -1) { - if (is_subclass_of($this, 'TCPDF')) { - $args = func_get_args(); - return call_user_func_array(array($this, 'TCPDF::SetLink'), $args); - } - - if ($this->_intpl) - $this->Error('Setting links in templates aren\'t possible!'); - parent::SetLink($link, $y, $page); - } - - /** - * Private Method that writes the form xobjects - */ - function _putformxobjects() { - $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; - reset($this->tpls); - foreach($this->tpls AS $tplidx => $tpl) { - - $p=($this->compress) ? gzcompress($tpl['buffer']) : $tpl['buffer']; - $this->_newobj(); - $this->tpls[$tplidx]['n'] = $this->n; - $this->_out('<<'.$filter.'/Type /XObject'); - $this->_out('/Subtype /Form'); - $this->_out('/FormType 1'); - $this->_out(sprintf('/BBox [%.2F %.2F %.2F %.2F]', - // llx - $tpl['x'] * $this->k, - // lly - -$tpl['y'] * $this->k, - // urx - ($tpl['w'] + $tpl['x']) * $this->k, - // ury - ($tpl['h'] - $tpl['y']) * $this->k - )); - - if ($tpl['x'] != 0 || $tpl['y'] != 0) { - $this->_out(sprintf('/Matrix [1 0 0 1 %.5F %.5F]', - -$tpl['x'] * $this->k * 2, $tpl['y'] * $this->k * 2 - )); - } - - $this->_out('/Resources '); - - $this->_out('<_res['tpl'][$tplidx]['fonts']) && count($this->_res['tpl'][$tplidx]['fonts'])) { - $this->_out('/Font <<'); - foreach($this->_res['tpl'][$tplidx]['fonts'] as $font) - $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); - $this->_out('>>'); - } - if(isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images']) || - isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) - { - $this->_out('/XObject <<'); - if (isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images'])) { - foreach($this->_res['tpl'][$tplidx]['images'] as $image) - $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); - } - if (isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) { - foreach($this->_res['tpl'][$tplidx]['tpls'] as $i => $tpl) - $this->_out($this->tplprefix . $i . ' ' . $tpl['n'] . ' 0 R'); - } - $this->_out('>>'); - } - $this->_out('>>'); - - $this->_out('/Length ' . strlen($p) . ' >>'); - $this->_putstream($p); - $this->_out('endobj'); - } - } - - /** - * Overwritten to add _putformxobjects() after _putimages() - * - */ - function _putimages() { - parent::_putimages(); - $this->_putformxobjects(); - } - - function _putxobjectdict() { - parent::_putxobjectdict(); - - if (count($this->tpls)) { - foreach($this->tpls as $tplidx => $tpl) { - $this->_out(sprintf('%s%d %d 0 R', $this->tplprefix, $tplidx, $tpl['n'])); - } - } - } - - /** - * Private Method - */ - function _out($s) { - if ($this->state == 2 && $this->_intpl) { - $this->tpls[$this->tpl]['buffer'] .= $s . "\n"; - } else { - parent::_out($s); - } - } -} +Error('This method is only usable with FPDF. Use TCPDF methods startTemplate() instead.'); + return; + } + + if ($this->page <= 0) + $this->error("You have to add a page to fpdf first!"); + + if ($x == null) + $x = 0; + if ($y == null) + $y = 0; + if ($w == null) + $w = $this->w; + if ($h == null) + $h = $this->h; + + // Save settings + $this->tpl++; + $tpl =& $this->tpls[$this->tpl]; + $tpl = array( + 'o_x' => $this->x, + 'o_y' => $this->y, + 'o_AutoPageBreak' => $this->AutoPageBreak, + 'o_bMargin' => $this->bMargin, + 'o_tMargin' => $this->tMargin, + 'o_lMargin' => $this->lMargin, + 'o_rMargin' => $this->rMargin, + 'o_h' => $this->h, + 'o_w' => $this->w, + 'o_FontFamily' => $this->FontFamily, + 'o_FontStyle' => $this->FontStyle, + 'o_FontSizePt' => $this->FontSizePt, + 'o_FontSize' => $this->FontSize, + 'buffer' => '', + 'x' => $x, + 'y' => $y, + 'w' => $w, + 'h' => $h + ); + + $this->SetAutoPageBreak(false); + + // Define own high and width to calculate possitions correct + $this->h = $h; + $this->w = $w; + + $this->_intpl = true; + $this->SetXY($x + $this->lMargin, $y + $this->tMargin); + $this->SetRightMargin($this->w - $w + $this->rMargin); + + if ($this->CurrentFont) { + $fontkey = $this->FontFamily . $this->FontStyle; + $this->_res['tpl'][$this->tpl]['fonts'][$fontkey] =& $this->fonts[$fontkey]; + + $this->_out(sprintf('BT /F%d %.2f Tf ET', $this->CurrentFont['i'], $this->FontSizePt)); + } + + return $this->tpl; + } + + /** + * End Template + * + * This method ends a template and reset initiated variables on beginTemplate. + * + * @return mixed If a template is opened, the ID is returned. If not a false is returned. + */ + function endTemplate() { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::endTemplate'), $args); + } + + if ($this->_intpl) { + $this->_intpl = false; + $tpl =& $this->tpls[$this->tpl]; + $this->SetXY($tpl['o_x'], $tpl['o_y']); + $this->tMargin = $tpl['o_tMargin']; + $this->lMargin = $tpl['o_lMargin']; + $this->rMargin = $tpl['o_rMargin']; + $this->h = $tpl['o_h']; + $this->w = $tpl['o_w']; + $this->SetAutoPageBreak($tpl['o_AutoPageBreak'], $tpl['o_bMargin']); + + $this->FontFamily = $tpl['o_FontFamily']; + $this->FontStyle = $tpl['o_FontStyle']; + $this->FontSizePt = $tpl['o_FontSizePt']; + $this->FontSize = $tpl['o_FontSize']; + + $fontkey = $this->FontFamily . $this->FontStyle; + if ($fontkey) + $this->CurrentFont =& $this->fonts[$fontkey]; + + return $this->tpl; + } else { + return false; + } + } + + /** + * Use a Template in current Page or other Template + * + * You can use a template in a page or in another template. + * You can give the used template a new size like you use the Image()-method. + * All parameters are optional. The width or height is calculated automaticaly + * if one is given. If no parameter is given the origin size as defined in + * beginTemplate() is used. + * The calculated or used width and height are returned as an array. + * + * @param int $tplidx A valid template-Id + * @param int $_x The x-position + * @param int $_y The y-position + * @param int $_w The new width of the template + * @param int $_h The new height of the template + * @retrun array The height and width of the template + */ + function useTemplate($tplidx, $_x = null, $_y = null, $_w = 0, $_h = 0) { + if ($this->page <= 0) + $this->error('You have to add a page first!'); + + if (!isset($this->tpls[$tplidx])) + $this->error('Template does not exist!'); + + if ($this->_intpl) { + $this->_res['tpl'][$this->tpl]['tpls'][$tplidx] =& $this->tpls[$tplidx]; + } + + $tpl =& $this->tpls[$tplidx]; + $w = $tpl['w']; + $h = $tpl['h']; + + if ($_x == null) + $_x = 0; + if ($_y == null) + $_y = 0; + + $_x += $tpl['x']; + $_y += $tpl['y']; + + $wh = $this->getTemplateSize($tplidx, $_w, $_h); + $_w = $wh['w']; + $_h = $wh['h']; + + $tData = array( + 'x' => $this->x, + 'y' => $this->y, + 'w' => $_w, + 'h' => $_h, + 'scaleX' => ($_w / $w), + 'scaleY' => ($_h / $h), + 'tx' => $_x, + 'ty' => ($this->h - $_y - $_h), + 'lty' => ($this->h - $_y - $_h) - ($this->h - $h) * ($_h / $h) + ); + + $this->_out(sprintf('q %.4F 0 0 %.4F %.4F %.4F cm', $tData['scaleX'], $tData['scaleY'], $tData['tx'] * $this->k, $tData['ty'] * $this->k)); // Translate + $this->_out(sprintf('%s%d Do Q', $this->tplprefix, $tplidx)); + + $this->lastUsedTemplateData = $tData; + + return array('w' => $_w, 'h' => $_h); + } + + /** + * Get The calculated Size of a Template + * + * If one size is given, this method calculates the other one. + * + * @param int $tplidx A valid template-Id + * @param int $_w The width of the template + * @param int $_h The height of the template + * @return array The height and width of the template + */ + function getTemplateSize($tplidx, $_w = 0, $_h = 0) { + if (!isset($this->tpls[$tplidx])) + return false; + + $tpl =& $this->tpls[$tplidx]; + $w = $tpl['w']; + $h = $tpl['h']; + + if ($_w == 0 and $_h == 0) { + $_w = $w; + $_h = $h; + } + + if($_w == 0) + $_w = $_h * $w / $h; + if($_h == 0) + $_h = $_w * $h / $w; + + return array("w" => $_w, "h" => $_h); + } + + /** + * See FPDF/TCPDF-Documentation ;-) + */ + public function SetFont($family, $style = '', $size = 0) { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::SetFont'), $args); + } + + parent::SetFont($family, $style, $size); + + $fontkey = $this->FontFamily . $this->FontStyle; + + if ($this->_intpl) { + $this->_res['tpl'][$this->tpl]['fonts'][$fontkey] =& $this->fonts[$fontkey]; + } else { + $this->_res['page'][$this->page]['fonts'][$fontkey] =& $this->fonts[$fontkey]; + } + } + + /** + * See FPDF/TCPDF-Documentation ;-) + */ + function Image( + $file, $x = '', $y = '', $w = 0, $h = 0, $type = '', $link = '', $align = '', $resize = false, + $dpi = 300, $palign = '', $ismask = false, $imgmask = false, $border = 0, $fitbox = false, + $hidden = false, $fitonpage = false, $alt = false, $altimgs = array() + ) { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::Image'), $args); + } + + $ret = parent::Image($file, $x, $y, $w, $h, $type, $link); + if ($this->_intpl) { + $this->_res['tpl'][$this->tpl]['images'][$file] =& $this->images[$file]; + } else { + $this->_res['page'][$this->page]['images'][$file] =& $this->images[$file]; + } + + return $ret; + } + + /** + * See FPDF-Documentation ;-) + * + * AddPage is not available when you're "in" a template. + */ + function AddPage($orientation = '', $format = '', $keepmargins = false, $tocpage = false) { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::AddPage'), $args); + } + + if ($this->_intpl) + $this->Error('Adding pages in templates isn\'t possible!'); + + parent::AddPage($orientation, $format); + } + + /** + * Preserve adding Links in Templates ...won't work + */ + function Link($x, $y, $w, $h, $link, $spaces = 0) { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::Link'), $args); + } + + if ($this->_intpl) + $this->Error('Using links in templates aren\'t possible!'); + + parent::Link($x, $y, $w, $h, $link); + } + + function AddLink() { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::AddLink'), $args); + } + + if ($this->_intpl) + $this->Error('Adding links in templates aren\'t possible!'); + return parent::AddLink(); + } + + function SetLink($link, $y = 0, $page = -1) { + if (is_subclass_of($this, 'TCPDF')) { + $args = func_get_args(); + return call_user_func_array(array($this, 'TCPDF::SetLink'), $args); + } + + if ($this->_intpl) + $this->Error('Setting links in templates aren\'t possible!'); + parent::SetLink($link, $y, $page); + } + + /** + * Private Method that writes the form xobjects + */ + function _putformxobjects() { + $filter=($this->compress) ? '/Filter /FlateDecode ' : ''; + reset($this->tpls); + foreach($this->tpls AS $tplidx => $tpl) { + + $p=($this->compress) ? gzcompress($tpl['buffer']) : $tpl['buffer']; + $this->_newobj(); + $this->tpls[$tplidx]['n'] = $this->n; + $this->_out('<<'.$filter.'/Type /XObject'); + $this->_out('/Subtype /Form'); + $this->_out('/FormType 1'); + $this->_out(sprintf('/BBox [%.2F %.2F %.2F %.2F]', + // llx + $tpl['x'] * $this->k, + // lly + -$tpl['y'] * $this->k, + // urx + ($tpl['w'] + $tpl['x']) * $this->k, + // ury + ($tpl['h'] - $tpl['y']) * $this->k + )); + + if ($tpl['x'] != 0 || $tpl['y'] != 0) { + $this->_out(sprintf('/Matrix [1 0 0 1 %.5F %.5F]', + -$tpl['x'] * $this->k * 2, $tpl['y'] * $this->k * 2 + )); + } + + $this->_out('/Resources '); + + $this->_out('<_res['tpl'][$tplidx]['fonts']) && count($this->_res['tpl'][$tplidx]['fonts'])) { + $this->_out('/Font <<'); + foreach($this->_res['tpl'][$tplidx]['fonts'] as $font) + $this->_out('/F' . $font['i'] . ' ' . $font['n'] . ' 0 R'); + $this->_out('>>'); + } + if(isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images']) || + isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) + { + $this->_out('/XObject <<'); + if (isset($this->_res['tpl'][$tplidx]['images']) && count($this->_res['tpl'][$tplidx]['images'])) { + foreach($this->_res['tpl'][$tplidx]['images'] as $image) + $this->_out('/I' . $image['i'] . ' ' . $image['n'] . ' 0 R'); + } + if (isset($this->_res['tpl'][$tplidx]['tpls']) && count($this->_res['tpl'][$tplidx]['tpls'])) { + foreach($this->_res['tpl'][$tplidx]['tpls'] as $i => $tpl) + $this->_out($this->tplprefix . $i . ' ' . $tpl['n'] . ' 0 R'); + } + $this->_out('>>'); + } + $this->_out('>>'); + + $this->_out('/Length ' . strlen($p) . ' >>'); + $this->_putstream($p); + $this->_out('endobj'); + } + } + + /** + * Overwritten to add _putformxobjects() after _putimages() + * + */ + function _putimages() { + parent::_putimages(); + $this->_putformxobjects(); + } + + function _putxobjectdict() { + parent::_putxobjectdict(); + + if (count($this->tpls)) { + foreach($this->tpls as $tplidx => $tpl) { + $this->_out(sprintf('%s%d %d 0 R', $this->tplprefix, $tplidx, $tpl['n'])); + } + } + } + + /** + * Private Method + */ + function _out($s) { + if ($this->state == 2 && $this->_intpl) { + $this->tpls[$this->tpl]['buffer'] .= $s . "\n"; + } else { + parent::_out($s); + } + } +} diff --git a/htdocs/index.php b/htdocs/index.php index c13c15d80eb..70950fb0b26 100644 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -311,7 +311,7 @@ print ''."\n"; // Do not include sections without management permission // -require DOL_DOCUMENT_ROOT.'/core/class/WorkboardResponse.class.php'; +require DOL_DOCUMENT_ROOT.'/core/class/workboardresponse.class.php'; // Number of actions to do (late) if (! empty($conf->agenda->enabled) && $user->rights->agenda->myactions->read) @@ -407,10 +407,11 @@ $var=true; //Remove any invalid response //load_board can return an integer if failed or WorkboardResponse if OK -$valid_dashboardlines = array_filter($dashboardlines, function ($board) { - return $board instanceof WorkboardResponse; -}); - +$valid_dashboardlines=array(); +foreach($dashboardlines as $tmp) +{ + if ($tmp instanceof WorkboardResponse) $valid_dashboardlines[] = $tmp; +} $rowspan = count($valid_dashboardlines); foreach($valid_dashboardlines as $board) diff --git a/htdocs/install/doctemplates/askpricesupplier/index.html b/htdocs/install/doctemplates/askpricesupplier/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/install/doctemplates/askpricesupplier/template_askpricesupplier.odt b/htdocs/install/doctemplates/askpricesupplier/template_askpricesupplier.odt new file mode 100644 index 00000000000..8ece83c989c Binary files /dev/null and b/htdocs/install/doctemplates/askpricesupplier/template_askpricesupplier.odt differ diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index 4f31a728a1d..32f85a0860d 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -86,12 +86,15 @@ if (! is_writable($conffile)) // Check parameters +$is_sqlite = false; if (empty($db_type)) { print '
    '.$langs->trans("ErrorFieldRequired",$langs->transnoentities("DatabaseType")).'
    '; $error++; +} else { + $is_sqlite = ($db_type === 'sqlite' || $db_type === 'sqlite3' ); } -if (empty($db_host)) +if (empty($db_host) && ! $is_sqlite) { print '
    '.$langs->trans("ErrorFieldRequired",$langs->transnoentities("Server")).'
    '; $error++; @@ -101,7 +104,7 @@ if (empty($db_name)) print '
    '.$langs->trans("ErrorFieldRequired",$langs->transnoentities("DatabaseName")).'
    '; $error++; } -if (empty($db_user)) +if (empty($db_user) && ! $is_sqlite) { print '
    '.$langs->trans("ErrorFieldRequired",$langs->transnoentities("Login")).'
    '; $error++; @@ -773,7 +776,7 @@ function write_master_file($masterfile,$main_dir) * Save configuration file. No particular permissions are set by installer. * * @param string $conffile Path to conf file to generate/update - * @return void + * @return integer */ function write_conf_file($conffile) { diff --git a/htdocs/install/etape2.php b/htdocs/install/etape2.php index 1f6c5244d84..8c0e3f8ab5c 100644 --- a/htdocs/install/etape2.php +++ b/htdocs/install/etape2.php @@ -51,6 +51,9 @@ if ($dolibarr_main_db_type == "mysql") $choix=1; if ($dolibarr_main_db_type == "mysqli") $choix=1; if ($dolibarr_main_db_type == "pgsql") $choix=2; if ($dolibarr_main_db_type == "mssql") $choix=3; +if ($dolibarr_main_db_type == "sqlite") $choix=4; +if ($dolibarr_main_db_type == "sqlite3") $choix=5; + //if (empty($choix)) dol_print_error('','Database type '.$dolibarr_main_db_type.' not supported into etape2.php page'); // Now we load forced value from install.forced.php file. @@ -411,6 +414,7 @@ if ($action == "set") if ($choix==1) $dir = "mysql/functions/"; elseif ($choix==2) $dir = "pgsql/functions/"; elseif ($choix==3) $dir = "mssql/functions/"; + elseif ($choix==4) { $dir = "sqlite3/functions/"; } // Creation donnees $file = "functions.sql"; diff --git a/htdocs/install/fileconf.php b/htdocs/install/fileconf.php index 2c6a5730100..5dce328d04c 100644 --- a/htdocs/install/fileconf.php +++ b/htdocs/install/fileconf.php @@ -306,7 +306,7 @@ if (! empty($force_install_message)) $class='DoliDB'.ucfirst($type); include_once $dir."/".$file; - if ($type == 'sqlite') continue; // We hide sqlite because support can't be complete unti sqlit does not manage foreign key creation after table creation + if ($type == 'sqlite') continue; // We hide sqlite because support can't be complete until sqlite does not manage foreign key creation after table creation // Version min of database $versionbasemin=explode('.',$class::VERSIONMIN); @@ -320,7 +320,8 @@ if (! empty($force_install_message)) if ($type=='mysqli') { $testfunction='mysqli_connect'; $testclass=''; } if ($type=='pgsql') { $testfunction='pg_connect'; $testclass=''; } if ($type=='mssql') { $testfunction='mssql_connect'; $testclass=''; } - if ($type=='sqlite') { $testfunction=''; $testclass='PDO'; } + if ($type=='sqlite') { $testfunction=''; $testclass='PDO'; } + if ($type=='sqlite3') { $testfunction=''; $testclass='SQLite3'; } $option.=''; @@ -479,7 +481,7 @@ if (! empty($force_install_message)) jQuery(document).ready(function() { jQuery("#db_type").change(function() { - if (jQuery("#db_type").val()=='sqlite') { jQuery(".hidesqlite").hide(); } + if (jQuery("#db_type").val()=='sqlite' || jQuery("#db_type").val()=='sqlite3') { jQuery(".hidesqlite").hide(); } else { jQuery(".hidesqlite").show(); } }); diff --git a/htdocs/install/filelist.xml b/htdocs/install/filelist.xml index 64e33442297..7b7ed9c36ef 100644 --- a/htdocs/install/filelist.xml +++ b/htdocs/install/filelist.xml @@ -8,7 +8,7 @@ 46f56dc7dfff82250816df2bd2db313c 67798229e915f5841274ee70487feec4 -8d61cfa815ca3bb981582bcc7db0a6bd +e9fb1ad286fe67ee78fa8ce60a7be71c d41d8cd98f00b204e9800998ecf8427e @@ -19,7 +19,7 @@ 91885edae345ea489237442ebe3c8304 -706b9f915c400211b1c85c6ca6c11060 +6734d43389eded6e6ec04df0d0ac6a0c 4f72962320b42bab18deef783febd12b 6fe0eb8de0e5c45c09845bb8242fcb1c dacb01d46e370bb3bcc9574cd082f464 @@ -95,18 +95,18 @@ 68f0a32904f0ff877cb2c2820b38dc9b -083d2c1c63007a5a3487ec43bdd926d1 +00b0eb68f7ef07e9d614ae942f84e9a8 08194ccdf2c8801e9ce4acd3fc6a8829 -66a88729f0af41a466b40b1430f229f7 +422a9396b9040de1212afd253cc738aa 772b9a692d9998d6e7d8fd6e28ccb042 1f2562ebcb87267a49e9c8ec11f92d90 1e47fc4e62453875065109ef46259108 e8f85ee5f1ce535b1a6933f18ed09ba0 e047fd0ab0886550203c49269e7ad1ca 5f6244d1e0c7f706ccaed8c71240fc35 -4f7695bf300da817cbee7feffaa21508 +0b882db2159085006ffd37c772f7d8bf 10b05107d83798c17e2de027dfa923e6 fb72e6073af1b2f0763f9edfb4394d6c 942423fa65f36d20685e565e76434771 @@ -135,6 +135,7 @@ 90662aecd9eb51bf87b91f76d452381e 35b24d3c1592ad0e60c99c81a94be6b9 773f9a324037de24ba20edfa4f69099d +b791736af07760c81845b8fa160c6e39 858f4d351d6a865bccffef7fa262d99b 42b9d3d703feb637b4babe11190adb52 7f6bef974f62fb589b0c2d193750d714 @@ -142,7 +143,7 @@ 1ea47e3f2a830596d139ec65f559a508 2067170df6bc861d12d11a277986747a c1be7df4483ccc0e3b2ee08f977d911b -5f00bbdd645ef9bbf53ea25feeeac3f3 +15c0b5e011ee5e983f3f5c96db67d760 4489937620fe0ce4998a18b327a79cfa b447c8a39fa7d8217dfa5519af90e911 967aa7e79415181dfb2963777a90720d @@ -154,15 +155,15 @@ 41afb11aefb73a16398bd906a0201864 ef51c84433eab6197f43d0559f22fd4b -01cacadfbda4293ab21e779e06146085 +b2ee036efc506d6afd50dd7ac7ccc811 e79892f863bfba42a2658e43a2e8546b 978cfbff83d963db5c848161fc3ab286 69a64091740dccdfd8bd2f61df53fba3 dcce80148d3ea055836f7f38ab71f0c1 89a36b8dd5d33e53b92b491bc3edddfe 8b3806e68b169d4cd2c1320a5ab6fe8f -5abcc5736ddd1748f943313023e76de6 -937159f009bc845bd67dda6fc8c86b77 +3d6c42d646e2503f6a71b3618358f697 +46395deac9909d4a668bba6b94ee4c8a a08eb617d4122bc3972c2c04da32cb70 bf729609f42e090aed2a970401930e6d 2a6afbab650385179de02fe9205455d7 @@ -174,8 +175,8 @@ 2cf90126aba2b06f593f838a592ed66a 69be8c3d12533054535cbebb7d7efd07 0c89a620fdc2487c3cf242fa34acbfd6 -77a59143907052032b136e6883a0e1c2 -381ef356a676703edf225c3a56071002 +b3d4f333045789b87703c3c385194b0a +a5605b39b6125fc36ea7a6b083e30578 19e39ed2f2ac92ccec072d8d3d741104 0b3730d08a8d573f9195b07f58ccf09f 448ed84f8c692dae865030fdadfabb3e @@ -183,10 +184,10 @@ edcd9c936456f8945c9e05797b68a0c3 6ff462498bec936a81e4762d3fdbf31f 849d81f9f23ca9b07ea52367b4a666f5 -e549c764f41502093e349cd471306f3c +9af36af76afed9fe2efe0337be9ddf71 80f1b4396367b316403e0a81ae68c9ac cbafb5e0cfab93c9964b37d5c90b049c -f075b322db82ca5a1082e18033cea0f6 +c535a4a7b059b3963f5a5ddff9056faf a1ce81dd3436a5f87396dbc8213500d7 7b09d4f614806db46728a2fcf577f388 5343a79284c9127377a8827395d5b204 @@ -199,11 +200,11 @@ 0987559b12f37ae2490c1a5f5dd83076 32769f39902632408013c5860b088804 b3bf4266b0325db6ed8d9cd310cd2ef6 -a377699a88d8e920c8860ebb24aeacf2 -e62424215546778bde995edfa9692ca0 +4acbc9a5abb1a5d5afb9eaac8e18d34d +7e14eae5d5e6edcad2751240257a81f4 4bdf86d2111c1a361549dbb6523edb65 -105fea1b3cecab53fca1d10fde1a8823 -2887d01ae3349dff6c04d5902a5d6e5e +bc0db72496553e902eec64ef13a66b08 +8d97de9a3fac4e667f273bb41f920d93 6a605a7186f129ee54393898a6d9f4b0 5813003639fb8751dc574567dbf90989 114d8997f2920c105be850fc6ca8cdc1 @@ -253,7 +254,7 @@ 22cb27adf9a761ca0cb76e0e54b71890 3d9cc4ec66df38298e16365e009dfe66 26c66f78f5db62e9af07cb11280afc24 -368d57ca80f31c58192581ec7ca7f649 +9bba5c89e5dd034e4d6ddd1b19a8abd7 5c25310c78417e37fd75c8769e3c172f @@ -5349,64 +5350,108 @@ 3a316818411b5a80ef878dc5c8483950 -f4d6dda9a7e9a13fae9a0b5666a1af85 -26adcdd9610a48fcda8eddfd22fab072 -27f0f0c023d8775a7d970a0550caa3ef +3c06688411baa451d053f64eeccb1834 +bcb93bbeb8cf2831e49ff5541d277a1f +d306e9ad7b8b67464493c3281417afdc 6bb88a8a3d69511d1bf9e7af12ab5f47 -443543014f50021a6aab6e3dc45ed587 -a8231d248b1a221019ad16fdd605a9fd +2652ce7b4dcf00a1b07d8b1debedf867 +a1775d6ba3d8b76629dcdc2c1006048b +a874a391c41c223a007297af0fc82d71 0f6007361d5e4c8f34a2e83d402567b1 -b49ce165ab6bb7d90fd020bb3958ff1f -8ee3baf3211d960fc39e28c4e2a793c8 +a75033315ee90464410b47cc27ce9ff0 +bc1d75d2d4988d2ad9cac651bc44b8b3 +36cc4107f0d39d89b8031042c4159468 +8fd8e9a11cca513a4da0f25ff1a24149 +5af577705b43ce01285f2721a4850ac4 +2937220203e5a52762f5c9a4527e1988 +baadbf936466cfc106ae73e5f15dba89 +4fd59032d7c3a59fd45028bafa245721 191b3c2e856e750c06c0ba7987f902fb eb85dc872664c0769e9fab1b7540b4d5 -cc2cb448f60c5ecf61f6879aec325801 -d4836ebb5fa4e49eb36ba797c9f117e2 +17dfe118f580bc2a08e21e8104ef68eb +ad485022027867116de0bf6c25b1854a +5aeb1084e3a6ae5ef7ecc2bfc7a15592 +8702f5d6fbad08bf74378506ef376f83 +7596c070ac1bc839022e0a7aba2156ef +bcc98729a04598aecb86c451b91433ea +368af9ad30db4935e51b2109b9d4e9ca e0a7f23376f50de631db93814aff2e35 7ad3c70ef87d3657f918d3ee3649f31f -b2664e1ae97756c12114cb3371848ba2 +52b7639c5c4e35f33bb3c69cbfa0588d +a2a228f499608ddddeb2ba54834a5b7f c940b153fb6c5b3498efa181881b5b6c -fcc615d2a469180dd6a29ee6c04e866f -5a3660e46c91205c9203901c6b47cf8e +f9f9da534cce6a9124cc6b919329944b +287cb7bb6e6966708534cb9ed48d48ac +4775a411c20fe8fb13e9fb3a46629dc3 +9b2ce8f93949146d63dfef4d4784ad4c +18638db567f8b6fd7b1c6641ebf2c958 +463334491415afc3e56661e87196b4f8 +016527b52b6af2d6784fffeb23a2349b 2a315fa2593161154c319788f0ef2127 -544195d15ad41278307f99c79129ed72 -f163ef4cda9bb39f8abfcfcf2b683e0d +8b75ae7921f26b4f4b11d18ed921248e +7db990cc030127f1b64a4d3492f8f3e2 +afdcd64e0d7d78942401354d7f5f180d +51f6fe162641de3714866950d5eff4e8 +0a9d5e42c711a284436fa6f267e8ab85 +2c5e8a67d1a805aae9842bbad59a873f c22fdc8941f2956e0930b20105870468 +1f2386bedbebd633223278c1fd25109a +e0d060c7f70126e74c443b72ae560791 +20e28c8b386ddbb38ead777f717d7c44 96c6b586a6afb6d72dc8b93b30f844d5 -768d12956504372d4dcffea0f0bc2865 -39b329017c9d46eeb7f89f11e8540c96 -a01d7dccbd0a43d02a87035b60b5ca8c -8745faaac931fd3990eaad40b663a00d -82f254a1bc551aee1583bd6461b62cfe +351ce642d2008500c8780cce574acdb2 +fc1cb0e9030ce6b891319ce46dd8c434 +95bf00532c504c237041c4e3f04936a1 +bdf5ae55ea4d553beb785266dd0f9ffa +2894170c52a47ac02bf094bf047f1984 +fa8aa7a5c2077676637614809bc0ea0c +b8f1f393d7a247fdfe7668acf776e9d2 +35b71c6a8e678cdaa9d484ebab42c2ca +8f55434707b160cf1a8331d27e37e7e4 +4711cc4662b9136a881497c27b596135 +950310a6c12362b084a68b0cfa7f3373 +6ac17b4d7485fe73dd2d754ce2a0e2d9 +96fe7b1e5cd48c7332cf17b789f7af66 +02aac38356af65808e08e21f1ddd225d +bccc18d3b8c2b941ef7ef6602aab6c69 +de96058dc4fedbe4ccca03f9966ff743 3daad3713df02c15beebd09ceecacacd -0583253d3e49f14e3b6306fa788a6f66 -d0a111306e668d146a52e2299597888e -a722bf1cb509c0218c9b0d41386fdbbe +b8b582e30d3f3bd8867221dcc3dbf365 +75c68bb955477a99fc98600f5e1f40a3 +bf1c8fcdd3706774086cd133a6e04d45 +eee692f442eaec2b8291419a2017e50b +f9389202889738a0935be0d96f3aa609 +9b187fb3a908fb75b7b2a8573a4d13c4 c458a95a74915bb3e01102060bf3d27c -66a08a1e2a2405c7ad5affeca0f81b2f -4674617014723f062743145bd2952df7 +78fdf805f1cea6cd01912192821ec734 +34b9ef2cadf050ad58f391a7990c6975 +c0f60dd955a2bd3e6bace66eb362c9a5 +a5f3fbbef1831fe0bcd060edb6e5010b +c49883919b7912057b1ffad674a9c7c2 +99d8349acae8fcd95094364adf24dae2 +72b2fd6a41260897ef758436603d33a2 cacdbe68a428ae36151a3d1152b2b77b -1aa821a18b07bc7cba92552a372b8f9d -42f2f6e2122319a302b2769011897b2a -205fd4b7bc978688de8420087c161bcb +86c5b7ba9581a58bf6e465aea7d52e46 +3c4338d70de8c99a86b3ee15924172a1 +fb794db6e06fa3cf7479fc889894caf3 -0d24de61581243b069fb508efbc78a67 -561027d7adbd2358225866cba60568d2 +3abe66ba8da6b6bf9cf1c6b0e907d51d +9a29da1e201fb23de4f499adbb9f6a71 edd56d70cac390ef63feeef7e9d71b3f -75837274a0d67e19ee975aaef9e283ee +5f4ae32bd59400b8f788ac644b693ed2 8f83bbc144d70505672f82679546c72d -5c546b7f37191a754b6743a640c6a0cd +809d819fe86dc60509c0b39997fc0d4f 17bfd10e3232de9145f5b74a6ef6afac -bd2d14a110664154fc509e3d3f9421dd +67b77209f88a051d1a7dd39e6584212b b162a10416c2cba0be1ba5d979e19145 @@ -5756,8 +5801,13 @@ 93d0209adac1b1a2b4e3cf2173cf995a 20e95e9c16378e6ac4df49011220f904 + +778ee87bf2f490b2737b2575d6a8367d +36e0aff3d3354e60d6470d44c07d1760 +c6f393b8430b95f521554b427d675a68 + -4ad543978a9d6664dccfe0e58b428c5f +d2a5b87e5832c708a67b8718e6cb89bd 6bff9cf68d35e1f83c670731e270c91c f6b62af680035531c943bb9fe3f416a1 725a7d1d35aaa7deb29d8d7b68d5a7f9 @@ -5802,7 +5852,7 @@ 758456bd92e4f81e1fdff423d4f914ab -f80e903b3aef314dc7e173ba95324c56 +fc8213a4a5a98ee458ddacc6bdd363c4 edc900f68ee6af819ace6dc30b968d80 @@ -5814,7 +5864,7 @@ 69caa949b7e0f3137c6ce7482f38e0f8 -c234c6e7b71d97e977d881538fab1d5e +a040ae2fc7273f1761c0b6294465db86 a0fa0788291ee95ccb306b8aded3fce3 @@ -5837,13 +5887,13 @@ ac2861b424e2b7e30a532f37b33d6889 97bfaff0b5c453d074f05fef1fc4c3df 35433c33dbc3525adc99ba89816d3733 -45b742c58510d055adee01e93aa33ff3 +4aad58f34304117925aeb72dde0e16ec d41d8cd98f00b204e9800998ecf8427e 8ea20800d43bbdfdb20363355521c20c - + 9029f09e1592da49626e9fb5b6399e1e d71afb404b4f1946d241bc44ab27df8b 823e0c612e7de62db2d41adf37214bea @@ -5931,32 +5981,34 @@ af876c926d49c59376d8b6d642ce9f66 -b30fb8f9811c1fa4d96fb35456366a8d +2ba22b10ce887c66563fb062cab1d79c 5fa21d6616fd146640d8cb59d52fd6d2 -0425a56b168d7f707d31028ad6122c26 +62e1ab1273d5a8dba9003cf14e678f94 9f9e7fb20c0cfc32dd7879ea99bcb3a0 -fedfac2139ca74edbddaba770b52995e +9b6ecbb4d4ec11fe513ec2a724749201 d41d8cd98f00b204e9800998ecf8427e 5c09b3d75fcba736c3353468236e5338 688c47e56752db341e110657c4f6f4de -d6d72917df770c5f42763d5bafd71857 +6f0972a6d7681bb65406b323efa8c202 0a81d81144952f49baecb31cfc610fee -453d482e2c6217d080e4ba4ac382aff7 +85a44971ad662216ae35ee13cc448517 +3cfe3654b3fc16954d91d3968fe71e24 d41d8cd98f00b204e9800998ecf8427e -46ff31a1787666ae78665dcea6351800 +e4a89a0342afbc8771e9178a78677517 +0e38e1224840ed30469ccfc96cae5407 2e7c67c1f808b58e33a5d256c282f02f d41d8cd98f00b204e9800998ecf8427e -33d557efbd941e679c386377e63d949b +17cd44fc331db26f8a7eb438b6f83cd3 e122c4a3c7fd8e1814f52d447e2d1a87 @@ -5965,8 +6017,8 @@ 0ea32bda75dc7855fd061f23d129c35c -de6be0f3faeef94e762c4e1ea1def02d -f38b902b5ce63c83e6dc6ffe2f9cf0bb +c5afccdb1da5846e310db9f174201302 +ad942ced24fef3b0b541041a3ce20205 25b3ce6e2f12f227c4a1ac8db9fab357 @@ -5986,6 +6038,24 @@ d25255649d1fb417a7e7041ed86dc8c9 23a9fe711137f3cb4f06dd011d38c23b + +d41d8cd98f00b204e9800998ecf8427e +93f6a40587eabe04d03bd3e910a780c3 + + +9b2c6de73503cceb102e875a364f6626 +6c5d484bdf6d9ef4529adc17eb829766 +65e54e9e6458c353a92eeaafdb0d0022 + + +d41d8cd98f00b204e9800998ecf8427e +cff8400cdba7775f87330b11ec9a4a65 + + +8a6845f5a3f6180df651c1be45e24878 +bebba22e7a5fdb20a52dfcf1b64772a1 +477b247136b3b54b251d5257ed61ee19 + d41d8cd98f00b204e9800998ecf8427e 0ac7cc84f48f255d71c0be34442038c1 @@ -6000,7 +6070,7 @@ d41d8cd98f00b204e9800998ecf8427e 7d845e5c3c1ac2c7b1c49de0d7e1c7e9 -8d01e83c7ea6584ed8244fe84628bd7b +241877437e8750febbd662602dd0efcd abefa8f7d035ae87eb5b45b0c43843be @@ -6014,16 +6084,16 @@ a7a90ee73e8f7f25267dc0ed66b3d8aa -a7f47e13476c054174040b29f993c271 +c541711e1f2070a1cc8528e9991d7fed -3cf2e98145b2f736130d75ebce1998f2 +fb4334120f1d5c30e64da6c12d2c777f d41d8cd98f00b204e9800998ecf8427e 1d09e4bcc7c8b15b8870ee521b50f1f6 f94fa580d25989d4f7a0729699c794f4 -dcd7588470066bf274c070ea79bf0b3c +bdb60ef8622cea7e270534ffb78c9714 d41d8cd98f00b204e9800998ecf8427e @@ -6037,7 +6107,7 @@ d41d8cd98f00b204e9800998ecf8427e -c5b4ae74b2b2e938d18d6f91ae094157 +4cc2f72a3e23dd082248e7e1582b9cb1 502547de717912a19aca06ddd223995c 4c457d8c88e79b1bab6c830a9162e718 2395be35cede1fb715ef9a4e497300a0 @@ -6075,12 +6145,12 @@ d41d8cd98f00b204e9800998ecf8427e -8c73a6f5b6e511bc183fcf2b5c1f8783 +ff07e29c887a25d0261857b7bc9e1deb d41d8cd98f00b204e9800998ecf8427e 63a86b61d1158210eedd7055b3bfd935 -d9f10175f29b8f142255f95be2d07965 +dd4877a4d2778561d4ccdbdba4b8b76d 648275f02e4c1be714897110a9aae56c @@ -6097,9 +6167,9 @@ 2a452e950585fb39d94e41a414471df5 -4703a36c950de669ee918e763e014fe1 +4dfd0119f671aa86ba1405c9814b08b0 977109b651acad563d27a9f05efa820a -f0bd1599b002694c6ec351d6606921f4 +3fa0561c00883f627c54f080237ca03d d41d8cd98f00b204e9800998ecf8427e @@ -6112,9 +6182,9 @@ d41d8cd98f00b204e9800998ecf8427e 3e8b72640f3dd0117bde24b366b7a8f5 6a1a6da93f9c2d77d68c8edb90139899 -3285c87826c9621ebf4352cf2a3ee2a0 -8a1c4f997f37fb274bc58c905649c0e0 -2211e75d50ae16f94e147f2f05a85d91 +6f6227ce98c203851dcddd1f027a86d5 +4ae815a0b31e0c4b8b900b7da88ab8c1 +1806b43471d2254c540ce3ab52353877 d6e07b8cab924d1b1b4e7b467aad3e67 80c65c798aad65e52c21289ba4fc8db2 @@ -6152,29 +6222,29 @@ 926bd78111e0f27f638bb0705f92439b -8e16469fd236e9975f6a14a9e59c147c +7a998e3b11f1086c7953293442f3530a 37d695c0d624c79d4d5fa14dd131876e -040fcead42553050d648d53d01d642b6 +01ec301f4005d3565727c01ea5b63eb5 58e190fe5c72ba2cd4db99fd17aac7ac -212fcab202e934b30e6fcc7c5128ed3d -6a692cc606a48741b08fef765bdaec4c +a0668dc98834af718fd96f310c7f6003 +56db30e1de65b6fb81931cd4469be39b d41d8cd98f00b204e9800998ecf8427e 3d18b6afcda65c40d3e5b1565e0ae3f1 -0cde765c7d578d103c71dfc4197438c8 +091c302f41e52a36598a19df1860971f 4bac12077505462bd962adb666852966 -3ce4735205d14eef357f1fc90d655ece +22a2ab52185732bcafd64fbd4a68eea8 cc7d7a963ee9ef58ede0680241f53de1 ebb2e597917e22900853dfa300de88da d41d8cd98f00b204e9800998ecf8427e -5b69636b3ce9773a65a8750f65d31ee9 +2c6f884e37b89f861f19faba99009ecb 32df7d91f327cfdcd67d831f6e7535eb @@ -6297,10 +6367,11 @@ 1fce4641b42b1c6680093428f2ccada5 -f4306fe54c33047d10182d177f39b89f +255c511cf57d5c863564fd3ec0bae654 d41d8cd98f00b204e9800998ecf8427e 957b9030b18c319e7c1529a4ffc72b85 6b6851714ab5e4f9491c2500a26c8ceb +29dbab62db9356e1b3574520bf3fa8b6 6dee88d0cf667f9b940d2696690f6744 @@ -6314,24 +6385,27 @@ 5ef3117292cb272cb72190d67bda189d -25d6c35728da1df381db408e61137d98 +9e42ef4e51c3d0795c44215d8264acc4 ff890ffae74d79a90ade34016ffd241d 1e1d68cabdaa8e946ad786f083a114a1 080945adaf8304688ce778f8acc821fe a2546e7613e0c76e1c26692507f66836 8cc4b11d20b0e01eb7e7b7401c2f12c8 -190087a51700f34c1b861261d838a6cf +10740fb22bfc2ac1b339e9d784cb9c23 6cea8bdd89a385b695dda1279e3021fa -e48ba3cc3d7d8641f31fb4d1e1cce67a -fbe31176a2ece8671e34270b56ed9224 -cf7fe720eedb6cef5c6cb67feb5a31ea +c41cd25f077b172e0acff8f4e6830847 +ae990e59fea5de5b4483ff48d541723f +bd68e17f01cde910409d40075ec640bf 4aeaafb21fcc66d532de0612676423e5 b7c3b27785924f5b023754855bbe3177 -526b1578733967a53e9c7ea0d3687334 +537bb9602db6a018f9e12b2286bd26e6 9e2d3bb695cfcdfebe705c171aa299ec -d7f98378b22bf02d1e96caa8c354a518 +02e18a866ed73982a37672572da83321 60d139c55b1533b31a8fcd4150ac35ed -d02f3b80bd620e44b248b763a745c555 +cd235b4afb8a95d5975434d7526fd7d3 + + +a4a1f69d36f0c22e9eb2767ea3f0adbd d41d8cd98f00b204e9800998ecf8427e @@ -6341,11 +6415,11 @@ 6534c21938d98c00bad6449081c65979 42a382d9a7146ddbf4c31c3aa55d6623 7a69303716cb7dff3ae011d2202de8f8 -8c209ae5445bf45531c133034a243439 +9b9fe5839d3b4cdf2bd5bd8faae1206b b4987de205c69745a11bb3ca910cf99f -b9ef591e526bb7585e2e9e7224d9ce66 +61d3ec9976c54d1a116baee6582b4d8c 3beda9cd6565bab822fd85e21efcf733 @@ -6378,21 +6452,21 @@ 6648383dfcecce0fa8010ee26e19c029 10d80a81dab8b4b36bc477b7d06b2c89 d41d8cd98f00b204e9800998ecf8427e -bd966e5b800b4d63bc3884eb6c4dc944 +4c2e051a6a49ecd0ff1f82fe3c63118c f0e5ef9a4d74a8c802f1b67415f319a1 d67feaff91ea41dbdb614dce38ba542f 6a42f85c4852916c71548c179234aeef 0db78f95e23062feab46593d28704532 639d7ee6567e210b36ecae473c5ce5fd -14dcc1c1453ec2180a3bdc0cc53fc18d +f772672fe0aeee71dd5c6bfd8d14808e 2de8820df5ad2c53044c62ff4ad718b9 454ff3948173d81e3f0c7ac1b77fc91a 98b51504f52bc57c9d900d0fc1bdb4ab -84fca517a57320901e6f4d09aee570e5 -47fdbddb0716950e3754211aa67c8c43 +620414a7322b7ecf17e2644a9a3f80cb +9a92997f7f8d84b6ef1685765babe1e5 f01a62497c9a085386bdc7c1defae763 ea8f7edcca4e35f95a3f2b7eed940d90 -66809106d19298be518b4f947dc0f323 +7f6a63a8afc26cee7c61918fd7559f77 a14866ebe77e5755d7b9772210696e42 b28954162df69981caec0998d15b77cc 447cb865dedd025c82a0402a41d2253e @@ -6400,29 +6474,30 @@ 7b53b4073832d6097d69bdf50ccf5ba2 1b0a44d142ae00530558bf5a6562492d 6cbfa567b0f4153bbc7f74adfe6bb4d2 -b6f90f0325529e3a39ebe651d0f910e7 +efa61e935b3bddded6bf488f1c27109f 88379d7c5cf4379d141f0e277fc2d499 3c36fca38f15327101e2cc37493e60fa c3d1e1b3f31c8bc2c6ac7582205a85ab 2c4b8a901ebd2581714ea5b7db8ffd1b daff44759e4f9c193a667ed427ba5444 -29b823646e763c2e7a64098be3ba5130 +dd505607a04547e95b76e3821ae75568 +666a30d3eb073d969dae5b1f73fa7d2e f4d35924864fb87b787ab9a9925fb091 2cf0c82aa4ed8fa0e22c393b7f5ecee4 2cb5c8f2cf03c6df6d3b70394b454d1e c65c84d23e2a8ad950ca58a1a2ca90db 73aae48b832026e3d24c305f58743806 e7df06c253dee16873fac26b32670722 -d4ce19166b58327ea8fe72de57a8dd85 +0bb1fb4ad3250cc312d571055323db79 507d7fd927984729187a4891f616f37c ed773b5b64093d6017aecdf1ca79fef5 4b15299e9a1c837d8e32aafe9abb00d7 b418b86d6c9003364c5a060946082ccb 16f583734d76081ef1a4b44d1e0657a6 -4dd69e598e667405299c866a9277af26 -e07da2dad2151513bd8dcbfe29d43e3c +dcff719e866b3af9fd9555b5a5867d64 +e72a74aa70d48feb14c3a5fde6089fcc a239faf6b54526481abaffe15d1f594d -4b9010ae3ecbf6e792d3bfb687ea2ab7 +e28bd469ef1c049843bc41dbe0f84d66 fe33e132e503f32398fb9809fe51da85 4b85147a9ebfcb923038a17487822286 e639d0ea5fc52734d43abbba8262dbb0 @@ -6436,7 +6511,7 @@ d41d8cd98f00b204e9800998ecf8427e 80f54c48fa46d0aaa977e404035aadf5 febda7bf2f326668d1f627ea9f2230b1 -4e6602a9b00bab8fd936f4800a1014ec +4f695f9327d6b2361640731a09e99a33 fe8c6f4acebea37d34b626a537db0e29 90ffdb58422df4e942a1a90cf5225c11 f1a8c3f9d6af74c305810725f125691f @@ -6460,8 +6535,8 @@ 38da2f7fcc1f2fe80b87db53e8767282 51e003dd68580f4f37558726f8452b53 748938e5e5aadef1aef9a8b79362b1bc -e4a93615651fab4af7d9288cdcecc86e -6d73868eae09dc15710f4c71ea25d7a0 +0de6fae1b00ab6cd538ffeef40f045be +00de18319f0abfb4c50f76b60f3fa2e7 6b58f5c0cad8d233b94b0874a41e4c7d 9596a02e5898fe117ac4d2f080a1b3bf afee7ccb55d1420cc8e36da4657825d1 @@ -6469,7 +6544,7 @@ d2b5ecf5e328a75e984f342ec80a60e2 07e043e1c42a0fe90d2226eaacb013e2 4cd01a2e1b1d02f7bfaff7792fb45da9 -f12d4e2a7b8866e08c4635b6776c1b02 +81a2f4c5a6b5946b088aabf7f5e9404e ce24eb153015acfdeca2e5559cc41583 a969dd13ed2ab6f921564ecd22121515 c2ced639d9b476d69e952e110169346b @@ -6477,22 +6552,23 @@ 3e30f76aaabd46ad9759658b706af3f8 4d7e3a9cca8144dca5f184f23e63953a 60c540c4dfb653ef65e67a628645f590 -abb811eb8d79dbeb78f5e67711905618 -1653a3d486b7113e331b01813407091a +3c3312f639641a1e2f7d5eab79209b7f +604bdd7909398dc5d136d47f9fc4bf39 98ca2d412c720690b46b8bf566cf4fb5 a9d45ffd6281800146fcfb2e3ab90ab6 66b21a3ea2de0ae271e470c339c40d07 9bfcd5451fd684e35ed69b3912791a6c b416db3eacff1ad448692d14aadff327 -b37a46d1de1e9b957b33881225da36dd +c8f2877e5e9d05fde24a7c7059c145ed b0bd3479b483ba56d613a91242e0efdb 0bbc469b628cbc940ebdd59f2e218b6c e1ed3c24b7fa01be0254d5e6393237e5 0e5a8ff24a2f4bb98d5c6c732e57619a 811dbf5341b537fccdf98ff790cda72c d868ca6c92ed42be6d193a71b5ae5a7d -11709bdc16ba921e8fe3774a1c7aba5f +d3361d904c96677405ad3081d4bbfc4f 503104f81619bf8296bdd1893079765f +595325924223d40b0ea97c9df4ebfde4 aa7ebaddf8d815b3dfd1b3281f26de84 59519c8b2bd240bdfc50476ea344cf8a f68235c447fde10de92e0732d17258bd @@ -6502,7 +6578,7 @@ 3cfbb9ef9c493bf739d501114cbe798c 0d3a43a7afc190f34f52855f28a34e4f 48f9b2c134655de1b0f5f7d50f01b765 -b3c941e7ae9574a1330c98ce07aade9f +03f439fdc6137b29736006bd4bee8ec5 70c6fc7d08f3c562322c9f53273f1393 @@ -6547,7 +6623,7 @@ 8c78f30a301fd7c5092ed59d95f2f688 -db4b88a7cb7f2e983e9349a0564aa877 +841ebb62c8967f82132d6c19e372bdff f8bfc1daca01458dceb9aebc7ffb5ddf @@ -6578,10 +6654,12 @@ 79a20f938fb5d3f145447ae44db05477 f2a1930d9be82084b365ccc8819d8484 d41d8cd98f00b204e9800998ecf8427e +5468ba4d16d0e057cf45f0984a79ac2e 1de24508893015db0757ec63e74a8086 2ae8b7de36d0e4c3630977569bf93bd6 -7af81ecb2106b1ca78c310332a02c604 +050cbe3b9406a05a76f6a8d1c2fed6e6 2b19c3592fbed5e4bd96730f87af438c +69bb08052b60d7d59cbe0e6ff0e45089 de943e7a2b8a603c3ebc34507309a46d @@ -6603,7 +6681,7 @@ d41d8cd98f00b204e9800998ecf8427e 4553664f3a8bd058468c8fe3a6622db9 -86a595136563ba16d9b4fbb1cb97415c +7ffccecde85645232cd150f4ceb54f8d f0e4f84ac2849eef8c8da252f2a875fd fdc9f14617e70aba304986ff7e32811e @@ -6692,7 +6770,7 @@ 347df504c0b23da0ae91c9b5a344c1a2 d41d8cd98f00b204e9800998ecf8427e 9b301131818ad7072d10624d9fce65b8 -215929b6545fc8cfacbb7386e4cbedca +fd0799a717f127a9c48bcb11d33a4d72 d41d8cd98f00b204e9800998ecf8427e @@ -6717,7 +6795,7 @@ 80af429597316aca3852de474a686ff4 -391c970a033d0593a16fb904119818d7 +5a89df7d532fb5730ba5fa40e3fb4037 d41d8cd98f00b204e9800998ecf8427e @@ -6728,12 +6806,12 @@ 35063f32bb86ee8cd1460cc9b50460ba cc44ae6151419f24f801a399a8da8e9a -577a5a6dd151bcd7cf6d8fcbd70677e8 +1a4b02d31eef47e71fb394b5688cd663 d41d8cd98f00b204e9800998ecf8427e 6b8b8ce50599e40cb74603a883f5d49b -b6e05cae93872a350f3ca2352f15f6ea +2cce9a1d8bf4c822dda113e210bc4f6b d41d8cd98f00b204e9800998ecf8427e @@ -6764,11 +6842,11 @@ d41d8cd98f00b204e9800998ecf8427e -70b0380559e50123f150a6f30a4d6699 +be907e7e9b0ac5a24a34af01ec1c21a6 d41d8cd98f00b204e9800998ecf8427e -04876764536d2c0ff37e0f1c9035c639 +a64def4ba4a8a55272108f79d0667e39 3621a212806836a2b3ca23f601c1b670 b3f46a3f7cc553bcda255db88fd2309a @@ -6777,6 +6855,19 @@ 6bb3fb472a3ff31f31945a68bb806cde 29977b078710f6ebe992f5b534b7d897 e1efd5d8bc348da70c325a08fc8c37a8 + + +d175d0af5c450eb501bca361a275c309 +d41d8cd98f00b204e9800998ecf8427e +13e7a0e137341f5a38764ea645b425f8 + + +d41d8cd98f00b204e9800998ecf8427e +e4239be8b90a077f8afc116e683151c9 +751806f248816fea7429cc7c4132539b +ebf0a4412227a0b61ae52df0105d46fe + + 610022638254b2075ec4bba535c5fe37 @@ -6819,10 +6910,10 @@ d41d8cd98f00b204e9800998ecf8427e -6a04d0a55d694688b7a8e43c72f63891 +9f8ec55a2df1f58b2ebd299fae8a1c6d -5ba605e1b76e515803012ab67abe2e4a +bcc3831429d49ff3a32c645c64be2e0e 0276bf6040d05e80ab5f6c6910f6ddfc @@ -6837,10 +6928,10 @@ bea23817aaf13e638fc0e6d274b0a63f d41d8cd98f00b204e9800998ecf8427e 2f133b07231a558b4551cfe813b6dd92 -c304ed5cba54aec736b4550b472a1337 +ccba00148532ae0e30f6f1d082817c10 -36473125e09319a9870285bf7302b83e +83bd77075a70f4b3a661fb57a0f0212f d41d8cd98f00b204e9800998ecf8427e db3734d67e45bf4a5140fbb38effa947 @@ -6861,28 +6952,28 @@ d41d8cd98f00b204e9800998ecf8427e -bd77bec5b425c9fbc1a4830a3ccccaa6 +6be749cfe859aafce02b030d57362ad7 -60d1a2024e5d8c9d6cdc0c295a243652 +898b153724a1748b8ea360e0b94aba77 d41d8cd98f00b204e9800998ecf8427e d07b23771a6639fd5f6216da796ff343 -290e1eed5e28283e741bea66c30ec042 +b1328a661909e538f58d43197eac2a40 5cba7b9316b591829c756097ae0485cb d41d8cd98f00b204e9800998ecf8427e 1f669f066fd46b6c9ca05177e177ed23 -bef21989e641a45d0f362fcb97281341 +3c270b13f4a5b576799d30edf1b7061c 00b8f993b58e8278a8115fb82ba7db57 32cfbcb58d6ae71455e0c58f951f2849 -bbdf49461b8f7bfda4446af93641d362 +69db05aac79ae05729e3797abcc2f1d1 710958b3055ce271a53ebd4e6325eee4 @@ -6893,13 +6984,13 @@ d41d8cd98f00b204e9800998ecf8427e 4dfcdf4d3cb3af826834c1fbb852f513 -9ee40eca1f3111186855090e11978198 +08bd77ccf4ecfd2cccf23e9925909375 d787be1614e93a5b0dff651c2d1962b8 d41d8cd98f00b204e9800998ecf8427e fc2cd8f1b832bcd093d8f65cf48d6be1 -94d4a670a65a20356db9e332884b5b3e +eea69eebcbf32860db846f30a803b9e5 05afeb97327056d436d21d891b041057 @@ -6937,6 +7028,7 @@ e1e875671e566acb90ca03d16b7e63ed be1a34c1c77c5431dfcee9caaabcfd88 f71705be8958fd18f828eb64eb254202 +3be7925340a260d3ffccc912ede415b5 36602e78494c46c4704cc578d4fb90cd d0889baa672fc0c803bf11ba7f57f6b1 @@ -6956,7 +7048,7 @@ 1a47a847fe417086b3f0b8d467d35d1b b69b43bab30c28687680635f91a53017 311aab84570c363ed4ff7e5069f5d949 -fa7542a63fa8d175b25c6db3d460d8a2 +3f0df7430bd8ed69801318a62221f4b6 6ce7b2cb223fead83bb4294741e580e2 @@ -7001,8 +7093,8 @@ 6a4676f26cc4774608c53cd47ae76efa -5cdd42491af381a414bea885fb5c234a -8df084360e41bb5dcce4719ba16c4804 +3273ff24d482f29e015604a5a5190712 +6b13618c39c1ae78d6be5a9580a25daf a90e349b1dfda275772af8b109e8be6f @@ -7024,7 +7116,7 @@ d41d8cd98f00b204e9800998ecf8427e 86b05756ec73691d2b88e25bbce1e86a b123826d90b2ffa257bd9880c090a6ac -f454a5cbdd36bfd22d6240b85e503e3d +30a766af9cb25ef9be5c36d4823109f3 59d8e23aebde2396d3440271828f4e20 @@ -7068,7 +7160,7 @@ 1921a40ef2e203a9c7e33e33d8481630 -84c13b91d89d2ca2851e10c25a0cd166 +3bd4ca8f6d546fed7f45d59930fab106 3afe82801f5cd602354186397efe9210 @@ -7080,14 +7172,14 @@ 7d040a1858a6f1e8b3d8e7fc68b1b008 -2d1bc07a8c28954534f37204c02c33f5 +4515ffcb074f47a2d9a4af2766b074cb a267dd6d9a787dbaa95ee81e9812a81a d41d8cd98f00b204e9800998ecf8427e 90bc49dfe52d6be339781906352ddbdb b3586b44a75323dbf02f85aea44e25db -e4d79c5376e95d08abe328aefaee064f +d5cde2d518971a3d6bd1e682b7c42092 1699071ff4bb09210ac267d430c05352 @@ -7095,6 +7187,42 @@ 202fffca61e528efe134dd32a3a44c64 9db7bfe5fec55a085d9f0dec8717479c + +83e824012a7c92746e71afc022ecb636 + + +18df2d1590e825952abeb40304a9597a + + +596d7781222e476b027a59499fa2d92a +ffae59f2cf83f882b269e06e420602c3 +7dd46b8a806a7567c0a88a13fa4f905b + + +9b9b0157749548ed0fa38782aca9b1e1 +296f4be076bb584ea5779e3059648a53 + + +1b2ed3db48be32e106a6dd6351f324be +b1688c8a3bd5948865884f0eaf3a0251 + + +99bd91055f47d5a74f9c395d74fbab6c + + +74d1739c0d14cabc655cde37e2fb25a8 + + +81d6b2b51a9b495e2512ab0952fb3afa + + +3542838ab2e1d4ec2cdd98db328a247d +3645cf8b754a2925eb02025881aa3ffb + + +fd8e048c8923d556fd7ae7c5234ad474 +b9dce9a8342b0e0d203581e86770d28d + d9cb53a9d7329a35ccba6560d05ca39c @@ -7118,8 +7246,8 @@ 3b3a6cb8fed3de208bc9a97209fed209 -c4b52ea2075814429b8a00a486f74baf -3229eae002e5525f9b545644256aede8 +a42209411960f30b6b6e5e38bc560af4 +7855abdb54739fae3eb0ae1d5a18ecb2 583594a72118966d0ce436acbf5ab344 @@ -7132,10 +7260,10 @@ 1aaa761fff1db6880a873b2f7aba4769 -73b7987dbc53760d356ad398d8f31a6b +96ee353361cdd805d62109efa227f63d ffcd5053589c705062adeade31ce92f6 68dc3ea2cd9c6508a925df50fa011221 -95444b95d6bfbb4cc05bddb1fd2d430b +694616680b479a5a29cc4bcf08d2b0a9 deac83a4c0eda829eedb0f9136a1fae5 @@ -7204,9 +7332,8 @@ bda3f6f14b6ef2f298a116a9e5e4de47 d41d8cd98f00b204e9800998ecf8427e -14cf870bc89190b003d4b67d08399a82 9b4cf41fd9e3065e1849aff895a0999d -b9866ad3e2a12514c3062cf74a711f6e +b34de60c5a1ca8b6e1e0d1c614022e80 3b29a33fb5f50c27d39d0645b1d1d96b @@ -7221,50 +7348,51 @@ d41d8cd98f00b204e9800998ecf8427e -87a15a164f064663c4d567a67b877a14 +282d8a4bd07329456966b4a7a359ddc5 d41d8cd98f00b204e9800998ecf8427e -51b4e94e74766a82470e5ff6c5753cea +c0b5fb2dce5b0a621a8653d6db38785c 3d863d079d9ebd0a4d6450acbed047f3 -68ef70376e6452b0db41d188de3e7309 +2ff2dde238be1c2c76ff373412a78e9e d41d8cd98f00b204e9800998ecf8427e -583e353c57d884970f1753605d7ab749 +ec17764560eab22337e40b09dab7fa84 bc584ec274c28d5fd6bc06909523cb8d -447dafbb6d90617a37c7f8e9038d2d45 -5d709c9a142b17a1cd1439197ac62ff2 +db597412bbafac95b4df7c52007804d3 +0950ed07fcf3abc1d21340fcc9d51be9 +138f3da6669669416a9600e7bcf485ec -e01dc79eab31ca899f8bd155d989482e -9946885ee4e9044e9a3fab8e6bf4f0c1 -8574e2c0ea7292d815892d241b029a73 +bdabc11685cbe7bcd760143cc3431e3f +4b52f2ecd9144b4fc8cf9484c23157af +b0599b42b4a17c1d140801a1b2dbfcc1 0529ddc77e8c681c33c47b9b7687e810 faa2eda13c5607ace72e34e9c0966a0c b704dae630c7215138b1f90caf77b450 -285e61a9ffd5231adede10df1871ab5d -714867efd7c071524ee3b0b4667a3ddd -9477e6a93b94cf81c26b5cbcd7f7fd67 +5da52c371983bff1e44d50c00565aa5c +dc5cd8b4ba8b06cf2c836d35f5117a5a +4fb1cb61faf463c209fddd1bb0b3ff81 d41d8cd98f00b204e9800998ecf8427e -d2d4f3c4b03e226a2ae751d35adc84c7 -f60aa8f7e04400f4af3bab2ea21f3383 +b03a23d99ff8934ba5a850184a0b0d0c +c86ea16e4f10b94df31701289c00b4ab -9ad62e69014ff23f232dcc43859b6018 -c741e135218d1dbfbcc03a6a4e0271a9 -1960bfd361ca2e7b2582c1633c35b0a3 +0896aa5a8e5444e0bb03ae80c097e82d +dd5996e0d69cf32275d6870b55b56bfa +c7e4e70e698600098ac2c42e411db419 07fe07a999542e322404d77a30264169 -18296a04b5d36082d8afca4e449f1ee6 -87f5b2af13b175d47eca8a33bcc68005 +86aac7d09e8e3ac69c3279b861b80968 +93cad33fd939e06b959b63c019777d91 43cc87a6b84afe612af178e9c0945279 @@ -7321,7 +7449,7 @@ d41d8cd98f00b204e9800998ecf8427e 7bd2acd718a001933d1b9723411d4371 6288df74fb85f7c954c18bf614aafcd3 -845e63a81a5b8edfa079c2fec094d6e1 +aed3cd0e313e75338a46d0dc30bb718c 55cc97fa2026cc42b4771d975b45fedb @@ -7345,7 +7473,7 @@ d41d8cd98f00b204e9800998ecf8427e cbf93873197cf6bdd0e36cd66d2a87c8 -86da383df93404580615782f4265bcb8 +009c4b4f2f9ed03cb27e8a74b3839136 2758f3882de560e1d11d208959c0627e @@ -7364,27 +7492,26 @@ ab88360e0141e3ddb3c8be3ee745008b -099c61f85742fec38c0e6fedff80d7eb -f15cbc07a79882808b31c59831725260 -2f76a335578ef4412e9b3b4a222ccb08 +f81a579ee5ec1adcd1a1de6fce3cb5c8 +5aad4002fc93b2b92d994edbbf95c50b 6fe5e34cc37004b4342377afa27fe78e 65306d3a5faf1ede100f0b433e707aa9 d41d8cd98f00b204e9800998ecf8427e -5baae840658acdb066b3294b07d6ed63 -e2e322bda8e0a19f571796b5ca46a266 +d6814238960c3d3ae89a8748af2cd846 +1dc3d6a1dd909a8a58fe8eca47ead5ac 87ab6c05827eaa2db8236ca2c0262ead -04e84d93b6851156225d86b33bc68056 +1d878883bffeb35ff573a04d207a7938 748fa3c47dca5861db4a736455d0f981 -762d623e34cb8c1d8b575801543027c8 -e99a525c7011b5cc748b27040716cfd1 +b3cf8bd9552d63ecc9746ca05452bf2f +674268c96f941fc5a6cd52da5fb0fd43 abcdf41603da0d617bee025c713adb41 c7c981cbe885fadb6853ac3250aab799 b9a967a29731ccf78b3693d680e3790a -848ba012f7bb08ead96269cac742157a +4a04cfbfb8d5f124746c3e2cd8007186 ccf2ea9b4262741181a0cff7c620146c @@ -7409,7 +7536,7 @@ 76e6aec3a1262b7b199fd88ae651d049 -1d00dfe3dd378ed263a943b10148ffb6 +a3148c5d3f8b6a38cf976cc250985d9f 479aca46b8b848649e96c290319deff5 @@ -7432,9 +7559,9 @@ 4c3fefbce8919598e7f04618a3e54ea2 -03f893c7c0667770a66ed0fd11f1a710 +a63bc90ab57ab5555e882b8db7130b63 d41d8cd98f00b204e9800998ecf8427e -0d39677613072296fbda7f35c0ed9d70 +60a4cd8e106aecadb8d082876de57a25 d60fa512ab394825284751728195161c @@ -7444,10 +7571,10 @@ cf7beba0674c611eca3eb40103a9d56d -c61793fa62504e540c4c08fc387776f1 +be4909eb830f52517bb34572822210b6 d41d8cd98f00b204e9800998ecf8427e cf3df8807edf32bdf31d3d0d148cba77 -d93f9826f6e8ef4bc66e8a92ae30020e +1f61fc5521e5a125d27fce95bd4ae5dc 6d0f156645b7ce84c269ff3adb915803 @@ -7469,7 +7596,7 @@ 831e6575098342dfa342551494097a24 -062c91c56e9a1aacf0045ba9ef2d295c +c425f95f5b0e994be961e09520cde9b3 d6d047f9389cde6f11b9175ffda432ac @@ -7509,7 +7636,7 @@ af528677086b2c26806ac47af95d9d9d -fa82bbcd66e5d31ac2f43c52caaa4acc +43b599b8900f31fcd51d013ccac558b2 d41d8cd98f00b204e9800998ecf8427e @@ -7542,7 +7669,7 @@ fde1dac27ff95323136138883a8cb086 -020e671dfeaf92176c35766720c2b8ec +64e3aebc902234add5ddbc3714b778fc d41d8cd98f00b204e9800998ecf8427e @@ -7559,9 +7686,9 @@ b3c7a210b2be2599c7fe2af126eeb062 994337d7c14c76b4537aa2e748b48729 b77816831ef40cf1b79779e1ada51d8e -1b526413dd24dc7b5d6910cf07f3aa1a -319b65909579d3ec171265423a48e35e -d6a0e0fc84f08a62d144e63ccd0f798d +5446b7733bcb58774c487c717831a8f4 +dd0fa2140f5450e0f05d6555af374289 +ca4c5271c26dc0bd0f7537f2d4fe8d75 fe62c00b682dd677dbca4764d5f0fe97 @@ -7576,8 +7703,8 @@ 21055e6d625cd5dc3e805ededd1f350a -bcc15386db16f0050d01b4d80fe68dbd -d77e4af5d17f15fdfd920ec8fda7fc45 +aec47b386df0e0df628a1e31f109e998 +0f079eeaf763fe056f582fd3d821b216 95559609c47c88b112952073fb77410e b79674bb1410c34f6428a0e392318740 ee9a71add932db04def7fb3a6d8af20f @@ -7597,10 +7724,10 @@ ea1a3bd45013d291cafdce135ebbd13c -c78c359e1ac036fa9a991e635efbfac5 +5b0073ef255ade9c14c4d56a735c5684 221d0b581479c434f039e58da4718a8d a6f5b10b14e766e788351b506b6f6024 -48ac89c72e2794fbcbb1078e0fe7d9ba +f94ccfe8360d382460cf8aca0492b9a0 9423e6de63cf281df2bcda0892da0a88 c8506bcf84839f36e61a555912e7c31c 2e5082f8e6d7976945c0e8e951d5f261 @@ -7633,7 +7760,7 @@ bef639ba5d15fbe93aa7df26bf6c3a70 -32160cab79f75fc38ed26bb590037169 +70bd9741b82ec97e1e005663b8ee8671 d00dcd6a42cd0d91cbd5639c56a4b6a7 008656d6620cb1ef43935edc30fd2994 @@ -7641,15 +7768,15 @@ 7ab5486f4cec78b1c4d93a1df0d83b51 -8b9453a22ca4ec5cd5f504b0f3338238 +73644c7a9c7312b638a8de811c0f71b8 d41d8cd98f00b204e9800998ecf8427e -0e3fff0ddbce47ecce252c82a6e02fa7 +770001d8b9e70249a27cfc567e770219 f47f735ec8627b7b3e9ce6a5e1643d4c fff5ddf9542281c2d2568153781b4c73 16e1a29a5b79d4a3668b3a71ca3d86df -992dde85a7ee2f81661fd7a54abf7f89 +5aa861a485746b0cce73cee39a4eebc6 78a3befa9a3a9bdb40420e432352250b a42439ac674abe10958f58d747f7cde0 @@ -8029,19 +8156,19 @@ f1f34d8c0f864daa5e8ab56801027430 -b7454525aa100e079c56a92ef4866283 +831fe459f7d3606afc5482fbfbe85278 c3e50ad0d4c93692a2810e136ada70d7 ab274a62d5a3a8ab5f1e745725b83dfc c4e9cd5c18af616969894e4dceb95f97 462f3f2edf24c9118a0a6df7f00765fa -a7f112322d606a3807c6e4eff9bf9b1f +5b2e22d569f45024f23cd0f6c213ea86 90a76b121fb7fe4b51daad580591cc8c ef12ff29adae2685e120e58aa04e23bc bc8b10dd8cc1f841662dfdd87868197c 311cb7d4bf06cb181cfffb6e44ed5826 e1161971bb06488cabe9066c8e827741 -90086ae0090269082c6221cdaff54d9c -4573107d98f6599ed40b01012378fa81 +f7b4e392e8e49b03c37439ecd4210e83 +7528006b9faf6605713f4b2f19f19f17 3222e8667905ffdb07a756fa25a26bd9 c710e46b08ef99b41b5167db96309c81 f28164a5a95f0a8408bfa00f4a40680d @@ -8060,7 +8187,7 @@ 75fb4c310c4f0554d3ac9859d0c5b646 e337dc8e080a86ce2e187cf3a38d0b10 de30767cf0a5d454269ab9986fce13c0 -b84cc0bb32567be3d521af1a1d2b4cce +1c3f72b75a408faa2fd8b60944cc2533 34be9245428cb84ae31c992eb21f33d3 9eea13d3889d78fdbc614dea77011565 6f3b6f771da549d8e22263e795ddecaf @@ -8070,14 +8197,15 @@ fb5913e34a812d5fdf9e25b8ca8c9fb2 3c801db51ff672838b9306c63df460e0 51a8ed92619d4857e0eaddd369a14b38 -a4fcafdd9412d243c46e1b55d7911f2c +3687aa1cf5d5f099a8b746660efe601c 5f5e1f71ef91392a3edee6cdf5e03408 8cc192424d2a8a3a8439cf6c9e9c866d 228b0316d26bdd36e56a9158eea64ef6 59b195fcff4d3877045fee21c364d524 324f3b1c1afefe3296f76db472cbc9f6 -8d2578f24429a8c9863f267bd792fb16 -6ec9a9a11b06059192bcf4a71a34dd22 +4897fa688236216c771946add0f2564c +d01fdb1e6043fb26b049108da5e4df60 +d091b8b83cd5b9dfb948872eb9b9e4dc a171ba167ab22bbfd25e570f28bd8483 f0d89af2ab05f3af36e1a4edec69c7db 1a6980f79392b14b3a7e00db58f915ff @@ -9748,24 +9876,24 @@ be05aa1b12e3b558de747e470b5731c8 -c2f72a6d3ee9b7e45506ead106bc8f86 +65db64d894cf8b776148fc4324d16986 3262db34410c13ae4d777e263d779217 -d11569807aab1e77f9bcd96fe375bde9 +97af3c06de8fcf9955b0d09d7d2c7397 c08f79985fa33fe026ef475f840f87b1 -e61deb16dd6421608631ed5c1f671c6a -f71ca57649aece8045b66345a612e20a -48451fe44b83835898ec108b9d9bf866 +1a6a7ea85a76cb09bc7568856b7f9a28 +4a00c2ddb39f4e28db51f6d0f3283859 +385be3b28799de9f80d0ef46508efbdc 98fec0976eec22385c2b735cb80d7448 b7c27239e68ce6f51296820da50bfffa 60d670dc85d029ed1c3f63693d0d4288 186dbbf4b11a9684557157006bf2a232 -8e42376332e36c72edf33421d3f12bf8 -cb73d7bfbdae912945ec4d98c0d1ec9b +78663365fd9c3f521c456712bf1aaf17 +45ac46e656485f54c2e642c00ece251c cfc96587347a77604730af23372d747f -6b1538d4b9683808221f30ddad0414d8 +398d48fad9f224e2c8a811b7e63cfb5b f5f165bb15c6391fc12ebac3e0a0f3e6 555145f760c70cf34b190b7214e3b5cc -dd62bf79621c56e565feabc0b84574d0 +c4db7841d9ac141c2e07f986344cf10e 7508982db7d5e9e5c7fec3f096de32b0 aa86f6cb23c2ae8294bcbd6f2315e8ed c56f3ea358f24bb4e820768e948b416b @@ -9776,11 +9904,11 @@ 2da0a1995db50d0752d2e509a3bca37f 78f2edd4512d3859d13e1c90618932ff 10c2dcc555137e38039193ccedfc0cd3 -b0d093ebda261c4ac0a6bb982cfa41f0 +f3cb3a7da6c4a8e947856ce9a7529a90 418334153f5b6a5543f6cb5a28f3c82b -bac99d873d638b05891fda9f7c62d562 -021de63f1074cc73a6d83a3e83a5ae55 -c7f8ee7a8d27fb0d86b5386b8cd9a6f7 +c760d45b0959664fe5ef8f18e31cd4ae +d01ee19b9b423b0378dfb48c8a20b021 +914772c1d09c8268418beaafaf36313d 199dcc4ae427c0d0e5fbde6c0d2d2f99 57da58850de2f4591fc18e23473ba8ad 08fc6ae338f02d76f77339c8537012ba @@ -9799,8 +9927,8 @@ 7dcd96797a60b5e466e25990e534f588 1818aababec2539efc6cee74006d4d0c 16202ce23ad23f4f86fcbd0c5d16dea2 -83a5a0b9fdc95c8f1647075e8c63c00a -d95dd0afca51ee1616ffe9550cfc1f93 +2086b1a692e4c3cc5dbe6edbc87976d4 +8dcd21c1d37a27cc9a9f227a2b283388 87eae3bfbea127d8e90970cf3fe8a9a1 @@ -10153,8 +10281,9 @@ 9ff187bdce93767cf2f24dbb5b0a34c5 c04364a46b55ae75b65db731f040dbee 5437aca264069f35e46a3fc46f04c2d9 -438c872ca8fdb808934df640ad361350 +b00df950231dc8222d5a74855b0708b5 9d95d44e6045f242b1ad717ed35f195b +5f1f15ee0a4ecc70e93427b814af9489 cf750bc5baeb59198423a8ba9039fccf b50591f99fa324afaba5e4e1d15829f3 349416524f35254fa72144bc7e08f9a6 @@ -10188,15 +10317,16 @@ 1008cbc1e61ed90dfd79c57cd620c92b 46f6b55d98da9ef1ffec9b1d1a6125bd e4e03fc7d82d2da0126d8445f09f61c2 -7a0cedeb2e3c160aa33e736ebba6059e +03cdf6ba23e31c14abc2bb3a79b7472c fab14e1ece001f18e03308c4abd5d7b6 2bac51be88c59c5ee21511836859e221 0889424a15f7ae4d5147e680d379e3c0 b8357efaf2331cd36af04b80256e3181 5a0de7d0f34fd6f63ae32d20e0a32b9d a1fe9c904ea0bd6d6ea490b977432ffc -d98e38cacdacd9d7c74df773358d6e6f +f424ed5d8ad204b2ccfd39045ab44d3b 3bb797554b6eedd86f67a0c36e9918ec +89b6756ccb0d05b4191b704aafaf5803 9afb68804040e5f7d92d7c308b79f770 d7d2fd96c741b616945e848ade9f9539 7767ff394313f1229871b8ee58c26a99 @@ -10429,7 +10559,7 @@ 52517073ee32fd105af7fccfde018e29 -2fb346f0383dd975a301eca9a423c12a +ca1f6c3cde7a72fc33fa826f580ca872 d41d8cd98f00b204e9800998ecf8427e @@ -10440,17 +10570,17 @@ d41d8cd98f00b204e9800998ecf8427e -1ba9555290fac6190106a623ece3376f -3a9bf22080b7d3c4d3a154affe9d6095 +e4a286e635b8486ef952cd5e7c063272 +daa87eb4e5a5dec7a491a6313f9335c9 bdd80120aa3357c1ac276e8b2ffb81a6 -7cb5f8fa9f76dae5e107abfbc0e35d82 +720ce5f162f6879e42bd51a2e677966c 8326aa93734dd8035a04c12062e68ce4 d41d8cd98f00b204e9800998ecf8427e -a6eb7d29b6a4649096f384711efdf232 +529b00d17c929c47878ebeb1cf313267 099f9b1f56cae48a1b679ed282e3766d @@ -12286,6 +12416,7 @@ 2e0eb0e3d978cfc35b462a199aeded78 9e36c55b53a1b080066d9947a92d2ce3 9e36c55b53a1b080066d9947a92d2ce3 +8f120e35f8b6608fb34e38edf9a2687c a9e38adb81052e1178a2486de8a87c28 7389cc51b77b11b297ccce79048a1c7f 0474bee65715fc6918a92b668178be6c @@ -12350,7 +12481,7 @@ d41d8cd98f00b204e9800998ecf8427e -be5e2576e65fca0640a3e943edb7b4a2 +b7ac1e65cfb2226f71c4c585b87ef36d fd6a54cb5cf80f075d7687ad66dd2cb9 @@ -12368,20 +12499,20 @@ 11689e5722e4204b9d01e5e4483b92ef -cc97395704f8c817d0c92e81b4626429 +ba1182650ae38ce16735a2f783046f85 a20a84fb09238e216ab80d91674426b1 d41d8cd98f00b204e9800998ecf8427e 4b94e9ad89c520b4cc4ab986a1cfb5f8 -348ac1d0cc575dcee2a8bd3fe3da6096 +62867ac6e7f63524ba1bbd195e5504ef 96a92bc03a6ca67f39d363c36031dee7 db802ba04a77501799a7073600802c80 0e4f03114e8298dfc23bb94d0df5d390 5e1aea18f899b4a763a0291dcf1f2b90 -c6798747955c37d2da47a6753d831cf4 +f34e17319f0c0f4b26c44fed42091c3b eed35a94809263558ac663233eaa2f38 @@ -12390,44 +12521,153 @@ d41d8cd98f00b204e9800998ecf8427e -74d19c16439bec3b2eeabde4bb8b6b1d -15faab5d58a32bd40d3f163cfaf951b6 +2174cc25f7e4e713034396fa94be1c93 +8334218ca0707e5c27f28b6897c673e6 a1838ba6f718aeec0172bc6e9d90f4b6 -eb474eb2e1039037169aaacb91443c3e +1d1dd963b8dfb47170403042c4c86431 7770e9e8e3fb4b98bc149059c5bc9633 -7aece8343f1f3c70f617733955c2bce6 +b0fd3b28285996794ea374e10881da03 7b7cde9c324feeed6e94f50e1655ba40 3c77ad60389c5eaaa410ac4a176b3ab6 bdb99f4a1594eaf4923129f21035a88d 966129fc8b4d82883741779cf87ea57a -9c258004b01196601cc918cc09857b0a +a2252f5482460d20d054a1f7d36f4dbe + + +3064b1ab98d9562f84c353c586a36765 +4d843333d740ee7e132b9aba3ca84c79 + + +352318e7e91b1ea9e37097409c9907a4 + + +48e867f61a945a10e84ccc6b297b530d + + +decda684aa41b7e3d4c9cbd82c57bf16 + + +e85c36b02b54ca8575353e41a035ef98 + + +a9edd5331230715886153f1ac2535d10 +a76cbf5801d8a007cdf2b8d82534e922 +a7f9c53e667b559a168e9c669751b9b4 + + +09fd73462e6973de1e5b4d5ea13015f3 + + +c030f0ca220a0377d27db496ed8b5318 + + +4fbee2586602efafa0764319b427939f + + +2acaf08f39c54745ac076d2e907273a8 + + +628ed9cddef9a2221251063053805324 +1fa2e700c74403c7941380638b09d82c +75f02406119800a1604d0b579ef3e61b +4f45d10b5ee1f09cb3fe944a95d6862b +f2a7ed553bd2288e8618c2c270a904df + + +8e3e6864c5fc86e81a2fa2ab2a39c6cf + + +dc14015d4641c2ace184a65f28bbe2a8 + + +eb6922c389258f0bcdee9efd22fb92ce + + +8aa3a2b726bc259ba9d57cb66d1ebeee + + +569784a8bbe92385bb2e32740788ad5c +b31ffb415b0662026fc6b92c0f87953c + + +839af79be6bad3e0880427117aa63e1f + + +ced84ab2bf5bd9391ea24b6bc30e987d + + +1f34e4ab0ec69431bd6661f39e138684 + + +19399c45ec6fb7cd97adf8455d766818 +aee69fb06398d6982ddbd7a4c8462a50 +6802f7660d7b71d1684e3a0ad0472ad8 +5ace6d4ad483742bc7d0679a934ed312 + + +593cc9cb911cbd7433bc198d2e0ea7f5 +93c7eed93f34e0951873519d5c60df2b + + +d6051e8e91e3b9275fb3315c5f10bd4d +e4552f8e8c2cb90661b4d9693e13ba52 + + +a2621ad34bd5b20864c8cf669c3d8a93 +469ce28873bd63023d33e9738b52d92e +b98d1eb79425c7db97a6837942aa64f7 + + +8a6217da856e75f4de79612f74f12e9e + + +660ce536dc1d691a14b4cede3f8c25cc +7abe92af6f134fc8ab7b414ddfa9fdc3 +8a8f3a86b7714c89caddbe4bdc73af8f + + +1bf6a453a4d929acc0c868e4cf6bc083 +144997b030c9e8c99a686d3c8d17ead6 + + +7e9686417f83eab48e7d19d61b6a5f7f + + +060b91056472c88d12426eaddd919c41 +4a313ea27e6c40565d7381b271199751 +a911dbae66b9f63328e9033182ae455a + + +a9d6e5bf4ae47e75eacbee49bce7d945 +15a61b5570ae5be9f79bfd79f6ee6faa +df00595a449a2aa6ebd8e79c8aad37ee 9382e7efb69651b29045f2421d618717 0b959ec99ed9ee63f065c7d40454b9ec -ce4ff827937faf5800380ff9867324b5 +a7387351fcf1eaf404d6f7f41b178ca4 -be24a0530d2ce043c5f6df3e85e309b1 +2c0d16fc13d82dcc90011730fb8c32aa -dc472d539640920357d694745d5c7f9d +c660c836df813f50dfdfe793821cbb94 1ebef0db96238c1bd7372bea81b9761d 4a3747f8978a90ab4ed41be95c2f5695 4f9ad2e49a960637c6f48ee7c228ee0f 0e96616ba6ef78c2874b6c9fb9c10c7a -857ef0aa17df0f205806791dcd65427c -986e2f39e85074de9facf0ea7973f315 +9da09c907dca9a53fd16ba8b261e4f62 +6df215e0c6cc349308be769a25c4ce74 d41d8cd98f00b204e9800998ecf8427e diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index a7e66fbcf94..bac0ffe6eda 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -411,10 +411,10 @@ function pHeader($subtitle,$next,$action='set',$param='',$forcejqueryurl='') /** * Print HTML footer of install pages * - * @param string $nonext No button "Next step" + * @param integer $nonext No button "Next step" * @param string $setuplang Language code * @param string $jscheckfunction Add a javascript check function - * @param string $withpleasewait Add also please wait tags + * @param integer $withpleasewait Add also please wait tags * @return void */ function pFooter($nonext=0,$setuplang='',$jscheckfunction='', $withpleasewait=0) 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_stcomm.sql b/htdocs/install/mysql/data/llx_c_stcomm.sql index 65516a27476..e1bf526d489 100644 --- a/htdocs/install/mysql/data/llx_c_stcomm.sql +++ b/htdocs/install/mysql/data/llx_c_stcomm.sql @@ -31,8 +31,8 @@ -- delete from llx_c_stcomm; -insert into llx_c_stcomm (id,code,libelle) values (-1, 'ST_NO', 'Ne pas contacter'); -insert into llx_c_stcomm (id,code,libelle) values ( 0, 'ST_NEVER', 'Jamais contactƩ'); -insert into llx_c_stcomm (id,code,libelle) values ( 1, 'ST_TODO', 'A contacter'); -insert into llx_c_stcomm (id,code,libelle) values ( 2, 'ST_PEND', 'Contact en cours'); -insert into llx_c_stcomm (id,code,libelle) values ( 3, 'ST_DONE', 'ContactƩe'); +insert into llx_c_stcomm (id,code,libelle) values (-1, 'ST_NO', 'Do not contact'); +insert into llx_c_stcomm (id,code,libelle) values ( 0, 'ST_NEVER', 'Never contacted'); +insert into llx_c_stcomm (id,code,libelle) values ( 1, 'ST_TODO', 'To contact'); +insert into llx_c_stcomm (id,code,libelle) values ( 2, 'ST_PEND', 'Contact in progress'); +insert into llx_c_stcomm (id,code,libelle) values ( 3, 'ST_DONE', 'Contacted'); 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 7a432a1109e..73312c6c613 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 @@ -1165,3 +1165,9 @@ UPDATE llx_bank_url set url = REPLACE( url, 'fiche.php', 'card.php'); -- 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; + + +-- 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; + 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 old mode 100755 new mode 100644 index 84990967856..9475719732d --- a/htdocs/install/mysql/migration/3.7.0-3.8.0.sql +++ b/htdocs/install/mysql/migration/3.7.0-3.8.0.sql @@ -18,6 +18,63 @@ -- -- 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); +-- 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 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; + +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; @@ -112,6 +169,7 @@ ALTER TABLE llx_contratdet_extrafields ADD INDEX idx_contratdet_extrafields (fk_ 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; @@ -152,7 +210,7 @@ CREATE TABLE llx_expensereport ( fk_user_refuse integer DEFAULT NULL, fk_user_cancel integer DEFAULT NULL, fk_user_paid integer DEFAULT NULL, - fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validƩ (attente approb), 4=annulƩ, 5=approuvƩ, 6=payed, 99=refusƩ + 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, note_public text, note_private text, @@ -197,7 +255,6 @@ CREATE TABLE llx_expensereport_det ALTER TABLE llx_projet ADD COLUMN budget_amount double(24,8); - create table llx_commande_fournisseurdet_extrafields ( rowid integer AUTO_INCREMENT PRIMARY KEY, @@ -227,3 +284,229 @@ ALTER TABLE llx_commande_fournisseurdet ADD COLUMN special_code integer DEFAULT 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_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_project 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; 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_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_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_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_commande.sql b/htdocs/install/mysql/tables/llx_commande.sql index 90e8fd7af71..7bf22df1a1d 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, @@ -64,7 +64,7 @@ create table llx_commande date_livraison date default NULL, 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) 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..17027e16960 100644 --- a/htdocs/install/mysql/tables/llx_commande_fournisseur.sql +++ b/htdocs/install/mysql/tables/llx_commande_fournisseur.sql @@ -41,7 +41,7 @@ create table llx_commande_fournisseur fk_user_modif integer, -- user making last change fk_user_valid integer, -- user validating fk_user_approve integer, -- user approving - source smallint NOT NULL, + 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,7 +59,7 @@ 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 import_key varchar(14), extraparams varchar(255) -- for stock other parameters with json format diff --git a/htdocs/install/mysql/tables/llx_don.sql b/htdocs/install/mysql/tables/llx_don.sql index 259cac22966..d33467f9a7b 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 + fk_statut smallint NOT NULL DEFAULT 0, -- Status of donation promise or validate datec datetime, -- date de creation de l'enregistrement datedon datetime, -- date du don/promesse 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_project 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_expensereport.sql b/htdocs/install/mysql/tables/llx_expensereport.sql index e60be7251a5..657d8f9e278 100755 --- a/htdocs/install/mysql/tables/llx_expensereport.sql +++ b/htdocs/install/mysql/tables/llx_expensereport.sql @@ -44,7 +44,7 @@ CREATE TABLE llx_expensereport ( fk_user_refuse integer DEFAULT NULL, fk_user_cancel integer DEFAULT NULL, fk_user_paid integer DEFAULT NULL, - fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validƩ (attente approb), 4=annulƩ, 5=approuvƩ, 6=payed, 99=refusƩ + 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, note_public text, note_private text, 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_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_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.sql b/htdocs/install/mysql/tables/llx_payment_salary.sql index b82ff66ecc1..2498c771ba6 100644 --- a/htdocs/install/mysql/tables/llx_payment_salary.sql +++ b/htdocs/install/mysql/tables/llx_payment_salary.sql @@ -23,6 +23,7 @@ create table llx_payment_salary fk_user integer NOT NULL, datep date, -- date de paiement datev date, -- date de valeur + salary real, -- salary of user when payment was done amount real NOT NULL DEFAULT 0, fk_typepayment integer NOT NULL, num_payment varchar(50), diff --git a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql index f3905ab4fbe..fb5184715d1 100755 --- a/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql +++ b/htdocs/install/mysql/tables/llx_product_fournisseur_price.sql @@ -40,5 +40,6 @@ create table llx_product_fournisseur_price info_bits integer NOT NULL DEFAULT 0, fk_user integer, fk_supplier_price_expression integer, -- Link to the rule for dynamic price calculation - import_key varchar(14) -- Import key + import_key varchar(14), -- Import key + delivery_time_days integer )ENGINE=innodb; diff --git a/htdocs/install/mysql/tables/llx_projet.sql b/htdocs/install/mysql/tables/llx_projet.sql index 0bfde5c026b..d9192c191ba 100644 --- a/htdocs/install/mysql/tables/llx_projet.sql +++ b/htdocs/install/mysql/tables/llx_projet.sql @@ -32,6 +32,8 @@ 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 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_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/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 89e54ef4443..c001a771f06 100644 --- a/htdocs/install/upgrade.php +++ b/htdocs/install/upgrade.php @@ -19,9 +19,11 @@ * Upgrade scripts can be ran from command line with syntax: * * cd htdocs/install - * php upgrade.php 3.4.0 3.5.0 + * php upgrade.php 3.4.0 3.5.0 [dirmodule|ignoredbversion] * php upgrade2.php 3.4.0 3.5.0 * + * Option 'dirmodule' allows to provide a path for an external module, so we migrate from command line a script from a module. + * Option 'ignoredbversion' allows to run migration even if database is a bugged database version. * Return code is 0 if OK, >0 if error */ @@ -47,7 +49,7 @@ $ok = 0; // Ne fonctionne que si on est pas en safe_mode. $err=error_reporting(); error_reporting(0); -@set_time_limit(120); +@set_time_limit(300); error_reporting($err); @@ -55,7 +57,8 @@ $setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto'; $langs->setDefaultLang($setuplang); $versionfrom=GETPOST("versionfrom",'',3)?GETPOST("versionfrom",'',3):(empty($argv[1])?'':$argv[1]); $versionto=GETPOST("versionto",'',3)?GETPOST("versionto",'',3):(empty($argv[2])?'':$argv[2]); -$versionmodule=GETPOST("versionmodule",'',3)?GETPOST("versionmodule",'',3):(empty($argv[3])?'':$argv[3]); +$dirmodule=((GETPOST("dirmodule",'',3) && GETPOST("dirmodule",'',3) != 'ignoredbversion'))?GETPOST("dirmodule",'',3):((empty($argv[3]) || $argv[3] == 'ignoredbversion')?'':$argv[3]); +$ignoredbversion=(GETPOST('ignoredbversion','',3)=='ignoredbversion')?GETPOST('ignoredbversion','',3):((empty($argv[3]) || $argv[3] != 'ignoredbversion')?'':$argv[3]); $langs->load("admin"); $langs->load("install"); @@ -191,31 +194,34 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) } // Test database version is not forbidden for migration - $dbversion_disallowed=array( - array('type'=>'mysql','version'=>array(5,5,40)), - array('type'=>'mysqli','version'=>array(5,5,40)) - //,array('type'=>'mysql','version'=>array(5,5,41)), - //array('type'=>'mysqli','version'=>array(5,5,41)) - ); - $listofforbiddenversion=''; - foreach ($dbversion_disallowed as $dbversion_totest) - { - if ($dbversion_totest['type'] == $db->type) $listofforbiddenversion.=($listofforbiddenversion?', ':'').join('.',$dbversion_totest['version']); - } - foreach ($dbversion_disallowed as $dbversion_totest) - { - //print $db->type.' - '.join('.',$versionarray).' - '.versioncompare($dbversion_totest['version'],$versionarray)."
    \n"; - if ($dbversion_totest['type'] == $db->type - && (versioncompare($dbversion_totest['version'],$versionarray) == 0 || versioncompare($dbversion_totest['version'],$versionarray)<=-4 || versioncompare($dbversion_totest['version'],$versionarray)>=4) - ) - { - // Warning: database version too low. - print '
    '.$langs->trans("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)."
    ".$langs->trans("Error")."\n"; - dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)); - $ok=0; - break; - } - } + if (empty($ignoredbversion)) + { + $dbversion_disallowed=array( + array('type'=>'mysql','version'=>array(5,5,40)), + array('type'=>'mysqli','version'=>array(5,5,40)) //, + //array('type'=>'mysql','version'=>array(5,5,41)), + //array('type'=>'mysqli','version'=>array(5,5,41)) + ); + $listofforbiddenversion=''; + foreach ($dbversion_disallowed as $dbversion_totest) + { + if ($dbversion_totest['type'] == $db->type) $listofforbiddenversion.=($listofforbiddenversion?', ':'').join('.',$dbversion_totest['version']); + } + foreach ($dbversion_disallowed as $dbversion_totest) + { + //print $db->type.' - '.join('.',$versionarray).' - '.versioncompare($dbversion_totest['version'],$versionarray)."
    \n"; + if ($dbversion_totest['type'] == $db->type + && (versioncompare($dbversion_totest['version'],$versionarray) == 0 || versioncompare($dbversion_totest['version'],$versionarray)<=-4 || versioncompare($dbversion_totest['version'],$versionarray)>=4) + ) + { + // Warning: database version too low. + print '
    '.$langs->trans("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)."
    ".$langs->trans("Error")."\n"; + dolibarr_install_syslog("upgrade: ".$langs->transnoentities("ErrorDatabaseVersionForbiddenForMigration",join('.',$versionarray),$listofforbiddenversion)); + $ok=0; + break; + } + } + } } // Force l'affichage de la progression @@ -370,7 +376,7 @@ if (! GETPOST("action") || preg_match('/upgrade/i',GETPOST('action'))) if ($ok) { $dir = "mysql/migration/"; // We use mysql migration scripts whatever is database driver - if (! empty($versionmodule)) $dir=dol_buildpath('/'.$versionmodule.'/sql/',0); + if (! empty($dirmodule)) $dir=dol_buildpath('/'.$dirmodule.'/sql/',0); // Clean last part to exclude minor version x.y.z -> x.y $newversionfrom=preg_replace('/(\.[0-9]+)$/i','.0',$versionfrom); @@ -475,7 +481,7 @@ $ret=0; if (! $ok && isset($argv[1])) $ret=1; dol_syslog("Exit ".$ret); -pFooter(((! $ok && empty($_GET["ignoreerrors"])) || $versionmodule),$setuplang); +pFooter(((! $ok && empty($_GET["ignoreerrors"])) || $dirmodule),$setuplang); if ($db->connected) $db->close(); diff --git a/htdocs/install/upgrade2.php b/htdocs/install/upgrade2.php index a7226c1621d..e75b7d8389c 100644 --- a/htdocs/install/upgrade2.php +++ b/htdocs/install/upgrade2.php @@ -55,7 +55,7 @@ $error = 0; // Ne fonctionne que si on est pas en safe_mode. $err=error_reporting(); error_reporting(0); -@set_time_limit(120); +@set_time_limit(300); error_reporting($err); $setuplang=GETPOST("selectlang",'',3)?GETPOST("selectlang",'',3):'auto'; @@ -2407,7 +2407,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) { diff --git a/htdocs/langs/ar_SA/admin.lang b/htdocs/langs/ar_SA/admin.lang index 290a5eb67b5..2777d5fac6a 100644 --- a/htdocs/langs/ar_SA/admin.lang +++ b/htdocs/langs/ar_SA/admin.lang @@ -8,6 +8,11 @@ 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=رمز المرحلة SessionSaveHandler=معالج لحفظ المراحل SessionSavePath=مرحلة Ų§Ł„ŲŖŲ®Ų²ŁŠŁ† Ų§Ł„Ł…Ų­Ł„ŁŠŲ© @@ -493,10 +498,16 @@ Module600Name=ال؄خطارات Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=التبرعات Module700Desc=التبرعات Ų„ŲÆŲ§Ų±Ų© +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=فرس Ų§Ł„Ł†ŲØŁŠ Module1200Desc=فرس Ų§Ł„Ł†ŲØŁŠ Ų§Ł„ŲŖŁƒŲ§Ł…Ł„ Module1400Name=المحاسبة Module1400Desc=المحاسبة Ų§Ł„Ų„ŲÆŲ§Ų±ŁŠŲ© (ضعف الأحزاب) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=الفئات Module1780Desc=الفئات Ų„ŲÆŲ§Ų±Ų© المنتجات ŁˆŲ§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† ŁˆŲ§Ł„Ų²ŲØŲ§Ų¦Ł†) Module2000Name=Fckeditor @@ -631,7 +642,7 @@ Permission181=قراؔة Ł…ŁˆŲ±ŲÆ Ų£ŁˆŲ§Ł…Ų± Permission182=؄نؓاؔ / تغيير Ų§Ł„Ł…ŁˆŲ±ŲÆ Ų£ŁˆŲ§Ł…Ų± Permission183=ŲµŲ­Ų© Ų£ŁˆŲ§Ł…Ų± Ų§Ł„Ł…ŁˆŲ±ŲÆ Permission184=Ų§Ł„Ł…ŁˆŲ§ŁŁ‚Ų© على Ų£ŁˆŲ§Ł…Ų± Ų§Ł„Ł…ŁˆŲ±ŲÆ -Permission185=من أجل Ų§Ł„Ł…ŁˆŲ±ŲÆ Ų£ŁˆŲ§Ł…Ų± +Permission185=Order or cancel supplier orders Permission186=ŲŖŁ„Ł‚ŁŠ Ų£ŁˆŲ§Ł…Ų± Ų§Ł„Ł…ŁˆŲ±ŲÆ Permission187=ŁˆŲ«ŁŠŁ‚Ų© Ų£ŁˆŲ§Ł…Ų± Ų§Ł„Ł…ŁˆŲ±ŲÆ Permission188=Ų§Ł„Ł…ŁˆŲ±ŲÆ ؄لغاؔ Ų£ŁˆŲ§Ł…Ų± @@ -711,6 +722,13 @@ Permission538=تصدير الخدمات Permission701=قراؔة التبرعات Permission702=؄نؓاؔ / ŲŖŲ¹ŲÆŁŠŁ„ ŁˆŲ§Ł„Ł‡ŲØŲ§ŲŖ Permission703=حذف التبرعات +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=قراؔة Ł…Ų®Ų²ŁˆŁ†Ų§ŲŖ Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ŁƒŁ„Ł…Ų© Ł…Ų±ŁˆŲ± لاستخدام الملقم Ų§Ł„ŁˆŁƒŁŠŁ„ DefineHereComplementaryAttributes=هنا تعريف Ų¬Ł…ŁŠŲ¹ atributes، لا تتوفر بالفعل افتراضيا، ŁˆŲ§Ł„ŲŖŁŠ تريد أن تدعم Ł„%s. ExtraFields=ŲŖŁƒŁ…ŁŠŁ„ŁŠŲ© سمات 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Ų®Ų· من المنتجات / الخدمات Ų°Ų§ŲŖ Ų§ FreeLegalTextOnProposal=نص تجارية Ų­Ų±Ų© على مقترحات 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=Ų£ŁˆŲ§Ł…Ų± Ų„ŲÆŲ§Ų±Ų© ال؄عداد OrdersNumberingModules=Ų£ŁˆŲ§Ł…Ų± Ų§Ł„ŲŖŲ±Ł‚ŁŠŁ… نمائط @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Ų§Ł„ŲØŲ§Ų±ŁƒŁˆŲÆ Ł†ŁˆŲ¹ من Ų§ŲŖŲ­Ų§ŲÆ Ų§Ł„ŁˆŲ·Ł†ŁŠŁŠŁ† Ų§Ł„ŁƒŁˆ BarcodeDescISBN=Ų§Ł„ŲØŲ§Ų±ŁƒŁˆŲÆ من Ł†ŁˆŲ¹ Ų±ŲÆŁ…Łƒ BarcodeDescC39=Ų§Ł„ŲØŲ§Ų±ŁƒŁˆŲÆ من Ł†ŁˆŲ¹ C39 BarcodeDescC128=Ų§Ł„ŲØŲ§Ų±ŁƒŁˆŲÆ من Ł†ŁˆŲ¹ C128 -GenbarcodeLocation=باركود Ų§Ł„Ų¬ŁŠŁ„ Ų³Ų·Ų± Ų£ŲÆŲ§Ų© تستخدمها phpbarcode Ų§Ł„Ł…Ų­Ų±Łƒ لبعض Ų£Ł†ŁˆŲ§Ų¹ باركود) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=الحساب Ų§Ł„Ł†Ł‚ŲÆŁŠ لاستخدامها Ł„ŲŖŲØŁŠŲ¹ CashDeskBankAccountForCheque= Ų­Ų³Ų§ŲØ لاستخدام Ł„ŲŖŁ„Ł‚ŁŠ Ų§Ł„Ł…ŲÆŁŁˆŲ¹Ų§ŲŖ عن Ų·Ų±ŁŠŁ‚ Ų§Ł„Ų“ŁŠŁƒŲ§ŲŖ CashDeskBankAccountForCB= Ų­Ų³Ų§ŲØ لاستخدام لاستلام المبالغ Ų§Ł„Ł†Ł‚ŲÆŁŠŲ© عن Ų·Ų±ŁŠŁ‚ بطاقات الائتمان -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Ų„Ų¹ŲÆŲ§ŲÆ وحدة Ų§Ł„Ł…Ų±Ų¬Ų¹ŁŠŲ© @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/ar_SA/banks.lang b/htdocs/langs/ar_SA/banks.lang index 4a6dabe894e..3f25d223c75 100644 --- a/htdocs/langs/ar_SA/banks.lang +++ b/htdocs/langs/ar_SA/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=المصالحة RIB=رقم الحساب Ų§Ł„Ł…ŲµŲ±ŁŁŠ IBAN=Ų¹ŲÆŲÆ Ų„ŁŠŲØŲ§Ł† +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=بيك / سويفت Ų¹ŲÆŲÆ +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Ų£ŁˆŲ§Ł…Ų± دائمة StandingOrder=من أجل Ų§Ł„ŁˆŁ‚ŁˆŁ Withdrawals=انسحابات @@ -148,7 +152,7 @@ BackToAccount=؄لى Ų­Ų³Ų§ŲØ ShowAllAccounts=ŁˆŲŖŲØŁŠŁ† Ł„Ł„Ų¬Ł…ŁŠŲ¹ الحسابات FutureTransaction=الصفقة في أجل المستقبل. أي ŁˆŲ³ŁŠŁ„Ų© Ł„Ł„ŲŖŁˆŁŁŠŁ‚. SelectChequeTransactionAndGenerate=Ų­ŲÆŲÆ / تصفية Ų§Ł„Ų“ŁŠŁƒŲ§ŲŖ لتؓمل في Ų§Ł„Ų§Ų®ŲŖŁŠŲ§Ų± استلام Ų§Ł„ŁˆŲÆŲ§Ų¦Ų¹ ŁˆŲ§Ł†Ł‚Ų± على "؄نؓاؔ". -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/ar_SA/bills.lang b/htdocs/langs/ar_SA/bills.lang index d0514e828ab..1ca60a487d1 100644 --- a/htdocs/langs/ar_SA/bills.lang +++ b/htdocs/langs/ar_SA/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Ų§Ł„Ł…ŲÆŁŁˆŲ¹Ų§ŲŖ قد فعلت PaymentsBackAlreadyDone=Payments back already done PaymentRule=دفع Ų§Ł„Ų­ŁƒŁ… PaymentMode=Ł†ŁˆŲ¹ الدفع -PaymentConditions=Ł…ŲÆŲ© السداد -PaymentConditionsShort=Ł…ŲÆŲ© السداد +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=دفع مبلغ ValidatePayment=Validate payment PaymentHigherThanReminderToPay=دفع أعلى من دفع تذكرة diff --git a/htdocs/langs/ar_SA/commercial.lang b/htdocs/langs/ar_SA/commercial.lang index 2ddffcb0a05..9f0e152a7dc 100644 --- a/htdocs/langs/ar_SA/commercial.lang +++ b/htdocs/langs/ar_SA/commercial.lang @@ -9,9 +9,9 @@ Prospect=Ų§Ų­ŲŖŁ…Ų§Ł„ Prospects=آفاق DeleteAction=حذف عمل / المهمة NewAction=عمل جديدة / المهمة -AddAction=أضف العمل / المهمة -AddAnAction=؄ضافة عمل / المهمة -AddActionRendezVous=؄ضافة مهمة Ų±Ų§Ł†ŲÆŁŠŁŁˆ +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Ų§Ł„Ł…ŁˆŲ¹ŲÆ ConfirmDeleteAction=هل أنت Ł…ŲŖŲ£ŁƒŲÆ من Ų£Ł†Łƒ تريد حذف هذه Ų§Ł„Ł…Ł‡Ł…Ų©ŲŸ CardAction=بطاقة العمل @@ -44,8 +44,8 @@ DoneActions=Ų„Ų¬Ų±Ų§Ų”Ų§ŲŖ عمله DoneActionsFor=Ų„Ų¬Ų±Ų§Ų”Ų§ŲŖ لعمله Ł‚ ŁŖ ToDoActions=Ų¹ŲÆŁ… Ų§ŁƒŲŖŁ…Ų§Ł„ ال؄جراؔات ToDoActionsFor=لعدم Ų§ŁƒŲŖŁ…Ų§Ł„ ال؄جراؔات Ł‚ ŁŖ -SendPropalRef=اقتراح Ų§Ų±Ų³Ų§Ł„ Ų§Ł„ŲŖŲ¬Ų§Ų±ŁŠŲ© Ł‚ ŁŖ -SendOrderRef=من أجل Ų„Ų±Ų³Ų§Ł„ المستندات ŁŖ +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=لا ŁŠŁ†Ų·ŲØŁ‚ StatusActionToDo=Ų§Ł„Ł‚ŁŠŲ§Ł… StatusActionDone=فعل @@ -62,7 +62,7 @@ LastProspectContactDone=الاتصال به DateActionPlanned=تاريخ العمل المزمع DateActionDone=تاريخ العمل به ActionAskedBy=طلبت العمل -ActionAffectedTo=العمل على Ų§Ł„Ł…ŲŖŲ¶Ų±Ų±ŁŠŁ† +ActionAffectedTo=Event assigned to ActionDoneBy=العمل Ų§Ł„Ų°ŁŠ قام به ActionUserAsk=Ų§Ł„ŲŖŁŠ سجلتها ErrorStatusCantBeZeroIfStarted=Ų„Ų°Ų§ ŁƒŲ§Ł† المجال 'تاريخ عمله Ł‡Łˆ ؓغلها ، وبدأ العمل (أو انتهت) ، ŁˆŲ°Ł„Łƒ Ų§Ł„Ł…ŁŠŲÆŲ§Ł†' الحالة 'لا ŁŠŁ…ŁƒŁ† أن ŁŠŁƒŁˆŁ† 0 ŁŖ ŁŖ. diff --git a/htdocs/langs/ar_SA/contracts.lang b/htdocs/langs/ar_SA/contracts.lang index 133036960c0..8c181b2fba4 100644 --- a/htdocs/langs/ar_SA/contracts.lang +++ b/htdocs/langs/ar_SA/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=انتهى ServiceStatusClosed=مغلقة ServicesLegend=Ų®ŲÆŁ…Ų§ŲŖ أسطورة Contracts=Ų¹Ł‚ŁˆŲÆ +ContractsAndLine=Contracts and line of contracts Contract=العقد NoContracts=أي Ų¹Ł‚ŁˆŲÆ MenuServices=الخدمات diff --git a/htdocs/langs/ar_SA/cron.lang b/htdocs/langs/ar_SA/cron.lang index 46751a39fdb..c3c9b446364 100644 --- a/htdocs/langs/ar_SA/cron.lang +++ b/htdocs/langs/ar_SA/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ar_SA/errors.lang b/htdocs/langs/ar_SA/errors.lang index 87a2b76ac3d..4635ed9b4be 100644 --- a/htdocs/langs/ar_SA/errors.lang +++ b/htdocs/langs/ar_SA/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=المصدر ŁˆŲ§Ł„Ų£Ł‡ŲÆŲ§Ł يجب أن تكو ErrorBadThirdPartyName=سوؔ Ł‚ŁŠŁ…Ų© اسم طرف ثالث ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=سوؔ تركيب Ų§Ł„Ų²ŲØŁˆŁ† Ł…ŲÆŁˆŁ†Ų© -ErrorBadBarCodeSyntax=Bad syntax for bar 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=رمز Ų§Ł„Ų¹Ł…ŁŠŁ„ Ų§Ł„Ł…Ų·Ł„ŁˆŲØŲ© ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=الؓفرة المستخدمة بالفعل العملاؔ @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=يجب Ų¹ŲÆŁ… ŲŖŲ¹Ų·ŁŠŁ„ جافا سكريبت لج ErrorPasswordsMustMatch=ويجب على ŁƒŁ„Ų§ ŁƒŁ„Ł…Ų§ŲŖ Ų§Ł„Ł…Ų±ŁˆŲ± Ų§Ł„Ł…ŁƒŲŖŁˆŲØŲ© ŲŖŲ·Ų§ŲØŁ‚ بعضها البعض ErrorContactEMail=ŁˆŁ‚Ų¹ Ų®Ų·Ų£ ŁŁ†ŁŠ. من ŁŲ¶Ł„ŁƒŲŒ اتصل ŲØŁ…Ų³Ų¤ŁˆŁ„ ؄لى Ų§Ł„ŲØŲ±ŁŠŲÆ Ų§Ł„Ų„Ł„ŁƒŲŖŲ±ŁˆŁ†ŁŠ ŲØŲ¹ŲÆ %s EN توفير %s رمز الخطأ في Ų±Ų³Ų§Ł„ŲŖŁƒŲŒ أو حتى أفضل من خلال ؄ضافة نسخة Ų“Ų§Ų“Ų© من هذه الصفحة. ErrorWrongValueForField=Ł‚ŁŠŁ…Ų© Ų®Ų§Ų·Ų¦Ų© لعدد %s الحقل (Ł‚ŁŠŁ…Ų© '%s' لا ŁŠŲŖŲ·Ų§ŲØŁ‚ %s Ų­ŁƒŁ… [رج؄كس]) -ErrorFieldValueNotIn=Ł‚ŁŠŁ…Ų© Ų®Ų§Ų·Ų¦Ų© Ł„%s Ų¹ŲÆŲÆ حقل ('%s "Ł‚ŁŠŁ…Ų© Ł„ŁŠŲ³ŲŖ Ł‚ŁŠŁ…Ų© المتاحة في Ł…Ų¬Ų§Ł„ %s %s Ų§Ł„Ų¬ŲÆŁˆŁ„) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Ł‚ŁŠŁ…Ų© Ų®Ų§Ų·Ų¦Ų© Ł„%s Ų¹ŲÆŲÆ حقل ('%s "Ł‚ŁŠŁ…Ų© Ł„ŁŠŲ³ŲŖ المرجع %s Ł…ŁˆŲ¬ŁˆŲÆ) ErrorsOnXLines=الأخطاؔ على خطوط Ł…ŲµŲÆŲ± %s ErrorFileIsInfectedWithAVirus=ŁˆŁƒŲ§Ł† برنامج Ł…ŁƒŲ§ŁŲ­Ų© Ų§Ł„ŁŁŠŲ±ŁˆŲ³Ų§ŲŖ غير قادرة على التحقق من ŲµŲ­Ų© الملف (ملف قد ŁŠŁƒŁˆŁ† Ł…ŲµŲ§ŲØŲ§ بواسطة فيروس) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ar_SA/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/ar_SA/install.lang b/htdocs/langs/ar_SA/install.lang index 589343ad052..b805743f44f 100644 --- a/htdocs/langs/ar_SA/install.lang +++ b/htdocs/langs/ar_SA/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Ų§Ł„Ų®Ų·ŁˆŲ© Ų§Ł„Ų£Ų®ŁŠŲ±Ų© : تعريف المس ActivateModule=ŲŖŁŲ¹ŁŠŁ„ وحدة %s ShowEditTechnicalParameters=انقر هنا لعرض/تحرير المعلمات المتقدمة (وضع الخبراؔ) 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 diff --git a/htdocs/langs/ar_SA/main.lang b/htdocs/langs/ar_SA/main.lang index 64e8da49c42..45649f61d53 100644 --- a/htdocs/langs/ar_SA/main.lang +++ b/htdocs/langs/ar_SA/main.lang @@ -141,6 +141,7 @@ Cancel=الغاؔ Modify=ŲŖŲ¹ŲÆŁŠŁ„ Edit=تحرير Validate=ŲµŲ­Ų© +ValidateAndApprove=Validate and Approve ToValidate=للمصادقة Save=حفظ SaveAs=حفظ باسم @@ -158,6 +159,7 @@ Search=ŲØŲ­Ų« SearchOf=البحث Valid=صحيح Approve=Ų§Ł„Ł…ŁˆŲ§ŁŁ‚Ų© +Disapprove=Disapprove ReOpen=Ų„Ų¹Ų§ŲÆŲ© فتح Upload=Ų§Ų±Ų³Ų§Ł„ الملف ToLink=Link @@ -219,6 +221,7 @@ Cards=بطاقات Card=بطاقة Now=الآن Date=تاريخ +DateAndHour=Date and hour DateStart=تاريخ البدؔ DateEnd=Ł†Ł‡Ų§ŁŠŲ© Ų§Ł„ŲŖŲ§Ų±ŁŠŲ® DateCreation=تاريخ ال؄نؓاؔ @@ -295,6 +298,7 @@ UnitPriceHT=Ų³Ų¹Ų± Ų§Ł„ŁˆŲ­ŲÆŲ© (صافي) UnitPriceTTC=Ų³Ų¹Ų± Ų§Ł„ŁˆŲ­ŲÆŲ© PriceU=ارتفاع PriceUHT=ارتفاع (صافي) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=ارتفاع Amount=مبلغ AmountInvoice=مبلغ Ų§Ł„ŁŲ§ŲŖŁˆŲ±Ų© @@ -521,6 +525,7 @@ DateFromTo=ل٪ من Ł‚ Ł‚ ŁŖ DateFrom=من Ł‚ ŁŖ DateUntil=حتى Ł‚ ŁŖ Check=فحص +Uncheck=Uncheck Internal=Ų§Ł„ŲÆŲ§Ų®Ł„ŁŠŲ© External=Ų§Ł„Ų®Ų§Ų±Ų¬ŁŠŲ© Internals=Ų§Ł„ŲÆŲ§Ų®Ł„ŁŠŲ© @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ŁŠŁˆŁ… Ų§Ł„Ų§Ų«Ł†ŁŠŁ† Tuesday=الثلاثاؔ diff --git a/htdocs/langs/ar_SA/orders.lang b/htdocs/langs/ar_SA/orders.lang index c3188102774..24a7db59d86 100644 --- a/htdocs/langs/ar_SA/orders.lang +++ b/htdocs/langs/ar_SA/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ألغى StatusOrderDraft=Ł…Ų“Ų±ŁˆŲ¹ (لا ŲØŲÆ من التحقق من ŲµŲ­Ų©) StatusOrderValidated=ŲµŲ§ŲÆŁ‚ StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=ŲŖŲ¬Ł‡ŁŠŲ² StatusOrderToBill=على Ł…Ų“Ų±ŁˆŲ¹ Ł‚Ų§Ł†ŁˆŁ† StatusOrderToBill2=على Ł…Ų“Ų±ŁˆŲ¹ Ł‚Ų§Ł†ŁˆŁ† @@ -58,6 +59,7 @@ MenuOrdersToBill=Ų£ŁˆŲ§Ł…Ų± Ł„Ł…Ų“Ų±ŁˆŲ¹ Ł‚Ų§Ł†ŁˆŁ† MenuOrdersToBill2=Billable orders SearchOrder=من أجل البحث SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Ų³ŁŁŠŁ†Ų© المنتج Discount=الخصم CreateOrder=خلق أمر diff --git a/htdocs/langs/ar_SA/other.lang b/htdocs/langs/ar_SA/other.lang index 4500fbcdd8b..8154a44c9ea 100644 --- a/htdocs/langs/ar_SA/other.lang +++ b/htdocs/langs/ar_SA/other.lang @@ -54,12 +54,13 @@ MaxSize=الحجم الأقصى AttachANewFile=؄رفاق ملف جديد / ŁˆŲ«ŁŠŁ‚Ų© LinkedObject=Ų±ŲØŲ· ŁˆŲ¬ŁˆŁ‡ Miscellaneous=متفرقات -NbOfActiveNotifications=Ų¹ŲÆŲÆ ال؄خطارات +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=هذا Ł‡Łˆ الاختبار Ų§Ł„Ų„Ł„ŁƒŲŖŲ±ŁˆŁ†ŁŠ. ŲŖŁƒŁˆŁ† Ł…ŁŲµŁˆŁ„Ų© \\ nThe Ų³Ų·Ų±ŁŠŁ† من قبل حرف Ų„Ų±Ų¬Ų§Ų¹. PredefinedMailTestHtml=هذا Ł‡Łˆ Ų§Ł„ŲØŲ±ŁŠŲÆ الاختبار (الاختبار يجب أن ŲŖŁƒŁˆŁ† في ŁƒŁ„Ł…Ų© جريئة).
    ŁˆŲŖŁŲµŁ„ ŲØŁŠŁ† Ų§Ł„Ų®Ų·ŁŠŁ† من قبل حرف Ų„Ų±Ų¬Ų§Ų¹. 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__ diff --git a/htdocs/langs/ar_SA/printing.lang b/htdocs/langs/ar_SA/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ar_SA/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/ar_SA/productbatch.lang +++ b/htdocs/langs/ar_SA/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ar_SA/products.lang b/htdocs/langs/ar_SA/products.lang index dce6ac36fea..e79c928e86b 100644 --- a/htdocs/langs/ar_SA/products.lang +++ b/htdocs/langs/ar_SA/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ar_SA/projects.lang b/htdocs/langs/ar_SA/projects.lang index 8e9925f168a..61d3720906e 100644 --- a/htdocs/langs/ar_SA/projects.lang +++ b/htdocs/langs/ar_SA/projects.lang @@ -8,8 +8,10 @@ SharedProject=Ł…Ų“Ų§Ų±ŁŠŲ¹ Ł…Ų“ŲŖŲ±ŁƒŲ© PrivateProject=اتصالات من Ų§Ł„Ł…Ų“Ų±ŁˆŲ¹ MyProjectsDesc=ŁˆŁŠŁ‚ŲŖŲµŲ± هذا Ų§Ł„Ų±Ų£ŁŠ على Ų§Ł„Ł…Ų“Ų§Ų±ŁŠŲ¹ Ų§Ł„ŲŖŁŠ ŲŖŁ‚ŁˆŁ… على الاتصال (ŁƒŁ„ Ł…Ų§ Ł‡Łˆ Ł†ŁˆŲ¹). 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). TasksPublicDesc=هذا Ų§Ł„Ų±Ų£ŁŠ يعرض Ų¬Ł…ŁŠŲ¹ Ų§Ł„Ł…Ų“Ų§Ų±ŁŠŲ¹ ŁˆŲ§Ł„Ł…Ł‡Ų§Ł… ŁˆŁŠŲ³Ł…Ų­ Ł„Łƒ قراؔة. TasksDesc=هذا Ų§Ł„Ų±Ų£ŁŠ يعرض Ų¬Ł…ŁŠŲ¹ Ų§Ł„Ł…Ų“Ų§Ų±ŁŠŲ¹ ŁˆŲ§Ł„Ł…Ł‡Ų§Ł… (Ų£Ų°ŁˆŁ†Ų§ŲŖ المستخدم الخاص أعطى Ų§Ł„ŲµŁ„Ų§Ų­ŁŠŲ© لعرض ŁƒŁ„ ؓيؔ). ProjectsArea=Ł…Ų“Ų§Ų±ŁŠŲ¹ المنطقة @@ -29,6 +31,8 @@ NoProject=لا يعرف أو Ų§Ł„Ł…Ł…Ł„ŁˆŁƒŲ© Ł„Ł„Ł…Ų“Ų±ŁˆŲ¹ NbOpenTasks=ملاحظة : من مهام فتح NbOfProjects=ملاحظة : Ł„Ł„Ł…Ų“Ų§Ų±ŁŠŲ¹ TimeSpent=Ų§Ł„ŁˆŁ‚ŲŖ Ų§Ł„Ų°ŁŠ تستغرقه +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=قضى ŁˆŁ‚ŲŖŲ§ RefTask=المرجع. مهمة LabelTask=علامة مهمة @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=قائمة Ų§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† Ų§Ł„Ų£ŁˆŲ§Ł…Ų± ListSupplierInvoicesAssociatedProject=قائمة Ų§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† المرتبطة ŲØŲ§Ł„Ł…Ų“Ų±ŁˆŲ¹. ListContractAssociatedProject=قائمة Ų§Ł„Ų¹Ł‚ŁˆŲÆ المرتبطة ŲØŲ§Ł„Ł…Ų“Ų±ŁˆŲ¹. ListFichinterAssociatedProject=قائمة التدخلات المرتبطة ŲØŲ§Ł„Ł…Ų“Ų±ŁˆŲ¹ -ListTripAssociatedProject=قائمة من الرحلات ŁˆŲ§Ł„Ł†ŁŁ‚Ų§ŲŖ المرتبطة ŲØŲ§Ł„Ł…Ų“Ų±ŁˆŲ¹ +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=قائمة ال؄جراؔات المرتبطة ŲØŲ§Ł„Ł…Ų“Ų±ŁˆŲ¹ ActivityOnProjectThisWeek=نؓاط Ų§Ł„Ł…Ų“Ų±ŁˆŲ¹ هذا Ų§Ł„Ų§Ų³ŲØŁˆŲ¹ ActivityOnProjectThisMonth=نؓاط Ų§Ł„Ł…Ų“Ų±ŁˆŲ¹ هذا الؓهر @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=ŁˆŁ‡Ł†Ų§Łƒ Ł…Ų“Ų±ŁˆŲ¹ ŁƒŲ§Ł…Ł„ Ł„Ł†Ł…ŁˆŲ°Ų¬ Ų§Ł„ŲŖŁ‚Ų±ŁŠŲ± (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/ar_SA/salaries.lang b/htdocs/langs/ar_SA/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/ar_SA/salaries.lang +++ b/htdocs/langs/ar_SA/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/ar_SA/sendings.lang b/htdocs/langs/ar_SA/sendings.lang index ef76283c5de..ba8a8febbad 100644 --- a/htdocs/langs/ar_SA/sendings.lang +++ b/htdocs/langs/ar_SA/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Ų§Ł„ŁƒŁ…ŁŠŲ© أمرت QtyShipped=Ų§Ł„ŁƒŁ…ŁŠŲ© Ų§Ł„Ł…Ų“Ų­ŁˆŁ†Ų© QtyToShip=لؓحن Ų§Ł„ŁƒŁ…ŁŠŲ© QtyReceived=Ų§Ł„ŁƒŁ…ŁŠŲ© Ų§Ł„ŁˆŲ§Ų±ŲÆŲ© -KeepToShip=؄بقاؔ لؓحن +KeepToShip=Remain to ship OtherSendingsForSameOrder=ال؄رسال الأخرى لهذا النظام DateSending=ŁˆŲ­ŲŖŁ‰ الآن من أجل Ų„Ų±Ų³Ų§Ł„ DateSendingShort=ŁˆŲ­ŲŖŁ‰ الآن من أجل Ų„Ų±Ų³Ų§Ł„ diff --git a/htdocs/langs/ar_SA/stocks.lang b/htdocs/langs/ar_SA/stocks.lang index 9e6ab293234..965feeea1bc 100644 --- a/htdocs/langs/ar_SA/stocks.lang +++ b/htdocs/langs/ar_SA/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Ų§Ł„Ł…ŲŖŁˆŲ³Ų· المرجح لسعر PMPValueShort=Ų§Ł„ŁˆŲ§ŲØ EnhancedValueOfWarehouses=Ł‚ŁŠŁ…Ų© Ų§Ł„Ł…Ų³ŲŖŁˆŲÆŲ¹Ų§ŲŖ UserWarehouseAutoCreate=خلق Ł…Ų®Ų²ŁˆŁ† ŲŖŁ„Ł‚Ų§Ų¦ŁŠŲ§ عند ؄نؓاؔ Ł…Ų³ŲŖŲ®ŲÆŁ… +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Ų§Ų±Ų³Ų§Ł„ ŁƒŁ…ŁŠŲ© QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ar_SA/suppliers.lang b/htdocs/langs/ar_SA/suppliers.lang index 405d15954ba..622c3c5575d 100644 --- a/htdocs/langs/ar_SA/suppliers.lang +++ b/htdocs/langs/ar_SA/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Ų§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† -Supplier=Ų§Ł„Ł…ŁˆŲ±ŲÆ AddSupplier=Create a supplier SupplierRemoved=؄زالة Ų§Ł„Ł…ŁˆŲ±ŲÆ SuppliersInvoice=فاتورة Ų§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=فواتير Ų§Ł„Ł…ŁˆŲ±ŲÆŁŠŁ† ŁˆŲ§Ł„Ł…ŲÆŁŁˆŲ¹Ų§ŲŖ ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Ų§Ł„Ł…ŁˆŲ§ŁŁ‚Ų© على هذا النظام ConfirmApproveThisOrder=هل أنت Ł…ŲŖŲ£ŁƒŲÆ من أن ŁŠŁˆŲ§ŁŁ‚ على هذا Ų§Ł„Ų£Ł…Ų±ŲŸ -DenyingThisOrder=ŁˆŁ†ŁŁ‰ هذا الأمر +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=هل أنت Ł…ŲŖŲ£ŁƒŲÆ من Ų„Ł†ŁƒŲ§Ų± هذا Ų§Ł„Ų£Ł…Ų±ŲŸ ConfirmCancelThisOrder=هل أنت Ł…ŲŖŲ£ŁƒŲÆ من Ų£Ł†Łƒ تريد ؄لغاؔ هذا Ų§Ł„Ł†ŲøŲ§Ł…ŲŸ AddCustomerOrder=العملاؔ من أجل خلق diff --git a/htdocs/langs/ar_SA/trips.lang b/htdocs/langs/ar_SA/trips.lang index a0e4ca8661a..fadc1044001 100644 --- a/htdocs/langs/ar_SA/trips.lang +++ b/htdocs/langs/ar_SA/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=رحلة -Trips=رحلات -TripsAndExpenses=ŁˆŁ†ŁŁ‚Ų§ŲŖ الرحلات -TripsAndExpensesStatistics=رحلات ŁˆŁ†ŁŁ‚Ų§ŲŖ Ų„Ų­ŲµŲ§Ų”Ų§ŲŖ -TripCard=بطاقة زيارة -AddTrip=؄ضافة رحلة -ListOfTrips=قائمة الرحلات +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=قائمة Ų§Ł„Ų±Ų³ŁˆŁ… -NewTrip=رحلة جديدة +NewTrip=New expense report CompanyVisited=Ų§Ł„Ų“Ų±ŁƒŲ© / المؤسسة Ų²Ų§Ų±ŲŖ Kilometers=ŁƒŁ… FeesKilometersOrAmout=ŁƒŁ… المبلغ أو -DeleteTrip=رحلة حذف -ConfirmDeleteTrip=هل أنت Ł…ŲŖŲ£ŁƒŲÆ من Ų£Ł†Łƒ تريد حذف هذه Ų§Ł„Ų±Ų­Ł„Ų©ŲŸ -TF_OTHER=أخرى -TF_LUNCH=ŲŗŲÆŲ§Ų” -TF_TRIP=رحلة -ListTripsAndExpenses=قائمة الرحلات ŁˆŲ§Ł„Ł…ŲµŲ§Ų±ŁŠŁ -ExpensesArea=رحلات ŁˆŁ…Ł†Ų·Ł‚Ų© النفقات -SearchATripAndExpense=ŲØŲ­Ų« عن رحلة ŁˆŲ§Ł„Ł†ŁŁ‚Ų§ŲŖ +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=أخرى +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/bg_BG/admin.lang b/htdocs/langs/bg_BG/admin.lang index 6b3cc24a468..e1d603d5a23 100644 --- a/htdocs/langs/bg_BG/admin.lang +++ b/htdocs/langs/bg_BG/admin.lang @@ -8,6 +8,11 @@ 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=ID на ŃŠµŃŠøŃŃ‚Š° SessionSaveHandler=Handler за Га запазите ŃŠµŃŠøŃŃ‚Š° SessionSavePath=ŠœŃŃŃ‚Š¾ за ŃŃŠŃ…Ń€Š°Š½ŠµŠ½ŠøŠµ на ŃŠµŃŠøŃŃ‚Š° @@ -294,7 +299,7 @@ DoNotUseInProduction=ŠŠµ използвайте на ŠæŃ€Š¾Š“ŃƒŠŗŃˆŃŠŠ½ пла ThisIsProcessToFollow=Това е настройка на процеса: StepNb=Š”Ń‚ŃŠŠæŠŗŠ° %s FindPackageFromWebSite=ŠŠ°Š¼ŠµŃ€Šø пакет, който Š¾ŃŠøŠ³ŃƒŃ€ŃŠ²Š° Ń„ŃƒŠ½ŠŗŃ†ŠøŃ искате (например относно Š¾Ń„ŠøŃ†ŠøŠ°Š»Š½ŠøŃ уеб сайт %s). -DownloadPackageFromWebSite=Download package %s. +DownloadPackageFromWebSite=Š˜Š·Ń‚ŠµŠ³Š»ŃŠ½Šµ на пакет %s. UnpackPackageInDolibarrRoot=Разопаковайте пакет файл в главната Š“ŠøŃ€ŠµŠŗŃ‚Š¾Ń€ŠøŃ %s Dolibarr SetupIsReadyForUse=Install е Š·Š°Š²ŃŠŃ€ŃˆŠµŠ½ Šø Dolibarr е готов за използване с този нов компонент. NotExistsDirect=Алтернатива главната Š“ŠøŃ€ŠµŠŗŃ‚Š¾Ń€ŠøŃ не е Гефинирано.
    @@ -311,7 +316,7 @@ GenericMaskCodes3=Всички Š“Ń€ŃƒŠ³Šø символи на маската щ GenericMaskCodes4a=ŠŸŃ€ŠøŠ¼ŠµŃ€ за използване на 99 %s на третата страна ŠšŠžŠœŠŸŠŠŠ˜ŠÆŠ¢Š ŠøŠ·Š²ŃŠŃ€ŃˆŠ²Š° 2007-01-31:
    GenericMaskCodes4b=ŠŸŃ€ŠøŠ¼ŠµŃ€ за трета страна е съзГаГен на 2007-03-01:
    GenericMaskCodes4c=ŠŸŃ€ŠøŠ¼ŠµŃ€ за ŠæŃ€Š¾Š“ŃƒŠŗŃ‚, съзГаГен на 2007-03-01:
    -GenericMaskCodes5=ABC{yy}{mm}-{000000} will give ABC0701-000099
    {0000+100@1}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX +GenericMaskCodes5=ABC{yy}{mm}-{000000} ще ГаГе ABC0701-000099
    {0000+100@1}-ZZZ/{dd} / XXX ще ГаГе 0199-ZZZ/31/XXX GenericNumRefModelDesc=Š’ŃŠŃ€Š½ŠµŃ‚Šµ аГаптивни номер спореГ опреГелен маска. ServerAvailableOnIPOrPort=Š”ŃŠŃ€Š²ŃŠŃ€ е Š“Š¾ŃŃ‚ŃŠŠæŠ½Š° на аГрес %s на порт %s ServerNotAvailableOnIPOrPort=Š”ŃŠŃ€Š²ŃŠŃ€ŃŠŃ‚ не е Š“Š¾ŃŃ‚ŃŠŠæŠµŠ½ на аГрес %s на порт %s @@ -335,7 +340,7 @@ LanguageFilesCachedIntoShmopSharedMemory=Файлове. Lang зареГени ExamplesWithCurrentSetup=ŠŸŃ€ŠøŠ¼ŠµŃ€Šø с Ń‚ŠµŠŗŃƒŃ‰Š°Ń‚Š° настройка ListOfDirectories=Дписък на OpenDocument Гиректории шаблони ListOfDirectoriesForModelGenODT=Дписък на Гиректории, ŃŃŠŠ“ŃŠŃ€Š¶Š°Ń‰Šø шаблони файлове с OpenDocument формат.

    Тук можете Га Š²ŃŠŠ²ŠµŠ“ете ŠæŃŠŠ»Š½ŠøŃ ŠæŃŠŃ‚ на Гиректории.
    Добави за Š²Ń€ŃŠŃ‰Š°Š½Šµ межГу ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ» ие.
    За Га Гобавите Š“ŠøŃ€ŠµŠŗŃ‚Š¾Ń€ŠøŃ на GED моГул, Гобавете Ń‚ŃƒŠŗ на DOL_DATA_ROOT / ECM / yourdirectoryname.

    Файлове в тези Гиректории, Ń‚Ń€ŃŠ±Š²Š° Га Š·Š°Š²ŃŠŃ€ŃˆŠ²Š° с. ODT. -NumberOfModelFilesFound=Number of ODT/ODS templates files found in those directories +NumberOfModelFilesFound=Брой на ODT файлове шаблони, намерени в тези Гиректории ExampleOfDirectoriesForModelGen=ŠŸŃ€ŠøŠ¼ŠµŃ€Šø на синтаксиса:
    C: \\ mydir
    / ŠŠ°Ń‡Š°Š»Š¾ / mydir
    DOL_DATA_ROOT / ECM / ecmdir FollowingSubstitutionKeysCanBeUsed=
    За Га разберете как Га ŃŃŠŠ·Š“Š°Š“ŠµŃ‚Šµ свои ODT шаблони на Š“Š¾ŠŗŃƒŠ¼ŠµŠ½Ń‚Šø, преГи Га ги ŃŃŠŃ…Ń€Š°Š½ŃŠ²Š°Ń‚Šµ в тези ŃƒŠŗŠ°Š·Š°Ń‚ŠµŠ»Šø, прочетете уики Š“Š¾ŠŗŃƒŠ¼ŠµŠ½Ń‚Š°Ń†ŠøŃ: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template @@ -369,19 +374,19 @@ NewVATRates=ŠŠ¾Š² ставка на ДДД PriceBaseTypeToChange=ŠŸŃ€Š¾Š¼ŃŠ½Š° на цените с база референтна стойност, опреГелена на MassConvert=Дтартиране маса конвертирате String=ŠŠøŠ· -TextLong=Long text -Int=Integer -Float=Float +TextLong=Š”ŃŠŠ»ŃŠŠ³ текст +Int=Š¦ŃŠ»Š¾ число +Float=Десетично число DateAndTime=Дата Šø час -Unique=Unique -Boolean=Boolean (Checkbox) +Unique=Уникално +Boolean=Логическо (ŠžŃ‚Š¼ŠµŃ‚ŠŗŠ°) ExtrafieldPhone = Телефон ExtrafieldPrice = Цена ExtrafieldMail = Имейл -ExtrafieldSelect = Select list -ExtrafieldSelectList = Select from table -ExtrafieldSeparator=Separator -ExtrafieldCheckBox=Checkbox +ExtrafieldSelect = Š˜Š·Š±Š¾Ń€ лист +ExtrafieldSelectList = Š˜Š·Š±Š¾Ń€ от таблица +ExtrafieldSeparator=РазГелител +ExtrafieldCheckBox=ŠžŃ‚Š¼ŠµŃ‚ŠŗŠ° ExtrafieldRadio=РаГио Š±ŃƒŃ‚он ExtrafieldCheckBoxFromList= Checkbox from table 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 @@ -389,16 +394,16 @@ ExtrafieldParamHelpcheckbox=Parameters list have to be like key,value

    fo 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 +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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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) +RefreshPhoneLink=ŠžŠ±Š½Š¾Š²Šø Š²Ń€ŃŠŠ·ŠŗŠ° +LinkToTest=Генерирана е Š²Ń€ŃŠŠ·ŠŗŠ° за потребител %s (натиснете Ń‚ŠµŠ»ŠµŃ„Š¾Š½Š½ŠøŃ номер за тест) +KeepEmptyToUseDefault=ŠžŃŃ‚Š°Š²ŠµŃ‚Šµ празно за стойност по поГразбиране +DefaultLink=Š’Ń€ŃŠŠ·ŠŗŠ° по поГразбиране +ValueOverwrittenByUserSetup=Внимание, тази стойност може Га бъГе презаписана от потребителски настройки (всеки потребител може Га заГаГе собствен натисни-набери аГрес) ExternalModule=Š’ŃŠŠ½ŃˆŠµŠ½ моГул - инсталиран в Š“ŠøŃ€ŠµŠŗŃ‚Š¾Ń€ŠøŃ %s BarcodeInitForThirdparties=Mass barcode init for thirdparties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services @@ -443,8 +448,8 @@ Module52Name=Запаси Module52Desc=Управление на склаГ (ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø) Module53Name=Услуги Module53Desc=Управление на услуги -Module54Name=Contracts/Subscriptions -Module54Desc=Management of contracts (services or reccuring subscriptions) +Module54Name=Договори/Абонаменти +Module54Desc=Управление на Гоговори (услуги или абонаменти) Module55Name=БаркоГове Module55Desc=Управление на баркоГ Module56Name=Š¢ŠµŠ»ŠµŃ„Š¾Š½ŠøŃ @@ -481,7 +486,7 @@ Module320Name=RSS ŠµŠ¼ŠøŃŠøŃ Module320Desc=Š”Š¾Š±Š°Š²ŃŠ½Šµ на RSS ŠµŠ¼ŠøŃŠøŃ в страниците на Dolibarr Module330Name=ŠžŃ‚Š¼ŠµŃ‚ŠŗŠø Module330Desc=Управление на отметки -Module400Name=Projects/Opportunities/Leads +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 ŠøŠ½Ń‚ŠµŠ³Ń€Š°Ń†ŠøŃ @@ -493,10 +498,16 @@ Module600Name=Š˜Š·Š²ŠµŃŃ‚ŠøŃ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Š”Š°Ń€ŠµŠ½ŠøŃ Module700Desc=Управление на Š“Š°Ń€ŠµŠ½ŠøŃ +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=Богомолка Module1200Desc=Mantis ŠøŠ½Ń‚ŠµŠ³Ń€Š°Ń†ŠøŃ Module1400Name=ДчетовоГство Module1400Desc=Управление на счетовоГство (Гвойни страни) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=ŠšŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŠø Module1780Desc=Управление на категории (ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø, Гоставчици Šø клиенти) Module2000Name=WYSIWYG реГактор @@ -631,7 +642,7 @@ Permission181=Доставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Permission182=ДъзГаване / ŠæŃ€Š¾Š¼ŃŠ½Š° на Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Permission183=ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠ° на Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Permission184=ŠžŠ“Š¾Š±Ń€ŃŠ²Š°Š½Šµ на Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø -Permission185=ŠŸŠ¾Ń€ŃŠŃ‡ŠŗŠ° Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø +Permission185=Order or cancel supplier orders Permission186=ŠŸŠ¾Š»ŃƒŃ‡Š°Š²Š°Š½Šµ на Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Permission187=Близки ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Гоставчици Permission188=ŠžŃ‚ŠŗŠ°Š· Гоставчика ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø @@ -711,6 +722,13 @@ Permission538=Износ услуги Permission701=ŠŸŃ€Š¾Ń‡ŠµŃ‚Šø Š“Š°Ń€ŠµŠ½ŠøŃ Permission702=ДъзГаване / ŠæŃ€Š¾Š¼ŃŠ½Š° на Š“Š°Ń€ŠµŠ½ŠøŃ Permission703=Š˜Š·Ń‚Ń€ŠøŠ²Š°Š½Šµ на Š“Š°Ń€ŠµŠ½ŠøŃ +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=ŠŸŃ€Š¾Ń‡ŠµŃ‚Šø запаси Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ŠŸŠ°Ń€Š¾Š»Š°, за Га използвате прокси сър DefineHereComplementaryAttributes=ŠžŠæŃ€ŠµŠ“ŠµŠ»ŠµŃ‚Šµ Ń‚ŃƒŠŗ всички atributes, не е налична по поГразбиране, Šø че искате Га се ŠæŠ¾Š“Š“ŃŠŃ€Š¶Š° за %s. ExtraFields=Š”Š¾ŠæŃŠŠ»Š½ŠøŃ‚ŠµŠ»Š½Šø Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Šø 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Š›ŠøŠ½ŠøŃ на ŠæŃ€Š¾Š“ŃƒŠŗŃ‚ / услуга с ну FreeLegalTextOnProposal=ДвобоГен текст на Ń‚ŃŠŃ€Š³Š¾Š²ŃŠŗŠø ŠæŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ 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=ŠŠ°ŃŃ‚Ń€Š¾Š¹ŠŗŠø за ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŠµ на ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø OrdersNumberingModules=ŠŸŠ¾Ń€ŃŠŃ‡ŠŗŠø номериране моГули @@ -1383,7 +1410,7 @@ BarcodeDescUPC=БаркоГ от тип UPC BarcodeDescISBN=БаркоГ от тип ISBN BarcodeDescC39=БаркоГ от типа Š”39 BarcodeDescC128=БаркоГ от тип C128 -GenbarcodeLocation=Бар коГ поколение ŠøŠ½ŃŃ‚Ń€ŃƒŠ¼ŠµŠ½Ń‚ за ŠŗŠ¾Š¼Š°Š½Š“Š½ŠøŃ реГ (използва се от Гвигател с Š²ŃŠŃ‚Ń€ŠµŃˆŠ½Š¾ за Š½ŃŠŗŠ¾Šø виГове баркоГ) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=ŠŠŗŠ°ŃƒŠ½Ń‚ по поГразбиране Га се използва за ŠæŠ¾Š»ŃƒŃ‡Š°Š²Š°Š½Šµ на парични ŠæŠ»Š°Ń‰Š°Š½ŠøŃ CashDeskBankAccountForCheque= ŠŠŗŠ°ŃƒŠ½Ń‚ по поГразбиране Га се използва за ŠæŠ¾Š»ŃƒŃ‡Š°Š²Š°Š½Šµ на ŠæŠ»Š°Ń‰Š°Š½ŠøŃ с чек CashDeskBankAccountForCB= ŠŠŗŠ°ŃƒŠ½Ń‚ по поГразбиране Га се използва за ŠæŠ¾Š»ŃƒŃ‡Š°Š²Š°Š½Šµ на парични ŠæŠ»Š°Ń‰Š°Š½ŠøŃ с креГитни карти -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Bookmark настройка моГул @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/bg_BG/banks.lang b/htdocs/langs/bg_BG/banks.lang index ffd304d841c..e609966ddf7 100644 --- a/htdocs/langs/bg_BG/banks.lang +++ b/htdocs/langs/bg_BG/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=ŠŸŠ¾Š¼ŠøŃ€ŠµŠ½ŠøŠµ RIB=ŠŠ¾Š¼ŠµŃ€ на банкова сметка IBAN=IBAN номер +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT номер +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=ŠŸŠ¾ŃŃ‚Š¾ŃŠ½Š½Šø ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø StandingOrder=ŠŸŠ¾ŃŃ‚Š¾ŃŠ½Š½Š° ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠ° Withdrawals=Š¢ŠµŠ³Š»ŠµŠ½ŠøŃ @@ -148,7 +152,7 @@ BackToAccount=ŠžŠ±Ń€Š°Ń‚Š½Š¾ към сметка ShowAllAccounts=Покажи за всички сметки FutureTransaction=Š¢Ń€Š°Š½Š·Š°ŠŗŃ†ŠøŃ в FUTUR. ŠŃŠ¼Š° начин за помирение. SelectChequeTransactionAndGenerate=Š˜Š·Š±ŠµŃ€ŠµŃ‚Šµ / филтрирате проверки, за Га се Š²ŠŗŠ»ŃŽŃ‡Šø в проверка за ŠæŠ¾Š»ŃƒŃ‡Š°Š²Š°Š½ŠµŃ‚Š¾ на Гепозит Šø кликнете Š²ŃŠŃ€Ń…Ńƒ "ДъзГаване". -InputReceiptNumber=Š˜Š·Š±ŠµŃ€ŠµŃ‚Šµ банково извлечение, ŃŠ²ŃŠŃ€Š·Š°Š½Šø с ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Š°Ń‚Š° по съгласуване. Š˜Š·ŠæŠ¾Š»Š·Š²Š°Š¹Ń‚Šµ поГрежГане числова стойност (като YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Š’ крайна сметка, Га посочите ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃŃ‚Š°, в ŠŗŠ¾ŃŃ‚о Га се класифицират записи ToConciliate=За помирение? ThenCheckLinesAndConciliate=ДлеГ това проверете линии в отчета на банката Šø кликнете diff --git a/htdocs/langs/bg_BG/bills.lang b/htdocs/langs/bg_BG/bills.lang index 8e51c4cf697..afa18f81cac 100644 --- a/htdocs/langs/bg_BG/bills.lang +++ b/htdocs/langs/bg_BG/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=ŠŸŠ»Š°Ń‰Š°Š½ŠøŃ направили PaymentsBackAlreadyDone=Payments back already done PaymentRule=ŠŸŠ»Š°Ń‰Š°Š½Šµ правило PaymentMode=ŠŠ°Ń‡ŠøŠ½ на плащане -PaymentConditions=ŠŠ°Ń‡ŠøŠ½ на плащане -PaymentConditionsShort=ŠŠ°Ń‡ŠøŠ½ на плащане +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Дума за плащане ValidatePayment=ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠ° на плащане PaymentHigherThanReminderToPay=ŠŸŠ»Š°Ń‰Š°Š½ŠµŃ‚Š¾ по-висока от Š½Š°ŠæŠ¾Š¼Š½ŃŠ½Šµ за плащане diff --git a/htdocs/langs/bg_BG/boxes.lang b/htdocs/langs/bg_BG/boxes.lang index 8695bdf4edd..77d4e23521f 100644 --- a/htdocs/langs/bg_BG/boxes.lang +++ b/htdocs/langs/bg_BG/boxes.lang @@ -12,13 +12,14 @@ BoxLastProspects=ПослеГно променени prospects BoxLastCustomers=ПослеГно променени клиенти BoxLastSuppliers=ПослеГно променени Гоставчици BoxLastCustomerOrders=ПослеГни ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø на клиентите +BoxLastValidatedCustomerOrders=ПослеГни проверени клиентски ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø BoxLastBooks=ПослеГни книги BoxLastActions=ПослеГни Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ BoxLastContracts=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ Гоговори BoxLastContacts=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ контакти/аГреси BoxLastMembers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ членове BoxFicheInter=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ намеси -BoxCurrentAccounts=Opened accounts balance +BoxCurrentAccounts=ŠžŃ‚ŠŗŃ€ŠøŃ‚Šø сметки баланс BoxSalesTurnover=ŠžŠ±Š¾Ń€Š¾Ń‚ от проГажби BoxTotalUnpaidCustomerBills=ŠžŠ±Ń‰Š¾ неплатени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на клиента BoxTotalUnpaidSuppliersBills=ŠžŠ±Ń‰Š¾ неплатени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на Гоставчика @@ -27,26 +28,29 @@ BoxTitleNbOfCustomers=Брой клиенти BoxTitleLastRssInfos=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s новини от %s BoxTitleLastProducts=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø/услуги BoxTitleProductsAlertStock=ŠŸŃ€ŠµŠ“ŃƒŠæŃ€ŠµŠ¶Š“ŠµŠ½ŠøŠµ за наличност на ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø -BoxTitleLastCustomerOrders=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø от клиенти +BoxTitleLastCustomerOrders=ПослеГни %s ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø на клиенти +BoxTitleLastModifiedCustomerOrders=ПослеГни %s променени клиентски ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø BoxTitleLastSuppliers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s записани Гоставчици BoxTitleLastCustomers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s записани клиенти BoxTitleLastModifiedSuppliers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени Гоставчици BoxTitleLastModifiedCustomers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени клиенти -BoxTitleLastCustomersOrProspects=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени клиенти или prospects -BoxTitleLastPropals=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s записани ŠæŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ +BoxTitleLastCustomersOrProspects=ПослеГни %s клиенти или потенциални +BoxTitleLastPropals=ПослеГни %s ŠæŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ +BoxTitleLastModifiedPropals=ПослеГни %s променени ŠæŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ BoxTitleLastCustomerBills=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на клиента +BoxTitleLastModifiedCustomerBills=ПослеГни %s променени клиентски Ń„Š°ŠŗŃ‚ŃƒŃ€Šø BoxTitleLastSupplierBills=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на Гоставчика -BoxTitleLastProspects=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s записани prospects +BoxTitleLastModifiedSupplierBills=ПослеГни %s променени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø от Гоставчик BoxTitleLastModifiedProspects=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени prospects BoxTitleLastProductsInContract=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø / услуги в Гоговора -BoxTitleLastModifiedMembers=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени членове +BoxTitleLastModifiedMembers=ПослеГни %s членове BoxTitleLastFicheInter=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени intervention -BoxTitleOldestUnpaidCustomerBills=Дтарите %s неплатени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на клиента -BoxTitleOldestUnpaidSupplierBills=Дтарите %s неплатени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на Гоставчика -BoxTitleCurrentAccounts=Opened account's balances +BoxTitleOldestUnpaidCustomerBills=ŠŠ°Š¹-стари %s неплатени клиентски Ń„Š°ŠŗŃ‚ŃƒŃ€Šø +BoxTitleOldestUnpaidSupplierBills=ŠŠ°Š¹-стари %s неплатени Ń„Š°ŠŗŃ‚ŃƒŃ€Šø Гоставчик +BoxTitleCurrentAccounts=ŠžŃ‚ŠŗŃ€ŠøŃ‚Šø сметки баланси BoxTitleSalesTurnover=ŠžŠ±Š¾Ń€Š¾Ń‚ от проГажби -BoxTitleTotalUnpaidCustomerBills=ŠŠµŠæŠ»Š°Ń‚ŠµŠ½Šø Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на клиента -BoxTitleTotalUnpaidSuppliersBills=ŠŠµŠæŠ»Š°Ń‚ŠµŠ½Šø Ń„Š°ŠŗŃ‚ŃƒŃ€Šø на Гоставчика +BoxTitleTotalUnpaidCustomerBills=ŠŠµŠæŠ»Š°Ń‚ŠµŠ½Šø клиентски Ń„Š°ŠŗŃ‚ŃƒŃ€Šø +BoxTitleTotalUnpaidSuppliersBills=ŠŠµŠæŠ»Š°Ń‚ŠµŠ½Šø Гоставни Ń„Š°ŠŗŃ‚ŃƒŃ€Šø BoxTitleLastModifiedContacts=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ %s променени контакти/аГреси BoxMyLastBookmarks=ŠŸŠ¾ŃŠ»ŠµŠ“Š½ŠøŃ‚Šµ ми %s отметки BoxOldestExpiredServices=ŠŠ°Š¹-старите Гействащи изтекли услуги @@ -74,18 +78,19 @@ NoRecordedProducts=ŠŃŠ¼Š° регистрирани ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø / услу NoRecordedProspects=ŠŃŠ¼Š° регистрирани перспективи NoContractedProducts=ŠŃŠ¼Š° Гоговорени ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø / услуги NoRecordedContracts=ŠŃŠ¼Š° регистрирани Гоговори -NoRecordedInterventions=No recorded interventions +NoRecordedInterventions=ŠŃŠ¼Š° записани намеси BoxLatestSupplierOrders=ПослеГни ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Гоставчика -BoxTitleLatestSupplierOrders=%s новите ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø Гоставчика +BoxTitleLatestSupplierOrders=ПослеГни %s ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø за Гоставка +BoxTitleLatestModifiedSupplierOrders=ПослеГни %s променени ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø от Гоставчик NoSupplierOrder=ŠŠµ са познати Гоставчик за -BoxCustomersInvoicesPerMonth=Customer invoices per month -BoxSuppliersInvoicesPerMonth=Supplier invoices per month -BoxCustomersOrdersPerMonth=Customer orders per month -BoxSuppliersOrdersPerMonth=Supplier orders per month -BoxProposalsPerMonth=Proposals per month +BoxCustomersInvoicesPerMonth=ŠšŠ»ŠøŠµŠ½Ń‚ŃŠŗŠø Ń„Š°ŠŗŃ‚ŃƒŃ€Šø за месец +BoxSuppliersInvoicesPerMonth=Доставчик Ń„Š°ŠŗŃ‚ŃƒŃ€Šø за месец +BoxCustomersOrdersPerMonth=ŠšŠ»ŠøŠµŠ½Ń‚ŃŠŗŠø Š·Š°ŃŠ²ŠŗŠø за месец +BoxSuppliersOrdersPerMonth=Доставчик ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø за месец +BoxProposalsPerMonth=ŠŸŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ за месец NoTooLowStockProducts=ŠŃŠ¼Š° ŠæŃ€Š¾Š“ŃƒŠŗŃ‚ в наличност поГ минималната -BoxProductDistribution=Products/Services distribution -BoxProductDistributionFor=Distribution of %s for %s +BoxProductDistribution=ŠŸŃ€Š¾Š“ŃƒŠŗŃ‚Šø/Услуги разпреГеление +BoxProductDistributionFor=РазпреГеление на %s за %s ForCustomersInvoices=ŠšŠ»ŠøŠµŠ½Ń‚Š° Ń„Š°ŠŗŃ‚ŃƒŃ€Šø -ForCustomersOrders=Customers orders +ForCustomersOrders=ŠšŠ»ŠøŠµŠ½Ń‚ŃŠŗŠø ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø ForProposals=ŠŸŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ diff --git a/htdocs/langs/bg_BG/cashdesk.lang b/htdocs/langs/bg_BG/cashdesk.lang index 4328519b645..81c14e6e6ff 100644 --- a/htdocs/langs/bg_BG/cashdesk.lang +++ b/htdocs/langs/bg_BG/cashdesk.lang @@ -12,7 +12,7 @@ CashDeskProducts=ŠŸŃ€Š¾Š“ŃƒŠŗŃ‚Šø CashDeskStock=ŠŠ°Š»ŠøŃ‡Š½Š¾ŃŃ‚ CashDeskOn=на CashDeskThirdParty=Трета страна -CashdeskDashboard=Point of sale access +CashdeskDashboard=Š”Š¾ŃŃ‚ŃŠŠæ Го точка на проГажбите ShoppingCart=ŠšŠ¾Š»ŠøŃ‡ŠŗŠ° за ŠæŠ°Š·Š°Ń€ŃƒŠ²Š°Š½Šµ NewSell=ŠŠ¾Š² проГажба BackOffice=ŠžŠ±Ń€Š°Ń‚Š½Š¾ офис @@ -36,5 +36,5 @@ BankToPay=Банкова сметка ShowCompany=Покажи фирмата ShowStock=Покажи склаГ DeleteArticle=ŠšŠ»ŠøŠŗŠ½ŠµŃ‚Šµ, за Га се премахне тази ŃŃ‚Š°Ń‚ŠøŃ -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. +FilterRefOrLabelOrBC=Š¢ŃŠŃ€ŃŠµŠ½Šµ (ŠŠ¾Š¼ŠµŃ€/Заглавие) +UserNeedPermissionToEditStockToUsePos=Запитвате за Š½Š°Š¼Š°Š»ŃŠ²Š°Š½Šµ на стоки при съзГаване на Ń„Š°ŠŗŃ‚ŃƒŃ€Š°, така че ŠæŠ¾Ń‚Ń€ŠµŠ±ŠøŃ‚ŠµŠ»Ń използващ ТП Ń‚Ń€ŃŠ±Š²Š° Га е с привилегии Га реГактира стоки. diff --git a/htdocs/langs/bg_BG/categories.lang b/htdocs/langs/bg_BG/categories.lang index a6142468ddf..9e969cad703 100644 --- a/htdocs/langs/bg_BG/categories.lang +++ b/htdocs/langs/bg_BG/categories.lang @@ -50,7 +50,7 @@ SupplierIsInCategories=Третото лице е в слеГните катег CompanyIsInCustomersCategories=Това трето лице е в слеГните категории клиенти/prospects CompanyIsInSuppliersCategories=Това трето лице е в слеГните категории Гоставчици MemberIsInCategories=Този член е в слеГните категории членове -ContactIsInCategories=This contact owns to following contacts categories +ContactIsInCategories=Този контакт принаГлежи на слеГните категории контакти ProductHasNoCategory=Този ŠæŃ€Š¾Š“ŃƒŠŗŃ‚/услуга не е в никакви категории SupplierHasNoCategory=Този Гоставчик не е в никакви категории CompanyHasNoCategory=Тази фирма не е в никакви категории @@ -66,7 +66,7 @@ ReturnInCompany=ŠžŠ±Ń€Š°Ń‚Š½Š¾ към картата на клиента/prospe ContentsVisibleByAll=Š”ŃŠŠ“ŃŠŃ€Š¶Š°Š½ŠøŠµŃ‚Š¾ ще се вижГа от всички ContentsVisibleByAllShort=Š”ŃŠŠ“ŃŠŃ€Š¶Š°Š½ŠøŠµŃ‚Š¾ е виГимо от всички ContentsNotVisibleByAllShort=Š”ŃŠŠ“ŃŠŃ€Š¶Š°Š½ŠøŠµŃ‚Š¾ не е виГимо от всички -CategoriesTree=Categories tree +CategoriesTree=ŠšŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŠø Š“ŃŠŃ€Š²Š¾ DeleteCategory=Š˜Š·Ń‚Ń€ŠøŠ²Š°Š½Šµ на ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ ConfirmDeleteCategory=Š”ŠøŠ³ŃƒŃ€Š½Šø ли сте, че желаете Га изтриете тази ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ? RemoveFromCategory=ŠŸŃ€ŠµŠ¼Š°Ń…Š²Š°Š½Šµ на Š²Ń€ŃŠŠ·ŠŗŠ°Ń‚а с ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ @@ -96,17 +96,17 @@ CatSupList=Дписък на Гоставчика категории CatCusList=Дписък на потребителите / перспективата категории CatProdList=Дписък на ŠæŃ€Š¾Š“ŃƒŠŗŃ‚ŠøŃ‚Šµ категории CatMemberList=Дписък на членовете категории -CatContactList=List of contact categories and contact -CatSupLinks=Links between suppliers and categories -CatCusLinks=Links between customers/prospects and categories -CatProdLinks=Links between products/services and categories -CatMemberLinks=Links between members and categories +CatContactList=Лист на контактни категории Šø контакти +CatSupLinks=Š’Ń€ŃŠŠ·ŠŗŠø межГу Гоставчици Šø категории +CatCusLinks=Š’Ń€ŃŠŠ·ŠŗŠø межГу потребител/перспектива Šø категории +CatProdLinks=Š’Ń€ŃŠŠ·ŠŗŠø межГу ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Šø/услуги Šø категории +CatMemberLinks=Š’Ń€ŃŠŠ·ŠŗŠø межГу членове Šø категории DeleteFromCat=ŠŸŃ€ŠµŠ¼Š°Ń…Š²Š°Š½Šµ от ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃŃ‚Š° -DeletePicture=Picture delete -ConfirmDeletePicture=Confirm picture deletion? -ExtraFieldsCategories=Complementary attributes -CategoriesSetup=Categories setup -CategorieRecursiv=Link with parent category automatically -CategorieRecursivHelp=If activated, product will also linked to parent category when adding into a subcategory +DeletePicture=Š˜Š·Ń‚Ń€ŠøŠ¹ снимка +ConfirmDeletePicture=ŠŸŠ¾Ń‚Š²ŃŠŃ€Š“Šø изтриване на снимка? +ExtraFieldsCategories=Š”Š¾ŠæŃŠŠ»Š½ŠøŃ‚ŠµŠ»Š½Šø Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Šø +CategoriesSetup=ŠšŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŠø настройка +CategorieRecursiv=Автоматично ŃŠ²ŃŠŃ€Š·Š²Š°Š½Šµ с роГителска ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ +CategorieRecursivHelp=Ако е активирано, ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š° ще бъГе ŃŠ²ŃŠŃ€Š·Š°Š½ ŃŃŠŃ‰Š¾ Šø с роГителската ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ при Š“Š¾Š±Š°Š²ŃŠ½Šµ в поГ-ŠŗŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŃ AddProductServiceIntoCategory=Add the following product/service ShowCategory=Show category diff --git a/htdocs/langs/bg_BG/commercial.lang b/htdocs/langs/bg_BG/commercial.lang index dfcb852b7d6..b194f60814c 100644 --- a/htdocs/langs/bg_BG/commercial.lang +++ b/htdocs/langs/bg_BG/commercial.lang @@ -9,9 +9,9 @@ Prospect=ŠŸŠµŃ€ŃŠæŠµŠŗŃ‚ŠøŠ²Š° Prospects=ŠŸŠµŃ€ŃŠæŠµŠŗŃ‚ŠøŠ²Šø DeleteAction=Š˜Š·Ń‚Ń€ŠøŠ²Š°Š½Šµ на ŃŃŠŠ±ŠøŃ‚ŠøŠµ / заГача NewAction=ŠŠ¾Š²Š¾ ŃŃŠŠ±ŠøŃ‚ŠøŠµ/заГача -AddAction=Š”Š¾Š±Š°Š²ŃŠ½Šµ на ŃŃŠŠ±ŠøŃ‚ŠøŠµ/заГача -AddAnAction=Š”Š¾Š±Š°Š²ŃŠ½Šµ на ŃŃŠŠ±ŠøŃ‚ŠøŠµ/заГача -AddActionRendezVous=Добави ŃŃŠŠ±ŠøŃ‚ŠøŠµ - среща +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Дреща ConfirmDeleteAction=Š”ŠøŠ³ŃƒŃ€Š½Šø ли сте, че желаете Га изтриете това ŃŃŠŠ±ŠøŃ‚ŠøŠµ/заГача? CardAction=ŠšŠ°Ń€Ń‚Š° на/за ŃŃŠŠ±ŠøŃ‚ŠøŠµ @@ -44,8 +44,8 @@ DoneActions=Š—Š°Š²ŃŠŃ€ŃˆŠµŠ½Šø ŃŃŠŠ±ŠøŃ‚ŠøŃ DoneActionsFor=Š—Š°Š²ŃŠŃ€ŃˆŠµŠ½Šø ŃŃŠŠ±ŠøŃ‚ŠøŃ за %s ToDoActions=ŠŠµŠæŃŠŠ»Š½Šø ŃŃŠŠ±ŠøŃ‚ŠøŃ ToDoActionsFor=ŠŠµŠæŃŠŠ»Š½Šø ŃŃŠŠ±ŠøŃ‚ŠøŃ за %s -SendPropalRef=Š˜Š·ŠæŃ€Š°Ń‚ŠµŃ‚Šµ Ń‚ŃŠŃ€Š³Š¾Š²ŃŠŗŠø %s преГложение -SendOrderRef=Š˜Š·ŠæŃ€Š°Ń‚Šø реГ %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=ŠŠµ е приложимо StatusActionToDo=За Га направите StatusActionDone=Пълен @@ -62,7 +62,7 @@ LastProspectContactDone=Š”Š²ŃŠŃ€Š¶Šø се направи DateActionPlanned=Дата на ŃŃŠŠ±ŠøŃ‚ŠøŠµŃ‚Š¾, планирано за DateActionDone=Дата на ŃŃŠŠ±ŠøŃ‚ŠøŠµŃ‚Š¾ направи ActionAskedBy=Š”ŃŠŠ±ŠøŃ‚ŠøŠµ ГоклаГвани от -ActionAffectedTo=Š”ŃŠŠ±ŠøŃ‚ŠøŠµ засегнати в +ActionAffectedTo=Event assigned to ActionDoneBy=Š”ŃŠŠ±ŠøŃ‚ŠøŠµ, ŠøŠ·Š²ŃŠŃ€ŃˆŠµŠ½Š° от ActionUserAsk=Š”ŃŠŠ¾Š±Ń‰ŠµŠ½ŠøŃ‚Šµ от ErrorStatusCantBeZeroIfStarted=Ако се попълва поле "Дата", Гействието се стартира (или Š·Š°Š²ŃŠŃ€ŃˆŠµŠ½), така че "Š”Ń‚Š°Ń‚ŃƒŃ" ŠŸŠ¾Š»ŠµŃ‚Š¾ не може Га бъГе 0%. diff --git a/htdocs/langs/bg_BG/contracts.lang b/htdocs/langs/bg_BG/contracts.lang index 1aa00c03e0e..dc09a470545 100644 --- a/htdocs/langs/bg_BG/contracts.lang +++ b/htdocs/langs/bg_BG/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Š˜Š·Ń‚ŠµŠŗŠ»Š° ServiceStatusClosed=Затворен ServicesLegend=Услуги легенГа Contracts=Договори +ContractsAndLine=Contracts and line of contracts Contract=Договор NoContracts=ŠŠµ Гоговори MenuServices=Услуги diff --git a/htdocs/langs/bg_BG/cron.lang b/htdocs/langs/bg_BG/cron.lang index 47c14375e46..9bd0fcaa449 100644 --- a/htdocs/langs/bg_BG/cron.lang +++ b/htdocs/langs/bg_BG/cron.lang @@ -84,3 +84,4 @@ CronType_command=Терминална команГа CronMenu=ŠšŃ€Š¾Š½ (ŃŠ¾Ń„Ń‚ŃƒŠµŃ€ за изпънение на автоматични заГачи) CronCannotLoadClass=ŠŠµŠ¼Š¾Š¶Šµ Га се зареГи класа %s или обекта %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +TaskDisabled=Task disabled diff --git a/htdocs/langs/bg_BG/errors.lang b/htdocs/langs/bg_BG/errors.lang index 0db0a31c373..6231717fdd5 100644 --- a/htdocs/langs/bg_BG/errors.lang +++ b/htdocs/langs/bg_BG/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Š˜Š·Ń‚Š¾Ń‡Š½ŠøŠŗŠ° Šø целите на банк ErrorBadThirdPartyName=ŠŠµŠæŃ€Š°Š²ŠøŠ»Š½Š° стойност за името на трета страна ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad синтаксис за коГ на клиента -ErrorBadBarCodeSyntax=Bad syntax for bar 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=ŠšŠ»ŠøŠµŠ½Ń‚ŠøŃ‚Šµ изисква коГ ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=ŠšŠ»ŠøŠµŠ½Ń‚ŃŠŃ‚ коГ вече се използва @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript не Ń‚Ń€ŃŠ±Š²Š° Га Š±ŃŠŠ“ат хор ErrorPasswordsMustMatch=Двете машинописни пароли Ń‚Ń€ŃŠ±Š²Š° Га ŃŃŠŠ²ŠæŠ°Š“Š°Ń‚ помежГу си ErrorContactEMail=Техническа Š³Ń€ŠµŃˆŠŗŠ°. ŠœŠ¾Š»Ń, ŃŠ²ŃŠŃ€Š¶ŠµŃ‚Šµ се с аГминистратора слеГ имейл %s EN ŠæŃ€ŠµŠ“Š¾ŃŃ‚Š°Š²ŃŃ‚ на %s коГ на Š³Ń€ŠµŃˆŠŗŠ° в ŃŃŠŠ¾Š±Ń‰ŠµŠ½ŠøŠµŃ‚Š¾ си, или още по-Гобре чрез Š“Š¾Š±Š°Š²ŃŠ½Šµ на екран копие на тази страница. ErrorWrongValueForField=Š“Ń€ŠµŃˆŠ½Š° стойност за номер на полето %s ("%s" стойността не ŃŃŠŠ¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²Š° на Ń€ŠµŠ³ŃƒŠ»ŃŃ€Š½Šø изрази Š²ŃŠŃ€Ń…овенството %s) -ErrorFieldValueNotIn=Š“Ń€ŠµŃˆŠ½Š° стойност за %s номер на полето (стойност "%s" не е стойност в полеви %s трапезни %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Š“Ń€ŠµŃˆŠ½Š° стойност за номер на полето %s ("%s стойност не е %s ŃŃŠŃ‰ŠµŃŃ‚Š²ŃƒŠ²Š°Ń‰ŠøŃ коГ) ErrorsOnXLines=Š“Ń€ŠµŃˆŠŗŠø на %s изхоГни линии ErrorFileIsInfectedWithAVirus=ŠŠ½Ń‚ŠøŠ²ŠøŃ€ŃƒŃŠ½Š° програма не е в ŃŃŠŃŃ‚Š¾ŃŠ½ŠøŠµ Га валиГира файла (файл може Га бъГе заразен с Š²ŠøŃ€ŃƒŃ) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Š—Š°Š“ŃŠŠ»Š¶ŠøŃ‚ŠµŠ»Š½Šø параметри на настройката все още не са опреГелени diff --git a/htdocs/langs/bg_BG/incoterm.lang b/htdocs/langs/bg_BG/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/bg_BG/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/bg_BG/install.lang b/htdocs/langs/bg_BG/install.lang index 51f011d6708..8f31aacacc0 100644 --- a/htdocs/langs/bg_BG/install.lang +++ b/htdocs/langs/bg_BG/install.lang @@ -156,6 +156,7 @@ LastStepDesc=ПослеГна ŃŃ‚ŃŠŠæŠŗŠ°: ŠžŠæŃ€ŠµŠ“ŠµŠ»ŠµŃ‚ ActivateModule=Активиране на моГул %s ShowEditTechnicalParameters=ŠŠ°Ń‚ŠøŃŠ½ŠµŃ‚Šµ Ń‚ŃƒŠŗ за Га покажете/реГактирате параметрите за напреГнали (експертен режим) 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 diff --git a/htdocs/langs/bg_BG/main.lang b/htdocs/langs/bg_BG/main.lang index 57cc10d1008..579a2d355a3 100644 --- a/htdocs/langs/bg_BG/main.lang +++ b/htdocs/langs/bg_BG/main.lang @@ -141,6 +141,7 @@ Cancel=ŠžŃ‚ŠŗŠ°Š· Modify=ŠŸŃ€Š¾Š¼ŃŠ½Š° Edit=РеГактиране Validate=ŠŸŠ¾Ń‚Š²ŃŠŃ€Š¶Š“ŠµŠ½ŠøŠµ +ValidateAndApprove=Validate and Approve ToValidate=За ŠæŠ¾Ń‚Š²ŃŠŃ€Š¶Š“ŠµŠ½ŠøŠµ Save=Запис SaveAs=Запис като @@ -158,6 +159,7 @@ Search=Š¢ŃŠŃ€ŃŠµŠ½Šµ SearchOf=Š¢ŃŠŃ€ŃŠµŠ½Šµ Valid=ŠŸŠ¾Ń‚Š²ŃŠŃ€Š“ŠµŠ½ Approve=ŠžŠ“Š¾Š±Ń€ŃŠ²Š°Š½Šµ +Disapprove=Disapprove ReOpen=Re-Open Upload=Š˜Š·ŠæŃ€Š°Ń‰Š°Š½Šµ на файл ToLink=Š’Ń€ŃŠŠ·ŠŗŠ° @@ -219,6 +221,7 @@ Cards=ŠšŠ°Ń€Ń‚Šø Card=ŠšŠ°Ń€Ń‚Š° Now=Дега Date=Дата +DateAndHour=Date and hour DateStart=ŠŠ°Ń‡Š°Š»Š½Š° Гата DateEnd=ŠšŃ€Š°Š¹Š½Š° Гата DateCreation=Дата на съзГаване @@ -295,6 +298,7 @@ UnitPriceHT=ЕГинична цена (нето) UnitPriceTTC=ЕГинична цена PriceU=U.P. PriceUHT=U.P. (нето) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=U.P. Amount=Размер AmountInvoice=Š¤Š°ŠŗŃ‚ŃƒŃ€ŠøŃ€Š°Š½Š° стойност @@ -521,6 +525,7 @@ DateFromTo=ŠžŃ‚ %s Го %s DateFrom=ŠžŃ‚ %s DateUntil=До %s Check=ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠ° +Uncheck=Uncheck Internal=Š’ŃŠŃ‚Ń€ŠµŃˆŠµŠ½ External=Š’ŃŠŠ½ŃˆŠµŠ½ Internals=Š’ŃŠŃ‚Ń€ŠµŃˆŠµŠ½ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Š˜Š·Š±ŠµŃ€ŠµŃ‚Šµ елемент Šø натиснете ŠŸŃ€ŠµŠ·Š°Ń€ŠµŠ¶Š“ане PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ПонеГелник Tuesday=Вторник diff --git a/htdocs/langs/bg_BG/orders.lang b/htdocs/langs/bg_BG/orders.lang index 0446c663f6c..b68ed897256 100644 --- a/htdocs/langs/bg_BG/orders.lang +++ b/htdocs/langs/bg_BG/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ŠžŃ‚Š¼ŠµŠ½ŠµŠ½ StatusOrderDraft=ŠŸŃ€Š¾ŠµŠŗŃ‚ (Ń‚Ń€ŃŠ±Š²Š° Га Š±ŃŠŠ“ат валиГирани) StatusOrderValidated=Š£Ń‚Š²ŃŠŃ€Š“ŠµŠ½ StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=ŠžŠ±Ń€Š°Š±Š¾Ń‚ŠµŠ½ StatusOrderToBill=Доставени StatusOrderToBill2=ŠŠ° Бил @@ -58,6 +59,7 @@ MenuOrdersToBill=Доставени ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠø MenuOrdersToBill2=Billable orders SearchOrder=Š¢ŃŠŃ€ŃŠµŠ½Šµ за SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=ŠšŠ¾Ń€Š°Š± ŠæŃ€Š¾Š“ŃƒŠŗŃ‚ Discount=ŠžŃ‚ŃŃ‚ŃŠŠæŠŗŠ° CreateOrder=ДъзГаване на ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠ° diff --git a/htdocs/langs/bg_BG/other.lang b/htdocs/langs/bg_BG/other.lang index 0e650cb6d81..4e636a028f0 100644 --- a/htdocs/langs/bg_BG/other.lang +++ b/htdocs/langs/bg_BG/other.lang @@ -54,12 +54,13 @@ MaxSize=Максимален размер AttachANewFile=ŠŸŃ€ŠøŠŗŠ°Ń‡Š²Š°Š½Šµ на нов файл/Š“Š¾ŠŗŃƒŠ¼ŠµŠ½Ń‚ LinkedObject=Š”Š²ŃŠŃ€Š·Š°Š½ обект Miscellaneous=Разни -NbOfActiveNotifications=Брой на ŃƒŠ²ŠµŠ“Š¾Š¼Š»ŠµŠ½ŠøŃŃ‚Š° +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Това е тестов имейл.\nДвата реГа са разГелени с нов реГ.\n\n__SIGNATURE__ PredefinedMailTestHtml=Това е тестов имейл (Š“ŃƒŠ¼Š°Ń‚Š° тестов Ń‚Ń€ŃŠ±Š²Š° Га бъГе с уГебелен ŃˆŃ€ŠøŃ„Ń‚).
    Двата реГа са разГелени с нов реГ.

    __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__ diff --git a/htdocs/langs/bg_BG/printing.lang b/htdocs/langs/bg_BG/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/bg_BG/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/bg_BG/productbatch.lang +++ b/htdocs/langs/bg_BG/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/bg_BG/products.lang b/htdocs/langs/bg_BG/products.lang index 63a9c3ea81a..b742caded2a 100644 --- a/htdocs/langs/bg_BG/products.lang +++ b/htdocs/langs/bg_BG/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/bg_BG/projects.lang b/htdocs/langs/bg_BG/projects.lang index c384cf449f2..7fda3412b19 100644 --- a/htdocs/langs/bg_BG/projects.lang +++ b/htdocs/langs/bg_BG/projects.lang @@ -8,8 +8,10 @@ SharedProject=Всички PrivateProject=ŠšŠ¾Š½Ń‚Š°ŠŗŃ‚Šø на проекта MyProjectsDesc=Тази глеГна точка е ограничена Го проекти, които са за контакт (ŠŗŠ°ŠŗŃŠŠ²Ń‚Š¾ Šø Га е тип). 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). TasksPublicDesc=Този възглеГ ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Ń всички проекти Šø заГачи, които може Га чете. TasksDesc=Този възглеГ ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Ń всички проекти Šø заГачи (потребителски Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŃ ви ГаГе Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŠµ Га виГите всичко). ProjectsArea=ŠŸŃ€Š¾ŠµŠŗŃ‚Šø област @@ -29,6 +31,8 @@ NoProject=ŠŠøŃ‚Š¾ еГин проект Š½ŃŠ¼Š° опреГелени или с NbOpenTasks=Nb отворени заГачи NbOfProjects=Nb на проекти TimeSpent=Времето, прекарано +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Времето, прекарано RefTask=Реф. заГача LabelTask=Label заГача @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Дписък на ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠøŃ‚Šµ на Š“ ListSupplierInvoicesAssociatedProject=Дписък на Ń„Š°ŠŗŃ‚ŃƒŃ€ŠøŃ‚Šµ на Гоставчика, ŃŠ²ŃŠŃ€Š·Š°Š½Š° с проекта ListContractAssociatedProject=Дписък на Гоговори, ŃŠ²ŃŠŃ€Š·Š°Š½Šø с проекта ListFichinterAssociatedProject=Дписък на интервенциите, ŃŠ²ŃŠŃ€Š·Š°Š½Šø с проекта -ListTripAssociatedProject=Дписък на ŠæŃŠŃ‚ŃƒŠ²Š°Š½ŠøŃ Šø разхоГи, ŃŠ²ŃŠŃ€Š·Š°Š½Šø с проекта +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Дписък на ŃŃŠŠ±ŠøŃ‚ŠøŃ, ŃŠ²ŃŠŃ€Š·Š°Š½Šø с проекта ActivityOnProjectThisWeek=Дейности в проекта тази сеГмица ActivityOnProjectThisMonth=Дейност по проект, този месец @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=ŠŸŃ€ŠµŠŗŃŠŃŠ½Šø Š²Ń€ŃŠŠ·ŠŗŠ°Ń‚Š° към елемента # Documents models DocumentModelBaleine=ДоклаГ за Ń†ŃŠ»Š¾ŃŃ‚Š½ŠøŃ проект моГел (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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=Š”Š²ŃŠŃ€Š¶ŠµŃ‚Šµ със среГство за Га опреГелите времето +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/bg_BG/salaries.lang b/htdocs/langs/bg_BG/salaries.lang index 64fcb3c80f5..b5b74bc1035 100644 --- a/htdocs/langs/bg_BG/salaries.lang +++ b/htdocs/langs/bg_BG/salaries.lang @@ -1,4 +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 Salary=Заплата Salaries=Заплати Employee=Š”Š»ŃƒŠ¶ŠøŃ‚ŠµŠ» @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/bg_BG/sendings.lang b/htdocs/langs/bg_BG/sendings.lang index 67c5fe8d52d..5b7e942d65e 100644 --- a/htdocs/langs/bg_BG/sendings.lang +++ b/htdocs/langs/bg_BG/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ нареГи QtyShipped=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ изпратени QtyToShip=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ за кораба QtyReceived=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ ŠæŠ¾Š»ŃƒŃ‡Šø -KeepToShip=ŠŸŃ€ŠøŠ“ŃŠŃ€Š¶Š°Š¹Ń‚Šµ се към кораб +KeepToShip=Remain to ship OtherSendingsForSameOrder=Š”Ń€ŃƒŠ³Šø пратки за изпълнение на ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠ°Ń‚Š° DateSending=Дата на изпращане реГ DateSendingShort=Дата на изпращане реГ diff --git a/htdocs/langs/bg_BG/stocks.lang b/htdocs/langs/bg_BG/stocks.lang index 2c23d4ca0d2..2188c85aae5 100644 --- a/htdocs/langs/bg_BG/stocks.lang +++ b/htdocs/langs/bg_BG/stocks.lang @@ -47,6 +47,7 @@ PMPValue=ДреГна цена PMPValueShort=WAP EnhancedValueOfWarehouses=Warehouses value UserWarehouseAutoCreate=ДъзГаване на склаГа автоматично при ŃŃŠŠ·Š“Š°Š²Š°Š½ŠµŃ‚Š¾ на ŠæŠ¾Ń‚Ń€ŠµŠ±ŠøŃ‚ŠµŠ»Ń +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Брой изпратени QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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=Попълване NbOfProductBeforePeriod=Quantity of product %s in stock before selected period (< %s) NbOfProductAfterPeriod=Quantity of product %s in stock after selected period (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/bg_BG/suppliers.lang b/htdocs/langs/bg_BG/suppliers.lang index 1dcc4088caf..b98cea1ccfe 100644 --- a/htdocs/langs/bg_BG/suppliers.lang +++ b/htdocs/langs/bg_BG/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Доставчици -Supplier=ДнабГител AddSupplier=Create a supplier SupplierRemoved=Š˜Š·Ń‚Ń€ŠøŃ‚Šø Гоставчик SuppliersInvoice=Š¤Š°ŠŗŃ‚ŃƒŃ€Š° @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Š¤Š°ŠŗŃ‚ŃƒŃ€Šø Šø нареГби ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=ŠžŠ“Š¾Š±Ń€ŃŠ²Š°Š½Šµ на ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠ°Ń‚Š° ConfirmApproveThisOrder=Š”ŠøŠ³ŃƒŃ€ŠµŠ½ ли сте, че искате Га оГобри %s ŠŸŠ¾Ń€ŃŠŃ‡ŠŗŠ°Ń‚Š°? -DenyingThisOrder=Да откаже ŠæŠ¾Ń€ŃŠŃ‡ŠŗŠ°Ń‚Š° +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Š”ŠøŠ³ŃƒŃ€ŠµŠ½ ли сте, че искате Га откаже Гоставчик %s за? ConfirmCancelThisOrder=Š”ŠøŠ³ŃƒŃ€ŠµŠ½ ли сте, че искате Га отмените Гоставчика на %s за? AddCustomerOrder=ДъзГаване на Š·Š°ŃŠ²ŠŗŠ° на клиента diff --git a/htdocs/langs/bg_BG/trips.lang b/htdocs/langs/bg_BG/trips.lang index cde887226a8..4e70dd8d132 100644 --- a/htdocs/langs/bg_BG/trips.lang +++ b/htdocs/langs/bg_BG/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŃ -Trips=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŠø -TripsAndExpenses=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŠø Šø разноски -TripsAndExpensesStatistics=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŠø Šø разхоГи статистика -TripCard=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŃ карта -AddTrip=Добави ŠæŃŠŃ‚ŃƒŠ²Š°Š½Šµ -ListOfTrips=Дписък на ŠæŃŠŃ‚ŃƒŠ²Š°Š½ŠøŃŃ‚Š° +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=Дписък на такси -NewTrip=ŠŠ¾Š² ŠæŃŠŃ‚ŃƒŠ²Š°Š½Šµ +NewTrip=New expense report CompanyVisited=Фирмата/Š¾Ń€Š³Š°Š½ŠøŠ·Š°Ń†ŠøŃŃ‚Š° е посетена Kilometers=Км FeesKilometersOrAmout=Дума или км -DeleteTrip=Š˜Š·Ń‚Ń€ŠøŠ²Š°Š½Šµ на ŠæŃŠŃ‚ŃƒŠ²Š°Š½Šµ -ConfirmDeleteTrip=Š”ŠøŠ³ŃƒŃ€ŠµŠ½ ли сте, че искате Га изтриете това ŠæŃŠŃ‚ŃƒŠ²Š°Š½Šµ? -TF_OTHER=Š”Ń€ŃƒŠ³ -TF_LUNCH=ŠžŠ±ŃŠ“ -TF_TRIP=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŃ -ListTripsAndExpenses=Дписък на ŠæŃŠŃ‚ŃƒŠ²Š°Š½ŠøŃ Šø разхоГи -ExpensesArea=Š•ŠŗŃŠŗŃƒŃ€Š·ŠøŠø Šø разхоГи площ -SearchATripAndExpense=Š¢ŃŠŃ€ŃŠµŠ½Šµ на ŠæŃŠŃ‚ŃƒŠ²Š°Š½Šµ Šø разхоГи +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=Š”Ń€ŃƒŠ³ +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/bn_BD/accountancy.lang b/htdocs/langs/bn_BD/accountancy.lang new file mode 100644 index 00000000000..bb9b358c045 --- /dev/null +++ b/htdocs/langs/bn_BD/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +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_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous 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..9782c2ea27f --- /dev/null +++ b/htdocs/langs/bn_BD/admin.lang @@ -0,0 +1,1603 @@ +# 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 +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: +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 +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: +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 +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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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. + +# 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 (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 +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=Categories +Module1780Desc=Category management (products, suppliers and customers) +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 task 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) +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 batch +Module39000Desc=Batch 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 +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 +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 +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 +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 task +Permission23002 = Create/update Scheduled task +Permission23003 = Delete Scheduled task +Permission23004 = Execute Scheduled task +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 +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 +CalcLocaltax1ES=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2ES=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3ES=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 +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 +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= 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 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. +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. +##### 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 third party at time.
    * or by setting a global target email address on 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 +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) +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 +##### 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 +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 batch 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 +##### 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 +##### 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=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. 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..a2306950fb4 --- /dev/null +++ b/htdocs/langs/bn_BD/banks.lang @@ -0,0 +1,165 @@ +# 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 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 ? diff --git a/htdocs/langs/bn_BD/bills.lang b/htdocs/langs/bn_BD/bills.lang new file mode 100644 index 00000000000..69e1510ca44 --- /dev/null +++ b/htdocs/langs/bn_BD/bills.lang @@ -0,0 +1,431 @@ +# 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 +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist + +# 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 opened 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..bf118b9b88e --- /dev/null +++ b/htdocs/langs/bn_BD/boxes.lang @@ -0,0 +1,96 @@ +# 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 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..22914931db1 --- /dev/null +++ b/htdocs/langs/bn_BD/categories.lang @@ -0,0 +1,112 @@ +# Dolibarr language file - Source file is en_US - categories +Category=Category +Categories=Categories +Rubrique=Category +Rubriques=Categories +categories=categories +TheCategorie=The category +NoCategoryYet=No category of this type created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Categories area +ProductsCategoriesArea=Products/Services categories area +SuppliersCategoriesArea=Suppliers categories area +CustomersCategoriesArea=Customers categories area +ThirdPartyCategoriesArea=Third parties categories area +MembersCategoriesArea=Members categories area +ContactsCategoriesArea=Contacts categories area +MainCats=Main categories +SubCats=Subcategories +CatStatistics=Statistics +CatList=List of categories +AllCats=All categories +ViewCat=View category +NewCat=Add category +NewCategory=New category +ModifCat=Modify category +CatCreated=Category created +CreateCat=Create category +CreateThisCat=Create this category +ValidateFields=Validate the fields +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found categories +FoundCatsForName=Categories found for the name : +FoundSubCatsIn=Subcategories found in the category +ErrSameCatSelected=You selected the same category several times +ErrForgotCat=You forgot to choose the category +ErrForgotField=You forgot to inform the fields +ErrCatAlreadyExists=This name is already used +AddProductToCat=Add this product to a category? +ImpossibleAddCat=Impossible to add the category +ImpossibleAssociateCategory=Impossible to associate the category to +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this category. +CategorySuccessfullyCreated=This category %s has been added with success. +ProductIsInCategories=Product/service owns to following categories +SupplierIsInCategories=Third party owns to following suppliers categories +CompanyIsInCustomersCategories=This third party owns to following customers/prospects categories +CompanyIsInSuppliersCategories=This third party owns to following suppliers categories +MemberIsInCategories=This member owns to following members categories +ContactIsInCategories=This contact owns to following contacts categories +ProductHasNoCategory=This product/service is not in any categories +SupplierHasNoCategory=This supplier is not in any categories +CompanyHasNoCategory=This company is not in any categories +MemberHasNoCategory=This member is not in any categories +ContactHasNoCategory=This contact is not in any categories +ClassifyInCategory=Classify in category +NoneCategory=None +NotCategorized=Without 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=Categories tree +DeleteCategory=Delete category +ConfirmDeleteCategory=Are you sure you want to delete this category ? +RemoveFromCategory=Remove link with categorie +RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the category ? +NoCategoriesDefined=No category defined +SuppliersCategoryShort=Suppliers category +CustomersCategoryShort=Customers category +ProductsCategoryShort=Products category +MembersCategoryShort=Members category +SuppliersCategoriesShort=Suppliers categories +CustomersCategoriesShort=Customers categories +CustomersProspectsCategoriesShort=Custo./Prosp. categories +ProductsCategoriesShort=Products categories +MembersCategoriesShort=Members categories +ContactCategoriesShort=Contacts 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=Category contents +CategId=Category id +CatSupList=List of supplier categories +CatCusList=List of customer/prospect categories +CatProdList=List of products categories +CatMemberList=List of members categories +CatContactList=List of contact categories and contact +CatSupLinks=Links between suppliers and categories +CatCusLinks=Links between customers/prospects and categories +CatProdLinks=Links between products/services and categories +CatMemberLinks=Links between members and categories +DeleteFromCat=Remove from category +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Categories setup +CategorieRecursiv=Link with parent 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 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..8abf1fd1c5a --- /dev/null +++ b/htdocs/langs/bn_BD/companies.lang @@ -0,0 +1,414 @@ +# 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 thirdparty +SearchContact=Search contact 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..28dfc7770b2 --- /dev/null +++ b/htdocs/langs/bn_BD/cron.lang @@ -0,0 +1,87 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +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 +# 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=Jobs list +CronDelete= Delete cron jobs +CronConfirmDelete= Are you sure you want to delete this cron job ? +CronExecute=Launch job +CronConfirmExecute= Are you sure to execute this job now +CronInfo= Jobs allow to execute task that have been planned +CronWaitingJobs=Wainting 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 +#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 +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. +# Info +CronInfoPage=Information +# Common +CronType=Task 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 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..700e6344d7d --- /dev/null +++ b/htdocs/langs/bn_BD/errors.lang @@ -0,0 +1,183 @@ +# 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 batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action + +# 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/bn_BD/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/bn_BD/install.lang b/htdocs/langs/bn_BD/install.lang new file mode 100644 index 00000000000..dcd8df6e7db --- /dev/null +++ b/htdocs/langs/bn_BD/install.lang @@ -0,0 +1,214 @@ +# 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) + +######### +# 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..d20aab00146 --- /dev/null +++ b/htdocs/langs/bn_BD/languages.lang @@ -0,0 +1,72 @@ +# Dolibarr language file - Source file is en_US - languages + +Language_ar_AR=Arabic +Language_ar_SA=Arabic +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_DO=Spanish (Dominican Republic) +Language_es_AR=Spanish (Argentina) +Language_es_CL=Spanish (Chile) +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_ko_KR=Korean +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_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/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..7a211198822 --- /dev/null +++ b/htdocs/langs/bn_BD/mails.lang @@ -0,0 +1,141 @@ +# 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 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 + +# 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. diff --git a/htdocs/langs/bn_BD/main.lang b/htdocs/langs/bn_BD/main.lang new file mode 100644 index 00000000000..d40e28cb776 --- /dev/null +++ b/htdocs/langs/bn_BD/main.lang @@ -0,0 +1,725 @@ +# 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 +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 +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=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 +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. +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=Categories +Category=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 +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 +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 +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 +# 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 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..8efafa5e94e --- /dev/null +++ b/htdocs/langs/bn_BD/orders.lang @@ -0,0 +1,166 @@ +# 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=Accept order +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 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 +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 +##### 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..08747ea884b --- /dev/null +++ b/htdocs/langs/bn_BD/other.lang @@ -0,0 +1,238 @@ +# 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 validated +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 module setup +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. +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. + +##### 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..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/bn_BD/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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..45263681965 --- /dev/null +++ b/htdocs/langs/bn_BD/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/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 +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 +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 diff --git a/htdocs/langs/bn_BD/products.lang b/htdocs/langs/bn_BD/products.lang new file mode 100644 index 00000000000..3a18cda69e7 --- /dev/null +++ b/htdocs/langs/bn_BD/products.lang @@ -0,0 +1,256 @@ +# 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 +### 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 #options_myextrafieldkey# +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# +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/bn_BD/projects.lang b/htdocs/langs/bn_BD/projects.lang new file mode 100644 index 00000000000..44d0d89687a --- /dev/null +++ b/htdocs/langs/bn_BD/projects.lang @@ -0,0 +1,144 @@ +# 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). +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 +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 +##### 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 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 diff --git a/htdocs/langs/bn_BD/propal.lang b/htdocs/langs/bn_BD/propal.lang new file mode 100644 index 00000000000..2b6d12870a1 --- /dev/null +++ b/htdocs/langs/bn_BD/propal.lang @@ -0,0 +1,100 @@ +# 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=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=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 +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) 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..28c21adfad3 --- /dev/null +++ b/htdocs/langs/bn_BD/salaries.lang @@ -0,0 +1,13 @@ +# 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 diff --git a/htdocs/langs/bn_BD/sendings.lang b/htdocs/langs/bn_BD/sendings.lang new file mode 100644 index 00000000000..b1ff55f71c1 --- /dev/null +++ b/htdocs/langs/bn_BD/sendings.lang @@ -0,0 +1,85 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=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 + +# 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..29706d17615 --- /dev/null +++ b/htdocs/langs/bn_BD/stocks.lang @@ -0,0 +1,134 @@ +# 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 +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 +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 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. diff --git a/htdocs/langs/bn_BD/suppliers.lang b/htdocs/langs/bn_BD/suppliers.lang new file mode 100644 index 00000000000..baf573c66ac --- /dev/null +++ b/htdocs/langs/bn_BD/suppliers.lang @@ -0,0 +1,45 @@ +# 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 diff --git a/htdocs/langs/bn_BD/trips.lang b/htdocs/langs/bn_BD/trips.lang new file mode 100644 index 00000000000..ba36fc9b07b --- /dev/null +++ b/htdocs/langs/bn_BD/trips.lang @@ -0,0 +1,126 @@ +# 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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +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..baf209f9d1c --- /dev/null +++ b/htdocs/langs/bn_BD/users.lang @@ -0,0 +1,122 @@ +# 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 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..17c8dd3aafa --- /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 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 diff --git a/htdocs/langs/bs_BA/admin.lang b/htdocs/langs/bs_BA/admin.lang index 9045eeb2c2e..d882817a90b 100644 --- a/htdocs/langs/bs_BA/admin.lang +++ b/htdocs/langs/bs_BA/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperimentalno VersionDevelopment=Razvoj VersionUnknown=Nepoznato VersionRecommanded=Preporučeno +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID sesije SessionSaveHandler=Rukovatelj snimanje sesija SessionSavePath=Lokalizacija snimanja sesije @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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=Dopunski atributi ExtraFieldsLines=Dopunski atributi (tekstovi) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Dopunski atributi (treća stranka) ExtraFieldsContacts=Dopunski atributi (kontakt/adresa) ExtraFieldsMember=Dopunski atributi (član) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=A line of product/service with a zero amount is consid FreeLegalTextOnProposal=Free text on commercial proposals WatermarkOnDraftProposal=Vodeni žig na nacrte komercijalnih prijedloga (niÅ”ta, ako je prazno) 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 @@ -1383,7 +1410,7 @@ 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) +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 ##### Prelevements ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/bs_BA/banks.lang b/htdocs/langs/bs_BA/banks.lang index 9082a5092d2..cc94be9e783 100644 --- a/htdocs/langs/bs_BA/banks.lang +++ b/htdocs/langs/bs_BA/banks.lang @@ -33,7 +33,11 @@ AllTime=Od početka Reconciliation=Izmirenje RIB=Broj bankovnog računa IBAN=IBAN broj +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT broj +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Trajni nalozi StandingOrder=Trajni nalog Withdrawals=Podizanja @@ -148,7 +152,7 @@ BackToAccount=Nazad na račun ShowAllAccounts=Pokaži za sve račune FutureTransaction=Transakcije u budućnosti. Nema Å”anse da se izmiri. SelectChequeTransactionAndGenerate=Izaberite/filtrirajte čekove za uključivanje u priznanicu za depozit i kliknite na "Kreiraj". -InputReceiptNumber=Odaberite izvod banke u vezi s izmirenjima. Koristite numeričke vrijednosti (kao Å”to je, YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Na kraju, navesti kategoriju u koju će se svrstati zapisi ToConciliate=Izmiriti? ThenCheckLinesAndConciliate=Zatim, provjerite tekst prisutan u izvodu banke i kliknite diff --git a/htdocs/langs/bs_BA/bills.lang b/htdocs/langs/bs_BA/bills.lang index 1b69bd47535..9555ed5ea91 100644 --- a/htdocs/langs/bs_BA/bills.lang +++ b/htdocs/langs/bs_BA/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=IzvrÅ”ene uplate PaymentsBackAlreadyDone=IzvrÅ”eni povrati uplata PaymentRule=Pravilo plaćanja PaymentMode=Način plaćanja -PaymentConditions=Rok plaćanja -PaymentConditionsShort=Rok plaćanja +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Iznos plaćanja ValidatePayment=Potvrditi uplatu PaymentHigherThanReminderToPay=Uplata viÅ”a od zaostalog duga diff --git a/htdocs/langs/bs_BA/commercial.lang b/htdocs/langs/bs_BA/commercial.lang index 242758543f0..62bbf25f7a1 100644 --- a/htdocs/langs/bs_BA/commercial.lang +++ b/htdocs/langs/bs_BA/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/bs_BA/contracts.lang b/htdocs/langs/bs_BA/contracts.lang index 4952376c86c..99ee4c3bfb7 100644 --- a/htdocs/langs/bs_BA/contracts.lang +++ b/htdocs/langs/bs_BA/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Istekao ServiceStatusClosed=Zatvoren ServicesLegend=Legenda usluga Contracts=Ugovori +ContractsAndLine=Contracts and line of contracts Contract=Ugovor NoContracts=Nema ugovora MenuServices=Usluge diff --git a/htdocs/langs/bs_BA/cron.lang b/htdocs/langs/bs_BA/cron.lang index 6a16b5fb366..db866d27f75 100644 --- a/htdocs/langs/bs_BA/cron.lang +++ b/htdocs/langs/bs_BA/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/bs_BA/errors.lang b/htdocs/langs/bs_BA/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/bs_BA/errors.lang +++ b/htdocs/langs/bs_BA/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/bs_BA/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/bs_BA/install.lang b/htdocs/langs/bs_BA/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/bs_BA/install.lang +++ b/htdocs/langs/bs_BA/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/bs_BA/main.lang b/htdocs/langs/bs_BA/main.lang index 540e45e2946..8ccf22d049a 100644 --- a/htdocs/langs/bs_BA/main.lang +++ b/htdocs/langs/bs_BA/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/bs_BA/orders.lang b/htdocs/langs/bs_BA/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/bs_BA/orders.lang +++ b/htdocs/langs/bs_BA/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/bs_BA/other.lang b/htdocs/langs/bs_BA/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/bs_BA/other.lang +++ b/htdocs/langs/bs_BA/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/bs_BA/printing.lang b/htdocs/langs/bs_BA/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/bs_BA/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/bs_BA/productbatch.lang +++ b/htdocs/langs/bs_BA/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/bs_BA/products.lang b/htdocs/langs/bs_BA/products.lang index 6aa77416467..b0ee1036827 100644 --- a/htdocs/langs/bs_BA/products.lang +++ b/htdocs/langs/bs_BA/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/bs_BA/projects.lang b/htdocs/langs/bs_BA/projects.lang index a6b5764ef40..7bbafa2fa64 100644 --- a/htdocs/langs/bs_BA/projects.lang +++ b/htdocs/langs/bs_BA/projects.lang @@ -8,8 +8,10 @@ SharedProject=Zajednički projekti PrivateProject=Kontakti za projekte MyProjectsDesc=Ovaj pregled je limitiran na projekte u kojima ste stavljeni kao kontakt (bilo koji tip). 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). 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). ProjectsArea=Područje za projekte @@ -29,6 +31,8 @@ NoProject=Nema definisanog ili vlastitog projekta NbOpenTasks=Broj otvorenih zadataka NbOfProjects=Broj projekata TimeSpent=Vrijeme provedeno +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Vrijeme provedeno RefTask=Ref. zadatka LabelTask=Oznaka zadatka @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lista narudžbi dobavljača u vezi s projekt ListSupplierInvoicesAssociatedProject=Lista faktura dobavljača u vezi s projektom ListContractAssociatedProject=Lista ugovora u vezi s projektom ListFichinterAssociatedProject=Lista intervencija u vezi s projektom -ListTripAssociatedProject=Lista putovanja i troÅ”kove u vezi s projektom +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Lista događaja u vezi s projektom ActivityOnProjectThisWeek=Aktivnost na projektu ove sedmice ActivityOnProjectThisMonth=Aktivnost na projektu ovog mjeseca @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/bs_BA/salaries.lang b/htdocs/langs/bs_BA/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/bs_BA/salaries.lang +++ b/htdocs/langs/bs_BA/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/bs_BA/sendings.lang b/htdocs/langs/bs_BA/sendings.lang index b8deefe7ae6..0324d02b664 100644 --- a/htdocs/langs/bs_BA/sendings.lang +++ b/htdocs/langs/bs_BA/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Naručena količina QtyShipped=Poslana količina QtyToShip=Količina za slanje QtyReceived=Primljena količina -KeepToShip=Zadržati za slanje +KeepToShip=Remain to ship OtherSendingsForSameOrder=Druge poÅ”iljke za ovu narudžbu DateSending=Datum slanja narudžbe DateSendingShort=Datum slanja narudžbe diff --git a/htdocs/langs/bs_BA/stocks.lang b/htdocs/langs/bs_BA/stocks.lang index 40a7deebee2..14059aefcc0 100644 --- a/htdocs/langs/bs_BA/stocks.lang +++ b/htdocs/langs/bs_BA/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Ponderirana/vagana aritmetička sredina - PAS PMPValueShort=PAS EnhancedValueOfWarehouses=SkladiÅ”na vrijednost UserWarehouseAutoCreate=Kreiraj skladiÅ”te automatski prilikom kreiranja korisnika +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Otpremljena količina QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=SkladiÅ”te %s će biti koriÅ”teno za smanjenje 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=Ovo je lista svih otvorenih narudžbi dobavljača +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=Nadopune NbOfProductBeforePeriod=Količina proizvoda %s u zalihi prije odabranog perioda (%s) NbOfProductAfterPeriod=Količina proizvoda %s u zalihi poslije odabranog perioda (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/bs_BA/suppliers.lang b/htdocs/langs/bs_BA/suppliers.lang index ecab4e95a06..2a329c91d10 100644 --- a/htdocs/langs/bs_BA/suppliers.lang +++ b/htdocs/langs/bs_BA/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dobavljači -Supplier=Dobavljač AddSupplier=Create a supplier SupplierRemoved=Dobavljač uklonjen SuppliersInvoice=Faktura dobavljača @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Fakture i plačanja dobavljača ExportDataset_fournisseur_3=Narudžbe za dobavljača i tekst narudžbe ApproveThisOrder=Odobri ovu narudžbu ConfirmApproveThisOrder=Jeste li sigurni da želite da odobriti narudžbu %s ? -DenyingThisOrder=Odbijanje ove narudžbe +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Jeste li sigurni da želite odbiti narudžbu %s ? ConfirmCancelThisOrder=Jeste li sigurni da želite poniÅ”titi narudžbu %s ? AddCustomerOrder=Kreiraj narudžbu za kupca diff --git a/htdocs/langs/bs_BA/trips.lang b/htdocs/langs/bs_BA/trips.lang index 3129380dd57..282500cf778 100644 --- a/htdocs/langs/bs_BA/trips.lang +++ b/htdocs/langs/bs_BA/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Putovanje -Trips=Putovanja -TripsAndExpenses=Putovanja i troÅ”kovi -TripsAndExpensesStatistics=Statistika putovanja i troÅ”kova -TripCard=Kartica putovanja -AddTrip=Dodaj putovanje -ListOfTrips=Lista putovanja +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=Lista naknada -NewTrip=Novo putovanje +NewTrip=New expense report CompanyVisited=Posjeta kompaniji/fondaciji Kilometers=Kilometri FeesKilometersOrAmout=Iznos ili kilometri -DeleteTrip=ObriÅ”i putovanje -ConfirmDeleteTrip=Jeste li sigurni da želite obrisati ovo putovanje? -TF_OTHER=Ostalo -TF_LUNCH=Ručak -TF_TRIP=Putovanje -ListTripsAndExpenses=Lista putovanja i troÅ”kova -ExpensesArea=Područje za putovanja i troÅ”kove -SearchATripAndExpense=Traži putovanja i troÅ”kove +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=Ostalo +TF_TRANSPORTATION=Transportation +TF_LUNCH=Ručak +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ca_ES/admin.lang b/htdocs/langs/ca_ES/admin.lang index 6f9c00f04a3..239694fc251 100644 --- a/htdocs/langs/ca_ES/admin.lang +++ b/htdocs/langs/ca_ES/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=Desenvolupament VersionUnknown=Desconeguda VersionRecommanded=Recomanada +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sesió ID SessionSaveHandler=Modalitat de salvaguardat de sessions SessionSavePath=Localització salvaguardat de sessions @@ -493,10 +498,16 @@ Module600Name=Notificacions Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donacions Module700Desc=Gestió de donacions +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=Interface amb el sistema de seguiment d'incidĆØncies Mantis Module1400Name=Comptabilitat experta Module1400Desc=Gestió experta de la comptabilitat (doble partida) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categories Module1780Desc=Gestió de categories (productes, proveĆÆdors i clients) Module2000Name=Editor WYSIWYG @@ -631,7 +642,7 @@ Permission181=Consultar comandes a proveĆÆdors Permission182=Crear/modificar comandes a proveĆÆdors Permission183=Validar comandes a proveĆÆdors Permission184=Aprovar comandes a proveĆÆdors -Permission185=Enviar comandes a proveĆÆdors +Permission185=Order or cancel supplier orders Permission186=Rebre comandes de proveĆÆdors Permission187=Tancar comandes a proveĆÆdors Permission188=AnulĀ·lar comandes a proveĆÆdors @@ -711,6 +722,13 @@ Permission538=Exportar serveis Permission701=Consultar donacions Permission702=Crear/modificar donacions Permission703=Eliminar donacions +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=Consultar stocks Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Contrasenya del servidor proxy DefineHereComplementaryAttributes=Definiu aquĆ­ la llista d'atributs addicionals, no disponibles a estĆ ndard, i que vol gestionar per %s. ExtraFields=Atributs addicionals ExtraFieldsLines=atributs complementaris (lĆ­nies) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Atributs adicionals (tercers) ExtraFieldsContacts=Atributs adicionals (contactes/adreƧes) ExtraFieldsMember=Atributs complementaris (membres) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Una lĆ­nia de producte/servei que tĆ© una quantitat nu FreeLegalTextOnProposal=Text lliure en pressupostos WatermarkOnDraftProposal=Marca d'aigua en pressupostos esborrany (en cas d'estar buit) 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=Configuració del mòdul comandes OrdersNumberingModules=Mòduls de numeració de les comandes @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Codis de barra tipus UPC BarcodeDescISBN=Codis de barra tipus ISBN BarcodeDescC39=Codis de barra tipus C39 BarcodeDescC128=Codis de barra tipus C128 -GenbarcodeLocation=Eina generació codi de barra en lĆ­nia de comanda (utilitzat pel motor phpbar per a determinats tipus de codis barra) +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 to auto define barcode numbers ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Compte per defecte a utilitzar per als cobraments en efectiu (caixa) CashDeskBankAccountForCheque= Compte per defecte a utilitzar per als cobraments amb xecs CashDeskBankAccountForCB= Compte per defecte a utilitzar per als cobraments amb targeta de crèdit -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Configuració del mòdul Bookmark @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/ca_ES/banks.lang b/htdocs/langs/ca_ES/banks.lang index 16057026a04..c329a4a3eb4 100644 --- a/htdocs/langs/ca_ES/banks.lang +++ b/htdocs/langs/ca_ES/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Conciliació RIB=Compte bancari IBAN=Identificador IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Identificador BIC/SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Domiciliacions StandingOrder=Domiciliació Withdrawals=Reintegraments @@ -148,7 +152,7 @@ BackToAccount=Tornar al compte ShowAllAccounts=Mostra per a tots els comptes FutureTransaction=Transacció futura. No és possible conciliar. SelectChequeTransactionAndGenerate=Seleccioneu/filtreu els xecs a incloure a la remesa i feu clic a "Crear". -InputReceiptNumber=Indiqui l'extracte bancari relacionat amb la conciliació. Utilitzeu un valor numèric ordenable (per exemple, AAAAMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Eventualment, indiqui una categoria en la qual classificar els registres ToConciliate=A conciliar? ThenCheckLinesAndConciliate=A continuació, comproveu les línies presents en l'extracte bancari i feu clic diff --git a/htdocs/langs/ca_ES/bills.lang b/htdocs/langs/ca_ES/bills.lang index bf96794fbdc..ec60df3dd2d 100644 --- a/htdocs/langs/ca_ES/bills.lang +++ b/htdocs/langs/ca_ES/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Pagaments efectuats PaymentsBackAlreadyDone=Reemborsaments ja efectuats PaymentRule=Forma de pagament PaymentMode=Forma de pagament -PaymentConditions=Condicions de pagament -PaymentConditionsShort=Condicions pagament +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Import pagament ValidatePayment=Validar aquest pagament PaymentHigherThanReminderToPay=Pagament superior a la resta a pagar diff --git a/htdocs/langs/ca_ES/commercial.lang b/htdocs/langs/ca_ES/commercial.lang index 6ffbd0077e7..92ceb20f492 100644 --- a/htdocs/langs/ca_ES/commercial.lang +++ b/htdocs/langs/ca_ES/commercial.lang @@ -9,9 +9,9 @@ Prospect=Client potencial Prospects=Clients potencials DeleteAction=Eliminar un esdeveniment NewAction=Nou esdeveniment -AddAction=Crear esdeveniment -AddAnAction=Crear un esdeveniment -AddActionRendezVous=Crear una cita +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Cita ConfirmDeleteAction=Esteu segur de voler eliminar aquest esdeveniment? CardAction=Fitxa esdeveniment @@ -44,8 +44,8 @@ DoneActions=Llista d'esdeveniments realitzats DoneActionsFor=Llista d'esdeveniments realitzats per %s ToDoActions=Llista d'esdevenimentss incomplets ToDoActionsFor=Llista d'esdeveniments incomplets %s -SendPropalRef=Enviament del pressupost %s -SendOrderRef=Enviament de la comanda %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=No aplicable StatusActionToDo=A realitzar StatusActionDone=Realitzat @@ -62,7 +62,7 @@ LastProspectContactDone=Clients potencials contactats DateActionPlanned=Data planificació DateActionDone=Data realització ActionAskedBy=Acció registrada per -ActionAffectedTo=Acció assignada a +ActionAffectedTo=Event assigned to ActionDoneBy=Acció realitzada per ActionUserAsk=Registrada per ErrorStatusCantBeZeroIfStarted=Si el camp 'Data de realització' conté dades l'acció està en curs, per la qual cosa el camp 'Estat' no pot ser 0%%. diff --git a/htdocs/langs/ca_ES/contracts.lang b/htdocs/langs/ca_ES/contracts.lang index be202d8b593..8859f44f388 100644 --- a/htdocs/langs/ca_ES/contracts.lang +++ b/htdocs/langs/ca_ES/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expirat ServiceStatusClosed=Tancat ServicesLegend=Llegenda per als serveis Contracts=Contractes +ContractsAndLine=Contracts and line of contracts Contract=Contracte NoContracts=Sense contractes MenuServices=Serveis diff --git a/htdocs/langs/ca_ES/cron.lang b/htdocs/langs/ca_ES/cron.lang index 87e0a50c732..eb350eaaaa9 100644 --- a/htdocs/langs/ca_ES/cron.lang +++ b/htdocs/langs/ca_ES/cron.lang @@ -84,3 +84,4 @@ CronType_command=Comando Shell CronMenu=Cron CronCannotLoadClass=impossible carregar la classe %s de l'objecte %s UseMenuModuleToolsToAddCronJobs=Go into menu "Home - Modules tools - Job list" to see and edit scheduled jobs. +TaskDisabled=Task disabled diff --git a/htdocs/langs/ca_ES/errors.lang b/htdocs/langs/ca_ES/errors.lang index 05e776b9cc9..927b9a3af1e 100644 --- a/htdocs/langs/ca_ES/errors.lang +++ b/htdocs/langs/ca_ES/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=El compte origen i destinació han de ser diferen ErrorBadThirdPartyName=Nom de tercer incorrecte ErrorProdIdIsMandatory=El %s es obligatori ErrorBadCustomerCodeSyntax=La sintaxi del codi client és incorrecta -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Codi client obligatori ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Codi de client ja utilitzat @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript ha d'estar activat per a que aquesta opc ErrorPasswordsMustMatch=Les 2 contrasenyes indicades s'han de correspondre ErrorContactEMail=S'ha produït un error tècnic. Contacti amb l'administrador al e-mail %s, indicant el codi d'error %s en el seu missatge, o pot també adjuntar una còpia de pantalla d'aquesta pàgina. ErrorWrongValueForField=Valor incorrecte per al camp número %s (el valor '%s' no compleix amb la regla %s) -ErrorFieldValueNotIn=Valor incorrecte per al camp nombre %s (el valor '%s' no es un valor en el camp %s de la taula %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Valor incorrecte per al camp nombre %s (el valor '%s' no és una referència existent en %s) ErrorsOnXLines=Errors a %s línies font ErrorFileIsInfectedWithAVirus=L'antivirus no ha pogut validar aquest arxiu (és probable que estigui infectat per un virus)! @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ca_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/ca_ES/install.lang b/htdocs/langs/ca_ES/install.lang index 125805b6194..4b0bf7265e7 100644 --- a/htdocs/langs/ca_ES/install.lang +++ b/htdocs/langs/ca_ES/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Últim pas: Indiqueu aquí el compte i la contrase 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) ######### # upgrade diff --git a/htdocs/langs/ca_ES/main.lang b/htdocs/langs/ca_ES/main.lang index 6ea2c963f3f..80bf6b6e547 100644 --- a/htdocs/langs/ca_ES/main.lang +++ b/htdocs/langs/ca_ES/main.lang @@ -141,6 +141,7 @@ Cancel=Anul·lar Modify=Modificar Edit=Editar Validate=Validar +ValidateAndApprove=Validate and Approve ToValidate=A validar Save=Gravar SaveAs=Gravar com @@ -158,6 +159,7 @@ Search=Cercar SearchOf=Cerca de Valid=Validar Approve=Aprovar +Disapprove=Disapprove ReOpen=Reobrir Upload=Enviar arxiu ToLink=Link @@ -219,6 +221,7 @@ Cards=Fitxes Card=Fitxa Now=Ara Date=Data +DateAndHour=Date and hour DateStart=Data inici DateEnd=Data fi DateCreation=Data de creació @@ -295,6 +298,7 @@ UnitPriceHT=Preu base UnitPriceTTC=Preu unitari total PriceU=P.U. PriceUHT=P.U. +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=P.U. Total Amount=Import AmountInvoice=Import factura @@ -521,6 +525,7 @@ DateFromTo=De %s a %s DateFrom=A partir de %s DateUntil=Fins %s Check=Verificar +Uncheck=Uncheck Internal=Intern External=Extern Internals=Interns @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Dilluns Tuesday=Dimarts diff --git a/htdocs/langs/ca_ES/orders.lang b/htdocs/langs/ca_ES/orders.lang index 7cfa908d372..2749007c0ce 100644 --- a/htdocs/langs/ca_ES/orders.lang +++ b/htdocs/langs/ca_ES/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Anul-lada StatusOrderDraft=Esborrany (a validar) StatusOrderValidated=Validada StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Processada StatusOrderToBill=Emès StatusOrderToBill2=A facturar @@ -58,6 +59,7 @@ MenuOrdersToBill=Comandes a facturar MenuOrdersToBill2=Billable orders SearchOrder=Cercar una comanda SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Enviar producte Discount=Descompte CreateOrder=Crear comanda diff --git a/htdocs/langs/ca_ES/other.lang b/htdocs/langs/ca_ES/other.lang index ae25227403d..316704111fa 100644 --- a/htdocs/langs/ca_ES/other.lang +++ b/htdocs/langs/ca_ES/other.lang @@ -54,12 +54,13 @@ MaxSize=Tamany màxim AttachANewFile=Adjuntar nou arxiu/document LinkedObject=Objecte adjuntat Miscellaneous=Diversos -NbOfActiveNotifications=Número notificacions +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Això és un correu de prova.\nLes 2 línies estan separades per un retorn de carro a la línia. PredefinedMailTestHtml=Això és un e-mail de prova (la paraula prova ha d'estar en negreta).
    Les 2 lĆ­nies estan separades per un retorn de carro en la lĆ­nia 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__ diff --git a/htdocs/langs/ca_ES/printing.lang b/htdocs/langs/ca_ES/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ca_ES/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/ca_ES/productbatch.lang b/htdocs/langs/ca_ES/productbatch.lang index 864782023a0..45263681965 100644 --- a/htdocs/langs/ca_ES/productbatch.lang +++ b/htdocs/langs/ca_ES/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ca_ES/products.lang b/htdocs/langs/ca_ES/products.lang index a99396d34ba..5c3a7e7b2d1 100644 --- a/htdocs/langs/ca_ES/products.lang +++ b/htdocs/langs/ca_ES/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ca_ES/projects.lang b/htdocs/langs/ca_ES/projects.lang index dbdb9564f25..593de6fcc1c 100644 --- a/htdocs/langs/ca_ES/projects.lang +++ b/htdocs/langs/ca_ES/projects.lang @@ -8,8 +8,10 @@ SharedProject=Projecte compartit PrivateProject=Contactes del projecte MyProjectsDesc=Aquesta vista projecte es limita als projectes en quĆØ vostĆØ Ć©s un contacte afectat (qualsevol tipus). ProjectsPublicDesc=Aquesta vista mostra tots els projectes en els que vostĆØ tĆ© dret a tenir visibilitat. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with 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). ProjectsArea=ƀrea projectes @@ -29,6 +31,8 @@ NoProject=Cap projecte definit NbOpenTasks=NĀŗ Tasques obertes NbOfProjects=NĀŗ de projectes TimeSpent=Temps dedicat +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Temps dedicats RefTask=Ref. tasca LabelTask=Etiqueta tasca @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Llistat de comandes a proveĆÆdors associades ListSupplierInvoicesAssociatedProject=Llistat de factures de proveĆÆdor associades al projecte ListContractAssociatedProject=Llistatde contractes associats al projecte ListFichinterAssociatedProject=Llistat d'intervencions associades al projecte -ListTripAssociatedProject=Llistat notes d'honoraris associades al projecte +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Llista d'esdeveniments associats al projecte ActivityOnProjectThisWeek=Activitat en el projecte aquesta setmana ActivityOnProjectThisMonth=Activitat en el projecte aquest mes @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Model d'informe de projecte complet (logo...) -PlannedWorkload = CĆ rrega de treball prevista -WorkloadOccupation= Percentatge afectat +PlannedWorkload=CĆ rrega de treball prevista +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Objectes vinculats 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 diff --git a/htdocs/langs/ca_ES/salaries.lang b/htdocs/langs/ca_ES/salaries.lang index edca71a1829..6c4a42fa77f 100644 --- a/htdocs/langs/ca_ES/salaries.lang +++ b/htdocs/langs/ca_ES/salaries.lang @@ -1,8 +1,13 @@ # Dolibarr language file - Source file is en_US - users -Salary=Salary -Salaries=Salaries -Employee=Employee -NewSalaryPayment=New salary payment -SalaryPayment=Salary payment -SalariesPayments=Salaries payments -ShowSalaryPayment=Show salary payment +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accountancy code for salaries payments +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +Salary=Sou +Salaries=Sous +Employee=Empleat +NewSalaryPayment=Nou pagament de sous +SalaryPayment=Pagament de sous +SalariesPayments=Pagaments de sous +ShowSalaryPayment=Veure pagament de sous +THM=Average hourly price +TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/ca_ES/sendings.lang b/htdocs/langs/ca_ES/sendings.lang index 81357c77fa4..21562f914cc 100644 --- a/htdocs/langs/ca_ES/sendings.lang +++ b/htdocs/langs/ca_ES/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qt. demanada QtyShipped=Qt. enviada QtyToShip=Qt. a enviar QtyReceived=Qt. rebuda -KeepToShip=Quede per enviar +KeepToShip=Remain to ship OtherSendingsForSameOrder=Altres enviaments d'aquesta comanda DateSending=Data d'expedició DateSendingShort=Data d'expedició diff --git a/htdocs/langs/ca_ES/stocks.lang b/htdocs/langs/ca_ES/stocks.lang index 0c918bae6d8..4b3f823d589 100644 --- a/htdocs/langs/ca_ES/stocks.lang +++ b/htdocs/langs/ca_ES/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Valor (PMP) PMPValueShort=PMP EnhancedValueOfWarehouses=Valor d'estocs UserWarehouseAutoCreate=Crea automĆ ticament existĆØncies/magatzem propi de l'usuari en la creació de l'usuari +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Quantitat desglossada QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ca_ES/suppliers.lang b/htdocs/langs/ca_ES/suppliers.lang index df79e34d4e4..d0b6422c8e8 100644 --- a/htdocs/langs/ca_ES/suppliers.lang +++ b/htdocs/langs/ca_ES/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=ProveĆÆdors -Supplier=ProveĆÆdor AddSupplier=Create a supplier SupplierRemoved=ProveĆÆdor eliminat SuppliersInvoice=Factura proveĆÆdor @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Factures proveĆÆdors i pagaments ExportDataset_fournisseur_3=Comandes de proveĆÆdors i lĆ­nies de comanda ApproveThisOrder=Aprovar aquesta comanda ConfirmApproveThisOrder=Esteu segur de voler aprovar la comanda a proveĆÆdor %s? -DenyingThisOrder=Denegar aquesta comanda +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Esteu segur de voler denegar la comanda a proveĆÆdor %s? ConfirmCancelThisOrder=Esteu segur de voler cancelĀ·lar la comanda a proveĆÆdor %s? AddCustomerOrder=Crear comanda de client diff --git a/htdocs/langs/ca_ES/trips.lang b/htdocs/langs/ca_ES/trips.lang index 74f7e7cdb55..7999889e678 100644 --- a/htdocs/langs/ca_ES/trips.lang +++ b/htdocs/langs/ca_ES/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=DesplaƧament -Trips=DesplaƧaments -TripsAndExpenses=Honoraris -TripsAndExpensesStatistics=EstadĆ­stiques honoraris -TripCard=Fitxa honorari -AddTrip=Crear honorari -ListOfTrips=Llistat de honorari +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=Llistat notes de honoraris -NewTrip=Nou honorari +NewTrip=New expense report CompanyVisited=Empresa/institució visitada Kilometers=Quilòmetres FeesKilometersOrAmout=Import o quilòmetres -DeleteTrip=Eliminar honorari -ConfirmDeleteTrip=Esteu segur de voler eliminar aquest honorari? -TF_OTHER=Altre -TF_LUNCH=Dieta -TF_TRIP=Viatge -ListTripsAndExpenses=Llistat notes de honoraris -ExpensesArea=ƀrea Notes d'honoraris -SearchATripAndExpense=Cercar un honorari +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=Altre +TF_TRANSPORTATION=Transportation +TF_LUNCH=Dieta +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/cs_CZ/admin.lang b/htdocs/langs/cs_CZ/admin.lang index cb3fb8c8ca3..e857b9ee394 100644 --- a/htdocs/langs/cs_CZ/admin.lang +++ b/htdocs/langs/cs_CZ/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=ExperimentĆ”lnĆ­ VersionDevelopment=Vývoj VersionUnknown=NeznĆ”mý VersionRecommanded=DoporučenĆ© +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID relace SessionSaveHandler=ManipulĆ”tor uložených relacĆ­ SessionSavePath=MĆ­sto uloženĆ­ relace @@ -493,10 +498,16 @@ Module600Name=UpozorněnĆ­ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Dary Module700Desc=DarovĆ”nĆ­ řízenĆ­ +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 integrace Module1400Name=ƚčetnictvĆ­ Module1400Desc=VedenĆ­ ĆŗÄetnictvĆ­ (dvojitĆ© strany) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorie Module1780Desc=Category management (produkty, dodavatelĆ© a odběratelĆ©) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Přečtěte si dodavatelských objednĆ”vek Permission182=Vytvořit / upravit dodavatelskĆ© objednĆ”vky Permission183=Ověřit dodavatelských objednĆ”vek Permission184=SchvĆ”lit dodavatelských objednĆ”vek -Permission185=ObjednĆ”vky Objednat dodavatel +Permission185=Order or cancel supplier orders Permission186=Příjem objednĆ”vek s dodavately Permission187=Zavřít dodavatelskĆ© objednĆ”vky Permission188=ZruÅ”it dodavatelských objednĆ”vek @@ -711,6 +722,13 @@ Permission538=Export služeb Permission701=Přečtěte si dary Permission702=Vytvořit / upravit dary Permission703=Odstranit dary +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=Přečtěte si zĆ”soby Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Heslo používat proxy server DefineHereComplementaryAttributes=Definujte zde vÅ”echny atributy, kterĆ© jeÅ”tě nejsou k dispozici ve výchozĆ­m nastavenĆ­, a že chcete být podporovĆ”ny %s. ExtraFields=DoplňkovĆ© atributy ExtraFieldsLines=DoplňkovĆ© atributy (linky) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=DoplňkovĆ© atributy (thirdparty) ExtraFieldsContacts=DoplňkovĆ© atributy (kontakt / adresa) ExtraFieldsMember=DoplňkovĆ© atributy (člen) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Řada výrobkÅÆ / služeb s nulovĆ© hodnoty je považo FreeLegalTextOnProposal=Volný text o obchodnĆ­ch nĆ”vrhÅÆ WatermarkOnDraftProposal=Vodoznak na předloh nĆ”vrhÅÆ komerčnĆ­ch (none-li prĆ”zdný) 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=Objednat řízenĆ­ nastavenĆ­ OrdersNumberingModules=ObjednĆ”vky čƭslovĆ”nĆ­ modelÅÆ @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Bar generovĆ”nĆ­ kódu nĆ”stroj pro příkazovou řÔdku (používaný motorem s vnitřnĆ­m u některých typÅÆ ÄĆ”rových kódÅÆ) +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=VnitřnĆ­ motor BarCodeNumberManager=Manager to auto define barcode numbers ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=VýchozĆ­ ĆŗÄet použít pro příjem plateb v hotovosti CashDeskBankAccountForCheque= VýchozĆ­ ĆŗÄet použít pro příjem plateb Å”ekem CashDeskBankAccountForCB= VýchozĆ­ ĆŗÄet použít pro příjem plateb prostřednictvĆ­m kreditnĆ­ karty -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=ZĆ”ložka NastavenĆ­ modulu @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/cs_CZ/banks.lang b/htdocs/langs/cs_CZ/banks.lang index 8c43ba341c4..67ff3cf6011 100644 --- a/htdocs/langs/cs_CZ/banks.lang +++ b/htdocs/langs/cs_CZ/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=SmĆ­Å™enĆ­ 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 StandingOrders=TrvalĆ© příkazy StandingOrder=Trvalý příkaz Withdrawals=Výběry @@ -148,7 +152,7 @@ BackToAccount=Zpět na ĆŗÄtu 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=Vyberte si výpis z ĆŗÄtu souvisejĆ­cĆ­ s dohodovacĆ­m řízenĆ­. Použijte Sortable čƭselnou hodnotu (například RRRRMM) +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 diff --git a/htdocs/langs/cs_CZ/bills.lang b/htdocs/langs/cs_CZ/bills.lang index e40c3cbdffd..0317d44870a 100644 --- a/htdocs/langs/cs_CZ/bills.lang +++ b/htdocs/langs/cs_CZ/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Platby neučinily PaymentsBackAlreadyDone=Platby zpět neučinily PaymentRule=Platba pravidlo PaymentMode=Typ platby -PaymentConditions=TermĆ­n vyplacenĆ­ -PaymentConditionsShort=TermĆ­n vyplacenĆ­ +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=ČÔstka platby ValidatePayment=OvěřenĆ­ platby PaymentHigherThanReminderToPay=PlatebnĆ­ vyŔŔí než upomĆ­nce k zaplacenĆ­ diff --git a/htdocs/langs/cs_CZ/commercial.lang b/htdocs/langs/cs_CZ/commercial.lang index ab71b01387d..7886122e124 100644 --- a/htdocs/langs/cs_CZ/commercial.lang +++ b/htdocs/langs/cs_CZ/commercial.lang @@ -9,9 +9,9 @@ Prospect=VyhlĆ­dka Prospects=VyhlĆ­dky DeleteAction=Odstranit udĆ”lost / Ćŗkol NewAction=NovĆ” udĆ”lost / Ćŗkol -AddAction=Přidat udĆ”lost / Ćŗkol -AddAnAction=Přidat udĆ”lost / Ćŗkol -AddActionRendezVous=Přidat Rendez-vous udĆ”losti +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=SchÅÆzka ConfirmDeleteAction=Jste si jisti, že chcete smazat tuto udĆ”lost / Ćŗkol? CardAction=UdĆ”lost karty @@ -44,8 +44,8 @@ DoneActions=DokončenĆ© akce DoneActionsFor=DokončenĆ© akce pro %s ToDoActions=NeĆŗplnĆ© udĆ”losti ToDoActionsFor=NeĆŗplnĆ© akce pro %s -SendPropalRef=Poslat komerčnĆ­ nĆ”vrhu %s -SendOrderRef=PoÅ”li objednĆ”vku %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Nevztahuje se StatusActionToDo=Chcete-li StatusActionDone=Dokončit @@ -62,7 +62,7 @@ LastProspectContactDone=Spojit se provĆ”dĆ­ DateActionPlanned=Datum Akce plĆ”novanĆ© na DateActionDone=Datum Akce provedeno ActionAskedBy=Akce hlÔŔeny -ActionAffectedTo=UdĆ”lost přiřazena +ActionAffectedTo=Event assigned to ActionDoneBy=UdĆ”lost provĆ”dĆ­ ActionUserAsk=Zpracoval ErrorStatusCantBeZeroIfStarted=Pokud pole 'Datum udělat "je naplněn, je akce zahĆ”jena (nebo dokončený), tak pole" Stav "nemůže být 0%%. diff --git a/htdocs/langs/cs_CZ/contracts.lang b/htdocs/langs/cs_CZ/contracts.lang index 792ed511937..40188328aae 100644 --- a/htdocs/langs/cs_CZ/contracts.lang +++ b/htdocs/langs/cs_CZ/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=VyprÅ”ela ServiceStatusClosed=Zavřeno ServicesLegend=Služby legenda Contracts=Smlouvy +ContractsAndLine=Contracts and line of contracts Contract=Smlouva NoContracts=ŽÔdnĆ© smlouvy MenuServices=Služby diff --git a/htdocs/langs/cs_CZ/cron.lang b/htdocs/langs/cs_CZ/cron.lang index 05ed1384123..83947327da5 100644 --- a/htdocs/langs/cs_CZ/cron.lang +++ b/htdocs/langs/cs_CZ/cron.lang @@ -84,3 +84,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" vidět a upravovat naplĆ”novanĆ© Ćŗlohy. +TaskDisabled=Task disabled diff --git a/htdocs/langs/cs_CZ/errors.lang b/htdocs/langs/cs_CZ/errors.lang index 6a09500f020..d2570c905ce 100644 --- a/htdocs/langs/cs_CZ/errors.lang +++ b/htdocs/langs/cs_CZ/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=ZdrojovĆ© a cĆ­lovĆ© bankovnĆ­ ĆŗÄty musĆ­ být ErrorBadThirdPartyName=NesprĆ”vnĆ” hodnota pro třetĆ­ strany jmĆ©nem ErrorProdIdIsMandatory=%s je povinnĆ© ErrorBadCustomerCodeSyntax=Bad syntaxe pro zĆ”kaznĆ­ka kódu -ErrorBadBarCodeSyntax=Bad syntax for bar 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=ZĆ”kaznĆ­k požadoval kód ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=ZĆ”kaznický kód již používĆ”n @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript musĆ­ být vypnuta, že tato funkce prac ErrorPasswordsMustMatch=Oba napsaný hesla se musĆ­ shodovat se navzĆ”jem ErrorContactEMail=TechnickĆ© chybě. ProsĆ­m, obraÅ„te se na sprĆ”vce, aby e-mailovou %s en poskytovat %s kód chyby ve zprĆ”vě, nebo jeÅ”tě lĆ©pe přidĆ”nĆ­m obrazovky kopii tĆ©to strĆ”nky. ErrorWrongValueForField=ChybnĆ” hodnota %s čƭslo pole (hodnota "%s 'neodpovĆ­dĆ” regex pravidel %s) -ErrorFieldValueNotIn=ChybnĆ” hodnota %s čƭslo pole (hodnota "%s 'nenĆ­ dostupnĆ” hodnota do pole %s stolnĆ­ch %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=ChybnĆ” hodnota %s čƭslo pole (hodnota "%s" nenĆ­ %s stĆ”vajĆ­cĆ­ ref) ErrorsOnXLines=Chyby na %s zdrojovĆ©m zĆ”znamu (s) ErrorFileIsInfectedWithAVirus=Antivirový program nebyl schopen ověřit soubor (soubor může být napaden virem) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=PovinnĆ© parametry jsou dosud stanoveny diff --git a/htdocs/langs/cs_CZ/incoterm.lang b/htdocs/langs/cs_CZ/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/cs_CZ/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/cs_CZ/install.lang b/htdocs/langs/cs_CZ/install.lang index 4855a8f234c..7967e44f0b2 100644 --- a/htdocs/langs/cs_CZ/install.lang +++ b/htdocs/langs/cs_CZ/install.lang @@ -156,6 +156,7 @@ LastStepDesc=PoslednĆ­ krok: Definujte zde přihlaÅ”ovacĆ­ jmĆ© ActivateModule=Aktivace modulu %s ShowEditTechnicalParameters=Klikněte zde pro zobrazenĆ­ / editaci pokročilých parametrÅÆ (pro experty) 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 diff --git a/htdocs/langs/cs_CZ/main.lang b/htdocs/langs/cs_CZ/main.lang index b3c285cdbae..17e4c56569f 100644 --- a/htdocs/langs/cs_CZ/main.lang +++ b/htdocs/langs/cs_CZ/main.lang @@ -141,6 +141,7 @@ Cancel=ZruÅ”it Modify=Upravit Edit=Upravit Validate=Potvrdit +ValidateAndApprove=Validate and Approve ToValidate=Chcete-li ověřit Save=Uložit SaveAs=Uložit jako @@ -158,6 +159,7 @@ Search=VyhledĆ”vĆ”nĆ­ SearchOf=VyhledĆ”vĆ”nĆ­ Valid=Platný Approve=Schvalovat +Disapprove=Disapprove ReOpen=Znovu otevřít Upload=Odeslat soubor ToLink=Link @@ -219,6 +221,7 @@ Cards=Karty Card=Karta Now=NynĆ­ Date=Datum +DateAndHour=Date and hour DateStart=Datum zaÄĆ”tku DateEnd=Datum ukončenĆ­ DateCreation=Datum vytvořenĆ­ @@ -295,6 +298,7 @@ UnitPriceHT=JednotkovĆ” cena (bez DPH) UnitPriceTTC=JednotkovĆ” cena PriceU=UP PriceUHT=UP (bez DPH) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=MnožstvĆ­ AmountInvoice=FakturovanĆ” ÄĆ”stka @@ -521,6 +525,7 @@ DateFromTo=Od %s na %s DateFrom=Od %s DateUntil=Do %s Check=Kontrola +Uncheck=Uncheck Internal=VnitřnĆ­ External=ExternĆ­ Internals=VnitřnĆ­ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=PondělĆ­ Tuesday=Úterý diff --git a/htdocs/langs/cs_CZ/orders.lang b/htdocs/langs/cs_CZ/orders.lang index 67d948e78b3..6aa596baa1b 100644 --- a/htdocs/langs/cs_CZ/orders.lang +++ b/htdocs/langs/cs_CZ/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ZruÅ”ený StatusOrderDraft=NĆ”vrh (musĆ­ být ověřena) StatusOrderValidated=OvěřenĆ© StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=ZpracovanĆ© StatusOrderToBill=DodĆ”vĆ” se StatusOrderToBill2=K ĆŗÄtu @@ -58,6 +59,7 @@ MenuOrdersToBill=ObjednĆ”vky dodĆ”no MenuOrdersToBill2=Billable orders SearchOrder=Hledat ĆŗÄelem SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Loď produkt Discount=Sleva CreateOrder=Vytvořit objednĆ”vku diff --git a/htdocs/langs/cs_CZ/other.lang b/htdocs/langs/cs_CZ/other.lang index d2b3363bde1..f0e4b814a04 100644 --- a/htdocs/langs/cs_CZ/other.lang +++ b/htdocs/langs/cs_CZ/other.lang @@ -54,12 +54,13 @@ MaxSize=MaximĆ”lnĆ­ rozměr AttachANewFile=Připojte nový soubor / dokument LinkedObject=Propojený objekt Miscellaneous=SmĆ­Å”ený -NbOfActiveNotifications=Počet oznĆ”menĆ­ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Toto je test e-mailem. \\ NPokud dva řÔdky jsou odděleny znakem konce řÔdku. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Toto je test-mail (slovo test musĆ­ být tučně).
    Dva řÔdky jsou odděleny znakem konce řÔdku.

    __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__ diff --git a/htdocs/langs/cs_CZ/printing.lang b/htdocs/langs/cs_CZ/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/cs_CZ/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/cs_CZ/productbatch.lang b/htdocs/langs/cs_CZ/productbatch.lang index 864782023a0..45263681965 100644 --- a/htdocs/langs/cs_CZ/productbatch.lang +++ b/htdocs/langs/cs_CZ/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/cs_CZ/products.lang b/htdocs/langs/cs_CZ/products.lang index aa3dbd4fda9..7fc24c7a1a3 100644 --- a/htdocs/langs/cs_CZ/products.lang +++ b/htdocs/langs/cs_CZ/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/cs_CZ/projects.lang b/htdocs/langs/cs_CZ/projects.lang index b98531acef5..5655c05549e 100644 --- a/htdocs/langs/cs_CZ/projects.lang +++ b/htdocs/langs/cs_CZ/projects.lang @@ -8,8 +8,10 @@ SharedProject=VÅ”ichni PrivateProject=Kontakty na projektu MyProjectsDesc=Tento pohled je omezen na projekty u kterých jste uveden jako kontakt (jakĆ©hokoliv typu) ProjectsPublicDesc=Tento pohled zobrazuje vÅ”echny projekty kterĆ© mĆ”te oprĆ”vněnĆ­ čƭst. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with draft or closed status are not visible). 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). ProjectsArea=Projekty @@ -29,6 +31,8 @@ NoProject=ŽÔdný projekt nedefinovĆ”n či vlastněn NbOpenTasks=Počet otevřených Ćŗloh NbOfProjects=Počet projektÅÆ TimeSpent=StrĆ”vený čas +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=StrĆ”vený čas RefTask=Číslo. Ćŗkolu LabelTask=NĆ”zev Ćŗkolu @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Seznam dodavatelských objednĆ”vek souvisej ListSupplierInvoicesAssociatedProject=Seznam dodavatelských faktur souvisejĆ­cĆ­ s projektem ListContractAssociatedProject=Seznam zakĆ”zek souvisejĆ­cĆ­ch s projektem ListFichinterAssociatedProject=Seznam zĆ”krokÅÆ spojených s projektem -ListTripAssociatedProject=Seznam cest a nĆ”kladÅÆ spojených s projektem +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Seznam udĆ”lostĆ­ spojených s projektem ActivityOnProjectThisWeek=TýdennĆ­ projektovĆ” aktivita ActivityOnProjectThisMonth=MěsƭčnĆ­ projektovĆ” aktivita @@ -126,10 +130,15 @@ AddElement=Odkaz na prvek UnlinkElement=Unlink element # Documents models DocumentModelBaleine=KompletnĆ­ projektový report (logo. ..) -PlannedWorkload = PlĆ”novanĆ© vytíženĆ­ -WorkloadOccupation= ZĆ”bor vytíženĆ­ +PlannedWorkload=PlĆ”novanĆ© vytíženĆ­ +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=OdkazujĆ­cĆ­ objekty 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 diff --git a/htdocs/langs/cs_CZ/salaries.lang b/htdocs/langs/cs_CZ/salaries.lang index edca71a1829..f9dbdb94b20 100644 --- a/htdocs/langs/cs_CZ/salaries.lang +++ b/htdocs/langs/cs_CZ/salaries.lang @@ -1,8 +1,13 @@ # Dolibarr language file - Source file is en_US - users -Salary=Salary -Salaries=Salaries -Employee=Employee -NewSalaryPayment=New salary payment -SalaryPayment=Salary payment -SalariesPayments=Salaries payments -ShowSalaryPayment=Show salary payment +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accountancy code for salaries payments +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +Salary=Mzda +Salaries=Mzdy +Employee=Zaměstnanec +NewSalaryPayment=NovĆ” platba mzdy +SalaryPayment=Platba mzdy +SalariesPayments=Platby mezd +ShowSalaryPayment=UkĆ”zat platbu mzdy +THM=Average hourly price +TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/cs_CZ/sendings.lang b/htdocs/langs/cs_CZ/sendings.lang index 73b172c200e..f794bceaa84 100644 --- a/htdocs/langs/cs_CZ/sendings.lang +++ b/htdocs/langs/cs_CZ/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=MnožstvĆ­ objednat QtyShipped=MnožstvĆ­ odeslĆ”no QtyToShip=MnožstvĆ­ na loď QtyReceived=MnožstvĆ­ přijatĆ© -KeepToShip=Mějte na loď +KeepToShip=Remain to ship OtherSendingsForSameOrder=DalŔí zĆ”silky pro tuto objednĆ”vku DateSending=Datum odeslĆ”nĆ­, aby DateSendingShort=Datum odeslĆ”nĆ­, aby diff --git a/htdocs/langs/cs_CZ/stocks.lang b/htdocs/langs/cs_CZ/stocks.lang index 57d76a0cdf7..451126fb054 100644 --- a/htdocs/langs/cs_CZ/stocks.lang +++ b/htdocs/langs/cs_CZ/stocks.lang @@ -47,6 +47,7 @@ PMPValue=VÔženĆ” prÅÆměrnĆ” cena PMPValueShort=WAP EnhancedValueOfWarehouses=Sklady hodnota UserWarehouseAutoCreate=Vytvořte sklad automaticky při vytvÔřenĆ­ uživatele +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=MnožstvĆ­ odeslĆ”no QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=SkladovĆ” %s budou použity pro sníženĆ­ skla WarehouseForStockIncrease=SkladovĆ” %s budou použity pro zvýŔenĆ­ stavu zĆ”sob ForThisWarehouse=Z tohoto skladu 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=Toto je seznam vÅ”ech otevřených dodavatelských objednĆ”vek +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=SplĆ”tky NbOfProductBeforePeriod=MnožstvĆ­ produktÅÆ %s na skladě, než zvolenĆ© obdobĆ­ (<%s) NbOfProductAfterPeriod=MnožstvĆ­ produktÅÆ %s na skladě po zvolenĆ© obdobĆ­ (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/cs_CZ/suppliers.lang b/htdocs/langs/cs_CZ/suppliers.lang index 57bd9b70754..99a629ba847 100644 --- a/htdocs/langs/cs_CZ/suppliers.lang +++ b/htdocs/langs/cs_CZ/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=DodavatelĆ© -Supplier=Dodavatel AddSupplier=Create a supplier SupplierRemoved=Dodavatel odstranĆ­ SuppliersInvoice=DodavatelĆ© faktura @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Dodavatel faktury a platby ExportDataset_fournisseur_3=Dodavatel objednĆ”vky a objednĆ”vka linky ApproveThisOrder=SchvĆ”lit tuto objednĆ”vku ConfirmApproveThisOrder=Jste si jisti, že chcete schvĆ”lit pořadĆ­ %s? -DenyingThisOrder=PopĆ­rat tuto objednĆ”vku +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Jste si jisti, že chcete popĆ­rat objednĆ”vky %s? ConfirmCancelThisOrder=Jste si jisti, že chcete zruÅ”it tuto objednĆ”vku %s? AddCustomerOrder=VytvořenĆ­ objednĆ”vky zĆ”kaznĆ­ka diff --git a/htdocs/langs/cs_CZ/trips.lang b/htdocs/langs/cs_CZ/trips.lang index 9de98944f52..faeac138096 100644 --- a/htdocs/langs/cs_CZ/trips.lang +++ b/htdocs/langs/cs_CZ/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Výlet -Trips=Výlety -TripsAndExpenses=Výlety a výdaje -TripsAndExpensesStatistics=Výlety a výdaje statistiky -TripCard=Výlet karty -AddTrip=Přidat výlet -ListOfTrips=Seznam cest +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=SazebnĆ­k poplatkÅÆ -NewTrip=NovĆ” cesta +NewTrip=New expense report CompanyVisited=Firma / nadace navÅ”tĆ­vil Kilometers=Kilometry FeesKilometersOrAmout=MnožstvĆ­ nebo kilometrÅÆ -DeleteTrip=Odstranit výlet -ConfirmDeleteTrip=Jste si jisti, že chcete smazat tuto cestu? -TF_OTHER=OstatnĆ­ -TF_LUNCH=Oběd -TF_TRIP=Výlet -ListTripsAndExpenses=Seznam cest a nĆ”kladÅÆ -ExpensesArea=Výlety a nĆ”klady oblast -SearchATripAndExpense=Hledat na výlet a nĆ”klady +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=OstatnĆ­ +TF_TRANSPORTATION=Transportation +TF_LUNCH=Oběd +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/da_DK/admin.lang b/htdocs/langs/da_DK/admin.lang index 93e6a224b77..8cbc1e17779 100644 --- a/htdocs/langs/da_DK/admin.lang +++ b/htdocs/langs/da_DK/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperimentel VersionDevelopment=Udvikling VersionUnknown=Ukendt VersionRecommanded=Anbefalet +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 for at gemme sessioner SessionSavePath=Storage session localization @@ -493,10 +498,16 @@ Module600Name=AdvisĆ©ringer Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donationer Module700Desc=Gaver 'ledelse +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=RegnskabsmƦssig ekspert Module1400Desc=RegnskabsmƦssig forvaltning for eksperter (dobbelt parterne) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorier Module1780Desc=Kategorier 'forvaltning (produkter, leverandĆører og kunder) Module2000Name=FCKeditor @@ -631,7 +642,7 @@ Permission181=LƦs leverandĆør ordrer Permission182=Opret / Ʀndre leverandĆør ordrer Permission183=Valider leverandĆør ordrer Permission184=Godkend leverandĆør ordrer -Permission185=Bestil leverandĆør ordrer +Permission185=Order or cancel supplier orders Permission186=Modtag leverandĆør ordrer Permission187=Luk leverandĆør ordrer Permission188=Annuller leverandĆør ordrer @@ -711,6 +722,13 @@ Permission538=Eksport af tjenesteydelser Permission701=LƦs donationer Permission702=Opret / Ʀndre donationer Permission703=Slet donationer +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=LƦs bestande Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Adgangskode for at bruge proxyserveren DefineHereComplementaryAttributes=Definer her alle atributes, der ikke allerede findes som standard, og at du Ćønsker at blive understĆøttet for %s. ExtraFields=Supplerende egenskaber 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=En linje af produkt / service med et nul belĆøb anses FreeLegalTextOnProposal=Fri tekst pĆ„ kommercielle forslag 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=Ordrer Ā«forvaltning setup OrdersNumberingModules=Ordrer nummerressourcer moduler @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Barcode typeidentifikationsmƦrker UPC BarcodeDescISBN=Barcode typeidentifikationsmƦrker ISBN BarcodeDescC39=Barcode af type C39 BarcodeDescC128=Barcode af type C128 -GenbarcodeLocation=Stregkode generation kommando linje vƦrktĆøj (der benyttes af phpbarcode motor for nogle stregkode typer) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Cash konto til brug for sælger CashDeskBankAccountForCheque= Konto til at bruge til at modtage betalinger med check CashDeskBankAccountForCB= Konto til at bruge til at modtage kontant betaling ved kreditkort -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Bogmærkemodulet setup @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/da_DK/banks.lang b/htdocs/langs/da_DK/banks.lang index 11dfcb6ab7c..d66fa525a7b 100644 --- a/htdocs/langs/da_DK/banks.lang +++ b/htdocs/langs/da_DK/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Forsoning RIB=Bankkontonummer IBAN=IBAN-nummer +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT-nummer +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=StÄende ordrer StandingOrder=StÄende ordre Withdrawals=Tilbagekøb @@ -148,7 +152,7 @@ BackToAccount=Tilbage til regnskab ShowAllAccounts=Vis for alle konti FutureTransaction=Transaktion i futur. Ingen mÄde at forene. SelectChequeTransactionAndGenerate=Vælg / filter, at kontrollen skal omfatte ind checken depositum modtaget og klikke pÄ "Opret". -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/da_DK/bills.lang b/htdocs/langs/da_DK/bills.lang index 4fec0d6f176..94c961167d3 100644 --- a/htdocs/langs/da_DK/bills.lang +++ b/htdocs/langs/da_DK/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Betalinger allerede gjort PaymentsBackAlreadyDone=Payments back already done PaymentRule=Betaling regel PaymentMode=Betalingstype -PaymentConditions=Betaling sigt -PaymentConditionsShort=Betaling sigt +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Indbetalingsbeløb ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Betaling højere end pÄmindelse om at betale diff --git a/htdocs/langs/da_DK/commercial.lang b/htdocs/langs/da_DK/commercial.lang index 97c040cbf8b..8a226198cad 100644 --- a/htdocs/langs/da_DK/commercial.lang +++ b/htdocs/langs/da_DK/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Perspektiver DeleteAction=Slet en foranstaltning / opgave NewAction=Ny action / opgave -AddAction=Tilføj action / opgave -AddAnAction=Tilføj en foranstaltning / opgave -AddActionRendezVous=Tilføj en Rendezvous opgave +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Rendezvous ConfirmDeleteAction=Er du sikker pÄ du vil slette denne opgave? CardAction=Action-kortet @@ -44,8 +44,8 @@ DoneActions=Udfærdiget aktioner DoneActionsFor=Gøres tiltag for %s ToDoActions=Ufuldstændig aktioner ToDoActionsFor=Ufuldstændig aktioner for %s -SendPropalRef=Send kommercielle forslag %s -SendOrderRef=Send for %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Ikke relevant StatusActionToDo=At gøre StatusActionDone=Gjort @@ -62,7 +62,7 @@ LastProspectContactDone=Kontakt gjort DateActionPlanned=Dato aktion er planlagt til DateActionDone=Dato indsats gøres ActionAskedBy=Aktion spurgt af -ActionAffectedTo=Aktion pÄvirkes i +ActionAffectedTo=Event assigned to ActionDoneBy=Aktion gøres ved ActionUserAsk=Registreres af ErrorStatusCantBeZeroIfStarted=Hvis feltet 'Dato gjort «er fyldt handling er startet (eller afsluttet), sÄ felt' Status' kan ikke være 0%%. diff --git a/htdocs/langs/da_DK/contracts.lang b/htdocs/langs/da_DK/contracts.lang index 73a7e126d9e..7c4327088bc 100644 --- a/htdocs/langs/da_DK/contracts.lang +++ b/htdocs/langs/da_DK/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Udløbet ServiceStatusClosed=Lukket ServicesLegend=Services legend Contracts=Kontrakter +ContractsAndLine=Contracts and line of contracts Contract=Kontrakt NoContracts=Nr. kontrakter MenuServices=Services diff --git a/htdocs/langs/da_DK/cron.lang b/htdocs/langs/da_DK/cron.lang index cb5e21f817a..8ea7f4353fa 100644 --- a/htdocs/langs/da_DK/cron.lang +++ b/htdocs/langs/da_DK/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/da_DK/errors.lang b/htdocs/langs/da_DK/errors.lang index 9ad36372483..f69f42d1a6f 100644 --- a/htdocs/langs/da_DK/errors.lang +++ b/htdocs/langs/da_DK/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Kilde og mÄl bankkonti skal være anderledes. ErrorBadThirdPartyName=Bad værdi for tredjeparts navn ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntaks for kunde-kode -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Kunden kode kræves ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kunden koden allerede anvendes @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript skal ikke være deaktiveret for at have ErrorPasswordsMustMatch=Begge har skrevet passwords skal matche hinanden ErrorContactEMail=En teknisk fejl opstod. Kontakt venligst administrator til at følge e-mail %s da give fejlkoder %s i din besked, eller endnu bedre ved at tilføje en skærm kopi af denne side. ErrorWrongValueForField=Forkert værdi for felt nummer %s (værdi '%s' passer ikke regex regel %s) -ErrorFieldValueNotIn=Forkert værdi for feltnummer %s (value "%s" er ikke en værdi, der i felt %s af tabel %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Forkert værdi for feltnummer %s (værdien '%s' er ikke en %s eksisterende ref) ErrorsOnXLines=Fejl pÄ %s kildelinjer ErrorFileIsInfectedWithAVirus=Det antivirusprogram var ikke i stand til at validere filen (filen kan være inficeret med en virus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/da_DK/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/da_DK/install.lang b/htdocs/langs/da_DK/install.lang index 443877735a9..d265352dc80 100644 --- a/htdocs/langs/da_DK/install.lang +++ b/htdocs/langs/da_DK/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Sidste trin: Definer her login og adgangskode, du ActivateModule=Aktiver modul %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 diff --git a/htdocs/langs/da_DK/main.lang b/htdocs/langs/da_DK/main.lang index 6ce6c3fe051..91070a4d2ce 100644 --- a/htdocs/langs/da_DK/main.lang +++ b/htdocs/langs/da_DK/main.lang @@ -141,6 +141,7 @@ Cancel=Annuller Modify=Modify Edit=Redigér Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=At validere Save=Gemme SaveAs=Gem som @@ -158,6 +159,7 @@ Search=Søgning SearchOf=Søg Valid=Gyldig Approve=Godkend +Disapprove=Disapprove ReOpen=Re-Open Upload=Send fil ToLink=Link @@ -219,6 +221,7 @@ Cards=Postkort Card=Kort Now=Nu Date=Dato +DateAndHour=Date and hour DateStart=Dato start DateEnd=Dato udgangen DateCreation=Lavet dato @@ -295,6 +298,7 @@ UnitPriceHT=Enhedspris (netto) UnitPriceTTC=Enhedspris PriceU=UP PriceUHT=UP (netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=Mængde AmountInvoice=Fakturabeløbet @@ -521,6 +525,7 @@ DateFromTo=Fra %s til %s DateFrom=Fra %s DateUntil=Indtil %s Check=Kontrollere +Uncheck=Uncheck Internal=Intern External=Eksterne Internals=Intern @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Mandag Tuesday=Tirsdag diff --git a/htdocs/langs/da_DK/orders.lang b/htdocs/langs/da_DK/orders.lang index e85107b54f0..c5cb6c9dc56 100644 --- a/htdocs/langs/da_DK/orders.lang +++ b/htdocs/langs/da_DK/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Annulleret StatusOrderDraft=Udkast (skal valideres) StatusOrderValidated=Valideret StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Forarbejdede StatusOrderToBill=Til lovforslag StatusOrderToBill2=Til lovforslag @@ -58,6 +59,7 @@ MenuOrdersToBill=Ordrer til lovforslag MenuOrdersToBill2=Billable orders SearchOrder=Search for SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Skib produkt Discount=Discount CreateOrder=Opret Order diff --git a/htdocs/langs/da_DK/other.lang b/htdocs/langs/da_DK/other.lang index 3195ac89360..ec7a5a1fc9f 100644 --- a/htdocs/langs/da_DK/other.lang +++ b/htdocs/langs/da_DK/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksimumstørrelse AttachANewFile=Vedhæfte en ny fil / dokument LinkedObject=Forbundet objekt Miscellaneous=Miscellaneous -NbOfActiveNotifications=Antal anmeldelser +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Dette er en test mail. \\ NDen to linjer er adskilt af et linjeskift. PredefinedMailTestHtml=Dette er en test mail (ordet test skal være i fed).
    De to linjer er adskilt af et linjeskift. 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__ diff --git a/htdocs/langs/da_DK/printing.lang b/htdocs/langs/da_DK/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/da_DK/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/da_DK/productbatch.lang +++ b/htdocs/langs/da_DK/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/da_DK/products.lang b/htdocs/langs/da_DK/products.lang index ecd03ef5957..e66913ef4fc 100644 --- a/htdocs/langs/da_DK/products.lang +++ b/htdocs/langs/da_DK/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/da_DK/projects.lang b/htdocs/langs/da_DK/projects.lang index 88c5210f23c..91e45f99006 100644 --- a/htdocs/langs/da_DK/projects.lang +++ b/htdocs/langs/da_DK/projects.lang @@ -8,8 +8,10 @@ SharedProject=Fælles projekt PrivateProject=Kontakter af projektet MyProjectsDesc=Dette synspunkt er begrænset til projekter, du er en kontaktperson for (hvad der er den type). ProjectsPublicDesc=Dette synspunkt præsenterer alle projekter du fÄr lov til at læse. +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). 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). ProjectsArea=Projekter omrÄde @@ -29,6 +31,8 @@ NoProject=Nr. projektet defineret NbOpenTasks=Nb af Äbnet opgaver NbOfProjects=Nb af projekter TimeSpent=Tid brugt +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tid brugt RefTask=Ref. opgave LabelTask=Label opgave @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Liste over leverandører ordrer forbundet me ListSupplierInvoicesAssociatedProject=Liste over leverandører fakturaer forbundet med projektet ListContractAssociatedProject=Liste over kontrakter i forbindelse med projektet ListFichinterAssociatedProject=Liste over interventioner i forbindelse med projektet -ListTripAssociatedProject=Liste over rejser og udgifter forbundet med projektet +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Liste over aktioner i forbindelse med projektet ActivityOnProjectThisWeek=Aktivitet pÄ projektet i denne uge ActivityOnProjectThisMonth=Aktivitet pÄ projektet i denne mÄned @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=En komplet projekt rapport model (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/da_DK/salaries.lang b/htdocs/langs/da_DK/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/da_DK/salaries.lang +++ b/htdocs/langs/da_DK/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/da_DK/sendings.lang b/htdocs/langs/da_DK/sendings.lang index a52622bda7c..0b1d722f494 100644 --- a/htdocs/langs/da_DK/sendings.lang +++ b/htdocs/langs/da_DK/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty bestilt QtyShipped=Qty afsendt QtyToShip=Qty til skibet QtyReceived=Antal modtagne -KeepToShip=Hold til skib +KeepToShip=Remain to ship OtherSendingsForSameOrder=Andre sendings for denne ordre DateSending=Dato for afsendelse orden DateSendingShort=Dato for afsendelse orden diff --git a/htdocs/langs/da_DK/stocks.lang b/htdocs/langs/da_DK/stocks.lang index acb10492f90..19b708156b7 100644 --- a/htdocs/langs/da_DK/stocks.lang +++ b/htdocs/langs/da_DK/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Værdi PMPValueShort=WAP EnhancedValueOfWarehouses=Lager værdi UserWarehouseAutoCreate=Opret en bestand automatisk, nÄr du opretter en bruger +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Afsendte mængde QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/da_DK/suppliers.lang b/htdocs/langs/da_DK/suppliers.lang index 2d7dbf35ee6..aae6a4917a0 100644 --- a/htdocs/langs/da_DK/suppliers.lang +++ b/htdocs/langs/da_DK/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leverandører -Supplier=Leverandør AddSupplier=Create a supplier SupplierRemoved=Leverandør fjernet SuppliersInvoice=Leverandører faktura @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Leverandør fakturaer og betalinger ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Godkende denne ordre ConfirmApproveThisOrder=Er du sikker pÄ at du vil godkende denne ordre? -DenyingThisOrder=Benægte denne ordre +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Er du sikker pÄ at du vil benægte denne ordre? ConfirmCancelThisOrder=Er du sikker pÄ du vil annullere denne ordre? AddCustomerOrder=Opret kunde for diff --git a/htdocs/langs/da_DK/trips.lang b/htdocs/langs/da_DK/trips.lang index e4f3690f70d..561a88dfc8a 100644 --- a/htdocs/langs/da_DK/trips.lang +++ b/htdocs/langs/da_DK/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Tur -Trips=Trips -TripsAndExpenses=Udflugter og udgifter -TripsAndExpensesStatistics=Udflugter og udgifter statistik -TripCard=Trip kortet -AddTrip=Tilføj tur -ListOfTrips=Liste over ture +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=Liste over gebyrer -NewTrip=Ny tur +NewTrip=New expense report CompanyVisited=Company / fundament besøgte Kilometers=Kilometer FeesKilometersOrAmout=Beløb eller kilometer -DeleteTrip=Slet tur -ConfirmDeleteTrip=Er du sikker pÄ du vil slette denne tur? -TF_OTHER=Anden -TF_LUNCH=Frokost -TF_TRIP=Tur -ListTripsAndExpenses=Liste over ture og omkostninger -ExpensesArea=Udflugter og udgifter omrÄdet -SearchATripAndExpense=Søg en tur og regning +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=Anden +TF_TRANSPORTATION=Transportation +TF_LUNCH=Frokost +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/de_AT/admin.lang b/htdocs/langs/de_AT/admin.lang index 3e63292c41f..fbde76477d8 100644 --- a/htdocs/langs/de_AT/admin.lang +++ b/htdocs/langs/de_AT/admin.lang @@ -9,7 +9,6 @@ GenericMaskCodes2=(cccc) den Client-Code
    () cccc000 den Clien GenericMaskCodes5=ABC (yy) (mm) - (000000) wird ABC0701-000099
    (0000 +100)-ZZZ / tt () / XXX wird 0199-ZZZ/31/XXX NumberOfModelFilesFound=Anzahl der in diesen Verzeichnissen gefundenen .odt-Dokumentvorlagen ExampleOfDirectoriesForModelGen=Beispiele für Syntax:
    c:\mydir
    /Home/mydir
    DOL_DATA_ROOT/ecm/ecmdir -Module53Name=Services Module53Desc=Services-Verwaltung Module70Name=Eingriffe Module70Desc=Eingriffsverwaltung @@ -70,21 +69,15 @@ Permission2413=Maßnahmen (Termine oder Aufgaben) Anderer lƶschen Permission2501=Dokumente hochladen oder lƶschen DictionaryCompanyType=Art des Unternehmens DictionaryCompanyJuridicalType=Rechtsform -DictionaryProspectLevel=GeschƤftsaussicht DictionaryCanton=Bundesland -DictionaryActions=Maßnahmen VATReceivedOnly=Nur Mehtwertsteuererhalt VATIsNotUsedDesc=Die vorgeschlagene MwSt. ist standardmäßig 0 für alle FƤlle wie Stiftungen, Einzelpersonen oder Kleinunternehmen- -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. VirtualServerName=Virtual Server Name -PhpConf=Conf PhpWebLink=Php Web-Link DatabaseName=Datenbankname DatabasePort=Datenbank-Port DatabaseUser=Datenbankbenutzer DatabasePassword=Datenbankpasswort -Constraints=Constraints ConstraintsType=Constraint-Typ ConstraintsToShowOrNotEntry=Constraint zeigen oder nicht - Menü-Eintrag AllMustBeOk=Alle erfordern eine Überprüfung diff --git a/htdocs/langs/de_AT/agenda.lang b/htdocs/langs/de_AT/agenda.lang index e0268220e08..76a87c87644 100644 --- a/htdocs/langs/de_AT/agenda.lang +++ b/htdocs/langs/de_AT/agenda.lang @@ -2,4 +2,3 @@ ViewList=Liste anzeigen ViewCal=Kalender anzeigen OrderValidatedInDolibarr=Bestellung freigegeben -InterventionValidatedInDolibarr=Eingriff %s freigegeben diff --git a/htdocs/langs/de_AT/bills.lang b/htdocs/langs/de_AT/bills.lang index 135854c6022..5ff216e9fd4 100644 --- a/htdocs/langs/de_AT/bills.lang +++ b/htdocs/langs/de_AT/bills.lang @@ -10,7 +10,6 @@ InvoiceProFormaAsk=Proforma Rechnung InvoiceProFormaDesc=Proforma Rechnung ist ein Bild eines echten Rechnung, hat aber keine Buchhaltung Wert. ConsumedBy=Consumed von CardBill=Rechnungskarte -Abandoned=Abandoned CustomerBillsUnpaid=Kunden wegen eines nicht bezahlten Rechnungen NewRelativeDiscount=Neue relative Rabatt DescTaxAndDividendsArea=Dieser Bereich stellt eine Übersicht über alle Zahlungen, die für die Steuer-oder Sozialabgaben. Nur DatensƤtze mit der Bezahlung wƤhrend der festgesetzten Jahr hier. diff --git a/htdocs/langs/de_AT/companies.lang b/htdocs/langs/de_AT/companies.lang index eccdf9bd2cb..5d03cea798a 100644 --- a/htdocs/langs/de_AT/companies.lang +++ b/htdocs/langs/de_AT/companies.lang @@ -8,23 +8,8 @@ Web=Webadresse LocalTax1IsUsedES=RE wird LocalTax2IsUsedES=IRPF verwendet wird ProfId1AR=Prof Id 1 (CUIL) -ProfId2AU=- -ProfId3AU=- -ProfId4AU=- -ProfId2BE=- -ProfId3BE=- -ProfId4BE=- -ProfId1CH=- -ProfId2CH=- -ProfId1DE=Prof Id 1 (USt.-IdNr) -ProfId2DE=Prof Id 2 (USt.-Nr) -ProfId3DE=Prof Id 3 (Handelsregister-Nr.) -ProfId4DE=- -ProfId2GB=- -ProfId4GB=- CustomerCode=Kunden-Code CapitalOf=Hauptstadt von %s NorProspectNorCustomer=Weder Lead noch Kunde OthersNotLinkedToThirdParty=Andere, nicht mit einem Partner verknüpfte -TE_UNKNOWN=- ExportDataset_company_1=Partner und Eigenschaften diff --git a/htdocs/langs/de_AT/dict.lang b/htdocs/langs/de_AT/dict.lang index adc324ae56a..eb8aea115d5 100644 --- a/htdocs/langs/de_AT/dict.lang +++ b/htdocs/langs/de_AT/dict.lang @@ -1,45 +1,28 @@ # Dolibarr language file - Source file is en_US - dict CountryCI=Ivoiry Küste CountryAX=Land-Inseln -CountryAI=Anguilla CountryBW=Botsuana CountryCV=Kap Verde -CountryKY=Cayman Islands -CountryCX=Christmas Island CountryCC=Cocos (Keeling) Inseln CountryHT=Hati CountryHM=Heard und McDonald CountryVA=Heiliger Stuhl (Staat Vatikanstadt) -CountryIS=Icelande -CountryKG=Kyrghyztan CountryLA=Laotisch CountryLY=Libysch -CountryLT=Lituania CountryMK=Mazedonien, die ehemalige jugoslawische der CountryMD=Republik Moldau CountryMM=Birma (Myanmar) -CountryNF=Norfolk Island CountryKN=Saint Kitts und Nevis -CountryLC=Saint Lucia CountryGS=Süd-Georgien und Süd-Sandwich-Inseln CivilityMLE=Frau CivilityMTRE=Mag. CurrencyCAD=CAN-Dollar CurrencySingCAD=CAN-Dollar -CurrencySingCHF=Swiss Franc CurrencyFRF=Franzƶsische Franken CurrencyGBP=GB Pfund -CurrencySingGBP=GB Pound -CurrencyMAD=Dirham -CurrencySingMAD=Dirham -CurrencyMGA=Ariary -CurrencySingMGA=Ariary -CurrencyNOK=Norwegian krones CurrencyTND=TND CurrencyUSD=US-Dollar CurrencySingUSD=US-Dollar -CurrencyUAH=Hryvnia -CurrencySingUAH=Hryvnia CurrencyXAF=CFA-Franc BEAC DemandReasonTypeSRC_CAMP_MAIL=Mailing-Kampagne DemandReasonTypeSRC_CAMP_EMAIL=Emailing Kampagne diff --git a/htdocs/langs/de_AT/donations.lang b/htdocs/langs/de_AT/donations.lang deleted file mode 100644 index 2d4eb63c1fd..00000000000 --- a/htdocs/langs/de_AT/donations.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - donations diff --git a/htdocs/langs/de_AT/ftp.lang b/htdocs/langs/de_AT/ftp.lang deleted file mode 100644 index 66407cca057..00000000000 --- a/htdocs/langs/de_AT/ftp.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - ftp diff --git a/htdocs/langs/de_AT/main.lang b/htdocs/langs/de_AT/main.lang index be59b18d3a5..0cfce637f4a 100644 --- a/htdocs/langs/de_AT/main.lang +++ b/htdocs/langs/de_AT/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 @@ -25,7 +26,6 @@ ErrorFailedToSendMail=Fehler beim Senden des Mails (Absender=%s, EmpfƤnger=%s) ErrorAttachedFilesDisabled=Die Dateianhangsfunktion ist auf diesem Server deaktiviert ErrorInternalErrorDetected=Interner Fehler entdeckt ErrorDuplicateField=Dieser Wert muß einzigartig sein -ErrorOnlyPngJpgSupported=Bitte wƤhlen Sie eine Datei im .jpg- oder .png-Dateiformat. LevelOfFeature=Funktions-Level PreviousConnexion=Vorherige Verbindung RequestLastAccessInError=Anfrage des letzten Datenbankzugriffs mit Fehler @@ -37,7 +37,6 @@ PasswordRetype=Geben Sie das Passwort erneut ein DateRequest=Verlange Datum DurationDays=Tag days=Tag -Quadri=Quadri UnitPriceHT=Nettopreis (Stk.) UnitPriceTTC=Bruttopreis (Stk.) AmountAverage=Durchnschnittsbetrag @@ -63,7 +62,6 @@ Receive=Erhalte ThisLimitIsDefinedInSetup=Gesetzte System-Limits (Menü Home-Einstellungen-Sicherheit): %s Kb, PHP Limit: %s Kb UnHidePassword=Passwort-Zeichen anzeigen ListOfFiles=Dateiliste -FreeZone=Freier Text CloneMainAttributes=Duplikat mit den Haupteigenschaften AttributeCode=Attribut-Code OptionalFieldsSetup=Optionale Felder einrichten diff --git a/htdocs/langs/de_AT/other.lang b/htdocs/langs/de_AT/other.lang index 5243fcaad9d..3504dd431ff 100644 --- a/htdocs/langs/de_AT/other.lang +++ b/htdocs/langs/de_AT/other.lang @@ -28,7 +28,6 @@ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Hier finden Sie PredefinedMailContentSendShipping=__CONTACTCIVNAME__ \n\n Hier finden Sie die Versandkosten __SHIPPINGREF__ \n\nSincerely \n\n__SIGNATURE__ PredefinedMailContentSendFichInter=__CONTACTCIVNAME__ \n\n Hier finden Sie die Intervention __FICHINTERREF__ \n\nSincerely \n\n__SIGNATURE__ FeatureNotYetAvailableShort=ErhƤltlich in einer der nƤchsten Versionen -Top=Top Bottom=Boden Right=Recht CalculatedWeight=Errechnetes Gewicht diff --git a/htdocs/langs/de_AT/products.lang b/htdocs/langs/de_AT/products.lang index 20e306719ed..9e4f09d628c 100644 --- a/htdocs/langs/de_AT/products.lang +++ b/htdocs/langs/de_AT/products.lang @@ -24,16 +24,13 @@ ConfirmDeleteProduct=Mƶchten Sie dieses Produkt/Service wirklich lƶschen? ProductDeleted=Produkt/Service "%s" aus der Datenbank gelƶscht. DeletePicture=Bild lƶschen ExportDataset_produit_1=Produkte und Services -ExportDataset_service_1=Services NoProductMatching=Kein Produkt/Service entspricht Ihren Suchkriterien MatchingProducts=Passende Produkte/Services Restock=Bestandserinnerung -ProductSpecial=Special QtyMin=Mindestabnahme PriceQty=Preis für Mindestabnahme PriceQtyMin=Gesamtpreis Mindestabnahme RecordedProductsAndServices=Erfasste Produkte/Services -ServiceNb=Service #%s ListProductServiceByPopularity=Liste der Produkte/Services nach Beliebtheit ListProductByPopularity=Liste der Produkte/Services nach Beliebtheit ListServiceByPopularity=Liste der Services nach Beliebtheit diff --git a/htdocs/langs/de_AT/projects.lang b/htdocs/langs/de_AT/projects.lang index 8b665ac1dd6..a480ec09913 100644 --- a/htdocs/langs/de_AT/projects.lang +++ b/htdocs/langs/de_AT/projects.lang @@ -11,7 +11,6 @@ NoProject=Kein Projekt definiert RefTask=Aufgaben Nr. MyActivities=Meine TƤtigkeiten ListFichinterAssociatedProject=Liste der mit diesem Projekt verknüpften Eingriffe -ListTripAssociatedProject=Liste der mit diesem Projekt verknüpften Reise- und Fahrtspesen CloseAProject=Schließe Projekt ReOpenAProject=Ɩffne Projekt DoNotShowMyTasksOnly=Zeige auch die Aufgaben Anderer diff --git a/htdocs/langs/de_AT/propal.lang b/htdocs/langs/de_AT/propal.lang index 190907aebe3..a91f5399aef 100644 --- a/htdocs/langs/de_AT/propal.lang +++ b/htdocs/langs/de_AT/propal.lang @@ -6,8 +6,6 @@ PropalsDraft=Entwurf PropalStatusSigned=Unterzeichnet (auf Rechnung) NoOtherOpenedPropals=Keine offenen Angebote Anderer RefProposal=Angebots Nr. -FileNotUploaded=Datei nicht hochgeladen -FileUploaded=Datei erfolgreich hochgeladen DatePropal=Datum des Angebots DateEndPropal=Ablauf der Bindefrist ValidityDuration=Bindefrist diff --git a/htdocs/langs/de_AT/withdrawals.lang b/htdocs/langs/de_AT/withdrawals.lang index c5ae4da1f5f..93ca575035d 100644 --- a/htdocs/langs/de_AT/withdrawals.lang +++ b/htdocs/langs/de_AT/withdrawals.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - withdrawals LastWithdrawalReceipt=%s neuste Abbuchungsbelege -InvoiceRefused=Ablehnung in Rechnung stellen WithdrawalRefused=Abbuchungen abgelehnt +InvoiceRefused=Ablehnung in Rechnung stellen StatusWaiting=Wartestellung StatusMotif2=Abbuchung angefochten StatusMotif4=Ablehnung durch Kontoinhaber diff --git a/htdocs/langs/de_CH/companies.lang b/htdocs/langs/de_CH/companies.lang deleted file mode 100644 index 26cd766b83e..00000000000 --- a/htdocs/langs/de_CH/companies.lang +++ /dev/null @@ -1,11 +0,0 @@ -# Dolibarr language file - Source file is en_US - companies -JuridicalStatus600=Einzelfirma -JuridicalStatus601=Einfache Gesellschaft -JuridicalStatus602=Kollektivgesellschaft -JuridicalStatus603=Kommanditgesellschaft -JuridicalStatus604=Aktiengesellschaft (AG) -JuridicalStatus605=Kommanditaktiengesellschaft -JuridicalStatus606=Gesellschaft mit beschrƤnkter Haftung (GmbH) -JuridicalStatus607=Genossenschaft -JuridicalStatus608=Verein -JuridicalStatus609=Stiftung \ No newline at end of file diff --git a/htdocs/langs/de_CH/main.lang b/htdocs/langs/de_CH/main.lang index adbf494c99e..6a5173b676f 100644 --- a/htdocs/langs/de_CH/main.lang +++ b/htdocs/langs/de_CH/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 @@ -17,4 +18,4 @@ FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %H:%M FormatDateHourSecShort=%d/%m/%Y %H:%M:%S FormatDateHourTextShort=%d %b %Y %H:%M -FormatDateHourText=%d %B %Y %H:%M \ No newline at end of file +FormatDateHourText=%d %B %Y %H:%M diff --git a/htdocs/langs/de_DE/admin.lang b/htdocs/langs/de_DE/admin.lang index 68f2ac30cb8..45611a61a57 100644 --- a/htdocs/langs/de_DE/admin.lang +++ b/htdocs/langs/de_DE/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimentell VersionDevelopment=Entwicklung VersionUnknown=Unbekannt VersionRecommanded=Empfohlene +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sitzungs ID SessionSaveHandler=Handler für Sitzungsspeicherung SessionSavePath=Pfad für Sitzungsdatenspeicherung @@ -493,10 +498,16 @@ Module600Name=Benachrichtigungen Module600Desc=Senden Sie Benachrichtigungen zu einigen Dolibarr-Events per E-Mail an Partner (wird pro Partner definiert) Module700Name=Spenden Module700Desc=Spendenverwaltung +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-Integation Module1400Name=Buchhaltung Module1400Desc=Buchhaltung für Experten (doppelte Buchhaltung) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorien Module1780Desc=Kategorienverwaltung (Produkte, Lieferanten und Kunden) Module2000Name=FCKeditor @@ -631,7 +642,7 @@ Permission181=Lieferantenbestellungen einsehen Permission182=Lieferantenbestellungen erstellen/bearbeiten Permission183=Lieferantenbestellungen freigeben Permission184=Lieferantenbestellungen bestƤtigen -Permission185=Lieferantenbestellungen übermitteln +Permission185=Order or cancel supplier orders Permission186=Lieferantenbestellungen empfangen Permission187=Lieferantenbestellungen schließen Permission188=Lieferantenbestellungen verwerfen @@ -711,6 +722,13 @@ Permission538=Leistungen exportieren Permission701=Spenden einsehen Permission702=Spenden erstellen/bearbeiten Permission703=Spenden lƶschen +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=WarenbestƤnde einsehen Permission1002=Warenlager erstellen/Ƥndern Permission1003=Warenlager lƶschen @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Kennwort ein, um den Proxy-Server verwenden DefineHereComplementaryAttributes=Definieren Sie hier allen Attributen, nicht bereits standardmäßig vorhanden, und dass Sie für %s unterstützt werden. ExtraFields=ErgƤnzende Attribute ExtraFieldsLines=ErgƤnzende Attribute (Zeilen) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=ErgƤnzende Attribute (Partner) ExtraFieldsContacts=ErgƤnzende Attribute (Kontakt) ExtraFieldsMember=ErgƤnzende Attribute (Mitglied) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Produkt-/Servicezeilen mit Nullmenge zulƤssig FreeLegalTextOnProposal=Freier Rechtstext für Angebote WatermarkOnDraftProposal=Wasserzeichen auf Angebotsentwürfen (keins, falls leer) 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=Bestellverwaltungseinstellungen OrdersNumberingModules=Bestellnumerierungs-Module @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Barcode vom Typ UPC BarcodeDescISBN=Barcode vom Typ ISBN BarcodeDescC39=Barcode vom Typ C39 BarcodeDescC128=Barcode vom Typ C128 -GenbarcodeLocation=Kommandozeilen-Tool zur Barcode-Generierung (von phpbarcode-Engine verwendet) +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=interne Engine BarCodeNumberManager=Manager to auto define barcode numbers ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Standardpartner für KassenverkƤufe CashDeskBankAccountForSell=Standard-Bargeldkonto für KassenverkƤufe (erforderlich) CashDeskBankAccountForCheque= Finanzkonto für Scheckeinlƶsungen CashDeskBankAccountForCB= Finanzkonto für die Einlƶsung von Bargeldzahlungen via Kreditkarte -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=Lager für Entnahmen festlegen und und erzwingen StockDecreaseForPointOfSaleDisabled=Verringerung des Lagerbastandes durch Point of Sale deaktivert +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Lesezeichenmoduleinstellungen @@ -1569,3 +1597,7 @@ SortOrder=Sortierreihenfolge Format=Format TypePaymentDesc=0:Kunden-Zahlungs-Typ, 1:Lieferanten-Zahlungs-Typ, 2:Sowohl Kunden- als auch Lieferanten-Zahlungs-Typ 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. diff --git a/htdocs/langs/de_DE/banks.lang b/htdocs/langs/de_DE/banks.lang index 262f9f52281..b70c2cecc29 100644 --- a/htdocs/langs/de_DE/banks.lang +++ b/htdocs/langs/de_DE/banks.lang @@ -33,7 +33,11 @@ AllTime=Vom start Reconciliation=Zahlungsabgleich RIB=Kontonummer IBAN=IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT Code +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=DauerauftrƤge StandingOrder=Dauerauftrag Withdrawals=Entnahmen @@ -148,7 +152,7 @@ BackToAccount=Zurück zum Konto ShowAllAccounts=Alle Finanzkonten FutureTransaction=Zukünftige Transaktionen. SelectChequeTransactionAndGenerate=Schecks auswƤhlen/filtern um Sie in den Einzahlungsbeleg zu integrieren und auf "Erstellen" klicken. -InputReceiptNumber=WƤhlen Sie den zugehƶrigen Buchungssatz zum Konsolidieren. Verwenden Sie einen numerischen Ausdruck (z.B. YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Wenn mƶglich Kategorie angeben, worin die Daten eingeordnet werden ToConciliate=Konsolidieren? ThenCheckLinesAndConciliate=Dann die Zeilen im Bankauszug prüfen und Klicken diff --git a/htdocs/langs/de_DE/bills.lang b/htdocs/langs/de_DE/bills.lang index 9caea1587c2..d882f33b034 100644 --- a/htdocs/langs/de_DE/bills.lang +++ b/htdocs/langs/de_DE/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Bereits getƤtigte Zahlungen PaymentsBackAlreadyDone=Rückzahlungen bereits erledigt PaymentRule=Zahlungsregel PaymentMode=Zahlungsart -PaymentConditions=Zahlungskonditionen -PaymentConditionsShort=Konditionen +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Zahlungsbetrag ValidatePayment=Zahlung freigeben PaymentHigherThanReminderToPay=Zahlungsbetrag übersteigt Zahlungserinnerung diff --git a/htdocs/langs/de_DE/commercial.lang b/htdocs/langs/de_DE/commercial.lang index 955f35f8118..5805c602b95 100644 --- a/htdocs/langs/de_DE/commercial.lang +++ b/htdocs/langs/de_DE/commercial.lang @@ -9,8 +9,8 @@ Prospect=Lead Prospects=Leads DeleteAction=Maßnahme / Aufgabe lƶschen NewAction=Neue Maßnahme / Aufgabe -AddAction=Maßnahme / Aufgabe hinzufügen -AddAnAction=Hinzufügen einer Maßnahme / Aufgabe +AddAction=Maßnahme/Aufgabe erstellen +AddAnAction=Maßnahme/Aufgabe erstellen AddActionRendezVous=Treffen anlegen Rendez-Vous=Treffen ConfirmDeleteAction=Mƶchten Sie diese Aufgabe wirklich lƶschen? @@ -62,7 +62,7 @@ LastProspectContactDone=Kontaktaufnahme erledigt DateActionPlanned=Geplantes Erledigungsdatum DateActionDone=Echtes Erledigungsdatum ActionAskedBy=Maßnahme erbeten von -ActionAffectedTo=Maßnahme gehƶrt +ActionAffectedTo=Event assigned to ActionDoneBy=Maßnahme erledigt von ActionUserAsk=Aufgenommen durch ErrorStatusCantBeZeroIfStarted=Ist das Feld 'Echtes Erledigungsdatum' ausgefüllt, so wurde die Aktion bereits gestartet (oder beendet) und der 'Status' kann nicht 0%% sein. diff --git a/htdocs/langs/de_DE/contracts.lang b/htdocs/langs/de_DE/contracts.lang index 0027d817391..9cb31dac046 100644 --- a/htdocs/langs/de_DE/contracts.lang +++ b/htdocs/langs/de_DE/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Abgelaufen ServiceStatusClosed=Geschlossen ServicesLegend=Services Legende Contracts=VertrƤge +ContractsAndLine=Contracts and line of contracts Contract=Vertrag NoContracts=Keine VertrƤge MenuServices=Services diff --git a/htdocs/langs/de_DE/cron.lang b/htdocs/langs/de_DE/cron.lang index 2f20a1b93ad..77060539e1b 100644 --- a/htdocs/langs/de_DE/cron.lang +++ b/htdocs/langs/de_DE/cron.lang @@ -84,3 +84,4 @@ CronType_command=Shell-Befehl CronMenu=Cron CronCannotLoadClass=Kann Klasse %s oder Object %s nicht laden UseMenuModuleToolsToAddCronJobs=Rufe Menu "Home - Modules tools - Job Liste" auf um geplante Aufgaben zu sehen und zu verƤndern. +TaskDisabled=Task disabled diff --git a/htdocs/langs/de_DE/errors.lang b/htdocs/langs/de_DE/errors.lang index 09a01fc63e9..a78fe0da64a 100644 --- a/htdocs/langs/de_DE/errors.lang +++ b/htdocs/langs/de_DE/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Quell- und Zielbankkonto müssen unterschiedlich ErrorBadThirdPartyName=Der für den Partner eingegebene Name ist ungültig. ErrorProdIdIsMandatory=Die %s ist zwingend notwendig ErrorBadCustomerCodeSyntax=Die eingegebene Kundennummer ist unzulƤssig. -ErrorBadBarCodeSyntax=Falsche Syntax für Barcode +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=Kunden Nr. erforderlich ErrorBarCodeRequired=Barcode erforderlich ErrorCustomerCodeAlreadyUsed=Diese Kunden-Nr. ist bereits vergeben. @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Diese Funktion erfordert aktiviertes JavaScript. Ak ErrorPasswordsMustMatch=Die eingegebenen Passwƶrter müssen identisch sein. ErrorContactEMail=Ein technischer Fehler ist aufgetreten. Bitte kontaktieren Sie Ihren Administrator unter der folgenden E-Mail-Adresse %s und fügen Sie den Fehlercode %s in Ihrer Nachricht ein, oder (noch besser) fügen Sie einen Screenshot dieser Seite als Anhang bei. ErrorWrongValueForField=Falscher Wert für Feld Nr. %s (Wert '%s' passt nicht zur Regex-Regel %s) -ErrorFieldValueNotIn=Nicht korrekter Wert für das Feld-Nummer %s (Wert: '%s' ist kein verfügbarer Wert im Feld %s der Tabelle %s +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Falscher Wert für Feldnummer %s (für den Wert '%s' besteht keine %s Referenz) ErrorsOnXLines=Fehler in %s Quellzeilen ErrorFileIsInfectedWithAVirus=Der Virenschutz konnte diese Datei nicht freigeben (eventuell ist diese mit einem Virus infiziert) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Interner Fehler '%s' ErrorPriceExpressionUnknown=Unbekannter Fehler '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Zwingend notwendige Parameter sind noch nicht definiert diff --git a/htdocs/langs/de_DE/incoterm.lang b/htdocs/langs/de_DE/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/de_DE/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/de_DE/install.lang b/htdocs/langs/de_DE/install.lang index b1f421536af..323979fb31f 100644 --- a/htdocs/langs/de_DE/install.lang +++ b/htdocs/langs/de_DE/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Letzter Schritt: Legen Sie Ihr Logo und das Passwo ActivateModule=Aktivieren von Modul %s ShowEditTechnicalParameters=Hier klicken um erweiterte Funktionen zu zeigen/bearbeiten (Expertenmodus) 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 diff --git a/htdocs/langs/de_DE/main.lang b/htdocs/langs/de_DE/main.lang index c8256ebde92..3f51e500253 100644 --- a/htdocs/langs/de_DE/main.lang +++ b/htdocs/langs/de_DE/main.lang @@ -141,6 +141,7 @@ Cancel=Abbrechen Modify=Ƅndern Edit=Bearbeiten Validate=Freigeben +ValidateAndApprove=Validate and Approve ToValidate=Freizugeben Save=Speichern SaveAs=Speichern unter @@ -158,6 +159,7 @@ Search=Suchen SearchOf=Suche nach Valid=Gültig Approve=Genehmigen +Disapprove=Disapprove ReOpen=Wiedererƶffnen Upload=Datei laden ToLink=Link @@ -219,6 +221,7 @@ Cards=Karten Card=Karte Now=Jetzt Date=Datum +DateAndHour=Date and hour DateStart=Beginndatum DateEnd=Enddatum DateCreation=Erstellungsdatum @@ -295,6 +298,7 @@ UnitPriceHT=Stückpreis (netto) UnitPriceTTC=Stückpreis (brutto) PriceU=VP PriceUHT=VP (netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=VP (brutto) Amount=Betrag AmountInvoice=Rechnungsbetrag @@ -521,6 +525,7 @@ DateFromTo=Von %s bis %s DateFrom=Von %s DateUntil=Bis %s Check=Prüfen +Uncheck=Uncheck Internal=Intern External=Extern Internals=Interne @@ -688,6 +693,7 @@ PublicUrl=Ɩffentliche URL AddBox=Box zufügen SelectElementAndClickRefresh=WƤhlen Sie ein Element und clicken Sie Aktualisieren PrintFile=Drucke Datei %s +ShowTransaction=Show transaction # Week day Monday=Montag Tuesday=Dienstag diff --git a/htdocs/langs/de_DE/orders.lang b/htdocs/langs/de_DE/orders.lang index 18c9300a562..afddbf7e1b7 100644 --- a/htdocs/langs/de_DE/orders.lang +++ b/htdocs/langs/de_DE/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Storniert StatusOrderDraft=Entwurf (freizugeben) StatusOrderValidated=Freigegeben StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Bearbeitet StatusOrderToBill=Zu verrechnen StatusOrderToBill2=Zu verrechnen @@ -58,6 +59,7 @@ MenuOrdersToBill=Bestellverrechnung MenuOrdersToBill2=Billable orders SearchOrder=Suche Bestellung SearchACustomerOrder=Kundenauftrag suchen +SearchASupplierOrder=Search a supplier order ShipProduct=Produkt versenden Discount=Rabatt CreateOrder=Erzeuge Bestellung diff --git a/htdocs/langs/de_DE/other.lang b/htdocs/langs/de_DE/other.lang index 99ba2d2cf4c..4b2f4a52bea 100644 --- a/htdocs/langs/de_DE/other.lang +++ b/htdocs/langs/de_DE/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximalgröße AttachANewFile=Neue Datei/Dokument anhƤngen LinkedObject=Verknüpftes Objekt Miscellaneous=Verschiedenes -NbOfActiveNotifications=Anzahl aktiver Benachrichtigungen +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Dies ist ein Test-Mail.\n Die beiden Zeilen sind durch eine Zeilenschaltung getrennt. PredefinedMailTestHtml=Dies ist ein (HTML)-Test Mail (das Wort Test muss in Fettschrift erscheinen).
    Die beiden Zeilen sollteb durch eine Zeilenschaltung getrennt sein. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ \n\n Anbei erhalten Sie die Rechnung __FACREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Bedauerlicherweise scheint die Rechnung __FACREF__ bislang unbeglichen. Als Erinnerung übersenden wir Ihnen diese nochmals im Anhang.\n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang unser Angebot __PROPREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang die Bestellung __ORDERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ \n\n Bitte entnehmen Sie dem Anhang die Bestellung __ORDERREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ \n\n Anbei erhalten Sie die Rechnung __ FACREF__ \n\n__PERSONALIZED__Mit freundlichen Grüßen\n\n__SIGNATURE__ diff --git a/htdocs/langs/de_DE/printing.lang b/htdocs/langs/de_DE/printing.lang new file mode 100644 index 00000000000..3f783f02e08 --- /dev/null +++ b/htdocs/langs/de_DE/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direkt drucken +Module112000Desc=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=Configuration variables for printing driver. +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=Configuration variables for printing driver Google Cloud Print. +PrintTestDescprintgcp=Druckerliste für Google Cloud Print +PRINTGCP_LOGIN=Login für Google Account +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=Printer State +GCP_connectionStatus=Online State +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=Configuration variables for printing driver 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) +FileWasSentToPrinter=Datei %s wurde an den Drucker gesendet +NoDefaultPrinterDefined=Kein Standarddrucker defininert +DefaultPrinter=Standarddrucker +Printer=Drucker +CupsServer=CUPS-Server +IPP_Uri=Drucker Uri +IPP_Name=Druckername +IPP_State=Printer State +IPP_State_reason=State reason +IPP_State_reason1=State reason1 +IPP_BW=BW +IPP_Color=Farbe +IPP_Device=Device +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=Stationery +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 3e196897569..4ec2f570e7c 100644 --- a/htdocs/langs/de_DE/productbatch.lang +++ b/htdocs/langs/de_DE/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Charge/Seriennr l_eatby=Verzehren-bis-Datum l_sellby=Verkaufen-bis-Datum DetailBatchNumber=Chargen-/Seriennummern-Details -DetailBatchFormat=Charge/Seriennr: %s - E: %s - S: %s (Menge: %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Charge: %s printEatby=Verzehren bis: %s printSellby=Verkaufen bis: %s diff --git a/htdocs/langs/de_DE/products.lang b/htdocs/langs/de_DE/products.lang index 91044e017bb..8816eff2614 100644 --- a/htdocs/langs/de_DE/products.lang +++ b/htdocs/langs/de_DE/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Nummer +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/de_DE/projects.lang b/htdocs/langs/de_DE/projects.lang index b11cd6db0c4..b32d37c2026 100644 --- a/htdocs/langs/de_DE/projects.lang +++ b/htdocs/langs/de_DE/projects.lang @@ -8,8 +8,10 @@ SharedProject=Jeder PrivateProject=Kontakte zum Projekt MyProjectsDesc=Hier kƶnnen Sie nur die Projekte einsehen, bei welchen Sie als Kontakt hinzugefügt sind. ProjectsPublicDesc=Ihnen werden alle Projekte angezeigt bei welchen Sie über Leserechte verfügen. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with 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). ProjectsArea=Projektübersicht @@ -29,6 +31,8 @@ NoProject=Kein Projekt definiert oder keine Rechte NbOpenTasks=Anzahl der offenen Aufgaben NbOfProjects=Anzahl der Projekte TimeSpent=Zeitaufwand +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=ZeitaufwƤnde RefTask=Aufgaben-Nr. LabelTask=Aufgabenbezeichnung @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Liste der mit diesem Projekt verbundenen Lie ListSupplierInvoicesAssociatedProject=Liste der mit diesem Projekt verbundenen Lieferantenrechnungen ListContractAssociatedProject=Liste der mit diesem Projekt verbundenen VertrƤge ListFichinterAssociatedProject=Liste der mit diesem Projekt verknüpften Services -ListTripAssociatedProject=Liste der mit diesem Projekt verknüpften Reisekosten +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Liste der mit diesem Projekt verknüpften Maßnahmen ActivityOnProjectThisWeek=ProjektaktivitƤten dieser Woche ActivityOnProjectThisMonth=ProjektaktivitƤten dieses Monats @@ -126,10 +130,15 @@ AddElement=Mit Element verknüpfen UnlinkElement=Verknüpfung zu Element aufheben # Documents models DocumentModelBaleine=Eine vollstƤndige Projektberichtsvorlage (Logo, uwm.) -PlannedWorkload = Geplante Auslastung -WorkloadOccupation= Beeinflussung der Auslastung +PlannedWorkload=Geplante Auslastung +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Bezugnahmen SearchAProject=Suchen Sie ein Projekt ProjectMustBeValidatedFirst=Projekt muss erst bestƤtigt werden ProjectDraft=Projekt-Entwürfe FirstAddRessourceToAllocateTime=Eine Ressource zuordnen, um Zeit festzulegen +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/de_DE/salaries.lang b/htdocs/langs/de_DE/salaries.lang index b1477807c4e..5e72aae4e86 100644 --- a/htdocs/langs/de_DE/salaries.lang +++ b/htdocs/langs/de_DE/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Lohnzahlungen ShowSalaryPayment=Zeige Lohnzahlung THM=Durchschnittlicher Stundenpreis TJM=Durchschnittlicher Tagespreis +CurrentSalary=Current salary diff --git a/htdocs/langs/de_DE/sendings.lang b/htdocs/langs/de_DE/sendings.lang index cfb2af7ca1a..93da292748d 100644 --- a/htdocs/langs/de_DE/sendings.lang +++ b/htdocs/langs/de_DE/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Bestellmenge QtyShipped=Liefermenge QtyToShip=Versandmenge QtyReceived=Erhaltene Menge -KeepToShip=Für Versand behalten +KeepToShip=Remain to ship OtherSendingsForSameOrder=Weitere Sendungen zu dieser Bestellung DateSending=Datum des Versands DateSendingShort=Versanddatum diff --git a/htdocs/langs/de_DE/stocks.lang b/htdocs/langs/de_DE/stocks.lang index 69b59baded0..d560920f048 100644 --- a/htdocs/langs/de_DE/stocks.lang +++ b/htdocs/langs/de_DE/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Gewichteter Warenwert PMPValueShort=DSWP EnhancedValueOfWarehouses=Lagerwert UserWarehouseAutoCreate=Beim Anlegen eines Benutzers automatisch neues Warenlager erstellen +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Menge QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Das Lager %s wird für Entnahme verwendet WarehouseForStockIncrease=Das Lager %s wird für Wareneingang verwendet ForThisWarehouse=Für dieses Lager ReplenishmentStatusDesc=Dies ist eine Liste aller Produkte, deren Lagerbestand unter dem Sollbestand liegt (bzw. unter der Alarmschwelle, wenn die Auswahlbox "Nur Alarm" gewƤhlt ist) , die Ihnen VorschlƤge für Lieferantenbestellungen liefert, um die Differenzen auszugleichen. -ReplenishmentOrdersDesc=Dies ist die Liste aller offenen Lieferantenbestellungen +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=Nachschub NbOfProductBeforePeriod=Menge des Produkts %s im Lager vor der gewƤhlten Periode (< %s) NbOfProductAfterPeriod=Menge des Produkts %s im Lager nach der gewƤhlten Periode (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/de_DE/suppliers.lang b/htdocs/langs/de_DE/suppliers.lang index 4dcff3f39f8..58f83d6a3d5 100644 --- a/htdocs/langs/de_DE/suppliers.lang +++ b/htdocs/langs/de_DE/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Lieferanten -Supplier=Lieferant AddSupplier=Lieferant anlegen SupplierRemoved=Lieferant entfernt SuppliersInvoice=Lieferantenrechnung @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Lieferantenrechnungen und Zahlungen ExportDataset_fournisseur_3=Lieferantenbestellungen und Auftragszeilen ApproveThisOrder=Bestellung bestƤtigen ConfirmApproveThisOrder=Mƶchten Sie diese Bestellung wirklich bestƤtigen %s ? -DenyingThisOrder=Bestellung ablehnen +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Mƶchten Sie diese Bestellung wirklich ablehnen %s ? ConfirmCancelThisOrder=Mƶchten Sie diese Bestellung wirklich verwerfen %s ? AddCustomerOrder=Erzeuge Kundenbestellung diff --git a/htdocs/langs/de_DE/trips.lang b/htdocs/langs/de_DE/trips.lang index a4dabc3ce01..2ea6735cd00 100644 --- a/htdocs/langs/de_DE/trips.lang +++ b/htdocs/langs/de_DE/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Reise -Trips=Reisen -TripsAndExpenses=Reise- und Fahrtspesen -TripsAndExpensesStatistics=Reise- und Spesenstatistiken -TripCard=Reise-Karte -AddTrip=Reise hinzufügen -ListOfTrips=Liste der Reisen +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=Liste der Spesen -NewTrip=Neue Reise +NewTrip=New expense report CompanyVisited=Besuchter Partner Kilometers=Kilometerstand FeesKilometersOrAmout=Kilometergeld oder Spesenbetrag -DeleteTrip=Reise lƶschen -ConfirmDeleteTrip=Mƶchten Sie diese Reise wirklich lƶschen? +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=Als 'rückerstattet' markieren +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=Andere +TF_TRANSPORTATION=Transportation TF_LUNCH=Essen -TF_TRIP=Reise -ListTripsAndExpenses=Liste der Reisen und Spesen -ExpensesArea=Spesenübersicht -SearchATripAndExpense=Suchen nach einer Reise oder AufwƤnden -ClassifyRefunded=Classify 'Refunded' +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/el_GR/admin.lang b/htdocs/langs/el_GR/admin.lang index f706cfa457c..d8f7036b628 100644 --- a/htdocs/langs/el_GR/admin.lang +++ b/htdocs/langs/el_GR/admin.lang @@ -8,6 +8,11 @@ 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=ID Ī£Ļ…Ī½ĻŒĪ“ĪæĻ… SessionSaveHandler=Φορέας Ļ‡ĪµĪ¹ĻĪ¹ĻƒĪ¼ĪæĻ Ī±Ļ€ĪæĪøĪ®ĪŗĪµĻ…ĻƒĪ·Ļ‚ ĻƒĻ…Ī½ĪµĪ“ĻĪ¹ĻŽĪ½ SessionSavePath=Ī‘Ļ€ĪæĪøĪ®ĪŗĪµĻ…ĻƒĪ· τοπικής Ļ€ĻĪæĻƒĪ±ĻĪ¼ĪæĪ³Ī®Ļ‚ ĻƒĻ…Ī½ĪµĪ“ĻĪÆĪ±Ļ‚ @@ -128,8 +133,8 @@ PHPServerOffsetWithGreenwich=PHP server offset width Greenwich (seconds) ClientOffsetWithGreenwich=Client/Browser offset width Greenwich (seconds) DaylingSavingTime=Ī— θερινή ĻŽĻĪ± (Ļ‡ĻĪ®ĻƒĻ„Ī·) CurrentHour=PHP server hour -CompanyTZ=Time Zone company (main company) -CompanyHour=Hour company (main company) +CompanyTZ=Ī–ĻŽĪ½Ī· ĻŽĻĪ±Ļ‚ εταιρείας (ĪŗĻĻĪ¹Ī± εταιρεία) +CompanyHour=ĪĻĪ± εταιρείας (ĪŗĻĻĪ¹Ī± εταιρεία) CurrentSessionTimeOut=Χρονικό όριο Ļ€ĪµĻĪ¹ĻŒĪ“ĪæĻ… λειτουργίας Ļ„ĻĪ­Ļ‡ĪæĻ…ĻƒĪ±Ļ‚ ĻƒĻ…Ī½ĪæĪ“ĪæĻ YouCanEditPHPTZ=Για να ĪæĻĪÆĻƒĪµĻ„Īµ μια Γιαφορετική Ī¶ĻŽĪ½Ī· ĻŽĻĪ±Ļ‚ της PHP (Γεν απαιτείται), μπορείτε να Ī“ĪæĪŗĪ¹Ī¼Ī¬ĻƒĪµĻ„Īµ να Ļ€ĻĪæĻƒĪøĪ­ĻƒĪµĻ„Īµ ένα αρχείο .htacces με μια γραμμή σαν Ī±Ļ…Ļ„ĻŒ "TZ setenv Europe / Paris" OSEnv=Περιβάλλον OS @@ -201,186 +206,186 @@ No=ĪŒĻ‡Ī¹ AutoDetectLang=Ī‘Ļ…Ļ„ĻŒĪ¼Ī±Ļ„Ī· Ī‘Ī½ĪÆĻ‡Ī½ĪµĻ…ĻƒĪ· (Ī³Ī»ĻŽĻƒĻƒĪ± φυλλομετρητή) FeatureDisabledInDemo=Ī”Ļ…Ī½Ī±Ļ„ĻŒĻ„Ī·Ļ„Ī± Ī±Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ·Ļ‚ ĻƒĻ„Īæ demo Rights=Ī”Ī¹ĪŗĪ±Ī¹ĻŽĪ¼Ī±Ļ„Ī± -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... +BoxesDesc=Τα κουτιά είναι κομμάτια της επιφάνειας ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ που Γείχνουν πληροφορίες σε κάποιες ĻƒĪµĪ»ĪÆĪ“ĪµĻ‚. ĪœĻ€ĪæĻĪµĪÆĻ„Īµ να επιλέξετε ανάμεσα ĻƒĻ„Ī·Ī½ ĪµĪ¼Ļ†Ī¬Ī½Ī¹ĻƒĪ· του ĪŗĪæĻ…Ļ„Ī¹ĪæĻ Ī® ĻŒĻ‡Ī¹, απλά επιλέγοντας την σελίΓα ĻƒĻ„ĻŒĻ‡Īæ και κάνοντας κλικ ĻƒĻ„Īæ 'Ī•Ī½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ·', Ī® κάνοντας κλικ ĻƒĻ„Īæ εικονίΓιο κάΓου για να το Ī±Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ. +OnlyActiveElementsAreShown=Μόνο ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆĪ± Ī±Ļ€ĻŒ ενεργοποιημένα modules προβάλλονται. +ModulesDesc=Τα modules του Dolibarr ελέγχουν ποιες λειτουργίες είναι ενεργοποιημένες ĻƒĻ„Īæ λογισμικό. ĪšĪ¬Ļ€ĪæĪ¹Ī± modules Ī±Ļ€Ī±Ī¹Ļ„ĪæĻĪ½ Ī“Ī¹ĪŗĪ±Ī¹ĻŽĪ¼Ī±Ļ„Ī± που πρέπει να παρέχετε ĻƒĻ„ĪæĻ…Ļ‚ Ļ‡ĻĪ®ĻƒĻ„ĪµĻ‚, μετά την ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· του module. ĪšĪ¬Ī½Ļ„Īµ κλικ ĻƒĻ„Īæ κουμπί on/off ĻƒĻ„Ī·Ī½ ĻƒĻ„Ī®Ī»Ī· "ĪšĪ±Ļ„Ī¬ĻƒĻ„Ī±ĻƒĪ·" για να ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪµĻ„Īµ ένα module Ī® μια λειτουργία. +ModulesInterfaceDesc=Ī— Γιεπαφή των modules του Dolibarr ĻƒĪ±Ļ‚ επιτρέπει να Ļ€ĻĪæĻƒĪøĪ­ĻƒĪµĻ„Īµ λειτουργίες που ĻƒĻ„Ī·ĻĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ σε ĪµĪ¾Ļ‰Ļ„ĪµĻĪ¹ĪŗĻŒ λογισμικό, ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Ī® Ļ…Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚. +ModulesSpecialDesc=Τα ειΓικά modules είναι για Ļ€ĪæĪ»Ļ ĻƒĻ…Ī³ĪŗĪµĪŗĻĪ¹Ī¼Ī­Ī½ĪµĻ‚ Ī® ĻƒĻ€Ī¬Ī½Ī¹ĪµĻ‚ Ļ‡ĻĪ®ĻƒĪµĪ¹Ļ‚. +ModulesJobDesc=Τα Business modules παρέχουν απλές Ļ€ĻĪæĻĻ…ĪøĪ¼Ī¹ĻƒĪ¼Ī­Ī½ĪµĻ‚ ĪµĪ³ĪŗĪ±Ļ„Ī±ĻƒĻ„Ī¬ĻƒĪµĪ¹Ļ‚ του Dolibarr για ĻƒĻ…Ī³ĪŗĪµĪŗĻĪ¹Ī¼Ī­Ī½ĪæĻ…Ļ‚ Ļ„ĻĻ€ĪæĻ…Ļ‚ ĪµĻ€Ī¹Ļ‡ĪµĪ¹ĻĪ®ĻƒĪµĻ‰Ī½. +ModulesMarketPlaceDesc=ĪœĻ€ĪæĻĪµĪÆĻ„Īµ να βρείτε Ļ€ĪµĻĪ¹ĻƒĻƒĻŒĻ„ĪµĻĪ± modules για να ĪŗĪ±Ļ„ĪµĪ²Ī¬ĻƒĪµĻ„Īµ σε εξωτερικά web sites ĻƒĻ„Īæ Internet... ModulesMarketPlaces=Ī ĪµĻĪ¹ĻƒĻƒĻŒĻ„ĪµĻĪ± Ī‘ĻĪøĻĻŽĪ¼Ī±Ļ„Ī±... -DoliStoreDesc=DoliStore, the official market place for Dolibarr ERP/CRM external modules +DoliStoreDesc=Το DoliStore, είναι Ī· ĪµĻ€ĪÆĻƒĪ·Ī¼Ī· περιοχή για να βρείτε εξωτερικά modules για το Dolibarr ERP/CRM DoliPartnersDesc=Ī›ĪÆĻƒĻ„Ī± με ĪæĻĪ¹ĻƒĪ¼Ī­Ī½ĪµĻ‚ εταιρείες που Ī¼Ļ€ĪæĻĪæĻĪ½ να Ļ€ĻĪæĻƒĻ†Ī­ĻĪæĻ…Ī½ έρευνα/ανάπτυξη κατά παραγγελία modules Ī® Ļ‡Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĪ¬ (Ī£Ī·Ī¼ĪµĪÆĻ‰ĻƒĪ·: κάθε εταιρεία Open Source που γνωρίζει Ī³Ī»ĻŽĻƒĻƒĪ± PHP μπορεί να ĻƒĪ±Ļ‚ Ī“ĻŽĻƒĪµĪ¹ ĻƒĻ…Ī³ĪŗĪµĪŗĻĪ¹Ī¼Ī­Ī½Ī· ανάπτυξη) -WebSiteDesc=Web site providers you can search to find more modules... -URL=Ī™ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± +WebSiteDesc=Ī™ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“ĪµĻ‚ ĻƒĻ„Ī¹Ļ‚ οποίες μπορείτε να βρείτε Ļ€ĪµĻĪ¹ĻƒĻƒĻŒĻ„ĪµĻĪ± modules... +URL=Ī£ĻĪ½Ī“ĪµĻƒĪ¼ĪæĻ‚ BoxesAvailable=Ī”Ī¹Ī±ĪøĪ­ĻƒĪ¹Ī¼Ī± Πλαίσια BoxesActivated=Ενεργά Πλαίσια -ActivateOn=Activate on -ActiveOn=Activated on +ActivateOn=Ī•Ī½ĪµĻĪ³ĪæĻ€ĪæĪ¹Ī®ĻƒĻ„Īµ ĻƒĻ„Ī¹Ļ‚ +ActiveOn=Ενεργοποιήθηκε ĻƒĻ„Ī¹Ļ‚ SourceFile=Πηγαίο αρχείο -AutomaticIfJavascriptDisabled=Automatic if Javascript is disabled -AvailableOnlyIfJavascriptNotDisabled=Available only if JavaScript is not disabled -AvailableOnlyIfJavascriptAndAjaxNotDisabled=Available only if JavaScript is not disabled +AutomaticIfJavascriptDisabled=Ī‘Ļ…Ļ„ĻŒĪ¼Ī±Ļ„Ī± αν είναι απενεργοποιημένο το Javascript +AvailableOnlyIfJavascriptNotDisabled=Ī”Ī¹Ī±ĪøĪ­ĻƒĪ¹Ī¼Īæ μόνο αν το JavaScript Γεν είναι απενεργοποιημένο +AvailableOnlyIfJavascriptAndAjaxNotDisabled=Ī”Ī¹Ī±ĪøĪ­ĻƒĪ¹Ī¼Īæ μόνο αν το JavaScript Γεν είναι απενεργοποιημένο Required=Ī„Ļ€ĪæĻ‡ĻĪµĻ‰Ļ„Ī¹ĪŗĻŒ UsedOnlyWithTypeOption=Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪµĪÆĻ„Ī±Ī¹ μόνο Ī±Ļ€ĻŒ κάποια επιλογή της ατζέντας Security=Ī‘ĻƒĻ†Ī¬Ī»ĪµĪ¹Ī± 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). +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=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 +Developpers=Ī ĻĪæĪ³ĻĪ±Ī¼Ī¼Ī±Ļ„Ī¹ĻƒĻ„Ī­Ļ‚/ĻƒĻ…Ī½ĪµĻĪ³Ī¬Ļ„ĪµĻ‚ +OtherDeveloppers=Άλλοι Ļ€ĻĪæĪ³ĻĪ±Ī¼Ī¼Ī±Ļ„Ī¹ĻƒĻ„Ī­Ļ‚/ĻƒĻ…Ī½ĪµĻĪ³Ī¬Ļ„ĪµĻ‚ +OfficialWebSite=Ī•Ļ€ĪÆĻƒĪ·Ī¼Ī· Ī¹ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± Dolibarr international +OfficialWebSiteFr=Ī•Ļ€ĪÆĻƒĪ·Ī¼Ī· Γαλλική Ī¹ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± +OfficialWiki=Ī¤ĪµĪŗĪ¼Ī·ĻĪÆĻ‰ĻƒĪ· Dolibarr ĻƒĻ„Īæ Wiki +OfficialDemo=Ī”ĪæĪŗĪ¹Ī¼Ī±ĻƒĻ„Ī¹ĪŗĪ® έκΓοση Dolibarr +OfficialMarketPlace=Ī•Ļ€ĪÆĻƒĪ·Ī¼Ī· Ī¹ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± για εξωτερικά modules/Ļ€ĻĻŒĻƒĪøĪµĻ„Ī± OfficialWebHostingService=Ī„Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚ που αναφέρονται για web hosting (Cloud hosting) ReferencedPreferredPartners=Preferred Partners OtherResources=Άλλοι Ļ€ĻŒĻĪæĪ¹ -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 +ForDocumentationSeeWiki=Για την Ļ„ĪµĪŗĪ¼Ī·ĻĪÆĻ‰ĻƒĪ· Ļ‡ĻĪ®ĻƒĻ„Ī· Ī® Ļ€ĻĪæĪ³ĻĪ±Ī¼Ī¼Ī±Ļ„Ī¹ĻƒĻ„Ī® (Doc, FAQs...),
    ρίξτε μια ματιά ĻƒĻ„Īæ Dolibarr Wiki:
    %s +ForAnswersSeeForum=Για οποιαΓήποτε άλλη ĪµĻĻŽĻ„Ī·ĻƒĪ·/βοήθεια, μπορείτε να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ το forum του Dolibarr:
    %s +HelpCenterDesc1=Αυτή Ī· περιοχή μπορεί να ĻƒĪ±Ļ‚ βοηθήσει να Ī±Ļ€ĪæĪŗĻ„Ī®ĻƒĪµĻ„Īµ Ļ…Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚ βοήθειας ĻƒĻ„Īæ Dolibarr. +HelpCenterDesc2=ĪšĪ¬Ļ€ĪæĪ¹Ī± κομμάτια αυτής της Ļ…Ļ€Ī·ĻĪµĻƒĪÆĪ±Ļ‚ είναι Γιαθέσιμα μόνο ĻƒĻ„Ī± αγγλικά. +CurrentTopMenuHandler=Ī¤Ļ‰ĻĪ¹Ī½ĻŒĻ‚ Γιαμορφωτής πάνω Ī¼ĪµĪ½ĪæĻ +CurrentLeftMenuHandler=Ī¤Ļ‰ĻĪ¹Ī½ĻŒĻ‚ Γιαμορφωτής Ī±ĻĪ¹ĻƒĻ„ĪµĻĪæĻ Ī¼ĪµĪ½ĪæĻ +CurrentMenuHandler=Ī¤Ļ‰ĻĪ¹Ī½ĻŒĻ‚ Γιαμορφωτής Ī¼ĪµĪ½ĪæĻ +CurrentSmartphoneMenuHandler=Ī¤Ļ‰ĻĪ¹Ī½ĻŒĻ‚ Γιαμορφωτής Ī¼ĪµĪ½ĪæĻ για κινητές ĻƒĻ…ĻƒĪŗĪµĻ…Ī­Ļ‚ MeasuringUnit=ΜονάΓα Ī¼Ī­Ļ„ĻĪ·ĻƒĪ·Ļ‚ Emails=E-mails EMailsSetup=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· E-mails -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=E-mail Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± που Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪæĻĪ½Ļ„Ī±Ī¹ για την ĪµĻ€Ī¹ĻƒĻ„ĻĪæĻ†Ī® λάθος Ī¼Ī·Ī½ĻĪ¼Ī±Ļ„Ī± που ĻƒĻ„Ī­Ī»Ī½ĪæĪ½Ļ„Ī±Ī¹ -MAIN_MAIL_AUTOCOPY_TO= Send systematically a hidden carbon-copy of all sent emails to +EMailsDesc=Αυτή Ī· σελίΓα ĻƒĪ±Ļ‚ επιτρέπει να αλλάξετε τις παραμέτρους PHP για την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® email. Στις Ļ€ĪµĻĪ¹ĻƒĻƒĻŒĻ„ĪµĻĪµĻ‚ Ļ€ĪµĻĪ¹Ļ€Ļ„ĻŽĻƒĪµĪ¹Ļ‚ σε λειτουργικά ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Unix/Linux, Ī· Ī“Ī¹Ī±Ī¼ĻŒĻĻ†Ļ‰ĻƒĪ· της PHP ĻƒĪ±Ļ‚ είναι ĻƒĻ‰ĻƒĻ„Ī® και αυτές οι παράμετροι είναι Ī¬Ļ‡ĻĪ·ĻƒĻ„ĪµĻ‚. +MAIN_MAIL_SMTP_PORT=Ī˜ĻĻĪ± SMTP/SMTPS (Προεπιλογή ĻƒĻ„Īæ php.ini: %s) +MAIN_MAIL_SMTP_SERVER=SMTP/SMTPS Host (Προεπιλογή ĻƒĻ„Īæ php.ini: %s) +MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike=Ī˜ĻĻĪ± SMTP/SMTPS (Δεν ĪŗĪ±ĪøĪæĻĪÆĪ¶ĪµĻ„Ī±Ī¹ĻƒĻ„Ī·Ī½ PHP σε ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Unix) +MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike=SMTP/SMTPS Host (Δεν ĪŗĪ±ĪøĪæĻĪÆĪ¶ĪµĻ„Ī±Ī¹ĻƒĻ„Ī·Ī½ PHP σε ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Unix) +MAIN_MAIL_EMAIL_FROM=E-mail Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± για Ī±Ļ…Ļ„ĻŒĪ¼Ī±Ļ„Ī± e-mails (Προεπιλογή ĻƒĻ„Īæ php.ini: %s) +MAIN_MAIL_ERRORS_TO=E-mail Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± που Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪæĻĪ½Ļ„Ī±Ī¹ για την ĪµĻ€Ī¹ĻƒĻ„ĻĪæĻ†Ī® λάθος μηνυμάτων που ĻƒĻ„Ī­Ī»Ī½ĪæĪ½Ļ„Ī±Ī¹ +MAIN_MAIL_AUTOCOPY_TO= ĪĪ± Ī±Ļ€ĪæĻƒĻ„Ī­Ī»ĪæĪ½Ļ„Ī±Ī¹ κρυφά αντίγραφα των Ī±Ļ€ĪµĻƒĻ„Ī±Ī»Ī¼Ī­Ī½Ļ‰Ī½ emails ĻƒĻ„Īæ MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī® ĻƒĻ…ĻƒĻ„Ī·Ī¼Ī±Ļ„Ī¹ĪŗĪ¬ ένος ĪŗĻĻ…Ļ†ĪæĻ ĪŗĪ±ĻĪ¼Ļ€ĻŒĪ½-αντίγραφου των Ļ€ĻĪæĻƒĻ†ĪæĻĻŽĪ½ που Ī±Ļ€ĪæĻƒĻ„Ī­Ī»Ī»ĪæĪ½Ļ„Ī±Ī¹ Ī¼Ī­ĻƒĻ‰ email ĻƒĻ„Īæ MAIN_MAIL_AUTOCOPY_ORDER_TO= Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī® ĻƒĻ…ĻƒĻ„Ī·Ī¼Ī±Ļ„Ī¹ĪŗĪ¬ ĪµĪ½ĻŒĻ‚ ĪŗĻĻ…Ļ†ĪæĻ ĪŗĪ±ĻĪ¼Ļ€ĻŒĪ½-αντίγραφου των Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ που Ī±Ļ€ĪæĻƒĻ„Ī­Ī»Ī»ĪæĪ½Ļ„Ī±Ī¹ Ī¼Ī­ĻƒĻ‰ email ĻƒĻ„Īæ MAIN_MAIL_AUTOCOPY_INVOICE_TO= Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī® ĻƒĻ…ĻƒĻ„Ī·Ī¼Ī±Ļ„Ī¹ĪŗĪ¬ ĪµĪ½ĻŒĻ‚ ĪŗĻĻ…Ļ†ĪæĻ ĪŗĪ±ĻĪ¼Ļ€ĻŒĪ½-αντίγραφου τιμολογίου που Ī±Ļ€ĪæĻƒĻ„Ī­Ī»Ī»ĪµĻ„Ī±Ī¹ Ī¼Ī­ĻƒĻ‰ email ĻƒĻ„Īæ -MAIN_DISABLE_ALL_MAILS=Disable all e-mails sendings (for test purposes or demos) +MAIN_DISABLE_ALL_MAILS=Ī‘Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· ĻŒĪ»Ļ‰Ī½ των Ī±Ļ€ĪæĻƒĻ„ĪæĪ»ĻŽĪ½ email (για Γοκιμές και Ī“ĪæĪŗĪ¹Ī¼Ī±ĻƒĻ„Ī¹ĪŗĪ­Ļ‚ ĪµĪŗĪ“ĻŒĻƒĪµĪ¹Ļ‚) MAIN_MAIL_SENDMODE=ĪœĪ­ĪøĪæĪ“ĪæĻ‚ που Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪµĪÆĻ„Īµ για Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® 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=Ī‘Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· ĻŒĪ»Ļ‰Ī½ ĻƒĪ±Ļ‚ Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ļ‚ SMS (για Ī»ĻŒĪ³ĪæĻ…Ļ‚ Γοκιμής Ī® demos) -MAIN_SMS_SENDMODE=ĪœĪ­ĪøĪæĪ“ĪæĻ‚ να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ για την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® SMS -MAIN_MAIL_SMS_FROM=Προεπιλογή Ī±ĻĪ¹ĪøĪ¼ĪæĻ Ļ„Ī·Ī»ĪµĻ†ĻŽĪ½ĪæĻ… Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± για την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® SMS -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. +MAIN_MAIL_SMTPS_ID=SMTP ID αν απαιτείται Ļ€Ī¹ĻƒĻ„ĪæĻ€ĪæĪÆĪ·ĻƒĪ· +MAIN_MAIL_SMTPS_PW=ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚ SMTP αν απαιτείται Ļ€Ī¹ĻƒĻ„ĪæĻ€ĪæĪÆĪ·ĻƒĪ· +MAIN_MAIL_EMAIL_TLS= Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĻ„Īµ TLS (SSL) ĪŗĻ‰Ī“Ī¹ĪŗĪæĻ€ĪæĪÆĪ·ĻƒĪ· +MAIN_DISABLE_ALL_SMS=Ī‘Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· ĻŒĪ»Ļ‰Ī½ των Ī±Ļ€ĪæĻƒĻ„ĪæĪ»ĻŽĪ½ SMS (για Ī»ĻŒĪ³ĪæĻ…Ļ‚ Γοκιμής Ī® demos) +MAIN_SMS_SENDMODE=ĪœĪ­ĪøĪæĪ“ĪæĻ‚ που θέλετε να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī·ĪøĪµĪÆ για την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® SMS +MAIN_MAIL_SMS_FROM=Προεπιλεγμένος Ī±ĻĪ¹ĪøĪ¼ĻŒĻ‚ Ļ„Ī·Ī»ĪµĻ†ĻŽĪ½ĪæĻ… Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± για την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® SMS +FeatureNotAvailableOnLinux=Αυτή Ī· λειτουργία Γεν είναι Γιαθέσιμη σε ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Unix like. Ī”ĪæĪŗĪ¹Ī¼Ī¬ĻƒĻ„Īµ το Ļ€ĻĻŒĪ³ĻĪ±Ī¼Ī¼Ī± sendmail τοπικά. +SubmitTranslation=Αν Ī· Ī¼ĪµĻ„Ī¬Ļ†ĻĪ±ĻƒĪ· για αυτή την Ī³Ī»ĻŽĻƒĻƒĪ± Γεν είναι ολοκληρωμένη λη Ī²ĻĪÆĻƒĪŗĪµĻ„Īµ λάθη, μπορείτε να τα Ī“Ī¹ĪæĻĪøĻŽĻƒĪµĻ„Īµ με ĪµĻ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĪÆĪ± των αρχείων ĻƒĻ„Īæ φάκελο langs/%s και να ĻƒĻ„ĪµĪÆĪ»ĪµĻ„Īµ τα ĪµĻ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĪ¼Ī­Ī½Ī± αρχεία ĻƒĻ„Īæ forum www.dolibarr.org. ModuleSetup=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī‘ĻĪøĻĻŽĪ¼Ī±Ļ„ĪæĻ‚ ModulesSetup=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Αρθρωμάτων ModuleFamilyBase=Ī£ĻĻƒĻ„Ī·Ī¼Ī± ModuleFamilyCrm=Customer Relation Management (CRM) ModuleFamilyProducts=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ ModuleFamilyHr=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī‘Ī½ĪøĻĻŽĻ€Ī¹Ī½ĪæĻ… Ī”Ļ…Ī½Ī±Ī¼Ī¹ĪŗĪæĻ -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 +ModuleFamilyProjects=Projects/Συμμετοχικές ĪµĻĪ³Ī±ĻƒĪÆĪµĻ‚ +ModuleFamilyOther=Άλλο +ModuleFamilyTechnic=Εργαλεία Ļ€ĪæĪ»Ī»Ī±Ļ€Ī»ĻŽĪ½ αρθρωμάτων +ModuleFamilyExperimental=Πειραματικά Ī±ĻĪøĻĻŽĪ¼Ī±Ļ„Ī± +ModuleFamilyFinancial=Χρηματοοικονομικά Ī±ĻĪøĻĻŽĪ¼Ī±Ļ„Ī± (Ī›ĪæĪ³Ī¹ĻƒĻ„Ī¹ĪŗĪ®/Χρηματοοικονομικά) +ModuleFamilyECM=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī—Ī»ĪµĪŗĻ„ĻĪæĪ½Ī¹ĪŗĪæĻ Περιεχομένου (ECM) +MenuHandlers=Ī”Ī¹Ī±Ļ‡ĪµĪ¹ĻĪ¹ĻƒĻ„Ī­Ļ‚ Ī¼ĪµĪ½ĪæĻ MenuAdmin=Ī•Ļ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„Ī®Ļ‚ Ī¼ĪµĪ½ĪæĻ -DoNotUseInProduction=Do not use in production -ThisIsProcessToFollow=This is setup to process: +DoNotUseInProduction=ĪĪ± μην Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪµĪÆĻ„Ī±Ī¹ για παραγωγή +ThisIsProcessToFollow=Ī‘Ļ…Ļ„ĻŒ έχει ĻĻ…ĪøĪ¼Ī¹ĻƒĻ„ĪµĪÆ για να ĪŗĪ±Ļ„ĪµĻĪ³Ī±ĻƒĻ„ĪµĪÆ: StepNb=Βήμα %s -FindPackageFromWebSite=Find a package that provides feature you want (for example on official web site %s). +FindPackageFromWebSite=Βρείτε ένα πακέτο που να παρέχει την λειτουργία που επιθυμείτε (για παράΓειγμα ĻƒĻ„Īæ ĪµĻ€ĪÆĻƒĪ·Ī¼Īæ %s). DownloadPackageFromWebSite=ĪœĪµĻ„Ī±Ļ†ĻŒĻĻ„Ļ‰ĻƒĪ· πακέτου %s. UnpackPackageInDolibarrRoot=Ī‘Ļ€ĪæĻƒĻ…Ī¼Ļ€ĪÆĪµĻƒĪµ το αρχείο εκεί που Ī²ĻĪÆĻƒĪŗĪµĻ„Ī±Ī¹ Ī· ĪµĪ³ĪŗĪ±Ļ„Ī¬ĻƒĻ„Ī±ĻƒĪ· του Dolibarr %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. +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=Επιλογή Ī±ĻĪøĻĻŽĪ¼Ī±Ļ„ĪæĻ‚: +CurrentVersion=ΈκΓοση Dolibarr +CallUpdatePage=Πηγαίνετε ĻƒĻ„Ī·Ī½ σελίΓα που ĪµĪ½Ī·Ī¼ĪµĻĻŽĪ½ĪµĪ¹ την Γομή της Ī²Ī¬ĻƒĪ·Ļ‚ ΓεΓομένων και τα ΓεΓομένα: %s. LastStableVersion=Τελευταία ĻƒĻ„Ī±ĪøĪµĻĪ® έκΓοση UpdateServerOffline=Ο Ī“Ī¹Ī±ĪŗĪæĪ¼Ī¹ĻƒĻ„Ī®Ļ‚ ĪµĪ½Ī·Ī¼ĪµĻĻŽĻƒĪµĻ‰Ī½ είναι ĪµĪŗĻ„ĻŒĻ‚ ĻƒĻĪ½Ī“ĪµĻƒĪ·Ļ‚ -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). 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.
    +GenericMaskCodes=ĪœĻ€ĪæĻĪµĪÆĻ„Īµ να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ οποιαΓήποτε μάσκα Ī±ĻĪÆĪøĪ¼Ī·ĻƒĪ·Ļ‚. Σε αυτή τη μάσκα Ī¼Ļ€ĪæĻĪæĻĪ½ να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī·ĪøĪæĻĪ½ τις παρακάτω ετικέτες:
    Το {000000} Ī±Ī½Ļ„Ī¹ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆ σε έναν αριθμό που θα αυξάνεται σε κάθε %s. Ī•Ī¹ĻƒĪ¬Ī³ĪµĻ„Īµ όσα μηΓεν επιθυμείτε ως το ĪµĻ€Ī¹ĪøĻ…Ī¼Ī·Ļ„ĻŒ μέγεθος για τον μετρητή. Ο μετρητής θα ĻƒĻ…Ī¼Ļ€Ī»Ī·ĻĻ‰ĪøĪµĪÆ με μηΓενικά Ī±Ļ€ĻŒ τα Ī±ĻĪ¹ĻƒĻ„ĪµĻĪ¬ για να έχει όσα μηΓενικά υπάρχουν ĻƒĻ„Ī·Ī½ μάσκα.
    Ī— μάσκα {000000+000} είναι Ī· ίΓια ĻŒĻ€Ļ‰Ļ‚ προηγουμένως αλλά ένα Ī±Ī½Ļ„Ī¹ĻƒĻ„Ī¬ĪøĪ¼Ī¹ĻƒĪ¼Ī± που Ī±Ī½Ļ„Ī¹ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆ ĻƒĻ„ĪæĪ½ αριθμό ĻƒĻ„Ī± Γεξιά του + θα Ļ€ĻĪæĻƒĻ„ĪµĪøĪµĪÆ αρχίζοντας Ī±Ļ€ĻŒ το Ļ€ĻĻŽĻ„Īæ %s.
    Ī— μάσκα {000000@x} είναι Ī· ίΓια ĻŒĻ€Ļ‰Ļ‚ προηγουμένως αλλά Īæ μετρητής επανέρχεται ĻƒĻ„Īæ μηΓέν ĻŒĻ„Ī±Ī½ έρθει Īæ μήνας x (το x είναι Ī¼ĪµĻ„Ī±Ī¾Ļ του 1 και του 12). Αν αυτή Ī· επιλογή Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī·ĪøĪµĪÆ και το x είναι 2 Ī® Ī¼ĪµĪ³Ī±Ī»ĻĻ„ĪµĻĪæ, Ļ„ĻŒĻ„Īµ Ī· ακολουθία {yy}{mm} Ī® {yyyy}{mm} είναι ĪµĻ€ĪÆĻƒĪ·Ļ‚ απαιραίτητη.
    Ī— μάσκα {dd} ημέρα (01 έως 31).
    {mm} μήνας (01 έως 12).
    {yy}, {yyyy} Ī® {y} έτος με Ļ‡ĻĪ®ĻƒĪ· 2, 4 Ī® 1 Ī±ĻĪ¹ĪøĪ¼ĪæĻ.
    GenericMaskCodes2={cccc} Īæ ĪŗĻ‰Ī“Ī¹ĪŗĻŒĻ‚ πελάτη σε n χαρακτήρες
    {cccc000} Īæ ĪŗĻ‰Ī“Ī¹ĪŗĻŒĻ‚ πελάτη σε n χαρακτήρες ακολουθείται Ī±Ļ€ĻŒ ένα μετρητή αφιερωμένο για τον πελάτη. Ī‘Ļ…Ļ„ĻŒĻ‚ Īæ μετρητής ειναι αφιερωμένος ĻƒĻ„ĪæĪ½ πελάτη μηΓενίζεται Ļ„Ī±Ļ…Ļ„ĻŒĻ‡ĻĪæĪ½Ī± Ī±Ļ€ĻŒ την γενικό μετρητή.
    {tttt} Ο ĪŗĻ‰Ī“Ī¹ĪŗĻŒĻ‚ των Πελ./Προμ. σε n χαρακτήρες (βλέπε λεξικό-thirdparty types).
    -GenericMaskCodes3=All other characters in the mask will remain intact.
    Spaces are not allowed.
    +GenericMaskCodes3=Όλοι οι άλλοι χαρακτήρες ĻƒĻ„Ī·Ī½ μάσκα θα παραμείνουν ίΓιοι.
    Κενά Ī“Ī¹Ī±ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± Γεν επιτρέπονται.
    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}-ZZZ/{dd}/XXX will give 0199-ZZZ/31/XXX -GenericNumRefModelDesc=Return 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 +GenericMaskCodes4b=Το παράΓειγμα του τρίτου μέρους Γημιουργήθηκε ĻƒĻ„Ī¹Ļ‚ 2007-03-01:
    +GenericMaskCodes4c=Το παράΓειγμα Ļ€ĻĪæĻŠĻŒĪ½Ļ„ĪæĻ‚ Γημιουργήθηκε ĻƒĻ„Ī¹Ļ‚ 2007-03-01:
    +GenericMaskCodes5=Ī— μάσκα ABC{yy}{mm}-{000000} θα Ī“ĻŽĻƒĪµĪ¹ ABC0701-000099
    Ī— μάσκα{0000+100}-ZZZ/{dd}/XXX θα Ī“ĻŽĻƒĪµĪ¹ 0199-ZZZ/31/XXX +GenericNumRefModelDesc=Ī•Ļ€Ī¹ĻƒĻ„ĻĪ­Ļ†ĪµĪ¹ έναν Ļ€Ī±ĻĪ±Ī¼ĪµĻ„ĻĪæĻ€ĪæĪ¹Ī®ĻƒĪ·Ī¼Īæ αριθμό ĻƒĻĪ¼Ļ†Ļ‰Ī½Ī± με μία ορισμένη μάσκα. +ServerAvailableOnIPOrPort=Ο Ī“Ī¹Ī±ĪŗĪæĪ¼Ī¹ĻƒĻ„Ī®Ļ‚ είναι Γιαθέσιμο ĻƒĻ„Ī·Ī½ Ī“Ī¹ĪµĻĪøĻ…Ī½ĻƒĪ· %s ĻƒĻ„Ī·Ī½ ĪøĻĻĪ± %s +ServerNotAvailableOnIPOrPort=Ο Ī“Ī¹Ī±ĪŗĪæĪ¼Ī¹ĻƒĻ„Ī®Ļ‚ Γεν είναι Ī“Ī¹Ī±ĪøĪ­ĻƒĪ¹Ī¼ĪæĻ‚ ĻƒĻ„Ī·Ī½ Ī“Ī¹ĪµĻĪøĻ…Ī½ĻƒĪ· %s ĻƒĻ„Ī·Ī½ ĪøĻĻĪ± %s DoTestServerAvailability=ĪˆĪ»ĪµĪ³Ļ‡ĪæĻ‚ Ī“Ī¹Ī±ĻƒĻĪ½Ī“ĪµĻƒĪ·Ļ‚ server DoTestSend=Δοκιμή Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ DoTestSendHTML=Δοκιμή Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ HTML ErrorCantUseRazIfNoYearInMask=Σφάλμα, Γεν μπορείτε να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ την επιλογή @ για να Ī¼Ī·Ī“ĪµĪ½ĪÆĻƒĪµĻ„Īµ το μετρητή για κάθε έτος, εάν Ī· ακολουθία {yy} Ī® {yyyy} Γεν είναι μάσκα. -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. +ErrorCantUseRazInStartedYearIfNoYearMonthInMask=Δεν μπορείτε να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ την επιλογή @ αν Ī· ακολουθία {yy}{mm} Ī® {yyyy}{mm} Γεν είναι ĻƒĻ„Ī·Ī½ μάσκα. +UMask=Παράμετρος UMask για νέα αρχεία σε ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„Ī± αρχείων ĻƒĻ…ĻƒĻ„Ī·Ī¼Ī¬Ļ„Ļ‰Ī½ Unix/Linux/BSD/Mac. +UMaskExplanation=Αυτή Ī· παράμετρος ĻƒĪ±Ļ‚ επιτρέπει να ĪæĻĪÆĻƒĪµĻ„Īµ προεπιλεγμένα Ī“Ī¹ĪŗĪ±Ī¹ĻŽĪ¼Ī±Ļ„Ī± αρχείων για αρχεία που Γημιουργεί το Dolibarr ĻƒĻ„ĪæĪ½ Ī“Ī¹Ī±ĪŗĪæĪ¼Ī¹ĻƒĻ„Ī® (κατά την Γιάρκεια Ī¼ĪµĻ„Ī±Ļ†ĻŒĻĻ„Ļ‰ĻƒĪ·Ļ‚ Ļ€.χ.).
    Πρέπει να είναι οκταΓικής μορφής (για παράΓειγμα, 0666 σημαίνει εγγραφή και Ī±Ī½Ī¬Ī³Ī½Ļ‰ĻƒĪ· για ĻŒĪ»ĪæĻ…Ļ‚).
    Αυτή Ī· παράμετρος είναι Ī¬Ļ‡ĻĪ·ĻƒĻ„Ī· σε Ī“Ī¹Ī±ĪŗĪæĪ¼Ī¹ĻƒĻ„Ī­Ļ‚ Windows. +SeeWikiForAllTeam=Δίξτε μια ματία ĻƒĻ„Ī·Ī½ σελίΓα wiki για μια πλήρη Ī»ĪÆĻƒĻ„Ī± ĻŒĪ»Ļ‰Ī½ των actors και της ĪæĻĪ³Ī¬Ī½Ļ‰ĻƒĪ®Ļ‚ τους +UseACacheDelay= ĪšĪ±ĪøĻ…ĻƒĻ„Ī­ĻĪ·ĻƒĪ· για την Ļ„ĪæĻ€ĪæĪøĪ­Ļ„Ī·ĻƒĪ· Ī±Ļ€ĻŒĪŗĻĪ¹ĻƒĪ·Ļ‚ εξαγωγής ĻƒĻ„Ī·Ī½ Ļ€ĻĪæĻƒĻ‰ĻĪ¹Ī½Ī® μνήμη σε Ī“ĪµĻ…Ļ„ĪµĻĻŒĪ»ĪµĻ€Ļ„Ī± (0 Ī® άΓεια για μη Ļ‡ĻĪ®ĻƒĪ· Ļ€ĻĪæĻƒĻ‰ĻĪ¹Ī½Ī®Ļ‚ μνήμης) +DisableLinkToHelpCenter=Ī‘Ļ€ĪæĪŗĻĻĻˆĻ„Īµ τον ĻƒĻĪ½Ī“ĪµĻƒĪ¼Īæ "Ī‘Ī½Ī±Ī¶Ī·Ļ„Ī®ĻƒĻ„Īµ βοήθεια Ī® Ļ…Ļ€ĪæĻƒĻ„Ī®ĻĪ¹Ī¾Ī·" ĻƒĻ„Ī·Ī½ σελίΓα ĻƒĻĪ½Ī“ĪµĻƒĪ·Ļ‚ +DisableLinkToHelp=Ī‘Ļ€ĪæĪŗĻĻĻˆĻ„Īµ το ĻƒĻĪ½Ī“ĪµĻƒĪ¼Īæ "%s Online βοήθεια" ĻƒĻ„Īæ Ī±ĻĪ¹ĻƒĻ„ĪµĻĻŒ Ī¼ĪµĪ½ĪæĻ +AddCRIfTooLong=Δεν υπάρχει Ī±Ļ…Ļ„ĻŒĪ¼Ī±Ļ„Ī· Ī±Ī½Ī±Ī“ĪÆĻ€Ī»Ļ‰ĻƒĪ· κειμένου. Αν Ī· γραμμή ĻƒĪ±Ļ‚ ĻƒĪ±Ļ‚ Γεν χωράει ĻƒĻ„Ī·Ī½ σελίΓα των εγγράφων επειΓή είναι Ļ€ĪæĪ»Ļ μεγάλη, θα πρέπει να Ļ€ĻĪæĻƒĪøĪ­ĻƒĪµĻ„Īµ μόνοι ĻƒĪ±Ļ‚ χαρακτήρες αλλαγής γραμμής (carriage return) ĻƒĻ„Ī·Ī½ περιοχή κειμένου. ModuleDisabled=Απενεργοποιημένο Άρθρωμα -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...). +ModuleDisabledSoNoEvent=Το άρθρωμα είναι απενεργοποιημένο και Ī­Ļ„ĻƒĪ¹ Γεν έχει Γημιουργηθεί τέτοιο Ī³ĪµĪ³ĪæĪ½ĻŒĻ‚ +ConfirmPurge=Ī•ĪÆĻƒĻ„Īµ ĻƒĪÆĪ³ĪæĻ…ĻĪæĪ¹ πως θέλετε να ĪµĪŗĻ„ĪµĪ»Ī­ĻƒĪµĻ„Īµ αυτή τη Γιαγραφή;
    Ī‘Ļ…Ļ„ĻŒ θα Γιαγράψει όλα ĻƒĪ±Ļ‚ τα ΓεΓομένα με καμία Ī“Ļ…Ī½Ī±Ļ„ĻŒĻ„Ī·Ļ„Ī± Ī±Ī½Ī¬ĪŗĻ„Ī·ĻƒĪ·Ļ‚ (αρχεία ECM, ĻƒĻ…Ī½Ī·Ī¼Ī¼Ī­Ī½Ī± αρχεία...). MinLength=Ī•Ī»Ī¬Ļ‡Ī¹ĻƒĻ„Īæ μήκος -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: +LanguageFilesCachedIntoShmopSharedMemory=Τα αρχεία Ļ„ĻĻ€ĪæĻ… .lang έχουν φορτωθεί ĻƒĻ„Ī·Ī½ ĪŗĪæĪ¹Ī½ĻŒĻ‡ĻĪ·ĻƒĻ„Ī· μνήμη +ExamplesWithCurrentSetup=ΠαραΓείγματα με την τωρινή Ī“Ī¹Ī±Ī¼ĻŒĻĻ†Ļ‰ĻƒĪ· +ListOfDirectories=Ī›ĪÆĻƒĻ„Ī± φακέλων Ļ€ĻĪæĻ„ĻĻ€Ļ‰Ī½ OpenDocument +ListOfDirectoriesForModelGenODT=Ī›ĪÆĻƒĻ„Ī± φακέλων που περιέχουν αρχεία Ļ€ĻĪæĻ„ĻĻ€Ļ‰Ī½ Ļ„ĻĻ€ĪæĻ… OpenDocument.

    Ī¤ĪæĻ€ĪæĪøĪµĻ„ĪµĪÆĻƒĻ„Īµ ĪµĪ“ĻŽ ολόκληρη την ΓιαΓρομή των φακέλων.
    Ī•Ī¹ĻƒĪ¬Ī³ĪµĻ„Īµ ένα χαρακτήρα αλλαγής γραμμής ανάμεσα σε κάθε φάκελο.
    Για να Ļ€ĻĪæĻƒĪøĪ­ĻƒĪµĻ„Īµ ένα φάκελο του Ī±ĻĪøĻĻŽĪ¼Ī±Ļ„ĪæĻ‚ GED, Ļ€ĻĪæĻƒĪøĪ­ĻƒĻ„Īµ ĪµĪ“ĻŽ DOL_DATA_ROOT/ecm/yourdirectoryname.

    Τα αρχεία σε Ī±Ļ…Ļ„ĪæĻĻ‚ τους φακέλους πρέπει να έχουν την ĪµĻ€Ī­ĪŗĻ„Ī±ĻƒĪ· .odt. +NumberOfModelFilesFound=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ αρχείων Ļ€ĻĪæĻ„ĻĻ€Ļ‰Ī½ ODT/ODS που βρέθηκαν σε Ī±Ļ…Ļ„ĪæĻĻ‚ τους φακέλους +ExampleOfDirectoriesForModelGen=ΠαραΓείγματα ĻƒĻĪ½Ļ„Ī±Ī¾Ī·Ļ‚:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir +FollowingSubstitutionKeysCanBeUsed=
    Για να μάθετε πως να Ī“Ī·Ī¼Ī¹ĪæĻ…ĻĪ³Ī®ĻƒĪµĻ„Īµ τα Γικά ĻƒĪ±Ļ‚ αρχεία Ļ€ĻĪæĻ„ĻĻ€Ļ‰Ī½, πριν τα Ī±Ļ€ĪæĪøĪ·ĪŗĪµĻĻƒĪµĻ„Īµ σε Ī±Ļ…Ļ„ĪæĻĻ‚ τους φακέλους, Ī“Ī¹Ī±Ī²Ī¬ĻƒĻ„Īµ την Ļ„ĪµĪŗĪ¼Ī·ĻĪÆĻ‰ĻƒĪ· ĻƒĻ„Īæ wiki: FullListOnOnlineDocumentation=http://wiki.dolibarr.org/index.php/Create_an_ODT_document_template FirstnameNamePosition=Θέση ĪæĪ½ĻŒĪ¼Ī±Ļ„ĪæĻ‚/επιθέτου -DescWeather=The following pictures will be shown on dashboard when number of late actions reach the following values: +DescWeather=Οι παρακάτω ĪµĪ¹ĪŗĻŒĪ½ĪµĻ‚ θα ĪµĪ¼Ļ†Ī±Ī½Ī¹ĻƒĻ„ĪæĻĪ½ ĻƒĻ„Īæ Ļ„Ī±Ī¼Ļ€Ī»ĻŒ ĻŒĻ„Ī±Ī½ Īæ Ī±ĻĪ¹ĪøĪ¼ĻŒĻ‚ των τελευταίων ĪµĪ½ĪµĻĪ³ĪµĪ¹ĻŽĪ½ Ļ†Ļ„Ī¬ĻƒĪµĪ¹ τις παρακάτω τιμές: KeyForWebServicesAccess=Key to use Web Services (parameter "dolibarrkey" in webservices) -TestSubmitForm=Ī•ĪÆĻƒĪæĪ“ĪæĻ‚ μορφή Γοκιμή -ThisForceAlsoTheme=Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĻŽĪ½Ļ„Ī±Ļ‚ Ī±Ļ…Ļ„ĻŒ το Ī¼ĪµĪ½ĪæĻ Γιευθυντής θα Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĪ¹ ĪµĻ€ĪÆĻƒĪ·Ļ‚ το Γικό της θέμα ό, τι είναι επιλογή του Ļ‡ĻĪ®ĻƒĻ„Ī·. Ī•Ļ€ĪÆĻƒĪ·Ļ‚, Ī±Ļ…Ļ„ĻŒ το Ī¼ĪµĪ½ĪæĻ Γιευθυντής ĪµĪ¾ĪµĪ¹Ī“Ī¹ĪŗĪµĻĪµĻ„Ī±Ī¹ για τα smartphones Γεν λειτουργεί σε όλα τα smartphone. Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ κάποιον άλλο Ī“Ī¹Ī±Ļ‡ĪµĪ¹ĻĪ¹ĻƒĻ„Ī® Ī¼ĪµĪ½ĪæĻ αν αντιμετωπίζετε προβλήματα ĻƒĻ„Īæ Γικό ĻƒĪ±Ļ‚. -ThemeDir=Δέρματα κατάλογο -ConnectionTimeout=Connexion timeout -ResponseTimeout=Response timeout +TestSubmitForm=Φόρμα Γοκιμής ĪµĪ¹ĻƒĪ±Ī³Ļ‰Ī³Ī®Ļ‚ ΓεΓομένων +ThisForceAlsoTheme=Ī‘Ļ…Ļ„ĻŒĻ‚ Īæ τροποποιητής Ī¼ĪµĪ½ĪæĻ Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹ĪµĪÆ το Γικό του θέμα ĻŒĻ€ĪæĪ¹Īæ θέμα και να έχει επιλέξει Īæ Ļ‡ĻĪ®ĻƒĻ„Ī·Ļ‚. Ī•Ļ€ĪÆĻƒĪ·Ļ‚, Ī±Ļ…Ļ„ĻŒ το Ļ€ĻĻŒĪ³ĻĪ±Ī¼Ī¼Ī± Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ·Ļ‚ μενου που ĪµĪ¹Ī“Ī¹ĪŗĪµĻĪµĻ„ĪµĪ±Ī¹ ĻƒĻ„Ī¹Ļ‚ κινητές ĻƒĻ…ĻƒĪŗĪµĻ…Ī­Ļ‚ Γεν Ī“ĪæĻ…Ī»ĪµĻĪµĪ¹ σε όλα τα smartphone. Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ κάποιον άλλο Ī“Ī¹Ī±Ļ‡ĪµĪ¹ĻĪ¹ĻƒĻ„Ī® Ī¼ĪµĪ½ĪæĻ αν αντιμετωπίζετε προβλήματα ĻƒĻ„Īæ Γικό ĻƒĪ±Ļ‚. +ThemeDir=Φάκελος skins +ConnectionTimeout=Λήξη ĻƒĻĪ½Ī“ĪµĻƒĪ·Ļ‚ +ResponseTimeout=Λήξη Ļ‡ĻĻŒĪ½ĪæĻ… αναμονής Ī±Ļ€Ī¬Ī½Ļ„Ī·ĻƒĪ·Ļ‚ SmsTestMessage=Ī”ĪæĪŗĪ¹Ī¼Ī±ĻƒĻ„Ī¹ĪŗĻŒ μήνυμα Ī±Ļ€ĻŒ __PHONEFROM__ να __PHONETO__ ModuleMustBeEnabledFirst=%s Ī•Ī½ĻŒĻ„Ī·Ļ„Ī± πρέπει να είναι ενεργοποιημένα Ļ€ĻĻŽĻ„Ī· φορά πριν τη Ļ‡ĻĪ®ĻƒĪ· αυτής της Ī“Ļ…Ī½Ī±Ļ„ĻŒĻ„Ī·Ļ„Ī±Ļ‚. SecurityToken=Security Token -NoSmsEngine=Δεν Γιευθυντής Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± SMS Γιαθέσιμα. Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ī± SMS Γιευθυντής Γεν έχουν ĪµĪ³ĪŗĪ±Ļ„Ī±ĻƒĻ„Ī±ĪøĪµĪÆ με τη Γιανομή προεπιλογή (Ī“Ī¹ĻŒĻ„Ī¹ εξαρτάται Ī±Ļ€ĻŒ ĪµĪ¾Ļ‰Ļ„ĪµĻĪ¹ĪŗĪæĻĻ‚ προμηθευτές), αλλά μπορείτε να βρείτε κάποια ĻƒĻ‡ĪµĻ„Ī¹ĪŗĪ¬ http://www.dolistore.com +NoSmsEngine=Δεν υπάρχει Ļ€ĻĻŒĪ³ĻĪ±Ī¼Ī¼Ī± Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ SMS Γιαθέσιμο. Τα προγράμματα Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ SMS Γεν ĪµĪ³ĪŗĪ±ĪøĪÆĻƒĻ„Ī±Ī½Ļ„Ī±Ī¹ με την Γιανομή Ī±Ļ€ĻŒ προεπιλογή (επειΓή ĪµĪ¾Ī±ĻĻ„ĻŒĪ½Ļ„Ī±Ī¹ Ī±Ļ€ĻŒ ĪµĪ¾Ļ‰Ļ„ĪµĻĪ¹ĪŗĪæĻĻ‚ προμηθευτές) αλλά μπορείτε να βρείτε κάποια Γιαθέσιμα προγράμματα ĻƒĻ„Īæ %s PDF=PDF -PDFDesc=ĪœĻ€ĪæĻĪµĪÆĻ„Īµ να ĻĻ…ĪøĪ¼ĪÆĻƒĪµĻ„Īµ κάθε ĻƒĻ…Ī½ĪæĪ»Ī¹ĪŗĪ® επιλογές που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ με τη Γημιουργία PDF -PDFAddressForging=ĪšĪ±Ī½ĻŒĪ½ĪµĻ‚ για να Ī“Ī·Ī¼Ī¹ĪæĻ…ĻĪ³Ī®ĻƒĪæĻ…Ī½ ĪøĪ­ĻƒĪµĪ¹Ļ‚ Ī“Ī¹ĪµĻĪøĻ…Ī½ĻƒĪ· -HideAnyVATInformationOnPDF=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· ĻŒĪ»Ļ‰Ī½ των Ļ€Ī»Ī·ĻĪæĻ†ĪæĻĪ¹ĻŽĪ½ που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ με τον ΦΠΑ επί Ī“Ī·Ī¼Ī¹ĪæĻ…ĻĪ³ĪæĻĪ½Ļ„Ī±Ī¹ μορφή 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=Παράμετροι για την ĪµĪ¾Ī±ĻƒĻ†Ī¬Ī»Ī¹ĻƒĪ· Ī“Ī¹ĪµĻ…ĪøĻĪ½ĻƒĪµĪ¹Ļ‚ URL +PDFDesc=ĪœĻ€ĪæĻĪµĪÆĻ„Īµ να ĻĻ…ĪøĪ¼ĪÆĻƒĪµĻ„Īµ κάθε κεντρική επιλογή που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪµĻ„Ī±Ī¹ με τη Γημιουργία PDF +PDFAddressForging=ĪšĪ±Ī½ĻŒĪ½ĪµĻ‚ για να Ī“Ī·Ī¼Ī¹ĪæĻ…ĻĪ³Ī·ĪøĪæĻĪ½ Ī“Ī¹ĪµĻ…ĪøĻĪ½ĻƒĪµĪ¹Ļ‚ +HideAnyVATInformationOnPDF=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· ĻŒĪ»Ļ‰Ī½ των Ļ€Ī»Ī·ĻĪæĻ†ĪæĻĪ¹ĻŽĪ½ που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ με τον ΦΠΑ ĻƒĻ„Ī± Γημιουργηθέντα PDF +HideDescOnPDF=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· Ļ€ĪµĻĪ¹Ī³ĻĪ±Ļ†ĻŽĪ½ Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ ĻƒĻ„Ī± Γημιουργηθέντα PDF +HideRefOnPDF=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· αναφοράς Ļ€ĻĪæĻŠĻŒĪ½Ļ„ĪæĻ‚ ĻƒĻ„Ī± Γημιουργηθέντα PDF +HideDetailsOnPDF=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· Ī»ĪµĻ€Ļ„ĪæĪ¼ĪµĻĪ¹ĻŽĪ½ Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ ĻƒĻ„Ī± Γημιουργηθέντα PDF +Library=Βιβλιοθήκη +UrlGenerationParameters=Παράμετροι για Γημιουργία Ī±ĻƒĻ†Ī±Ī»ĻŽĪ½ URL SecurityTokenIsUnique=Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĻ„Īµ μια μοναΓική παράμετρο securekey για κάθε Ī“Ī¹ĪµĻĪøĻ…Ī½ĻƒĪ· URL EnterRefToBuildUrl=Ī•Ī¹ĻƒĪ¬Ī³ĪµĻ„Īµ αναφοράς για %s αντικείμενο -GetSecuredUrl=Πάρτε υπολογίζεται 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 +GetSecuredUrl=Πάρτε Ļ…Ļ€ĪæĪ»ĪæĪ³Ī¹Ī¶ĻŒĪ¼ĪµĪ½Īæ URL +ButtonHideUnauthorized=Ī‘Ļ€ĻŒĪŗĻĻ…ĻˆĪ· ĪŗĪæĻ…Ī¼Ļ€Ī¹ĻŽĪ½ για μη επιτρεπτές ενέργειες αντί να φαίνονται απενεργοποιημένα κουμπιά +OldVATRates=Ī Ī±Ī»Ī¹ĻŒĻ‚ ĻƒĻ…Ī½Ļ„ĪµĪ»ĪµĻƒĻ„Ī®Ļ‚ ΦΠΑ +NewVATRates=ĪĪ­ĪæĻ‚ ĻƒĻ…Ī½Ļ„ĪµĪ»ĪµĻƒĻ„Ī®Ļ‚ ΦΠΑ +PriceBaseTypeToChange=Ī¤ĻĪæĻ€ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Ļ„Ī¹Ī¼ĻŽĪ½ με βάση την τιμή αναφοράς ĻŒĻ€Ļ‰Ļ‚ ĻĻ…ĪøĪ¼ĪÆĻƒĻ„Ī·ĪŗĪµ ĻƒĻ„Īæ +MassConvert=Έναρξη μαζικής μεταβολής String=String TextLong=Long text Int=Integer Float=Float -DateAndTime=Date and hour -Unique=Unique +DateAndTime=Ημερομηνία και ĻŽĻĪ± +Unique=ΜοναΓικό Boolean=Boolean (Checkbox) -ExtrafieldPhone = Phone -ExtrafieldPrice = Price +ExtrafieldPhone = Τηλέφωνο +ExtrafieldPrice = Τιμή ExtrafieldMail = Email -ExtrafieldSelect = Select list -ExtrafieldSelectList = Select from table -ExtrafieldSeparator=Separator +ExtrafieldSelect = Επιλογή Ī±Ļ€ĻŒ Ī»ĪÆĻƒĻ„Ī± +ExtrafieldSelectList = Επιλογή Ī±Ļ€ĻŒ πίνακα +ExtrafieldSeparator=Ī”Ī¹Ī±Ļ‡Ļ‰ĻĪ¹ĻƒĻ„Ī¹ĪŗĻŒ ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio button ExtrafieldCheckBoxFromList= Πλαίσιο ελέγχου Ī±Ļ€ĻŒ τον πίνακα @@ -389,16 +394,16 @@ ExtrafieldParamHelpcheckbox=Ī— Ī»ĪÆĻƒĻ„Ī± παραμέτρων θα πρέπει ExtrafieldParamHelpradio=Ī— Ī»ĪÆĻƒĻ„Ī± παραμέτρων θα πρέπει να είναι σαν το κλειΓί,value

    για παράΓειγμα :
    1,value1
    2,value2
    3,value3
    ... ExtrafieldParamHelpsellist=Ī›ĪÆĻƒĻ„Ī± Παραμέτρων που προέρχεται Ī±Ļ€ĻŒ έναν πίνακα
    ĻƒĻĪ½Ļ„Ī±Ī¾Ī· : 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 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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + localtax) +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=Σε κάποιες Ļ‡ĻŽĻĪµĻ‚ επιβάλλονται 2 Ī® 3 Ļ†ĻŒĻĪæĪ¹ σε κάθε γραμμή τιμολογίου. Αν Ī¹ĻƒĻ‡ĻĪµĪ¹ Ī±Ļ…Ļ„ĻŒ ĻƒĻ„Ī·Ī½ Ļ€ĪµĻĪÆĻ€Ļ„Ļ‰ĻƒĪ® ĻƒĪ±Ļ‚, επιλέξτε Ļ„ĻĻ€Īæ για τον Ī“ĪµĻĻ„ĪµĻĪæ και τον τρίτο Ļ†ĻŒĻĪæ ĻŒĻ€Ļ‰Ļ‚ ĪµĻ€ĪÆĻƒĪ·Ļ‚ και το Ļ€ĪæĻƒĪæĻƒĻ„ĻŒ του. Πιθανοί Ļ„ĻĻ€ĪæĪ¹ είναι:
    1 : local tax apply on products and services without vat (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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) +LinkToTestClickToDial=Ī•Ī¹ĻƒĪ¬Ī³ĪµĻ„Īµ έναν Ļ„Ī·Ī»ĪµĻ†Ļ‰Ī½Ī¹ĪŗĻŒ αριθμό για να Γημιουργηθεί ένας ĻƒĻĪ½Ī“ĪµĻƒĪ¼ĪæĻ‚ που θα ĻƒĪ±Ļ‚ επιτρέπει να κάνετε κλήση με το ClickToDial για τον Ļ‡ĻĪ®ĻƒĻ„Ī· %s +RefreshPhoneLink=Ī‘Ī½Ī±Ī½Ī­Ļ‰ĻƒĪ· ĻƒĻ…Ī½Ī“Ī­ĻƒĪ¼ĪæĻ… +LinkToTest=Σημιουργήθηκε ĻƒĻĪ½Ī“ĪµĻƒĪ¼ĪæĻ‚ για τον Ļ‡ĻĪ®ĻƒĻ„Ī· %s (κάντε κλικ ĻƒĻ„ĪæĪ½ αριθμό Ļ„Ī·Ī»ĪµĻ†ĻŽĪ½ĪæĻ… για να τον Ī“ĪæĪŗĪ¹Ī¼Ī¬ĻƒĪµĻ„Īµ) +KeepEmptyToUseDefault=Ī‘Ļ†Ī®ĻƒĻ„Īµ κενό για να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ„Īµ την προεπιλεγμένη τιμή +DefaultLink=Προεπιλεγμένος ĻƒĻĪ½Ī“ĪµĻƒĪ¼ĪæĻ‚ +ValueOverwrittenByUserSetup=Ī ĻĪæĻƒĪæĻ‡Ī®, αυτή Ī· τιμή μπορεί να Ī±Ī½Ļ„Ī¹ĪŗĪ±Ļ„Ī±ĻƒĻ„Ī±ĪøĪµĪÆ Ī±Ļ€ĻŒ επιλογή του Ļ‡ĻĪ®ĻƒĻ„Ī· (Īæ κάθε Ļ‡ĻĪ®ĻƒĻ„Ī·Ļ‚ μπορεί να κάνει τον Γικό του ĻƒĻĪ½Ī“ĪµĻƒĪ¼Īæ clicktodial) ExternalModule=Ī•Ī¾Ļ‰Ļ„ĪµĻĪ¹ĪŗĻŒ module - Ī•Ī³ĪŗĪ±Ļ„ĪµĻƒĻ„Ī·Ī¼Ī­Ī½Īæ ĻƒĻ„ĪæĪ½ φάκελο %s BarcodeInitForThirdparties=ĪŒĪ³ĪŗĪæĻ‚ barcode init για Ī Ī­Ī»./Πρόμ. BarcodeInitForProductsOrServices=ĪŒĪ³ĪŗĪæĻ‚ barcode init Ī® επαναφορά για Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ī± Ī® Ļ…Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚ @@ -414,77 +419,77 @@ NoRecordWithoutBarcodeDefined=Δεν υπάρχει εγγραφή χωρίς Īæ Module0Name=Ī§ĻĪ®ĻƒĻ„ĪµĻ‚ & ĪŸĪ¼Ī¬Ī“ĪµĻ‚ Module0Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ‡ĻĪ·ĻƒĻ„ĻŽĪ½ και ομάΓων Module1Name=Στοιχεία -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. +Module1Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĪµĻ„Ī±Ī¹ĻĪµĪ¹ĻŽĪ½ και ĪµĻ€Ī±Ļ†ĻŽĪ½ (πελάτες, πιθανοί πελάτες...) +Module2Name=Ī•Ī¼Ļ€ĪæĻĪ¹ĪŗĻŒ +Module2Desc=Εμπορική Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· +Module10Name=Ī›ĪæĪ³Ī¹ĻƒĻ„Ī¹ĪŗĪ® +Module10Desc=Απλές αναφορές Ī»ĪæĪ³Ī¹ĻƒĻ„Ī¹ĪŗĪ®Ļ‚ (journals, turnover) βασισμένα ĻƒĻ„Ī± Ļ€ĪµĻĪ¹ĪæĻ‡ĻŒĪ¼ĪµĪ½Ī± της Ī²Ī¬ĻƒĪ·Ļ‚ ΓεΓομένων. Χωρίς Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ļ‚. Module20Name=Ī ĻĪæĻ„Ī¬ĻƒĪµĪ¹Ļ‚ -Module20Desc=Commercial proposal management -Module22Name=Mass E-mailings -Module22Desc=Mass E-mailing management -Module23Name= Energy -Module23Desc= Monitoring the consumption of energies +Module20Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĪµĪ¼Ļ€ĪæĻĪ¹ĪŗĻŽĪ½ Ļ€ĻĪæĻ„Ī¬ĻƒĪµĻ‰Ī½ +Module22Name=Μαζική Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® e-mail +Module22Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· μαζικής Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ e-mail +Module23Name= Ενέργεια +Module23Desc= Ī Ī±ĻĪ±ĪŗĪæĪ»ĪæĻĪøĪ·ĻƒĪ· ĪŗĪ±Ļ„Ī±Ī½Ī¬Ī»Ļ‰ĻƒĪ·Ļ‚ ενέργειας Module25Name=Παραγγελίες πελάτη -Module25Desc=Customer order management +Module25Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ Ļ€ĪµĪ»Ī±Ļ„ĻŽĪ½ Module30Name=Τιμολόγια Module30Desc=Τιμολόγιο και Ļ€Ī¹ĻƒĻ„Ļ‰Ļ„Ī¹ĪŗĻŒ Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ·Ļ‚ για τους πελάτες. Τιμολόγιο Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ·Ļ‚ για τους προμηθευτές Module40Name=Προμηθευτές -Module40Desc=Supplier management and buying (orders and invoices) +Module40Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ€ĻĪæĪ¼Ī·ĪøĪµĻ…Ļ„ĻŽĪ½ και Ļ€Ī±ĻĪ±ĻƒĻ„Ī±Ļ„Ī¹ĪŗĪ¬ αγοράς (παραγγελίες και Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Ī±) Module42Name=Logs Module42Desc=Logging facilities (file, syslog, ...) -Module49Name=Ī•Ļ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„Ī­Ļ‚ -Module49Desc=Editor management +Module49Name=Ī•Ļ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„Ī­Ļ‚ κειμένου +Module49Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĪµĻ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„ĻŽĪ½ κειμένου Module50Name=Ī ĻĪæĻŠĻŒĪ½Ļ„Ī± -Module50Desc=Product management -Module51Name=Mass mailings -Module51Desc=Mass paper mailing management -Module52Name=Αποθήκες -Module52Desc=Stock's management of products +Module50Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ +Module51Name=ĪœĪ±Ī¶Ī¹ĪŗĪ­Ļ‚ Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ļ‚ ĪµĻ€Ī¹ĻƒĻ„ĪæĪ»ĻŽĪ½ +Module51Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī¼Ī±Ī¶Ī¹ĪŗĻŽĪ½ Ī±Ļ€ĪæĻƒĻ„ĪæĪ»ĻŽĪ½ ĪµĻ€Ī¹ĻƒĻ„ĪæĪ»ĻŽĪ½ +Module52Name=Αποθέματα +Module52Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· αποθεμάτων (Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½) Module53Name=Ī„Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚ -Module53Desc=Service management +Module53Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ…Ļ€Ī·ĻĪµĻƒĪ¹ĻŽĪ½ Module54Name=Ī£Ļ…Ī¼Ī²Ī¬ĻƒĪµĪ¹Ļ‚/ΣυνΓρομές Module54Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĻƒĻ…Ī¼Ī²ĪæĪ»Ī±ĪÆĻ‰Ī½ (Ļ…Ļ€Ī·ĻĪµĻƒĪ¹ĻŽĪ½ Ī® Ī±Ī½Ī±Ī½ĪµĻŽĻƒĪ¹Ī¼Ļ‰Ī½ ĻƒĻ…Ī½Ī“ĻĪæĪ¼ĻŽĪ½) Module55Name=Barcodes -Module55Desc=Barcode management +Module55Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· barcode Module56Name=Τηλεφωνία Module56Desc=Telephony integration -Module57Name=Standing orders +Module57Name=Πάγιες εντολές Module57Desc=Πάγιες εντολές και Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī±Ļ€ĻŒĻƒĻ…ĻĻƒĪ·Ļ‚. Ī•Ļ€ĪÆĻƒĪ·Ļ‚, περιλαμβάνει την παραγωγή του αρχείου SEPA για τις ĪµĻ…ĻĻ‰Ļ€Ī±ĻŠĪŗĪ­Ļ‚ Ļ‡ĻŽĻĪµĻ‚. Module58Name=ClickToDial -Module58Desc=Integration of a ClickToDial system (Asterisk, ...) +Module58Desc=Ī•Ī½ĪæĻ€ĪæĪÆĪ·ĻƒĪ· ĪµĪ½ĻŒĻ‚ ĻƒĻ…ĻƒĻ„Ī®Ī¼Ī±Ļ„ĪæĻ‚ ClickToDial (Asterisk, ...) Module59Name=Bookmark4u -Module59Desc=Add function to generate Bookmark4u account from a Dolibarr account +Module59Desc=Προσθήκη λειτουργίας για την Γημιουργία Ī»ĪæĪ³Ī±ĻĪ¹Ī±ĻƒĪ¼ĪæĻ Bookmark4u Ī±Ļ€ĻŒ ένα λογαριασμό Dolibarr 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 +Module75Name=Ī£Ī·Ī¼ĪµĪ¹ĻŽĻƒĪµĪ¹Ļ‚ ĪµĪ¾ĻŒĪ“Ļ‰Ī½ και Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ +Module75Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĻƒĪ·Ī¼ĪµĪ¹ĻŽĻƒĪµĻ‰Ī½ ĪµĪ¾ĻŒĪ“Ļ‰Ī½ και Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ +Module80Name=Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ļ‚ +Module80Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī±Ļ€ĪæĻƒĻ„ĪæĪ»ĻŽĪ½ και ĪµĪ½Ļ„ĪæĪ»ĻŽĪ½ Ļ€Ī±ĻĪ¬Ī“ĪæĻƒĪ·Ļ‚ +Module85Name=Τράπεζες και μετρητά +Module85Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ļ„ĻĪ±Ļ€ĪµĪ¶Ī¹ĪŗĻŽĪ½ και Ī»ĪæĪ³Ī±ĻĪ¹Ī±ĻƒĪ¼ĻŽĪ½ Ī¼ĪµĻ„ĻĪ·Ļ„ĻŽĪ½ +Module100Name=Εξωτερική Ī¹ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± +Module100Desc=Ī‘Ļ…Ļ„ĻŒ το άρθρωμα περιέχει μία εξωτερική Ī¹ĻƒĻ„ĪæĻƒĪµĪ»ĪÆĪ“Ī± Ī® site μέσα Ī±Ļ€ĻŒ το Ī¼ĪµĪ½ĪæĻ του Dolibarr για να προβληθεί Ī¼Ī­ĻƒĻ‰ ĪµĪ½ĻŒĻ‚ Ļ€Ī±ĻĪ±ĪøĻĻĪæĻ… Dolibarr Module105Name=Mailman και SIP Module105Desc=Mailman Ī® SPIP Γιεπαφή για ĪµĪ½ĻŒĻ„Ī·Ļ„Ī± μέλος Module200Name=LDAP -Module200Desc=LDAP directory synchronisation +Module200Desc=Ī£Ļ…Ī³Ļ‡ĻĪæĪ½Ī¹ĻƒĪ¼ĻŒĻ‚ LDAP directory 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) +Module210Desc=Διεπαφή PostNuke +Module240Name=Εξαγωγές ΓεΓομένων +Module240Desc=Εργαλείο για την εξαγωγή ΓεΓομέων του Dolibarr (με Ī²ĪæĪ·ĪøĪæĻĻ‚) +Module250Name=Ī•Ī¹ĻƒĪ±Ī³Ļ‰Ī³Ī­Ļ‚ ΓεΓομένων +Module250Desc=Εργαλείο για την ĪµĪ¹ĻƒĪ±Ī³Ļ‰Ī³Ī® ΓεΓομένω ĻƒĻ„Īæ Dolibarr (με Ī²ĪæĪ·ĪøĪæĻĻ‚) Module310Name=Μέλη -Module310Desc=Foundation members management +Module310Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· Ī¼ĪµĪ»ĻŽĪ½ ĪæĻĪ³Ī±Ī½Ī¹ĻƒĪ¼ĪæĻ Module320Name=RSS Feed -Module320Desc=Add RSS feed inside Dolibarr screen pages +Module320Desc=Ī•Ī¹ĻƒĪ±Ī³Ļ‰Ī³Ī® RSS feed ĪµĪ½Ļ„ĻŒĻ‚ των ĻƒĪµĪ»ĪÆĪ“Ļ‰Ī½ του Dolibarr Module330Name=ΣελιΓοΓείκτες -Module330Desc=Bookmark management +Module330Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· ĻƒĪµĪ»Ī¹Ī“ĪæĪ“ĪµĪ¹ĪŗĻ„ĻŽĪ½ Module400Name=Έργα/Ευκαιρίες/Leads Module400Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· έργων, ευκαιρίες Ī® leads. Στη ĻƒĻ…Ī½Ī­Ļ‡ĪµĪ¹Ī± μπορείτε να ĪæĻĪÆĻƒĪµĻ„Īµ οποιοΓήποτε ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆĪæ (Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ, παραγγελία, Ļ€ĻĪæĻƒĻ†ĪæĻĪ¬, Ļ€Ī±ĻĪ­Ī¼Ī²Ī±ĻƒĪ·, ...) σε ένα έργο και να πάρετε μια εγκάρσια όψη Ī±Ļ€ĻŒ την προβολή του έργου. -Module410Name=Webcalendar -Module410Desc=Webcalendar integration +Module410Name=Ī—Ī¼ĪµĻĪæĪ»ĻŒĪ³Ī¹Īæ Ī¹ĻƒĻ„ĪæĻ +Module410Desc=Διεπαφή ημερολογίου Ī¹ĻƒĻ„ĪæĻ Module500Name=ΕιΓικά έξοΓα (Ļ†ĻŒĻĪæĪ¹, ĪµĪ¹ĻƒĻ†ĪæĻĪ­Ļ‚ κοινωνικής Ī±ĻƒĻ†Ī¬Ī»Ī¹ĻƒĪ·Ļ‚, Ī¼ĪµĻĪÆĻƒĪ¼Ī±Ļ„Ī±) Module500Desc=Ī”Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· των ĪµĪ¹Ī“Ī¹ĪŗĻŽĪ½ Ī“Ī±Ļ€Ī±Ī½ĻŽĪ½, ĻŒĻ€Ļ‰Ļ‚ οι Ļ†ĻŒĻĪæĪ¹, κοινωνικές ĪµĪ¹ĻƒĻ†ĪæĻĪ­Ļ‚, Ī¼ĪµĻĪÆĻƒĪ¼Ī±Ļ„Ī± και Ī¼Ī¹ĻƒĪøĪæĻĻ‚ Module510Name=Μισθοί @@ -493,10 +498,16 @@ Module600Name=Notifications Module600Desc=Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī® ĪµĪ¹Ī“ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ‰Ī½ Ī¼Ī­ĻƒĻ‰ Ī·Ī»ĪµĪŗĻ„ĻĪæĪ½Ī¹ĪŗĪæĻ ταχυΓρομείου ĻƒĻ‡ĪµĻ„Ī¹ĪŗĪ¬ με ĪæĻĪ¹ĻƒĪ¼Ī­Ī½ĪµĻ‚ Dolibarr επαγγελματικές ĻƒĻ…Ī½Ī±Ī½Ļ„Ī®ĻƒĪµĪ¹Ļ‚ σε Πελ./Προμ. (Ī· ĻĻĪøĪ¼Ī¹ĻƒĪ· ορίζεται Ī±Ļ€ĻŒ κάθε Πελ./Προμ.) Module700Name=Δωρεές 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=ĪšĪ±Ļ„Ī·Ī³ĪæĻĪÆĪµĻ‚ Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,13 @@ Permission538=Export services Permission701=Read donations Permission702=Δημιουργία / Ļ„ĻĪæĻ€ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Γωρεές Permission703=Διαγραφή Γωρεές +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=Ī”Ī¹Ī±Ī²Ī¬ĻƒĻ„Īµ τα αποθέματα Permission1002=Δημιουργία/Ļ„ĻĪæĻ€ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Ī±Ļ€ĪæĪøĪ·ĪŗĻŽĪ½ Permission1003=Διαγραφή Ī±Ļ€ĪæĪøĪ·ĪŗĻŽĪ½ @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚ Ļ€ĻĻŒĻƒĪ²Ī±ĻƒĪ·Ļ‚ για να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€Īæ DefineHereComplementaryAttributes=ĪŸĻĪÆĻƒĻ„Īµ ĪµĪ“ĻŽ όλα τα Ļ‡Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĪ¬, Γεν είναι ήΓη Γιαθέσιμη Ī±Ļ€ĻŒ προεπιλογή, και ĻŒĻ„Ī¹ θέλετε να Ļ…Ļ€ĪæĻƒĻ„Ī·ĻĪ¹Ļ‡ĪøĪæĻĪ½ για %s. ExtraFields=Συμπληρωματικά Ļ‡Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĪ¬ ExtraFieldsLines=Συμπληρωματικά Ļ‡Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĪ¬ (ĻƒĪµĪ¹ĻĪ­Ļ‚) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Complementary attributes (thirdparty) ExtraFieldsContacts=Complementary attributes (contact/address) ExtraFieldsMember=Complementary attributes (member) @@ -1152,6 +1172,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=Ī”Ļ‰Ļ„Ī®ĻƒĻ„Īµ για τον Ļ„ĻĪ±Ļ€ĪµĪ¶Ī¹ĪŗĻŒ λογαριασμό Ļ€ĻĪæĪæĻĪ¹ĻƒĪ¼ĪæĻ της Ļ€ĻĪæĻƒĻ†ĪæĻĪ¬Ļ‚ +##### 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 @@ -1383,7 +1410,7 @@ 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) +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 ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Προεπιλογή Ī³ĪµĪ½Ī¹ĪŗĻŒĻ‚ Πελ./Προμ. 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=Ī‘Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Ī¼ĪµĪÆĻ‰ĻƒĪ· των αποθεμάτων ĻŒĻ„Ī±Ī½ Ī· Ļ€ĻŽĪ»Ī·ĻƒĪ· γίνεται Ī±Ļ€ĻŒ 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=Ī‘Ī½Ī±Ī³ĪŗĪ±ĻƒĻ„Ī¹ĪŗĻŒĻ‚ Ļ€ĪµĻĪ¹ĪæĻĪ¹ĻƒĪ¼ĻŒĻ‚ αποθήκης για Ī¼ĪµĪÆĻ‰ĻƒĪ· των αποθεμάτων StockDecreaseForPointOfSaleDisabled=ĪœĪµĪÆĻ‰ĻƒĪ· αποθέματος Ī±Ļ€ĻŒ Point Of Sale απενεργοποιημένο +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Δεν έχετε Ī±Ļ€ĪµĪ½ĪµĻĪ³ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĪ¹ Ī¼ĪµĪÆĻ‰ĻƒĪ· των αποθεμάτων κατά την Ļ€ĻĪ±Ī³Ī¼Ī±Ļ„ĪæĻ€ĪæĪÆĪ·ĻƒĪ· μιας Ļ€ĻŽĪ»Ī·ĻƒĪ·Ļ‚ Ī±Ļ€ĻŒ το σημείο Ļ€ĻŽĪ»Ī·ĻƒĪ·Ļ‚ "POS". Μια αποθήκη είναι απαραίτητη. ##### Bookmark ##### BookmarkSetup=Bookmark module setup @@ -1569,3 +1597,7 @@ SortOrder=Σειρά Ļ„Ī±Ī¾Ī¹Ī½ĻŒĪ¼Ī·ĻƒĪ·Ļ‚ Format=ĪœĪæĻĻ†Ī® TypePaymentDesc=0:Ī¤ĻĻ€ĪæĻ‚ πληρωμής πελάτη, 1:Ī¤ĻĻ€ĪæĻ‚ πληρωμής προμηθευτή, 2:Ī¤ĻĻ€ĪæĻ‚ πληρωμής Ļ„ĻŒĻƒĪæ για τους πελάτες όσο και για τους προμηθευτές 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. diff --git a/htdocs/langs/el_GR/banks.lang b/htdocs/langs/el_GR/banks.lang index c6960fe94cd..7c143b155f1 100644 --- a/htdocs/langs/el_GR/banks.lang +++ b/htdocs/langs/el_GR/banks.lang @@ -33,7 +33,11 @@ AllTime=Ī‘Ļ€ĻŒ την αρχή Reconciliation=Ī ĻĪ±Ī³Ī¼Ī±Ļ„ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Ī£Ļ…Ī½Ī±Ī»Ī»Ī±Ī³ĻŽĪ½ RIB=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ Τραπ. Ī›ĪæĪ³Ī±ĻĪ¹Ī±ĻƒĪ¼ĪæĻ IBAN=IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ BIC/SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Πάγιες εντολές StandingOrder=Πάγια εντολή Withdrawals=Ī‘Ī½Ī±Ī»Ī®ĻˆĪµĪ¹Ļ‚ @@ -148,7 +152,7 @@ BackToAccount=Ī•Ļ€Ī¹ĻƒĻ„ĻĪæĻ†Ī® ĻƒĻ„ĪæĪ½ λογαριασμό ShowAllAccounts=Ī•Ī¼Ļ†Ī¬Ī½Ī¹ĻƒĪ· ĪŒĪ»Ļ‰Ī½ των Ī›ĪæĪ³Ī±ĻĪ¹Ī±ĻƒĪ¼ĻŽĪ½ FutureTransaction=Συναλλαγή ĻƒĻ„Īæ μέλλον. Δεν υπάρχει Ļ„ĻĻŒĻ€ĪæĻ‚ ĻƒĻ…Ī¼Ī²Ī¹Ī²Ī±ĻƒĪ¼ĪæĻ. SelectChequeTransactionAndGenerate=Επιλέξτε/φίλτρο ελέγχου για να ĻƒĻ…Ī¼Ļ€ĪµĻĪ¹Ī»Ī·Ļ†ĪøĪµĪÆ ĻƒĻ„Ī·Ī½ Ī±Ļ€ĻŒĪ“ĪµĪ¹Ī¾Ī· ĪŗĪ±Ļ„Ī¬ĪøĪµĻƒĪ·Ļ‚ και κάντε κλικ ĻƒĻ„Īæ "Δημιουργία". -InputReceiptNumber=Επιλέξτε την ĪŗĪ±Ļ„Ī¬ĻƒĻ„Ī±ĻƒĪ· των Ļ„ĻĪ±Ļ€ĪµĪ¶ĻŽĪ½ που ĻƒĻ…Ī½Ī“Ī­ĪæĪ½Ļ„Ī±Ī¹ με τη ΓιαΓικασία ĻƒĻ…Ī½Ī“Ī¹Ī±Ī»Ī»Ī±Ī³Ī®Ļ‚. Ī§ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī®ĻƒĻ„Īµ μια ĻƒĻĪ½Ļ„ĪæĪ¼Ī· αριθμητική τιμή (ĻŒĻ€Ļ‰Ļ‚, YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Τέλος, ĪŗĪ±ĪøĪæĻĪÆĻƒĻ„Īµ μια κατηγορία ĻƒĻ„Ī·Ī½ οποία θα Ļ„Ī±Ī¾Ī¹Ī½ĪæĪ¼Ī·ĪøĪæĻĪ½ οι εγγραφές ToConciliate=ĪĪ± ĻƒĻ…Ī¼Ī²Ī¹Ī²Ī¬ĻƒĪµĪ¹; ThenCheckLinesAndConciliate=Στη ĻƒĻ…Ī½Ī­Ļ‡ĪµĪ¹Ī±, ελέγξτε τις γραμμές που υπάρχουν ĻƒĻ„Īæ αντίγραφο ĪŗĪÆĪ½Ī·ĻƒĪ·Ļ‚ του Ļ„ĻĪ±Ļ€ĪµĪ¶Ī¹ĪŗĪæĻ Ī»ĪæĪ³Ī±ĻĪ¹Ī±ĻƒĪ¼ĪæĻ και κάντε κλικ diff --git a/htdocs/langs/el_GR/bills.lang b/htdocs/langs/el_GR/bills.lang index 597c71d53e7..b7981cb6906 100644 --- a/htdocs/langs/el_GR/bills.lang +++ b/htdocs/langs/el_GR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Ī™ĻƒĻ„ĪæĻĪ¹ĪŗĻŒ Ī Ī»Ī·ĻĻ‰Ī¼ĻŽĪ½ PaymentsBackAlreadyDone=Payments back already done PaymentRule=ĪšĪ±Ī½ĻŒĪ½Ī±Ļ‚ Πληρωμής PaymentMode=Ī¤ĻĻŒĻ€ĪæĻ‚ Πληρωμής -PaymentConditions=Συνθήκη Πληρωμής -PaymentConditionsShort=Συνθήκες Πληρωμής +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Ī£ĻĪ½ĪæĪ»Īæ πληρωμής ValidatePayment=Ī•Ļ€Ī¹ĪŗĻĻĻ‰ĻƒĪ· πληρωμής PaymentHigherThanReminderToPay=Ī— πληρωμή είναι Ī¼ĪµĪ³Ī±Ī»ĻĻ„ĪµĻĪ· Ī±Ļ€ĻŒ το Ļ…Ļ€ĻŒĪ»ĪæĪ¹Ļ€Īæ diff --git a/htdocs/langs/el_GR/commercial.lang b/htdocs/langs/el_GR/commercial.lang index 605097a3a19..114c0169055 100644 --- a/htdocs/langs/el_GR/commercial.lang +++ b/htdocs/langs/el_GR/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Ī— επικοινωνία έγινε DateActionPlanned=Ημερ. Ļ€ĻĪæĪ³ĻĪ±Ī¼Ī¼Ī±Ļ„Ī¹ĻƒĪ¼ĪæĻ DateActionDone=Ημερ. ĪæĪ»ĪæĪŗĪ»Ī®ĻĻ‰ĻƒĪ·Ļ‚ ActionAskedBy=Ī— ενέργεια ζητήθηκε Ī±Ļ€ĻŒ -ActionAffectedTo=Ī•ĪŗĪ“Ī®Ī»Ļ‰ĻƒĪ· που ανήκει +ActionAffectedTo=Event assigned to ActionDoneBy=Ī— ενέργεια έγινε Ī±Ļ€ĻŒ τον/την ActionUserAsk=ĪšĪ±Ļ„Ī±Ī³ĻĪ¬Ļ†Ī·ĪŗĪµ Ī±Ļ€ĻŒ τον/την ErrorStatusCantBeZeroIfStarted=Εάν το πεΓίο 'Date done' είναι γεμάτο, Ī· ενέργεια έχει Ī±ĻĻ‡ĪÆĻƒĪµĪ¹ (Ī® έχει Ļ„ĪµĪ»ĪµĪ¹ĻŽĻƒĪµĪ¹), ĪæĻ€ĻŒĻ„Īµ το πεΓίο 'Status' Γεν μπορεί να είναι 0%%. diff --git a/htdocs/langs/el_GR/contracts.lang b/htdocs/langs/el_GR/contracts.lang index ff824ce3a85..c8e4c7b1cb5 100644 --- a/htdocs/langs/el_GR/contracts.lang +++ b/htdocs/langs/el_GR/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Έληξε ServiceStatusClosed=Ī¤ĪµĻĪ¼Ī±Ļ„Ī¹ĻƒĪ¼Ī­Ī½Ī· ServicesLegend=Services legend Contracts=Ī£Ļ…Ī¼Ī²ĻŒĪ»Ī±Ī¹Ī± +ContractsAndLine=Contracts and line of contracts Contract=Ī£Ļ…Ī¼Ī²ĻŒĪ»Ī±Ī¹Īæ NoContracts=Κανένα Ī£Ļ…Ī¼Ī²ĻŒĪ»Ī±Ī¹Īæ MenuServices=Ī„Ļ€Ī·ĻĪµĻƒĪÆĪµĻ‚ diff --git a/htdocs/langs/el_GR/cron.lang b/htdocs/langs/el_GR/cron.lang index 756f6c9ea35..9f94c994725 100644 --- a/htdocs/langs/el_GR/cron.lang +++ b/htdocs/langs/el_GR/cron.lang @@ -84,3 +84,4 @@ CronType_command=Εντολή Shell CronMenu=ĪœĪµĪ½ĪæĻ CronCannotLoadClass=Cannot load class %s or object %s UseMenuModuleToolsToAddCronJobs=Πηγαίνετε ĻƒĻ„Īæ Ī¼ĪµĪ½ĪæĻ "Home - Modules εργαλεία - Ī›ĪÆĻƒĻ„Ī± ĪµĻĪ³Ī±ĻƒĪ¹ĻŽĪ½" για να Γείτε και να ĪµĻ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„ĪµĪÆĻ„Īµ τις Ļ€ĻĪæĪ³ĻĪ±Ī¼Ī¼Ī±Ļ„Ī¹ĻƒĪ¼Ī­Ī½ĪµĻ‚ ĪµĻĪ³Ī±ĻƒĪÆĪµĻ‚. +TaskDisabled=Task disabled diff --git a/htdocs/langs/el_GR/errors.lang b/htdocs/langs/el_GR/errors.lang index eaacea01c42..1361707a862 100644 --- a/htdocs/langs/el_GR/errors.lang +++ b/htdocs/langs/el_GR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Πηγή και τους ĻƒĻ„ĻŒĻ‡ĪæĻ…Ļ‚ των Ļ„ ErrorBadThirdPartyName=Bad αξία για τους Ļ…Ļ€Ī·ĪŗĻŒĪæĻ…Ļ‚ τρίτων όνομα ĪŗĻŒĪ¼Ī¼Ī±Ļ„ĪæĻ‚ ErrorProdIdIsMandatory=Το %s είναι Ļ…Ļ€ĪæĻ‡ĻĪµĻ‰Ļ„Ī¹ĪŗĻŒ ErrorBadCustomerCodeSyntax=Λάθος ĻƒĻĪ½Ļ„Ī±Ī¾Ī· για τον ĪŗĻ‰Ī“Ī¹ĪŗĻŒ πελάτη -ErrorBadBarCodeSyntax=Κακή ĻƒĻĪ½Ļ„Ī±Ī¾Ī· για bar 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=ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚ πελάτη απαιτείτε ErrorBarCodeRequired=Απαιτείται Bar code ErrorCustomerCodeAlreadyUsed=Ο ĪŗĻ‰Ī“Ī¹ĪŗĻŒĻ‚ πελάτη που έχει ήΓη Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī·ĪøĪµĪÆ @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Ī— Javascript πρέπει να είναι άτομ ErrorPasswordsMustMatch=Και οι Ī“ĻĪæ Ļ€Ī»Ī·ĪŗĻ„ĻĪæĪ»ĪæĪ³Ī®ĻƒĪµĪ¹ τους ĪŗĻ‰Ī“Ī¹ĪŗĪæĻĻ‚ Ļ€ĻĻŒĻƒĪ²Ī±ĻƒĪ·Ļ‚ πρέπει να ταιριάζουν Ī¼ĪµĻ„Ī±Ī¾Ļ τους ErrorContactEMail=Ένα Ļ„ĪµĻ‡Ī½Ī¹ĪŗĻŒ ĻƒĻ†Ī¬Ī»Ī¼Ī±. Ī Ī±ĻĪ±ĪŗĪ±Ī»ĪæĻĪ¼Īµ, ĪµĻ€Ī¹ĪŗĪæĪ¹Ī½Ļ‰Ī½Ī®ĻƒĻ„Īµ με τον Ī“Ī¹Ī±Ļ‡ĪµĪ¹ĻĪ¹ĻƒĻ„Ī® για μετά %s email en παρέχουν την %s ĪŗĻ‰Ī“Ī¹ĪŗĻŒ ĻƒĻ†Ī¬Ī»Ī¼Ī±Ļ„ĪæĻ‚ ĻƒĻ„Īæ μήνυμά ĻƒĪ±Ļ‚, Ī® ακόμα ĪŗĪ±Ī»ĻĻ„ĪµĻĪ± με την Ļ€ĻĪæĻƒĪøĪ®ĪŗĪ· ĪµĪ½ĻŒĻ‚ αντιγράφου της ĪæĪøĻŒĪ½Ī·Ļ‚ αυτής της ĻƒĪµĪ»ĪÆĪ“Ī±Ļ‚. ErrorWrongValueForField=Λάθος τιμή για %s αριθμό τομέα (Ā«%sĀ» τιμή Γεν ταιριάζει regex %s κανόνα) -ErrorFieldValueNotIn=Λάθος τιμή για %s αριθμό τομέα (Ā«%sĀ» τιμή Γεν είναι μια τιμή Γιαθέσιμη σε %s τομέα της %s πίνακα) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Λάθος τιμή για τον αριθμό %s τομέα (Ā«%sĀ» τιμή Γεν είναι %s Ļ…Ļ†Ī¹ĻƒĻ„Ī¬Ī¼ĪµĪ½Ļ‰Ī½ ref) ErrorsOnXLines=Λάθη σε %s γραμμές πηγή ErrorFileIsInfectedWithAVirus=Το Ļ€ĻĻŒĪ³ĻĪ±Ī¼Ī¼Ī± Ļ€ĻĪæĻƒĻ„Ī±ĻƒĪÆĪ±Ļ‚ Ī±Ļ€ĻŒ Ī¹ĪæĻĻ‚ Γεν ήταν σε θέση να ĪµĻ€Ī¹ĪŗĻ…ĻĻŽĻƒĪµĪ¹ το αρχείο (αρχείο μπορεί να μολυνθεί Ī±Ļ€ĻŒ έναν ιό) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Ī•ĻƒĻ‰Ļ„ĪµĻĪ¹ĪŗĻŒ ĻƒĻ†Ī¬Ī»Ī¼Ī± '%s' ErrorPriceExpressionUnknown=Ī†Ī³Ī½Ļ‰ĻƒĻ„Īæ ĻƒĻ†Ī¬Ī»Ī¼Ī± '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..d033be2b50a --- /dev/null +++ b/htdocs/langs/el_GR/incoterm.lang @@ -0,0 +1,7 @@ +Module210009Name=Διεθνείς Ī•Ī¼Ļ€ĪæĻĪ¹ĪŗĻŒĻ‚ ĪŒĻĪæĻ‚ +Module210009Desc=Ī ĻĪæĻƒĪøĪ­ĻƒĻ„Īµ Ī“Ļ…Ī½Ī±Ļ„ĻŒĻ„Ī·Ļ„ĪµĻ‚ για τη Ī“Ī¹Ī±Ļ‡ĪµĪÆĻĪ¹ĻƒĪ· του Διεθνή Ī•Ī¼Ļ€ĪæĻĪ¹ĪŗĪæĻ ĪŒĻĪæĻ… +IncotermLabel=Διεθνείς Εμπορικοί Όροι +IncotermSetupTitle1=Ī§Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĻŒ +IncotermSetupTitle2=ĪšĪ±Ļ„Ī¬ĻƒĻ„Ī±ĻƒĪ· +IncotermSetup=Ī”ĻĪøĪ¼Ī¹ĻƒĪ· του module Διεθνείς Ī•Ī¼Ļ€ĪæĻĪ¹ĪŗĻŒĻ‚ ĪŒĻĪæĻ‚ +IncotermFunctionDesc=Ī•Ī½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Διεθνείς Ī•Ī¼Ļ€ĪæĻĪ¹ĪŗĻŒĻ‚ ĪŒĻĪæĻ‚ Ļ‡Ī±ĻĪ±ĪŗĻ„Ī·ĻĪ¹ĻƒĻ„Ī¹ĪŗĻŒ (Πελ./Προμ., Ļ€ĻĪæĻƒĻ†ĪæĻĪ¬, παραγγελία πελάτη, Τιμολογίου Πελάτη, την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®, παραγγελία Προμηθευτή) diff --git a/htdocs/langs/el_GR/install.lang b/htdocs/langs/el_GR/install.lang index d2cc1ae3cd8..939e7a72d52 100644 --- a/htdocs/langs/el_GR/install.lang +++ b/htdocs/langs/el_GR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Τελευταίο βήμα: ĪšĪ±ĪøĪæĻĪÆĻƒĻ„Īµ ε ActivateModule=Ī•Ī½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· %s ĪµĪ½ĻŒĻ„Ī·Ļ„Ī± ShowEditTechnicalParameters=ĪšĪ¬Ī½Ļ„Īµ κλικ ĪµĪ“ĻŽ για να Γείτε/ĪµĻ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĻ„ĪµĪÆĻ„Īµ προηγμένες παραμέτρους (ĪŗĪ±Ļ„Ī¬ĻƒĻ„Ī±ĻƒĪ· έμπειρου Ļ‡ĻĪ®ĻƒĻ„Ī·) 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 diff --git a/htdocs/langs/el_GR/main.lang b/htdocs/langs/el_GR/main.lang index 187c9becc66..50211a1e084 100644 --- a/htdocs/langs/el_GR/main.lang +++ b/htdocs/langs/el_GR/main.lang @@ -141,6 +141,7 @@ Cancel=Άκυρο Modify=Ī¤ĻĪæĻ€ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Edit=Ī•Ļ€ĪµĪ¾ĪµĻĪ³Ī±ĻƒĪÆĪ± Validate=Ī•Ļ€Ī¹ĪŗĻĻĻ‰ĻƒĪ· +ValidateAndApprove=Validate and Approve ToValidate=Προς Ī•Ļ€Ī¹ĪŗĻĻĻ‰ĻƒĪ· Save=Ī‘Ļ€ĪæĪøĪ®ĪŗĪµĻ…ĻƒĪ· SaveAs=Ī‘Ļ€ĪæĪøĪ®ĪŗĪµĻ…ĻƒĪ· Ως @@ -158,6 +159,7 @@ Search=Ī‘Ī½Ī±Ī¶Ī®Ļ„Ī·ĻƒĪ· SearchOf=Ī‘Ī½Ī±Ī¶Ī®Ļ„Ī·ĻƒĪ· Valid=ĪˆĪ³ĪŗĻ…ĻĪæ Approve=Έγκριση +Disapprove=Disapprove ReOpen=Εκ νέου άνοιγμα Upload=Ī‘Ļ€ĪæĻƒĻ„ĪæĪ»Ī® Αρχείου ToLink=Ī£ĻĪ½Ī“ĪµĻƒĪ¼ĪæĻ‚ @@ -219,6 +221,7 @@ Cards=ĪšĪ±ĻĻ„Ī­Ī»ĪµĻ‚ Card=ĪšĪ±ĻĻ„Ī­Ī»Ī± Now=Ī¤ĻŽĻĪ± Date=Ημερομηνία +DateAndHour=Date and hour DateStart=Ημερομηνία ĪˆĪ½Ī±ĻĪ¾Ī·Ļ‚ DateEnd=Ημερομηνία Τέλους DateCreation=Ημερομηνία Δημιουργίας @@ -295,6 +298,7 @@ UnitPriceHT=Τιμή ĪœĪæĪ½Ī¬Ī“ĪæĻ‚ (χ. Φ.Ī .Ī‘) UnitPriceTTC=Τιμή ĪœĪæĪ½Ī¬Ī“ĪæĻ‚ PriceU=Τιμή μον. PriceUHT=Τιμή μον. +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=Τιμή μον. Amount=Ποσό AmountInvoice=Ποσό Τιμολογίου @@ -521,6 +525,7 @@ DateFromTo=Ī‘Ļ€ĻŒ %s μέχρι %s DateFrom=Ī‘Ļ€ĻŒ %s DateUntil=ĪœĪ­Ļ‡ĻĪ¹ %s Check=ĪˆĪ»ĪµĪ³Ļ‡ĪæĻ‚ +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Ī”Ī·Ī¼ĻŒĻƒĪ¹Ī± URL AddBox=Προσθήκη πεΓίου SelectElementAndClickRefresh=Επιλέξτε ένα ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆĪæ και κάντε κλικ ĻƒĻ„Īæ κουμπί Ī‘Ī½Ī±Ī½Ī­Ļ‰ĻƒĪ· PrintFile=Ī•ĪŗĻ„ĻĻ€Ļ‰ĻƒĪ· του αρχείου %s +ShowTransaction=Show transaction # Week day Monday=Δευτέρα Tuesday=Τρίτη diff --git a/htdocs/langs/el_GR/orders.lang b/htdocs/langs/el_GR/orders.lang index 4987091d539..e6cedcee375 100644 --- a/htdocs/langs/el_GR/orders.lang +++ b/htdocs/langs/el_GR/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Ακυρωμένη StatusOrderDraft=Ī ĻĪæĻƒĻ‡Ī­Ī“Ī¹Īæ (χρειάζεται ĪµĻ€Ī¹ĪŗĻĻĻ‰ĻƒĪ·) StatusOrderValidated=Επικυρωμένη StatusOrderOnProcess=Παραγγέλθηκε - Αναμονή παραλαβής +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=ĪŸĪ»ĪæĪŗĪ»Ī·ĻĻ‰Ī¼Ī­Ī½Ī· StatusOrderToBill=Προς πληρωμή StatusOrderToBill2=Προς Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī·ĻƒĪ· @@ -58,6 +59,7 @@ MenuOrdersToBill=Παραγγελίες προς Ļ‡ĻĪ­Ļ‰ĻƒĪ· MenuOrdersToBill2=Ī§ĻĪµĻŽĻƒĪ¹Ī¼ĪµĻ‚ παραγγελίες SearchOrder=Ī•ĻĻĪµĻƒĪ· παραγγελίας SearchACustomerOrder=Ī‘Ī½Ī±Ī¶Ī·Ļ„Ī®ĻƒĻ„Īµ μία παραγγελία πελάτη +SearchASupplierOrder=Search a supplier order ShipProduct=Ship product Discount=ĪˆĪŗĻ€Ļ„Ļ‰ĻƒĪ· CreateOrder=Δημιουργία παραγγελίας diff --git a/htdocs/langs/el_GR/other.lang b/htdocs/langs/el_GR/other.lang index e15f9952453..449d5bc6fac 100644 --- a/htdocs/langs/el_GR/other.lang +++ b/htdocs/langs/el_GR/other.lang @@ -54,12 +54,13 @@ MaxSize=ĪœĪ­Ī³Ī¹ĻƒĻ„Īæ μέγεθος AttachANewFile=Ī•Ļ€Ī¹ĻƒĻĪ½Ī±ĻˆĪ· νέου αρχείου/εγγράφου LinkedObject=ΣυνΓεΓεμένα αντικείμενα Miscellaneous=Διάφορα -NbOfActiveNotifications=Πλήθος ĪµĪ¹Ī“ĪæĻ€ĪæĪ¹Ī®ĻƒĪµĻ‰Ī½ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Ī”ĪæĪŗĪ¹Ī¼Ī±ĻƒĻ„Ī¹ĪŗĪæ mail.\nΟι Ī“ĻĪæ γραμμές είναι Ļ‡Ļ‰ĻĪ¹ĻƒĪ¼Ī­Ī½ĪµĻ‚ με carriage return. PredefinedMailTestHtml=Ī‘Ļ…Ļ„ĻŒ είναι ένα μήνυμα Γοκιμής (Ī· Γοκιμή λέξη πρέπει να είναι με έντονα γράμματα).
    Οι Ī“ĻĪæ γραμμές που χωρίζονται με ένα χαρακτήρα επαναφοράς. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nĪ•Ī“ĻŽ θα βρείτε το Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ __FACREF__\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nΘα ήθελα να ĻƒĪ±Ļ‚ Ļ€ĻĪæĪµĪ¹Ī“ĪæĻ€ĪæĪ¹Ī®ĻƒĻ‰ ĻŒĻ„Ī¹ το Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ __FACREF__ φαίνεται να μην έχει πληρωθεί. Στο ĻƒĻ…Ī½Ī·Ī¼Ī¼Ī­Ī½Īæ Ī²ĻĪÆĻƒĪŗĪµĻ„Ī±Ī¹ το Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ που φαίνεται να μην έχει πληρωθεί.\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nĪ•Ī“ĻŽ θα βρείτε την Ļ€ĻĪæĻƒĻ†ĪæĻĪ¬ __PROPREF__\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nĪ•Ī“ĻŽ θα βρείτε τη παραγγελία __ORDERREF__\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nĪ•Ī“ĻŽ θα βρείτε την παραγγελία μας __ORDERREF__\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nĪ•Ī“ĻŽ θα βρείτε το Ļ„Ī¹Ī¼ĪæĪ»ĻŒĪ³Ī¹Īæ __FACREF__\n\n__PERSONALIZED__Με ĪµĪŗĻ„ĪÆĪ¼Ī·ĻƒĪ·\n\n__SIGNATURE__ diff --git a/htdocs/langs/el_GR/printing.lang b/htdocs/langs/el_GR/printing.lang new file mode 100644 index 00000000000..55bc4ce2747 --- /dev/null +++ b/htdocs/langs/el_GR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Ī†Ī¼ĪµĻƒĪ· ĪµĪŗĻ„ĻĻ€Ļ‰ĻƒĪ· +Module112000Desc=Ī•Ī½ĪµĻĪ³ĪæĻ€ĪæĪÆĪ·ĻƒĪ· Ī¬Ī¼ĪµĻƒĪ·Ļ‚ ĪµĪŗĻ„ĻĻ€Ļ‰ĻƒĪ·Ļ‚ +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) +FileWasSentToPrinter=Το αρχείο %s ĻƒĻ„Ī¬Ī»ĪøĪ·ĪŗĪµ ĻƒĻ„ĪæĪ½ εκτυπωτή +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 afe3a362d63..cc6e312db0e 100644 --- a/htdocs/langs/el_GR/productbatch.lang +++ b/htdocs/langs/el_GR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=ΠαρτίΓα/Ī£ĪµĪ¹ĻĪ¹Ī±ĪŗĻŒĻ‚ Ī±ĻĪ¹ĪøĪ¼ĻŒĻ‚ l_eatby=Φάτε ημερομηνία λήξης l_sellby=Ημερομηνία Ļ€ĻŽĪ»Ī·ĻƒĪ·Ļ‚ DetailBatchNumber=ΠαρτίΓα/Λεπτομέρειες ĻƒĪµĪ¹ĻĪ¹Ī±ĪŗĪæĻ -DetailBatchFormat=ΠαρτίΓα/ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚: %s - E:%s - s:%s (Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī±: %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=ΠαρτίΓα: %s printEatby=Eat-by: %s printSellby=Ī ĻŽĪ»Ī·ĻƒĪ· ανά: %s diff --git a/htdocs/langs/el_GR/products.lang b/htdocs/langs/el_GR/products.lang index 25229b931ae..eebb6c5060b 100644 --- a/htdocs/langs/el_GR/products.lang +++ b/htdocs/langs/el_GR/products.lang @@ -250,3 +250,7 @@ PriceExpressionEditorHelp3=Στο Ļ€ĻĪæĻŠĻŒĪ½/Ļ…Ļ€Ī·ĻĪµĻƒĪÆĪ± και ĻƒĻ„Ī¹Ļ‚ PriceExpressionEditorHelp4=Μόνο σε τιμές Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½/Ļ…Ļ€Ī·ĻĪµĻƒĪ¹ĻŽĪ½: #supplier_min_price#
    Μόνο τιμές Ī ĻĪæĪ¼Ī·ĪøĪµĻ…Ļ„ĻŽĪ½: #supplier_quantity# and #supplier_tva_tx# PriceMode=Λειτουργία Τιμής PriceNumeric=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/el_GR/projects.lang b/htdocs/langs/el_GR/projects.lang index c4ce60ce368..4758fb8c27a 100644 --- a/htdocs/langs/el_GR/projects.lang +++ b/htdocs/langs/el_GR/projects.lang @@ -8,8 +8,10 @@ SharedProject=Όλοι PrivateProject=Ī‘Ī½Ļ„Ī¹Ļ€ĻĻŒĻƒĻ‰Ļ€ĪæĪ¹ του έργου MyProjectsDesc=Ī— Ī¬Ļ€ĪæĻˆĪ· αυτή περιορίζονται σε έργα που είναι σε μια επαφή για την (ĻŒĻ€ĪæĪ¹Ī± είναι Īæ Ļ„ĻĻ€ĪæĻ‚). 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). TasksPublicDesc=Ī— Ī¬Ļ€ĪæĻˆĪ· αυτή Ļ€Ī±ĻĪæĻ…ĻƒĪ¹Ī¬Ī¶ĪµĪ¹ όλα τα έργα και τα καθήκοντα που επιτρέπεται να Γιαβάζουν. TasksDesc=Ī— Ī¬Ļ€ĪæĻˆĪ· αυτή Ļ€Ī±ĻĪæĻ…ĻƒĪ¹Ī¬Ī¶ĪµĪ¹ όλα τα έργα και τα καθήκοντα (Ī“Ī¹ĪŗĪ±Ī¹ĻŽĪ¼Ī±Ļ„Ī± Ļ‡ĻĪ®ĻƒĻ„Ī· να Ī“ĻŽĻƒĪµĪ¹ Γικαίωμα για να Γείτε τα πάντα). ProjectsArea=Περιοχή ĪˆĻĪ³Ļ‰Ī½ @@ -29,6 +31,8 @@ NoProject=No project defined or owned NbOpenTasks=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ Ī±Ī½ĪæĪ¹Ļ‡Ļ„ĻŽĪ½ ĪµĻĪ³Ī±ĻƒĪ¹ĻŽĪ½ NbOfProjects=Ī‘ĻĪ¹ĪøĪ¼ĻŒĻ‚ έργων TimeSpent=Ī§ĻĻŒĪ½ĪæĻ‚ που Γαπανήθηκε +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Ο Ļ‡ĻĻŒĪ½ĪæĻ‚ που Γαπανάται RefTask=Αναφ. ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ LabelTask=Ετικέτα ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των ενταλμάτω ListSupplierInvoicesAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των τιμολογίων του προμηθευτή που ĻƒĻ…Ī½Ī“Ī­ĪæĪ½Ļ„Ī±Ī¹ με το έργο ListContractAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των ĻƒĻ…Ī¼Ī²Ī¬ĻƒĪµĻ‰Ī½ που ĻƒĻ…Ī½Ī“Ī­ĪæĪ½Ļ„Ī±Ī¹ με το έργο ListFichinterAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των Ļ€Ī±ĻĪµĪ¼Ī²Ī¬ĻƒĪµĻ‰Ī½ που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ με το έργο -ListTripAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ και των Ī“Ī±Ļ€Ī±Ī½ĻŽĪ½ που ĻƒĻ…Ī½Ī“Ī­ĪæĪ½Ļ„Ī±Ī¹ με το έργο +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των ĪµĪŗĪ“Ī·Ī»ĻŽĻƒĪµĻ‰Ī½ που ĻƒĻ‡ĪµĻ„ĪÆĪ¶ĪæĪ½Ļ„Ī±Ī¹ με το έργο ActivityOnProjectThisWeek=Ī”ĻĪ±ĻƒĻ„Ī·ĻĪ¹ĻŒĻ„Ī·Ļ„Ī± ĻƒĻ„Īæ έργο αυτή την εβΓομάΓα ActivityOnProjectThisMonth=Ī”ĻĪ±ĻƒĻ„Ī·ĻĪ¹ĻŒĻ„Ī·Ļ„Ī± ĻƒĻ„Īæ έργο Ī±Ļ…Ļ„ĻŒ το μήνα @@ -126,10 +130,15 @@ AddElement=Ī£ĻĪ½Ī“ĪµĻƒĪ· με το ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆĪæ UnlinkElement=Ī‘Ļ€ĪæĻƒĻĪ½Ī“ĪµĻƒĪ· ĻƒĻ„ĪæĪ¹Ļ‡ĪµĪÆĪæĻ… # Documents models DocumentModelBaleine=ĪœĪæĪ½Ļ„Ī­Ī»Īæ έκθεση Μια πλήρης έργου (logo. ..) -PlannedWorkload = ΣχέΓιο Ļ†ĻŒĻĻ„ĪæĻ… ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ -WorkloadOccupation= Ī•Ļ€Ī¹Ļ„Ī®Ī“ĪµĻ…ĻƒĪ· Ī¦ĻŒĻĻ„ĪæĻ… ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ +PlannedWorkload=ΣχέΓιο Ļ†ĻŒĻĻ„ĪæĻ… ĪµĻĪ³Ī±ĻƒĪÆĪ±Ļ‚ +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Αναφορές Ī±Ļ€ĻŒ αντικείμενα SearchAProject=Ī‘Ī½Ī±Ī¶Ī®Ļ„Ī·ĻƒĪ· ένα έργο ProjectMustBeValidatedFirst=Το έργο πρέπει να επικυρωθεί Ļ€ĻĻŽĻ„Ī± ProjectDraft=Ī ĻĻŒĻ‡ĪµĪ¹ĻĪ± έργα FirstAddRessourceToAllocateTime=Ī£Ļ…ĻƒĻ‡ĪµĻ„ĪÆĻƒĻ„Īµ έναν Ļ€ĻŒĻĪæ για την κατανομή του Ļ‡ĻĻŒĪ½ĪæĻ… +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/el_GR/salaries.lang b/htdocs/langs/el_GR/salaries.lang index 7001bfb2fe0..58f0b819a6e 100644 --- a/htdocs/langs/el_GR/salaries.lang +++ b/htdocs/langs/el_GR/salaries.lang @@ -1,8 +1,13 @@ # Dolibarr language file - Source file is en_US - users -Salary=Salary -Salaries=Salaries +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚ Ī›ĪæĪ³Ī¹ĻƒĻ„Ī¹ĪŗĪ®Ļ‚ για τις πληρωμές των Ī¼Ī¹ĻƒĪøĻŽĪ½ +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=ĪšĻ‰Ī“Ī¹ĪŗĻŒĻ‚ Ī›ĪæĪ³Ī¹ĻƒĻ„Ī¹ĪŗĪ®Ļ‚ για οικονομική ĪµĻ€Ī¹Ī²Ī¬ĻĻ…Ī½ĻƒĪ· +Salary=MĪ¹ĻƒĪøĻŒĻ‚ +Salaries=Μισθοί Employee=΄πάλληλος NewSalaryPayment=ĪĪ­Ī± μισθοΓοσία SalaryPayment=ĪœĪ¹ĻƒĪøĻŒĻ‚ SalariesPayments=Πληρωμές Ī¼Ī¹ĻƒĪøĻŽĪ½ ShowSalaryPayment=Ī•Ī¼Ļ†Ī¬Ī½Ī¹ĻƒĪ· Ī¼Ī¹ĻƒĪøĪæĪ“ĪæĻƒĪÆĪ±Ļ‚ +THM=Ī— μέση ωριαία τιμή +TJM=Ī— μέση ημερήσια τιμή +CurrentSalary=Current salary diff --git a/htdocs/langs/el_GR/sendings.lang b/htdocs/langs/el_GR/sendings.lang index d2774a6577f..8a0733e2515 100644 --- a/htdocs/langs/el_GR/sendings.lang +++ b/htdocs/langs/el_GR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ QtyShipped=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± που Ī±Ļ€ĪæĻƒĻ„Ī­Ī»Ī»ĪµĻ„Ī±Ī¹ QtyToShip=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± προς Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® QtyReceived=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± παραλαβής -KeepToShip=ĪšĻĪ±Ļ„Ī®ĻƒĻ„Īµ την Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® +KeepToShip=Remain to ship OtherSendingsForSameOrder=Άλλες Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī­Ļ‚ για Ī±Ļ…Ļ„ĻŒ το ĻƒĪŗĪæĻ€ĻŒ DateSending=Ημερομηνία Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® της παραγγελίας DateSendingShort=Ημερομηνία Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī® της παραγγελίας @@ -64,10 +64,10 @@ ShipmentLine=Σειρά Ī±Ļ€ĪæĻƒĻ„ĪæĪ»Ī®Ļ‚ CarrierList=ĪšĪ±Ļ„Ī¬Ī»ĪæĪ³ĪæĻ‚ των μεταφορέων SendingRunning=Προϊόν Ī±Ļ€ĻŒ εντολή Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ σε πελάτες SuppliersReceiptRunning=Προϊόν Ī±Ļ€ĻŒ εντολή Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ σε προμηθευτές -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 +ProductQtyInCustomersOrdersRunning=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ σε ανοιχτές παραγγελίες Ļ€ĪµĪ»Ī±Ļ„ĻŽĪ½ +ProductQtyInSuppliersOrdersRunning=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ σε ανοιχτές παραγγελίες Ļ€ĻĪæĪ¼Ī·ĪøĪµĻ…Ļ„ĻŽĪ½ +ProductQtyInShipmentAlreadySent=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ Ī±Ļ€ĻŒ ανοιγμένες παραγγελίες του πελάτη που έχουν ήΓη Ī±Ļ€ĪæĻƒĻ„Ī±Ī»ĪµĪÆ +ProductQtyInSuppliersShipmentAlreadyRecevied=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ Ī±Ļ€ĻŒ ανοιγμένες παραγγελίες του προμηθευτή που έχουν ήΓη ληφθεί # Sending methods SendingMethodCATCH=Πιάσε τον πελάτη diff --git a/htdocs/langs/el_GR/stocks.lang b/htdocs/langs/el_GR/stocks.lang index 26a0e5802bc..438a99de606 100644 --- a/htdocs/langs/el_GR/stocks.lang +++ b/htdocs/langs/el_GR/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Μέση ĻƒĻ„Ī±ĪøĪ¼Ī¹ĪŗĪ® τιμή PMPValueShort=WAP EnhancedValueOfWarehouses=Αποθήκες αξία UserWarehouseAutoCreate=Ī”Ī·Ī¼Ī¹ĪæĻ…ĻĪ³Ī®ĻƒĻ„Īµ μια αποθήκη Ī±Ļ…Ļ„ĻŒĪ¼Ī±Ļ„Ī± κατά τη Γημιουργία ĪµĪ½ĻŒĻ‚ Ļ‡ĻĪ®ĻƒĻ„Ī· +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± Ī±Ļ€ĪæĻƒĻ„Ī­Ī»Ī»ĪæĪ½Ļ„Ī±Ī¹ QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Ī— αποθήκη %s να να Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ WarehouseForStockIncrease=Ī— αποθήκη %s θα Ļ‡ĻĪ·ĻƒĪ¹Ī¼ĪæĻ€ĪæĪ¹Ī·ĪøĪµĪÆ για την Ī±ĻĪ¾Ī·ĻƒĪ· των αποθεμάτων ForThisWarehouse=Για αυτή την αποθήκη ReplenishmentStatusDesc=Αυτή είναι Ī· Ī»ĪÆĻƒĻ„Ī± ĻŒĪ»Ļ‰Ī½ των Ļ€ĻĪæĻŠĻŒĪ½Ļ„Ļ‰Ī½ με Ī±Ļ€ĻŒĪøĪµĪ¼Ī± κάτω Ī±Ļ€ĻŒ το ĪµĻ€Ī¹ĪøĻ…Ī¼Ī·Ļ„ĻŒ Ī±Ļ€ĻŒĪøĪµĪ¼Ī± (Ī® Ļ‡Ī±Ī¼Ī·Ī»ĻŒĻ„ĪµĻĪµĻ‚ Ī±Ļ€ĻŒ την αξία ĻƒĻ…Ī½Ī±Ī³ĪµĻĪ¼ĪæĻ, ĪµĻ†ĻŒĻƒĪæĪ½ κουτάκι "ĪµĪ¹Ī“ĪæĻ€ĪæĪÆĪ·ĻƒĪ· μόνο" είναι επιλεγμένο), και προτείνουμε να Ī“Ī·Ī¼Ī¹ĪæĻ…ĻĪ³Ī®ĻƒĪµĻ„Īµ παραγγελίες σε προμηθευτές για να Ī±Ī½Ī±Ļ€Ī»Ī·ĻĻŽĻƒĪµĪ¹ τη Γιαφορά. -ReplenishmentOrdersDesc=Αυτή είναι Ī· Ī»ĪÆĻƒĻ„Ī± ĻŒĪ»Ļ‰Ī½ των Ī±Ī½ĪæĪ¹ĪŗĻ„ĻŽĪ½ Ļ€Ī±ĻĪ±Ī³Ī³ĪµĪ»Ī¹ĻŽĪ½ σε προμηθευτές +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=Ī‘Ī½Ī±Ļ€Ī»Ī·ĻĻŽĻƒĪµĪ¹Ļ‚ NbOfProductBeforePeriod=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± του Ļ€ĻĪæĻŠĻŒĪ½Ļ„ĪæĻ‚ %s σε Ī±Ļ€ĻŒĪøĪµĪ¼Ī± πριν Ī±Ļ€ĻŒ την επιλεγμένη περίοΓο (< %s) NbOfProductAfterPeriod=Ī ĪæĻƒĻŒĻ„Ī·Ļ„Ī± του Ļ€ĻĪæĻŠĻŒĪ½Ļ„ĪæĻ‚ %s σε Ī±Ļ€ĻŒĪøĪµĪ¼Ī± πριν Ī±Ļ€ĻŒ την επιλεγμένη περίοΓο (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/el_GR/suppliers.lang b/htdocs/langs/el_GR/suppliers.lang index 8a37a970d19..34b5a692b6f 100644 --- a/htdocs/langs/el_GR/suppliers.lang +++ b/htdocs/langs/el_GR/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Προμηθευτές -Supplier=Προμηθευτής AddSupplier=Δημιουργία προμηθευτή SupplierRemoved=Ο προμηθευτής αφαιρέθηκε SuppliersInvoice=Τιμολόγιο προμηθευτή @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Τιμολόγια και πληρωμές προμ ExportDataset_fournisseur_3=Παραγγελίες σε προμηθευτές και σειρά Ī³ĻĪ±Ī¼Ī¼ĻŽĪ½ ApproveThisOrder=Έγκριση της παραγγελίας ConfirmApproveThisOrder=Ī•ĪÆĻƒĻ„Īµ ĻƒĪÆĪ³ĪæĻ…ĻĪæĪ¹ ĻŒĻ„Ī¹ θέλετε να εγκρίνετε την παραγγελία %s ; -DenyingThisOrder=Ī†ĻĪ½Ī·ĻƒĪ· της παραγγελίας +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ī•ĪÆĻƒĻ„Īµ ĻƒĪÆĪ³ĪæĻ…ĻĪæĪ¹ ĻŒĻ„Ī¹ θέλετε να αρνηθείτε την παραγγελία %s ; ConfirmCancelThisOrder=Ī•ĪÆĻƒĻ„Īµ ĻƒĪÆĪ³ĪæĻ…ĻĪæĪ¹ ĻŒĻ„Ī¹ θέλετε να Ī±ĪŗĻ…ĻĻŽĻƒĪµĻ„Īµ την παραγγελία %s ; AddCustomerOrder=Δημιουργία παραγγελίας πελάτη diff --git a/htdocs/langs/el_GR/trips.lang b/htdocs/langs/el_GR/trips.lang index 4de061f4c84..fff849b2bf4 100644 --- a/htdocs/langs/el_GR/trips.lang +++ b/htdocs/langs/el_GR/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=ΤαξίΓι -Trips=ΤαξίΓια -TripsAndExpenses=ΤαξίΓια και έξοΓα -TripsAndExpensesStatistics=Ī£Ļ„Ī±Ļ„Ī¹ĻƒĻ„Ī¹ĪŗĪ¬ Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ και ĪµĪ¾ĻŒĪ“Ļ‰Ī½ -TripCard=ĪšĪ±ĻĻ„Ī­Ī»Ī± Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĪæĻ -AddTrip=Δημιουργία Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĪæĻ -ListOfTrips=Ī›ĪÆĻƒĻ„Ī± Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ +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=Ī›ĪÆĻƒĻ„Ī± Ļ†ĻŒĻĻ‰Ī½ -NewTrip=ĪĪ­Īæ ταξίΓι +NewTrip=New expense report CompanyVisited=Έγινε ĪµĻ€ĪÆĻƒĪŗĪµĻˆĪ· σε εταιρία/οργανισμό Kilometers=Ī§Ī¹Ī»Ī¹ĻŒĪ¼ĪµĻ„ĻĪ± FeesKilometersOrAmout=Ī£ĻĪ½ĪæĪ»Īæ χλμ -DeleteTrip=Διαγραφή Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĪæĻ -ConfirmDeleteTrip=Ī•ĪÆĻƒĻ„Īµ ĻƒĪÆĪ³ĪæĻ…ĻĪæĪ¹ ĻŒĻ„Ī¹ θέλετε να Ī“Ī¹Ī±Ī³ĻĪ¬ĻˆĪµĻ„Īµ το ταξίΓι; -TF_OTHER=Άλλο -TF_LUNCH=Ī“ĪµĻĪ¼Ī± -TF_TRIP=ΤαξίΓι -ListTripsAndExpenses=Ī›ĪÆĻƒĻ„Ī± Ļ„Ī±Ī¾Ī¹Ī“Ī¹ĻŽĪ½ και ĪµĪ¾ĻŒĪ“Ļ‰Ī½ -ExpensesArea=ΤαξίΓια και έξοΓα περιοχή -SearchATripAndExpense=Ī‘Ī½Ī±Ī¶Ī®Ļ„Ī·ĻƒĪ· ένα ταξίΓι και τα έξοΓα +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=Ī¤Ī±Ī¾Ī¹Ī½ĪæĪ¼Ī®ĻƒĻ„Īµ Ā«ĪµĻ€Ī¹ĻƒĻ„ĻĪ±Ļ†ĪµĪÆĀ» +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=Άλλο +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/en_AU/bills.lang b/htdocs/langs/en_AU/bills.lang index 737f979cf47..8d5dc2add1a 100644 --- a/htdocs/langs/en_AU/bills.lang +++ b/htdocs/langs/en_AU/bills.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_AU - bills -BankCode=Bank code or BSB \ No newline at end of file +# Dolibarr language file - Source file is en_US - bills +BankCode=Bank code or BSB diff --git a/htdocs/langs/en_AU/companies.lang b/htdocs/langs/en_AU/companies.lang index 93ff6ae4990..42069924aee 100644 --- a/htdocs/langs/en_AU/companies.lang +++ b/htdocs/langs/en_AU/companies.lang @@ -1,9 +1,6 @@ -# Dolibarr language file - en_AU - companies -# This file contains only line that must differs from en_US +# Dolibarr language file - Source file is en_US - companies VATIsUsed=GST is used VATIsNotUsed=GST is not used VATIntra=GST number VATIntraShort=GST number VATIntraVeryShort=GST -VATIntraSyntaxIsValid=Syntax is valid -VATIntraValueIsValid=Value is valid \ No newline at end of file diff --git a/htdocs/langs/en_AU/compta.lang b/htdocs/langs/en_AU/compta.lang index a49ba11a816..d655e71ddf6 100644 --- a/htdocs/langs/en_AU/compta.lang +++ b/htdocs/langs/en_AU/compta.lang @@ -1,5 +1,4 @@ -# Dolibarr language file - en_AU - compta -# This file contains only line that must differs from en_US +# Dolibarr language file - Source file is en_US - compta AmountHTVATRealReceived=Amount excl GST collected AmountHTVATRealPaid=Amount excl GST paid VATToPay=GST to pay @@ -11,5 +10,4 @@ VATCollected=GST collected NewVATPayment=New GST payment VATPayment=GST Payment VATPayments=GST Payments -TotalToPay=Total to pay -TotalVATReceived=Total GST received \ No newline at end of file +TotalVATReceived=Total GST received diff --git a/htdocs/langs/en_AU/main.lang b/htdocs/langs/en_AU/main.lang index 9661763869d..e9516954cb2 100644 --- a/htdocs/langs/en_AU/main.lang +++ b/htdocs/langs/en_AU/main.lang @@ -1,6 +1,8 @@ -# Dolibarr language file - en_AU - main -# This file contains only lines that must differs from en_US file -SeparatorDecimal=. +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=, SeparatorThousand=Space FormatDateShort=%d/%m/%Y FormatDateShortInput=%d/%m/%Y @@ -8,20 +10,16 @@ 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 FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M -UnitPrice=Unit price UnitPriceHT=Unit price (excl GST) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) -PriceUTTC=U.P. -PriceUHTShort=P.U. HT -PriceUTTCShort=P.U. TTC AmountHT=Amount (excl GST) AmountTTC=Amount (incl GST) AmountVAT=Amount GST diff --git a/htdocs/langs/en_AU/withdrawals.lang b/htdocs/langs/en_AU/withdrawals.lang index 59a88bb9fe0..503597bc8ec 100644 --- a/htdocs/langs/en_AU/withdrawals.lang +++ b/htdocs/langs/en_AU/withdrawals.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_AU - withdrawals -ThirdPartyBankCode=Third party bank code or BSB \ No newline at end of file +# Dolibarr language file - Source file is en_US - withdrawals +ThirdPartyBankCode=Third party bank code or BSB 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 28a42a2d38e..d2ceaa175f8 100644 --- a/htdocs/langs/en_GB/admin.lang +++ b/htdocs/langs/en_GB/admin.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_GB - admin +# Dolibarr language file - Source file is en_US - admin DictionaryVAT=VAT Rates diff --git a/htdocs/langs/en_GB/banks.lang b/htdocs/langs/en_GB/banks.lang index 9c0e42f034e..289acc55386 100644 --- a/htdocs/langs/en_GB/banks.lang +++ b/htdocs/langs/en_GB/banks.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_GB - main +# Dolibarr language file - Source file is en_US - banks ValidateCheckReceipt=Validate this cheque receipt ? ConfirmValidateCheckReceipt=Are you sure you want to validate this cheque receipt, no change will be possible once this is done ? DeleteCheckReceipt=Delete this cheque receipt ? @@ -7,4 +7,4 @@ BankChecks=Bank cheques BankChecksToReceipt=Cheques waiting for deposit ShowCheckReceipt=Show cheque deposit receipt NumberOfCheques=Nb of cheque -SelectChequeTransactionAndGenerate=Select/filter cheques to include into the cheque deposit receipt and click on "Create". \ No newline at end of file +SelectChequeTransactionAndGenerate=Select/filter cheques to include into the cheque deposit receipt and click on "Create". diff --git a/htdocs/langs/en_GB/bills.lang b/htdocs/langs/en_GB/bills.lang deleted file mode 100644 index 7f57d6e2fb8..00000000000 --- a/htdocs/langs/en_GB/bills.lang +++ /dev/null @@ -1,38 +0,0 @@ -# Dolibarr language file - en_GB - main -PrettyLittleSentence=Accept the amount of payments due by cheques issued in my name as a Member of an accounting association approved by the Fiscal Administration. -ChequeNumber=Cheque N° -ChequeOrTransferNumber=Cheque/Transfer N° -ChequeMaker=Cheque transmitter -ChequeBank=Bank of Cheque -PaymentByChequeOrderedTo=Cheque payment (including tax) are payable to %s send to -PaymentByChequeOrderedToShort=Cheque payment (including tax) are payable to -MenuChequeDeposits=Cheques deposits -MenuCheques=Cheques -MenuChequesReceipts=Cheques receipts -ChequesReceipts=Cheques receipts -ChequesArea=Cheques deposits area -ChequeDeposits=Cheques deposits -Cheques=Cheques -BankCode=Sort code - -# PaymentConditions -PaymentConditionShortRECEP=Due on Receipt -PaymentConditionRECEP=Due on Receipt - -# PaymentType -PaymentTypeVIR=Bank transfer -PaymentTypeShortVIR=Bank transfer -PaymentTypePRE=Direct debit -PaymentTypeShortPRE=Direct debit -PaymentTypeLIQ=Cash -PaymentTypeShortLIQ=Cash -PaymentTypeCB=Credit card -PaymentTypeShortCB=Credit card -PaymentTypeCHQ=Cheque -PaymentTypeShortCHQ=Cheque -PaymentTypeTIP=TIP -PaymentTypeShortTIP=TIP -PaymentTypeVAD=On line payment -PaymentTypeShortVAD=On line payment -PaymentTypeTRA=Bill payment -PaymentTypeShortTRA=Bill \ No newline at end of file diff --git a/htdocs/langs/en_GB/compta.lang b/htdocs/langs/en_GB/compta.lang index fdc28352121..8bd70a68704 100644 --- a/htdocs/langs/en_GB/compta.lang +++ b/htdocs/langs/en_GB/compta.lang @@ -1,7 +1,7 @@ -# Dolibarr language file - en_GB - main +# Dolibarr language file - Source file is en_US - compta CheckReceipt=Cheque deposit CheckReceiptShort=Cheque deposit NewCheckDeposit=New cheque deposit NoWaitingChecks=No cheques waiting for deposit. DateChequeReceived=Cheque reception date -NbOfCheques=Nb of cheques \ No newline at end of file +NbOfCheques=Nb of cheques diff --git a/htdocs/langs/en_GB/exports.lang b/htdocs/langs/en_GB/exports.lang deleted file mode 100644 index 4f035a9aea4..00000000000 --- a/htdocs/langs/en_GB/exports.lang +++ /dev/null @@ -1,2 +0,0 @@ -# Dolibarr language file - en_GB - exports -BankCode=Sort code \ No newline at end of file diff --git a/htdocs/langs/en_GB/main.lang b/htdocs/langs/en_GB/main.lang index 556febcaaaf..0d2a37aa449 100644 --- a/htdocs/langs/en_GB/main.lang +++ b/htdocs/langs/en_GB/main.lang @@ -1,4 +1,7 @@ -# Dolibarr language file - en_GB - main +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, FormatDateShort=%d/%m/%Y @@ -7,16 +10,18 @@ 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 FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M +AmountVAT=Amount VAT TotalVAT=Total VAT IncludedVAT=Included VAT -HT=Net of tax TTC=Inc. VAT VAT=VAT VATRate=VAT Rate -AmountVAT=Amount VAT diff --git a/htdocs/langs/en_GB/other.lang b/htdocs/langs/en_GB/other.lang index 74c8e72f4c6..5c827f1c4ed 100644 --- a/htdocs/langs/en_GB/other.lang +++ b/htdocs/langs/en_GB/other.lang @@ -1,5 +1,4 @@ -# Dolibarr language file - en_US - other -VolumeUnitm3=m3 +# Dolibarr language file - Source file is en_US - other VolumeUnitdm3=dm3 (l) VolumeUnitcm3=cm3 (ml) -VolumeUnitmm3=mm3 (µl) \ No newline at end of file +VolumeUnitmm3=mm3 (µl) diff --git a/htdocs/langs/en_IN/admin.lang b/htdocs/langs/en_IN/admin.lang index 31a47e78634..4e6f0c06015 100644 --- a/htdocs/langs/en_IN/admin.lang +++ b/htdocs/langs/en_IN/admin.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_IN - admin +# Dolibarr language file - Source file is en_US - admin Module20Name=Quotations Module20Desc=Quotation's management Permission21=Read quotations @@ -9,10 +9,9 @@ Permission26=Close quotations Permission27=Delete quotations Permission28=Export quotations WebCalAddEventOnStatusPropal=Add calendar event on quotations status change -##### Proposals ##### PropalSetup=Quotations module setup ProposalsNumberingModules=Quotations numbering modules ProposalsPDFModules=Quotations documents models HideTreadedPropal=Hide the treated quotations in the list FreeLegalTextOnProposal=Free text on quotations -WatermarkOnDraftProposal=Watermark on draft quotations (none if empty) \ No newline at end of file +WatermarkOnDraftProposal=Watermark on draft quotations (none if empty) diff --git a/htdocs/langs/en_IN/bills.lang b/htdocs/langs/en_IN/bills.lang index 24e1b4e307d..e7f2dd11cfc 100644 --- a/htdocs/langs/en_IN/bills.lang +++ b/htdocs/langs/en_IN/bills.lang @@ -1,10 +1,11 @@ -# Dolibarr language file - en_IN - bills +# Dolibarr language file - Source file is en_US - bills RelatedCommercialProposals=Related quotations +PaymentTypeShortCHQ=Cheque ChequeNumber=Cheque N° ChequeOrTransferNumber=Cheque/Transfer N° ChequeMaker=Cheque transmitter ChequeBank=Bank of Cheque -PrettyLittleSentence=Accept the amount of payments due by cheques issued in my name as a Member of an accounting association approved by the Fiscal Administration. +PrettyLittleSentence=Accept the amount of payments due by cheques issued in my name as a Member of an accounting association approved by the Fiscal Administration. PaymentByChequeOrderedTo=Cheque payment (including tax) are payable to %s send to PaymentByChequeOrderedToShort=Cheque payment (including tax) are payable to MenuChequeDeposits=Cheques deposits @@ -14,4 +15,3 @@ ChequesReceipts=Cheques receipts ChequesArea=Cheques deposits area ChequeDeposits=Cheques deposits Cheques=Cheques -PaymentTypeShortCHQ=Cheque diff --git a/htdocs/langs/en_IN/boxes.lang b/htdocs/langs/en_IN/boxes.lang index 73827f379f9..921fc0285aa 100644 --- a/htdocs/langs/en_IN/boxes.lang +++ b/htdocs/langs/en_IN/boxes.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_IN - boxes +# Dolibarr language file - Source file is en_US - boxes BoxLastProposals=Last quotations BoxTitleLastPropals=Last %s recorded quotations -NoRecordedProposals=No recorded quotations \ No newline at end of file +NoRecordedProposals=No recorded quotations diff --git a/htdocs/langs/en_IN/companies.lang b/htdocs/langs/en_IN/companies.lang index 2aade00195f..6c3e1637652 100644 --- a/htdocs/langs/en_IN/companies.lang +++ b/htdocs/langs/en_IN/companies.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_IN - companies -Zip=Pin Code \ No newline at end of file +# Dolibarr language file - Source file is en_US - companies +Zip=Pin Code diff --git a/htdocs/langs/en_IN/compta.lang b/htdocs/langs/en_IN/compta.lang index a4baaf37679..ffd8565c10c 100644 --- a/htdocs/langs/en_IN/compta.lang +++ b/htdocs/langs/en_IN/compta.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_IN - compta +# Dolibarr language file - Source file is en_US - compta CheckReceipt=Cheque deposit CheckReceiptShort=Cheque deposit NewCheckDeposit=New cheque deposit diff --git a/htdocs/langs/en_IN/main.lang b/htdocs/langs/en_IN/main.lang index 44f3c729259..1847a4b4ab1 100644 --- a/htdocs/langs/en_IN/main.lang +++ b/htdocs/langs/en_IN/main.lang @@ -1,5 +1,7 @@ -# Dolibarr language file - en_US - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, FormatDateShort=%d/%m/%Y @@ -8,17 +10,19 @@ 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=%d/%m/%Y %I:%M %p +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y, %I:%M %p FormatDateHourText=%d %B %Y, %I:%M %p -CommercialProposalsShort=Quotations +AmountVAT=Amount VAT TotalVAT=Total VAT IncludedVAT=Included VAT -HT=Net of tax TTC=Inc. VAT VAT=VAT VATRate=VAT Rate -AmountVAT=Amount VAT +CommercialProposalsShort=Quotations diff --git a/htdocs/langs/en_IN/other.lang b/htdocs/langs/en_IN/other.lang index 9f02c19eee2..67a6767b663 100644 --- a/htdocs/langs/en_IN/other.lang +++ b/htdocs/langs/en_IN/other.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_US - other +# Dolibarr language file - Source file is en_US - other PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \n\n You will find here the quotation __PROPREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ diff --git a/htdocs/langs/en_IN/projects.lang b/htdocs/langs/en_IN/projects.lang index 5c24ec1c76f..72a5a5089ce 100644 --- a/htdocs/langs/en_IN/projects.lang +++ b/htdocs/langs/en_IN/projects.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - en_IN - projects -ListProposalsAssociatedProject=List of the quotations associated with the project \ No newline at end of file +# Dolibarr language file - Source file is en_US - projects +ListProposalsAssociatedProject=List of the quotations associated with the project diff --git a/htdocs/langs/en_IN/propal.lang b/htdocs/langs/en_IN/propal.lang index 7559a0af6ee..04f74459023 100644 --- a/htdocs/langs/en_IN/propal.lang +++ b/htdocs/langs/en_IN/propal.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_US - propal +# Dolibarr language file - Source file is en_US - propal Proposals=Quotations Proposal=Quotation ProposalShort=Quotation @@ -40,12 +40,9 @@ OtherPropals=Other quotations CopyPropalFrom=Create quotation by copying existing quotation CreateEmptyPropal=Create empty quotation or from list of products/services DefaultProposalDurationValidity=Default quotation validity duration (in days) -UseCustomerContactAsPropalRecipientIfExist=Use customer contact address if defined instead of third party address as proposal recipient address ClonePropal=Clone quotation ConfirmClonePropal=Are you sure you want to clone this quotation %s ? ProposalsAndProposalsLines=Quotation and lines ProposalLine=Quotation line -# Document models DocModelAzurDescription=A complete quotation (logo...) DocModelJauneDescription=Jaune quotation model -DocModelRoigDescription=A complete quotation model with Spanish tax RE and IRPF diff --git a/htdocs/langs/en_NZ/companies.lang b/htdocs/langs/en_NZ/companies.lang index 461f74aef64..42069924aee 100644 --- a/htdocs/langs/en_NZ/companies.lang +++ b/htdocs/langs/en_NZ/companies.lang @@ -1,9 +1,6 @@ -# Dolibarr language file - en_NZ - companies -# This file contains only line that must differs from en_US +# Dolibarr language file - Source file is en_US - companies VATIsUsed=GST is used VATIsNotUsed=GST is not used VATIntra=GST number VATIntraShort=GST number VATIntraVeryShort=GST -VATIntraSyntaxIsValid=Syntax is valid -VATIntraValueIsValid=Value is valid \ No newline at end of file diff --git a/htdocs/langs/en_NZ/compta.lang b/htdocs/langs/en_NZ/compta.lang index 238053d97a7..d655e71ddf6 100644 --- a/htdocs/langs/en_NZ/compta.lang +++ b/htdocs/langs/en_NZ/compta.lang @@ -1,5 +1,4 @@ -# Dolibarr language file - en_NZ - compta -# This file contains only line that must differs from en_US +# Dolibarr language file - Source file is en_US - compta AmountHTVATRealReceived=Amount excl GST collected AmountHTVATRealPaid=Amount excl GST paid VATToPay=GST to pay @@ -11,5 +10,4 @@ VATCollected=GST collected NewVATPayment=New GST payment VATPayment=GST Payment VATPayments=GST Payments -TotalToPay=Total to pay -TotalVATReceived=Total GST received \ No newline at end of file +TotalVATReceived=Total GST received diff --git a/htdocs/langs/en_NZ/main.lang b/htdocs/langs/en_NZ/main.lang index d07603dfbd8..aaa245d3508 100644 --- a/htdocs/langs/en_NZ/main.lang +++ b/htdocs/langs/en_NZ/main.lang @@ -1,5 +1,7 @@ -# Dolibarr language file - en_NZ - main -# This file contains only line that must differs from en_US file +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, FormatDateShort=%d/%m/%Y @@ -8,20 +10,16 @@ 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 FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M -UnitPrice=Unit price UnitPriceHT=Unit price (excl GST) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) -PriceUTTC=U.P. -PriceUHTShort=P.U. HT -PriceUTTCShort=P.U. TTC AmountHT=Amount (excl GST) AmountTTC=Amount (incl GST) AmountVAT=Amount GST @@ -37,4 +35,4 @@ IncludedVAT=Included GST HT=excl GST TTC=Incl GST VAT=GST -VATRate=GST Rate \ No newline at end of file +VATRate=GST Rate diff --git a/htdocs/langs/en_SA/main.lang b/htdocs/langs/en_SA/main.lang index 8712c2081e1..8fee9b5f5d9 100644 --- a/htdocs/langs/en_SA/main.lang +++ b/htdocs/langs/en_SA/main.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - en_SA - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr FONTFORPDF=DejaVuSans FONTSIZEFORPDF=9 @@ -10,10 +10,12 @@ 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 FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %I:%M %p +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y, %I:%M %p -FormatDateHourText=%d %B %Y, %I:%M %p \ No newline at end of file +FormatDateHourText=%d %B %Y, %I:%M %p diff --git a/htdocs/langs/en_SA/propal.lang b/htdocs/langs/en_SA/propal.lang index 6f5ff0a090c..459cdde70f6 100644 --- a/htdocs/langs/en_SA/propal.lang +++ b/htdocs/langs/en_SA/propal.lang @@ -1,7 +1,7 @@ -# Dolibarr language file - en_SA - propal +# Dolibarr language file - Source file is en_US - propal Proposals=Commercial Proposals Proposal=Commercial Proposal Prop=Commercial Proposals CommercialProposal=Commercial Proposal CommercialProposals=Commercial Proposals -DateEndPropal=Validity Ending Date \ No newline at end of file +DateEndPropal=Validity Ending Date diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 1335239fd8d..21b008b1d0e 100755 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -494,12 +494,16 @@ 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 @@ -513,7 +517,7 @@ 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 task management +Module2300Desc=Scheduled job management Module2400Name=Agenda Module2400Desc=Events/tasks and agenda management Module2500Name=Electronic Content Management @@ -712,6 +716,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 @@ -756,10 +765,10 @@ 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 task -Permission23002 = Create/update Scheduled task -Permission23003 = Delete Scheduled task -Permission23004 = Execute Scheduled task +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 @@ -1105,7 +1114,7 @@ ModuleCompanyCodeAquarium=Return an accountancy code built by:
    %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 @@ -1170,6 +1179,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 @@ -1592,3 +1608,8 @@ 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 diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang index 13de82c602f..48c284e2022 100644 --- a/htdocs/langs/en_US/agenda.lang +++ b/htdocs/langs/en_US/agenda.lang @@ -91,3 +91,5 @@ WorkingTimeRange=Working time range WorkingDaysRange=Working days range AddEvent=Create event MyAvailability=My availability +ActionType=Event type +DateActionBegin=Start event date \ No newline at end of file diff --git a/htdocs/langs/en_US/askpricesupplier.lang b/htdocs/langs/en_US/askpricesupplier.lang new file mode 100644 index 00000000000..b75a3284146 --- /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=Opened 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=Opened +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=Opened +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 \ No newline at end of file diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 98db518496c..bcc3baadc45 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay 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 9ca1a6df430..cf5e1a6198c 100644 --- a/htdocs/langs/en_US/cron.lang +++ b/htdocs/langs/en_US/cron.lang @@ -26,15 +26,15 @@ CronLastOutput=Last run output CronLastResult=Last result code CronListOfCronJobs=List of scheduled jobs CronCommand=Command -CronList=Jobs list -CronDelete= Delete cron jobs -CronConfirmDelete= Are you sure you want to delete this cron job ? -CronExecute=Launch job -CronConfirmExecute= Are you sure to execute this job now -CronInfo= Jobs allow to execute task that have been planned -CronWaitingJobs=Wainting jobs +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 +CronNone=None CronDtStart=Start date CronDtEnd=End date CronDtNextLaunch=Next execution @@ -75,6 +75,7 @@ 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=The system command line to execute. +CronCreateJob=Create new Scheduled Job # Info CronInfoPage=Information # Common 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/errors.lang b/htdocs/langs/en_US/errors.lang index be75e3a96a3..37670b7f003 100755 --- a/htdocs/langs/en_US/errors.lang +++ b/htdocs/langs/en_US/errors.lang @@ -160,6 +160,13 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified 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 # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/en_US/incoterm.lang b/htdocs/langs/en_US/incoterm.lang new file mode 100644 index 00000000000..0a3f3c677d8 --- /dev/null +++ b/htdocs/langs/en_US/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) \ No newline at end of file diff --git a/htdocs/langs/en_US/loan.lang b/htdocs/langs/en_US/loan.lang new file mode 100644 index 00000000000..4aba2de625c --- /dev/null +++ b/htdocs/langs/en_US/loan.lang @@ -0,0 +1,52 @@ +# Dolibarr language file - Source file is en_US - loan +Loan=Loan +Loans=Loans +NewLoan=New Loan +ShowLoan=Show Loan +PaymentLoan=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 6fffc35bb08..37a50c14965 100644 --- a/htdocs/langs/en_US/mails.lang +++ b/htdocs/langs/en_US/mails.lang @@ -139,3 +139,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 \ No newline at end of file diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang index 0b5347f6e38..36fbd6c659b 100644 --- a/htdocs/langs/en_US/main.lang +++ b/htdocs/langs/en_US/main.lang @@ -159,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -220,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -296,6 +298,7 @@ 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 @@ -349,6 +352,7 @@ Status=Status Favorite=Favorite ShortInfo=Info. Ref=Ref. +ExternalRef=Ref. extern RefSupplier=Ref. supplier RefPayment=Ref. payment CommercialProposalsShort=Commercial proposals @@ -522,6 +526,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -690,6 +695,7 @@ 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. # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang index 4f6e0b0dfb2..602bd1bda59 100644 --- a/htdocs/langs/en_US/orders.lang +++ b/htdocs/langs/en_US/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang index f5b39b3f704..e3de07b3d5d 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,19 +48,20 @@ 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 AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ @@ -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. diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang old mode 100755 new mode 100644 index eb7261ab613..1b9a49b559d --- a/htdocs/langs/en_US/products.lang +++ b/htdocs/langs/en_US/products.lang @@ -245,12 +245,25 @@ 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 #options_myextrafieldkey# +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=Minimun supplier price +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 \ No newline at end of file diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang index dc25c1f33b7..40b1c2e308d 100644 --- a/htdocs/langs/en_US/projects.lang +++ b/htdocs/langs/en_US/projects.lang @@ -31,6 +31,8 @@ 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 @@ -70,6 +72,7 @@ ListSupplierInvoicesAssociatedProject=List of supplier's invoices associated wit 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 @@ -128,12 +131,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 -InputPerTime=Input per time -InputPerDay=Input per day \ No newline at end of file +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/en_US/salaries.lang b/htdocs/langs/en_US/salaries.lang index 0087cbe83e6..0f5f636a3f3 100644 --- a/htdocs/langs/en_US/salaries.lang +++ b/htdocs/langs/en_US/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Salaries payments ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price +CurrentSalary=Current salary \ No newline at end of file diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang index b1ff55f71c1..84088c3e023 100644 --- a/htdocs/langs/en_US/sendings.lang +++ b/htdocs/langs/en_US/sendings.lang @@ -2,6 +2,7 @@ RefSending=Ref. shipment Sending=Shipment Sendings=Shipments +AllSendings=All Shipments Shipment=Shipment Shipments=Shipments ShowSending=Show Sending diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang index fb7dbd26032..53b0618c7b1 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 diff --git a/htdocs/langs/en_ZA/companies.lang b/htdocs/langs/en_ZA/companies.lang deleted file mode 100644 index f41855b944d..00000000000 --- a/htdocs/langs/en_ZA/companies.lang +++ /dev/null @@ -1,9 +0,0 @@ -# Dolibarr language file - en_ZA - companies -# This file contains only line that must differs from en_US -VATIsUsed=VAT is used -VATIsNotUsed=VAT is not used -VATIntra=VAT number -VATIntraShort=VAT number -VATIntraVeryShort=VAT -VATIntraSyntaxIsValid=Syntax is valid -VATIntraValueIsValid=Value is valid \ No newline at end of file diff --git a/htdocs/langs/en_ZA/compta.lang b/htdocs/langs/en_ZA/compta.lang deleted file mode 100644 index 1767142a837..00000000000 --- a/htdocs/langs/en_ZA/compta.lang +++ /dev/null @@ -1,15 +0,0 @@ -# Dolibarr language file - en_ZA - compta -# This file contains only line that must differs from en_US -AmountHTVATRealReceived=Amount excl VAT collected -AmountHTVATRealPaid=Amount excl VAT paid -VATToPay=VAT to pay -VATReceived=VAT received -VATToCollect=VAT to collect -VATSummary=VAT Summary -VATPaid=VAT paid -VATCollected=VAT collected -NewVATPayment=New VAT payment -VATPayment=VAT Payment -VATPayments=VAT Payments -TotalToPay=Total to pay -TotalVATReceived=Total VAT received \ No newline at end of file diff --git a/htdocs/langs/en_ZA/main.lang b/htdocs/langs/en_ZA/main.lang index d1aad81392a..4c30b385ef8 100644 --- a/htdocs/langs/en_ZA/main.lang +++ b/htdocs/langs/en_ZA/main.lang @@ -1,5 +1,7 @@ -# Dolibarr language file - en_ZA - main -# This file contains only line that must differs from en_US file +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, FormatDateShort=%Y/%m/%d @@ -8,33 +10,12 @@ 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 FormatDateText=%d %B %Y FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p FormatDateHourTextShort=%d %b %Y %H:%M FormatDateHourText=%d %B %Y %H:%M -UnitPrice=Unit price -UnitPriceHT=Unit price (without VAT) -UnitPriceTTC=Unit price -PriceU=U.P. -PriceUHT=U.P. (net) -PriceUTTC=U.P. -PriceUHTShort=P.U. excl VAT -PriceUTTCShort=P.U. incl VAT -AmountHT=Amount (excl VAT) -AmountTTC=Amount (incl VAT) -AmountVAT=Amount VAT -PriceQtyHT=Price for this quantity excl VAT -PriceQtyMinHT=Price quantity min. excl VAT -PriceQtyTTC=Price for this quantity incl VAT -PriceQtyMinTTC=Price quantity min. incl VAT -TotalHT=Total (excl VAT) -TotalTTC=Total (incl VAT) -TotalTTCToYourCredit=Total (incl VAT) to your credit -TotalVAT=Total VAT -IncludedVAT=Included VAT -HT=excl VAT -TTC=Incl VAT -VAT=VAT -VATRate=VAT Rate \ No newline at end of file diff --git a/htdocs/langs/es_AR/admin.lang b/htdocs/langs/es_AR/admin.lang index 6aa9664cdfb..8161a7a8e7c 100644 --- a/htdocs/langs/es_AR/admin.lang +++ b/htdocs/langs/es_AR/admin.lang @@ -1,8 +1,6 @@ -# Dolibarr language file - es_AR - admin +# Dolibarr language file - Source file is en_US - admin Module30Name=Facturas y notas de crédito Module30Desc=Gestión de facturas y notas de crédito a clientes. Gestión facturas de proveedores BillsNumberingModule=Módulo de numeración de facturas y notas de crédito CreditNoteSetup=Configuración del módulo notas de crédito CreditNotePDFModules=Modelo de documento de notas de crédito -CreditNote=Nota de crédito -CreditNotes=Notas de crédito diff --git a/htdocs/langs/es_AR/bills.lang b/htdocs/langs/es_AR/bills.lang deleted file mode 100644 index 8bd4d0b82d8..00000000000 --- a/htdocs/langs/es_AR/bills.lang +++ /dev/null @@ -1,22 +0,0 @@ -# Dolibarr language file - es_AR - bills -InvoiceAvoir=Nota de crédito -InvoiceAvoirAsk=Nota de crédito para corregir la factura -InvoiceAvoirDesc=La nota de crédito es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de mÔs o por devolución de productos, por ejemplo). -InvoiceHasAvoir=Corregida por una o mÔs notas de crédito -ConfirmConvertToReduc=¿Quiere convertir esta nota de crédito en una reducción futura?
    El importe de esta nota de crédito se almacenarÔ para este cliente. PodrÔ utilizarse para reducir el importe de una próxima factura del cliente. -AddBill=Crear factura o nota de crédito -EnterPaymentDueToCustomer=Realizar pago de notas de crédito al cliente -ErrorInvoiceAvoirMustBeNegative=Error, una factura de tipo nota de crédito debe tener un importe negativo -ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar (%s %s) se ha regularizado (ya que artículo se ha devuelto, olvidado entregar, descuento no definido...) mediante una nota de crédito -ConfirmClassifyPaidPartiallyReasonOtherDesc=Esta elección serÔ posible, por ejemplo, en los casos siguiente:
    -pago parcial ya que una partida de productos se ha devuleto.
    - reclamado por no entregar productos de la factura
    En todos los casos, la reclamación debe regularizarse mediante una nota de crédito -ShowInvoiceAvoir=Ver nota de crédito -AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos las notas de crédito y anticipos) -ShowDiscount=Ver la nota de crédito -CreditNote=Nota de crédito -CreditNotes=Notas de crédito -DiscountFromCreditNote=Descuento resultante de la nota de crédito %s -AbsoluteDiscountUse=Este tipo de crédito no puede ser utilizado en una factura antes de su validación -CreditNoteDepositUse=La factura debe de estar validada para poder utilizar este tipo de créditos -CreditNoteConvertedIntoDiscount=Esta nota de crédito se convirtió en %s -TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas y %syymm-nnnn para las notas de crédito donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0 -AddCreditNote=Crear nota de crédito \ No newline at end of file diff --git a/htdocs/langs/es_AR/companies.lang b/htdocs/langs/es_AR/companies.lang index 458044a34c1..36f5cbcff4d 100644 --- a/htdocs/langs/es_AR/companies.lang +++ b/htdocs/langs/es_AR/companies.lang @@ -1,5 +1,5 @@ -# Dolibarr language file - es_AR - companies -CompanyHasCreditNote=Este cliente tiene %s %s notas de crédito/anticipos disponibles +# Dolibarr language file - Source file is en_US - companies VATIntra=CUIT VATIntraShort=CUIT -VATIntraVeryShort=CUIT \ No newline at end of file +VATIntraVeryShort=CUIT +CompanyHasCreditNote=Este cliente tiene %s %s notas de crédito/anticipos disponibles diff --git a/htdocs/langs/es_AR/main.lang b/htdocs/langs/es_AR/main.lang new file mode 100644 index 00000000000..2e691473326 --- /dev/null +++ b/htdocs/langs/es_AR/main.lang @@ -0,0 +1,21 @@ +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +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 diff --git a/htdocs/langs/es_AR/stocks.lang b/htdocs/langs/es_AR/stocks.lang index 6d24900d446..295151fbd08 100644 --- a/htdocs/langs/es_AR/stocks.lang +++ b/htdocs/langs/es_AR/stocks.lang @@ -1,3 +1,3 @@ -# Dolibarr language file - es_AR - stocks +# Dolibarr language file - Source file is en_US - stocks DeStockOnBill=Decrementar los stocks físicos sobre las facturas/notas de crédito a clientes ReStockOnBill=Incrementar los stocks físicos sobre las facturas/notas de crédito de proveedores diff --git a/htdocs/langs/es_CL/admin.lang b/htdocs/langs/es_CL/admin.lang index 20f6fdfea33..a1849146e7f 100644 --- a/htdocs/langs/es_CL/admin.lang +++ b/htdocs/langs/es_CL/admin.lang @@ -1,3 +1,4 @@ +# Dolibarr language file - Source file is en_US - admin Module20Name=Cotizaciones Module20Desc=Gestión de cotizaciones/propuestas comerciales Permission21=Consultar cotizaciones @@ -7,10 +8,7 @@ Permission25=Enviar las cotizaciones Permission26=Cerrar cotizaciones Permission27=Eliminar cotizaciones Permission28=Exportar las cotizaciones -DictionnarySource=Orígenes de cotizaciones/pedidos VATIsUsedDesc=El tipo de IVA propuesto por defecto en las creaciones de cotizaciones, facturas, pedidos, etc. Responde a la siguiente regla:
    Si el vendedor no estĆ” sujeto a IVA, IVA por defecto=0. Final de regla.
    Si el paĆ­s del vendedor= paĆ­s del comprador entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y el bien vendido= nuevo medio de transportes (auto, barco, avión), IVA por defecto=0 (el IVA debe ser pagado por comprador a la hacienda pública de su país y no al vendedor). Final de regla
    Si vendedor y comprador residen en la Comunidad Europea y comprador= particular o empresa sin NIF intracomunitario entonces IVA por defecto=IVA del producto vendido. Final de regla.
    Si vendedor y comprador residen en la Comunidad Europea y comprador= empresa con NIF intracomunitario entonces IVA por defecto=0. Final de regla.
    Si no, IVA propuesto por defecto=0. Final de regla.
    -VATIsNotUsedDesc=El tipo de IVA propuesto por defecto es 0. Este es el caso de asociaciones, particulares o algunas pequeñas sociedades. -VATIsUsedExampleFR=En Francia, se trata de las sociedades u organismos que eligen un régimen fiscal general (General simplificado o General normal), régimen en el cual se declara el IVA. Delays_MAIN_DELAY_PROPALS_TO_CLOSE=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones a cerrar Delays_MAIN_DELAY_PROPALS_TO_BILL=Tolerancia de retraso antes de la alerta (en días) sobre cotizaciones no facturadas WebCalAddEventOnStatusPropal=Añadir evento en el calendario en el cambio de estado de las cotizaciones @@ -20,4 +18,4 @@ ProposalsPDFModules=Modelos de documentos de cotizaciones HideTreadedPropal=Ocultar las cotizaciones procesados del listado FreeLegalTextOnProposal=Texto libre en cotizaciones WatermarkOnDraftProposal=Marca de agua en cotizaciones borrador (en caso de estar vacío) -FCKeditorForProductDetails=Creación/edición WYSIWIG de las líneas de detalle de los productos (en pedidos, cotizaciones, facturas, etc.) \ No newline at end of file +FCKeditorForProductDetails=Creación/edición WYSIWIG de las líneas de detalle de los productos (en pedidos, cotizaciones, facturas, etc.) diff --git a/htdocs/langs/es_CL/agenda.lang b/htdocs/langs/es_CL/agenda.lang index deefdc2275c..2418f69ed4c 100644 --- a/htdocs/langs/es_CL/agenda.lang +++ b/htdocs/langs/es_CL/agenda.lang @@ -1,2 +1,3 @@ +# Dolibarr language file - Source file is en_US - agenda PropalValidatedInDolibarr=Cotización %s validada -ProposalSentByEMail=Cotización %s enviada por e-mail \ No newline at end of file +ProposalSentByEMail=Cotización %s enviada por e-mail diff --git a/htdocs/langs/es_CL/bills.lang b/htdocs/langs/es_CL/bills.lang index 63a78444437..2199e215bd6 100644 --- a/htdocs/langs/es_CL/bills.lang +++ b/htdocs/langs/es_CL/bills.lang @@ -1 +1,2 @@ -RelatedCommercialProposals=Cotizaciones asociadas \ No newline at end of file +# Dolibarr language file - Source file is en_US - bills +RelatedCommercialProposals=Cotizaciones asociadas diff --git a/htdocs/langs/es_CL/boxes.lang b/htdocs/langs/es_CL/boxes.lang index 970c91a8fe5..8c9a36c30fd 100644 --- a/htdocs/langs/es_CL/boxes.lang +++ b/htdocs/langs/es_CL/boxes.lang @@ -1,5 +1,6 @@ +# Dolibarr language file - Source file is en_US - boxes BoxLastProposals=Últimas cotizaciones BoxTitleLastPropals=Las %s últimas cotizaciones registradas NoRecordedProposals=Sin cotizaciones registradas BoxProposalsPerMonth=Cotizaciones por mes -ForProposals=Cotizaciones \ No newline at end of file +ForProposals=Cotizaciones diff --git a/htdocs/langs/es_CL/commercial.lang b/htdocs/langs/es_CL/commercial.lang index d468d7d5f19..78806e09307 100644 --- a/htdocs/langs/es_CL/commercial.lang +++ b/htdocs/langs/es_CL/commercial.lang @@ -1,4 +1,5 @@ +# Dolibarr language file - Source file is en_US - commercial SendPropalRef=Envío de la cotización %s ActionAC_PROP=Envío cotización por correo DraftPropals=Cotizaciones borrador -SearchPropal=Buscar una cotización \ No newline at end of file +SearchPropal=Buscar una cotización diff --git a/htdocs/langs/es_CL/companies.lang b/htdocs/langs/es_CL/companies.lang index daef89c75cf..66d1f1d9dc1 100644 --- a/htdocs/langs/es_CL/companies.lang +++ b/htdocs/langs/es_CL/companies.lang @@ -1,2 +1,3 @@ +# Dolibarr language file - Source file is en_US - companies ContactForProposals=Contacto de cotizaciones -NoContactForAnyProposal=Este contacto no es contacto de ninguna cotización \ No newline at end of file +NoContactForAnyProposal=Este contacto no es contacto de ninguna cotización diff --git a/htdocs/langs/es_CL/compta.lang b/htdocs/langs/es_CL/compta.lang index bf18ae78c5f..efe0bb1627b 100644 --- a/htdocs/langs/es_CL/compta.lang +++ b/htdocs/langs/es_CL/compta.lang @@ -1 +1,2 @@ -ProposalStats=Estadísticas de cotizaciones \ No newline at end of file +# Dolibarr language file - Source file is en_US - compta +ProposalStats=Estadísticas de cotizaciones diff --git a/htdocs/langs/es_CL/ecm.lang b/htdocs/langs/es_CL/ecm.lang index 3e20b3e6628..693bda9e4a2 100644 --- a/htdocs/langs/es_CL/ecm.lang +++ b/htdocs/langs/es_CL/ecm.lang @@ -1,2 +1,3 @@ +# Dolibarr language file - Source file is en_US - ecm DocsProposals=Documentos cotizaciones -ECMDocsByProposals=Documentos asociados a cotizaciones \ No newline at end of file +ECMDocsByProposals=Documentos asociados a cotizaciones diff --git a/htdocs/langs/es_CL/install.lang b/htdocs/langs/es_CL/install.lang index 40d447b8653..2e02f3816ab 100644 --- a/htdocs/langs/es_CL/install.lang +++ b/htdocs/langs/es_CL/install.lang @@ -1 +1,2 @@ -MigrationProposal=Migración de datos de cotizaciones \ No newline at end of file +# Dolibarr language file - Source file is en_US - install +MigrationProposal=Migración de datos de cotizaciones diff --git a/htdocs/langs/es_CL/main.lang b/htdocs/langs/es_CL/main.lang index 90e98cca31d..dc549dfb838 100644 --- a/htdocs/langs/es_CL/main.lang +++ b/htdocs/langs/es_CL/main.lang @@ -1 +1,22 @@ -CommercialProposalsShort=Cotizaciones \ No newline at end of file +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=, +SeparatorThousand=. +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=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M +CommercialProposalsShort=Cotizaciones diff --git a/htdocs/langs/es_CL/members.lang b/htdocs/langs/es_CL/members.lang index 59fd53dd993..4e770babbba 100644 --- a/htdocs/langs/es_CL/members.lang +++ b/htdocs/langs/es_CL/members.lang @@ -1 +1,2 @@ -TurnoverOrBudget=Volumen de ventas (empresa) o Cotización (asociación o colectivo) \ No newline at end of file +# Dolibarr language file - Source file is en_US - members +TurnoverOrBudget=Volumen de ventas (empresa) o Cotización (asociación o colectivo) diff --git a/htdocs/langs/es_CL/orders.lang b/htdocs/langs/es_CL/orders.lang index 8810a19bcf8..d40140bd326 100644 --- a/htdocs/langs/es_CL/orders.lang +++ b/htdocs/langs/es_CL/orders.lang @@ -1 +1,2 @@ -OrderSource0=Cotización \ No newline at end of file +# Dolibarr language file - Source file is en_US - orders +OrderSource0=Cotización diff --git a/htdocs/langs/es_CL/other.lang b/htdocs/langs/es_CL/other.lang index f2b10a1a2d2..056e70bee9a 100644 --- a/htdocs/langs/es_CL/other.lang +++ b/htdocs/langs/es_CL/other.lang @@ -1,3 +1,4 @@ +# Dolibarr language file - Source file is en_US - other Notify_PROPAL_VALIDATE=Validación cotización cliente Notify_PROPAL_SENTBYMAIL=Envío cotización por e-mail PredefinedMailContentSendProposal=Buenos días, __CONTACTCIVNAME__ \n\n Nos ponemos en contacto con usted para facilitarle la cotización __PROPREF__\n\n Ante cualquier duda, consúltenos y serÔ atendido a la mayor brevedad posible.\n\n __PERSONALIZED__Cordialmente\n\n__SIGNATURE__ @@ -6,4 +7,3 @@ NumberOfUnitsProposals=Número de unidades en las cotizaciones en los últimos 1 EMailTextProposalValidated=La cotización %s que le concierne ha sido validado. PropalClosedSignedInDolibarr=Cotización %s firmada en Dolibarr PropalClosedRefusedInDolibarr=Cotización %s rechazada en Dolibarr -PropalValidatedInDolibarr=Cotización %s validada en Dolibarr \ No newline at end of file diff --git a/htdocs/langs/es_CL/products.lang b/htdocs/langs/es_CL/products.lang index cf82ea19c2b..9c1f2378871 100644 --- a/htdocs/langs/es_CL/products.lang +++ b/htdocs/langs/es_CL/products.lang @@ -1,3 +1,4 @@ +# Dolibarr language file - Source file is en_US - products AddToMyProposals=Añadir a mis cotizaciones AddToOtherProposals=Añadir a otras cotizaciones -NoteNotVisibleOnBill=Nota (no visible en las facturas, cotizaciones, etc.) \ No newline at end of file +NoteNotVisibleOnBill=Nota (no visible en las facturas, cotizaciones, etc.) diff --git a/htdocs/langs/es_CL/projects.lang b/htdocs/langs/es_CL/projects.lang index a5ee33a39a4..d483e1e5659 100644 --- a/htdocs/langs/es_CL/projects.lang +++ b/htdocs/langs/es_CL/projects.lang @@ -1 +1,2 @@ -ListProposalsAssociatedProject=Listado de cotizaciones asociadas al proyecto \ No newline at end of file +# Dolibarr language file - Source file is en_US - projects +ListProposalsAssociatedProject=Listado de cotizaciones asociadas al proyecto diff --git a/htdocs/langs/es_CL/propal.lang b/htdocs/langs/es_CL/propal.lang index 8242c7d90a4..3099628ae7d 100644 --- a/htdocs/langs/es_CL/propal.lang +++ b/htdocs/langs/es_CL/propal.lang @@ -1,3 +1,4 @@ +# Dolibarr language file - Source file is en_US - propal Proposals=Cotizaciones Proposal=Cotización ProposalShort=Cotización @@ -11,7 +12,6 @@ ProposalCard=Ficha cotización NewProp=Nueva cotización NewProposal=Nueva cotización NewPropal=Nueva cotización -DeletePop=Eliminar cotización ValidateProp=Validar cotización AddProp=Crear cotización ConfirmDeleteProp=¿EstÔ seguro de querer eliminar esta cotización? @@ -22,7 +22,6 @@ AllPropals=Todas las cotizacioness LastProposals=Últimas cotizaciones SearchAProposal=Buscar una cotización ProposalsStatistics=Estadísticas de cotizaciones -NumberOfUnitsProposals=Número de unidades en las cotizaciones en los últimos 12 meses NbOfProposals=Número cotizaciones ShowPropal=Ver cotización PropalStatusValidated=Validado (cotización abierta) @@ -37,7 +36,6 @@ RefProposal=Ref. cotización SendPropalByMail=Enviar cotización por e-mail AssociatedDocuments=Documentos asociados a la cotizacion DatePropal=Fecha cotización -ErrorPropalNotFound=Presupuesto %s inexistente Estimate=Cotización: EstimateShort=Cotización OtherPropals=Otras cotizaciones @@ -51,12 +49,10 @@ ConfirmClonePropal=¿EstÔ seguro de querer clonar la cotización %s? ConfirmReOpenProp=¿EstÔ seguro de querer reabrir la cotización %s ? ProposalsAndProposalsLines=Cotizaciones a clientes y líneas de cotizaciones ProposalLine=Línea de cotización -##### Types de contacts ##### TypeContact_propal_internal_SALESREPFOLL=Comercial seguimiento cotización TypeContact_propal_external_BILLING=Contacto cliente de facturación cotización TypeContact_propal_external_CUSTOMER=Contacto cliente seguimiento cotización -# Document models DocModelAzurDescription=Modelo de cotización completa (logo...) DocModelJauneDescription=Modelo de cotización Jaune DefaultModelPropalToBill=Modelo por defecto al cerrar una cotización (a facturar) -DefaultModelPropalClosed=Modelo por defecto al cerrar una cotización (no facturado) \ No newline at end of file +DefaultModelPropalClosed=Modelo por defecto al cerrar una cotización (no facturado) diff --git a/htdocs/langs/es_CL/workflow.lang b/htdocs/langs/es_CL/workflow.lang index 17b2915fc39..6f07885c897 100644 --- a/htdocs/langs/es_CL/workflow.lang +++ b/htdocs/langs/es_CL/workflow.lang @@ -1,3 +1,4 @@ +# Dolibarr language file - Source file is en_US - workflow descWORKFLOW_PROPAL_AUTOCREATE_ORDER=Crear un pedido de cliente automÔticamente a la firma de una cotización descWORKFLOW_PROPAL_AUTOCREATE_INVOICE=Crear una factura a cliente automÔticamente a la firma de una cotización -descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Clasificar como facturada la cotización cuando el pedido de cliente relacionado se clasifique como pagado \ No newline at end of file +descWORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL=Clasificar como facturada la cotización cuando el pedido de cliente relacionado se clasifique como pagado diff --git a/htdocs/langs/es_CO/admin.lang b/htdocs/langs/es_CO/admin.lang new file mode 100644 index 00000000000..1c53b65c99c --- /dev/null +++ b/htdocs/langs/es_CO/admin.lang @@ -0,0 +1,4 @@ +# 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" +ExampleOfDirectoriesForModelGen=Examples of syntax:
    c:\\mydir
    /home/mydir
    DOL_DATA_ROOT/ecm/ecmdir diff --git a/htdocs/langs/es_CO/companies.lang b/htdocs/langs/es_CO/companies.lang new file mode 100644 index 00000000000..35eea56e886 --- /dev/null +++ b/htdocs/langs/es_CO/companies.lang @@ -0,0 +1,29 @@ +# Dolibarr language file - Source file is en_US - companies +ConfirmDeleteCompany=¿EstÔ seguro de querer eliminar esta empresa y toda la información contenida? +ConfirmDeleteContact=¿EstÔ seguro de querer eliminar este contacto y toda la información contenida? +NewSocGroup=Nueva alianza de empresas +SocGroup=Alianza de empresas +ParentCompany=Sede principal +Subsidiary=Sucursal +Subsidiaries=Sucursales +NoSubsidiary=Ninguna sucursal +RegisteredOffice=Domicilio principal +PostOrFunction=Cargo/función +State=Departamento +PhonePerso=Teléf. personal +ProfId2CO=Identificación (CC, NIT, CE) +ProfId3CO=CIIU +VATIntra=NIT +VATIntraShort=NIT +VATIntraVeryShort=NIT +NoContactForAnyProposal=Este contacto no es contacto de ningúna cotización +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 +ConfirmDeleteDeliveryAddress=¿EstÔ seguro que quiere eliminar esta dirección de envío? +AddDeliveryAddress=Añadir la dirección +ConfirmDeleteFile=¿EstÔ seguro que quiere eliminar este archivo? +ThirdPartiesArea=Área Terceros +ManagingDirectors=Administrador(es) (CEO, gerente, director, presidente, etc.) +SearchThirdparty=Buscar terceros diff --git a/htdocs/langs/es_CO/externalsite.lang b/htdocs/langs/es_CO/externalsite.lang new file mode 100644 index 00000000000..41f70db06fe --- /dev/null +++ b/htdocs/langs/es_CO/externalsite.lang @@ -0,0 +1,2 @@ +# Dolibarr language file - Source file is en_US - externalsite +ExampleMyMenuEntry=Mi entrada en el menú diff --git a/htdocs/langs/es_CO/main.lang b/htdocs/langs/es_CO/main.lang new file mode 100644 index 00000000000..b4e3fdd0dcf --- /dev/null +++ b/htdocs/langs/es_CO/main.lang @@ -0,0 +1,44 @@ +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 +SeparatorDecimal=, +SeparatorThousand=. +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=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M +NoRecordFound=No se encontraron registros +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. +ErrorNoRequestRan=No hay petición +ErrorSomeErrorWereFoundRollbackIsDone=Se encontraron algunos errores. Modificaciones sin aplicar. +ErrorNoSocialContributionForSellerCountry=Error, no hay tipo de carga social definida para el país '%s'. +SeeHere=Ver aquí +FileNotUploaded=El archivo no se subió +FileWasNotUploaded=Un archivo ha sido seleccionado para adjuntarlo, pero aún no se ha subido. Haga clic en "Adjuntar este archivo". +SeeAbove=Ver arriba +InformationToHelpDiagnose=Esta es una información que puede ayudar de diagnóstico +ValidateAndApprove=Validar y aprobar +Disapprove=Desaprobar +NoUserGroupDefined=No hay grupo de usuario definido +DateAndHour=Fecha y hora +DateModificationShort=Fecha modificación +UseLocalTax=Incluir impuestos +CommercialProposalsShort=Cotizaciones +RequestAlreadyDone=La solicitud ya ha sido procesada +NbOfReferers=Número de remitentes +Currency=Moneda +SelectElementAndClickRefresh=Seleccione un elemento y haga clic en Actualizar +PrintFile=Imprimir archivo %s +ShowTransaction=Mostrar transacción diff --git a/htdocs/langs/es_CO/salaries.lang b/htdocs/langs/es_CO/salaries.lang new file mode 100644 index 00000000000..a0ff0166a6d --- /dev/null +++ b/htdocs/langs/es_CO/salaries.lang @@ -0,0 +1,6 @@ +# Dolibarr language file - Source file is en_US - salaries +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Código contable para pagos de salarios +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Código contable para cargo financiero +THM=Valor de hora promedio +TJM=Valor día promedio +CurrentSalary=Salario actual diff --git a/htdocs/langs/es_DO/admin.lang b/htdocs/langs/es_DO/admin.lang index 8fcc2394a87..f4213f15cbc 100644 --- a/htdocs/langs/es_DO/admin.lang +++ b/htdocs/langs/es_DO/admin.lang @@ -13,12 +13,10 @@ VATIsUsedExampleFR=En Francia, se trata de las sociedades u organismos que elige VATIsNotUsedExampleFR=En Francia, se trata de asociaciones exentas de ITBIS o sociedades, organismos o profesiones liberales que han elegido el régimen fiscal de módulos (ITBIS en franquicia), pagando un ITBIS en franquicia sin hacer declaración de IVA. Esta elección hace aparecer la anotación "IVA no aplicable - art-293B del CGI" en las facturas. LocalTax1IsUsedDesc=Uso de un 2º tipo de impuesto (Distinto del ITBIS) LocalTax1IsNotUsedDesc=No usar un 2º tipo de impuesto (Distinto del ITBIS) -LocalTax2IsUsedDesc=Uso de un 3er. tipo de impuesto (Distinto del IVA) -LocalTax2IsNotUsedDesc=No usar un 3er. tipo de impuesto (Distinto del IVA) UnitPriceOfProduct=Precio unitario sin ITBIS de un producto ShowVATIntaInAddress=Ocultar el identificador ITBIS en las direcciones de los documentos OptionVatMode=Opción de carga de ITBIS OptionVatDefaultDesc=La carga del ITBIS es:
    -en el envƭo de los bienes (en la prƔctica se usa la fecha de la factura)
    -sobre el pago por los servicios OptionVatDebitOptionDesc=La carga del ITBIS es:
    -en el envƭo de los bienes (en la prƔctica se usa la fecha de la factura)
    -sobre la facturación de los servicios SummaryOfVatExigibilityUsedByDefault=Tiempo de exigibilidad de ITBIS por defecto según la opción eligida -YourCompanyDoesNotUseVAT=Su empresa estÔ configurada como no sujeta al ITBIS (Inicio - Configuración - Empresa/Institución), por lo que no hay opción para la paremetrización del ITBIS. \ No newline at end of file +YourCompanyDoesNotUseVAT=Su empresa estÔ configurada como no sujeta al ITBIS (Inicio - Configuración - Empresa/Institución), por lo que no hay opción para la paremetrización del ITBIS. diff --git a/htdocs/langs/es_DO/companies.lang b/htdocs/langs/es_DO/companies.lang index 149e6ab15d4..564a9951b97 100644 --- a/htdocs/langs/es_DO/companies.lang +++ b/htdocs/langs/es_DO/companies.lang @@ -1,4 +1,4 @@ # Dolibarr language file - Source file is en_US - companies VATIsUsed=Sujeto a ITBIS VATIsNotUsed=No sujeto a ITBIS -VATIntraCheckDesc=El link %s permite consultar al servicio europeo de control de números de ITBIS intracomunitario. Se requiere acceso a internet para que el servicio funcione \ No newline at end of file +VATIntraCheckDesc=El link %s permite consultar al servicio europeo de control de números de ITBIS intracomunitario. Se requiere acceso a internet para que el servicio funcione diff --git a/htdocs/langs/es_DO/compta.lang b/htdocs/langs/es_DO/compta.lang index 4474b523ba5..9713057f7e2 100644 --- a/htdocs/langs/es_DO/compta.lang +++ b/htdocs/langs/es_DO/compta.lang @@ -25,4 +25,4 @@ RulesVATInProducts=- Para los bienes materiales, incluye el ITBIS de las factura RulesVATDueServices=- Para los servicios, el informe incluye el ITBIS de las facturas debidas, pagadas o no basÔndose en la fecha de estas facturas. RulesVATDueProducts=- Para los bienes materiales, incluye el ITBIS de las facturas basÔndose en la fecha de la factura. ACCOUNTING_VAT_ACCOUNT=Código contable por defecto para el ITBIS repercutido -ACCOUNTING_VAT_BUY_ACCOUNT=Código contable por defecto para el ITBIS soportado \ No newline at end of file +ACCOUNTING_VAT_BUY_ACCOUNT=Código contable por defecto para el ITBIS soportado diff --git a/htdocs/langs/es_DO/main.lang b/htdocs/langs/es_DO/main.lang index 7076727abdd..21cb2cca37c 100644 --- a/htdocs/langs/es_DO/main.lang +++ b/htdocs/langs/es_DO/main.lang @@ -1,9 +1,5 @@ # Dolibarr language file - Source file is en_US - main DIRECTION=ltr -# Note for Chinese: -# msungstdlight or cid0ct are for traditional Chinese (traditional does not render with Ubuntu pdf reader) -# stsongstdlight or cid0cs are for simplified Chinese -# To read Chinese pdf with Linux: sudo apt-get install poppler-data FONTFORPDF=helvetica FONTSIZEFORPDF=10 SeparatorDecimal=, @@ -14,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 @@ -29,4 +26,4 @@ IncludedVAT=ITBIS incluido HT=Sin ITBIS TTC=ITBIS incluido VAT=ITBIS -VATRate=Tasa ITBIS \ No newline at end of file +VATRate=Tasa ITBIS diff --git a/htdocs/langs/es_ES/admin.lang b/htdocs/langs/es_ES/admin.lang index 78ce8878190..45dc1e4858b 100644 --- a/htdocs/langs/es_ES/admin.lang +++ b/htdocs/langs/es_ES/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=Desarrollo VersionUnknown=Desconocida VersionRecommanded=Recomendada +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID sesión SessionSaveHandler=Modalidad de salvaguardado de sesiones SessionSavePath=Localización salvaguardado de sesiones @@ -493,10 +498,16 @@ Module600Name=Notificaciones Module600Desc=Envío de notificaciones por e-mail en algunos eventos de negocio de Dolibarr a contactos de terceros (configurado en cada tercero) Module700Name=Donaciones Module700Desc=Gestión de donaciones +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=Interfaz con el sistema de seguimiento de incidencias Mantis Module1400Name=Contabilidad experta Module1400Desc=Gestión experta de la contabilidad (doble partida) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categorías Module1780Desc=Gestión de categorías (productos, proveedores y clientes) Module2000Name=Editor WYSIWYG @@ -631,7 +642,7 @@ Permission181=Consultar pedidos a proveedores Permission182=Crear/modificar pedidos a proveedores Permission183=Validar pedidos a proveedores Permission184=Aprobar pedidos a proveedores -Permission185=Enviar pedidos a proveedores +Permission185=Order or cancel supplier orders Permission186=Recibir pedidos de proveedores Permission187=Cerrar pedidos a proveedores Permission188=Anular pedidos a proveedores @@ -711,6 +722,13 @@ Permission538=Exportar servicios Permission701=Consultar donaciones Permission702=Crear/modificar donaciones Permission703=Eliminar donaciones +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=Consultar stocks Permission1002=Crear/modificar almacenes Permission1003=Eliminar almacenes @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Contraseña del servidor proxy DefineHereComplementaryAttributes=Defina aquí la lista de atributos adicionales, no disponibles por defecto, y que desea gestionar para %s. ExtraFields=Atributos adicionales ExtraFieldsLines=Atributos adicionales (líneas) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Atributos adicionales (terceros) ExtraFieldsContacts=Atributos adicionales (contactos/direcciones) ExtraFieldsMember=Atributos adicionales (miembros) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Una línea de producto/servicio que tiene una cantidad FreeLegalTextOnProposal=Texto libre en presupuestos WatermarkOnDraftProposal=Marca de agua en presupuestos borrador (en caso de estar vacío) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Preguntar por cuenta bancaria a usar en el presupuesto +##### 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=Configuración del módulo pedidos OrdersNumberingModules=Módulos de numeración de los pedidos @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Herramienta de generación de códigos de barras en líneas de pedidos (utilizado por el motor phpbar para determinados tipos de códigos de barras) +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=Gestor para auto definir números de código de barras ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Tercero genérico a usar para las ventas CashDeskBankAccountForSell=Cuenta por defecto a utilizar para los cobros en efectivo (caja) CashDeskBankAccountForCheque= Cuenta por defecto a utilizar para los cobros con cheques CashDeskBankAccountForCB= Cuenta por defecto a utilizar para los cobros con tarjeta de crédito -CashDeskDoNotDecreaseStock=Desactivar decrementos de stock si una venta se realiza desde TPV +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=Forzar y restringir almacén a usar para decremento de stock StockDecreaseForPointOfSaleDisabled=Decremento de stock desde TPV desactivado +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Usted no ha desactivado el decremento de stock al hacer una venta desde TPV. Así que se requiere un almacén. ##### Bookmark ##### BookmarkSetup=Configuración del módulo Marcadores @@ -1569,3 +1597,7 @@ SortOrder=Ordenación Format=Formatear TypePaymentDesc=0:Pago cliente,1:Pago proveedor,2:Tanto pago de cliente como de proveedor IncludePath=Include path (definida en la 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. diff --git a/htdocs/langs/es_ES/banks.lang b/htdocs/langs/es_ES/banks.lang index 647e7987293..3117ecc1f15 100644 --- a/htdocs/langs/es_ES/banks.lang +++ b/htdocs/langs/es_ES/banks.lang @@ -33,7 +33,11 @@ AllTime=Mostrar saldo desde el inicio Reconciliation=Conciliación RIB=Cuenta bancaria IBAN=Identificador IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Identificador BIC/SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Domiciliaciones StandingOrder=Domiciliación Withdrawals=Reintregros @@ -148,7 +152,7 @@ BackToAccount=Volver a la cuenta ShowAllAccounts=Mostrar para todas las cuentas FutureTransaction=Transacción futura. No es posible conciliar. SelectChequeTransactionAndGenerate=Seleccione/filtre los cheques a incluir en la remesa y haga clic en "Crear". -InputReceiptNumber=Indique el extracto bancario relacionado con la conciliación. Utilice un valor numérico ordenable (por ejemplo, AAAAMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Eventualmente, indique una categoría en la que clasificar los registros ToConciliate=¿A conciliar? ThenCheckLinesAndConciliate=A continuación, compruebe las líneas presentes en el extracto bancario y haga clic diff --git a/htdocs/langs/es_ES/bills.lang b/htdocs/langs/es_ES/bills.lang index 782efdf26e2..dc4aa2e3948 100644 --- a/htdocs/langs/es_ES/bills.lang +++ b/htdocs/langs/es_ES/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Pagos efectuados PaymentsBackAlreadyDone=Reembolsos ya efectuados PaymentRule=Forma de pago PaymentMode=Forma de pago -PaymentConditions=Condiciones de pago -PaymentConditionsShort=Condiciones pago +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Importe pago ValidatePayment=Validar este pago PaymentHigherThanReminderToPay=Pago superior al resto a pagar diff --git a/htdocs/langs/es_ES/commercial.lang b/htdocs/langs/es_ES/commercial.lang index 99219ff6c2f..51de60229c8 100644 --- a/htdocs/langs/es_ES/commercial.lang +++ b/htdocs/langs/es_ES/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Clientes potenciales contactados DateActionPlanned=Fecha planificación DateActionDone=Fecha realización ActionAskedBy=Acción preguntada por -ActionAffectedTo=Evento para +ActionAffectedTo=Event assigned to ActionDoneBy=Acción realizada por ActionUserAsk=Registrada por ErrorStatusCantBeZeroIfStarted=Si el campo 'Fecha de realización' contiene datos la acción estÔ en curso , por lo que el campo ' Estado ' no puede ser 0%. diff --git a/htdocs/langs/es_ES/contracts.lang b/htdocs/langs/es_ES/contracts.lang index 76dd3e925de..654a55badde 100644 --- a/htdocs/langs/es_ES/contracts.lang +++ b/htdocs/langs/es_ES/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expirado ServiceStatusClosed=Cerrado ServicesLegend=Leyenda para los servicios Contracts=Contratos +ContractsAndLine=Contracts and line of contracts Contract=Contrato NoContracts=Sin contratos MenuServices=Servicios diff --git a/htdocs/langs/es_ES/cron.lang b/htdocs/langs/es_ES/cron.lang index d8d9065c901..d436847a411 100644 --- a/htdocs/langs/es_ES/cron.lang +++ b/htdocs/langs/es_ES/cron.lang @@ -84,3 +84,4 @@ CronType_command=Comando Shell CronMenu=Programador CronCannotLoadClass=No se puede cargar la clase %s u objeto %s UseMenuModuleToolsToAddCronJobs=Ir a "Inicio - Utilidades módulos - Lista de tareas Cron" para ver y editar tareas programadas. +TaskDisabled=Task disabled diff --git a/htdocs/langs/es_ES/errors.lang b/htdocs/langs/es_ES/errors.lang index 18ee8a8a9ee..f8506d6e27b 100644 --- a/htdocs/langs/es_ES/errors.lang +++ b/htdocs/langs/es_ES/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=La cuenta origen y destino deben ser diferentes. ErrorBadThirdPartyName=Nombre de tercero incorrecto ErrorProdIdIsMandatory=El %s es obligatorio ErrorBadCustomerCodeSyntax=La sintaxis del código cliente es incorrecta -ErrorBadBarCodeSyntax=El código de barras no posee un formato vÔlido +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=Código cliente obligatorio ErrorBarCodeRequired=Código de barras requerido ErrorCustomerCodeAlreadyUsed=Código de cliente ya utilizado @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript no debe estar desactivado para que esta ErrorPasswordsMustMatch=Las 2 contraseñas indicadas deben corresponderse ErrorContactEMail=Se ha producido un error técnico. Contacte con el administrador al e-mail %s, indicando el código de error %s en su mensaje, o puede también adjuntar una copia de pantalla de esta pÔgina. ErrorWrongValueForField=Valor incorrecto para el campo número %s (el valor '%s' no cumple con la regla %s) -ErrorFieldValueNotIn=Valor incorrecto para el campo número %s (el valor '%s' no es un valor en el campo %s de la tabla %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Valor incorrecto para el campo número %s (el valor '%s' no es una referencia existente en %s) ErrorsOnXLines=Errores en %s líneas fuente ErrorFileIsInfectedWithAVirus=”El antivirus no ha podido validar este archivo (es probable que esté infectado por un virus)! @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Error interno '%s' ErrorPriceExpressionUnknown=Error desconocido '%s' ErrorSrcAndTargetWarehouseMustDiffers=Los almacenes de origen y destino deben de ser diferentes ErrorTryToMakeMoveOnProductRequiringBatchData=Error, intenta hacer un movimiento de stock sin indicar lote/serie, en un producto que requiere de lote/serie +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Los parÔmetros obligatorios de configuración no estÔn todavía definidos 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/install.lang b/htdocs/langs/es_ES/install.lang index a93ded0ce8e..9a567b19ed5 100644 --- a/htdocs/langs/es_ES/install.lang +++ b/htdocs/langs/es_ES/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Último paso: Indique aquí la cuenta y la contras ActivateModule=Activación del módulo %s ShowEditTechnicalParameters=Pulse aquí para ver/editar los parÔmetros técnicos (modo experto) WarningUpgrade=Atención:\nHa pensado en hacer una copia de seguridad de la base de datos?\nEs muy recomendable: por ejemplo, debido a algunos fallos en los sistemas de bases de datos (por ejemplo MySQL versión 5.5.40), algunos datos o tablas se pueden perder durante este proceso, por lo que es muy recomendable tener una copia completa de su base de datos antes de iniciar la migración.\n\nHaga clic en OK para iniciar el proceso de migración... +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 diff --git a/htdocs/langs/es_ES/main.lang b/htdocs/langs/es_ES/main.lang index 80c77d8c09e..300e17729fe 100644 --- a/htdocs/langs/es_ES/main.lang +++ b/htdocs/langs/es_ES/main.lang @@ -141,6 +141,7 @@ Cancel=Anular Modify=Modificar Edit=Editar Validate=Validar +ValidateAndApprove=Validate and Approve ToValidate=A validar Save=Grabar SaveAs=Grabar como @@ -158,6 +159,7 @@ Search=Buscar SearchOf=Búsqueda de Valid=Validar Approve=Aprobar +Disapprove=Disapprove ReOpen=Reabrir Upload=Enviar archivo ToLink=Enlace @@ -219,6 +221,7 @@ Cards=Fichas Card=Ficha Now=Ahora Date=Fecha +DateAndHour=Date and hour DateStart=Fecha inicio DateEnd=Fecha fin DateCreation=Fecha de creación @@ -295,6 +298,7 @@ UnitPriceHT=Precio base UnitPriceTTC=Precio unitario total PriceU=P.U. PriceUHT=P.U. +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=P.U. Total Amount=Importe AmountInvoice=Importe factura @@ -521,6 +525,7 @@ DateFromTo=De %s a %s DateFrom=A partir de %s DateUntil=Hasta %s Check=Verificar +Uncheck=Uncheck Internal=Interno External=Externo Internals=Internos @@ -688,6 +693,7 @@ PublicUrl=URL pública AddBox=Añadir caja SelectElementAndClickRefresh=Seleccione un elemento y haga clic en Refrescar PrintFile=Imprimir Archivo %s +ShowTransaction=Show transaction # Week day Monday=Lunes Tuesday=Martes diff --git a/htdocs/langs/es_ES/orders.lang b/htdocs/langs/es_ES/orders.lang index 895a5c32915..46e87bd4dc7 100644 --- a/htdocs/langs/es_ES/orders.lang +++ b/htdocs/langs/es_ES/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Anulado StatusOrderDraft=Borrador (a validar) StatusOrderValidated=Validado StatusOrderOnProcess=Pedido - En espera de recibir +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Procesado StatusOrderToBill=Emitido StatusOrderToBill2=A facturar @@ -58,6 +59,7 @@ MenuOrdersToBill=Pedidos a facturar MenuOrdersToBill2=Pedidos facturables SearchOrder=Buscar un pedido SearchACustomerOrder=Buscar un pedido de cliente +SearchASupplierOrder=Search a supplier order ShipProduct=Enviar producto Discount=Descuento CreateOrder=Crear pedido diff --git a/htdocs/langs/es_ES/other.lang b/htdocs/langs/es_ES/other.lang index fe430c2878c..01d97afcc34 100644 --- a/htdocs/langs/es_ES/other.lang +++ b/htdocs/langs/es_ES/other.lang @@ -54,12 +54,13 @@ MaxSize=Tamaño mÔximo AttachANewFile=Adjuntar nuevo archivo/documento LinkedObject=Objeto adjuntado Miscellaneous=MiscelÔnea -NbOfActiveNotifications=Número notificaciones +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Esto es un correo de prueba.\nLas 2 líneas estÔn separadas por un retorno de carro a la línea. PredefinedMailTestHtml=Esto es un e-mail de prueba(la palabra prueba debe de estar en negrita).
    Las 2 líneas estÔn separadas por un retorno de carro en la línea PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nLe adjuntamos la factura __FACREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nQueremos recordarle que su factura __FACREF__ parece estar pendiente de pago. Le adjuntamos la factura en cuestión, como recordatorio.\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nLe adjuntamos el presupuesto __PROPREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nLe adjuntamos el pedido __ORDERREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nLe adjuntamos nuestro pedido __ORDERREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nLe adjuntamos la factura __FACREF__\n\n__PERSONALIZED__Cordialmente\n\n__SIGNATURE__ 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_ES/productbatch.lang b/htdocs/langs/es_ES/productbatch.lang index 6fa46be9db5..8540dfd80c9 100644 --- a/htdocs/langs/es_ES/productbatch.lang +++ b/htdocs/langs/es_ES/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Número Lote/Serie l_eatby=Fecha de caducidad l_sellby=Fecha límite de venta DetailBatchNumber=Detalles del lote/serie -DetailBatchFormat=Lote/Serie: %s - Caducidad: %s - Límite venta: %s (Stock: %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lote: %s printEatby=Caducidad: %s printSellby=Límite venta: %s diff --git a/htdocs/langs/es_ES/products.lang b/htdocs/langs/es_ES/products.lang index e07e882a1ee..ab2875577b0 100644 --- a/htdocs/langs/es_ES/products.lang +++ b/htdocs/langs/es_ES/products.lang @@ -250,3 +250,7 @@ PriceExpressionEditorHelp3=En productos y servicios, y precios de proveedor est PriceExpressionEditorHelp4=Solamente en los precios de productos y servicios: #supplier_min_price#
    In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Modo precio PriceNumeric=Número +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/es_ES/projects.lang b/htdocs/langs/es_ES/projects.lang index b17e8892198..da3e7c8b288 100644 --- a/htdocs/langs/es_ES/projects.lang +++ b/htdocs/langs/es_ES/projects.lang @@ -8,8 +8,10 @@ SharedProject=Proyecto compartido PrivateProject=Contactos del proyecto MyProjectsDesc=Esta vista muestra aquellos proyectos en los que usted es un contacto afectado (cualquier tipo). ProjectsPublicDesc=Esta vista muestra todos los proyectos a los que usted tiene derecho a visualizar. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Esta vista muestra todos los proyectos (sus permisos de usuario le permiten tener una visión completa). MyTasksDesc=Esta vista se limita a los proyectos y tareas en los que usted es un contacto afectado en al menos una tarea (cualquier tipo). +OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). TasksPublicDesc=Esta vista muestra todos los proyectos y tareas en los que usted tiene derecho a tener visibilidad. TasksDesc=Esta vista muestra todos los proyectos y tareas (sus permisos de usuario le permiten tener una visión completa). ProjectsArea=Área proyectos @@ -29,6 +31,8 @@ NoProject=Ningún proyecto definido NbOpenTasks=Nº tareas abiertas NbOfProjects=Nº de proyectos TimeSpent=Tiempo dedicado +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tiempos dedicados RefTask=Ref. tarea LabelTask=Etiqueta tarea @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Listado de pedidos a proveedores asociados a ListSupplierInvoicesAssociatedProject=Listado de facturas de proveedor asociados al proyecto ListContractAssociatedProject=Listado de contratos asociados al proyecto ListFichinterAssociatedProject=Listado de intervenciones asociadas al proyecto -ListTripAssociatedProject=Listado notas de honorarios asociadas al proyecto +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Lista de eventos asociados al proyecto ActivityOnProjectThisWeek=Actividad en el proyecto esta semana ActivityOnProjectThisMonth=Actividad en el proyecto este mes @@ -126,10 +130,15 @@ AddElement=Vincular a elmento UnlinkElement=Desvincular elemento # Documents models DocumentModelBaleine=Modelo de informe de proyecto completo (logo...) -PlannedWorkload = Carga de trabajo prevista -WorkloadOccupation= Porcentaje afectado +PlannedWorkload=Carga de trabajo prevista +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Objetos vinculados SearchAProject=Buscar un proyecto ProjectMustBeValidatedFirst=El proyecto debe validarse primero ProjectDraft=Proyectos borrador FirstAddRessourceToAllocateTime=Asociar un recurso para asignar tiempo consumido +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/es_ES/salaries.lang b/htdocs/langs/es_ES/salaries.lang index c8e3707d5df..6995284079c 100644 --- a/htdocs/langs/es_ES/salaries.lang +++ b/htdocs/langs/es_ES/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Pagos de salarios ShowSalaryPayment=Ver pago THM=Precio medio por hora TJM=Precio medio por día +CurrentSalary=Current salary diff --git a/htdocs/langs/es_ES/sendings.lang b/htdocs/langs/es_ES/sendings.lang index cf377a641db..c119cd363d2 100644 --- a/htdocs/langs/es_ES/sendings.lang +++ b/htdocs/langs/es_ES/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Cant. pedida QtyShipped=Cant. enviada QtyToShip=Cant. a enviar QtyReceived=Cant. recibida -KeepToShip=Queda por enviar +KeepToShip=Remain to ship OtherSendingsForSameOrder=Otros envíos de este pedido DateSending=Fecha de expedición DateSendingShort=Fecha de expedición diff --git a/htdocs/langs/es_ES/stocks.lang b/htdocs/langs/es_ES/stocks.lang index c45945ede6e..bb9f7423361 100644 --- a/htdocs/langs/es_ES/stocks.lang +++ b/htdocs/langs/es_ES/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Valor (PMP) PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Crear automÔticamente existencias/almacén propio del usuario en la creación del usuario +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Cantidad recibida QtyDispatchedShort=Cant. recibida QtyToDispatchShort=Cant. a enviar @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Para el decremento de stock se usarÔ el almacén % WarehouseForStockIncrease=Para el incremento de stock se usarÔ el almacén %s ForThisWarehouse=Para este almacén ReplenishmentStatusDesc=Esta es la lista de todos los productos con un stock menor que el stock deseado (o menor que el valor de alerta si el checkbox "sólo alertas" estÔ marcado) y que sugiere crear pedidos de proveedor para rellenar la diferencia. -ReplenishmentOrdersDesc=Este es el listado de pedidos a proveedores en curso +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=Reaprovisionamiento NbOfProductBeforePeriod=Cantidad del producto %s en stock antes del periodo seleccionado (< %s) NbOfProductAfterPeriod=Cantidad del producto %s en stock después del periodo seleccionado (> %s) @@ -130,3 +131,4 @@ IsInPackage=Contenido en el paquete ShowWarehouse=Mostrar almacén MovementCorrectStock=Corrección de stock del producto %s MovementTransferStock=Transferencia de stock del producto %s a otro almacén +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. diff --git a/htdocs/langs/es_ES/suppliers.lang b/htdocs/langs/es_ES/suppliers.lang index a7d37289ca7..7e0f2718572 100644 --- a/htdocs/langs/es_ES/suppliers.lang +++ b/htdocs/langs/es_ES/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Proveedores -Supplier=Proveedor AddSupplier=Crear un proveedor SupplierRemoved=Proveedor eliminado SuppliersInvoice=Factura proveedor @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Facturas proveedores y pagos ExportDataset_fournisseur_3=Pedidos de proveedores y líneas de pedido ApproveThisOrder=Aprobar este pedido ConfirmApproveThisOrder=¿EstÔ seguro de querer aprobar el pedido a proveedor %s? -DenyingThisOrder=Denegar este pedido +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=¿EstÔ seguro de querer denegar el pedido a proveedor %s? ConfirmCancelThisOrder=¿EstÔ seguro de querer cancelar el pedido a proveedor %s? AddCustomerOrder=Crear pedido de cliente diff --git a/htdocs/langs/es_ES/trips.lang b/htdocs/langs/es_ES/trips.lang index ff2cdf724bd..a3e5cf804bf 100644 --- a/htdocs/langs/es_ES/trips.lang +++ b/htdocs/langs/es_ES/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Desplazamiento -Trips=Desplazamientos -TripsAndExpenses=Honorarios -TripsAndExpensesStatistics=Estadísticas de honorarios -TripCard=Ficha honorario -AddTrip=Crear honorario -ListOfTrips=Listado de honorarios +ExpenseReport=Expense report +ExpenseReports=Expense reports +Trip=Informe de gastos +Trips=Informes de gastos +TripsAndExpenses=Informes de gastos +TripsAndExpensesStatistics=Estadísticas de gastos +TripCard=Ficha informe de gastos +AddTrip=Crear informe de gastos +ListOfTrips=Listado de informe de gastos ListOfFees=Listado notas de honorarios -NewTrip=Nuevo honorario +NewTrip=Nuevo informe de gastos CompanyVisited=Empresa/institución visitada Kilometers=Kilometros FeesKilometersOrAmout=Importe o kilómetros -DeleteTrip=Eliminar honorario -ConfirmDeleteTrip=¿EstÔ seguro de querer eliminar este honorario? -TF_OTHER=Otro -TF_LUNCH=Dieta -TF_TRIP=Viaje -ListTripsAndExpenses=Listado notas de honorarios -ExpensesArea=Área de Notas de honorarios -SearchATripAndExpense=Buscar un honorario +DeleteTrip=Eliminar informe de gastos +ConfirmDeleteTrip=¿EstÔ seguro de querer eliminar este informe de gastos? +ListTripsAndExpenses=Listado de informe de gastos +ListToApprove=Waiting for approval +ExpensesArea=Área informe de gastos +SearchATripAndExpense=Search an expense report ClassifyRefunded=Clasificar 'Reembolsado' +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=Otro +TF_TRANSPORTATION=Transportation +TF_LUNCH=Dieta +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +TF_TAXI=Taxi + +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +ListTripsAndExpenses=Listado de informe de gastos +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 to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/es_HN/admin.lang b/htdocs/langs/es_HN/admin.lang index a823583bd50..1008ca5171d 100644 --- a/htdocs/langs/es_HN/admin.lang +++ b/htdocs/langs/es_HN/admin.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_HN - admin +# Dolibarr language file - Source file is en_US - admin Permission91=Consultar impuestos e ISV Permission92=Crear/modificar impuestos e ISV Permission93=Eliminar impuestos e ISV diff --git a/htdocs/langs/es_HN/bills.lang b/htdocs/langs/es_HN/bills.lang index f7136eb8fdf..62504667750 100644 --- a/htdocs/langs/es_HN/bills.lang +++ b/htdocs/langs/es_HN/bills.lang @@ -1,9 +1,7 @@ -# Dolibarr language file - es_HN - bills +# Dolibarr language file - Source file is en_US - bills ErrorVATIntraNotConfigured=Número de ISV intracomunitario aún no configurado ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar (%s %s) es un descuento acordado después de la factura. Acepto perder el ISV de este descuento AmountOfBillsByMonthHT=Importe de las facturas por mes (Sin ISV) IntracommunityVATNumber=Número de ISV intracomunitario VATIsNotUsedForInvoice=* ISV no aplicable art-293B del CGI -PDFBerniqueDescription=Modelo para las facturas con varios tipos de ISV, incluido también el número de ISV Intracomunitario PDFCrabeDescription=Modelo de factura completo (ISV, método de pago a mostrar, logotipo...) -PDFOursinDescription=Modelo de factura completo (ISV, métodos de pago, entregas, nombre del proyecto, referencias de presupuesto, logotipo...) diff --git a/htdocs/langs/es_HN/companies.lang b/htdocs/langs/es_HN/companies.lang index 3ffed8aac17..25fd5487290 100644 --- a/htdocs/langs/es_HN/companies.lang +++ b/htdocs/langs/es_HN/companies.lang @@ -1,6 +1,6 @@ -# Dolibarr language file - es_HN - companies +# Dolibarr language file - Source file is en_US - companies VATIsUsed=Sujeto a ISV VATIsNotUsed=No sujeto a ISV VATIntra=RTN VATIntraShort=RTN -VATIntraVeryShort=RTN \ No newline at end of file +VATIntraVeryShort=RTN diff --git a/htdocs/langs/es_HN/compta.lang b/htdocs/langs/es_HN/compta.lang index 396d234b2df..9fede56fc29 100644 --- a/htdocs/langs/es_HN/compta.lang +++ b/htdocs/langs/es_HN/compta.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_HN - compta +# Dolibarr language file - Source file is en_US - compta VATToPay=ISV ventas VATReceived=ISV repercutido VATToCollect=ISV compras @@ -9,7 +9,6 @@ PaymentVat=Pago ISV NewVATPayment=Nuevo pago de ISV VATPayment=Pago ISV VATPayments=Pagos ISV -SocialContributionsPayments=Pagos cargas sociales ShowVatPayment=Ver pagos ISV TotalVATReceived=Total ISV percibido RulesResultDue=- Los importes mostrados son importes totales
    - Incluye las facturas, cargas e ISV debidos, que estƩn pagadas o no.
    - Se basa en la fecha de validación para las facturas y el ISV y en la fecha de vencimiento para las cargas.
    @@ -20,6 +19,4 @@ VATReportByQuartersInInputOutputMode=Informe por tasa del ISV repercutido y paga VATReportByQuartersInDueDebtMode=Informe por tasa del ISV repercutido y pagado (ISV debido) SeeVATReportInInputOutputMode=Ver el informe %sISV pagado%s para un modo de cÔlculo estandard SeeVATReportInDueDebtMode=Ver el informe %sISV debido%s para un modo de cÔlculo con la opción sobre lo debido -RulesVATIn=- Para los servicios, el informe incluye el ISV de los pagos efectivamente recibidos o emitidos basÔndose en la fecha del pago.
    - Para los bienes materiales, incluye el ISV de las facturas basƔndose en la fecha de la factura. -RulesVATDue=- Para los servicios, el informe incluye el ISV de las facturas debidas, pagadas o no basƔndose en la fecha de estas facturas.
    - Para los bienes materiales, incluye el ISV de las facturas basÔndose en la fecha de la factura. ACCOUNTING_VAT_ACCOUNT=Código contable por defecto para el ISV (si no estÔ definido en el diccionario "Tasas de ISV") diff --git a/htdocs/langs/es_HN/main.lang b/htdocs/langs/es_HN/main.lang index 371cb541453..5c9e6ffe29a 100644 --- a/htdocs/langs/es_HN/main.lang +++ b/htdocs/langs/es_HN/main.lang @@ -1,11 +1,28 @@ -Dolibarr language file - es_HN - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=None +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M AmountVAT=Importe ISV TotalVAT=Total ISV IncludedVAT=ISV incluido HT=Sin ISV TTC=ISV incluido VAT=ISV -VATRate=Tasa ISV \ No newline at end of file +VATRate=Tasa ISV diff --git a/htdocs/langs/es_HN/propal.lang b/htdocs/langs/es_HN/propal.lang index 5b7ea08179a..a3356570a4b 100644 --- a/htdocs/langs/es_HN/propal.lang +++ b/htdocs/langs/es_HN/propal.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - es_HN - propal -AmountOfProposalsByMonthHT=Importe por mes (Sin ISV) \ No newline at end of file +# Dolibarr language file - Source file is en_US - propal +AmountOfProposalsByMonthHT=Importe por mes (Sin ISV) diff --git a/htdocs/langs/es_MX/admin.lang b/htdocs/langs/es_MX/admin.lang index b8c2794cf3c..8161a7a8e7c 100644 --- a/htdocs/langs/es_MX/admin.lang +++ b/htdocs/langs/es_MX/admin.lang @@ -1,8 +1,6 @@ -# Dolibarr language file - es_MX - admin +# Dolibarr language file - Source file is en_US - admin Module30Name=Facturas y notas de crédito Module30Desc=Gestión de facturas y notas de crédito a clientes. Gestión facturas de proveedores BillsNumberingModule=Módulo de numeración de facturas y notas de crédito CreditNoteSetup=Configuración del módulo notas de crédito CreditNotePDFModules=Modelo de documento de notas de crédito -CreditNote=Nota de crédito -CreditNotes=Notas de crédito diff --git a/htdocs/langs/es_MX/banks.lang b/htdocs/langs/es_MX/banks.lang index 98313c7cbed..a5411981c4b 100644 --- a/htdocs/langs/es_MX/banks.lang +++ b/htdocs/langs/es_MX/banks.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - es_MX - banks -BankAccountDomiciliation=Tarjeta \ No newline at end of file +# Dolibarr language file - Source file is en_US - banks +BankAccountDomiciliation=Tarjeta diff --git a/htdocs/langs/es_MX/bills.lang b/htdocs/langs/es_MX/bills.lang index 50dfc1f71c3..e62583d9e73 100644 --- a/htdocs/langs/es_MX/bills.lang +++ b/htdocs/langs/es_MX/bills.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_MX - bills +# Dolibarr language file - Source file is en_US - bills InvoiceAvoir=Nota de crédito InvoiceAvoirAsk=Nota de crédito para corregir la factura InvoiceAvoirDesc=La nota de crédito es una factura negativa destinada a compensar un importe de factura que difiere del importe realmente pagado (por haber pagado de mÔs o por devolución de productos, por ejemplo). @@ -7,19 +7,18 @@ ConfirmConvertToReduc=¿Quiere convertir esta nota de crédito en una reducción AddBill=Crear factura o nota de crédito EnterPaymentDueToCustomer=Realizar pago de notas de crédito al cliente ErrorInvoiceAvoirMustBeNegative=Error, una factura de tipo nota de crédito debe tener un importe negativo +BillTo=Receptor ConfirmClassifyPaidPartiallyReasonAvoir=El resto a pagar (%s %s) se ha regularizado (ya que artículo se ha devuelto, olvidado entregar, descuento no definido...) mediante una nota de crédito ConfirmClassifyPaidPartiallyReasonOtherDesc=Esta elección serÔ posible, por ejemplo, en los casos siguiente:
    -pago parcial ya que una partida de productos se ha devuleto.
    - reclamado por no entregar productos de la factura
    En todos los casos, la reclamación debe regularizarse mediante una nota de crédito ShowInvoiceAvoir=Ver nota de crédito AlreadyPaidNoCreditNotesNoDeposits=Ya pagado (excluidos las notas de crédito y anticipos) +AddCreditNote=Crear nota de crédito ShowDiscount=Ver la nota de crédito CreditNote=Nota de crédito CreditNotes=Notas de crédito DiscountFromCreditNote=Descuento resultante de la nota de crédito %s AbsoluteDiscountUse=Este tipo de crédito no puede ser utilizado en una factura antes de su validación -CreditNoteDepositUse=La factura debe de estar validada para poder utilizar este tipo de créditos +Residence=Tarjeta +PaymentByTransferOnThisBankAccount=Cuenta para depositos y transferencias CreditNoteConvertedIntoDiscount=Esta nota de crédito se convirtió en %s TerreNumRefModelDesc1=Devuelve el número bajo el formato %syymm-nnnn para las facturas y %syymm-nnnn para las notas de crédito donde yy es el año, mm. el mes y nnnn un contador secuencial sin ruptura y sin permanencia a 0 -AddCreditNote=Crear nota de crédito -BillTo=Receptor -Residence=Tarjeta -PaymentByTransferOnThisBankAccount=Cuenta para depositos y transferencias \ No newline at end of file diff --git a/htdocs/langs/es_MX/categories.lang b/htdocs/langs/es_MX/categories.lang index 62392ec33f5..7e6b383c287 100644 --- a/htdocs/langs/es_MX/categories.lang +++ b/htdocs/langs/es_MX/categories.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - es_MX - categories -NotCategorized=Sin Categoría \ No newline at end of file +# Dolibarr language file - Source file is en_US - categories +NotCategorized=Sin Categoría diff --git a/htdocs/langs/es_MX/companies.lang b/htdocs/langs/es_MX/companies.lang index 4bbfff9bf2c..3727bea2735 100644 --- a/htdocs/langs/es_MX/companies.lang +++ b/htdocs/langs/es_MX/companies.lang @@ -1,7 +1,7 @@ -# Dolibarr language file - es_MX - companies +# Dolibarr language file - Source file is en_US - companies State=Estado Town=Municipio -CompanyHasCreditNote=Este cliente tiene %s %s notas de crédito/anticipos disponibles VATIntra=RFC VATIntraShort=RFC -VATIntraVeryShort=RFC \ No newline at end of file +VATIntraVeryShort=RFC +CompanyHasCreditNote=Este cliente tiene %s %s notas de crédito/anticipos disponibles diff --git a/htdocs/langs/es_MX/main.lang b/htdocs/langs/es_MX/main.lang index 4b26f3b3e23..cf154fa6429 100644 --- a/htdocs/langs/es_MX/main.lang +++ b/htdocs/langs/es_MX/main.lang @@ -1,6 +1,24 @@ -# Dolibarr language file - es_MX - main +# Dolibarr language file - Source file is en_US - main +DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=. SeparatorThousand=, +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=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M AmountHT=Subtotal TotalHT=Subtotal -TotalVAT=IVA \ No newline at end of file +TotalVAT=IVA diff --git a/htdocs/langs/es_MX/stocks.lang b/htdocs/langs/es_MX/stocks.lang index 84fbd98945f..295151fbd08 100644 --- a/htdocs/langs/es_MX/stocks.lang +++ b/htdocs/langs/es_MX/stocks.lang @@ -1,3 +1,3 @@ -# Dolibarr language file - es_MX - stocks +# Dolibarr language file - Source file is en_US - stocks DeStockOnBill=Decrementar los stocks físicos sobre las facturas/notas de crédito a clientes ReStockOnBill=Incrementar los stocks físicos sobre las facturas/notas de crédito de proveedores diff --git a/htdocs/langs/es_PE/admin.lang b/htdocs/langs/es_PE/admin.lang index 877beecd423..4e81dca9011 100644 --- a/htdocs/langs/es_PE/admin.lang +++ b/htdocs/langs/es_PE/admin.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_PU - admin +# Dolibarr language file - Source file is en_US - admin Permission91=Consultar impuestos e IGV Permission92=Crear/modificar impuestos e IGV Permission93=Eliminar impuestos e IGV diff --git a/htdocs/langs/es_PE/bills.lang b/htdocs/langs/es_PE/bills.lang index 6ba6bb049a6..adca33be66b 100644 --- a/htdocs/langs/es_PE/bills.lang +++ b/htdocs/langs/es_PE/bills.lang @@ -1,9 +1,7 @@ -# Dolibarr language file - es_PU - bills +# Dolibarr language file - Source file is en_US - bills ErrorVATIntraNotConfigured=Número de IGV intracomunitario aún no configurado ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar (%s %s) es un descuento acordado después de la factura. Acepto perder el IGV de este descuento AmountOfBillsByMonthHT=Importe de las facturas por mes (Sin IGV) IntracommunityVATNumber=Número de IGV intracomunitario VATIsNotUsedForInvoice=* IGV no aplicable art-293B del CGI -PDFBerniqueDescription=Modelo para las facturas con varios tipos de IGV, incluido también el número de IGV Intracomunitario PDFCrabeDescription=Modelo de factura completo (IGV, método de pago a mostrar, logotipo...) -PDFOursinDescription=Modelo de factura completo (IGV, métodos de pago, entregas, nombre del proyecto, referencias de presupuesto, logotipo...) diff --git a/htdocs/langs/es_PE/companies.lang b/htdocs/langs/es_PE/companies.lang index 7b0dbfe2c6c..70edcf69a8f 100644 --- a/htdocs/langs/es_PE/companies.lang +++ b/htdocs/langs/es_PE/companies.lang @@ -1,6 +1,6 @@ -# Dolibarr language file - es_PU - companies +# Dolibarr language file - Source file is en_US - companies VATIsUsed=Sujeto a IGV VATIsNotUsed=No sujeto a IGV VATIntra=RUC VATIntraShort=RUC -VATIntraVeryShort=RUC \ No newline at end of file +VATIntraVeryShort=RUC diff --git a/htdocs/langs/es_PE/compta.lang b/htdocs/langs/es_PE/compta.lang index 2dbc3cc49b9..00857e477f6 100644 --- a/htdocs/langs/es_PE/compta.lang +++ b/htdocs/langs/es_PE/compta.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_PU - compta +# Dolibarr language file - Source file is en_US - compta VATToPay=IGV ventas VATReceived=IGV repercutido VATToCollect=IGV compras @@ -9,7 +9,6 @@ PaymentVat=Pago IGV NewVATPayment=Nuevo pago de IGV VATPayment=Pago IGV VATPayments=Pagos IGV -SocialContributionsPayments=Pagos cargas sociales ShowVatPayment=Ver pagos IGV TotalVATReceived=Total IGV percibido RulesResultDue=- Los importes mostrados son importes totales
    - Incluye las facturas, cargas e IGV debidos, que estƩn pagadas o no.
    - Se basa en la fecha de validación para las facturas y el IGV y en la fecha de vencimiento para las cargas.
    @@ -20,6 +19,4 @@ VATReportByQuartersInInputOutputMode=Informe por tasa del IGV repercutido y paga VATReportByQuartersInDueDebtMode=Informe por tasa del IGV repercutido y pagado (IGV debido) SeeVATReportInInputOutputMode=Ver el informe %sIGV pagado%s para un modo de cÔlculo estandard SeeVATReportInDueDebtMode=Ver el informe %sIGV debido%s para un modo de cÔlculo con la opción sobre lo debido -RulesVATIn=- Para los servicios, el informe incluye el IGV de los pagos efectivamente recibidos o emitidos basÔndose en la fecha del pago.
    - Para los bienes materiales, incluye el IGV de las facturas basƔndose en la fecha de la factura. -RulesVATDue=- Para los servicios, el informe incluye el IGV de las facturas debidas, pagadas o no basƔndose en la fecha de estas facturas.
    - Para los bienes materiales, incluye el IGV de las facturas basÔndose en la fecha de la factura. ACCOUNTING_VAT_ACCOUNT=Código contable por defecto para el IGV (si no estÔ definido en el diccionario "Tasas de IGV") diff --git a/htdocs/langs/es_PE/main.lang b/htdocs/langs/es_PE/main.lang index d49d7a3445f..4b1f525d2bd 100644 --- a/htdocs/langs/es_PE/main.lang +++ b/htdocs/langs/es_PE/main.lang @@ -1,11 +1,28 @@ -Dolibarr language file - es_PU - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=None +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M AmountVAT=Importe IGV TotalVAT=Total IGV IncludedVAT=IGV incluido HT=Sin IGV TTC=IGV incluido VAT=IGV -VATRate=Tasa IGV \ No newline at end of file +VATRate=Tasa IGV diff --git a/htdocs/langs/es_PE/propal.lang b/htdocs/langs/es_PE/propal.lang index 6ee464d0e36..919d94b3e91 100644 --- a/htdocs/langs/es_PE/propal.lang +++ b/htdocs/langs/es_PE/propal.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - es_PU - propal -AmountOfProposalsByMonthHT=Importe por mes (Sin IGV) \ No newline at end of file +# Dolibarr language file - Source file is en_US - propal +AmountOfProposalsByMonthHT=Importe por mes (Sin IGV) diff --git a/htdocs/langs/es_PR/admin.lang b/htdocs/langs/es_PR/admin.lang index f5906e9e162..ac75565a66b 100644 --- a/htdocs/langs/es_PR/admin.lang +++ b/htdocs/langs/es_PR/admin.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_PR - admin +# Dolibarr language file - Source file is en_US - admin Permission91=Consultar impuestos e IVU Permission92=Crear/modificar impuestos e IVU Permission93=Eliminar impuestos e IVU diff --git a/htdocs/langs/es_PR/bills.lang b/htdocs/langs/es_PR/bills.lang index 658b997e3ae..fc033b8169c 100644 --- a/htdocs/langs/es_PR/bills.lang +++ b/htdocs/langs/es_PR/bills.lang @@ -1,9 +1,7 @@ -# Dolibarr language file - es_PR - bills +# Dolibarr language file - Source file is en_US - bills ErrorVATIntraNotConfigured=Número de IVU intracomunitario aún no configurado ConfirmClassifyPaidPartiallyReasonDiscountNoVat=El resto a pagar (%s %s) es un descuento acordado después de la factura. Acepto perder el IVU de este descuento AmountOfBillsByMonthHT=Importe de las facturas por mes (Sin IVU) IntracommunityVATNumber=Número de IVU intracomunitario VATIsNotUsedForInvoice=* IVU no aplicable art-293B del CGI -PDFBerniqueDescription=Modelo para las facturas con varios tipos de IVU, incluido también el número de IVU Intracomunitario PDFCrabeDescription=Modelo de factura completo (IVU, método de pago a mostrar, logotipo...) -PDFOursinDescription=Modelo de factura completo (IVU, métodos de pago, entregas, nombre del proyecto, referencias de presupuesto, logotipo...) diff --git a/htdocs/langs/es_PR/companies.lang b/htdocs/langs/es_PR/companies.lang index 288e42f3027..080bedf4987 100644 --- a/htdocs/langs/es_PR/companies.lang +++ b/htdocs/langs/es_PR/companies.lang @@ -1,3 +1,3 @@ -# Dolibarr language file - es_PR - companies +# Dolibarr language file - Source file is en_US - companies VATIsUsed=Sujeto a IVU -VATIsNotUsed=No sujeto a IVU \ No newline at end of file +VATIsNotUsed=No sujeto a IVU diff --git a/htdocs/langs/es_PR/compta.lang b/htdocs/langs/es_PR/compta.lang index c9226abe8f1..f5e1dc17fce 100644 --- a/htdocs/langs/es_PR/compta.lang +++ b/htdocs/langs/es_PR/compta.lang @@ -1,4 +1,4 @@ -# Dolibarr language file - es_PR - compta +# Dolibarr language file - Source file is en_US - compta VATToPay=IVU ventas VATReceived=IVU repercutido VATToCollect=IVU compras @@ -9,7 +9,6 @@ PaymentVat=Pago IVU NewVATPayment=Nuevo pago de IVU VATPayment=Pago IVU VATPayments=Pagos IVU -SocialContributionsPayments=Pagos cargas sociales ShowVatPayment=Ver pagos IVU TotalVATReceived=Total IVU percibido RulesResultDue=- Los importes mostrados son importes totales
    - Incluye las facturas, cargas e IVU debidos, que estƩn pagadas o no.
    - Se basa en la fecha de validación para las facturas y el IVU y en la fecha de vencimiento para las cargas.
    @@ -20,6 +19,4 @@ VATReportByQuartersInInputOutputMode=Informe por tasa del IVU repercutido y paga VATReportByQuartersInDueDebtMode=Informe por tasa del IVU repercutido y pagado (IVU debido) SeeVATReportInInputOutputMode=Ver el informe %sIVU pagado%s para un modo de cÔlculo estandard SeeVATReportInDueDebtMode=Ver el informe %sIVU debido%s para un modo de cÔlculo con la opción sobre lo debido -RulesVATIn=- Para los servicios, el informe incluye el IVU de los pagos efectivamente recibidos o emitidos basÔndose en la fecha del pago.
    - Para los bienes materiales, incluye el IVU de las facturas basƔndose en la fecha de la factura. -RulesVATDue=- Para los servicios, el informe incluye el IVU de las facturas debidas, pagadas o no basƔndose en la fecha de estas facturas.
    - Para los bienes materiales, incluye el IVU de las facturas basÔndose en la fecha de la factura. ACCOUNTING_VAT_ACCOUNT=Código contable por defecto para el IVU (si no estÔ definido en el diccionario "Tasas de IVU") diff --git a/htdocs/langs/es_PR/main.lang b/htdocs/langs/es_PR/main.lang index ea38a2bc1f5..5388286d4c9 100644 --- a/htdocs/langs/es_PR/main.lang +++ b/htdocs/langs/es_PR/main.lang @@ -1,11 +1,28 @@ -Dolibarr language file - es_PR - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=None +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M AmountVAT=Importe IVU TotalVAT=Total IVU IncludedVAT=IVU incluido HT=Sin IVU TTC=IVU incluido VAT=IVU -VATRate=Tasa IVU \ No newline at end of file +VATRate=Tasa IVU diff --git a/htdocs/langs/es_PR/propal.lang b/htdocs/langs/es_PR/propal.lang index 06af96213cb..0d94e5671f2 100644 --- a/htdocs/langs/es_PR/propal.lang +++ b/htdocs/langs/es_PR/propal.lang @@ -1,2 +1,2 @@ -# Dolibarr language file - es_PR - propal -AmountOfProposalsByMonthHT=Importe por mes (Sin IVU) \ No newline at end of file +# Dolibarr language file - Source file is en_US - propal +AmountOfProposalsByMonthHT=Importe por mes (Sin IVU) diff --git a/htdocs/langs/es_PY/main.lang b/htdocs/langs/es_PY/main.lang index 0342d2da7c0..1602d6a7ffa 100644 --- a/htdocs/langs/es_PY/main.lang +++ b/htdocs/langs/es_PY/main.lang @@ -1,4 +1,21 @@ -Dolibarr language file - es_PY - main +# Dolibarr language file - Source file is en_US - main DIRECTION=ltr +FONTFORPDF=helvetica +FONTSIZEFORPDF=10 SeparatorDecimal=, -SeparatorThousand=None \ No newline at end of file +SeparatorThousand=None +FormatDateShort=%d/%m/%Y +FormatDateShortInput=%d/%m/%Y +FormatDateShortJava=dd/MM/yyyy +FormatDateShortJavaInput=dd/MM/yyyy +FormatDateShortJQuery=dd/mm/yy +FormatDateShortJQueryInput=dd/mm/yy +FormatHourShortJQuery=HH:MI +FormatHourShort=%H:%M +FormatHourShortDuration=%H:%M +FormatDateTextShort=%d %b %Y +FormatDateText=%d %B %Y +FormatDateHourShort=%d/%m/%Y %H:%M +FormatDateHourSecShort=%d/%m/%Y %H:%M:%S +FormatDateHourTextShort=%d %b %Y %H:%M +FormatDateHourText=%d %B %Y %H:%M diff --git a/htdocs/langs/et_EE/admin.lang b/htdocs/langs/et_EE/admin.lang index cc2f8c9915d..0ab2363364b 100644 --- a/htdocs/langs/et_EE/admin.lang +++ b/htdocs/langs/et_EE/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperimentaalne VersionDevelopment=Arendusversioon VersionUnknown=Teadmata VersionRecommanded=Soovitatav +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sessiooni ID SessionSaveHandler=Sessioonide töötleja SessionSavePath=Salvestuse sessiooni lokaliseerimine @@ -493,10 +498,16 @@ Module600Name=Teated Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Annetused Module700Desc=Annetuste haldamine +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=Mantise integratsioon Module1400Name=Raamatupidamine Module1400Desc=Raamatupidamise haldamine (topelt isikud) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategooriad Module1780Desc=Kategooriate haldamine (tooted, hankijad ja kliendid) Module2000Name=WYSIWYG toimeti @@ -631,7 +642,7 @@ Permission181=Ostutellimuste vaatamine Permission182=Ostutellimuste loomine/muutmine Permission183=Ostutellimuste kinnitamine Permission184=Ostutellimuste heaks kiitmine -Permission185=Ostutellimuste tellimine +Permission185=Order or cancel supplier orders Permission186=Ostutellimuste vastu võtmine Permission187=Ostutellimuste sulgemine Permission188=Ostutellimuste tühistamine @@ -711,6 +722,13 @@ Permission538=Teenuste eksport Permission701=Annetuste vaatamine Permission702=Annetuste loomine/muutmine Permission703=Annetuste kustutamine +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=Laojääkide vaatamine Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Puhverserveri salasõna DefineHereComplementaryAttributes=Määratle siin kõik %s toetamiseks vajalikud atribuudid, mis ei ole vaikimisi saadaval. ExtraFields=Täiendavad atribuudid ExtraFieldsLines=Lisaatribuudid (read) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Täiendavad atribuudid (thirdparty e kolmas isik) ExtraFieldsContacts=Täiendavad atribuudid (contact/address e kontakt/aadress) ExtraFieldsMember=Täiendavad atribuudid (member e liige) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Toote/teenuse rida, mille koguseks on märgitud 0, pee FreeLegalTextOnProposal=Vaba tekst pakkumistel WatermarkOnDraftProposal=Vesimärk pakkumiste mustanditel (puudub, kui tühi) 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=Tellimuste haldamise seadistamine OrdersNumberingModules=Tellimuste numeratsiooni mudelid @@ -1383,7 +1410,7 @@ BarcodeDescUPC=UPC tüüpi vöötkood BarcodeDescISBN=ISBN tüüpi vöötkood BarcodeDescC39=C39 tüüpi vöötkood BarcodeDescC128=C128 tüüpi vöötkood -GenbarcodeLocation=Käsurea tööriist vöötkoodi genereerimiseks (sisemine mootor kasutab seda mõnda tüüpi vöötkoodide loomiseks) +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 ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Sularahamaksete vastu võtmiseks kasutatav konto CashDeskBankAccountForCheque= TŔekimaksete vastu võtmiseks kasutatav konto CashDeskBankAccountForCB= Krediitkaardimaksete vastu võtmiseks kasutatav konto -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Järjehoidjate mooduli seadistamine @@ -1569,3 +1597,7 @@ SortOrder=Sort order Format=Formaat 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. diff --git a/htdocs/langs/et_EE/banks.lang b/htdocs/langs/et_EE/banks.lang index ab73f169a23..1003b8caa8e 100644 --- a/htdocs/langs/et_EE/banks.lang +++ b/htdocs/langs/et_EE/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Vastavusse viimine RIB=Arvelduskonto 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=Püsikorraldused StandingOrder=Püsikorraldus Withdrawals=Väljamaksed @@ -148,7 +152,7 @@ BackToAccount=Tagasi konto juurde ShowAllAccounts=Näita kõigil kontodel FutureTransaction=Tehing toimub tulevikus, ajaline ühitamine pole võimalik. SelectChequeTransactionAndGenerate=Vali välja tŔekid, mida lisada tŔeki deponeerimise kinnitusse ning klõpsa "Loo" nupul. -InputReceiptNumber=Vali vastavusse viimisega seotud panga väljavõte. Kasuta sorteeritavat numbrilist väärtust (näiteks YYYYMM). +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Lõpuks vali kategooria, mille alla kanded klassifitseerida ToConciliate=Vii vastavusse? ThenCheckLinesAndConciliate=Siis märgista konto väljavõttel asuvad read ja klõpsa diff --git a/htdocs/langs/et_EE/bills.lang b/htdocs/langs/et_EE/bills.lang index 7fbee469a0a..4ebfb5ad8ec 100644 --- a/htdocs/langs/et_EE/bills.lang +++ b/htdocs/langs/et_EE/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Juba tehtud maksed PaymentsBackAlreadyDone=Juba tehtud tagasimaksed PaymentRule=Maksereegel PaymentMode=Makse liik -PaymentConditions=Maksetähtaeg -PaymentConditionsShort=Maksetähtaeg +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Makse summa ValidatePayment=Kinnita makse PaymentHigherThanReminderToPay=Makse on suurem, kui makstava summa jääk diff --git a/htdocs/langs/et_EE/commercial.lang b/htdocs/langs/et_EE/commercial.lang index d58174550dc..59657233c22 100644 --- a/htdocs/langs/et_EE/commercial.lang +++ b/htdocs/langs/et_EE/commercial.lang @@ -9,9 +9,9 @@ Prospect=Huviline Prospects=Huvilised DeleteAction=Kustuta tegevus/ülesanne NewAction=Uus tegevus/ülesanne -AddAction=Lisa tegevus/ülesanne -AddAnAction=Lisa tegevus/ülesanne -AddActionRendezVous=Lisa kohtumine +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Kohtumine ConfirmDeleteAction=Kas tahad kindlasti selle tegevuse/ülesande kustutada? CardAction=Tegevuse kaart @@ -44,8 +44,8 @@ DoneActions=Lõpetatud tegevused DoneActionsFor=Teostaja %s lõpetatud tegevused ToDoActions=Lõpetamata tegevused ToDoActionsFor=Teostaja %s lõpetamata tegevused -SendPropalRef=Saada pakkumine %s -SendOrderRef=Saada tellimus %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Ei ole kohaldatav StatusActionToDo=Teha StatusActionDone=Tehtud @@ -62,7 +62,7 @@ LastProspectContactDone=Võeti ühendust DateActionPlanned=Tegevuse toimumiseks plaanitud kuupäev DateActionDone=Tegevuse toimumise kuupäev ActionAskedBy=Tegevuse pani kirja -ActionAffectedTo=Tegevuse eest vastutav +ActionAffectedTo=Event assigned to ActionDoneBy=Tegevuse viis läbi ActionUserAsk=Pani kirja ErrorStatusCantBeZeroIfStarted=Kui väli "Toimumise kuupäev" on täidetud, siis on tegevus alustatud (või lõpetatud), seega ei saa välja "Status" väärtuseks olla 0%. diff --git a/htdocs/langs/et_EE/contracts.lang b/htdocs/langs/et_EE/contracts.lang index cdf9a5c2b82..1d6c23dd8cf 100644 --- a/htdocs/langs/et_EE/contracts.lang +++ b/htdocs/langs/et_EE/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Aegunud ServiceStatusClosed=Suletud ServicesLegend=Teenuste legend Contracts=Lepingud +ContractsAndLine=Contracts and line of contracts Contract=Leping NoContracts=Lepinguid pole MenuServices=Teenused diff --git a/htdocs/langs/et_EE/cron.lang b/htdocs/langs/et_EE/cron.lang index 419f0202b60..a8b2473acb2 100644 --- a/htdocs/langs/et_EE/cron.lang +++ b/htdocs/langs/et_EE/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/et_EE/errors.lang b/htdocs/langs/et_EE/errors.lang index 4dec9c707e8..92f2ead7679 100644 --- a/htdocs/langs/et_EE/errors.lang +++ b/htdocs/langs/et_EE/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Lähtekonto ja sihtkonto pevad olema erinevad. ErrorBadThirdPartyName=Halb väärtus kolmanda isiku nimeks ErrorProdIdIsMandatory=%s on kohustuslik ErrorBadCustomerCodeSyntax=Halb kliendi koodi süntaks -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Kliendi kood on nõutud ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kliendi kood on juba kasutuses @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Selle võimaluse töötamiseks peab JavaScript olem ErrorPasswordsMustMatch=Sisestatud paroolid peavad klappima ErrorContactEMail=Tekkis tehniline viga. Palun võta ühendust oma administraatoriga e-posti aadressil %s ning lisa sõnumisse vea kood %s või veel parem oleks lisada sõnumisse antud lehe kuvatõmmis. ErrorWrongValueForField=Väli number %s sisaldab vale väärtust (väärtus'%s' ei sobi regulaaravaldisega %s) -ErrorFieldValueNotIn=Väli number %s sisaldab vale väärtust (väärtus '%s' ei sobi välja %s tüübiga tabelis %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Väli number %s sisaldab vale väärtust (väärtus '%s' ei ole üksuse %s olemasolev viide) ErrorsOnXLines=%s lähtekirje(t) on vigane/vigased ErrorFileIsInfectedWithAVirus=Antiviiruse programm ei suutnud faili valideerida (fail võib olla viiruse poolt nakatatud) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/et_EE/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/et_EE/install.lang b/htdocs/langs/et_EE/install.lang index 4ab6289f4f2..2c61df2288a 100644 --- a/htdocs/langs/et_EE/install.lang +++ b/htdocs/langs/et_EE/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Viimane samm: Määra siin tarkvaraga ühendumisek ActivateModule=Aktiveeri moodul %s ShowEditTechnicalParameters=Klõpsa siia lisaparameetrite näitamiseks/muutmiseks (spetsialisti režiim) 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 diff --git a/htdocs/langs/et_EE/main.lang b/htdocs/langs/et_EE/main.lang index 52b69c9f148..98632e2e74e 100644 --- a/htdocs/langs/et_EE/main.lang +++ b/htdocs/langs/et_EE/main.lang @@ -141,6 +141,7 @@ Cancel=Tühista Modify=Muuda Edit=Toimeta Validate=Kinnita +ValidateAndApprove=Validate and Approve ToValidate=Kinnitada Save=Salvesta SaveAs=Salvesta kui @@ -158,6 +159,7 @@ Search=Otsi SearchOf=Otsi Valid=Kehtiv Approve=Kiida heaks +Disapprove=Disapprove ReOpen=Ava uuesti Upload=Saada fail ToLink=Seosta @@ -219,6 +221,7 @@ Cards=Kaardid Card=Kaart Now=Nüüd Date=Kuupäev +DateAndHour=Date and hour DateStart=Alguskuupäev DateEnd=Lõppkuupäev DateCreation=Loomise kuupäev @@ -295,6 +298,7 @@ UnitPriceHT=Ühiku hind (neto) UnitPriceTTC=Ühiku hind PriceU=ÜH PriceUHT=ÜH (neto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=ÜH Amount=Summa AmountInvoice=Arve summa @@ -521,6 +525,7 @@ DateFromTo=Alates %s kuni %s DateFrom=Alates %s DateUntil=Kuni %s Check=Kontrolli +Uncheck=Uncheck Internal=Sisene External=Väline Internals=Sisene @@ -688,6 +693,7 @@ PublicUrl=Avalik link AddBox=Lisa kast SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Esmaspäev Tuesday=Teisipäev diff --git a/htdocs/langs/et_EE/orders.lang b/htdocs/langs/et_EE/orders.lang index 060a7ae2cfb..7c4e9a9b1d8 100644 --- a/htdocs/langs/et_EE/orders.lang +++ b/htdocs/langs/et_EE/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Tühistatud StatusOrderDraft=Mustand (vajab kinnitamist) StatusOrderValidated=Kinnitatud StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Töödeldud StatusOrderToBill=Saadetud StatusOrderToBill2=Arve esitada @@ -58,6 +59,7 @@ MenuOrdersToBill=Saadetud tellimused MenuOrdersToBill2=Billable orders SearchOrder=Otsi tellimust SearchACustomerOrder=Otsi müügitellimust +SearchASupplierOrder=Search a supplier order ShipProduct=Saada toode Discount=Allahindlus CreateOrder=Loo tellimus diff --git a/htdocs/langs/et_EE/other.lang b/htdocs/langs/et_EE/other.lang index 6a0f355dfa7..1670ba75c7a 100644 --- a/htdocs/langs/et_EE/other.lang +++ b/htdocs/langs/et_EE/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksimaalne suurus AttachANewFile=Manusta uus fail/dokument LinkedObject=Seostatud objekt Miscellaneous=Muu -NbOfActiveNotifications=Teadete arv +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=See on testkiri.\nNeed kaks rida on eraldatud reavahetusega.\n\n__SIGNATURE__ PredefinedMailTestHtml=See on test kiri (sõna test peab olema rasvases kirjas).
    Need kaks rida peavad olema eraldatud reavahetusega.

    __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__ diff --git a/htdocs/langs/et_EE/printing.lang b/htdocs/langs/et_EE/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/et_EE/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/et_EE/productbatch.lang +++ b/htdocs/langs/et_EE/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/et_EE/products.lang b/htdocs/langs/et_EE/products.lang index b90084c9ced..2d64e8c5345 100644 --- a/htdocs/langs/et_EE/products.lang +++ b/htdocs/langs/et_EE/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/et_EE/projects.lang b/htdocs/langs/et_EE/projects.lang index 7333f9ac138..86d8f546767 100644 --- a/htdocs/langs/et_EE/projects.lang +++ b/htdocs/langs/et_EE/projects.lang @@ -8,8 +8,10 @@ SharedProject=KƵik PrivateProject=Projekti kontaktid MyProjectsDesc=Selles vaates nƤidatakse vaid neid projekte, mille kontaktiks oled mƤrgitud (hoolimata liigist) 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). 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) ProjectsArea=Projektide ala @@ -29,6 +31,8 @@ NoProject=Ühtki projekti pole mƤƤratletud vƵi ei oma ühtki projekt NbOpenTasks=Avatud ülesandeid NbOfProjects=Projekte TimeSpent=Aega kulutatud +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Aega kulutatud RefTask=Ülesande viide LabelTask=Ülesande nimi @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Antud projektiga seotud ostutellimuste nimek ListSupplierInvoicesAssociatedProject=Antud projektiga seotud ostuarvete nimekiri ListContractAssociatedProject=Antud projektiga seotud lepingute nimekiri ListFichinterAssociatedProject=Antud projektiga seotud sekkumiste nimekiri -ListTripAssociatedProject=Antud projektiga seotud lƤhetuste ja kulude nimekiri +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Antud projektiga seotud tegevuste nimekiri ActivityOnProjectThisWeek=Projekti aktiivsus sellel nƤdalal ActivityOnProjectThisMonth=Projekti aktiivsus sellel kuul @@ -126,10 +130,15 @@ AddElement=Seosta elemendiga UnlinkElement=Unlink element # Documents models DocumentModelBaleine=TƤielik projekti aruande mudel (logo jne) -PlannedWorkload = Planeeritav koormus -WorkloadOccupation= Koormus mƵjutab +PlannedWorkload=Planeeritav koormus +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Viitavad objektid SearchAProject=Otsi projekti ProjectMustBeValidatedFirst=Esmalt peab projekti kinnitama ProjectDraft=Projektide mustandid 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 diff --git a/htdocs/langs/et_EE/salaries.lang b/htdocs/langs/et_EE/salaries.lang index 963209a58e8..a694b60850e 100644 --- a/htdocs/langs/et_EE/salaries.lang +++ b/htdocs/langs/et_EE/salaries.lang @@ -1,4 +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 Salary=Palk Salaries=Palgad Employee=Tƶƶtaja @@ -6,3 +8,6 @@ NewSalaryPayment=Uus palga makse SalaryPayment=Palga makse SalariesPayments=Palkade maksed ShowSalaryPayment=NƤita palga makset +THM=Average hourly price +TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/et_EE/sendings.lang b/htdocs/langs/et_EE/sendings.lang index 515ab2ca303..e343a62f82d 100644 --- a/htdocs/langs/et_EE/sendings.lang +++ b/htdocs/langs/et_EE/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Tellitud kogus QtyShipped=Saadetud kogus QtyToShip=Kogus saata QtyReceived=Saabunud kogus -KeepToShip=JƤtkuvalt saata +KeepToShip=Remain to ship OtherSendingsForSameOrder=Tellimusega seotud teised saadetised DateSending=Tellimuse saatmise kuupƤev DateSendingShort=Tellimuse saatmise kuupƤev diff --git a/htdocs/langs/et_EE/stocks.lang b/htdocs/langs/et_EE/stocks.lang index 9e250e14562..026f5f6aefe 100644 --- a/htdocs/langs/et_EE/stocks.lang +++ b/htdocs/langs/et_EE/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Kaalutud keskmine hind PMPValueShort=KKH EnhancedValueOfWarehouses=Ladude vƤƤrtus UserWarehouseAutoCreate=Loo kasutaja loomisel automaatselt ladu +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Saadetud kogus QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ 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=See on kƵigi avatud ostutellimuste nimekiri +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=VƤrskendamised NbOfProductBeforePeriod=Toote %s laojƤƤk enne valitud perioodi (< %s) NbOfProductAfterPeriod=Toote %s laojƤƤk pƤrast valitud perioodi (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/et_EE/suppliers.lang b/htdocs/langs/et_EE/suppliers.lang index 894a1dfcad6..be8bd178d54 100644 --- a/htdocs/langs/et_EE/suppliers.lang +++ b/htdocs/langs/et_EE/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Hankijad -Supplier=Hankija AddSupplier=Create a supplier SupplierRemoved=Hankija kustutatud SuppliersInvoice=Ostuarved @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Ostuarved ja maksed ExportDataset_fournisseur_3=Ostutellimused ja tellimuste read ApproveThisOrder=KIida see tellimuse heaks ConfirmApproveThisOrder=Kas oled tƤiesti kindel, et soovid heaks kiita tellimuse %s ? -DenyingThisOrder=Lükka tellimus tagasi +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Kas oled tƤiesti kindel, et soovid tagasi lükata tellimuse %s ? ConfirmCancelThisOrder=Kas oled tƤiesti kindel, et soovid tühistada telllimuse %s ? AddCustomerOrder=Loo müügitellimus diff --git a/htdocs/langs/et_EE/trips.lang b/htdocs/langs/et_EE/trips.lang index c9ec60bb29b..12661480a8e 100644 --- a/htdocs/langs/et_EE/trips.lang +++ b/htdocs/langs/et_EE/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Reis -Trips=Trips -TripsAndExpenses=Matkad ja kulud -TripsAndExpensesStatistics=Reiside ja kulude statistika -TripCard=Reisi kaart -AddTrip=Lisa trip -ListOfTrips=List of vƤljasƵidud +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 tasude -NewTrip=New trip +NewTrip=New expense report CompanyVisited=Ƅriühingu/ühenduse külastas Kilometers=Kilomeetrid FeesKilometersOrAmout=Summa vƵi kilomeetrites -DeleteTrip=Kustuta trip -ConfirmDeleteTrip=Oled sa kindel, et soovite kustutada selle reisi? -TF_OTHER=Muu -TF_LUNCH=LƵuna -TF_TRIP=Reis -ListTripsAndExpenses=List reiside ja kulude -ExpensesArea=Matkad ja kulud ala -SearchATripAndExpense=Otsi reisi ja kulu +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=Muu +TF_TRANSPORTATION=Transportation +TF_LUNCH=LƵuna +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/eu_ES/admin.lang b/htdocs/langs/eu_ES/admin.lang index 15b5248bbbd..283b7d567cf 100644 --- a/htdocs/langs/eu_ES/admin.lang +++ b/htdocs/langs/eu_ES/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Esperimentala VersionDevelopment=Garapena VersionUnknown=Ezezaguna VersionRecommanded=Gomendatua +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sesioaren ID SessionSaveHandler=Kudeatzailea sesioak gordetzeko SessionSavePath=Sesio biltegiaren kokapena @@ -493,10 +498,16 @@ Module600Name=Jakinarazpenak Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Diru-emateak Module700Desc=Diru-emateak kudeatzea +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=Kontabilitatea Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategoriak Module1780Desc=Kategoriak kudeatzea (produktuak, hornitzaileak eta bezeroak) Module2000Name=WYSIWYG editorea @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ BarcodeDescUPC=UPC motako barra-kodea BarcodeDescISBN=ISBN motako barra-kodea BarcodeDescC39=C39 motako barra-kodea BarcodeDescC128=C128 motako barra-kodea -GenbarcodeLocation=Bar code generation command line tool (used by internal engine for some bar code types) +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 ##### Prelevements ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/eu_ES/banks.lang b/htdocs/langs/eu_ES/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/eu_ES/banks.lang +++ b/htdocs/langs/eu_ES/banks.lang @@ -33,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 @@ -148,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/eu_ES/bills.lang b/htdocs/langs/eu_ES/bills.lang index 5ded974ea16..4eb42a057b5 100644 --- a/htdocs/langs/eu_ES/bills.lang +++ b/htdocs/langs/eu_ES/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Jada egindako ordainketak PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Ordainketa mota -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Ordainketaren zenbatekoa ValidatePayment=Ordainketak balioztatu PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/eu_ES/commercial.lang b/htdocs/langs/eu_ES/commercial.lang index b83fe1d4671..5e6f75fc30c 100644 --- a/htdocs/langs/eu_ES/commercial.lang +++ b/htdocs/langs/eu_ES/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/eu_ES/contracts.lang b/htdocs/langs/eu_ES/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/eu_ES/contracts.lang +++ b/htdocs/langs/eu_ES/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/eu_ES/cron.lang b/htdocs/langs/eu_ES/cron.lang index 36270d08f1b..c55f6c923ce 100644 --- a/htdocs/langs/eu_ES/cron.lang +++ b/htdocs/langs/eu_ES/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/eu_ES/errors.lang b/htdocs/langs/eu_ES/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/eu_ES/errors.lang +++ b/htdocs/langs/eu_ES/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/eu_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/eu_ES/install.lang b/htdocs/langs/eu_ES/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/eu_ES/install.lang +++ b/htdocs/langs/eu_ES/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/eu_ES/main.lang b/htdocs/langs/eu_ES/main.lang index 6045b98edb1..5913029999d 100644 --- a/htdocs/langs/eu_ES/main.lang +++ b/htdocs/langs/eu_ES/main.lang @@ -141,6 +141,7 @@ Cancel=Utzi Modify=Eraldatu Edit=Editatu Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Gorde SaveAs=Gorde honela @@ -158,6 +159,7 @@ Search=Bilatu SearchOf=Bilatu Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Orain Date=Data +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/eu_ES/orders.lang b/htdocs/langs/eu_ES/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/eu_ES/orders.lang +++ b/htdocs/langs/eu_ES/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/eu_ES/other.lang b/htdocs/langs/eu_ES/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/eu_ES/other.lang +++ b/htdocs/langs/eu_ES/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/eu_ES/printing.lang b/htdocs/langs/eu_ES/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/eu_ES/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/eu_ES/productbatch.lang +++ b/htdocs/langs/eu_ES/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/eu_ES/products.lang b/htdocs/langs/eu_ES/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/eu_ES/products.lang +++ b/htdocs/langs/eu_ES/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/eu_ES/projects.lang b/htdocs/langs/eu_ES/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/eu_ES/projects.lang +++ b/htdocs/langs/eu_ES/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/eu_ES/salaries.lang b/htdocs/langs/eu_ES/salaries.lang index 31629a4ee99..98551e32117 100644 --- a/htdocs/langs/eu_ES/salaries.lang +++ b/htdocs/langs/eu_ES/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Soldaten ordainketak ShowSalaryPayment=Soldataren ordainketa erakutsi THM=Batezbesteko orduko prezioa TJM=Batezbesteko eguneko prezioa +CurrentSalary=Current salary diff --git a/htdocs/langs/eu_ES/sendings.lang b/htdocs/langs/eu_ES/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/eu_ES/sendings.lang +++ b/htdocs/langs/eu_ES/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/eu_ES/stocks.lang b/htdocs/langs/eu_ES/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/eu_ES/stocks.lang +++ b/htdocs/langs/eu_ES/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/eu_ES/suppliers.lang b/htdocs/langs/eu_ES/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/eu_ES/suppliers.lang +++ b/htdocs/langs/eu_ES/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 diff --git a/htdocs/langs/eu_ES/trips.lang b/htdocs/langs/eu_ES/trips.lang index e9d7c242e07..35f4d8f1cad 100644 --- a/htdocs/langs/eu_ES/trips.lang +++ b/htdocs/langs/eu_ES/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Bidaia -Trips=Bidaiak -TripsAndExpenses=Trips and expenses -TripsAndExpensesStatistics=Trips and expenses statistics -TripCard=Trip card -AddTrip=Bidaia sortu -ListOfTrips=Bidaien zerrenda +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=Bidai berria +NewTrip=New expense report CompanyVisited=Bisitatutako konpania/erakundea Kilometers=Kilometroak FeesKilometersOrAmout=Amount or kilometers -DeleteTrip=Bidaia ezabatu -ConfirmDeleteTrip=Ziur zaude bidai hau ezabatu nahi duzuna? -TF_OTHER=Other -TF_LUNCH=Bazkaria -TF_TRIP=Bidaia -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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=Bazkaria +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/fa_IR/admin.lang b/htdocs/langs/fa_IR/admin.lang index a943825df33..c9304d083b0 100644 --- a/htdocs/langs/fa_IR/admin.lang +++ b/htdocs/langs/fa_IR/admin.lang @@ -8,6 +8,11 @@ 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=جلسه ID SessionSaveHandler=هندلر برای صرفه جویی ŲÆŲ± جلسات SessionSavePath=Ł…Ų­Ł„ŪŒ سازی Ų±Ų§ وارد Ł†Ł…Ų§ŪŒŪŒŲÆ و Ų°Ų®ŪŒŲ±Ł‡ سازی @@ -493,10 +498,16 @@ Module600Name=Ų§Ų·Ł„Ų§Ų¹ŪŒŁ‡ ها Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=کمک Ł‡Ų§ŪŒ Ł…Ų§Ł„ŪŒ Module700Desc=Ł…ŲÆŪŒŲ±ŪŒŲŖ کمک Ł…Ų§Ł„ŪŒ +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=Ų§Ų®ŁˆŁ†ŲÆŚ© Module1200Desc=Ų§ŲÆŲŗŲ§Ł… Ų¢Ų®ŁˆŁ†ŲÆŚ© Module1400Name=حسابداری Module1400Desc=Ł…ŲÆŪŒŲ±ŪŒŲŖ حسابداری (Ų§Ų­Ų²Ų§ŲØ دو) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=دسته ŲØŁ†ŲÆŪŒ ها Module1780Desc=Ł…ŲÆŪŒŲ±ŪŒŲŖ ŚÆŲ±ŁˆŁ‡ (Ł…Ų­ŲµŁˆŁ„Ų§ŲŖŲŒ ŲŖŲ§Ł…ŪŒŁ† کنندگان و Ł…Ų“ŲŖŲ±ŪŒŲ§Ł†) Module2000Name=ویرایؓگر WYSIWYG @@ -631,7 +642,7 @@ Permission181=Ų®ŁˆŲ§Ł†ŲÆŁ‡ ؓده سفارؓات کالا Permission182=ایجاد / تغییر سفارؓات کالا Permission183=Ų§Ų¹ŲŖŲØŲ§Ų±Ų³Ł†Ų¬ŪŒ سفارؓات کالا Permission184=تصویب سفارؓات کالا -Permission185=سفارؓات ŲŖŲ§Ł…ŪŒŁ† کننده نظم +Permission185=Order or cancel supplier orders Permission186=دریافت سفارؓات کالا Permission187=Ł†Ų²ŲÆŪŒŚ© سفارؓات کالا Permission188=Ł„ŲŗŁˆ سفارؓات کالا @@ -711,6 +722,13 @@ Permission538=Ų®ŲÆŁ…Ų§ŲŖ ŲµŲ§ŲÆŲ±Ų§ŲŖ Permission701=Ų®ŁˆŲ§Ł†ŲÆŁ‡ ؓده Permission702=ایجاد / تغییر کمک Ł‡Ų§ŪŒ Ł…Ų§Ł„ŪŒ Permission703=حذف کمک Ł‡Ų§ŪŒ Ł…Ų§Ł„ŪŒ +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=Ų®ŁˆŲ§Ł†ŲÆŁ‡ ؓده سهام Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=رمز عبور به استفاده Ų§Ų² پروکسی سرور DefineHereComplementaryAttributes=تعریف ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ ŲŖŁ…Ų§Ł… صفات، ŲÆŲ± Ų­Ų§Ł„ Ų­Ų§Ų¶Ų± به طور پیؓ فرض ŲÆŲ± ŲÆŲ³ŲŖŲ±Ų³ Ł†ŪŒŲ³ŲŖŲŒ و Ų§ŪŒŁ† که Ų“Ł…Ų§ Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ برای٪ s Ł¾Ų“ŲŖŪŒŲØŲ§Ł†ŪŒ Ł…ŪŒ ؓود. ExtraFields=ویژگی Ł‡Ų§ŪŒ مکمل ExtraFieldsLines=ویژگی Ł‡Ų§ŪŒ مکمل (Ų®Ų·) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=ویژگی Ł‡Ų§ŪŒ مکمل (thirdparty) ExtraFieldsContacts=ویژگی Ł‡Ų§ŪŒ مکمل (ŲŖŁ…Ų§Ų³ / Ų¢ŲÆŲ±Ų³) ExtraFieldsMember=ویژگی Ł‡Ų§ŪŒ مکمل (عضو) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=یک Ų®Ų· Ų§Ų² Ł…Ų­ŲµŁˆŁ„ / Ų®ŲÆŁ…Ų§ŲŖ ŲØŲ§ مقدار FreeLegalTextOnProposal=متن Ų±Ų§ŪŒŚÆŲ§Ł† ŲÆŲ± Ų·Ų±Ų­ Ł‡Ų§ŪŒ تجاری WatermarkOnDraftProposal=ŲŖŲ¹ŪŒŪŒŁ† Ł…ŪŒŲ²Ų§Ł† Ł…ŲÆ Ų¢ŲØ ŲÆŲ± پیؓ Ł†ŁˆŪŒŲ³ Ų·Ų±Ų­ تجاری (Ł‡ŪŒŚ† Ų§ŚÆŲ± Ų®Ų§Ł„ŪŒ) 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=راه Ų§Ł†ŲÆŲ§Ų²ŪŒ Ł…ŲÆŪŒŲ±ŪŒŲŖ سفارؓ OrdersNumberingModules=سفارؓات ؓماره Ł…ŲÆŁ„ @@ -1383,7 +1410,7 @@ BarcodeDescUPC=بارکد Ų§Ų² Ł†ŁˆŲ¹ UPC BarcodeDescISBN=بارکد Ų§Ų² Ł†ŁˆŲ¹ ISBN BarcodeDescC39=بارکد Ų§Ų² Ł†ŁˆŲ¹ C39 BarcodeDescC128=بارکد Ų§Ų² Ł†ŁˆŲ¹ C128 -GenbarcodeLocation=ŲŖŁˆŁ„ŪŒŲÆ کد Ł†ŁˆŲ§Ų± Ų§ŲØŲ²Ų§Ų± Ų®Ų· فرمان (استفاده ؓده توسط Ł…ŁˆŲŖŁˆŲ± ŲÆŲ§Ų®Ł„ŪŒ برای برخی Ų§Ų² Ų§Ł†ŁˆŲ§Ų¹ بارکد) +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=Ł…ŲÆŪŒŲ± به صورت خودکار تعریف Ų§Ų¹ŲÆŲ§ŲÆ بارکد ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=پیؓ فرض Ų­Ų³Ų§ŲØ استفاده برای دریافت پرداخت Ł‡Ų§ŪŒ Ł†Ł‚ŲÆŪŒ CashDeskBankAccountForCheque= پیؓ فرض Ų­Ų³Ų§ŲØ استفاده برای دریافت پرداخت توسط چک CashDeskBankAccountForCB= پیؓ فرض Ų­Ų³Ų§ŲØ استفاده برای دریافت پرداخت توسط کارت Ł‡Ų§ŪŒ اعتباری -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=راه Ų§Ł†ŲÆŲ§Ų²ŪŒ Ł…Ų§Ś˜ŁˆŁ„ Ś†ŁˆŲØ الف @@ -1569,3 +1597,7 @@ SortOrder=Sort order 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. diff --git a/htdocs/langs/fa_IR/banks.lang b/htdocs/langs/fa_IR/banks.lang index b94e76dd3c6..30e1877cfe8 100644 --- a/htdocs/langs/fa_IR/banks.lang +++ b/htdocs/langs/fa_IR/banks.lang @@ -33,7 +33,11 @@ AllTime=Ų§Ų² ؓروع Reconciliation=مصالحه RIB=ؓماره Ų­Ų³Ų§ŲØ ŲØŲ§Ł†Ś©ŪŒ IBAN=ؓماره IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / ŲŖŲ¹ŲÆŲ§ŲÆ SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=سفارؓات Ų§ŪŒŲ³ŲŖŲ§ŲÆŁ‡ StandingOrder=نظام نامه Withdrawals=ŲØŲ±ŲÆŲ§Ų“ŲŖ ها @@ -148,7 +152,7 @@ BackToAccount=برگؓت به Ų­Ų³Ų§ŲØ ShowAllAccounts=Ł†Ł…Ų§ŪŒŲ“ برای همه Ų­Ų³Ų§ŲØ ها FutureTransaction=معامله ŲÆŲ± futur. Ł‡ŪŒŚ† Ų±Ų§Ł‡ŪŒ برای مصالحه. SelectChequeTransactionAndGenerate=انتخاب چک / ŁŪŒŁ„ŲŖŲ± به چک دریافت سپرده Ų“Ų§Ł…Ł„ و Ś©Ł„ŪŒŚ© ŲØŲ± روی "ایجاد". -InputReceiptNumber=ŲØŪŒŲ§Ł†ŪŒŁ‡ بانک Ł…Ų±ŲŖŲØŲ· ŲØŲ§ مصالحه Ų±Ų§ انتخاب Ś©Ł†ŪŒŲÆ. استفاده Ų§Ų² یک مقدار عددی قابل Ł…Ų±ŲŖŲØ ؓدن Ų§Ų³ŲŖ (Ł…Ų§Ł†Ł†ŲÆŲŒ YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=ŲÆŲ± Ł†Ł‡Ų§ŪŒŲŖŲŒ ŲŖŲ¹ŪŒŪŒŁ† یک دسته ŲØŁ†ŲÆŪŒ Ų§Ų³ŲŖ که ŲÆŲ± آن برای طبقه ŲØŁ†ŲÆŪŒ Ł¾Ų±ŁˆŁ†ŲÆŁ‡ ToConciliate=به Ł…ŲµŲ§Ł„Ų­Ł‡ŲŸ ThenCheckLinesAndConciliate=سپس، بررسی خطوط Ł…ŁˆŲ¬ŁˆŲÆ ŲÆŲ± صورت Ų­Ų³Ų§ŲØ ŲØŲ§Ł†Ś©ŪŒ و Ś©Ł„ŪŒŚ© Ś©Ł†ŪŒŲÆ diff --git a/htdocs/langs/fa_IR/bills.lang b/htdocs/langs/fa_IR/bills.lang index 90a5b2b6aeb..db80589b564 100644 --- a/htdocs/langs/fa_IR/bills.lang +++ b/htdocs/langs/fa_IR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=پرداخت Ų§Ų² قبل انجام Ł…ŪŒ ؓود PaymentsBackAlreadyDone=پرداخت به عقب ŲÆŲ± Ų­Ų§Ł„ Ų­Ų§Ų¶Ų± انجام Ł…ŪŒ ؓود PaymentRule=Ł‚Ų§Ł†ŁˆŁ† پرداخت PaymentMode=Ł†Ų­ŁˆŁ‡ پرداخت -PaymentConditions=Ł…ŲÆŲŖ پرداخت -PaymentConditionsShort=Ł…ŲÆŲŖ پرداخت +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=مقدار پرداخت ValidatePayment=Ų§Ų¹ŲŖŲØŲ§Ų± پرداخت PaymentHigherThanReminderToPay=پرداخت بالاتر Ų§Ų² یادآوری به پرداخت diff --git a/htdocs/langs/fa_IR/boxes.lang b/htdocs/langs/fa_IR/boxes.lang index 9ce956f693d..a903fc35967 100644 --- a/htdocs/langs/fa_IR/boxes.lang +++ b/htdocs/langs/fa_IR/boxes.lang @@ -12,6 +12,7 @@ BoxLastProspects=چؓم انداز تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ† اصلاح BoxLastCustomers=Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† Ų¢Ų®Ų±ŪŒŁ† تغییر BoxLastSuppliers=ŲŖŲ§Ł…ŪŒŁ† کنندگان Ų¢Ų®Ų±ŪŒŁ† تغییر BoxLastCustomerOrders=Ų¢Ų®Ų±ŪŒŁ† سفارؓات Ł…Ų“ŲŖŲ±ŪŒ +BoxLastValidatedCustomerOrders=Last validated customer orders BoxLastBooks=Ų¢Ų®Ų±ŪŒŁ† کتاب ها BoxLastActions=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ† اقدامات BoxLastContracts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ† قرارداد @@ -24,39 +25,42 @@ BoxTotalUnpaidCustomerBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł…Ų¬Ł…ŁˆŲ¹ Ł…Ų“ŲŖŲ±ŪŒ پرداخت BoxTotalUnpaidSuppliersBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł…Ų¬Ł…ŁˆŲ¹ عرضه کننده کالا پرداخت نؓده Ų§Ų³ŲŖ BoxTitleLastBooks=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ کتاب Ų«ŲØŲŖ BoxTitleNbOfCustomers=تعدادی Ų§Ų² Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† -BoxTitleLastRssInfos=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ų®ŲØŲ± Ų§Ų²%s -BoxTitleLastProducts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s تغییر داده Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ / Ų®ŲÆŁ…Ų§ŲŖ +BoxTitleLastRssInfos=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ų®ŲØŲ± از٪ s +BoxTitleLastProducts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s تغییر داده Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ / Ų®ŲÆŁ…Ų§ŲŖ BoxTitleProductsAlertStock=Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ Ł…ŁˆŲ¬ŁˆŲÆ ŲÆŲ± انبار هؓدار -BoxTitleLastCustomerOrders=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s Ų±Ų§ سفارؓ Ł…Ų“ŲŖŲ±ŪŒ تغییر +BoxTitleLastCustomerOrders=Last %s customer orders +BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders BoxTitleLastSuppliers=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ بازدید کنندگان ŲŖŲ§Ł…ŪŒŁ† کنندگان Ų«ŲØŲŖ BoxTitleLastCustomers=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ų«ŲØŲŖ Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† BoxTitleLastModifiedSuppliers=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ بازدید کنندگان ŲŖŲ§Ł…ŪŒŁ† کنندگان اصلاح ؓده BoxTitleLastModifiedCustomers=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† اصلاح ؓده -BoxTitleLastCustomersOrProspects=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† اصلاح و یا چؓم انداز -BoxTitleLastPropals=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s Ų±Ų§ Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆ Ų«ŲØŲŖ +BoxTitleLastCustomersOrProspects=Last %s customers or prospects +BoxTitleLastPropals=Last %s proposals +BoxTitleLastModifiedPropals=Last %s modified proposals BoxTitleLastCustomerBills=صورت Ų­Ų³Ų§ŲØ Ų¢Ų®Ų±ŪŒŁ†ŁŖ بازدید کنندگان Ł…Ų“ŲŖŲ±ŪŒ +BoxTitleLastModifiedCustomerBills=Last %s modified customer invoices BoxTitleLastSupplierBills=صورت Ų­Ų³Ų§ŲØ Ų¢Ų®Ų±ŪŒŁ†ŁŖ کننده Ų§Ų³ŲŖ -BoxTitleLastProspects=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s ŲÆŲ± چؓم انداز Ų«ŲØŲŖ -BoxTitleLastModifiedProspects=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s ŲÆŲ± چؓم انداز تغییر +BoxTitleLastModifiedSupplierBills=Last %s modified supplier invoices +BoxTitleLastModifiedProspects=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s ŲÆŲ± چؓم انداز تغییر BoxTitleLastProductsInContract=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ / Ų®ŲÆŁ…Ų§ŲŖ ŲÆŲ± قرارداد -BoxTitleLastModifiedMembers=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ اعضای اصلاح ؓده -BoxTitleLastFicheInter=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s Ų±Ų§ مداخله اصلاح ؓده -BoxTitleOldestUnpaidCustomerBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł‚ŲÆŪŒŁ…ŪŒ ŲŖŲ± Ų§Ų²%s Ł…Ų“ŲŖŲ±ŪŒ پرداخت نؓده Ų§Ų³ŲŖ -BoxTitleOldestUnpaidSupplierBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł‚ŲÆŪŒŁ…ŪŒ ŲŖŲ± Ų§Ų²%s عرضه کننده کالا پرداخت نؓده Ų§Ų³ŲŖ +BoxTitleLastModifiedMembers=Last %s members +BoxTitleLastFicheInter=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s Ų±Ų§ مداخله اصلاح ؓده +BoxTitleOldestUnpaidCustomerBills=Oldest %s unpaid customer invoices +BoxTitleOldestUnpaidSupplierBills=Oldest %s unpaid supplier invoices BoxTitleCurrentAccounts=مانده Ų­Ų³Ų§ŲØ ŲØŲ§Ų² Ų§Ų³ŲŖ BoxTitleSalesTurnover=ŚÆŲ±ŲÆŲ“ Ł…Ų§Ł„ŪŒ فروؓ -BoxTitleTotalUnpaidCustomerBills=صورت Ų­Ų³Ų§ŲØ به Ł…Ų“ŲŖŲ±ŪŒ پرداخت نؓده Ų§Ų³ŲŖ -BoxTitleTotalUnpaidSuppliersBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ منبع پرداخت نؓده Ų§Ų³ŲŖ -BoxTitleLastModifiedContacts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s تغییر اطلاعات ŲŖŁ…Ų§Ų³ / Ų¢ŲÆŲ±Ų³ +BoxTitleTotalUnpaidCustomerBills=Unpaid customer invoices +BoxTitleTotalUnpaidSuppliersBills=Unpaid supplier invoices +BoxTitleLastModifiedContacts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s تغییر اطلاعات ŲŖŁ…Ų§Ų³ / Ų¢ŲÆŲ±Ų³ BoxMyLastBookmarks=Ų¢Ų®Ų±ŪŒŁ†ŁŖ من بازدید کنندگان بوک مارک ها BoxOldestExpiredServices=Ł‚ŲÆŪŒŁ…ŪŒ ŲŖŲ± Ų®ŲÆŁ…Ų§ŲŖ Ł…Ł†Ł‚Ų¶ŪŒ فعال BoxLastExpiredServices=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ Ł‚ŲÆŪŒŁ…ŪŒ ŲŖŲ±ŪŒŁ† Ų§Ų±ŲŖŲØŲ§Ų· ŲØŲ§ Ų®ŲÆŁ…Ų§ŲŖ Ł…Ł†Ł‚Ų¶ŪŒ فعال -BoxTitleLastActionsToDo=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ† اقدامات%s Ų±Ų§ به انجام -BoxTitleLastContracts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s ŲÆŲ± قرارداد +BoxTitleLastActionsToDo=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ† اقدامات٪ s Ų±Ų§ به انجام +BoxTitleLastContracts=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s ŲÆŲ± قرارداد BoxTitleLastModifiedDonations=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ بازدید کنندگان کمک Ł‡Ų§ŪŒ Ł…Ų§Ł„ŪŒ اصلاح ؓده -BoxTitleLastModifiedExpenses=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†%s ŲÆŲ± Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ اصلاح ؓده +BoxTitleLastModifiedExpenses=تاریخ و زمان Ų¢Ų®Ų±ŪŒŁ†ŁŖ s ŲÆŲ± Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ اصلاح ؓده BoxGlobalActivity=ŁŲ¹Ų§Ł„ŪŒŲŖ Ł‡Ų§ŪŒ Ų¬Ł‡Ų§Ł†ŪŒ (ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ŲŒ Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆŲ§ŲŖŲŒ سفارؓات) -FailedToRefreshDataInfoNotUpToDate=به روز کردن Ų“Ų§Ų± RSS ؓکست Ų®ŁˆŲ±ŲÆŁ‡ Ų§Ų³ŲŖ. Ų¢Ų®Ų±ŪŒŁ† تاریخ تازه کردن Ł…ŁˆŁŁ‚:%s Ų±Ų§ +FailedToRefreshDataInfoNotUpToDate=به روز کردن Ų“Ų§Ų± RSS ؓکست Ų®ŁˆŲ±ŲÆŁ‡ Ų§Ų³ŲŖ. Ų¢Ų®Ų±ŪŒŁ† تاریخ تازه کردن Ł…ŁˆŁŁ‚:ŁŖ s Ų±Ų§ LastRefreshDate=Ų¢Ų®Ų±ŪŒŁ† تاریخ تازه کردن NoRecordedBookmarks=ŲØŲÆŁˆŁ† بوک مارک ها تعریف ؓده Ų§Ų³ŲŖ. ClickToAdd=برای اضافه کردن Ų§ŪŒŁ†Ų¬Ų§ Ś©Ł„ŪŒŚ© Ś©Ł†ŪŒŲÆ. @@ -65,8 +69,8 @@ NoRecordedContacts=ŲØŲÆŁˆŁ† اطلاعات ŲŖŁ…Ų§Ų³ Ų«ŲØŲŖ NoActionsToDo=Ł‡ŪŒŚ† Ų¹Ł…Ł„ŪŒŲ§ŲŖŪŒ برای انجام NoRecordedOrders=سفارؓات ŲØŲÆŁˆŁ† Ł…Ų“ŲŖŲ±ŪŒ Ų«ŲØŲŖ ؓده Ų§Ų³ŲŖ NoRecordedProposals=Ł‡ŪŒŚ† Ų·Ų±Ų­ Ų«ŲØŲŖ -NoRecordedInvoices=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł‡ŪŒŚ† Ł…Ų“ŲŖŲ±ŪŒ Ų«ŲØŲŖ ؓده Ų§Ų³ŲŖ -NoUnpaidCustomerBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ Ł‡ŪŒŚ† Ł…Ų“ŲŖŲ±ŪŒ پرداخت نؓده Ų§Ų³ŲŖ +NoRecordedInvoices=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ŪŒ Ł‡ŪŒŚ† Ł…Ų“ŲŖŲ±ŪŒ Ų«ŲØŲŖ ؓده Ų§Ų³ŲŖ +NoUnpaidCustomerBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ŪŒ Ł‡ŪŒŚ† Ł…Ų“ŲŖŲ±ŪŒ پرداخت نؓده Ų§Ų³ŲŖ NoRecordedSupplierInvoices=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ ŲØŲÆŁˆŁ† منبع Ų«ŲØŲŖ ŲÆŲ± NoUnpaidSupplierBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ ŲØŲÆŁˆŁ† منبع پرداخت نؓده Ų§Ų³ŲŖ NoModifiedSupplierBills=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ ŲØŲÆŁˆŁ† منبع Ų«ŲØŲŖ ŲÆŲ± @@ -76,7 +80,8 @@ NoContractedProducts=Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ / Ų®ŲÆŁ…Ų§ŲŖ قرارداد NoRecordedContracts=ŲØŲÆŁˆŁ† قرارداد Ų«ŲØŲŖ NoRecordedInterventions=ŲØŲÆŁˆŁ† مداخلات Ų«ŲØŲŖ BoxLatestSupplierOrders=Ų¢Ų®Ų±ŪŒŁ† سفارؓات کالا -BoxTitleLatestSupplierOrders=ŁŖ Ų¢Ų®Ų±ŪŒŁ† سفارؓات کالا +BoxTitleLatestSupplierOrders=Last %s supplier orders +BoxTitleLatestModifiedSupplierOrders=Last %s modified supplier orders NoSupplierOrder=ŲØŲÆŁˆŁ† Ł…Ł†ŲøŁˆŲ± عرضه کننده کالا Ų«ŲØŲŖ BoxCustomersInvoicesPerMonth=صورت Ų­Ų³Ų§ŲØ به Ł…Ų“ŲŖŲ±ŪŒ ŲÆŲ± هر ماه BoxSuppliersInvoicesPerMonth=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ منبع ŲÆŲ± هر ماه @@ -85,7 +90,7 @@ BoxSuppliersOrdersPerMonth=سفارؓات ŲŖŲ§Ł…ŪŒŁ† کننده ŲÆŲ± هر ماه BoxProposalsPerMonth=Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆŲ§ŲŖ ŲÆŲ± هر ماه NoTooLowStockProducts=Ł‡ŪŒŚ† Ł…Ų­ŲµŁˆŁ„ŪŒ ŲÆŲ± زیر Ų­ŲÆ سهام کم BoxProductDistribution=Ł…Ų­ŲµŁˆŁ„Ų§ŲŖ / Ų®ŲÆŁ…Ų§ŲŖ توزیع -BoxProductDistributionFor=توزیع Ų§Ų²%s Ų±Ų§ برای%s +BoxProductDistributionFor=توزیع از٪ s Ų±Ų§ برای٪ s ForCustomersInvoices=Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ ForCustomersOrders=سفارؓات Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† ForProposals=Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆŲ§ŲŖ diff --git a/htdocs/langs/fa_IR/categories.lang b/htdocs/langs/fa_IR/categories.lang index 427073d5f48..d220bfe612d 100644 --- a/htdocs/langs/fa_IR/categories.lang +++ b/htdocs/langs/fa_IR/categories.lang @@ -108,5 +108,5 @@ ExtraFieldsCategories=ویژگی Ł‡Ų§ŪŒ مکمل CategoriesSetup=ؓاخه ها راه Ų§Ł†ŲÆŲ§Ų²ŪŒ CategorieRecursiv=Ł¾ŪŒŁˆŁ†ŲÆ ŲØŲ§ ŚÆŲ±ŁˆŁ‡ پدر و Ł…Ų§ŲÆŲ± به طور خودکار CategorieRecursivHelp=Ų§ŚÆŲ± فعال ؓود، Ł…Ų­ŲµŁˆŁ„ Ł†ŪŒŲ² به دسته پدر و Ł…Ų§ŲÆŲ± Ł…Ų±ŲŖŲØŲ· Ų§Ų³ŲŖ که ŲØŲ§ اضافه کردن به Ų²ŪŒŲ±Ų“Ų§Ų®Ł‡ -AddProductServiceIntoCategory=Add the following product/service -ShowCategory=Show category +AddProductServiceIntoCategory=Ų§ŁŲ²ŁˆŲÆŁ† پیگیری Ł…Ų­ŲµŁˆŁ„/سرویس +ShowCategory=Ł†Ł…Ų§ŪŒŲ“ دسته diff --git a/htdocs/langs/fa_IR/commercial.lang b/htdocs/langs/fa_IR/commercial.lang index 46d83514095..58154b70276 100644 --- a/htdocs/langs/fa_IR/commercial.lang +++ b/htdocs/langs/fa_IR/commercial.lang @@ -9,9 +9,9 @@ Prospect=چؓم انداز Prospects=چؓم انداز DeleteAction=حذف یک رویداد / کار NewAction=رویداد جدید / کار -AddAction=اضافه کردن رویداد / کار -AddAnAction=اضافه کردن یک رویداد / کار -AddActionRendezVous=اضافه کردن یک رویداد Rendez-vous +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=قرار ملاقات گذاؓتن ConfirmDeleteAction=آیا مطمئن Ł‡Ų³ŲŖŪŒŲÆ که Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ Ų§ŪŒŁ† رویداد / ŁˆŲøŪŒŁŁ‡ Ų±Ų§ حذف Ś©Ł†ŪŒŲÆŲŸ CardAction=کارت رویداد @@ -44,8 +44,8 @@ DoneActions=Ų±ŁˆŪŒŲÆŲ§ŲÆŁ‡Ų§ŪŒ انجام ؓده DoneActionsFor=Ų±ŁˆŪŒŲÆŲ§ŲÆŁ‡Ų§ŪŒ انجام ؓده برای٪ s ToDoActions=Ų±ŁˆŪŒŲÆŲ§ŲÆŁ‡Ų§ŪŒ ناقص ToDoActionsFor=Ų±ŁˆŪŒŲÆŲ§ŲÆŁ‡Ų§ŪŒ ناقص برای٪ s -SendPropalRef=Ų§Ų±Ų³Ų§Ł„ Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆ تجاری از٪ s -SendOrderRef=Ų§Ų±Ų³Ų§Ł„ Ł…Ł†ŲøŁˆŲ± از٪ s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=قابل Ų§Ų¬Ų±Ų§ Ł†ŪŒŲ³ŲŖ StatusActionToDo=برای انجام Ų§ŪŒŁ† کار StatusActionDone=کامل @@ -62,7 +62,7 @@ LastProspectContactDone=ŲŖŁ…Ų§Ų³ ŲØŲ§ انجام DateActionPlanned=تاریخ رویداد برنامه ریزی ؓده برای DateActionDone=تاریخ رویداد انجام Ł…ŪŒ ؓود ActionAskedBy=رویداد ŚÆŲ²Ų§Ų±Ų“ ؓده توسط -ActionAffectedTo=رویداد Ų§Ų®ŲŖŲµŲ§Ųµ ŪŒŲ§ŁŲŖŁ‡ به +ActionAffectedTo=Event assigned to ActionDoneBy=رویداد Ł‡Ų§ŪŒ انجام ؓده توسط ActionUserAsk=به ŚÆŲ²Ų§Ų±Ų“ ErrorStatusCantBeZeroIfStarted=Ų§ŚÆŲ± Ų²Ł…ŪŒŁ†Ł‡ 'تاریخ انجام Ł…ŪŒ ؓود' پر ؓده است، اقدام Ų¢ŲŗŲ§Ų² ؓده Ų§Ų³ŲŖ (و یا به Ł¾Ų§ŪŒŲ§Ł† رسید)، پس ŲÆŲ±Ų³ŲŖ Ų§Ų³ŲŖ 'وضعیت' Ł…ŪŒ ŲŖŁˆŲ§Ł†ŲÆ 0ŁŖŁŖ Ł†ŪŒŲ³ŲŖ. diff --git a/htdocs/langs/fa_IR/contracts.lang b/htdocs/langs/fa_IR/contracts.lang index 66101dfbec6..399617a86aa 100644 --- a/htdocs/langs/fa_IR/contracts.lang +++ b/htdocs/langs/fa_IR/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Ł…Ł†Ł‚Ų¶ŪŒ ؓده ServiceStatusClosed=بسته ServicesLegend=Ų®ŲÆŁ…Ų§ŲŖ افسانه Contracts=قراردادها +ContractsAndLine=Contracts and line of contracts Contract=قرارداد NoContracts=ŲØŲÆŁˆŁ† قرارداد MenuServices=Ų®ŲÆŁ…Ų§ŲŖ diff --git a/htdocs/langs/fa_IR/cron.lang b/htdocs/langs/fa_IR/cron.lang index c7464dd88b9..feca42ac429 100644 --- a/htdocs/langs/fa_IR/cron.lang +++ b/htdocs/langs/fa_IR/cron.lang @@ -84,3 +84,4 @@ CronType_command=فرمان Ų“Ł„ CronMenu=cron Ų±Ų§ CronCannotLoadClass=آیا Ł…ŪŒ ŲŖŁˆŲ§Ł†Ł… کلاس٪ s ​​را ŲØŲ§Ų± Ł†ŪŒŲ³ŲŖ و یا ؓی از٪ s UseMenuModuleToolsToAddCronJobs=برو به Ł…Ł†ŁˆŪŒ "صفحه Ų§ŲµŁ„ŪŒ - Ł…Ų§Ś˜ŁˆŁ„ Ų§ŲØŲ²Ų§Ų± - فهرست فرصت Ł‡Ų§ŪŒ Ų“ŲŗŁ„ŪŒ" برای ŲÆŪŒŲÆŁ† و ویرایؓ کار برنامه ریزی ؓده. +TaskDisabled=Task 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 2b562f769ad..feea5472afb 100644 --- a/htdocs/langs/fa_IR/errors.lang +++ b/htdocs/langs/fa_IR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=منبع و اهداف Ų­Ų³Ų§ŲØ Ł‡Ų§ŪŒ ŲØŲ§Ł†Ś©ŪŒ ErrorBadThirdPartyName=Ų§Ų±Ų²Ų“ ŲØŲÆ برای نام Ų“Ų®Ųµ ثالث ErrorProdIdIsMandatory=ŁŖ بازدید کنندگان Ų§Ł„Ų²Ų§Ł…ŪŒ Ų§Ų³ŲŖ ErrorBadCustomerCodeSyntax=Ł†Ų­Łˆ ŲØŲÆ برای کد Ł…Ų“ŲŖŲ±ŪŒ -ErrorBadBarCodeSyntax=Ł†Ų­Łˆ ŲØŲÆ بارکد +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=کد Ł…Ų“ŲŖŲ±ŪŒŲ§Ł† Ł…ŁˆŲ±ŲÆ Ł†ŪŒŲ§Ų² ErrorBarCodeRequired=کد Ł†ŁˆŲ§Ų± Ł…ŁˆŲ±ŲÆ Ł†ŪŒŲ§Ų² ErrorCustomerCodeAlreadyUsed=کد Ł…Ų“ŲŖŲ±ŪŒ ŲÆŲ± Ų­Ų§Ł„ Ų­Ų§Ų¶Ų± استفاده Ł…ŪŒ ؓود @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=جاوا اسکریپت Ł†Ł…ŪŒ باید غیر فع ErrorPasswordsMustMatch=هر دو کلمه عبور تایپ ؓده باید ŲØŲ§ یکدیگر مطابقت ErrorContactEMail=یک خطای ŁŁ†ŪŒ Ų±Ų® ŲÆŲ§ŲÆ. Ł„Ų·ŁŲ§ŲŒ ŲØŲ§ Ł…ŲÆŪŒŲ± سایت ŲŖŁ…Ų§Ų³ به زیر Ų§ŪŒŁ…ŪŒŁ„ از٪ s EN ارائه کد Ų®Ų·Ų§ŁŖ s ŲÆŲ± Ł¾ŪŒŲ§Ł… خود، و یا حتی بهتر ŲØŲ§ اضافه کردن یک کپی روی صفحه Ł†Ł…Ų§ŪŒŲ“ Ų§Ų² Ų§ŪŒŁ† صفحه. ErrorWrongValueForField=Ų§Ų±Ų²Ų“ اؓتباه برای ŲŖŲ¹ŲÆŲ§ŲÆ ŁŪŒŁ„ŲÆŁŖ s (مقدار «٪ sĀ» به Ų¹ŲØŲ§Ų±ŲŖ منظم Ų­Ś©ŁˆŁ…ŲŖ از٪ s مطابقت ندارد) -ErrorFieldValueNotIn=Ų§Ų±Ų²Ų“ اؓتباه برای ŲŖŲ¹ŲÆŲ§ŲÆ ŁŪŒŁ„ŲÆŁŖ s (مقدار «٪ sĀ» Ų§Ų³ŲŖ مقدار Ł…ŁˆŲ¬ŁˆŲÆ ŲÆŲ± ŁŪŒŁ„ŲÆŁŖ s Ų±Ų§ Ų§Ų² Ų¬ŲÆŁˆŁ„ŁŖ Ł†ŪŒŲ³ŲŖ) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Ų§Ų±Ų²Ų“ اؓتباه برای ŲŖŲ¹ŲÆŲ§ŲÆ ŁŪŒŁ„ŲÆŁŖ s (مقدار «٪ sĀ» Ų§Ų³ŲŖ از٪ s کد عکس Ł…ŁˆŲ¬ŁˆŲÆ Ł†ŪŒŲ³ŲŖ) ErrorsOnXLines=Ų®Ų·Ų§ در٪ s Ų±Ų§ Ų«ŲØŲŖ منبع (ها) ErrorFileIsInfectedWithAVirus=برنامه Ų¢Ł†ŲŖŪŒ ویروس قادر به Ų§Ų¹ŲŖŲØŲ§Ų± ŁŲ§ŪŒŁ„ (ŁŲ§ŪŒŁ„ ممکن Ų§Ų³ŲŖ توسط یک ویروس Ų¢Ł„ŁˆŲÆŁ‡) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Ł¾Ų§Ų±Ų§Ł…ŲŖŲ±Ł‡Ų§ŪŒ راه Ų§Ł†ŲÆŲ§Ų²ŪŒ اجباری Ł‡Ł†ŁˆŲ² تعریف نؓده diff --git a/htdocs/langs/fa_IR/incoterm.lang b/htdocs/langs/fa_IR/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/fa_IR/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/fa_IR/install.lang b/htdocs/langs/fa_IR/install.lang index ac1ba6dc068..0b4f81b7903 100644 --- a/htdocs/langs/fa_IR/install.lang +++ b/htdocs/langs/fa_IR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Ų¢Ų®Ų±ŪŒŁ† مرحله: تعریف Ų§ŪŒŁ†Ų¬Ų§ کا ActivateModule=فعال ŲØŲ®Ų“ŁŖ s ShowEditTechnicalParameters=برای نؓان دادن Ł¾Ų§Ų±Ų§Ł…ŲŖŲ±Ł‡Ų§ŪŒ Ł¾ŪŒŲ“Ų±ŁŲŖŁ‡ / ویرایؓ Ų§ŪŒŁ†Ų¬Ų§ Ų±Ų§ Ś©Ł„ŪŒŚ© Ś©Ł†ŪŒŲÆ (حالت Ś©Ų§Ų±Ų“Ł†Ų§Ų³ŪŒ) 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 diff --git a/htdocs/langs/fa_IR/main.lang b/htdocs/langs/fa_IR/main.lang index f75a9926e70..8e9afbf39b0 100644 --- a/htdocs/langs/fa_IR/main.lang +++ b/htdocs/langs/fa_IR/main.lang @@ -141,6 +141,7 @@ Cancel=Ł„ŲŗŁˆ کردن Modify=تغییر دادن Edit=ویرایؓ Validate=Ł…Ų¹ŲŖŲØŲ± ساختن +ValidateAndApprove=Validate and Approve ToValidate=به Ų§Ų¹ŲŖŲØŲ§Ų± Save=جویی ŲÆŲ± Ł‡Ų²ŪŒŁ†Ł‡ SaveAs=Ų°Ų®ŪŒŲ±Ł‡ به Ų¹Ł†ŁˆŲ§Ł† @@ -158,6 +159,7 @@ Search=جستجو SearchOf=جستجو Valid=Ł…Ų¹ŲŖŲØŲ± Approve=تصویب +Disapprove=Disapprove ReOpen=ŲÆŁˆŲØŲ§Ų±Ł‡ ŲØŲ§Ų² Upload=Ų§Ų±Ų³Ų§Ł„ ŁŲ§ŪŒŁ„ ToLink=Ł¾ŪŒŁˆŁ†ŲÆ @@ -219,6 +221,7 @@ Cards=کارت Card=کارت Now=Ų§Ś©Ł†ŁˆŁ† Date=تاریخ +DateAndHour=Date and hour DateStart=تاریخ ؓروع DateEnd=تاریخ Ł¾Ų§ŪŒŲ§Ł† DateCreation=تاریخ ایجاد @@ -295,6 +298,7 @@ UnitPriceHT=Ł‚ŪŒŁ…ŲŖ واحد (خالص) UnitPriceTTC=Ł‚ŪŒŁ…ŲŖ واحد PriceU=UP PriceUHT=UP (خالص) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=مقدار AmountInvoice=مقدار فاکتور @@ -521,6 +525,7 @@ DateFromTo=از٪ s به٪ s DateFrom=از٪ s DateUntil=ŲŖŲ§ از٪ s Check=بررسی +Uncheck=Uncheck Internal=ŲÆŲ§Ų®Ł„ŪŒ External=خارجی Internals=ŲÆŲ§Ų®Ł„ŪŒ @@ -688,6 +693,7 @@ PublicUrl=URL Ų¹Ł…ŁˆŁ…ŪŒ AddBox=اضافه کردن جعبه SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ŲÆŁˆŲ“Ł†ŲØŁ‡ Tuesday=سهؓنبه diff --git a/htdocs/langs/fa_IR/orders.lang b/htdocs/langs/fa_IR/orders.lang index 43f430681cb..c680e0c4e84 100644 --- a/htdocs/langs/fa_IR/orders.lang +++ b/htdocs/langs/fa_IR/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Ł„ŲŗŁˆ Ų“ŲÆ StatusOrderDraft=پیؓ Ł†ŁˆŪŒŲ³ (Ł†ŪŒŲ§Ų² به تایید Ł…ŪŒ ؓود) StatusOrderValidated=Ų§Ų¹ŲŖŲØŲ§Ų± StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=پردازؓ StatusOrderToBill=ŲŖŲ­ŁˆŪŒŁ„ StatusOrderToBill2=به ŲØŪŒŁ„ @@ -58,6 +59,7 @@ MenuOrdersToBill=سفارؓات ŲŖŲ­ŁˆŪŒŁ„ MenuOrdersToBill2=Billable orders SearchOrder=Ł†ŲŖŲ§ŪŒŲ¬ جستجو SearchACustomerOrder=جستجوی یک سفارؓ Ł…Ų“ŲŖŲ±ŪŒ +SearchASupplierOrder=Search a supplier order ShipProduct=Ł…Ų­ŲµŁˆŁ„ کؓتی Discount=تخفیف CreateOrder=ایجاد نظم diff --git a/htdocs/langs/fa_IR/other.lang b/htdocs/langs/fa_IR/other.lang index a510a002ae4..0276748a4da 100644 --- a/htdocs/langs/fa_IR/other.lang +++ b/htdocs/langs/fa_IR/other.lang @@ -54,12 +54,13 @@ MaxSize=حداکثر اندازه AttachANewFile=Ų¶Ł…ŪŒŁ…Ł‡ کردن ŁŲ§ŪŒŁ„ جدید / سند LinkedObject=ؓی Ł…Ų±ŲŖŲØŲ· Miscellaneous=متفرقه -NbOfActiveNotifications=ŲŖŲ¹ŲÆŲ§ŲÆ Ų§Ų·Ł„Ų§Ų¹ŪŒŁ‡ ها +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Ų§ŪŒŁ† یک پست ŲŖŲ³ŲŖ Ų§Ų³ŲŖ. دو Ų®Ų· ŲØŲ§ بازگؓت Ł†ŁˆŲ±ŲÆ Ų¬ŲÆŲ§ ؓده Ų§Ų³ŲŖ. __SIGNATURE__ PredefinedMailTestHtml=Ų§ŪŒŁ† Ų§ŪŒŁ…ŪŒŁ„ Ų¢Ų²Ł…ŁˆŁ† (Ų¢Ų²Ł…ŁˆŁ† کلمه باید ŲÆŲ± پررنگ ŲØŲ§Ų“ŲÆ) Ų§Ų³ŲŖ.
    دو Ų®Ų· ŲØŲ§ بازگؓت Ł†ŁˆŲ±ŲÆ Ų¬ŲÆŲ§ ؓده Ų§Ų³ŲŖ.

    __SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ Ų“Ł…Ų§ ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ Ų®ŁˆŲ§Ł‡ŪŒŲÆ دید فاکتور __ FACREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ Ł…Ų§ Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŁ… به Ų“Ł…Ų§ هؓدار Ł…ŪŒ دهند که فاکتور __ FACREF__ به نظر Ł…ŪŒ Ų±Ų³ŲÆ که غیر Ų§Ł†ŲŖŁŲ§ŪŒŪŒ Ł†ŪŒŲ³ŲŖ. پس Ų§ŪŒŁ† فاکتور ŲÆŲ± پیوست Ų§Ų³ŲŖ ŲÆŁˆŲØŲ§Ų±Ł‡ŲŒ به Ų¹Ł†ŁˆŲ§Ł† یک یادآوری. __PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__ Ų“Ł…Ų§ ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ Ų®ŁˆŲ§Ł‡ŪŒŲÆ دید Ł¾ŪŒŲ“Ł†Ł‡Ų§ŲÆ تجاری __ PROPREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__ Ų“Ł…Ų§ ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ Ų®ŁˆŲ§Ł‡ŪŒŲÆ دید که Ł…Ł†ŲøŁˆŲ± __ ORDERREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ Ų“Ł…Ų§ ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ Ų®ŁˆŲ§Ł‡ŪŒŲÆ دید Ł…Ł†ŲøŁˆŲ± Ł…Ų§ __ ORDERREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ Ų“Ł…Ų§ ŲÆŲ± Ų§ŪŒŁ†Ų¬Ų§ Ų®ŁˆŲ§Ł‡ŪŒŲÆ دید فاکتور __ FACREF__ __ PERSONALIZED__Sincerely __ SIGNATURE__ diff --git a/htdocs/langs/fa_IR/printing.lang b/htdocs/langs/fa_IR/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/fa_IR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/fa_IR/productbatch.lang +++ b/htdocs/langs/fa_IR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/fa_IR/products.lang b/htdocs/langs/fa_IR/products.lang index 2fcdf5eed69..f7f332d68a0 100644 --- a/htdocs/langs/fa_IR/products.lang +++ b/htdocs/langs/fa_IR/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/fa_IR/projects.lang b/htdocs/langs/fa_IR/projects.lang index 2606f870f39..efcea608be1 100644 --- a/htdocs/langs/fa_IR/projects.lang +++ b/htdocs/langs/fa_IR/projects.lang @@ -8,8 +8,10 @@ SharedProject=هر کسی PrivateProject=اطلاعات ŲŖŁ…Ų§Ų³ Ł¾Ų±ŁˆŚ˜Ł‡ MyProjectsDesc=Ų§ŪŒŁ† ŲÆŪŒŲÆŚÆŲ§Ł‡ Ł…Ų­ŲÆŁˆŲÆ به Ł¾Ų±ŁˆŚ˜Ł‡ Ų“Ł…Ų§ یک ŲŖŁ…Ų§Ų³ برای (هر چه ŲØŲ§Ų“ŲÆ Ł†ŁˆŲ¹) Ł…ŪŒ ŲØŲ§Ų“ŲÆ. 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). TasksPublicDesc=Ų§ŪŒŁ† ŲÆŪŒŲÆŚÆŲ§Ł‡ ارائه ŲŖŁ…Ų§Ł… Ł¾Ų±ŁˆŚ˜Ł‡ ها و Ś©Ų§Ų±Ł‡Ų§ŪŒ Ų“Ł…Ų§ Ł…Ų¬Ų§Ų² به Ų®ŁˆŲ§Ł†ŲÆŁ†. TasksDesc=Ų§ŪŒŁ† ŲÆŪŒŲÆŚÆŲ§Ł‡ ارائه ŲŖŁ…Ų§Ł… Ł¾Ų±ŁˆŚ˜Ł‡ ها و وظایف (Ł…Ų¬ŁˆŲ² دسترسی خود Ų±Ų§ به Ų“Ł…Ų§ Ų¹Ų·Ų§ اجازه دسترسی به همه Ś†ŪŒŲ²). ProjectsArea=منطقه Ł¾Ų±ŁˆŚ˜Ł‡ ها @@ -29,6 +31,8 @@ NoProject=Ł‡ŪŒŚ† Ł¾Ų±ŁˆŚ˜Ł‡ تعریف ؓده و یا متعلق به NbOpenTasks=NB Ų§Ų² وظایف ŲØŲ§Ų² NbOfProjects=Nb ŲÆŲ± Ł¾Ų±ŁˆŚ˜Ł‡ TimeSpent=زمان صرف ؓده +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=زمان صرف ؓده RefTask=کد عکس. کار LabelTask=کار برچسب @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=فهرست سفارؓات منبع ŲÆŲ± Ų§Ų± ListSupplierInvoicesAssociatedProject=فهرست ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ منبع ŲÆŲ± Ų§Ų±ŲŖŲØŲ§Ų· ŲØŲ§ Ł¾Ų±ŁˆŚ˜Ł‡ ListContractAssociatedProject=فهرست قرارداد ŲÆŲ± Ų§Ų±ŲŖŲØŲ§Ų· ŲØŲ§ Ł¾Ų±ŁˆŚ˜Ł‡ ListFichinterAssociatedProject=فهرست مداخلات Ł…Ų±ŲŖŲØŲ· ŲØŲ§ Ł¾Ų±ŁˆŚ˜Ł‡ -ListTripAssociatedProject=فهرست Ų§Ų² سفر و Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ Ł…Ų±ŲŖŲØŲ· ŲØŲ§ Ł¾Ų±ŁˆŚ˜Ł‡ +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=فهرست رویدادی به Ų§ŪŒŁ† Ł¾Ų±ŁˆŚ˜Ł‡ ActivityOnProjectThisWeek=ŁŲ¹Ų§Ł„ŪŒŲŖ ŲÆŲ± Ł¾Ų±ŁˆŚ˜Ł‡ Ų§ŪŒŁ† هفته ActivityOnProjectThisMonth=ŁŲ¹Ų§Ł„ŪŒŲŖ ŲÆŲ± Ł¾Ų±ŁˆŚ˜Ł‡ Ų§ŪŒŁ† ماه @@ -126,10 +130,15 @@ AddElement=Ł„ŪŒŁ†Ś© به عنصر UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Ł…ŲÆŁ„ ŚÆŲ²Ų§Ų±Ų“ یک Ł¾Ų±ŁˆŚ˜Ł‡ کامل (logo. ..) -PlannedWorkload = حجم کار برنامه ریزی ؓده -WorkloadOccupation= تظاهر حجم کار +PlannedWorkload=حجم کار برنامه ریزی ؓده +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=مراجعه اؓیاؔ SearchAProject=جستجوی یک Ł¾Ų±ŁˆŚ˜Ł‡ ProjectMustBeValidatedFirst=Ł¾Ų±ŁˆŚ˜Ł‡ Ų§ŲØŲŖŲÆŲ§ باید Ł…Ų¹ŲŖŲØŲ± ŲØŲ§Ų“ŲÆ ProjectDraft=Ł¾Ų±ŁˆŚ˜Ł‡ Ł‡Ų§ŪŒ پیؓ Ł†ŁˆŪŒŲ³ 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 diff --git a/htdocs/langs/fa_IR/salaries.lang b/htdocs/langs/fa_IR/salaries.lang index 2cb6f372f7e..63b2ea6e372 100644 --- a/htdocs/langs/fa_IR/salaries.lang +++ b/htdocs/langs/fa_IR/salaries.lang @@ -1,4 +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 Salary=Ų­Ł‚ŁˆŁ‚ Salaries=Ų­Ł‚ŁˆŁ‚ Employee=کارمند @@ -6,3 +8,6 @@ NewSalaryPayment=پرداخت Ų­Ł‚ŁˆŁ‚ و ŲÆŲ³ŲŖŁ…Ų²ŲÆ جدید SalaryPayment=پرداخت Ų­Ł‚ŁˆŁ‚ و ŲÆŲ³ŲŖŁ…Ų²ŲÆ SalariesPayments=Ų­Ł‚ŁˆŁ‚ پرداخت ShowSalaryPayment=Ł†Ł…Ų§ŪŒŲ“ پرداخت Ų­Ł‚ŁˆŁ‚ و ŲÆŲ³ŲŖŁ…Ų²ŲÆ +THM=Average hourly price +TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/fa_IR/sendings.lang b/htdocs/langs/fa_IR/sendings.lang index de9d8feaa46..f456863b564 100644 --- a/htdocs/langs/fa_IR/sendings.lang +++ b/htdocs/langs/fa_IR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=ŲŖŲ¹ŲÆŲ§ŲÆ سفارؓ داده ؓده QtyShipped=ŲŖŲ¹ŲÆŲ§ŲÆ Ų­Ł…Ł„ QtyToShip=ŲŖŲ¹ŲÆŲ§ŲÆ به کؓتی QtyReceived=ŲŖŲ¹ŲÆŲ§ŲÆ دریافت -KeepToShip=نگه دارید به کؓتی +KeepToShip=Remain to ship OtherSendingsForSameOrder=دیگر Ł…Ų­Ł…ŁˆŁ„Ł‡ برای Ų§ŪŒŁ† Ł…Ł†ŲøŁˆŲ± DateSending=عضویت جهت Ų§Ų±Ų³Ų§Ł„ DateSendingShort=عضویت جهت Ų§Ų±Ų³Ų§Ł„ diff --git a/htdocs/langs/fa_IR/stocks.lang b/htdocs/langs/fa_IR/stocks.lang index 0d849cdaf73..1e27de088b8 100644 --- a/htdocs/langs/fa_IR/stocks.lang +++ b/htdocs/langs/fa_IR/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Ł‚ŪŒŁ…ŲŖ به طور Ł…ŲŖŁˆŲ³Ų· ā€‹ā€‹ŁˆŲ²Ł†ŪŒ PMPValueShort=WAP EnhancedValueOfWarehouses=Ų§Ų±Ų²Ų“ ساختمان و Ų°Ų®ŪŒŲ±Ł‡ سازی UserWarehouseAutoCreate=ایجاد یک انبار به طور خودکار ŲÆŲ± هنگام ایجاد یک کاربر +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=ŲŖŲ¹ŲÆŲ§ŲÆ Ų§Ų¹Ų²Ų§Ł… QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=انبار٪ Ų®ŁˆŲ§Ł‡ŲÆ Ų“ŲÆ برای سهام WarehouseForStockIncrease=انبار٪ Ų®ŁˆŲ§Ł‡ŲÆ Ų“ŲÆ برای افزایؓ سهام استفاده ForThisWarehouse=برای Ų§ŪŒŁ† انبار ReplenishmentStatusDesc=Ų§ŪŒŁ† Ł„ŪŒŲ³ŲŖ Ų§Ų² همه Ł…Ų­ŲµŁˆŁ„ ŲØŲ§ سهام Ł¾Ų§ŪŒŪŒŁ† ŲŖŲ± Ų§Ų² سهام Ł…ŁˆŲ±ŲÆ نظر (یا کمتر Ų§Ų² Ų§Ų±Ų²Ų“ هؓدار Ų§ŚÆŲ± ŚÆŲ²ŪŒŁ†Ł‡ "هؓدار تنها" بررسی Ł…ŪŒ ؓود)، و نؓان Ł…ŪŒ دهد به Ų“Ł…Ų§ برای ایجاد سفارؓات منبع برای پر کردن تفاوت Ų§Ų³ŲŖ. -ReplenishmentOrdersDesc=Ų§ŪŒŁ† Ł„ŪŒŲ³ŲŖ Ų§Ų² ŲŖŁ…Ų§Ł… سفارؓات منبع ŲØŲ§Ų² Ų§Ų³ŲŖ +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=پر کردن NbOfProductBeforePeriod=ŲŖŲ¹ŲÆŲ§ŲÆ Ł…Ų­ŲµŁˆŁ„ŁŖ s Ų±Ų§ ŲÆŲ± انبار قبل Ų§Ų² ŲÆŁˆŲ±Ł‡ (<ŁŖ) انتخاب NbOfProductAfterPeriod=ŲŖŲ¹ŲÆŲ§ŲÆ Ł…Ų­ŲµŁˆŁ„ŁŖ s Ų±Ų§ ŲÆŲ± سهام ŲØŲ¹ŲÆ Ų§Ų² ŲÆŁˆŲ±Ł‡ Ų²Ł…Ų§Ł†ŪŒ انتخاب ؓده (>ŁŖ بازدید کنندگان) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/fa_IR/suppliers.lang b/htdocs/langs/fa_IR/suppliers.lang index 62cfdfdd084..917a56b1758 100644 --- a/htdocs/langs/fa_IR/suppliers.lang +++ b/htdocs/langs/fa_IR/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=ŲŖŁˆŁ„ŪŒŲÆ کنندگان -Supplier=ŲŖŁ‡ŪŒŁ‡ کننده AddSupplier=Create a supplier SupplierRemoved=ŲŖŲ§Ł…ŪŒŁ† کننده حذف SuppliersInvoice=ŲŖŁˆŁ„ŪŒŲÆ کنندگان صورتحساب @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=ŁŲ§Ś©ŲŖŁˆŲ±Ł‡Ų§ ŲŖŲ§Ł…ŪŒŁ† کننده و پرداخ ExportDataset_fournisseur_3=سفارؓات ŲŖŲ§Ł…ŪŒŁ† کننده و خطوط جهت ApproveThisOrder=تصویب Ų§ŪŒŁ† Ł…Ł†ŲøŁˆŲ± ConfirmApproveThisOrder=آیا مطمئن Ł‡Ų³ŲŖŪŒŲÆ که Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ برای تایید از٪ s؟ -DenyingThisOrder=انکار Ų§ŪŒŁ† Ł…Ł†ŲøŁˆŲ± +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=آیا مطمئن Ł‡Ų³ŲŖŪŒŲÆ که Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ برای انکار Ų§ŪŒŁ† Ł…Ł†ŲøŁˆŲ± از٪ s؟ ConfirmCancelThisOrder=آیا مطمئن Ł‡Ų³ŲŖŪŒŲÆ که Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ به Ł„ŲŗŁˆ Ų§ŪŒŁ† Ł…Ł†ŲøŁˆŲ± از٪ s؟ AddCustomerOrder=ایجاد سفارؓ Ł…Ų“ŲŖŲ±ŪŒ diff --git a/htdocs/langs/fa_IR/trips.lang b/htdocs/langs/fa_IR/trips.lang index 5cefadd2e55..3b596baa3e7 100644 --- a/htdocs/langs/fa_IR/trips.lang +++ b/htdocs/langs/fa_IR/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=سفر -Trips=سفر -TripsAndExpenses=سفر و Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ Ų¹Ł…Ł„ŪŒŲ§ŲŖŪŒ -TripsAndExpensesStatistics=سفر و Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ آمار -TripCard=کارت سفر -AddTrip=اضافه کردن سفر -ListOfTrips=فهرست Ų§Ų² سفر +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=فهرست Ł‡Ų²ŪŒŁ†Ł‡ ها -NewTrip=سفر جدید +NewTrip=New expense report CompanyVisited=ؓرکت / ŲØŁ†ŪŒŲ§ŲÆ بازدید کردند Kilometers=Ś©ŪŒŁ„ŁˆŁ…ŲŖŲ± FeesKilometersOrAmout=مقدار و یا Ś©ŪŒŁ„ŁˆŁ…ŲŖŲ± -DeleteTrip=حذف سفر -ConfirmDeleteTrip=آیا مطمئن Ł‡Ų³ŲŖŪŒŲÆ که Ł…ŪŒ Ų®ŁˆŲ§Ł‡ŪŒŲÆ Ų§ŪŒŁ† سفر Ų±Ų§ حذف Ś©Ł†ŪŒŲÆŲŸ -TF_OTHER=دیگر -TF_LUNCH=ناهار -TF_TRIP=سفر -ListTripsAndExpenses=فهرست سفر و Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ Ų¹Ł…Ł„ŪŒŲ§ŲŖŪŒ -ExpensesArea=سفر و Ł‡Ų²ŪŒŁ†Ł‡ Ł‡Ų§ŪŒ Ų¹Ł…Ł„ŪŒŲ§ŲŖŪŒ منطقه -SearchATripAndExpense=جستجوی یک سفر و Ł‡Ų²ŪŒŁ†Ł‡ +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=دیگر +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/fi_FI/admin.lang b/htdocs/langs/fi_FI/admin.lang index 5096161d388..9ead36d476c 100644 --- a/htdocs/langs/fi_FI/admin.lang +++ b/htdocs/langs/fi_FI/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Kokeellinen VersionDevelopment=Kehitys VersionUnknown=Tuntematon VersionRecommanded=Suositeltava +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Istunnon tunnus SessionSaveHandler=Handler tallentaa istuntojen SessionSavePath=Varasto istuntojakson localization @@ -493,10 +498,16 @@ Module600Name=Ilmoitukset Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Lahjoitukset Module700Desc=Lahjoitukset hallinto +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 yhdentyminen Module1400Name=Kirjanpidon asiantuntija Module1400Desc=Kirjanpidon hallinta asiantuntijoille (double osapuolet) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategoriat Module1780Desc=Kategoriat hallintaa (tuotteet, tavarantoimittajat ja asiakkaat) Module2000Name=FCKeditor @@ -631,7 +642,7 @@ Permission181=Lue toimittaja tilaukset Permission182=Luoda / muuttaa toimittajan tilaukset Permission183=Validate toimittaja tilaukset Permission184=HyvƤksy toimittaja tilaukset -Permission185=Tilaa toimittaja tilaukset +Permission185=Order or cancel supplier orders Permission186=Vastaanota toimittaja tilaukset Permission187=Sulje toimittaja tilaukset Permission188=Peruuta toimittaja tilaukset @@ -711,6 +722,13 @@ Permission538=Vienti palvelut Permission701=Lue lahjoitukset Permission702=Luoda / muuttaa lahjoitusten Permission703=Poista lahjoitukset +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=Lue varastot Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Salasana kƤyttƤƤ vƤlityspalvelinta DefineHereComplementaryAttributes=MƤƤritƤ tƤssƤ kaikki atributes, jo ole oletuksena, ja ettƤ haluat tuettava %s. ExtraFields=TƤydentƤvƤt ominaisuudet 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Rivi tuotteen / palvelun nolla mƤƤrƤ pidetƤƤn vai FreeLegalTextOnProposal=Vapaa tekstihaku kaupallisiin ehdotuksia 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=Tilaukset hallinto-setup OrdersNumberingModules=Tilaukset numerointiin modules @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Viivakoodi tyypin UPC BarcodeDescISBN=Viivakoodi tyypin ISBN BarcodeDescC39=Viivakoodi tyypin C39 BarcodeDescC128=Viivakoodi tyypin C128 -GenbarcodeLocation=Viivakoodi sukupolven komentoriviksi tyƶkalu (kƤyttƤƤ phpbarcode moottorin joidenkin viivakoodi tyypit) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Rahat tilille kƤyttƤƤ myy CashDeskBankAccountForCheque= Tilin kƤyttƶ vastaanottaa maksuja sekillƤ CashDeskBankAccountForCB= Tilin kƤyttƶ voidaan saada kƤteismaksujen luottokorttia -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Kirjanmerkin moduulin asetukset @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/fi_FI/banks.lang b/htdocs/langs/fi_FI/banks.lang index 56fd08fead5..3a30c33e0f4 100644 --- a/htdocs/langs/fi_FI/banks.lang +++ b/htdocs/langs/fi_FI/banks.lang @@ -33,7 +33,11 @@ AllTime=Alkaen Reconciliation=Yhteensovittaminen RIB=Pankkitilin numero IBAN=IBAN-numero +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT-koodi +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Kestotilaus StandingOrder=Kestotilaus Withdrawals=Nostot @@ -148,7 +152,7 @@ BackToAccount=Takaisin tiliin ShowAllAccounts=NƤytƤ kaikki tilit FutureTransaction=Tapahtuma on tulevaisuudessa. Ei soviteltavissa. SelectChequeTransactionAndGenerate=Valitse / suodattaa tarkastuksiin sisƤllyttƤƤ osaksi tarkastus talletuksen vastaanottamisesta ja klikkaa "Luo". -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/fi_FI/bills.lang b/htdocs/langs/fi_FI/bills.lang index 01bdc48e34e..e8d2f7c5646 100644 --- a/htdocs/langs/fi_FI/bills.lang +++ b/htdocs/langs/fi_FI/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Maksut jo PaymentsBackAlreadyDone=Payments back already done PaymentRule=Maksu sƤƤntƶ PaymentMode=Maksutapa -PaymentConditions=Maksuaika -PaymentConditionsShort=Maksuaika +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Maksusumma ValidatePayment=Vahvista maksu PaymentHigherThanReminderToPay=Maksu korkeampi kuin muistutus maksaa diff --git a/htdocs/langs/fi_FI/commercial.lang b/htdocs/langs/fi_FI/commercial.lang index 5c737e339a1..a3dc28186cc 100644 --- a/htdocs/langs/fi_FI/commercial.lang +++ b/htdocs/langs/fi_FI/commercial.lang @@ -9,9 +9,9 @@ Prospect=Mahdollisuus Prospects=Mahdollisuudet DeleteAction=Poista toiminto / tehtƤvƤ NewAction=Uusi toimi / tehtƤvƤ -AddAction=LisƤƤ toiminta / tehtƤvƤ -AddAnAction=LisƤƤ toiminta / tehtƤvƤ -AddActionRendezVous=LisƤƤ Rendezvous tehtƤvƤ +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Rendezvous ConfirmDeleteAction=Oletko varma, ettƤ haluat poistaa tƤmƤn tehtƤvƤn? CardAction=Tapahtumakortti @@ -44,8 +44,8 @@ DoneActions=Tehty toimia DoneActionsFor=Tehty toimia %s ToDoActions=Puutteellinen toimet ToDoActionsFor=Puutteellinen toimia %s -SendPropalRef=LƤhetƤ kaupallinen ehdotus %s -SendOrderRef=LƤhetƤ jotta %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Ei sovelleta StatusActionToDo=Voit tehdƤ StatusActionDone=Tehty @@ -62,7 +62,7 @@ LastProspectContactDone=Yhteystiedot tehnyt DateActionPlanned=PƤivƤys toimia varten DateActionDone=PƤivƤys toiminta tapahtuu ActionAskedBy=Toimi pyytƤnyt -ActionAffectedTo=Toiminta vaikuttaa +ActionAffectedTo=Event assigned to ActionDoneBy=Toiminta tapahtuu ActionUserAsk=Tallennettu ErrorStatusCantBeZeroIfStarted=Jos kenttƤ "PƤivƤys tehtƤvƤ on tƤytetty, toiminta on alkanut (tai valmis), joten alalla" Tila "ei voi olla 0%%. diff --git a/htdocs/langs/fi_FI/contracts.lang b/htdocs/langs/fi_FI/contracts.lang index 8d44a9b256e..fb36e753d96 100644 --- a/htdocs/langs/fi_FI/contracts.lang +++ b/htdocs/langs/fi_FI/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Lakkaa ServiceStatusClosed=Suljettu ServicesLegend=Palvelut legenda Contracts=Sopimukset +ContractsAndLine=Contracts and line of contracts Contract=Sopimus NoContracts=Sopimuksia ei MenuServices=Palvelut diff --git a/htdocs/langs/fi_FI/cron.lang b/htdocs/langs/fi_FI/cron.lang index 305bf312025..bba69fbb33f 100644 --- a/htdocs/langs/fi_FI/cron.lang +++ b/htdocs/langs/fi_FI/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/fi_FI/errors.lang b/htdocs/langs/fi_FI/errors.lang index edbe3fa5f22..3a31847c78b 100644 --- a/htdocs/langs/fi_FI/errors.lang +++ b/htdocs/langs/fi_FI/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=LƤhde ja tavoitteet pankkitilit on erilainen. ErrorBadThirdPartyName=Bad arvo kolmannen osapuolen nimi ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntaksi asiakas-koodi -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Asiakas-koodi tarvitaan ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Asiakas-koodi on jo kƤytetty @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript ei saa keskeytyƤ, on tƤmƤ ominaisuus ErrorPasswordsMustMatch=Molemmat kirjoittaa salasanat on vastattava toisiaan ErrorContactEMail=Tekninen virhe. Ota yhteys jƤrjestelmƤnvalvojaan jƤlkeen sƤhkƶpostin %s en antaa virhekoodi %s viesti, tai jopa paremmin lisƤƤmƤllƤ nƤytƶn kopion tƤstƤ sivusta. ErrorWrongValueForField=VƤƤrƤ arvo kentƤn numero %s (arvo "%s" ei vastaa regex sƤƤntƶ %s) -ErrorFieldValueNotIn=VƤƤrƤ arvo kentƤn numero %s (arvo "%s" ei ole arvoa kƤytettƤvissƤ tulee kenttƤƤn %s taulukon %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=VƤƤrƤ arvo kentƤn numero %s (arvo "%s" ei %s olemassa ref) ErrorsOnXLines=Virheet %s lƤhde linjat ErrorFileIsInfectedWithAVirus=Virustentorjuntaohjelma ei voinut tarkistaa tiedoston (tiedosto saattaa olla tartunnan virus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/fi_FI/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/fi_FI/install.lang b/htdocs/langs/fi_FI/install.lang index d1528d62722..80b688dca44 100644 --- a/htdocs/langs/fi_FI/install.lang +++ b/htdocs/langs/fi_FI/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Viimeinen askel: MƤƤritƤ tƤssƤ kƤyttƤjƤtun ActivateModule=Aktivoi moduuli %s ShowEditTechnicalParameters=Klikkaa tƤstƤ nƤyttƤƤksesi/muuttaaksesi edistyneemmƤt parametrit (asiantuntija tila) 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 diff --git a/htdocs/langs/fi_FI/main.lang b/htdocs/langs/fi_FI/main.lang index 9df855ba004..4e6098fd766 100644 --- a/htdocs/langs/fi_FI/main.lang +++ b/htdocs/langs/fi_FI/main.lang @@ -141,6 +141,7 @@ Cancel=Peruuta Modify=Muokkaa Edit=Muokkaa Validate=Vahvista +ValidateAndApprove=Validate and Approve ToValidate=Validoida Save=Tallenna SaveAs=Tallenna nimellƤ @@ -158,6 +159,7 @@ Search=Haku SearchOf=Haku Valid=Voimassa Approve=HyvƤksy +Disapprove=Disapprove ReOpen=Avaa uudelleen Upload=LƤhetƤ tiedosto ToLink=Linkki @@ -219,6 +221,7 @@ Cards=Kortit Card=Kortti Now=Nyt Date=PƤivƤ +DateAndHour=Date and hour DateStart=Alkaen DateEnd=PƤƤttyen DateCreation=Luotu @@ -295,6 +298,7 @@ UnitPriceHT=Yksikkƶhinta (netto) UnitPriceTTC=Yksikkƶhinta PriceU=UP PriceUHT=UP (netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=MƤƤrƤ AmountInvoice=Laskun summa @@ -521,6 +525,7 @@ DateFromTo=Kohteesta %s %s DateFrom=Kohteesta %s DateUntil=Vasta %s Check=Shekki +Uncheck=Uncheck Internal=SisƤinen External=Ulkoinen Internals=SisƤinen @@ -688,6 +693,7 @@ PublicUrl=Julkinen URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Maanantai Tuesday=Tiistai diff --git a/htdocs/langs/fi_FI/orders.lang b/htdocs/langs/fi_FI/orders.lang index dade4367732..408212eb534 100644 --- a/htdocs/langs/fi_FI/orders.lang +++ b/htdocs/langs/fi_FI/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Peruutettu StatusOrderDraft=Luonnos (on vahvistettu) StatusOrderValidated=Validoidut StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Jalostettu StatusOrderToBill=Bill StatusOrderToBill2=Bill @@ -58,6 +59,7 @@ MenuOrdersToBill=Tilaukset laskuttaa MenuOrdersToBill2=Billable orders SearchOrder=Haku jotta SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Laiva tuote Discount=Discount CreateOrder=Luo Tilaa diff --git a/htdocs/langs/fi_FI/other.lang b/htdocs/langs/fi_FI/other.lang index 155ef697744..66aea85c008 100644 --- a/htdocs/langs/fi_FI/other.lang +++ b/htdocs/langs/fi_FI/other.lang @@ -54,12 +54,13 @@ MaxSize=EnimmƤiskoko AttachANewFile=LiitƤ uusi tiedosto / asiakirjan LinkedObject=LinkitettyƤ objektia Miscellaneous=Miscellaneous -NbOfActiveNotifications=Ilmoitusten lukumƤƤrƤ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=TƤmƤ on testi postitse. \\ NOsoitteen kaksi riviƤ vƤlissƤ rivinvaihto. PredefinedMailTestHtml=TƤmƤ on testi postitse (sana testi on lihavoitu).
    Kaksi riviƤ vƤlissƤ rivinvaihto. 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__ diff --git a/htdocs/langs/fi_FI/printing.lang b/htdocs/langs/fi_FI/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/fi_FI/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/fi_FI/productbatch.lang +++ b/htdocs/langs/fi_FI/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/fi_FI/products.lang b/htdocs/langs/fi_FI/products.lang index 0839abf00df..6b6c461876d 100644 --- a/htdocs/langs/fi_FI/products.lang +++ b/htdocs/langs/fi_FI/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/fi_FI/projects.lang b/htdocs/langs/fi_FI/projects.lang index 17674103313..bb52a53a1b6 100644 --- a/htdocs/langs/fi_FI/projects.lang +++ b/htdocs/langs/fi_FI/projects.lang @@ -8,8 +8,10 @@ SharedProject=Yhteiset hanke PrivateProject=Yhteystiedot Hankkeen MyProjectsDesc=TƤmƤ nƤkemys on vain hankkeisiin olet yhteyshenkilƶ (mikƤ on tyyppi). 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). 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). ProjectsArea=Projektit alueella @@ -29,6 +31,8 @@ NoProject=Ei hanke mƤƤritellƤƤn NbOpenTasks=Nb on avattu tehtƤvƤt NbOfProjects=Nb hankkeiden TimeSpent=KƤytetty aika +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=KƤytetty aika RefTask=Ref. tehtƤvƤ LabelTask=Label tehtƤvƤ @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Luettelo toimittajien tilaukset hankkeeseen ListSupplierInvoicesAssociatedProject=Luettelo tavarantoimittajien laskut liittyvƤt hankkeen ListContractAssociatedProject=Luettelo sopimukset hankkeeseen liittyvƤt ListFichinterAssociatedProject=Luettelo toimien hankkeeseen liittyvƤn -ListTripAssociatedProject=Luettelo matkat ja kulut hankkeeseen liittyvƤt +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Luettelo toimia, jotka liittyvƤt hankkeen ActivityOnProjectThisWeek=Toiminta hanke tƤllƤ viikolla ActivityOnProjectThisMonth=Toiminta hankkeen tƤssƤ kuussa @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=TƤydellinen hankkeen tarkastusraportin malli (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/fi_FI/salaries.lang b/htdocs/langs/fi_FI/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/fi_FI/salaries.lang +++ b/htdocs/langs/fi_FI/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/fi_FI/sendings.lang b/htdocs/langs/fi_FI/sendings.lang index b1eaea2a4db..27c8093e232 100644 --- a/htdocs/langs/fi_FI/sendings.lang +++ b/htdocs/langs/fi_FI/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Kpl velvoitti QtyShipped=Kpl lƤhetysvuotta QtyToShip=Kpl alusten QtyReceived=Kpl saanut -KeepToShip=PidƤ alusten +KeepToShip=Remain to ship OtherSendingsForSameOrder=Muut sendings tƤssƤ tilauksessa DateSending=PƤivƤys lƤhettƤmistƤ, jotta DateSendingShort=PƤivƤys lƤhettƤmistƤ, jotta diff --git a/htdocs/langs/fi_FI/stocks.lang b/htdocs/langs/fi_FI/stocks.lang index f41c19262d0..797bda3896d 100644 --- a/htdocs/langs/fi_FI/stocks.lang +++ b/htdocs/langs/fi_FI/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Value PMPValueShort=WAP EnhancedValueOfWarehouses=Varastot arvo UserWarehouseAutoCreate=Luo varastossa automaattisesti luoda kƤyttƤjƤ +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=MƤƤrƤ lƤhetysolosuhteita QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/fi_FI/suppliers.lang b/htdocs/langs/fi_FI/suppliers.lang index cdb12ae7d8b..aca987a8016 100644 --- a/htdocs/langs/fi_FI/suppliers.lang +++ b/htdocs/langs/fi_FI/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Tavarantoimittajat -Supplier=Toimittaja AddSupplier=Create a supplier SupplierRemoved=Toimittaja poistettu SuppliersInvoice=Tavarantoimittajan lasku @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Toimittajan laskut ja maksut ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=HyvƤksy tƤmƤ tilaus ConfirmApproveThisOrder=Oletko varma, ettƤ haluat hyvƤksyƤ tƤmƤn tilauksen? -DenyingThisOrder=KiellƤ tƤtƤ jƤrjestystƤ +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Oletko varma, ettƤ haluat kieltƤƤ tƤmƤn tilauksen? ConfirmCancelThisOrder=Oletko varma, ettƤ haluat peruuttaa tƤmƤn tilauksen? AddCustomerOrder=Luo asiakas jotta diff --git a/htdocs/langs/fi_FI/trips.lang b/htdocs/langs/fi_FI/trips.lang index c8c22dcbe9e..2012c28cf44 100644 --- a/htdocs/langs/fi_FI/trips.lang +++ b/htdocs/langs/fi_FI/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Matka -Trips=Retket -TripsAndExpenses=Matkat ja kulut -TripsAndExpensesStatistics=Retket ja kulut tilastot -TripCard=Trip-kortti -AddTrip=LisƤƤ matka -ListOfTrips=Luettelo matkat +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=Luettelo palkkiot -NewTrip=Uusi matka +NewTrip=New expense report CompanyVisited=Yritys / sƤƤtiƶ vieraili Kilometers=Kilometers FeesKilometersOrAmout=MƤƤrƤ tai kilometreinƤ -DeleteTrip=Poista matka -ConfirmDeleteTrip=Oletko varma, ettƤ haluat poistaa tƤmƤn matkan? -TF_OTHER=Muu -TF_LUNCH=Lounas -TF_TRIP=Matka -ListTripsAndExpenses=Luettelo matkat ja kulut -ExpensesArea=Retket ja kulut alue -SearchATripAndExpense=Etsi matka-ja kulut +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=Muu +TF_TRANSPORTATION=Transportation +TF_LUNCH=Lounas +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/fr_BE/main.lang b/htdocs/langs/fr_BE/main.lang index 0b48f915961..a3a5442d2cd 100644 --- a/htdocs/langs/fr_BE/main.lang +++ b/htdocs/langs/fr_BE/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/fr_CA/main.lang b/htdocs/langs/fr_CA/main.lang index 712f481720d..376a1f72966 100644 --- a/htdocs/langs/fr_CA/main.lang +++ b/htdocs/langs/fr_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/fr_CH/main.lang b/htdocs/langs/fr_CH/main.lang index d3624332bec..6b54a4fde3e 100644 --- a/htdocs/langs/fr_CH/main.lang +++ b/htdocs/langs/fr_CH/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/fr_FR/accountancy.lang b/htdocs/langs/fr_FR/accountancy.lang index 8cf990b17a4..c931ab45d5b 100644 --- a/htdocs/langs/fr_FR/accountancy.lang +++ b/htdocs/langs/fr_FR/accountancy.lang @@ -13,9 +13,9 @@ ConfigAccountingExpert=Configuration du module comptabilitĆ© expert Journaux=Journaux JournalFinancial=Journaux financiers Exports=Exports -Export=Export +Export=Exporter Modelcsv=ModĆØle d'export -OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +OptionsDeactivatedForThisExportModel=Pour ce modĆØle d'export, les options sont dĆ©sactivĆ©es Selectmodelcsv=SĆ©lectionner un modĆØle d'export Modelcsv_normal=Export standard Modelcsv_CEGID=Export vers CEGID Expert @@ -68,7 +68,7 @@ Lineofinvoice=Ligne de la facture VentilatedinAccount=VentilĆ© avec succĆØs dans le compte comptable NotVentilatedinAccount=Non ventilĆ© dans le compte comptable -ACCOUNTING_SEPARATORCSV=Column separator in export file +ACCOUNTING_SEPARATORCSV=SĆ©parateur de colonne dans le fichier export ACCOUNTING_LIMIT_LIST_VENTILATION=Nombre d'Ć©lĆ©ments Ć  ventiler affichĆ©s par page (maximum conseillĆ© : 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Commencer le tri des pages de ventilation "A ventiler" par les Ć©lĆ©ments les plus rĆ©cents diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang index 6e619a96b07..fb2b1687199 100644 --- a/htdocs/langs/fr_FR/admin.lang +++ b/htdocs/langs/fr_FR/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=ExpĆ©rimental VersionDevelopment=DĆ©veloppement VersionUnknown=Inconnue VersionRecommanded=RecommandĆ© +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Mettre Ć  jour les fichiers +FileCheckDolibarr=VĆ©rifier l'intĆ©gritĆ© des fichiers +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID Session SessionSaveHandler=ModalitĆ© de sauvegarde des sessions SessionSavePath=Emplacement de sauvegarde sessions @@ -264,6 +269,7 @@ MAIN_MAIL_EMAIL_FROM=Adresse email de l'Ć©metteur pour l'envoi d'emails automati MAIN_MAIL_ERRORS_TO=Adresse email utilisĆ©e pour les retours d'erreurs des emails envoyĆ©s MAIN_MAIL_AUTOCOPY_TO= Envoyer systĆ©matiquement une copie cachĆ©e des emails envoyĆ©s Ć  MAIN_MAIL_AUTOCOPY_PROPOSAL_TO= Envoyer systĆ©matiquement une copie cachĆ©e des propositions envoyĆ©es par email Ć  +MAIN_MAIL_AUTOCOPY_ASKPRICESUPPLIER_TO= Envoyer systĆ©matiquement une copie cachĆ©e des demandes de prix envoyĆ©es par email Ć  MAIN_MAIL_AUTOCOPY_ORDER_TO= Envoyer systĆ©matiquement une copie cachĆ©e des commandes envoyĆ©es par emails Ć  MAIN_MAIL_AUTOCOPY_INVOICE_TO= Envoyer systĆ©matiquement une copie cachĆ©e des factures envoyĆ©es par email Ć  MAIN_DISABLE_ALL_MAILS=DĆ©sactiver globalement tout envoi d'emails (pour mode test ou dĆ©mos) @@ -489,14 +495,22 @@ Module500Name=DĆ©penses spĆ©ciales (taxes, charges, dividendes) Module500Desc=Gestion des dĆ©penses spĆ©ciales comme les taxes, charges sociales et dividendes Module510Name=Salaires Module510Desc=Gestion des paiements des salaires des employĆ©s +Module520Name=Emprunts +Module520Desc=Suivi des emprunts Module600Name=Notifications Module600Desc=Envoi de notifications Email sur certains Ć©vĆ©nements mĆ©tiers Dolibarr, aux contacts de tiers (configuration rĆ©alisĆ© sur chaque tiers) Module700Name=Dons Module700Desc=Gestion des dons +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=Interface avec le bug tracker Mantis Module1400Name=ComptabilitĆ© Module1400Desc=Gestion de la comptabilitĆ© (partie double) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=CatĆ©gories Module1780Desc=Gestion des catĆ©gories (produits, fournisseurs, clients et adhĆ©rents) Module2000Name=Ɖditeur WYSIWYG @@ -631,7 +645,7 @@ Permission181=Consulter les commandes fournisseurs Permission182=CrĆ©er/modifier les commandes fournisseurs Permission183=Valider les commandes fournisseurs Permission184=Approuver les commandes fournisseurs -Permission185=Passer les commandes fournisseurs +Permission185=Commander ou annuler les commandes fournisseurs Permission186=Accuser rĆ©ception des commandes fournisseurs Permission187=ClĆ“turer les commandes fournisseurs Permission188=Annuler les commandes fournisseurs @@ -703,6 +717,10 @@ Permission510=Consulter les salaires Permission512=CrĆ©er/modifier les salaires Permission514=Supprimer les salaires Permission517=Exporter les salaires +Permission520=Consulter les emprunts +Permission522=CrĆ©er/modifier les emprunts +Permission524=Supprimer les emprunts +Permission527=Exporter les emprunts Permission531=Consulter les services Permission532=CrĆ©er/modifier les services Permission534=Supprimer les services @@ -711,6 +729,13 @@ Permission538=Exporter les services Permission701=Consulter les dons Permission702=CrĆ©er/modifier les dons Permission703=Supprimer les dons +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=Consulter les stocks Permission1002=CrĆ©er/modifier entrepĆ“ts Permission1003=Supprimer entrepĆ“ts @@ -1025,6 +1050,8 @@ MAIN_PROXY_PASS=Mot de passe pour passer le serveur proxy mandataire DefineHereComplementaryAttributes=DĆ©finissez ici la liste des attributs supplĆ©mentaires, non disponibles en standard, et que vous voulez voir gĆ©rer sur les %s. ExtraFields=Attributs supplĆ©mentaires ExtraFieldsLines=Attributs supplĆ©mentaires (lignes) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Attributs supplĆ©mentaires (tiers) ExtraFieldsContacts=Attributs supplĆ©mentaires (contacts/adresses) ExtraFieldsMember=Attributs supplĆ©mentaires (adhĆ©rents) @@ -1152,6 +1179,14 @@ UseOptionLineIfNoQuantity=Une ligne de produit/service ayant une quantitĆ© nulle FreeLegalTextOnProposal=Mention complĆ©mentaire sur les propositions commerciales WatermarkOnDraftProposal=Filigrane sur les brouillons de propositions commerciales (aucun si vide) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Saisir le compte bancaire cible lors de la proposition commerciale +##### AskPriceSupplier ##### +AskPriceSupplierSetup=Configuration du module Demandes de Prix Fournisseurs +AskPriceSupplierNumberingModules=ModĆØles de numĆ©rotation des demandes de prix fournisseurs +AskPriceSupplierPDFModules=ModĆØles de documents de demandes de prix fournisseurs +AskPriceSupplierPDFModules=ModĆØles de documents de demandes de prix fournisseurs +FreeLegalTextOnAskPriceSupplier=Mention complĆ©mentaire sur les demandes de prix fournisseurs +WatermarkOnDraftAskPriceSupplier=Filigrane sur les brouillons de demandes de prix (aucun si vide) +BANK_ASK_PAYMENT_BANK_DURING_ASKPRICESUPPLIER=Saisir le compte bancaire cible lors de la demande de prix ##### Orders ##### OrdersSetup=Configuration du module Commandes OrdersNumberingModules=ModĆØles de numĆ©rotation des commandes @@ -1383,7 +1418,7 @@ BarcodeDescUPC=code-barres de type UPC BarcodeDescISBN=code-barres de type ISBN BarcodeDescC39=code-barres de type C39 BarcodeDescC128=code-barres de type C128 -GenbarcodeLocation=Outil de gĆ©nĆ©ration de code-barres en ligne de commande (utilisĆ© par le moteur interne pour certains types de codes-barres) +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 ##### Prelevements ##### @@ -1501,9 +1536,10 @@ CashDeskThirdPartyForSell=Tiers gĆ©nĆ©rique Ć  utiliser par dĆ©faut pour les ven CashDeskBankAccountForSell=Compte par dĆ©faut Ć  utiliser pour l'encaissement en liquide CashDeskBankAccountForCheque= Compte par dĆ©faut Ć  utiliser pour l'encaissement en chĆØque CashDeskBankAccountForCB= Compte par dĆ©faut Ć  utiliser pour l'encaissement en carte de crĆ©dit -CashDeskDoNotDecreaseStock=DĆ©sactiver la rĆ©duction de stock quand une vente est faite depuis le Point de Vente. Si "non", la rĆ©duction du stock est faite d'office par le module Point de Vente, quelque soit le mode choisi dans la configuration du module stock. +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=Forcer et restreindre l'emplacement/entrepĆ“t Ć  utiliser pour la rĆ©duction de stock StockDecreaseForPointOfSaleDisabled=RĆ©duction de stock lors de l'utilisation du Point de Vente dĆ©sactivĆ©e +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Vous n'avez pas dĆ©sactivĆ© la rĆ©duction de stocks lors de la rĆ©alisation d'une vente depuis le Point de Vente. Aussi, un entrepĆ“t/emplacement est nĆ©cessaire. ##### Bookmark ##### BookmarkSetup=Configuration du module Marque-pages @@ -1569,3 +1605,7 @@ SortOrder=Ordre de tri Format=Format TypePaymentDesc=0:Type de paiement client, 1:Type de paiement fournisseur, 2:Paiement de type client et fournisseur IncludePath=Chemin Include (dĆ©finir dans la variable %s) +ExpenseReportsSetup=Configuration du module Notes de frais +TemplatePDFExpenseReports=ModĆØles de documents pour gĆ©nĆ©rer les document de Notes de frais +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. 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 930487955e3..84f2225b771 100644 --- a/htdocs/langs/fr_FR/banks.lang +++ b/htdocs/langs/fr_FR/banks.lang @@ -33,7 +33,11 @@ AllTime=Depuis le dĆ©but Reconciliation=Rapprochement RIB=NumĆ©ro de compte bancaire IBAN=Identifiant IBAN +IbanValid=IBAN est valide +IbanNotValid=IBAN n'est pas valide BIC=Identifiant BIC/SWIFT +SwiftValid=BIC / SWIFT est valide +SwiftNotValid=BIC / SWIFT n'est pas valide StandingOrders=PrĆ©lĆØvements StandingOrder=PrĆ©lĆØvement Withdrawals=Retraits @@ -148,7 +152,7 @@ BackToAccount=Retour au compte ShowAllAccounts=Afficher pour tous les comptes FutureTransaction=Transaction future. Pas moyen de concilier. SelectChequeTransactionAndGenerate=SĆ©lectionner/filtrer les chĆØques Ć  inclure dans le bordereau de remise et cliquer sur "CrĆ©er". -InputReceiptNumber=Saisissez le relevĆ© bancaire concernĆ© par le rapprochement. Utilisez une valeur numĆ©rique triable (par exemple YYYYMM) +InputReceiptNumber=Choisissez le relevĆ© bancaire liĆ©s au rapprochement. Utilisez une valeur numĆ©rique triable: AAAAMM ou AAAAMMJJ EventualyAddCategory=Eventuellement, saisissez une catĆ©gorie dans laquelle classer les Ć©critures ToConciliate=ƀ rapprocherĀ ? ThenCheckLinesAndConciliate=Ensuite, cochez les lignes prĆ©sentes sur le relevĆ© et cliquez sur diff --git a/htdocs/langs/fr_FR/bills.lang b/htdocs/langs/fr_FR/bills.lang index f6493015cc3..255838cede3 100644 --- a/htdocs/langs/fr_FR/bills.lang +++ b/htdocs/langs/fr_FR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Versements dĆ©jĆ  effectuĆ©s PaymentsBackAlreadyDone=Remboursements dĆ©jĆ  effectuĆ©s PaymentRule=Mode de paiement PaymentMode=Mode de rĆØglement -PaymentConditions=Conditions de rĆØglement -PaymentConditionsShort=Conditions rĆØglement +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Montant rĆØglement ValidatePayment=Valider ce rĆØglement PaymentHigherThanReminderToPay=RĆØglement supĆ©rieur au reste Ć  payer @@ -422,9 +423,9 @@ SituationDeduction=DiffĆ©rence de situation Progress=Progression ModifyAllLines=Modifier toutes les lignes CreateNextSituationInvoice=CrĆ©er prochaine situation -NotLastInCycle=This invoice in not the last in cycle and must not be modified. -DisabledBecauseNotLastInCycle=The next situation already exists. +NotLastInCycle=Cette facture n'est pas la derniĆØre dans le cycle et ne doit pas ĆŖtre modifiĆ©e +DisabledBecauseNotLastInCycle=Une facture de situation suivante existe DisabledBecauseFinal=Cette situation est la derniĆØre -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. -NoSituations=No opened situations +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 InvoiceSituationLast=DerniĆØre facture diff --git a/htdocs/langs/fr_FR/commercial.lang b/htdocs/langs/fr_FR/commercial.lang index d3125a8edd6..e4547c3b53d 100644 --- a/htdocs/langs/fr_FR/commercial.lang +++ b/htdocs/langs/fr_FR/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Prospects contactĆ©s DateActionPlanned=Date rĆ©alisation prĆ©vue DateActionDone=Date rĆ©alisation effective ActionAskedBy=Action enregistrĆ©e par -ActionAffectedTo=PropriĆ©taire de l'Ć©vĆ©nement +ActionAffectedTo=ƉvĆ©nement assignĆ© Ć  ActionDoneBy=Action faite par ActionUserAsk=EnregistrĆ© par ErrorStatusCantBeZeroIfStarted=Si le champ 'Date dĆ©but rĆ©alisation rĆ©elle' est renseignĆ© alors l'action est commencĆ©e voire finie, aussi le champ 'Ɖtat' ne peut ĆŖtre 0%%. diff --git a/htdocs/langs/fr_FR/compta.lang b/htdocs/langs/fr_FR/compta.lang index 0be7345fe48..5a8f99a9308 100644 --- a/htdocs/langs/fr_FR/compta.lang +++ b/htdocs/langs/fr_FR/compta.lang @@ -29,7 +29,7 @@ ReportTurnover=Chiffre d'affaires PaymentsNotLinkedToInvoice=Paiements liĆ©s Ć  aucune facture, donc aucun tiers PaymentsNotLinkedToUser=Paiements non liĆ©s Ć  un utilisateur Profit=BĆ©nĆ©fice -AccountingResult=Accounting result +AccountingResult=RĆ©sultat comptable Balance=Solde Debit=DĆ©bit Credit=CrĆ©dit diff --git a/htdocs/langs/fr_FR/contracts.lang b/htdocs/langs/fr_FR/contracts.lang index 895e3c95cad..a04821f85b7 100644 --- a/htdocs/langs/fr_FR/contracts.lang +++ b/htdocs/langs/fr_FR/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=ExpirĆ© ServiceStatusClosed=FermĆ© ServicesLegend=LĆ©gende pour les services Contracts=Contrats +ContractsAndLine=Contrats et lignes de contrats Contract=Contrat NoContracts=Pas de contrats MenuServices=Services diff --git a/htdocs/langs/fr_FR/cron.lang b/htdocs/langs/fr_FR/cron.lang index da6907c85db..659113176be 100644 --- a/htdocs/langs/fr_FR/cron.lang +++ b/htdocs/langs/fr_FR/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/fr_FR/errors.lang b/htdocs/langs/fr_FR/errors.lang index b7042a8a33e..ae65a532774 100644 --- a/htdocs/langs/fr_FR/errors.lang +++ b/htdocs/langs/fr_FR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Les comptes source et destination doivent ĆŖtre d ErrorBadThirdPartyName=Nom de tiers incorrect ErrorProdIdIsMandatory=Le %s est obligatoire ErrorBadCustomerCodeSyntax=La syntaxe du code client est incorrecte -ErrorBadBarCodeSyntax=Mauvaise syntaxe pour le code-barre +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=Code client obligatoire ErrorBarCodeRequired=Code-barre requis ErrorCustomerCodeAlreadyUsed=Code client dĆ©jĆ  utilisĆ© @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Le javascript ne doit pas ĆŖtre dĆ©sactivĆ© pour qu ErrorPasswordsMustMatch=Les 2 mots de passe saisis doivent correspondre ErrorContactEMail=Une erreur technique est apparue. Merci de contacter l'administrateur Ć  l'email suivant %s en lui indiquant le code erreur %s dans votre message ou mieux en fournissant une copie d'Ć©cran de cette page. ErrorWrongValueForField=Mauvaise valeur pour le champ numĆ©ro %s (la valeur '%s' ne respecte pas la rĆØgle %s) -ErrorFieldValueNotIn=Mauvaise valeur pour le champ numĆ©ro %s (la valeur '%s' n'est pas une valeure prĆ©sente dans le champ %s de la table %s) +ErrorFieldValueNotIn=Mauvaise valeur pour le champ numĆ©ro %s (la valeur '%s' n'est pas une valeure prĆ©sente dans le champ %s de la table %s = %s) ErrorFieldRefNotIn=Mauvaise valeur pour le champ numĆ©ro %s (la valeur '%s' n'est pas une rĆ©fĆ©rence existante comme %s) ErrorsOnXLines=Erreurs sur %s enregistrement(s) source ErrorFileIsInfectedWithAVirus=L'antivirus n'a pas pu valider ce fichier (il est probablement infectĆ© par un virus) ! @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Erreur interne '%s' ErrorPriceExpressionUnknown=Erreur inconnue '%s' ErrorSrcAndTargetWarehouseMustDiffers=Les entrepĆ“ts source et destination doivent ĆŖtre diffĆ©rents ErrorTryToMakeMoveOnProductRequiringBatchData=Erreur, vous essayez de faire un mouvement sans lot/numĆ©ro de sĆ©rie, sur un produit qui exige un lot/numĆ©ro de sĆ©rie. +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Les informations de configuration obligatoire doivent ĆŖtre renseignĆ©es diff --git a/htdocs/langs/fr_FR/incoterm.lang b/htdocs/langs/fr_FR/incoterm.lang new file mode 100644 index 00000000000..5706403aec3 --- /dev/null +++ b/htdocs/langs/fr_FR/incoterm.lang @@ -0,0 +1,7 @@ +Module210009Name=incoterm +Module210009Desc=Ajouts pour incoterm +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 4a0c5a9aafb..7b0a6256ede 100644 --- a/htdocs/langs/fr_FR/install.lang +++ b/htdocs/langs/fr_FR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=DerniĆØre Ć©tape: DĆ©finissez ici l'identifiant et ActivateModule=Activation du module %s ShowEditTechnicalParameters=Cliquer ici pour afficher/Ć©diter les paramĆØtres techniques (mode expert) WarningUpgrade=Attention :\nAvez-vous fait une sauvegarde de la base de donnĆ©es en premier ?\nA cause de problĆØmes dans le systĆØme de base de donnĆ©es (Par exemple mysql version 5.5.40), beaucoup de donnĆ©es ou de tables peuvent ĆŖtre perdu pendant le processus de migration, il est donc trĆØs recommandĆ© d'avoir une sauvegarde complĆØte de votre base de donnĆ©es avant de commencer le processus de migration.\n\nCliquez OK pour commencer le processus de migration +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 @@ -207,7 +208,7 @@ MigrationProjectTaskTime=Mise Ć  jour du temps consommĆ© en secondes MigrationActioncommElement=Mise Ć  jour des donnĆ©es des actions des Ć©lĆ©ments MigrationPaymentMode=Migration des modes de paiement MigrationCategorieAssociation=Migration des categories -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=Migration des Ć©vĆØnements pour ajouter les propriĆ©taires dans la table des utilisateurs assignĆ©s ShowNotAvailableOptions=Afficher les choix non disponibles HideNotAvailableOptions=Cacher les choix non disponibles 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 a8ab47c9c4d..1e11dc0040a 100644 --- a/htdocs/langs/fr_FR/main.lang +++ b/htdocs/langs/fr_FR/main.lang @@ -141,6 +141,7 @@ Cancel=Annuler Modify=Modifier Edit=Ɖditer Validate=Valider +ValidateAndApprove=Validate and Approve ToValidate=ƀ valider Save=Enregistrer SaveAs=Enregistrer sous @@ -158,6 +159,7 @@ Search=Rechercher SearchOf=Recherche de Valid=Valider Approve=Approuver +Disapprove=Disapprove ReOpen=RĆ©ouvrir Upload=Envoyer fichier ToLink=Lier @@ -219,6 +221,7 @@ Cards=Fiches Card=Fiche Now=Maintenant Date=Date +DateAndHour=Date and hour DateStart=Date dĆ©but DateEnd=Date fin DateCreation=Date crĆ©ation @@ -295,6 +298,7 @@ UnitPriceHT=Prix unitaire HT UnitPriceTTC=Prix unitaire TTC PriceU=P.U. PriceUHT=P.U. HT +AskPriceSupplierUHT=P.U. HT DemandĆ© PriceUTTC=P.U. TTC Amount=Montant AmountInvoice=Montant facture @@ -521,6 +525,7 @@ DateFromTo=Du %s au %s DateFrom=A partir du %s DateUntil=Jusqu'au %s Check=VĆ©rifier +Uncheck=Uncheck Internal=Interne External=Externe Internals=Internes @@ -688,6 +693,7 @@ PublicUrl=URL publique AddBox=Ajouter boite SelectElementAndClickRefresh=SĆ©lectionnez un Ć©lĆ©ment et cliquez sur Rafraichir PrintFile=Imprimer fichier %s +ShowTransaction=Show transaction # Week day Monday=Lundi Tuesday=Mardi diff --git a/htdocs/langs/fr_FR/orders.lang b/htdocs/langs/fr_FR/orders.lang index a920f58d399..78565d17a8a 100644 --- a/htdocs/langs/fr_FR/orders.lang +++ b/htdocs/langs/fr_FR/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=AnnulĆ©e StatusOrderDraft=Brouillon (Ć  valider) StatusOrderValidated=ValidĆ©e StatusOrderOnProcess=CommandĆ© - en attente de rĆ©ception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=TraitĆ©e StatusOrderToBill=DĆ©livrĆ©e StatusOrderToBill2=ƀ facturer @@ -58,6 +59,7 @@ MenuOrdersToBill=Commandes dĆ©livrĆ©es MenuOrdersToBill2=Commandes facturables SearchOrder=Rechercher une commande SearchACustomerOrder=Rechercher une commande client +SearchASupplierOrder=Search a supplier order ShipProduct=ExpĆ©dier produit Discount=Remise CreateOrder=CrĆ©er Commande diff --git a/htdocs/langs/fr_FR/other.lang b/htdocs/langs/fr_FR/other.lang index 1c23cce68cb..e9b121b18fc 100644 --- a/htdocs/langs/fr_FR/other.lang +++ b/htdocs/langs/fr_FR/other.lang @@ -54,12 +54,13 @@ MaxSize=Taille maximum AttachANewFile=Ajouter un nouveau fichier/document LinkedObject=Objet liĆ© Miscellaneous=Divers -NbOfActiveNotifications=Nombre de notifications +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Ceci est un message de test.\nLes 2 lignes sont sĆ©parĆ©es par un retour Ć  la ligne.\n\n__SIGNATURE__ PredefinedMailTestHtml=Ceci est un message de test (le mot test doit ĆŖtre en gras).
    Les 2 lignes sont sƩparƩes par un retour Ơ la ligne.

    __SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la facture __FACREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\nNous voudrions porter à votre connaissance que la facture __FACREF__ ne semble pas avoir été réglée. La voici donc, pour rappel, en pièce jointe.\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la proposition commerciale __PROPREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la demande de prix __ASKREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la commande __ORDERREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint notre commande __ORDERREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nVeuillez trouver ci-joint la facture __FACREF__\n\n__PERSONALIZED__Cordialement\n\n__SIGNATURE__ diff --git a/htdocs/langs/fr_FR/printing.lang b/htdocs/langs/fr_FR/printing.lang new file mode 100644 index 00000000000..b65b22a5659 --- /dev/null +++ b/htdocs/langs/fr_FR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Impressions Directe +Module112000Desc=Activer le système d'impression Directe +PrintingSetup=Réglages du module Impression Directe +PrintingDesc=Ce module ajoute un bouton Imprimer afin d'envoyer directement les documents à une imprimante (sans ouvrir le document dans une application). +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) +FileWasSentToPrinter=Le fichier %s a été envoyé à l'imprimante +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 6cf152e6f80..d1c1edb2b8e 100644 --- a/htdocs/langs/fr_FR/productbatch.lang +++ b/htdocs/langs/fr_FR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Lot/Numéro de série l_eatby=Date limite de consommation l_sellby=Date de péremption DetailBatchNumber=Détails Lot/Série -DetailBatchFormat=Lot/Série: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lot/Série: %s printEatby=Limite de consommation : %s printSellby=Péremption : %s diff --git a/htdocs/langs/fr_FR/products.lang b/htdocs/langs/fr_FR/products.lang index 5e27359209f..3443b2c7aac 100644 --- a/htdocs/langs/fr_FR/products.lang +++ b/htdocs/langs/fr_FR/products.lang @@ -250,3 +250,7 @@ PriceExpressionEditorHelp3=Dans les produits commes les services et les prix fou PriceExpressionEditorHelp4=Dans les prix produits/services uniquement: #supplier_min_price#
    Dans les prix fournisseurs uniquement: #supplier_quantity# et #supplier_tva_tx# PriceMode=Mode de tarification PriceNumeric=Nombre +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/fr_FR/projects.lang b/htdocs/langs/fr_FR/projects.lang index 302732b6e71..65575fd5ce8 100644 --- a/htdocs/langs/fr_FR/projects.lang +++ b/htdocs/langs/fr_FR/projects.lang @@ -8,8 +8,10 @@ SharedProject=Tout le monde PrivateProject=Contacts du projet MyProjectsDesc=Cette vue projet est restreinte aux projets pour lesquels vous ĆŖtes un contact affectĆ© (quel qu'en soit le type). ProjectsPublicDesc=Cette vue prĆ©sente tous les projets pour lesquels vous ĆŖtes habilitĆ© Ć  avoir une visibilitĆ©. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with draft or closed status are not visible). TasksPublicDesc=Cette vue prĆ©sente tous les projets et tĆ¢ches pour lesquels vous ĆŖtes habilitĆ© Ć  avoir une visibilitĆ©. TasksDesc=Cette vue prĆ©sente tous les projets et tĆ¢ches (vos habilitations vous offrant une vue exhaustive). ProjectsArea=Espace projet @@ -29,6 +31,8 @@ NoProject=Aucun projet dĆ©fini ou responsable NbOpenTasks=Nb TĆ¢ches Ouvertes NbOfProjects=Nombre de projets TimeSpent=Temps consommĆ© +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Temps consommĆ©s RefTask=Ref. tĆ¢che LabelTask=LibellĆ© tĆ¢che @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Liste des commandes fournisseurs associĆ©es ListSupplierInvoicesAssociatedProject=Liste des factures fournisseurs associĆ©es au projet ListContractAssociatedProject=Liste des contrats associĆ©s au projet ListFichinterAssociatedProject=Liste des interventions associĆ©es au projet -ListTripAssociatedProject=Liste des notes de frais associĆ©es au projet +ListExpenseReportsAssociatedProject=Liste des notes de frais associĆ©es avec ce projet ListActionsAssociatedProject=Liste des Ć©vĆ©nements associĆ©s au projet ActivityOnProjectThisWeek=ActivitĆ© sur les projets cette semaine ActivityOnProjectThisMonth=ActivitĆ© sur les projets ce mois @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=DĆ©lier l'Ć©lĆ©ment # Documents models DocumentModelBaleine=ModĆØle de rapport de projet complet (logo...) -PlannedWorkload = Charge de travail prĆ©vue -WorkloadOccupation= Pourcentage affectation +PlannedWorkload=Charge de travail prĆ©vue +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/fr_FR/salaries.lang b/htdocs/langs/fr_FR/salaries.lang index c76f03c8d9f..4d6cee75748 100644 --- a/htdocs/langs/fr_FR/salaries.lang +++ b/htdocs/langs/fr_FR/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=RĆØglements des salaires ShowSalaryPayment=Afficher rĆØglement de salaire THM=Tarif horaire moyen TJM=Tarif journalier moyen +CurrentSalary=Current salary diff --git a/htdocs/langs/fr_FR/sendings.lang b/htdocs/langs/fr_FR/sendings.lang index 356fa55b946..e65707e186c 100644 --- a/htdocs/langs/fr_FR/sendings.lang +++ b/htdocs/langs/fr_FR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=QtĆ©. commandĆ©e QtyShipped=QtĆ©. expĆ©diĆ©e QtyToShip=QtĆ©. Ć  expĆ©dier QtyReceived=QtĆ©. reƧue -KeepToShip=Reste Ć  expĆ©dier +KeepToShip=Remain to ship OtherSendingsForSameOrder=Autres expĆ©ditions pour cette commande DateSending=Date ordre d'expĆ©dition DateSendingShort=Date ordre exp. diff --git a/htdocs/langs/fr_FR/stocks.lang b/htdocs/langs/fr_FR/stocks.lang index d7b32c8ff44..7a342f04a7d 100644 --- a/htdocs/langs/fr_FR/stocks.lang +++ b/htdocs/langs/fr_FR/stocks.lang @@ -47,6 +47,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 QtyDispatched=QuantitĆ© ventilĆ©e QtyDispatchedShort=QtĆ© ventilĆ©e QtyToDispatchShort=QtĆ© Ć  ventiler @@ -110,7 +111,7 @@ WarehouseForStockDecrease=L'entrepĆ“t %s sera utilisĆ© pour la dĆ©crĆ©men 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=Voici la liste des commandes fournisseurs en cours +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=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) @@ -130,3 +131,4 @@ IsInPackage=Inclus dans un package ShowWarehouse=Afficher entrepĆ“t MovementCorrectStock=Correction du contenu en 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 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. diff --git a/htdocs/langs/fr_FR/suppliers.lang b/htdocs/langs/fr_FR/suppliers.lang index ea0ecef8e39..07904930bf2 100644 --- a/htdocs/langs/fr_FR/suppliers.lang +++ b/htdocs/langs/fr_FR/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Fournisseurs -Supplier=Fournisseur AddSupplier=CrĆ©er un fournisseur SupplierRemoved=Fournisseur supprimĆ© SuppliersInvoice=Facture fournisseur @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Factures fournisseurs et rĆØglements ExportDataset_fournisseur_3=Commandes fournisseur et lignes de commande ApproveThisOrder=Approuver la commande ConfirmApproveThisOrder=Êtes-vous sĆ»r de vouloir approuver la commande fournisseur %s ? -DenyingThisOrder=Refuser la commande +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Êtes-vous sĆ»r de vouloir refuser la commande fournisseur %s ? ConfirmCancelThisOrder=Êtes-vous sĆ»r de vouloir annuler la commande fournisseur %s ? AddCustomerOrder=CrĆ©er commande client diff --git a/htdocs/langs/fr_FR/trips.lang b/htdocs/langs/fr_FR/trips.lang index 5cad7a4b4a0..3a11b7c4036 100644 --- a/htdocs/langs/fr_FR/trips.lang +++ b/htdocs/langs/fr_FR/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=DĆ©placement -Trips=DĆ©placements -TripsAndExpenses=Note de frais +ExpenseReport=Note de frais +ExpenseReports=Notes de frais +Trip=Notes de frais +Trips=Note de frais +TripsAndExpenses=Notes de frais TripsAndExpensesStatistics=Statistiques notes de frais -TripCard=Fiche frais +TripCard=Fiche note de frais AddTrip=CrĆ©er note de frais -ListOfTrips=Liste des frais +ListOfTrips=Liste des notes de frais ListOfFees=Liste des notes de frais NewTrip=Nouvelle note de frais CompanyVisited=SociĆ©tĆ©/institution visitĆ©e Kilometers=KilomĆØtres FeesKilometersOrAmout=Montant ou kilomĆØtres -DeleteTrip=Supprimer dĆ©placement +DeleteTrip=Supprimer les notes de frais / dĆ©placements ConfirmDeleteTrip=Êtes-vous sĆ»r de vouloir supprimer cette note de frais ? -TF_OTHER=Autre -TF_LUNCH=Repas -TF_TRIP=DĆ©placement ListTripsAndExpenses=Liste des notes de frais -ExpensesArea=Espace notes de frais +ListToApprove=En attente d'approbation +ExpensesArea=Espace Notes de frais SearchATripAndExpense=Rechercher une note de frais ClassifyRefunded=Classer 'RemboursĆ©' +ExpenseReportWaitingForApproval=Une nouvelle note de frais a Ć©tĆ© soumise pour approbation +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 sociĆ©tĆ© +TripSalarie=Informations utilisateur +TripNDF=Informations note de frais +DeleteLine=Effacer une ligne de note de frais +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=Autre +TF_TRANSPORTATION=Transportation +TF_LUNCH=Repas +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +TF_TAXI=Taxi + +ErrorDoubleDeclaration=You have declared another expense report into a similar date range. +ListTripsAndExpenses=Liste des notes de frais +AucuneNDF=No expense reports found for this criteria +AucuneLigne=There is no expense report declared yet +AddLine=Ajout nouvelle ligne +AddLineMini=Add + +Date_DEBUT=Date dĆ©but +Date_FIN=Date fin +ModePaiement=Mode de paiement +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/fr_NC/main.lang b/htdocs/langs/fr_NC/main.lang index 80513df8eea..bd886d9e846 100644 --- a/htdocs/langs/fr_NC/main.lang +++ b/htdocs/langs/fr_NC/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/he_IL/admin.lang b/htdocs/langs/he_IL/admin.lang index 72578ac824d..40ebcc8f65d 100644 --- a/htdocs/langs/he_IL/admin.lang +++ b/htdocs/langs/he_IL/admin.lang @@ -8,6 +8,11 @@ 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=מושב מזהה SessionSaveHandler=×”× ×“×œ×Ø להציל ×”×¤×¢×œ×•×Ŗ SessionSavePath=הפגישה אחהון לוקליזציה @@ -493,10 +498,16 @@ Module600Name=הודעות Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=×Ŗ×Ø×•×ž×•×Ŗ Module700Desc=×”×Ŗ×Ø×•×ž×” של ההנהלה +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=גמל שלמה Module1200Desc=גמל שלמה ××™× ×˜×’×Ø×¦×™×” Module1400Name=חשבונאות Module1400Desc=חשבונאות וניהול (צד ×›×¤×•×œ×•×Ŗ) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=×§×˜×’×•×Ø×™×•×Ŗ Module1780Desc=Categorie ההנהלה (×ž×•×¦×Ø×™×, הפקים ×•×œ×§×•×—×•×Ŗ) Module2000Name=×¢×•×Ø×š WYSIWYG @@ -631,7 +642,7 @@ Permission181=×œ×§×Ø×•× ×”×–×ž× ×•×Ŗ הפקים Permission182=×œ×™×¦×•×Ø / ×œ×©× ×•×Ŗ ההפק ×”×–×ž× ×•×Ŗ Permission183=תוקף צווי ההפק Permission184=לאשר ×”×–×ž× ×•×Ŗ הפקים -Permission185=ההפק הדר ×”×–×ž× ×•×Ŗ +Permission185=Order or cancel supplier orders Permission186=לקבל ×”×–×ž× ×•×Ŗ הפקים Permission187=ההפק ×”×–×ž× ×•×Ŗ הגור Permission188=ביטול ×”×–×ž× ×•×Ŗ הפקים @@ -711,6 +722,13 @@ Permission538=יצוא ×©×™×Ø×•×Ŗ×™× Permission701=×œ×§×Ø×•× ×Ŗ×Ø×•×ž×•×Ŗ Permission702=צור / ×œ×©× ×•×Ŗ ×Ŗ×Ø×•×ž×•×Ŗ Permission703=מחק ×Ŗ×Ø×•×ž×•×Ŗ +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=×œ×§×Ø×•× ×ž× ×™×•×Ŗ Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=היהמה כדי ×œ×”×©×Ŗ×ž×© בשרת proxy DefineHereComplementaryAttributes=×œ×”×’×“×™×Ø כאן את כל atributes, אינו זמין כבר כברירת מחדל, כי אתה רוצה ×œ×”×™×•×Ŗ × ×Ŗ×ž×š על %s. ExtraFields=משלימים תכונות 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=קו של ×”×ž×•×¦×Ø / שירות עם ×›×ž×•×Ŗ אפה FreeLegalTextOnProposal=טקהט חופשי על הצעות ×ž×”×—×Ø×™×•×Ŗ WatermarkOnDraftProposal=הימן מים על הצעות טיוטה ×ž×”×—×Ø×™×™× (כל אם ריק) 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=×”×Ŗ×§× ×” וניהול של הדר OrdersNumberingModules=×”×–×ž× ×•×Ŗ ×ž×”×¤×•×Ø מודולים @@ -1383,7 +1410,7 @@ BarcodeDescUPC=ברקוד מהוג UPC BarcodeDescISBN=ברקוד מהוג ISBN BarcodeDescC39=ברקוד מהוג C39 BarcodeDescC128=ברקוד מהוג C128 -GenbarcodeLocation=הברקוד הדור הפקודה כלי הקו (בשימוש על ידי מנוע phpbarcode עבור הוגים מהוימים ברקוד) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=חשבון ברירת מחדל ×œ×”×©×Ŗ×ž×© כדי לקבל ×Ŗ×©×œ×•×ž×™× במזומן CashDeskBankAccountForCheque= חשבון ברירת מחדל ×œ×”×©×Ŗ×ž×© כדי לקבל ×Ŗ×©×œ×•×ž×™× על ידי הימון CashDeskBankAccountForCB= חשבון ברירת מחדל ×œ×”×©×Ŗ×ž×© כדי לקבל ×Ŗ×©×œ×•×ž×™× במזומן ×‘××ž×¦×¢×•×Ŗ ×›×Ø×˜×™×”×™ אשראי -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=הפוך ×”×”×Ŗ×§× ×” מודול @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/he_IL/banks.lang b/htdocs/langs/he_IL/banks.lang index 0041d4550f2..ccc6050c6f1 100644 --- a/htdocs/langs/he_IL/banks.lang +++ b/htdocs/langs/he_IL/banks.lang @@ -33,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=הוראות קבע StandingOrder=Standing order Withdrawals=Withdrawals @@ -148,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/he_IL/bills.lang b/htdocs/langs/he_IL/bills.lang index 0a1e1ef5d5d..28559d91fa7 100644 --- a/htdocs/langs/he_IL/bills.lang +++ b/htdocs/langs/he_IL/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/he_IL/commercial.lang b/htdocs/langs/he_IL/commercial.lang index 2c1a8e5b82a..49d3d353137 100644 --- a/htdocs/langs/he_IL/commercial.lang +++ b/htdocs/langs/he_IL/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/he_IL/contracts.lang b/htdocs/langs/he_IL/contracts.lang index 52c05d495ad..3c4d235e884 100644 --- a/htdocs/langs/he_IL/contracts.lang +++ b/htdocs/langs/he_IL/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expired ServiceStatusClosed=Closed ServicesLegend=Services legend Contracts=חוזים +ContractsAndLine=Contracts and line of contracts Contract=Contract NoContracts=No contracts MenuServices=×©×™×Ø×•×Ŗ×™× diff --git a/htdocs/langs/he_IL/cron.lang b/htdocs/langs/he_IL/cron.lang index 349d2275749..bb128746069 100644 --- a/htdocs/langs/he_IL/cron.lang +++ b/htdocs/langs/he_IL/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/he_IL/errors.lang b/htdocs/langs/he_IL/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/he_IL/errors.lang +++ b/htdocs/langs/he_IL/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/he_IL/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/he_IL/install.lang b/htdocs/langs/he_IL/install.lang index d0d0973e729..c72668ff058 100644 --- a/htdocs/langs/he_IL/install.lang +++ b/htdocs/langs/he_IL/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/he_IL/main.lang b/htdocs/langs/he_IL/main.lang index 410198e13c9..510dc2d1443 100644 --- a/htdocs/langs/he_IL/main.lang +++ b/htdocs/langs/he_IL/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/he_IL/orders.lang b/htdocs/langs/he_IL/orders.lang index 57c3dccde16..3e45ed9db31 100644 --- a/htdocs/langs/he_IL/orders.lang +++ b/htdocs/langs/he_IL/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/he_IL/other.lang b/htdocs/langs/he_IL/other.lang index b9e26e405c8..4c5e1b6346f 100644 --- a/htdocs/langs/he_IL/other.lang +++ b/htdocs/langs/he_IL/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=שונות -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/he_IL/printing.lang b/htdocs/langs/he_IL/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/he_IL/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/he_IL/productbatch.lang +++ b/htdocs/langs/he_IL/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/he_IL/products.lang b/htdocs/langs/he_IL/products.lang index 2d4bdafd5a4..9c98812f2a3 100644 --- a/htdocs/langs/he_IL/products.lang +++ b/htdocs/langs/he_IL/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/he_IL/projects.lang b/htdocs/langs/he_IL/projects.lang index 2d1abe5706f..31eba8b830a 100644 --- a/htdocs/langs/he_IL/projects.lang +++ b/htdocs/langs/he_IL/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/he_IL/salaries.lang b/htdocs/langs/he_IL/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/he_IL/salaries.lang +++ b/htdocs/langs/he_IL/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/he_IL/sendings.lang b/htdocs/langs/he_IL/sendings.lang index 5167582502a..51b04b2db35 100644 --- a/htdocs/langs/he_IL/sendings.lang +++ b/htdocs/langs/he_IL/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/he_IL/stocks.lang b/htdocs/langs/he_IL/stocks.lang index 79d03a24da0..4cb004102f8 100644 --- a/htdocs/langs/he_IL/stocks.lang +++ b/htdocs/langs/he_IL/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/he_IL/suppliers.lang b/htdocs/langs/he_IL/suppliers.lang index b910d186708..591b1d13545 100644 --- a/htdocs/langs/he_IL/suppliers.lang +++ b/htdocs/langs/he_IL/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - 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 diff --git a/htdocs/langs/he_IL/trips.lang b/htdocs/langs/he_IL/trips.lang index 2874de3a593..34b879b2751 100644 --- a/htdocs/langs/he_IL/trips.lang +++ b/htdocs/langs/he_IL/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=אחר -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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=אחר +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/hr_HR/admin.lang b/htdocs/langs/hr_HR/admin.lang index b7ca8542a9b..22a62f00d59 100644 --- a/htdocs/langs/hr_HR/admin.lang +++ b/htdocs/langs/hr_HR/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/hr_HR/banks.lang b/htdocs/langs/hr_HR/banks.lang index 25f0ecbc3a0..da71da227fb 100644 --- a/htdocs/langs/hr_HR/banks.lang +++ b/htdocs/langs/hr_HR/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Reconciliation RIB=Bank Account Number IBAN=IBAN broj +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=Otvorene narudžbe StandingOrder=Otvorena narudžba Withdrawals=Withdrawals @@ -148,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/hr_HR/bills.lang b/htdocs/langs/hr_HR/bills.lang index 784462c316b..fbc13f66546 100644 --- a/htdocs/langs/hr_HR/bills.lang +++ b/htdocs/langs/hr_HR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=IzvrÅ”ena plaćanja PaymentsBackAlreadyDone=IzvrÅ”eni povrati plaćanja PaymentRule=Pravilo plaćanja PaymentMode=Oblik plaćanja -PaymentConditions=Rok plaćanja -PaymentConditionsShort=Rok plaćanja +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Iznos plaćanja ValidatePayment=Ovjeri plaćanje PaymentHigherThanReminderToPay=Plaćanje je veće nego podsjetnik za plaćanje diff --git a/htdocs/langs/hr_HR/commercial.lang b/htdocs/langs/hr_HR/commercial.lang index 90bf154d2f3..0be24ffda59 100644 --- a/htdocs/langs/hr_HR/commercial.lang +++ b/htdocs/langs/hr_HR/commercial.lang @@ -9,9 +9,9 @@ Prospect=Potencijalni kupac Prospects=Potencijalni kupci DeleteAction=IzbriÅ”i događaj/zadatak NewAction=Novi događaj/zadatak -AddAction=Dodaj događaj/zadatak -AddAnAction=Dodaj događaj/zadatak -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=ZavrÅ”eni događaji DoneActionsFor=ZavrÅ”eni događaji za %s ToDoActions=NedovrÅ”eni događaji ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=PoÅ”alji narudžbu %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=ZavrÅ”eno diff --git a/htdocs/langs/hr_HR/contracts.lang b/htdocs/langs/hr_HR/contracts.lang index 26ec3f1e5a4..59e6ca9670f 100644 --- a/htdocs/langs/hr_HR/contracts.lang +++ b/htdocs/langs/hr_HR/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=ZavrÅ”en ServiceStatusClosed=Zatvoren ServicesLegend=Knjiga usluga Contracts=Ugovori +ContractsAndLine=Contracts and line of contracts Contract=Ugovor NoContracts=Nema ugovora MenuServices=Usluge diff --git a/htdocs/langs/hr_HR/cron.lang b/htdocs/langs/hr_HR/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/hr_HR/cron.lang +++ b/htdocs/langs/hr_HR/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/hr_HR/errors.lang b/htdocs/langs/hr_HR/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/hr_HR/errors.lang +++ b/htdocs/langs/hr_HR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/hr_HR/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/hr_HR/install.lang b/htdocs/langs/hr_HR/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/hr_HR/install.lang +++ b/htdocs/langs/hr_HR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/hr_HR/main.lang b/htdocs/langs/hr_HR/main.lang index 2729f374a7e..3e299f51788 100644 --- a/htdocs/langs/hr_HR/main.lang +++ b/htdocs/langs/hr_HR/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=Od %s za %s DateFrom=Od %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/hr_HR/orders.lang b/htdocs/langs/hr_HR/orders.lang index cd0b42c8adf..f59089eee0f 100644 --- a/htdocs/langs/hr_HR/orders.lang +++ b/htdocs/langs/hr_HR/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=PoniÅ”teno StatusOrderDraft=Draft (needs to be validated) StatusOrderValidated=Ovjereno StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Obrađeno StatusOrderToBill=Dostavljeno StatusOrderToBill2=Za naplatu @@ -58,6 +59,7 @@ MenuOrdersToBill=Orders delivered MenuOrdersToBill2=Billable orders SearchOrder=Pretraži narudžbe SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=PoÅ”alji proizvod Discount=Popust CreateOrder=Kreiraj narudžbu diff --git a/htdocs/langs/hr_HR/other.lang b/htdocs/langs/hr_HR/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/hr_HR/other.lang +++ b/htdocs/langs/hr_HR/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/hr_HR/printing.lang b/htdocs/langs/hr_HR/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/hr_HR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/hr_HR/productbatch.lang +++ b/htdocs/langs/hr_HR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/hr_HR/products.lang b/htdocs/langs/hr_HR/products.lang index a42bd146177..0b8b37f2a97 100644 --- a/htdocs/langs/hr_HR/products.lang +++ b/htdocs/langs/hr_HR/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/hr_HR/projects.lang b/htdocs/langs/hr_HR/projects.lang index 4127fc0fb7e..9c5fecce3da 100644 --- a/htdocs/langs/hr_HR/projects.lang +++ b/htdocs/langs/hr_HR/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ NoProject=Nema definiranih ili vlastih projekata NbOpenTasks=Nb of opened tasks NbOfProjects=Nb of projects TimeSpent=Vrijeme utroÅ”eno +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Vrijeme utroÅ”eno RefTask=Ref. task LabelTask=Label task @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/hr_HR/salaries.lang b/htdocs/langs/hr_HR/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/hr_HR/salaries.lang +++ b/htdocs/langs/hr_HR/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/hr_HR/sendings.lang b/htdocs/langs/hr_HR/sendings.lang index d5ec2daa761..b4f1e2b8e25 100644 --- a/htdocs/langs/hr_HR/sendings.lang +++ b/htdocs/langs/hr_HR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Količina naručena QtyShipped=Količina poslana QtyToShip=Količina za poslat QtyReceived=Količina primljena -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/hr_HR/stocks.lang b/htdocs/langs/hr_HR/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/hr_HR/stocks.lang +++ b/htdocs/langs/hr_HR/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/hr_HR/suppliers.lang b/htdocs/langs/hr_HR/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/hr_HR/suppliers.lang +++ b/htdocs/langs/hr_HR/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 diff --git a/htdocs/langs/hr_HR/trips.lang b/htdocs/langs/hr_HR/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/hr_HR/trips.lang +++ b/htdocs/langs/hr_HR/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/hu_HU/admin.lang b/htdocs/langs/hu_HU/admin.lang index ebe81e0bf63..6bf991e2634 100644 --- a/htdocs/langs/hu_HU/admin.lang +++ b/htdocs/langs/hu_HU/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=KĆ­sĆ©rleti VersionDevelopment=FejlesztĆ©s VersionUnknown=Ismeretlen VersionRecommanded=AjĆ”nlott +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 menteni ülĆ©sek SessionSavePath=TĆ”rolĆ”s munkamenet lokalizĆ”ció @@ -493,10 +498,16 @@ Module600Name=ƉrtesĆ­tĆ©sek Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=AdomĆ”nyok Module700Desc=AdomĆ”ny vezetĆ©se +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 integrĆ”ció Module1400Name=SzĆ”mvitel Module1400Desc=SzĆ”mviteli menedzsment (dupla felek) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=KategóriĆ”k Module1780Desc=KategóriĆ”ban vezetősĆ©ge (termĆ©kek, szĆ”llĆ­tók Ć©s vevők) Module2000Name=WYSIWYG szerkesztő @@ -631,7 +642,7 @@ Permission181=Olvassa szĆ”llĆ­tó megrendelĆ©sek Permission182=LĆ©trehozza / módosĆ­tja szĆ”llĆ­tó megrendelĆ©sek Permission183=ƉrvĆ©nyesĆ­tĆ©s szĆ”llĆ­tó megrendelĆ©sek Permission184=JóvĆ”hagyĆ”s beszĆ”llĆ­tói megrendelĆ©sek -Permission185=RendelĆ©s szĆ”llĆ­tó megrendelĆ©sek +Permission185=Order or cancel supplier orders Permission186=VĆ©teli megbĆ­zĆ”s beszĆ”llĆ­tó Permission187=BezĆ”r szĆ”llĆ­tó megrendelĆ©sek Permission188=MĆ©gsem beszĆ”llĆ­tói megrendelĆ©sek @@ -711,6 +722,13 @@ Permission538=Export szolgĆ”ltatĆ”sok Permission701=Olvassa el adomĆ”nyokat Permission702=LĆ©trehozza / módosĆ­tja adomĆ”nyok Permission703=TƶrlĆ©s adomĆ”nyok +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=Olvassa kĆ©szletek Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Jelszó a proxy szerver hasznĆ”lata DefineHereComplementaryAttributes=Adjuk meg itt minden atributes, mĆ©g nem Ć”lltak rendelkezĆ©sre az alapból, hogy azt szeretnĆ©, hogy tĆ”mogatja %s. ExtraFields=KiegĆ©szĆ­tő tulajdonsĆ”gok 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Egy sor termĆ©k / szolgĆ”ltatĆ”s nulla ƶsszeg szóba, FreeLegalTextOnProposal=Szabad szƶveg a kereskedelmi javaslatok 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=MegrendelĆ©s szĆ”mozĆ”si modulok @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Vonalkód tĆ­pusĆŗ UPC BarcodeDescISBN=Vonalkód tĆ­pusĆŗ ISBN BarcodeDescC39=Vonalkód tĆ­pusĆŗ C39 BarcodeDescC128=Vonalkód tĆ­pusĆŗ C128 -GenbarcodeLocation=Vonalkód generĆ”ló parancssori eszkƶz (phpbarcode motor hasznĆ”lja egyes vonalkód tĆ­pusokhoz) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=AlapĆ©rtelmezett fiók kezelhető kĆ©szpĆ©nz kifizetĆ©sek CashDeskBankAccountForCheque= AlapĆ©rtelmezett fiók hasznĆ”lata fizetĆ©sek fogadĆ”sĆ”ra csekkel CashDeskBankAccountForCB= AlapĆ©rtelmezett fiók kezelhető kĆ©szpĆ©nz kifizetĆ©sek hitelkĆ”rtyĆ”k -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Kƶnyvjelző beĆ”llĆ­tĆ”sa modul @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/hu_HU/banks.lang b/htdocs/langs/hu_HU/banks.lang index 0056818fa07..7f12abcf832 100644 --- a/htdocs/langs/hu_HU/banks.lang +++ b/htdocs/langs/hu_HU/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=EgyeztetĆ©s RIB=BankszĆ”mla szĆ”ma IBAN=IBAN szĆ”m +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT szĆ”ma +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Ɓllandó megbĆ­zĆ”s StandingOrder=Ɓllandó Ć©rvĆ©nyű parancs Withdrawals=KivonĆ”s @@ -148,7 +152,7 @@ BackToAccount=VisszalĆ©p a szĆ”mla ShowAllAccounts=Mutasd az ƶsszes fiók FutureTransaction=Ügylet Futur. SemmikĆ©ppen egyeztetni. SelectChequeTransactionAndGenerate=VĆ”lassza / filter ellenőrzĆ©seket be kell vonni a csekket befizetĆ©s beĆ©rkezĆ©sĆ©nek Ć©s kattintson a "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/hu_HU/bills.lang b/htdocs/langs/hu_HU/bills.lang index 5eca0e94b49..682a36e4fde 100644 --- a/htdocs/langs/hu_HU/bills.lang +++ b/htdocs/langs/hu_HU/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=KifizetĆ©sek mĆ”r megtette PaymentsBackAlreadyDone=Payments back already done PaymentRule=FizetĆ©si szabĆ”ly PaymentMode=FizetĆ©si tĆ­pus -PaymentConditions=FizetĆ©si hatĆ”ridő -PaymentConditionsShort=FizetĆ©si hatĆ”ridő +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=FizetĆ©s ƶsszege ValidatePayment=Validate payment PaymentHigherThanReminderToPay=FizetĆ©si magasabb emlĆ©keztető fizetni diff --git a/htdocs/langs/hu_HU/commercial.lang b/htdocs/langs/hu_HU/commercial.lang index 882531d8908..e3bd1fedfda 100644 --- a/htdocs/langs/hu_HU/commercial.lang +++ b/htdocs/langs/hu_HU/commercial.lang @@ -9,9 +9,9 @@ Prospect=KilĆ”tĆ”s Prospects=KilĆ”tĆ”sok DeleteAction=CselekvĆ©s / feladat tƶrlĆ©se NewAction=Új cselekvĆ©s / feladat -AddAction=CselekvĆ©s / feladat hozzĆ”adĆ”sa -AddAnAction=CselekvĆ©s / feladat hozzĆ”adĆ”sa -AddActionRendezVous=TalĆ”lkozó hozzĆ”adĆ”sa +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=TalĆ”lkozó ConfirmDeleteAction=Biztos tƶrƶlni akarja ezt a feladatot? CardAction=CselekvĆ©s kĆ”rtya @@ -44,8 +44,8 @@ DoneActions=Befejezett cselekvĆ©sek DoneActionsFor=Befejezett cselekvĆ©sek %s rĆ©szĆ©re ToDoActions=Befejezetlen cselekvĆ©sek ToDoActionsFor=Befejezetlen cselekvĆ©sek %s rĆ©szĆ©re -SendPropalRef=AjĆ”nlat küldĆ©se %s -SendOrderRef=MegrendelĆ©s küldĆ©se %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Nem alkalmazható StatusActionToDo=VĆ©grehajtani StatusActionDone=KĆ©sz @@ -62,7 +62,7 @@ LastProspectContactDone=Kapcsolatba lĆ©pĆ©s megtƶrtĆ©nt DateActionPlanned=CselekmĆ©ny dĆ”tuma DateActionDone=CselekvĆ©s befejezĆ©sĆ©snek a dĆ”tuma ActionAskedBy=CselekvĆ©st kĆ©rte -ActionAffectedTo=CselekvĆ©s hatĆ”ssal van rĆ” +ActionAffectedTo=Event assigned to ActionDoneBy=CselekvĆ©st vĆ©grehatja ActionUserAsk=Jegyezte ErrorStatusCantBeZeroIfStarted=Ha a 'CselekvĆ©s befejezĆ©sĆ©snek a dĆ”tuma' mező rendelkezik tartalommal, a cselekvĆ©s elkezdődőtt (vagy befejeződtt), az 'Ɓllapot' mező nem lehet 0%%. diff --git a/htdocs/langs/hu_HU/contracts.lang b/htdocs/langs/hu_HU/contracts.lang index df24822ebb1..426c7a37859 100644 --- a/htdocs/langs/hu_HU/contracts.lang +++ b/htdocs/langs/hu_HU/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=LejĆ”rt ServiceStatusClosed=LezĆ”rva ServicesLegend=SzolgĆ”ltatĆ”sok magyarĆ”zat Contracts=SzerződĆ©sek +ContractsAndLine=Contracts and line of contracts Contract=SzerződĆ©s NoContracts=Nincs szerződĆ©s MenuServices=SzolgĆ”ltatĆ”s diff --git a/htdocs/langs/hu_HU/cron.lang b/htdocs/langs/hu_HU/cron.lang index 119ae6079d5..b186a698110 100644 --- a/htdocs/langs/hu_HU/cron.lang +++ b/htdocs/langs/hu_HU/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/hu_HU/errors.lang b/htdocs/langs/hu_HU/errors.lang index 75d66c5b78f..197f9806cca 100644 --- a/htdocs/langs/hu_HU/errors.lang +++ b/htdocs/langs/hu_HU/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=ForrĆ”s Ć©s cĆ©lok bankszĆ”mlĆ”k külƶnbƶzőnek ErrorBadThirdPartyName=Rossz Ć©rtĆ©k a harmadik fĆ©l nevĆ©ben ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Rossz a szintaxisa az ügyfĆ©l kód -ErrorBadBarCodeSyntax=Bad syntax for bar 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=ÜgyfĆ©l kód szüksĆ©ges ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=ÜgyfĆ©l kód mĆ”r hasznĆ”latban @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript nem szabad tiltani, hogy ez a funkció m ErrorPasswordsMustMatch=MindkĆ©t tĆ­pusĆŗ jelszavakat kell egyeznie egymĆ”ssal ErrorContactEMail=Egy technikai hiba tƶrtĆ©nt. KĆ©rjük, lĆ©pjen kapcsolatba a kƶvetkező e-mail rendszergazda %s en biztosĆ­tja a hibakódot %s be az üzenetet, vagy mĆ©g jobb hozzĆ”adĆ”sĆ”val kĆ©pernyő ezen oldal mĆ”solatĆ”t. ErrorWrongValueForField=Rossz Ć©rtĆ©k mezőszĆ”m %s (Ć©rtĆ©k "%s" nem egyezik regex szabĆ”ly %s) -ErrorFieldValueNotIn=Rossz Ć©rtĆ©k mezőszĆ”m %s (Ć©rtĆ©k "%s" nem Ć©rtĆ©k Ć”ll rendelkezĆ©sre a területen %s %s tĆ”blĆ”zat) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Rossz Ć©rtĆ©k mezőszĆ”m %s (Ć©rtĆ©k "%s" nem lĆ©tező %s ref) ErrorsOnXLines=%s hibĆ”k forrĆ”sa vonalak ErrorFileIsInfectedWithAVirus=A vĆ­ruskereső program nem tudta Ć©rvĆ©nyesĆ­teni a fĆ”jl (file lehet megfertőzte egy vĆ­rus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/hu_HU/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/hu_HU/install.lang b/htdocs/langs/hu_HU/install.lang index 1da3c2c7cbc..78d675524cd 100644 --- a/htdocs/langs/hu_HU/install.lang +++ b/htdocs/langs/hu_HU/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Utolsó lĆ©pĆ©s: Adjuk meg itt bejelentkezĆ©si nĆ© ActivateModule=Modul aktivĆ”lĆ”sa %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 diff --git a/htdocs/langs/hu_HU/main.lang b/htdocs/langs/hu_HU/main.lang index 21c0caa72a0..47b61bbf942 100644 --- a/htdocs/langs/hu_HU/main.lang +++ b/htdocs/langs/hu_HU/main.lang @@ -141,6 +141,7 @@ Cancel=MegszakĆ­tĆ”s Modify=MódosĆ­tĆ”s Edit=SzerkesztĆ©s Validate=HitelesĆ­tĆ©s +ValidateAndApprove=Validate and Approve ToValidate=Hitelesyteni Save=MentĆ©s SaveAs=MentĆ©s mĆ”skĆ©nt @@ -158,6 +159,7 @@ Search=KeresĆ©s SearchOf=KeresĆ©s Valid=Hiteles Approve=JóvĆ”hagy +Disapprove=Disapprove ReOpen=Újra megnyit Upload=FĆ”jl küldĆ©se ToLink=Link @@ -219,6 +221,7 @@ Cards=KĆ”rtĆ”y Card=KĆ”rtya Now=Most Date=DĆ”tum +DateAndHour=Date and hour DateStart=KezdĆ©s DateEnd=VĆ©gzĆ©s DateCreation=LĆ©trehozĆ”s dĆ”tuma @@ -295,6 +298,7 @@ UnitPriceHT=EgysĆ©g Ć”r (nettó) UnitPriceTTC=EgysĆ©g Ć”r PriceU=E.Ɓ. PriceUHT=E.Ɓ. (nettó) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=E.Ɓ. Amount=MennyisĆ©g AmountInvoice=SzĆ”mla mennyisĆ©g @@ -521,6 +525,7 @@ DateFromTo=%s -től %s -ig DateFrom=%s -től DateUntil=%s -ig Check=Ellenőriz +Uncheck=Uncheck Internal=Belső External=Külső Internals=Belső @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=HĆ©tfő Tuesday=Kedd diff --git a/htdocs/langs/hu_HU/orders.lang b/htdocs/langs/hu_HU/orders.lang index b1d273e4106..d146ad13e0b 100644 --- a/htdocs/langs/hu_HU/orders.lang +++ b/htdocs/langs/hu_HU/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Tƶrƶlve StatusOrderDraft=Tervezet (kell Ć©rvĆ©nyesĆ­teni) StatusOrderValidated=HitelesĆ­tette StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Feldolgozott StatusOrderToBill=Bill StatusOrderToBill2=Bill @@ -58,6 +59,7 @@ MenuOrdersToBill=MegrendelĆ©s Bill MenuOrdersToBill2=Billable orders SearchOrder=KeresĆ©s Ć©rdekĆ©ben SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Hajó termĆ©k Discount=KedvezmĆ©ny CreateOrder=Rendet diff --git a/htdocs/langs/hu_HU/other.lang b/htdocs/langs/hu_HU/other.lang index e9ddc4edf81..5b4e01644cd 100644 --- a/htdocs/langs/hu_HU/other.lang +++ b/htdocs/langs/hu_HU/other.lang @@ -54,12 +54,13 @@ MaxSize=MaximĆ”lis mĆ©ret AttachANewFile=Helyezzen fel egy Ćŗj file / dokumentum LinkedObject=Csatolt objektum Miscellaneous=Vegyes -NbOfActiveNotifications=BejelentĆ©sek szĆ”ma +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Ez egy teszt mailt. \\ NA kĆ©t vonal vĆ”lasztja el egymĆ”stól kocsivissza. PredefinedMailTestHtml=Ez egy teszt mail (a szó vizsgĆ”latot kell vastagon).
    A két vonal vÔlasztja el egymÔstól kocsivissza. 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__ diff --git a/htdocs/langs/hu_HU/printing.lang b/htdocs/langs/hu_HU/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/hu_HU/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/hu_HU/productbatch.lang +++ b/htdocs/langs/hu_HU/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/hu_HU/products.lang b/htdocs/langs/hu_HU/products.lang index ccba6ede02d..584d47aeb70 100644 --- a/htdocs/langs/hu_HU/products.lang +++ b/htdocs/langs/hu_HU/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/hu_HU/projects.lang b/htdocs/langs/hu_HU/projects.lang index 274c306e716..75518a0bc42 100644 --- a/htdocs/langs/hu_HU/projects.lang +++ b/htdocs/langs/hu_HU/projects.lang @@ -8,8 +8,10 @@ SharedProject=Mindenki PrivateProject=A projekt kapcsolatai MyProjectsDesc=Ez a nĆ©zet azokra a projektekre van korlĆ”tozva amivel valamilyen ƶsszefüggĆ©sben Ć”ll. ProjectsPublicDesc=Ez a nĆ©zet minden az ƶn Ć”ltal megtekinthető projektre van korlĆ”tozva. +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). TasksPublicDesc=Ez a nĆ©zet minden az ƶn Ć”ltal megtekinthető projektre van korlĆ”tozva. TasksDesc=Ez a nĆ©zet minden projektet tartalmaz. ProjectsArea=Projektek terület @@ -29,6 +31,8 @@ NoProject=Nincs lĆ©trehozott vagy tulajdonolt projekt NbOpenTasks=Nyitott feladatok szĆ”ma NbOfProjects=Projektek szĆ”ma TimeSpent=Eltƶltƶtt idő +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tƶltƶtt idő RefTask=Feladat ref# LabelTask=Feladat cimkĆ©je @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=A projekthez tartozó beszĆ”llĆ­tói rendel ListSupplierInvoicesAssociatedProject=A projekthez tartozó beszĆ”llĆ­tói szĆ”mlĆ”k listĆ”ja ListContractAssociatedProject=A projekthez tartozó szerződĆ©sek listĆ”ja ListFichinterAssociatedProject=A projekthez tartozó intervenciók listĆ”ja -ListTripAssociatedProject=A projekthez tartozó utazĆ”si kiadĆ”sok listĆ”ja +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=A projekthez tartozó cselekvĆ©sek listĆ”ja ActivityOnProjectThisWeek=Heti projekt aktivitĆ”s ActivityOnProjectThisMonth=Havi projekt aktivitĆ”s @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Teljes jelentĆ©s modell (logo, ...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/hu_HU/salaries.lang b/htdocs/langs/hu_HU/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/hu_HU/salaries.lang +++ b/htdocs/langs/hu_HU/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/hu_HU/sendings.lang b/htdocs/langs/hu_HU/sendings.lang index 82c7da53ef0..b2c42484995 100644 --- a/htdocs/langs/hu_HU/sendings.lang +++ b/htdocs/langs/hu_HU/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Rendelt mennyisĆ©g QtyShipped=KiszĆ”llĆ­tott mennyisĆ©g QtyToShip=SzĆ”llĆ­tandó mennyisĆ©g QtyReceived=Ɓtvett mennyisĆ©g -KeepToShip=SzĆ”llĆ­tĆ”sra fĆ©lretenni +KeepToShip=Remain to ship OtherSendingsForSameOrder=MĆ”s szĆ”llĆ­tĆ”sok ehhez a megrendelĆ©shez DateSending=Date sending order DateSendingShort=KüldĆ©si dĆ”tum sorrend diff --git a/htdocs/langs/hu_HU/stocks.lang b/htdocs/langs/hu_HU/stocks.lang index 2f5b54b3bfc..c3570f47006 100644 --- a/htdocs/langs/hu_HU/stocks.lang +++ b/htdocs/langs/hu_HU/stocks.lang @@ -47,6 +47,7 @@ PMPValue=SĆŗlyozott Ć”rlak Ć©rtĆ©k PMPValueShort=SƁƉ EnhancedValueOfWarehouses=RaktĆ”rak Ć©rtĆ©ke UserWarehouseAutoCreate=RaktĆ”r autómatikus lĆ©trehozĆ”sa felhasznĆ”ló lĆ©trehozĆ”sakor +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=MennyisĆ©g kiküldĆ©se QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/hu_HU/suppliers.lang b/htdocs/langs/hu_HU/suppliers.lang index e8faa8de1ae..bf6540154b1 100644 --- a/htdocs/langs/hu_HU/suppliers.lang +++ b/htdocs/langs/hu_HU/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=BeszĆ”llĆ­tók -Supplier=BeszĆ”llĆ­tó AddSupplier=Create a supplier SupplierRemoved=BeszĆ”llĆ­tó eltĆ”volĆ­tva SuppliersInvoice=BeszĆ”llĆ­tó szĆ”mla @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=BeszĆ”llĆ­tói szĆ”mlĆ”k Ć©s fizetĆ©sek ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=MegrendelĆ©s jóvĆ”hagyĆ”sa ConfirmApproveThisOrder=Biztos jóvĆ” akarja hagyni a megrendelĆ©st? -DenyingThisOrder=MegrendelĆ©s elutasĆ­tĆ”sa +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Biztos el akarja utasĆ­tani a megrendelĆ©st? ConfirmCancelThisOrder=Biztos meg akarja szakĆ­tani a megrendelĆ©st? AddCustomerOrder=ÜgyfĆ©l megrendelĆ©s lĆ©trehozĆ”sa diff --git a/htdocs/langs/hu_HU/trips.lang b/htdocs/langs/hu_HU/trips.lang index 9daea3f2f0e..b1d1f636ca8 100644 --- a/htdocs/langs/hu_HU/trips.lang +++ b/htdocs/langs/hu_HU/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=utazĆ”s -Trips=Utak -TripsAndExpenses=UtazĆ”sok Ć©s kiadĆ”sok -TripsAndExpensesStatistics=UtazĆ”sok Ć©s kiadĆ”sok statisztikĆ”k -TripCard=UtazĆ”s kĆ”rtya -AddTrip=Út hozzĆ”adĆ”sa -ListOfTrips=UtazĆ”sok listĆ”ja +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=KƶltsĆ©gek listĆ”ja -NewTrip=Új Ćŗt +NewTrip=New expense report CompanyVisited=LĆ”togatott CĆ©g/alapĆ­tvĆ”ny Kilometers=KilomĆ©terek FeesKilometersOrAmout=KilómĆ©terek szĆ”ma -DeleteTrip=UtazĆ”s tƶrlĆ©se -ConfirmDeleteTrip=Biztos tƶrƶlni akarja ezt az utat? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=Utak Ć©s kiadĆ”sok listĆ”ja -ExpensesArea=KirĆ”ndulĆ”sok Ć©s kiadĆ”sok területĆ©n -SearchATripAndExpense=KeresĆ©s Ćŗt Ć©s kƶltsĆ©gek +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/id_ID/admin.lang b/htdocs/langs/id_ID/admin.lang index 91b5e8d77f0..7c834ac36f8 100644 --- a/htdocs/langs/id_ID/admin.lang +++ b/htdocs/langs/id_ID/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Percobaan VersionDevelopment=Pengembangan VersionUnknown=Tidak diketahui VersionRecommanded=Direkomendasikan +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sesi ID SessionSaveHandler=Handler untuk menyimpan sesi SessionSavePath=Peyimpanan untuk lokalisasi sesi @@ -493,10 +498,16 @@ Module600Name=Notifikasi Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Sumbangan 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=Akunting Module1400Desc=Accounting management (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategori Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,13 @@ Permission538=Export services Permission701=Membaca Sumbangan Permission702=Membuat/Merubah Sumbangan Permission703=Menghapus Sumbangan +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=Membaca Stok Permission1002=Membuat/Merubah Gudang Permission1003=Menghapus Gudang @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/id_ID/banks.lang b/htdocs/langs/id_ID/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/id_ID/banks.lang +++ b/htdocs/langs/id_ID/banks.lang @@ -33,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 @@ -148,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/id_ID/bills.lang b/htdocs/langs/id_ID/bills.lang index 0aff57599da..27b0443877e 100644 --- a/htdocs/langs/id_ID/bills.lang +++ b/htdocs/langs/id_ID/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Pembayaran - pembayaran yang sudah selesai PaymentsBackAlreadyDone=Pembayaran - pembayaran kembali yang sudah selesai PaymentRule=Aturan pembayaran PaymentMode=Jenis pembayaran -PaymentConditions=Ketentuan pembayaran -PaymentConditionsShort=Ketentuan pembayaran +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Jumlah pembayaran ValidatePayment=Validasi pembayaran PaymentHigherThanReminderToPay=Pengingat untuk pembayaran yang lebih tinggi diff --git a/htdocs/langs/id_ID/commercial.lang b/htdocs/langs/id_ID/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/id_ID/commercial.lang +++ b/htdocs/langs/id_ID/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/id_ID/contracts.lang b/htdocs/langs/id_ID/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/id_ID/contracts.lang +++ b/htdocs/langs/id_ID/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/id_ID/cron.lang b/htdocs/langs/id_ID/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/id_ID/cron.lang +++ b/htdocs/langs/id_ID/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/id_ID/errors.lang b/htdocs/langs/id_ID/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/id_ID/errors.lang +++ b/htdocs/langs/id_ID/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/id_ID/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/id_ID/install.lang b/htdocs/langs/id_ID/install.lang index 62986a9dfba..278965595b2 100644 --- a/htdocs/langs/id_ID/install.lang +++ b/htdocs/langs/id_ID/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/id_ID/main.lang b/htdocs/langs/id_ID/main.lang index 62adb884547..81deb7c28f0 100644 --- a/htdocs/langs/id_ID/main.lang +++ b/htdocs/langs/id_ID/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/id_ID/orders.lang b/htdocs/langs/id_ID/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/id_ID/orders.lang +++ b/htdocs/langs/id_ID/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/id_ID/other.lang b/htdocs/langs/id_ID/other.lang index 25d3aa806d0..1f2b7c1b38d 100644 --- a/htdocs/langs/id_ID/other.lang +++ b/htdocs/langs/id_ID/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/id_ID/printing.lang b/htdocs/langs/id_ID/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/id_ID/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/id_ID/productbatch.lang +++ b/htdocs/langs/id_ID/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/id_ID/products.lang b/htdocs/langs/id_ID/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/id_ID/products.lang +++ b/htdocs/langs/id_ID/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/id_ID/projects.lang b/htdocs/langs/id_ID/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/id_ID/projects.lang +++ b/htdocs/langs/id_ID/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/id_ID/salaries.lang b/htdocs/langs/id_ID/salaries.lang index 666632bf28e..17b07d2a8b7 100644 --- a/htdocs/langs/id_ID/salaries.lang +++ b/htdocs/langs/id_ID/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Pembayaran Gaji ShowSalaryPayment=Menampilkan Pembayaran Gaji THM=rata - rata per jam TJM=rata - rata per hari +CurrentSalary=Current salary diff --git a/htdocs/langs/id_ID/sendings.lang b/htdocs/langs/id_ID/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/id_ID/sendings.lang +++ b/htdocs/langs/id_ID/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/id_ID/stocks.lang b/htdocs/langs/id_ID/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/id_ID/stocks.lang +++ b/htdocs/langs/id_ID/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/id_ID/suppliers.lang b/htdocs/langs/id_ID/suppliers.lang index fe4a33edeae..1f90724539e 100644 --- a/htdocs/langs/id_ID/suppliers.lang +++ b/htdocs/langs/id_ID/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Suplier langganan -Supplier=Suplier AddSupplier=Create a supplier SupplierRemoved=Suplier dihapus SuppliersInvoice=Invoice suplier @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Supplier invoices and payments ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Setujui pesanan ConfirmApproveThisOrder=Are you sure you want to approve order %s ? -DenyingThisOrder=Tolak pesanan +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=Buat pesanan pelanggan diff --git a/htdocs/langs/id_ID/trips.lang b/htdocs/langs/id_ID/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/id_ID/trips.lang +++ b/htdocs/langs/id_ID/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/is_IS/admin.lang b/htdocs/langs/is_IS/admin.lang index 6ab56c9cb5c..50ac8371a52 100644 --- a/htdocs/langs/is_IS/admin.lang +++ b/htdocs/langs/is_IS/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=ƞróun VersionUnknown=Óþekkt VersionRecommanded=MƦlt +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 aư vista fundur SessionSavePath=BĆ­lskĆŗr fundur localization @@ -493,10 +498,16 @@ Module600Name=Tilkynningar Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=FjĆ”rframlƶg Module700Desc=Framlƶg Ć­ stjórnun +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 sameining Module1400Name=Bókhald Module1400Desc=Bókhald stjórnun (tvƶfaldur aưila) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Flokkar Module1780Desc=Stjórn Flokkur's (vƶrur, birgja og viưskiptavina) Module2000Name=Fckeditor @@ -631,7 +642,7 @@ Permission181=Lesa birgir pantanir Permission182=BĆŗa til / breyta birgi pantanir Permission183=Staưfesta birgir pantanir Permission184=Samþykkja birgir pantanir -Permission185=Panta birgir pantanir +Permission185=Order or cancel supplier orders Permission186=FĆ” pantanir birgir Permission187=Loka birgir pantanir Permission188=HƦtta viư birgi pantanir @@ -711,6 +722,13 @@ Permission538=Útflutningur þjónustu Permission701=Lesa FjĆ”rframlƶg Permission702=BĆŗa til / breyta framlƶg Permission703=Eyưa FjĆ”rframlƶg +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=Lesa fiskistofna Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Lykilorư til aư nota proxy-miưlara DefineHereComplementaryAttributes=Skilgreindu hĆ©r ƶll atributes, ekki þegar Ć­ boưi sjĆ”lfgefiư, og aư þú viljir vera studd %s. ExtraFields=Fyllingar eiginleika 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=A lĆ­na af vƶru / þjónustu meư nĆŗll upphƦư er t FreeLegalTextOnProposal=FrjĆ”ls texti um viưskiptabanka tillƶgur 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=Stjórn Order's skipulag OrdersNumberingModules=Pantanir tala mĆ”t @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Strikamerki af gerưinni UPC BarcodeDescISBN=Strikamerki af gerưinni ISBN BarcodeDescC39=Strikamerki Ć” C39 tegund BarcodeDescC128=Strikamerki af gerưinni C128 -GenbarcodeLocation=Strikamerki kynslóð stjórn lĆ­na tól (notaư af phpbarcode vĆ©l fyrir sumir merkjamĆ”l barnum tegund) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Reikning til aư nota til aư taka Ć” móti peningum greiưslur CashDeskBankAccountForCheque= Reikning til aư nota til aư taka Ć” móti greiưslum meư þvĆ­ aư stƶưva CashDeskBankAccountForCB= Reikning til aư nota til aư taka Ć” móti peningum greiưslur meư kreditkortum -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Bókamerki mĆ”t skipulag @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/is_IS/banks.lang b/htdocs/langs/is_IS/banks.lang index b6516a6fa11..3b8b3123521 100644 --- a/htdocs/langs/is_IS/banks.lang +++ b/htdocs/langs/is_IS/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=SƦttir RIB=Bankareikningur Fjƶldi IBAN=IBAN nĆŗmer +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT nĆŗmer +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Standandi pantanir StandingOrder=Standandi pƶntun Withdrawals=Útborganir @@ -148,7 +152,7 @@ BackToAccount=Til baka Ć” reikning ShowAllAccounts=Sýna allra reikninga FutureTransaction=FƦrsla Ć­ futur. Engin leiư til leitar sĆ”tta. SelectChequeTransactionAndGenerate=Select / sĆ­a Ć”vĆ­sanir til fela Ć­ innborgun stƶưva móttƶku og smelltu Ć” "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/is_IS/bills.lang b/htdocs/langs/is_IS/bills.lang index 40a85a7a31f..2da4c4085f7 100644 --- a/htdocs/langs/is_IS/bills.lang +++ b/htdocs/langs/is_IS/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Greiưslur gert þegar PaymentsBackAlreadyDone=Payments back already done PaymentRule=Greiưsla regla PaymentMode=GreiưslumĆ”ti -PaymentConditions=Greiưsla orư -PaymentConditionsShort=Greiưsla orư +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=UpphƦư greiưslu ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Greiưsla hƦrri en Ć”minning aư borga diff --git a/htdocs/langs/is_IS/commercial.lang b/htdocs/langs/is_IS/commercial.lang index 80a7c534614..d80b68c1c53 100644 --- a/htdocs/langs/is_IS/commercial.lang +++ b/htdocs/langs/is_IS/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Horfur DeleteAction=Eyưa aưgerư / verkefni NewAction=Ný aưgerư / verkefni -AddAction=BƦta viư aưgerưir / verkefni -AddAnAction=BƦta viư óÔkveưinn greinir Ć­ ensku aưgerư / verkefni -AddActionRendezVous=BƦta viư stefnumót verkefni +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Stefnumót ConfirmDeleteAction=Ertu viss um aư þú viljir eyưa þessu verkefni? CardAction=Aưgerư kort @@ -44,8 +44,8 @@ DoneActions=Lauk aưgerưum DoneActionsFor=Lauk aưgerưum Ć” %s ToDoActions=ƓfullnƦgjandi aưgerưir ToDoActionsFor=ƓfullnƦgjandi aưgerưir til %s -SendPropalRef=Senda auglýsing tillƶgu %s -SendOrderRef=Senda til %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Ɓ ekki viư StatusActionToDo=Til aư gera StatusActionDone=Complete @@ -62,7 +62,7 @@ LastProspectContactDone=Hafưu gert DateActionPlanned=Date aưgerư skipuleggjandi fyrir DateActionDone=Date aưgerư lokiư ActionAskedBy=Aưgerư baư -ActionAffectedTo=Aưgerư Ć”hrif til +ActionAffectedTo=Event assigned to ActionDoneBy=Aưgerư lokiư viư ActionUserAsk=SkrƔư af ErrorStatusCantBeZeroIfStarted=Ef "Date sviưi gert 'er fyllt, aưgerư er hafin (eưa bĆŗin),' Staưa 'svo sviưi er ekki hƦgt aư 0%%. diff --git a/htdocs/langs/is_IS/contracts.lang b/htdocs/langs/is_IS/contracts.lang index 8faf347b95c..6f81b9bfc44 100644 --- a/htdocs/langs/is_IS/contracts.lang +++ b/htdocs/langs/is_IS/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Útrunniư ServiceStatusClosed=Loka ServicesLegend=ƞjónusta þjóðsaga Contracts=Samningar +ContractsAndLine=Contracts and line of contracts Contract=Samningur NoContracts=Engir samningar MenuServices=ƞjónusta diff --git a/htdocs/langs/is_IS/cron.lang b/htdocs/langs/is_IS/cron.lang index 34d66fdb353..746b799208a 100644 --- a/htdocs/langs/is_IS/cron.lang +++ b/htdocs/langs/is_IS/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/is_IS/errors.lang b/htdocs/langs/is_IS/errors.lang index 52ae8adce65..4676457743f 100644 --- a/htdocs/langs/is_IS/errors.lang +++ b/htdocs/langs/is_IS/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Heimild og markmiư bankareikninga verưur aư ve ErrorBadThirdPartyName=Bad gildi fyrir þriưja aưila Nafn ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad setningafrƦưi fyrir kóða viưskiptavina -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Viưskiptavinur nĆŗmer sem þarf ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Viưskiptavinur sem notaưur er þegar @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript þarf ekki aư vera óvirkur til aư haf ErrorPasswordsMustMatch=BƦưi tegund lykilorư verưur aư samsvara hvor ƶưrum ErrorContactEMail=TƦknilegt villa kom upp. Vinsamlegast hafưu samband viư kerfisstjóra til aư fylgja email %s en veita merkjamĆ”l villa %s Ć­ skilaboưin, eưa jafnvel enn betri meư þvĆ­ aư bƦta skjĆ”r afrit af þessari sƭưu. ErrorWrongValueForField=Wrong gildi fyrir reitinn nĆŗmer %s (gildi ' %s ' er ekki þaư sama rĆ­kisstjóratƭư reglu %s ) -ErrorFieldValueNotIn=Rangt gildi fyrir sviưi nĆŗmer %s ('%s "gildi er ekki gildi Ć­ boưi Ć­ ​​%s sviư %s borư) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Rangt gildi fyrir sviưi nĆŗmer %s ('Ć” %s "gildi er ekki %s nĆŗverandi dómari) ErrorsOnXLines=Villur Ć” %s uppspretta lĆ­nur ErrorFileIsInfectedWithAVirus=The antivirus program was not 'fƦr til setja Ć­ gildi the skrĆ” (skrĆ” gƦti veriư sýkt af veiru) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/is_IS/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/is_IS/install.lang b/htdocs/langs/is_IS/install.lang index 25b309f93ba..7aa233a456a 100644 --- a/htdocs/langs/is_IS/install.lang +++ b/htdocs/langs/is_IS/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Sƭưasta skref: Tilgreindu hĆ©r notandanafn og ly ActivateModule=Virkja mĆ”t %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 diff --git a/htdocs/langs/is_IS/main.lang b/htdocs/langs/is_IS/main.lang index 704097d023c..0e595e2d7be 100644 --- a/htdocs/langs/is_IS/main.lang +++ b/htdocs/langs/is_IS/main.lang @@ -141,6 +141,7 @@ Cancel=HƦtta viư Modify=Breyta Edit=Breyta Validate=Staưfesta +ValidateAndApprove=Validate and Approve ToValidate=Til aư sannprófa Save=Vista SaveAs=Save As @@ -158,6 +159,7 @@ Search=Leita SearchOf=Leita Valid=Gildir Approve=Samþykkja +Disapprove=Disapprove ReOpen=Re-Open Upload=Senda skrĆ” ToLink=Link @@ -219,6 +221,7 @@ Cards=Spil Card=Card Now=NĆŗ Date=Dagsetning +DateAndHour=Date and hour DateStart=Upphafsdagsetning DateEnd=Lokadagsetning DateCreation=Creation dagsetning @@ -295,6 +298,7 @@ UnitPriceHT=Unit verư (nettó) UnitPriceTTC=Eining verưs PriceU=UPP PriceUHT=UP (nettó) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UPP Amount=UpphƦư AmountInvoice=Invoice upphƦư @@ -521,6 +525,7 @@ DateFromTo=Úr %s Ć­ %s DateFrom=FrĆ” %s DateUntil=ƞangaư til %s Check=Athuga +Uncheck=Uncheck Internal=Innri External=Ytri Internals=Innri @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=MĆ”nudagur Tuesday=ƞriưjudagur diff --git a/htdocs/langs/is_IS/orders.lang b/htdocs/langs/is_IS/orders.lang index 620cd8ca531..29a82746738 100644 --- a/htdocs/langs/is_IS/orders.lang +++ b/htdocs/langs/is_IS/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=HƦtt viư StatusOrderDraft=VĆ­xill (þarf aư vera staưfest) StatusOrderValidated=Staưfestar StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Afgreitt StatusOrderToBill=Viư reikning StatusOrderToBill2=Viư reikning @@ -58,6 +59,7 @@ MenuOrdersToBill=Pantanir viư reikning MenuOrdersToBill2=Billable orders SearchOrder=Leita rƶư SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Skip vƶru Discount=AfslĆ”ttur CreateOrder=BĆŗa Order diff --git a/htdocs/langs/is_IS/other.lang b/htdocs/langs/is_IS/other.lang index b9f670340db..051c37066dc 100644 --- a/htdocs/langs/is_IS/other.lang +++ b/htdocs/langs/is_IS/other.lang @@ -54,12 +54,13 @@ MaxSize=HĆ”marks stƦrư AttachANewFile=Hengja nýja skrĆ” / skjal LinkedObject=Tengd mótmƦla Miscellaneous=Ɲmislegt -NbOfActiveNotifications=Fjƶldi tilkynninga +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=ƞetta er prófun póst. \\ NThe tvƦr lĆ­nur eru aưskilin meư vagn til baka. PredefinedMailTestHtml=ƞetta er prófun póstur (orưiư próf verưur feitletruư).
    ƞessar tvƦr lĆ­nur eru aưskilin meư vagn til baka. 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__ diff --git a/htdocs/langs/is_IS/printing.lang b/htdocs/langs/is_IS/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/is_IS/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/is_IS/productbatch.lang +++ b/htdocs/langs/is_IS/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/is_IS/products.lang b/htdocs/langs/is_IS/products.lang index 2d9c72298ee..655a4801339 100644 --- a/htdocs/langs/is_IS/products.lang +++ b/htdocs/langs/is_IS/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/is_IS/projects.lang b/htdocs/langs/is_IS/projects.lang index c7785cf88a8..f8426bd2033 100644 --- a/htdocs/langs/is_IS/projects.lang +++ b/htdocs/langs/is_IS/projects.lang @@ -8,8 +8,10 @@ SharedProject=Allir PrivateProject=Tengiliưir verkefnisins MyProjectsDesc=ƞessi skoưun er takmƶrkuư viư verkefni sem þú ert aư hafa samband viư (hvaư sem er gerư). 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). 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). ProjectsArea=Verkefni area @@ -29,6 +31,8 @@ NoProject=Engin verkefni skilgreind eưa Ć­ eigu NbOpenTasks=ATH aư opna verkefni NbOfProjects=ATH verkefna TimeSpent=TĆ­ma sem fer +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=TĆ­mi RefTask=Tilv. verkefni LabelTask=Merki verkefni @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Listi yfir pantanir birgis Ć­ tengslum viư ListSupplierInvoicesAssociatedProject=Listi yfir reikninga birgis Ć­ tengslum viư verkefniư ListContractAssociatedProject=Listi yfir samninga Ć­ tengslum viư verkefniư ListFichinterAssociatedProject=Listi yfir inngrip Ć­ tengslum viư verkefniư -ListTripAssociatedProject=Listi ferưa og kostnaưi Ć­ tengslum viư verkefniư +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Listi yfir aưgerưir Ć­ tengslum viư verkefniư ActivityOnProjectThisWeek=Afþreying Ć” verkefni Ć­ þessari viku ActivityOnProjectThisMonth=Afþreying Ć” verkefni Ć­ þessum mĆ”nuưi @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=skýrslu lýkur verkefninu er lĆ­kan (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/is_IS/salaries.lang b/htdocs/langs/is_IS/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/is_IS/salaries.lang +++ b/htdocs/langs/is_IS/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/is_IS/sendings.lang b/htdocs/langs/is_IS/sendings.lang index 97e0553dc1d..0e2e1d76be7 100644 --- a/htdocs/langs/is_IS/sendings.lang +++ b/htdocs/langs/is_IS/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Magn rƶư QtyShipped=Magn flutt QtyToShip=Magn til skip QtyReceived=Magn móttekin -KeepToShip=Halda til skip +KeepToShip=Remain to ship OtherSendingsForSameOrder=Aưrar sendingar fyrir þessari rƶư DateSending=Date senda til DateSendingShort=Date senda til diff --git a/htdocs/langs/is_IS/stocks.lang b/htdocs/langs/is_IS/stocks.lang index 15dcb039c33..66d6b14f260 100644 --- a/htdocs/langs/is_IS/stocks.lang +++ b/htdocs/langs/is_IS/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Vegiư meưalverư PMPValueShort=WAP EnhancedValueOfWarehouses=VƶruhĆŗs gildi UserWarehouseAutoCreate=BĆŗa til birgưir sjĆ”lfkrafa þegar þú býrư til notanda +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Magn send QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/is_IS/suppliers.lang b/htdocs/langs/is_IS/suppliers.lang index a5d796e6e39..6635f860563 100644 --- a/htdocs/langs/is_IS/suppliers.lang +++ b/htdocs/langs/is_IS/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Birgjar -Supplier=Birgir AddSupplier=Create a supplier SupplierRemoved=Birgir fjarri SuppliersInvoice=Birgjar Reikningar @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Birgir reikninga og greiưslur ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Samþykkja þessari rƶư ConfirmApproveThisOrder=Ertu viss um aư þú viljir samþykkja þessari rƶư? -DenyingThisOrder=Afneita þessari rƶư +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ertu viss um aư þú viljir afneita þessari rƶư? ConfirmCancelThisOrder=Ertu viss um aư þú viljir hƦtta Ć­ þessari rƶư? AddCustomerOrder=BĆŗa til viưskiptavina til diff --git a/htdocs/langs/is_IS/trips.lang b/htdocs/langs/is_IS/trips.lang index 39edbd5faa3..ca49d8ad9aa 100644 --- a/htdocs/langs/is_IS/trips.lang +++ b/htdocs/langs/is_IS/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Ferưalag -Trips=Ferưir -TripsAndExpenses=Ferưir og kostnaưur -TripsAndExpensesStatistics=Ferưir og kostnaưur tƶlfrƦưi -TripCard=Trip kort -AddTrip=BƦta ferư -ListOfTrips=Listi ferưa +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=Listi yfir gjƶld -NewTrip=New ferư +NewTrip=New expense report CompanyVisited=FyrirtƦki / stofnun heimsótt Kilometers=KĆ­lómetrar FeesKilometersOrAmout=Magn eưa kĆ­lómetrar -DeleteTrip=Eyưa ferư -ConfirmDeleteTrip=Ertu viss um aư þú viljir eyưa þessari ferư? -TF_OTHER=Ɩnnur -TF_LUNCH=HĆ”degisverưur -TF_TRIP=Ferưalag -ListTripsAndExpenses=Listi yfir ferưir og gjƶld -ExpensesArea=Ferưir og gjƶld area -SearchATripAndExpense=Leita ferư og kostnaư +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=Ɩnnur +TF_TRANSPORTATION=Transportation +TF_LUNCH=HĆ”degisverưur +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/it_IT/admin.lang b/htdocs/langs/it_IT/admin.lang index a16d58e6b7c..9348b460f9a 100644 --- a/htdocs/langs/it_IT/admin.lang +++ b/htdocs/langs/it_IT/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Sperimentale VersionDevelopment=Sviluppo VersionUnknown=Sconosciuta VersionRecommanded=Raccomandata +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID di sessione SessionSaveHandler=Handler per il salvataggio dell sessioni SessionSavePath=Percorso per il salvataggio delle sessioni @@ -493,10 +498,16 @@ Module600Name=Notifiche Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Donazioni Module700Desc=Gestione donazioni +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=Integrazione Mantis Module1400Name=ContabilitĆ  avanzata Module1400Desc=Gestione contabilitĆ  per esperti (partita doppia) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categorie Module1780Desc=Gestione Categorie (prodotti, fornitori e clienti) Module2000Name=FCKeditor @@ -631,7 +642,7 @@ Permission181=Vedere ordini fornitore Permission182=Creare / modificare ordini fornitore Permission183=Validare ordini fornitore Permission184=Approvare ordini fornitore -Permission185=Ordinare ordini fornitore +Permission185=Order or cancel supplier orders Permission186=Ricevere ordini fornitore Permission187=Chiudere fornitore ordini Permission188=Annullare ordini fornitore @@ -711,6 +722,13 @@ Permission538=Esportare servizi Permission701=Vedere donazioni Permission702=Creare/modificare donazioni Permission703=Eliminare donazioni +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=Vedere magazzino Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Password per utilizzare il server proxy DefineHereComplementaryAttributes=Definire qui tutti gli attributi non predefiniti che vuoi supportati da %s. ExtraFields=Campi extra ExtraFieldsLines=Complementary attributes (lines) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Attributi complementari (terze parti) ExtraFieldsContacts=Attributi Complementari (contatti/indirizzi) ExtraFieldsMember=Attributi Complementari (membri) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Una linea di prodotto/servizio con un importo pari a 0 FreeLegalTextOnProposal=Testo libero sulle proposte commerciali WatermarkOnDraftProposal=Bozze dei preventivi filigranate (nessuna filigrana se vuoto) 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=Configurazione della gestione ordini OrdersNumberingModules=Modelli di numerazione degli ordini @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Programma a riga di comando per generare i codici a barre (utilizzato dal modulo phpbarcode per alcuni tipi di codici a barre) +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=Motore interno BarCodeNumberManager=Manager per auto-definizione dei numeri barcode ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Conto bancario da utilizzare per pagamenti in contanti CashDeskBankAccountForCheque= Conto bancario da utilizzare per pagamenti con assegno CashDeskBankAccountForCB= Conto bancario da utilizzare per pagamenti con carta di credito -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Impostazioni modulo segnalibri @@ -1569,3 +1597,7 @@ SortOrder=Sort order Format=Formato 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. diff --git a/htdocs/langs/it_IT/banks.lang b/htdocs/langs/it_IT/banks.lang index 43f61a91c1b..b83707e59df 100644 --- a/htdocs/langs/it_IT/banks.lang +++ b/htdocs/langs/it_IT/banks.lang @@ -33,7 +33,11 @@ AllTime=Dall'inizio Reconciliation=Riconciliazione RIB=Coordinate bancarie IBAN=Codice IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Codice BIC (Swift) +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Mandati di incasso StandingOrder=Mandato di incasso Withdrawals=Prelievi @@ -148,7 +152,7 @@ BackToAccount=Torna al conto ShowAllAccounts=Mostra per tutti gli account FutureTransaction=Transazione futura. Non è possibile conciliare. SelectChequeTransactionAndGenerate=Seleziona gli assegni dar includere nella ricevuta di versamento e clicca su "Crea". -InputReceiptNumber=Scegli la transazione collegata alla conciliazione. Usa un valore numerico ordinabile (per esempio, AAAAMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Infine, specificare una categoria in cui classificare i record ToConciliate=Da conciliare? ThenCheckLinesAndConciliate=Controlla tutte le informazioni prima di cliccare diff --git a/htdocs/langs/it_IT/bills.lang b/htdocs/langs/it_IT/bills.lang index 62ab683bd6e..451631b87a7 100644 --- a/htdocs/langs/it_IT/bills.lang +++ b/htdocs/langs/it_IT/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Pagamenti già fatti PaymentsBackAlreadyDone=Rimborso già effettuato PaymentRule=Regola pagamento PaymentMode=Tipo di pagamento -PaymentConditions=Termine di pagamento -PaymentConditionsShort=Ter. di pagamento +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Importo del pagamento ValidatePayment=Convalidare questo pagamento? PaymentHigherThanReminderToPay=Pagamento superiore alla rimanenza da pagare diff --git a/htdocs/langs/it_IT/commercial.lang b/htdocs/langs/it_IT/commercial.lang index a4d5cad6499..3478754d9dd 100644 --- a/htdocs/langs/it_IT/commercial.lang +++ b/htdocs/langs/it_IT/commercial.lang @@ -9,9 +9,9 @@ Prospect=Cliente potenziale Prospects=Clienti potenziali DeleteAction=Elimina un'azione/compito NewAction=Nuova azione/compito -AddAction=Aggiungi azione/compito -AddAnAction=Aggiungi un'azione/compito -AddActionRendezVous=Aggiungi un appuntamento +AddAction=Crea evento/attività +AddAnAction=Crea un evento/attività +AddActionRendezVous=Crea un appuntamento Rendez-Vous=Appuntantamenti ConfirmDeleteAction=Vuoi davvero eliminare questa azione? CardAction=Scheda Azione/compito @@ -44,8 +44,8 @@ DoneActions=Azioni fatte DoneActionsFor=Azioni fatte per %s ToDoActions=Azioni da fare ToDoActionsFor=Azioni da fare per %s -SendPropalRef=Invia preventivo %s -SendOrderRef=Invia per %s +SendPropalRef=Invio di proposta commerciale %s +SendOrderRef=Invio di ordine %s StatusNotApplicable=Non applicabile StatusActionToDo=Da fare StatusActionDone=Fatto @@ -62,7 +62,7 @@ LastProspectContactDone=Ultimo contatto effettuato DateActionPlanned=Data prevista per l'azione DateActionDone=Data compimento azione ActionAskedBy=Azione richiesta da -ActionAffectedTo=Azione riguardante +ActionAffectedTo=Event assigned to ActionDoneBy=Azione da fare ActionUserAsk=Riferita da ErrorStatusCantBeZeroIfStarted=Se il campo "fatto in Data" contiene qualcosa e l'azione è stata avviata (o finita), il campo "Stato" non può essere 0%%. diff --git a/htdocs/langs/it_IT/contracts.lang b/htdocs/langs/it_IT/contracts.lang index 30637765163..64ae0e1cbea 100644 --- a/htdocs/langs/it_IT/contracts.lang +++ b/htdocs/langs/it_IT/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Scaduto ServiceStatusClosed=Chiuso ServicesLegend=Legenda servizi Contracts=Contratti +ContractsAndLine=Contracts and line of contracts Contract=Contratto NoContracts=Nessun contratto MenuServices=Servizi diff --git a/htdocs/langs/it_IT/cron.lang b/htdocs/langs/it_IT/cron.lang index 073c9dabf7c..edb0ea5183b 100644 --- a/htdocs/langs/it_IT/cron.lang +++ b/htdocs/langs/it_IT/cron.lang @@ -84,3 +84,4 @@ 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=Task disabled diff --git a/htdocs/langs/it_IT/errors.lang b/htdocs/langs/it_IT/errors.lang index 9fac6970fe5..69de1916c4b 100644 --- a/htdocs/langs/it_IT/errors.lang +++ b/htdocs/langs/it_IT/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=I conti bancari di origine e destinazione devono ErrorBadThirdPartyName=Valore non valido per il nome del soggetto terzo ErrorProdIdIsMandatory=%s obbligatorio ErrorBadCustomerCodeSyntax=Sintassi del codice cliente errata -ErrorBadBarCodeSyntax=Sintassi del barcode errata +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=Il codice cliente è obbligatorio ErrorBarCodeRequired=Barcode richiesto ErrorCustomerCodeAlreadyUsed=Codice cliente già utilizzato @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Per questa funzionalità Javascript deve essere att ErrorPasswordsMustMatch=Le due password digitate devono essere identiche ErrorContactEMail=Si è verificato un errore tecnico. Si prega di contattare l'amministratore all'indirizzo %s %s indicando il codice di errore nel messaggio, o, meglio ancora, allegando uno screenshot della schermata attuale. ErrorWrongValueForField=Valore errato nel campo numero %s (il valore '%s'non corrisponde alla regex %s) -ErrorFieldValueNotIn=Valore errato nel campo numero %s(il valore %s non è un valore disponibile nel campo%s campo della tabella %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Valore errato nel campo numero %s (il valore %snon è un riferimento %s esistente) ErrorsOnXLines=Errori in %s righe del sorgente ErrorFileIsInfectedWithAVirus=Il programma antivirus non è stato in grado di convalidare il file (il file potrebbe essere infetto) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=I parametri di configurazione obbligatori non sono ancora stati definiti diff --git a/htdocs/langs/it_IT/incoterm.lang b/htdocs/langs/it_IT/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/it_IT/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/it_IT/install.lang b/htdocs/langs/it_IT/install.lang index 81b627f39fb..39341881654 100644 --- a/htdocs/langs/it_IT/install.lang +++ b/htdocs/langs/it_IT/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Ultimo passo: Indicare qui login e password che si ActivateModule=Attiva modulo %s ShowEditTechnicalParameters=Clicca qui per mostrare/modificare i parametri avanzati (modalità esperti) 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 diff --git a/htdocs/langs/it_IT/main.lang b/htdocs/langs/it_IT/main.lang index 12bcfd808db..a545e5a156d 100644 --- a/htdocs/langs/it_IT/main.lang +++ b/htdocs/langs/it_IT/main.lang @@ -141,6 +141,7 @@ Cancel=Annulla Modify=Modifica Edit=Modifica Validate=Convalida +ValidateAndApprove=Validate and Approve ToValidate=Convalidare Save=Salva SaveAs=Salva con nome @@ -158,6 +159,7 @@ Search=Ricerca SearchOf=Cerca Valid=Convalida Approve=Approva +Disapprove=Disapprove ReOpen=Riapri Upload=Invia file ToLink=Link @@ -219,6 +221,7 @@ Cards=Schede Card=Scheda Now=Adesso Date=Data +DateAndHour=Date and hour DateStart=Data inizio DateEnd=Data fine DateCreation=Data di creazione @@ -295,6 +298,7 @@ UnitPriceHT=Prezzo unitario (netto) UnitPriceTTC=Prezzo unitario (lordo) PriceU=P.U. PriceUHT=P.U.(netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=P.U.(lordo) Amount=Importo AmountInvoice=Importo della fattura @@ -521,6 +525,7 @@ DateFromTo=Da %s a %s DateFrom=Da %s DateUntil=Fino a %s Check=Controllo +Uncheck=Uncheck Internal=Interno External=Esterno Internals=Interni @@ -688,6 +693,7 @@ PublicUrl=URL pubblico AddBox=Aggiungi box SelectElementAndClickRefresh=Seleziona un elemento e clicca Aggiorna PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Lunedì Tuesday=Martedì diff --git a/htdocs/langs/it_IT/orders.lang b/htdocs/langs/it_IT/orders.lang index a6992dd91b4..7206efd62c2 100644 --- a/htdocs/langs/it_IT/orders.lang +++ b/htdocs/langs/it_IT/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Annullato StatusOrderDraft=Bozza (deve essere convalidata) StatusOrderValidated=Convalidato StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Lavorato StatusOrderToBill=Spedito StatusOrderToBill2=Da fatturare @@ -58,6 +59,7 @@ MenuOrdersToBill=Ordini spediti MenuOrdersToBill2=Ordini fatturabili SearchOrder=Ricerca ordine SearchACustomerOrder=Cerca un ordine cliente +SearchASupplierOrder=Search a supplier order ShipProduct=Spedisci prodotto Discount=Sconto CreateOrder=Crea ordine diff --git a/htdocs/langs/it_IT/other.lang b/htdocs/langs/it_IT/other.lang index 156441b3cd8..ef337e3c36c 100644 --- a/htdocs/langs/it_IT/other.lang +++ b/htdocs/langs/it_IT/other.lang @@ -54,12 +54,13 @@ MaxSize=La dimensione massima è AttachANewFile=Allega un nuovo file/documento LinkedObject=Oggetto collegato Miscellaneous=Varie -NbOfActiveNotifications=Numero di notifiche attive +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Questa è una mail di prova. \\NLe due linee sono separate da un a capo. PredefinedMailTestHtml=Questa è una mail di test (la parola test deve risultare in grassetto).
    Le due linee sono separate da un a capo. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nGentile Cliente,\nin allegato trova la nostra fattura numero __FACREF__\n\n__PERSONALIZED__Cordiali saluti\n\nIl presente invio SOSTITUISCE INTEGRALMENTE quello effettuato in modo tradizionale a mezzo servizio postale.\n\nTale operazione è ammessa dalla normativa fiscale in essere, relativa alla "Trasmissione delle Fatture" per via Telematica:\nR.M. n. 571134 del 19/07/88 - (posta elettronica);\nR.M. n. 450217 del 30/07/90 - (procedure informatizzate);R.M. n. 107 del 04/07/01 - (trasmissione atture);\nR.M. n. 202/E del 04/12/01 - (archiviazione fatture).\nRisoluzioni che forniscono chiarimenti in ordine alle condizioni necessarie per l'ammissibilità ai sensi dell'art. 21 D.P.R. 26/10/72, n.633, della procedura di trasmissione e memorizzazione delle fatture mediante sistemi combinati fondati sull'impiego congiunto di supporti informatici, telefax\ne posta elettronica.\n\n È necessario GENERARNE UNA STAMPA e procedere alla relativa archiviazione come da prassi a norma di legge.\n\nRimaniamo a completa disposizione per qualsiasi informazione.\n\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \nVorremmo portare alla Vostra attenzione che la fattura __FACREF__ sembra non essere stata saldata. La fattura è allegata alla presente, come promemoria.\n\n__PERSONALIZED__Cordiali Saluti\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nAlleghiamo la proposta commerciale __PROPREF__ \n\n__PERSONALIZED__ Cordiali Saluti\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nAlleghiamo l'ordine __ORDERREF__\n\n__PERSONALIZED__ Cordiali Saluti\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nAlleghiamo il nostro ordine __ORDERREF__\n\n__PERSONALIZED__Cordiali Saluti\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nGentile Cliente,\nin allegato trova la nostra fattura __FACREF__\n\n__PERSONALIZED__Cordiali Saluti\n\nIl presente invio SOSTITUISCE INTEGRALMENTE quello effettuato in modo tradizionale a mezzo servizio postale.\n\nTale operazione è ammessa dalla normativa fiscale in essere, relativa alla "Trasmissione delle Fatture" per via Telematica:\nR.M. n. 571134 del 19/07/88 - (posta elettronica);\nR.M. n. 450217 del 30/07/90 - (procedure informatizzate);R.M. n. 107 del 04/07/01 - (trasmissione atture);\nR.M. n. 202/E del 04/12/01 - (archiviazione fatture).\nRisoluzioni che forniscono chiarimenti in ordine alle condizioni necessarie per l'ammissibilità ai sensi dell'art. 21 D.P.R. 26/10/72, n.633, della procedura di trasmissione e memorizzazione delle fatture mediante sistemi combinati fondati sull'impiego congiunto di supporti informatici, telefax\ne posta elettronica.\n\n È necessario GENERARNE UNA STAMPA e procedere alla relativa archiviazione come da prassi a norma di legge.\n\nRimaniamo a completa disposizione per qualsiasi informazione.\n\n__SIGNATURE__ diff --git a/htdocs/langs/it_IT/printing.lang b/htdocs/langs/it_IT/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/it_IT/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/it_IT/productbatch.lang b/htdocs/langs/it_IT/productbatch.lang index a95f07e2f87..147b856f35d 100644 --- a/htdocs/langs/it_IT/productbatch.lang +++ b/htdocs/langs/it_IT/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/it_IT/products.lang b/htdocs/langs/it_IT/products.lang index 25ad81ab3b9..6bb5e68614e 100644 --- a/htdocs/langs/it_IT/products.lang +++ b/htdocs/langs/it_IT/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/it_IT/projects.lang b/htdocs/langs/it_IT/projects.lang index d387d08f9ca..8520ba26e37 100644 --- a/htdocs/langs/it_IT/projects.lang +++ b/htdocs/langs/it_IT/projects.lang @@ -8,8 +8,10 @@ SharedProject=Progetto condiviso PrivateProject=Contatti del progetto MyProjectsDesc=Questa visualizzazione mostra solo i progetti in cui sei indicato come contatto (di qualsiasi tipo). ProjectsPublicDesc=Questa visualizzazione mostra tutti i progetti che sei autorizzato a vedere. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with 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). ProjectsArea=Area progetti @@ -29,6 +31,8 @@ NoProject=Nessun progetto definito o assegnato NbOpenTasks=Num. di compiti aperti NbOfProjects=Num. di progetti TimeSpent=Tempo lavorato +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tempo lavorato RefTask=Rif. compito LabelTask=Etichetta compito @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Elenco degli ordini fornitori associati al p ListSupplierInvoicesAssociatedProject=Elenco delle fatture passive associate al progetto ListContractAssociatedProject=Elenco dei contratti associati al progetto ListFichinterAssociatedProject=Elenco degli interventi associati al progetto -ListTripAssociatedProject=Elenco dei viaggi e delle spese associate al progetto +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Elenco delle azioni associate al progetto ActivityOnProjectThisWeek=OperativitĆ  sul progetto questa settimana ActivityOnProjectThisMonth=OperativitĆ  sul progetto questo mese @@ -126,10 +130,15 @@ AddElement=Link all'elemento UnlinkElement=Rimuovi collegamento # Documents models DocumentModelBaleine=Modello per il report di un progetto completo (logo, etc..) -PlannedWorkload = Carico di lavoro previsto -WorkloadOccupation= Carico di lavoro supposto +PlannedWorkload=Carico di lavoro previsto +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/it_IT/salaries.lang b/htdocs/langs/it_IT/salaries.lang index 01e019c5a0b..fcd094e4682 100644 --- a/htdocs/langs/it_IT/salaries.lang +++ b/htdocs/langs/it_IT/salaries.lang @@ -1,4 +1,6 @@ # Dolibarr language file - Source file is en_US - users +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Codice di contabilitĆ  per i pagamenti dei salari +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Codice di contabilitĆ  per oneri finanziari Salary=Stipendio Salaries=Stipendi Employee=Dipendente @@ -6,3 +8,6 @@ NewSalaryPayment=Nuovo pagamento stipendio SalaryPayment=Pagamento stipendio SalariesPayments=Pagamento stipendi ShowSalaryPayment=Mostra i pagamenti stipendio +THM=Prezzo medio orario +TJM=Prezzo medio giornaliero +CurrentSalary=Current salary diff --git a/htdocs/langs/it_IT/sendings.lang b/htdocs/langs/it_IT/sendings.lang index f309ede2aad..b4a29ef16c4 100644 --- a/htdocs/langs/it_IT/sendings.lang +++ b/htdocs/langs/it_IT/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=QuantitĆ  ordinata QtyShipped=QuantitĆ  spedita QtyToShip=QuantitĆ  da spedire QtyReceived=QuantitĆ  ricevuta -KeepToShip=Ancora da spedire +KeepToShip=Remain to ship OtherSendingsForSameOrder=Altre Spedizioni per questo ordine DateSending=Data spedizione DateSendingShort=Data di invio diff --git a/htdocs/langs/it_IT/stocks.lang b/htdocs/langs/it_IT/stocks.lang index 0766d101bee..51c52f31d8e 100644 --- a/htdocs/langs/it_IT/stocks.lang +++ b/htdocs/langs/it_IT/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Media ponderata prezzi PMPValueShort=MPP EnhancedValueOfWarehouses=Incremento valore dei magazzini UserWarehouseAutoCreate=Creare automaticamente un magazzino alla creazione di un utente +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=QuantitĆ  spedita QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Il magazzino %s sarĆ  usato per la diminuzione 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 di acquisto aperti +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=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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/it_IT/suppliers.lang b/htdocs/langs/it_IT/suppliers.lang index e9e64c3e9ab..9d21cef1c12 100644 --- a/htdocs/langs/it_IT/suppliers.lang +++ b/htdocs/langs/it_IT/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Fornitori -Supplier=Fornitore AddSupplier=Crea un fornitore SupplierRemoved=Fornitore rimosso SuppliersInvoice=Fattura Fornitore @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Fatture fornitore e pagamenti ExportDataset_fournisseur_3=Ordini fornitore e righe degli ordini ApproveThisOrder=Approva l'ordine ConfirmApproveThisOrder=Vuoi davvero approvare l'ordine? -DenyingThisOrder=Rifiuta l'ordine +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Vuoi davvero rifiutare l'ordine? ConfirmCancelThisOrder=Vuoi davvero annullare l'ordine? AddCustomerOrder=Crea ordine cliente diff --git a/htdocs/langs/it_IT/trips.lang b/htdocs/langs/it_IT/trips.lang index 413dcf89c4c..bc73c8119be 100644 --- a/htdocs/langs/it_IT/trips.lang +++ b/htdocs/langs/it_IT/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Viaggio -Trips=Viaggi -TripsAndExpenses=Viaggi e spese -TripsAndExpensesStatistics=Statistiche viaggi e spese -TripCard=Scheda viaggio -AddTrip=Aggiungi viaggio -ListOfTrips=Elenco dei viaggi +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=Elenco delle tariffe -NewTrip=Nuovo viaggio +NewTrip=New expense report CompanyVisited=SocietĆ /Fondazione visitata Kilometers=Kilometri FeesKilometersOrAmout=Tariffa kilometrica o importo -DeleteTrip=Elimina viaggio -ConfirmDeleteTrip=Sei sicuro di voler eliminare questo viaggio? +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=Classifica come "Rimborsata" +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=Altro +TF_TRANSPORTATION=Transportation TF_LUNCH=Pranzo -TF_TRIP=Viaggio -ListTripsAndExpenses=Elenco dei viaggi e delle spese -ExpensesArea=Area viaggi e spese -SearchATripAndExpense=Cerca viaggi e spese -ClassifyRefunded=Classify 'Refunded' +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ja_JP/admin.lang b/htdocs/langs/ja_JP/admin.lang index 3785571b48b..bac8eb6dbcf 100644 --- a/htdocs/langs/ja_JP/admin.lang +++ b/htdocs/langs/ja_JP/admin.lang @@ -8,6 +8,11 @@ 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=ć‚»ćƒƒć‚·ćƒ§ćƒ³ID SessionSaveHandler=ć‚»ćƒƒć‚·ćƒ§ćƒ³ć‚’äæå­˜ć™ć‚‹ćŸć‚ć®ćƒćƒ³ćƒ‰ćƒ© SessionSavePath=ć‚¹ćƒˆćƒ¬ćƒ¼ć‚øĀ·ć‚»ćƒƒć‚·ćƒ§ćƒ³ć®ćƒ­ćƒ¼ć‚«ćƒ©ć‚¤ć‚ŗ @@ -493,10 +498,16 @@ Module600Name=é€šēŸ„ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=åÆ„ä»˜ Module700Desc=åÆ„ä»˜é‡‘ć®ē®”ē† +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=ć‚«ćƒžć‚­ćƒŖ Module1200Desc=ć‚«ćƒžć‚­ćƒŖć®ēµ±åˆ Module1400Name=会計 Module1400Desc=ä¼ščØˆē®”ē†ļ¼ˆäŗŒč€…ļ¼‰ +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=ć‚«ćƒ†ć‚“ćƒŖćƒ¼ Module1780Desc=Categorieć®ē®”ē†ļ¼ˆč£½å“ć€ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć€é”§å®¢ļ¼‰ Module2000Name=WYSIWYGć‚Øćƒ‡ć‚£ć‚æ @@ -631,7 +642,7 @@ Permission181=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®å—ę³Øć‚’čŖ­ć‚€ Permission182=作成/å¤‰ę›“ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®å—ę³Ø Permission183=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®å—ę³Øć‚’ę¤œčØ¼ć™ć‚‹ Permission184=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ć®ę³Øę–‡ć‚’ę‰æčŖć™ć‚‹ -Permission185=ę³Øę–‡ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®å—ę³Ø +Permission185=Order or cancel supplier orders Permission186=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ć®ę³Øę–‡ć‚’å—ć‘ć‚‹ Permission187=é–‰ć˜ć‚‹ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®å—ę³Ø Permission188=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ć®ę³Øę–‡ć‚’å–ć‚Šę¶ˆć™ @@ -711,6 +722,13 @@ Permission538=č¼øå‡ŗć‚µćƒ¼ćƒ“ć‚¹ Permission701=åÆ„ä»˜ć‚’čŖ­ć‚€ Permission702=åÆ„ä»˜ć‚’ä½œęˆ/変曓 Permission703=åÆ„ä»˜ć‚’å‰Šé™¤ć—ć¾ć™ć€‚ +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=ę Ŗå¼ć‚’čŖ­ć‚€ Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ćƒ—ćƒ­ć‚­ć‚·ć‚µćƒ¼ćƒćƒ¼ć‚’ä½æē”Øć™ć‚‹ćŸć‚ć®ćƒ‘ć‚¹ćƒÆćƒ¼ćƒ‰ DefineHereComplementaryAttributes=ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć§ćÆę—¢ć«åˆ©ē”Øć§ććŖć„ć€ć“ć“ć§ć™ć¹ć¦ć®å±žę€§ć‚’å®šē¾©ć—ć¦ć€ć‚ćŖćŸćÆ%sć®ćŸć‚ć«ć‚µćƒćƒ¼ćƒˆć•ć›ćŸć„ć€‚ ExtraFields=č£œå®Œēš„ćŖå±žę€§ 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=ć‚¼ćƒ­é‡ćØč£½å“/ć‚µćƒ¼ćƒ“ć‚¹ć®ćƒ©ć‚¤ćƒ³ćÆć€ć‚Ŗ FreeLegalTextOnProposal=å•†ę„­ēš„ćŖęę”ˆć§ćƒ•ćƒŖćƒ¼ćƒ†ć‚­ć‚¹ćƒˆ 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=ę³Øę–‡ć®ē®”ē†ć‚»ćƒƒćƒˆć‚¢ćƒƒćƒ— OrdersNumberingModules=ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®ē•Ŗå·å—ę³Ø @@ -1383,7 +1410,7 @@ BarcodeDescUPC=ć‚æć‚¤ćƒ—UPCć®ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ BarcodeDescISBN=åž‹å•†å“ć®ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ BarcodeDescC39=ć‚æć‚¤ćƒ—C39ć®ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ BarcodeDescC128=ć‚æć‚¤ćƒ—C128ć®ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ -GenbarcodeLocation=ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ć‚’ē”Ÿęˆć™ć‚‹ć‚³ćƒžćƒ³ćƒ‰ćƒ©ć‚¤ćƒ³ćƒ„ćƒ¼ćƒ«ļ¼ˆäø€éƒØć®ćƒćƒ¼ć‚³ćƒ¼ćƒ‰ć‚æć‚¤ćƒ—ć®phpbarcodeć‚Øćƒ³ć‚øćƒ³ć§ä½æē”Øć•ć‚Œć¾ć™ļ¼‰ +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=ē¾é‡‘ę”Æę‰•ć„ć‚’å—ć‘å–ć‚‹ćŸć‚ć«ä½æē”Øć™ć‚‹ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć®ć‚¢ć‚«ć‚¦ćƒ³ćƒˆ CashDeskBankAccountForCheque= å°åˆ‡ę‰‹ć«ć‚ˆć‚‹ę”Æę‰•ć„ć‚’å—ć‘å–ć‚‹ćŸć‚ć«ä½æē”Øć™ć‚‹ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć®ć‚¢ć‚«ć‚¦ćƒ³ćƒˆ CashDeskBankAccountForCB= ć‚Æćƒ¬ć‚øćƒƒćƒˆć‚«ćƒ¼ćƒ‰ć§ć®ē¾é‡‘ę”Æę‰•ć„ć‚’å—ć‘å–ć‚‹ćŸć‚ć«ä½æē”Øć™ć‚‹ćƒ‡ćƒ•ć‚©ćƒ«ćƒˆć®ć‚¢ć‚«ć‚¦ćƒ³ćƒˆ -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«ć®ć‚»ćƒƒćƒˆć‚¢ćƒƒćƒ—ć‚’ćƒ–ćƒƒć‚Æćƒžćƒ¼ć‚Æ @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/ja_JP/banks.lang b/htdocs/langs/ja_JP/banks.lang index 23051984ea3..415d74642e7 100644 --- a/htdocs/langs/ja_JP/banks.lang +++ b/htdocs/langs/ja_JP/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=å’Œč§£ RIB=éŠ€č”Œć®å£åŗ§ē•Ŗå· IBAN=IBANē•Ŗå· +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFTē•Ŗå· +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=ē«‹ć”å—ę³Ø StandingOrder=立ご順 Withdrawals=引出し @@ -148,7 +152,7 @@ BackToAccount=ęˆ»ć‚‹ć‚¢ć‚«ć‚¦ćƒ³ćƒˆćø ShowAllAccounts=ć™ć¹ć¦ć®ć‚¢ć‚«ć‚¦ćƒ³ćƒˆć«č”Øē¤ŗ FutureTransaction=ćƒ•ćƒ„ćƒ¼ćƒćƒ£ćƒ¼ć®ćƒˆćƒ©ćƒ³ć‚¶ć‚Æć‚·ćƒ§ćƒ³ć€‚čŖæåœć™ć‚‹ę–¹ę³•ćÆć‚ć‚Šć¾ć›ć‚“ć€‚ SelectChequeTransactionAndGenerate=ćƒć‚§ćƒƒć‚Æć®é é‡‘čØ¼ę›øć«å«ć¾ć‚Œć‚‹ćØć€"作成"ć‚’ć‚ÆćƒŖćƒƒć‚Æć—ć¦ćƒć‚§ćƒƒć‚Æć‚’ćƒ•ć‚£ćƒ«ć‚æćƒŖćƒ³ć‚°/éøęŠžć—ć¦ćć ć•ć„ć€‚ -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/ja_JP/bills.lang b/htdocs/langs/ja_JP/bills.lang index f27ee25bc1a..0fcd2a7fcc2 100644 --- a/htdocs/langs/ja_JP/bills.lang +++ b/htdocs/langs/ja_JP/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=ę”Æę‰•ć„ćŒć™ć§ć«č”Œć‚ PaymentsBackAlreadyDone=Payments back already done PaymentRule=ę”Æę‰•ć„ćƒ«ćƒ¼ćƒ« PaymentMode=ćŠę”Æę‰•ć„ę–¹ę³•ć®ēØ®é”ž -PaymentConditions=ę”Æę‰•ęœŸé–“ -PaymentConditionsShort=ę”Æę‰•ęœŸé–“ +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=ę”Æę‰•é‡‘é” ValidatePayment=Validate payment PaymentHigherThanReminderToPay=ę”Æę‰•ć†ćŸć‚ć«ę€ć„å‡ŗć•ć›ć‚‹ć‚ˆć‚Šć‚‚é«˜ć„ę”Æę‰•ć„ diff --git a/htdocs/langs/ja_JP/commercial.lang b/htdocs/langs/ja_JP/commercial.lang index babd7265f5f..6953d91769a 100644 --- a/htdocs/langs/ja_JP/commercial.lang +++ b/htdocs/langs/ja_JP/commercial.lang @@ -9,9 +9,9 @@ Prospect=見通恗 Prospects=見込み DeleteAction=ć‚¤ćƒ™ćƒ³ćƒˆ/ć‚æć‚¹ć‚Æć‚’å‰Šé™¤ć—ć¾ć™ć€‚ NewAction=ę–°ć—ć„ć‚¤ćƒ™ćƒ³ćƒˆ/タスク -AddAction=ć‚¤ćƒ™ćƒ³ćƒˆ/ć‚æć‚¹ć‚Æć‚’čæ½åŠ ć™ć‚‹ -AddAnAction=ć‚¤ćƒ™ćƒ³ćƒˆ/ć‚æć‚¹ć‚Æć‚’čæ½åŠ ć™ć‚‹ -AddActionRendezVous=ćƒ©ćƒ³ćƒ‡ćƒ“ćƒ¼ć‚¤ćƒ™ćƒ³ćƒˆć‚’čæ½åŠ  +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=ćƒ©ćƒ³ćƒ‡ćƒ–ćƒ¼ ConfirmDeleteAction=ć“ć®ć‚¤ćƒ™ćƒ³ćƒˆ/ć‚æć‚¹ć‚Æć‚’å‰Šé™¤ć—ć¦ć‚‚ć‚ˆć‚ć—ć„ć§ć™ć‹ļ¼Ÿ CardAction=ć‚¤ćƒ™ćƒ³ćƒˆć‚«ćƒ¼ćƒ‰ @@ -44,8 +44,8 @@ DoneActions=å®Œäŗ†ć‚¤ćƒ™ćƒ³ćƒˆ DoneActionsFor=%sć®å®Œęˆć‚¤ćƒ™ćƒ³ćƒˆ ToDoActions=äøå®Œå…ØćŖć‚¤ćƒ™ćƒ³ćƒˆ ToDoActionsFor=%säøå®Œå…ØćŖć‚¤ćƒ™ćƒ³ćƒˆ -SendPropalRef=å•†ę„­ęę”ˆ%s悒送悋 -SendOrderRef=ć‚Ŗćƒ¼ćƒ€ćƒ¼ć®%s悒送悋 +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=é©ē”Øć•ć‚ŒćŖć„ StatusActionToDo=å®Ÿč”Œć™ć‚‹ StatusActionDone=å®Œäŗ†ć™ć‚‹ @@ -62,7 +62,7 @@ LastProspectContactDone=č”Œć‚é€£ēµ” DateActionPlanned=ę—„ä»˜ć‚¤ćƒ™ćƒ³ćƒˆćŒćŸć‚ć«čØˆē”» DateActionDone=ę—„ä»˜ć‚¤ćƒ™ćƒ³ćƒˆćŒč”Œć‚ć‚Œ ActionAskedBy=ć«ć‚ˆć£ć¦å ±å‘Šć•ć‚ŒćŸć‚¤ćƒ™ćƒ³ćƒˆ -ActionAffectedTo=ć‚¤ćƒ™ćƒ³ćƒˆć«å½±éŸæć‚’å—ć‘ćŸ +ActionAffectedTo=Event assigned to ActionDoneBy=ć™ć‚‹ć“ćØć«ć‚ˆć‚Šć€ć‚¤ćƒ™ćƒ³ćƒˆć‚’č”Œć£ć¦ ActionUserAsk=ć«ć‚ˆć£ć¦å ±å‘Šć•ć‚ŒćŸ ErrorStatusCantBeZeroIfStarted=ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰" ę—„ä»˜ćŒč”Œć‚ ' ćŒå…„åŠ›ć•ć‚Œć¦ć„ć‚‹å “åˆćÆć€ć‚¢ć‚Æć‚·ćƒ§ćƒ³ćŒļ¼ˆć¾ćŸćÆēµ‚äŗ†ļ¼‰ćŒé–‹å§‹ć•ć‚Œć¦ć„ć‚‹ć®ć§ć€ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ć®ć‚¹ćƒ†ćƒ¼ć‚æć‚¹ćŒ " 0%%ć«ć™ć‚‹ć“ćØćÆć§ćć¾ć›ć‚“ć€‚ diff --git a/htdocs/langs/ja_JP/contracts.lang b/htdocs/langs/ja_JP/contracts.lang index 3f44104d7fb..db028796696 100644 --- a/htdocs/langs/ja_JP/contracts.lang +++ b/htdocs/langs/ja_JP/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=ęœŸé™åˆ‡ć‚Œć® ServiceStatusClosed=閉恘 ServicesLegend=ć‚µćƒ¼ćƒ“ć‚¹ä¼čŖ¬ Contracts=å„‘ē“„ +ContractsAndLine=Contracts and line of contracts Contract=å„‘ē“„ NoContracts=ć„ć„ćˆå„‘ē“„ćŖć— MenuServices=ć‚µćƒ¼ćƒ“ć‚¹ diff --git a/htdocs/langs/ja_JP/cron.lang b/htdocs/langs/ja_JP/cron.lang index f2f35b1838c..d10cb4a8784 100644 --- a/htdocs/langs/ja_JP/cron.lang +++ b/htdocs/langs/ja_JP/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ja_JP/errors.lang b/htdocs/langs/ja_JP/errors.lang index a7b905a2127..852bc364ace 100644 --- a/htdocs/langs/ja_JP/errors.lang +++ b/htdocs/langs/ja_JP/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=ć‚½ćƒ¼ć‚¹ćØć‚æćƒ¼ć‚²ćƒƒćƒˆć®éŠ€č”Œå£åŗ§ćÆē•° ErrorBadThirdPartyName=ć‚µćƒ¼ćƒ‰ćƒ‘ćƒ¼ćƒ†ć‚£ć®åå‰ć®å€¤ćŒę­£ć—ćć‚ć‚Šć¾ć›ć‚“ ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=é”§å®¢ć‚³ćƒ¼ćƒ‰ć®äøę­£ćŖę§‹ę–‡ -ErrorBadBarCodeSyntax=Bad syntax for bar 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=é”§å®¢ć‚³ćƒ¼ćƒ‰ćŒåæ…č¦ć§ć™ ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=é”§å®¢ć‚³ćƒ¼ćƒ‰ćÆę—¢ć«ä½æē”Øć•ć‚Œ @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=JavascriptćŒć“ć®ę©Ÿčƒ½ćŒå‹•ä½œć—ć¦ć„ć‚‹ćŸ ErrorPasswordsMustMatch=äø”ę–¹å…„åŠ›ć—ćŸćƒ‘ć‚¹ćƒÆćƒ¼ćƒ‰ćÆć€äŗ’ć„ć«äø€č‡“ć—ć¦ć„ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ ErrorContactEMail=ęŠ€č”“ēš„ćŖć‚Øćƒ©ćƒ¼ćŒē™ŗē”Ÿć—ć¾ć—ćŸć€‚ ć€ę¬”ć®é›»å­ćƒ”ćƒ¼ćƒ«%sに箔理者に連絔してenćÆć‚Øćƒ©ćƒ¼ć‚³ćƒ¼ćƒ‰ćƒ”ćƒƒć‚»ćƒ¼ć‚øć§%sć€ć¾ćŸćÆć“ć®ćƒšćƒ¼ć‚øć®ē”»é¢ć‚³ćƒ”ćƒ¼ć‚’čæ½åŠ ć™ć‚‹ć“ćØć«ć‚ˆć‚Šć€ć•ć‚‰ć«å„Ŗć‚ŒćŸć‚’ęä¾›ć—ć¦ćć ć•ć„ć€‚ ErrorWrongValueForField=ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ē•Ŗå·%sć®é–“é•ć£ćŸå€¤ļ¼ˆå€¤'%s'ćÆę­£č¦č”Øē¾ć®ćƒ«ćƒ¼ćƒ«%s一臓しません) -ErrorFieldValueNotIn=ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ē•Ŗå·%sć®é–“é•ć£ćŸå€¤ļ¼ˆå€¤'%s'ćÆć€ćƒ†ćƒ¼ćƒ–ćƒ«ć®%sć®ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰%sć«ä½æē”ØåÆčƒ½ćŖå€¤ć§ćÆć‚ć‚Šć¾ć›ć‚“ļ¼‰ +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=ćƒ•ć‚£ćƒ¼ćƒ«ćƒ‰ē•Ŗå·%sć®ćŸć‚ć«é–“é•ć£ćŸå€¤ļ¼ˆå€¤"%s"は%sę—¢å­˜ć®REFć§ćÆć‚ć‚Šć¾ć›ć‚“ļ¼‰ ErrorsOnXLines=%sć‚½ćƒ¼ć‚¹č”Œć®ć‚Øćƒ©ćƒ¼ ErrorFileIsInfectedWithAVirus=ć‚¦ć‚¤ćƒ«ć‚¹åÆ¾ē­–ćƒ—ćƒ­ć‚°ćƒ©ćƒ ćŒćƒ•ć‚”ć‚¤ćƒ«ć‚’ę¤œčØ¼ć™ć‚‹ć“ćØćŒć§ćć¾ć›ć‚“ć§ć—ćŸļ¼ˆćƒ•ć‚”ć‚¤ćƒ«ćŒć‚¦ć‚¤ćƒ«ć‚¹ć«ę„ŸęŸ“ć•ć‚Œć‚‹ć‹ć‚‚ć—ć‚Œć¾ć›ć‚“ļ¼‰ @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ja_JP/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/ja_JP/install.lang b/htdocs/langs/ja_JP/install.lang index 2038751025f..8a75022f2a5 100644 --- a/htdocs/langs/ja_JP/install.lang +++ b/htdocs/langs/ja_JP/install.lang @@ -156,6 +156,7 @@ LastStepDesc=ęœ€å¾Œć®ć‚¹ćƒ†ćƒƒćƒ— ļ¼šć“ć“ć«ć‚ćŖćŸćŒć‚½ ActivateModule=ćƒ¢ć‚øćƒ„ćƒ¼ćƒ«%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 diff --git a/htdocs/langs/ja_JP/main.lang b/htdocs/langs/ja_JP/main.lang index a5ce0161b53..66fd5efdecf 100644 --- a/htdocs/langs/ja_JP/main.lang +++ b/htdocs/langs/ja_JP/main.lang @@ -141,6 +141,7 @@ Cancel=ć‚­ćƒ£ćƒ³ć‚»ćƒ« Modify=修正する Edit=編集 Validate=検証 +ValidateAndApprove=Validate and Approve ToValidate=ę¤œčØ¼ć™ć‚‹ć«ćÆ Save=äæå­˜ SaveAs=åå‰ć‚’ä»˜ć‘ć¦äæå­˜ @@ -158,6 +159,7 @@ Search=検瓢 SearchOf=検瓢 Valid=ęœ‰åŠ¹ćŖ Approve=ę‰æčŖć™ć‚‹ +Disapprove=Disapprove ReOpen=å†ć‚Ŗćƒ¼ćƒ—ćƒ³ Upload=ćƒ•ć‚”ć‚¤ćƒ«ć‚’é€äæ”ć™ć‚‹ ToLink=Link @@ -219,6 +221,7 @@ Cards=ć‚«ćƒ¼ćƒ‰ Card=ć‚«ćƒ¼ćƒ‰ Now=ē¾åœØ Date=ę—„ä»˜ +DateAndHour=Date and hour DateStart=é–‹å§‹ę—„ DateEnd=ę—„ä»˜ć®ęœ«å°¾ DateCreation=ä½œęˆę—„ @@ -295,6 +298,7 @@ UnitPriceHT=å˜ä¾”ļ¼ˆē“”é”ļ¼‰ UnitPriceTTC=単侔 PriceU=UP PriceUHT=UPļ¼ˆē“”é”ļ¼‰ +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=量 AmountInvoice=č«‹ę±‚é” @@ -521,6 +525,7 @@ DateFromTo=%s恋悉%sへ DateFrom=%s恋悉 DateUntil=%sまで Check=ćƒć‚§ćƒƒć‚Æ +Uncheck=Uncheck Internal=å†…éƒØ External=å¤–éƒØ Internals=å†…éƒØ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ęœˆę›œę—„ Tuesday=ē«ę›œę—„ diff --git a/htdocs/langs/ja_JP/orders.lang b/htdocs/langs/ja_JP/orders.lang index 786cc3c40cf..f0267668aed 100644 --- a/htdocs/langs/ja_JP/orders.lang +++ b/htdocs/langs/ja_JP/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ć‚­ćƒ£ćƒ³ć‚»ćƒ« StatusOrderDraft=ćƒ‰ćƒ©ćƒ•ćƒˆļ¼ˆę¤œčØ¼ć™ć‚‹åæ…č¦ćŒć‚ć‚Šć¾ć™ļ¼‰ StatusOrderValidated=検証 StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=処理 StatusOrderToBill=請걂恙悋 StatusOrderToBill2=請걂恙悋 @@ -58,6 +59,7 @@ MenuOrdersToBill=ę³•ę”ˆć«ę³Øę–‡ MenuOrdersToBill2=Billable orders SearchOrder=ę¤œē“¢é †åŗ SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=čˆ¹ē© Discount=割引 CreateOrder=é †åŗć‚’ä½œęˆć—ć¾ć™ć€‚ diff --git a/htdocs/langs/ja_JP/other.lang b/htdocs/langs/ja_JP/other.lang index 9461761ac71..fe4bdc9e962 100644 --- a/htdocs/langs/ja_JP/other.lang +++ b/htdocs/langs/ja_JP/other.lang @@ -54,12 +54,13 @@ MaxSize=ęœ€å¤§ć‚µć‚¤ć‚ŗ AttachANewFile=ę–°ć—ć„ćƒ•ć‚”ć‚¤ćƒ«/ę–‡ę›øć‚’ę·»ä»˜ć™ć‚‹ LinkedObject=ćƒŖćƒ³ć‚Æć•ć‚ŒćŸć‚Ŗćƒ–ć‚øć‚§ć‚Æćƒˆ Miscellaneous=ćć®ä»– -NbOfActiveNotifications=é€šēŸ„ć®ę•° +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=ć“ć‚ŒćÆćƒ†ć‚¹ćƒˆćƒ”ćƒ¼ćƒ«ć§ć™ć€‚\\ n恓恮2č”ŒćÆć€ć‚­ćƒ£ćƒŖćƒƒć‚øćƒŖć‚æćƒ¼ćƒ³ć§åŒŗåˆ‡ć‚‰ć‚Œć¦ć„ć¾ć™ć€‚ PredefinedMailTestHtml=ć“ć‚ŒćÆćƒ†ć‚¹ćƒˆćƒ”ćƒ¼ćƒ«ļ¼ˆćƒÆćƒ¼ćƒ‰ćƒ†ć‚¹ćƒˆć§ćÆć€å¤Ŗå­—ć§ćŖć‘ć‚Œć°ćŖć‚Šć¾ć›ć‚“ļ¼‰ć§ć™ć€‚
    恮2č”ŒćÆć€ć‚­ćƒ£ćƒŖćƒƒć‚øćƒŖć‚æćƒ¼ćƒ³ć§åŒŗåˆ‡ć‚‰ć‚Œć¦ć„ć¾ć™ć€‚ 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__ diff --git a/htdocs/langs/ja_JP/printing.lang b/htdocs/langs/ja_JP/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ja_JP/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/ja_JP/productbatch.lang +++ b/htdocs/langs/ja_JP/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ja_JP/products.lang b/htdocs/langs/ja_JP/products.lang index 84f960b8c86..cadaad87d96 100644 --- a/htdocs/langs/ja_JP/products.lang +++ b/htdocs/langs/ja_JP/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ja_JP/projects.lang b/htdocs/langs/ja_JP/projects.lang index 42c4317dc59..92c233d9feb 100644 --- a/htdocs/langs/ja_JP/projects.lang +++ b/htdocs/langs/ja_JP/projects.lang @@ -8,8 +8,10 @@ SharedProject=ēš† PrivateProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®é€£ēµ”å…ˆ MyProjectsDesc=ć“ć®ćƒ“ćƒ„ćƒ¼ćÆć€ļ¼ˆåž‹ćŒä½•ć§ć‚ć‚Œļ¼‰ć®é€£ēµ”å…ˆć§ć‚ć‚‹ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é™å®šć•ć‚Œć¦ć„ć¾ć™ć€‚ 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). TasksPublicDesc=ć“ć®ćƒ“ćƒ„ćƒ¼ć«ćÆć€čŖ­ćæå–ć‚Šć‚’čØ±åÆć•ć‚Œć¦ć„ć‚‹ć™ć¹ć¦ć®ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć‚„ć‚æć‚¹ć‚Æć‚’ē¤ŗć—ć¾ć™ć€‚ TasksDesc=ć“ć®ćƒ“ćƒ„ćƒ¼ćÆć€ć™ć¹ć¦ć®ćƒ—ćƒ­ć‚øć‚§ć‚ÆćƒˆćØć‚æć‚¹ć‚Æļ¼ˆć‚ćŖćŸć®ćƒ¦ćƒ¼ć‚¶ćƒ¼ęØ©é™ćÆć‚ćŖćŸć«å…Øć¦ć‚’č”Øē¤ŗć™ć‚‹ęØ©é™ć‚’ä»˜äøŽļ¼‰ć‚’ęē¤ŗć—ć¾ć™ć€‚ ProjectsArea=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć‚ØćƒŖć‚¢ @@ -29,6 +31,8 @@ NoProject=ćÆćƒ—ćƒ­ć‚øć‚§ć‚ÆćƒˆćŒå®šē¾©ć•ć‚Œć¦ć„ć¾ć›ć‚“ć¾ćŸćÆę‰€ęœ‰ć— NbOpenTasks=é–‹ć‹ć‚ŒćŸć‚æć‚¹ć‚Æć®Nb NbOfProjects=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®Nb TimeSpent=ć«č²»ć‚„ā€‹ā€‹ć•ć‚ŒćŸę™‚é–“ćÆ +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=ć«č²»ć‚„ā€‹ā€‹ć•ć‚ŒćŸę™‚é–“ćÆ RefTask=REF。タスク LabelTask=ćƒ©ćƒ™ćƒ«ć‚æć‚¹ć‚Æ @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ ListSupplierInvoicesAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ć„ć‚‹ä»•å…„å…ˆć®č«‹ę±‚ę›øć®äø€č¦§ ListContractAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ć„ć‚‹å„‘ē“„ć®ćƒŖć‚¹ćƒˆ ListFichinterAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ć„ć‚‹ä»‹å…„ć®ćƒŖć‚¹ćƒˆ -ListTripAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ć„ć‚‹ę—…č”ŒćŠć‚ˆć³č²»ē”Øć®ćƒŖć‚¹ćƒˆ +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć«é–¢é€£ä»˜ć‘ć‚‰ć‚Œć¦ć„ć‚‹ć‚¤ćƒ™ćƒ³ćƒˆć®ćƒŖć‚¹ćƒˆ ActivityOnProjectThisWeek=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆä»Šé€±ć®ć‚¢ć‚Æćƒ†ć‚£ćƒ“ćƒ†ć‚£ ActivityOnProjectThisMonth=ćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ę“»å‹•ä»Šęœˆ @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=å®Œå…ØćŖćƒ—ćƒ­ć‚øć‚§ć‚Æćƒˆć®ćƒ¬ćƒćƒ¼ćƒˆćƒ¢ćƒ‡ćƒ«ļ¼ˆlogo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/ja_JP/salaries.lang b/htdocs/langs/ja_JP/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/ja_JP/salaries.lang +++ b/htdocs/langs/ja_JP/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/ja_JP/sendings.lang b/htdocs/langs/ja_JP/sendings.lang index d73b5069169..43ca3aaec39 100644 --- a/htdocs/langs/ja_JP/sendings.lang +++ b/htdocs/langs/ja_JP/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=ę•°é‡ćÆć€ę³Øę–‡ć•ć‚ŒćŸ QtyShipped=å€‹ę•°å‡ŗč· QtyToShip=å‡ŗč·ć™ć‚‹ę•°é‡ QtyReceived=å€‹ę•°ćÆć€å—äæ”ć—ćŸ -KeepToShip=å‡ŗč·ć§ćć‚‹ć‚ˆć†ć«ć—ć¦ćŠć +KeepToShip=Remain to ship OtherSendingsForSameOrder=ć“ć®ćŸć‚ć€ä»–ć®å‡ŗč· DateSending=ć‚Ŗćƒ¼ćƒ€ćƒ¼ć‚’é€äæ”ć—ćŸę—„ä»˜ DateSendingShort=ć‚Ŗćƒ¼ćƒ€ćƒ¼ć‚’é€äæ”ć—ćŸę—„ä»˜ diff --git a/htdocs/langs/ja_JP/stocks.lang b/htdocs/langs/ja_JP/stocks.lang index 3ae54c5c68b..45f66be1a15 100644 --- a/htdocs/langs/ja_JP/stocks.lang +++ b/htdocs/langs/ja_JP/stocks.lang @@ -47,6 +47,7 @@ PMPValue=åŠ é‡å¹³å‡ä¾”ę ¼ PMPValueShort=WAP EnhancedValueOfWarehouses=倉庫の値 UserWarehouseAutoCreate=ćƒ¦ćƒ¼ć‚¶ćƒ¼ć®ä½œęˆę™‚ć«č‡Ŗå‹•ēš„ć«å€‰åŗ«ć‚’ä½œęˆć—ć¾ć™ć€‚ +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=ę•°é‡ę“¾é£ QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ja_JP/suppliers.lang b/htdocs/langs/ja_JP/suppliers.lang index 7795c0f6ee7..0596adaa02c 100644 --- a/htdocs/langs/ja_JP/suppliers.lang +++ b/htdocs/langs/ja_JP/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ -Supplier=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ AddSupplier=Create a supplier SupplierRemoved=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ćÆć€å‰Šé™¤ SuppliersInvoice=ä»•å…„å…ˆć®č«‹ę±‚ę›ø @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=ć‚µćƒ—ćƒ©ć‚¤ćƒ¤ćƒ¼ć®č«‹ę±‚ę›øćØę”Æę‰•ć„ ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=ć“ć®ę³Øę–‡ć‚’ę‰æčŖ ConfirmApproveThisOrder=ć‚ćŖćŸćÆć€ę³Øę–‡%sć‚’ę‰æčŖć—ć¦ć‚‚ć‚ˆć‚ć—ć„ć§ć™ć‹ļ¼Ÿ -DenyingThisOrder=ć“ć®é †åŗć‚’å¦å®š +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=ć‚ćŖćŸćÆć€ć“ć®é †åŗ%sć‚’ę‹’å¦ć—ć¦ć‚‚ć‚ˆć‚ć—ć„ć§ć™ć‹ļ¼Ÿ ConfirmCancelThisOrder=ć‚ćŖćŸćÆć€ć“ć®é †åŗ%sć‚’ć‚­ćƒ£ćƒ³ć‚»ćƒ«ć—ć¦ć‚‚ć‚ˆć‚ć—ć„ć§ć™ć‹ļ¼Ÿ AddCustomerOrder=é”§å®¢ć®ę³Øę–‡ć‚’ä½œęˆć—ć¾ć™ć€‚ diff --git a/htdocs/langs/ja_JP/trips.lang b/htdocs/langs/ja_JP/trips.lang index e4999a7b1ec..273382c38a9 100644 --- a/htdocs/langs/ja_JP/trips.lang +++ b/htdocs/langs/ja_JP/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=ę—…č”Œ -Trips=ćƒ„ć‚¢ćƒ¼ -TripsAndExpenses=ę—…č”Œć‚„ēµŒč²» -TripsAndExpensesStatistics=ę—…č”Œć‚„ēµŒč²»ć®ēµ±čØˆęƒ…å ± -TripCard=ę—…č”Œć‚«ćƒ¼ćƒ‰ -AddTrip=ę—…č”Œć‚’čæ½åŠ ć—ć¾ć™ć€‚ -ListOfTrips=ćƒ„ć‚¢ćƒ¼ć®ćƒŖć‚¹ćƒˆ +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=ę‰‹ę•°ę–™ć®ćƒŖć‚¹ćƒˆ -NewTrip=ę–°ć—ć„ę—…č”Œ +NewTrip=New expense report CompanyVisited=ä¼šē¤¾ę¦‚č¦/åŸŗē¤Žć‚’čØŖå• Kilometers=悭惭 FeesKilometersOrAmout=é‡ć¾ćŸćÆć‚­ćƒ­ -DeleteTrip=ę—…ć‚’å‰Šé™¤ć—ć¾ć™ć€‚ -ConfirmDeleteTrip=ć“ć®ę—…ć‚’å‰Šé™¤ć—ć¦ć‚‚ć‚ˆć‚ć—ć„ć§ć™ć‹ļ¼Ÿ -TF_OTHER=ćć®ä»– -TF_LUNCH=ランチ -TF_TRIP=ę—…č”Œ -ListTripsAndExpenses=ę—…č”Œć‚„č²»ē”Øć®ćƒŖć‚¹ćƒˆ -ExpensesArea=ę—…č”Œć‚„ēµŒč²»ć‚ØćƒŖć‚¢ -SearchATripAndExpense=ę—…č”ŒćØč²»ē”Øć‚’ę¤œē“¢ +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=ćć®ä»– +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ka_GE/admin.lang b/htdocs/langs/ka_GE/admin.lang index 38634cbd497..9782c2ea27f 100644 --- a/htdocs/langs/ka_GE/admin.lang +++ b/htdocs/langs/ka_GE/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/ka_GE/banks.lang b/htdocs/langs/ka_GE/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/ka_GE/banks.lang +++ b/htdocs/langs/ka_GE/banks.lang @@ -33,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 @@ -148,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/ka_GE/bills.lang b/htdocs/langs/ka_GE/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/ka_GE/bills.lang +++ b/htdocs/langs/ka_GE/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/ka_GE/commercial.lang b/htdocs/langs/ka_GE/commercial.lang index 390a7f837e8..7acdc7bd7e6 100644 --- a/htdocs/langs/ka_GE/commercial.lang +++ b/htdocs/langs/ka_GE/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/ka_GE/contracts.lang b/htdocs/langs/ka_GE/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/ka_GE/contracts.lang +++ b/htdocs/langs/ka_GE/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/ka_GE/cron.lang b/htdocs/langs/ka_GE/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/ka_GE/cron.lang +++ b/htdocs/langs/ka_GE/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ka_GE/errors.lang b/htdocs/langs/ka_GE/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/ka_GE/errors.lang +++ b/htdocs/langs/ka_GE/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ka_GE/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/ka_GE/install.lang b/htdocs/langs/ka_GE/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/ka_GE/install.lang +++ b/htdocs/langs/ka_GE/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/ka_GE/main.lang b/htdocs/langs/ka_GE/main.lang index 8996c1f6d83..d40e28cb776 100644 --- a/htdocs/langs/ka_GE/main.lang +++ b/htdocs/langs/ka_GE/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/ka_GE/orders.lang b/htdocs/langs/ka_GE/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/ka_GE/orders.lang +++ b/htdocs/langs/ka_GE/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/ka_GE/other.lang b/htdocs/langs/ka_GE/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/ka_GE/other.lang +++ b/htdocs/langs/ka_GE/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/ka_GE/printing.lang b/htdocs/langs/ka_GE/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ka_GE/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/ka_GE/productbatch.lang +++ b/htdocs/langs/ka_GE/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ka_GE/products.lang b/htdocs/langs/ka_GE/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/ka_GE/products.lang +++ b/htdocs/langs/ka_GE/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ka_GE/projects.lang b/htdocs/langs/ka_GE/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/ka_GE/projects.lang +++ b/htdocs/langs/ka_GE/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/ka_GE/salaries.lang b/htdocs/langs/ka_GE/salaries.lang index 0087cbe83e6..28c21adfad3 100644 --- a/htdocs/langs/ka_GE/salaries.lang +++ b/htdocs/langs/ka_GE/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Salaries payments ShowSalaryPayment=Show salary payment THM=Average hourly price TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/ka_GE/sendings.lang b/htdocs/langs/ka_GE/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/ka_GE/sendings.lang +++ b/htdocs/langs/ka_GE/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/ka_GE/stocks.lang b/htdocs/langs/ka_GE/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/ka_GE/stocks.lang +++ b/htdocs/langs/ka_GE/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ka_GE/suppliers.lang b/htdocs/langs/ka_GE/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/ka_GE/suppliers.lang +++ b/htdocs/langs/ka_GE/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 diff --git a/htdocs/langs/ka_GE/trips.lang b/htdocs/langs/ka_GE/trips.lang index ab29ec23b5f..ba36fc9b07b 100644 --- a/htdocs/langs/ka_GE/trips.lang +++ b/htdocs/langs/ka_GE/trips.lang @@ -1,22 +1,126 @@ # 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/kn_IN/accountancy.lang b/htdocs/langs/kn_IN/accountancy.lang new file mode 100644 index 00000000000..bb9b358c045 --- /dev/null +++ b/htdocs/langs/kn_IN/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +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_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous 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/kn_IN/admin.lang b/htdocs/langs/kn_IN/admin.lang new file mode 100644 index 00000000000..9782c2ea27f --- /dev/null +++ b/htdocs/langs/kn_IN/admin.lang @@ -0,0 +1,1603 @@ +# 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 +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: +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 +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: +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 +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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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. + +# 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 (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 +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=Categories +Module1780Desc=Category management (products, suppliers and customers) +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 task 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) +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 batch +Module39000Desc=Batch 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 +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 +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 +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 +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 task +Permission23002 = Create/update Scheduled task +Permission23003 = Delete Scheduled task +Permission23004 = Execute Scheduled task +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 +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 +CalcLocaltax1ES=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2ES=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3ES=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 +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 +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= 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 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. +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. +##### 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 third party at time.
    * or by setting a global target email address on 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 +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) +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 +##### 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 +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 batch 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 +##### 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 +##### 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=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. diff --git a/htdocs/langs/kn_IN/agenda.lang b/htdocs/langs/kn_IN/agenda.lang new file mode 100644 index 00000000000..04e2ae30de8 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/banks.lang b/htdocs/langs/kn_IN/banks.lang new file mode 100644 index 00000000000..a2306950fb4 --- /dev/null +++ b/htdocs/langs/kn_IN/banks.lang @@ -0,0 +1,165 @@ +# 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 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 ? diff --git a/htdocs/langs/kn_IN/bills.lang b/htdocs/langs/kn_IN/bills.lang new file mode 100644 index 00000000000..69e1510ca44 --- /dev/null +++ b/htdocs/langs/kn_IN/bills.lang @@ -0,0 +1,431 @@ +# 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 +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist + +# 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 opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/kn_IN/bookmarks.lang b/htdocs/langs/kn_IN/bookmarks.lang new file mode 100644 index 00000000000..7acb946bb62 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/boxes.lang b/htdocs/langs/kn_IN/boxes.lang new file mode 100644 index 00000000000..bf118b9b88e --- /dev/null +++ b/htdocs/langs/kn_IN/boxes.lang @@ -0,0 +1,96 @@ +# 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 diff --git a/htdocs/langs/kn_IN/cashdesk.lang b/htdocs/langs/kn_IN/cashdesk.lang new file mode 100644 index 00000000000..d3dcfb68e64 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/categories.lang b/htdocs/langs/kn_IN/categories.lang new file mode 100644 index 00000000000..22914931db1 --- /dev/null +++ b/htdocs/langs/kn_IN/categories.lang @@ -0,0 +1,112 @@ +# Dolibarr language file - Source file is en_US - categories +Category=Category +Categories=Categories +Rubrique=Category +Rubriques=Categories +categories=categories +TheCategorie=The category +NoCategoryYet=No category of this type created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Categories area +ProductsCategoriesArea=Products/Services categories area +SuppliersCategoriesArea=Suppliers categories area +CustomersCategoriesArea=Customers categories area +ThirdPartyCategoriesArea=Third parties categories area +MembersCategoriesArea=Members categories area +ContactsCategoriesArea=Contacts categories area +MainCats=Main categories +SubCats=Subcategories +CatStatistics=Statistics +CatList=List of categories +AllCats=All categories +ViewCat=View category +NewCat=Add category +NewCategory=New category +ModifCat=Modify category +CatCreated=Category created +CreateCat=Create category +CreateThisCat=Create this category +ValidateFields=Validate the fields +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found categories +FoundCatsForName=Categories found for the name : +FoundSubCatsIn=Subcategories found in the category +ErrSameCatSelected=You selected the same category several times +ErrForgotCat=You forgot to choose the category +ErrForgotField=You forgot to inform the fields +ErrCatAlreadyExists=This name is already used +AddProductToCat=Add this product to a category? +ImpossibleAddCat=Impossible to add the category +ImpossibleAssociateCategory=Impossible to associate the category to +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this category. +CategorySuccessfullyCreated=This category %s has been added with success. +ProductIsInCategories=Product/service owns to following categories +SupplierIsInCategories=Third party owns to following suppliers categories +CompanyIsInCustomersCategories=This third party owns to following customers/prospects categories +CompanyIsInSuppliersCategories=This third party owns to following suppliers categories +MemberIsInCategories=This member owns to following members categories +ContactIsInCategories=This contact owns to following contacts categories +ProductHasNoCategory=This product/service is not in any categories +SupplierHasNoCategory=This supplier is not in any categories +CompanyHasNoCategory=This company is not in any categories +MemberHasNoCategory=This member is not in any categories +ContactHasNoCategory=This contact is not in any categories +ClassifyInCategory=Classify in category +NoneCategory=None +NotCategorized=Without 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=Categories tree +DeleteCategory=Delete category +ConfirmDeleteCategory=Are you sure you want to delete this category ? +RemoveFromCategory=Remove link with categorie +RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the category ? +NoCategoriesDefined=No category defined +SuppliersCategoryShort=Suppliers category +CustomersCategoryShort=Customers category +ProductsCategoryShort=Products category +MembersCategoryShort=Members category +SuppliersCategoriesShort=Suppliers categories +CustomersCategoriesShort=Customers categories +CustomersProspectsCategoriesShort=Custo./Prosp. categories +ProductsCategoriesShort=Products categories +MembersCategoriesShort=Members categories +ContactCategoriesShort=Contacts 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=Category contents +CategId=Category id +CatSupList=List of supplier categories +CatCusList=List of customer/prospect categories +CatProdList=List of products categories +CatMemberList=List of members categories +CatContactList=List of contact categories and contact +CatSupLinks=Links between suppliers and categories +CatCusLinks=Links between customers/prospects and categories +CatProdLinks=Links between products/services and categories +CatMemberLinks=Links between members and categories +DeleteFromCat=Remove from category +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Categories setup +CategorieRecursiv=Link with parent 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 category diff --git a/htdocs/langs/kn_IN/commercial.lang b/htdocs/langs/kn_IN/commercial.lang new file mode 100644 index 00000000000..7acdc7bd7e6 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/companies.lang b/htdocs/langs/kn_IN/companies.lang new file mode 100644 index 00000000000..0195d7566b0 --- /dev/null +++ b/htdocs/langs/kn_IN/companies.lang @@ -0,0 +1,414 @@ +# Dolibarr language file - Source file is en_US - companies +ErrorCompanyNameAlreadyExists=ą²øą²‚ą²øą³ą²„ą³† ಹೆಸರು %s ą²ˆą²—ą²¾ą²—ą²²ą³†ą³• ą²…ą²øą³ą²¤ą²æą²¤ą³ą²µą²¦ą²²ą³ą²²ą²æą²¦ą³†. ą²®ą²¤ą³ą²¤ą³†ą³‚ą²‚ą²¦ą²Øą³ą²Øą³ ą²†ą²Æą³ą²¦ą³ą²•ą³Šą²³ą³ą²³ą²æą²°ą²æ. +ErrorPrefixAlreadyExists=ą²Ŗą³‚ą²°ą³ą²µą²Ŗą³ą²°ą²¤ą³ą²Æą²Æ %s ą²ˆą²—ą²¾ą²—ą²²ą³†ą³• ą²…ą²øą³ą²¤ą²æą²¤ą³ą²µą²¦ą²²ą³ą²²ą²æą²¦ą³†. ą²®ą²¤ą³ą²¤ą³†ą³‚ą²‚ą²¦ą²Øą³ą²Øą³ ą²†ą²Æą³ą²¦ą³ą²•ą³Šą²³ą³ą²³ą²æą²°ą²æ. +ErrorSetACountryFirst=ಮೊದಲು ą²¦ą³†ą³•ą²¶ą²µą²Øą³ą²Øą³ ಹೊಂದಿಸಿ. +SelectThirdParty=ಮೂರನೇ ą²µą³ą²Æą²•ą³ą²¤ą²æą²Æą²Øą³ą²Øą³ ą²†ą²Æą³ą²•ą³† ಮಾಔಿರಿ. +DeleteThirdParty=ಮೂರನೇ ą²µą³ą²Æą²•ą³ą²¤ą²æą²Æą²Øą³ą²Øą³ ಅಳಿಸಿ. +ConfirmDeleteCompany=ನೀವು ಈ ಕಂಪನಿ ą²®ą²¤ą³ą²¤ą³ ą²Žą²²ą³ą²²ą²¾ ಆನುವಂಶಿಕವಾಗಿ ą²®ą²¾ą²¹ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ ಅಳಿಸಲು ą²¬ą²Æą²øą³ą²¤ą³ą²¤ą²æą³•ą²°ą³‡? +DeleteContact=ą²øą²‚ą²Ŗą²°ą³ą²• / ą²µą²æą²³ą²¾ą²øą²µą³Šą²‚ą²¦ą²Øą³ą²Øą³ ಅಳಿಸಿ. +ConfirmDeleteContact=ನೀವು ಈ ą²øą²‚ą²Ŗą²°ą³ą²•ą²µą²Øą³ą²Øą³ ą²®ą²¤ą³ą²¤ą³ ą²Žą²²ą³ą²²ą²¾ ಆನುವಂಶಿಕವಾಗಿ ą²®ą²¾ą²¹ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ ಅಳಿಸಲು ą²¬ą²Æą²øą³ą²¤ą³ą²¤ą²æą³•ą²°ą³†? +MenuNewThirdParty=ಹೊಸ ą²¤ą³ƒą²¤ą²æą³•ą²Æ ą²Ŗą²•ą³ą²· +MenuNewCompany=ಹೊಸ ಕಂಪನಿ +MenuNewCustomer=ಹೊಸ ą²—ą³ą²°ą²¾ą²¹ą²• +MenuNewProspect=ಹೊಸ ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²°ą³ +MenuNewSupplier=ಹೊಸ ಪೂರೈಕೆದಾರ +MenuNewPrivateIndividual=ಹೊಸ ಖಾಸಗಿ ą²µą³ą²Æą²•ą³ą²¤ą²æ +MenuSocGroup=ಗುಂಪುಗಳು +NewCompany=ಹೊಸ ಕಂಪನಿ (ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤, ą²—ą³ą²°ą²¾ą²¹ą²•, ಪೂರೈಕೆದಾರ) +NewThirdParty=ಹೊಸ ą²¤ą³ƒą²¤ą²æą³•ą²Æ (ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤, ą²—ą³ą²°ą²¾ą²¹ą²•, ಪೂರೈಕೆದಾರ) +NewSocGroup=ಹೊಸ ಕಂಪನಿ ಗುಂಪು +NewPrivateIndividual=ಹೊಸ ಖಾಸಗಿ ą²µą³ą²Æą²•ą³ą²¤ą²æ (ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤, ą²—ą³ą²°ą²¾ą²¹ą²•, ಪೂರೈಕೆದಾರ) +CreateDolibarrThirdPartySupplier=Create a third party (supplier) +ProspectionArea=Prospection ą²Ŗą³ą²°ą²¦ą³†ą³•ą²¶ +SocGroup=ಕಂಪನಿಗಳ ಸಮೂಹ +IdThirdParty=ą²¤ą³ƒą²¤ą²æą³•ą²Æ ą²Ŗą²•ą³ą²·ą²¦ ಗುರುತು +IdCompany=ą²øą²‚ą²øą³ą²„ą³†ą²Æ ಗುರುತು +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=ಉಪನಾಮ / ą²—ą³ą²Ŗą³ą²¤ą²Øą²¾ą²® +Address=ವಿಳಾಸ +State=ą²°ą²¾ą²œą³ą²Æ / ą²Ŗą³ą²°ą²¾ą²‚ą²¤ą³ą²Æ +Region=ą²Ŗą³ą²°ą²¦ą³†ą³•ą²¶ +Country=ದೇಶ +CountryCode=ದೇಶ ą²•ą³†ą³‚ą³•ą²”ą³ +CountryId=ದೇಶ ಐಔಿ +Phone=ದೂರವಾಣಿ +Skype=ą²øą³ą²•ą³†ą³–ą²Ŗą³ +Call=ಕರೆ +Chat=ą²šą²¾ą²Ÿą³ +PhonePro=ą²µą³ƒą²¤ą³ą²¤ą²æą²Ŗą²° ದೂರವಾಣಿ +PhonePerso=ą²µą³ˆą²Æą²æą²•ą³ą²¤ą²æą²• ದೂರವಾಣಿ +PhoneMobile=ą²®ą³Šą²¬ą³ˆą²²ą³ ą²øą²‚ą²–ą³ą²Æą³† +No_Email=ಸಾಮೂಹಿಕ ಇ ರವಾನೆ ಕಳುಹಿಸಬೇಔಿ +Fax=ą²«ą³ą²Æą²¾ą²•ą³ą²øą³ +Zip=ą²Ŗą²æą²Øą³ ą²•ą³‹ą²”ą³ +Town=ನಗರ +Web=ą²µą³†ą²¬ą³ +Poste= ą²øą³ą²„ą²¾ą²Ø +DefaultLang=ą²Ŗą³‚ą²°ą³ą²µą²Øą²æą²Æą³†ą³‚ą³•ą²œą²æą²¤ą²µą²¾ą²¦ ಭಾಷೆ +VATIsUsed=ą²µą³ą²Æą²¾ą²Ÿą³ ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²¤ą³ą²¤ą²¦ą³† +VATIsNotUsed=ą²µą³ą²Æą²¾ą²Ÿą³ ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²µą³ą²¦ą²æą²²ą³ą²² +CopyAddressFromSoc=ಮೂರನೇ ą²Ŗą²¾ą²°ą³ą²Ÿą²æ ą²µą²æą²²ą²¾ą²øą²¦ą³Šą²‚ą²¦ą²æą²—ą³† ą²µą²æą²³ą²¾ą²øą²µą²Øą³ą²Øą³ ತುಂಬಿರಿ +NoEmailDefined=ಇ-ą²®ą³‡ą²²ą³ ą²Øą²®ą³‚ą²¦ą²æą²øą²æą²²ą³ą²² +##### Local Taxes ##### +LocalTax1IsUsedES= RE ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²¤ą³ą²¤ą²¦ą³† +LocalTax1IsNotUsedES= RE ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²µą³ą²¦ą²æą²²ą³ą²² +LocalTax2IsUsedES= IRPF ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²¤ą³ą²¤ą²¦ą³† +LocalTax2IsNotUsedES= IRPF ą²¬ą²³ą²øą²²ą²¾ą²—ą³ą²µą³ą²¦ą²æą²²ą³ą²² +LocalTax1ES=RE +LocalTax2ES=IRPF +TypeLocaltax1ES=RE Type +TypeLocaltax2ES=IRPF Type +TypeES=Type +ThirdPartyEMail=%s +WrongCustomerCode=ą²—ą³ą²°ą²¾ą²¹ą²• ą²•ą³†ą³‚ą³•ą²”ą³ ą²øą²°ą²æą²Æą²¾ą²—ą²æą²¦ą³ą²¦ą²‚ą²¤ą²æą²²ą³ą²² +WrongSupplierCode=ಸರಬರಾಜುದಾರ ą²•ą³†ą³‚ą³•ą²”ą³ ą²øą²°ą²æą²Æą²¾ą²—ą²æą²¦ą³ą²¦ą²‚ą²¤ą²æą²²ą³ą²² +CustomerCodeModel=ą²—ą³ą²°ą²¾ą²¹ą²• ą²•ą³†ą³‚ą³•ą²”ą³ ಮಾದರಿ +SupplierCodeModel=ಸರಬರಾಜುದಾರ ą²•ą³†ą³‚ą³•ą²”ą³ ಮಾದರಿ +Gencod=ą²¬ą²¾ą²°ą³ ą²•ą³†ą³‚ą³•ą²”ą³ +##### Professional ID ##### +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 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=ನೋಂದಣಿ ą²øą²‚ą²–ą³ą²Æą³† +ProfId2GB=- +ProfId3GB=SIC +ProfId4GB=- +ProfId5GB=- +ProfId6GB=- +ProfId1HN=Id prof. 1 (RTN) +ProfId2HN=- +ProfId3HN=- +ProfId4HN=- +ProfId5HN=- +ProfId6HN=- +ProfId1IN=ą²µą³ƒą²¤ą³ą²¤ą²æą²Ŗą²° ಗುರುತಿನ ಸಂ 1 (TIN) +ProfId2IN=ą²µą³ƒą²¤ą³ą²¤ą²æą²Ŗą²° ಗುರುತಿನ ಸಂ 2 (PAN) +ProfId3IN=ą²µą³ƒą²¤ą³ą²¤ą²æą²Ŗą²° ಗುರುತಿನ ą²øą²‚ą²–ą³ą²Æą³† 3 (STN) +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) ą²øą²‚ą²–ą³ą²Æą³† +VATIntraShort=ą²®ą³Œą²²ą³ą²Æ ą²µą²°ą³ą²§ą²æą²¤ ತೆರಿಗೆ (VAT) ą²øą²‚ą²–ą³ą²Æą³† +VATIntraVeryShort=ą²®ą³Œą²²ą³ą²Æ ą²µą²°ą³ą²§ą²æą²¤ ತೆರಿಗೆ +VATIntraSyntaxIsValid=ą²øą²æą²‚ą²Ÿą³ą²Æą²¾ą²•ą³ą²øą³ ą²øą²°ą²æą²Æą²æą²¦ą³ą²¦ą²‚ą²¤ą²æą²¦ą³† +VATIntraValueIsValid=ą²®ą³Œą²²ą³ą²Æ ą²øą²°ą²æą²Æą²æą²¦ą³ą²¦ą²‚ą²¤ą²æą²¦ą³† +ProspectCustomer=ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ / ą²—ą³ą²°ą²¾ą²¹ą²• +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=Create contact +AddContactAddress=Create contact/address +EditContact=ą²øą²‚ą²Ŗą²°ą³ą²•ą²µą²Øą³ą²Øą³ ą²¤ą²æą²¦ą³ą²¦ą²æ +EditContactAddress=ą²øą²‚ą²Ŗą²°ą³ą²• / ą²µą²æą²³ą²¾ą²øą²µą²Øą³ą²Øą³ ą²¤ą²æą²¦ą³ą²¦ą²æ +Contact=ą²øą²‚ą²Ŗą²°ą³ą²• +ContactsAddresses=ą²øą²‚ą²Ŗą²°ą³ą²•ą²—ą²³ą³ / ವಿಳಾಸಗಳು +NoContactDefinedForThirdParty=ಈ ą²¤ą³ƒą²¤ą²æą³•ą²Æ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²—ą³† ಯಾವುದೇ ą²øą²‚ą²Ŗą²°ą³ą²• ą²µą³ą²Æą²¾ą²–ą³ą²Æą²¾ą²Øą²æą²øą²²ą²¾ą²—ą²æą²²ą³ą²² +NoContactDefined=ಯಾವುದೇ ą²øą²‚ą²Ŗą²°ą³ą²• ą²µą³ą²Æą²¾ą²–ą³ą²Æą²¾ą²Øą²æą²øą²²ą²¾ą²—ą²æą²²ą³ą²² +DefaultContact=ą²”ą²æą³•ą²«ą²¾ą²²ą³ą²Ÿą³ ą²øą²‚ą²Ŗą²°ą³ą²• / ವಿಳಾಸ +AddCompany=Create company +AddThirdParty=Create third party +DeleteACompany=ą²øą²‚ą²øą³ą²„ą³†ą²Æą³Šą²‚ą²¦ą²Øą³ą²Øą³ ತೆಗೆದುಹಾಕಿ +PersonalInformations=ą²µą³†ą³–ą²Æą²•ą³ą²¤ą²æą²• ą²¦ą²¤ą³ą²¤ą²¾ą²‚ą²¶ +AccountancyCode=ą²…ą²•ą³Œą²‚ą²Ÿą³†ą²Øą³ą²øą²æ ą²•ą³†ą³‚ą³•ą²”ą³ +CustomerCode=ą²—ą³ą²°ą²¾ą²¹ą²• ą²•ą³†ą³‚ą³•ą²”ą³ +SupplierCode=ą²Ŗą³‚ą²°ą³ˆą²•ą³†ą²¦ą²¾ą²°ą²° ą²•ą³†ą³‚ą³•ą²”ą³ +CustomerAccount=ą²—ą³ą²°ą²¾ą²¹ą²• ಖಾತೆ +SupplierAccount=ಸರಬರಾಜುದಾರ ಖಾತೆ +CustomerCodeDesc=ą²—ą³ą²°ą²¾ą²¹ą²• ą²•ą³†ą³‚ą³•ą²”ą³, ą²Žą²²ą³ą²²ą²¾ ą²—ą³ą²°ą²¾ą²¹ą²•ą²°ą²æą²—ą³‚ ą²…ą²Øą²Øą³ą²Æ +SupplierCodeDesc=ಸರಬರಾಜುದಾರ ą²•ą³†ą³‚ą³•ą²”ą³, ą²Žą²²ą³ą²²ą²¾ ಪೂರೈಕೆದಾರರಿಗೂ ą²…ą²Øą²Øą³ą²Æ +RequiredIfCustomer=ą²¤ą³ƒą²¤ą²æą³•ą²Æ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²Æą³ ą²—ą³ą²°ą²¾ą²¹ą²• ಅ಄ವಾ ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²°ą²¾ą²—ą²æą²¦ą³ą²¦ ವೇಳೆ ą²…ą²—ą²¤ą³ą²Æ +RequiredIfSupplier=ą²¤ą³ƒą²¤ą²æą³•ą²Æ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²Æą³ ą²øą²°ą²¬ą²°ą²¾ą²œą³ą²¦ą²¾ą²°ą²°ą²¾ą²¦ą²²ą³ą²²ą²æ ą²…ą²—ą²¤ą³ą²Æ +ValidityControledByModule=ವಾಯಿದೆ ą²Øą²æą²Æą²‚ą²¤ą³ą²°ą²æą²¤ ą²˜ą²Ÿą²• +ThisIsModuleRules=ಈ ą²˜ą²Ÿą²•ą²•ą³ą²•ą³† ą²…ą²Øą³ą²µą²Æą²µą²¾ą²—ą³ą²µ ನೇಮಗಳು +LastProspect=ಕೊನೆಯ +ProspectToContact='ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤'ದಿಂದ 'ą²øą²‚ą²Ŗą²°ą³ą²•'ą²•ą³ą²•ą³† +CompanyDeleted="%s" ą²øą²‚ą²øą³ą²„ą³†ą²Æą²Øą³ą²Øą³ ą²”ą³‡ą²Ÿą²¾ą²¬ą³‡ą²øą³-ನಿಂದ ತೆಗೆಯಲಾಗಿದೆ. +ListOfContacts=ą²øą²‚ą²Ŗą²°ą³ą²•ą²—ą²³ / ವಿಳಾಸಗಳ ą²Ŗą²Ÿą³ą²Ÿą²æ +ListOfContactsAddresses=ą²øą²‚ą²Ŗą²°ą³ą²•ą²—ą²³ / ವಿಳಾಸಗಳ ą²Ŗą²Ÿą³ą²Ÿą²æ +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=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=ą²Øą²æą²°ą³†ą²•ą³ą²·ą²æą²¤ą²°ą³‚ ą²…ą²²ą³ą²², ą²—ą³ą²°ą²¾ą²¹ą²•ą²°ą³‚ ą²…ą²²ą³ą²². +JuridicalStatus=ą²Øą³ą²Æą²¾ą²Æą²¾ą²‚ą²— ą²øą³ą²„ą²æą²¤ą²æ +Staff=ą²Øą³Œą²•ą²°ą²°ą³ +ProspectLevelShort=ಸಂಭವನೀಯ +ProspectLevel=ą²øą²‚ą²­ą²¾ą²µą³ą²Æ ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²°ą³ +ContactPrivate=ಖಾಸಗಿ +ContactPublic=ą²¹ą²‚ą²šą²²ą³ą²Ŗą²Ÿą³ą²Ÿ +ContactVisibility=ಕಾಣುವಂತಿರುವಿಕೆ +OthersNotLinkedToThirdParty=ಇತರೆ, ಮೂರನೇ ą²µą³ą²Æą²•ą³ą²¤ą²æą²—ą³† ą²•ą³‚ą²”ą²æą²øą²²ą³ą²Ŗą²”ą²¦ +ProspectStatus=ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²° ą²øą³ą²„ą²æą²¤ą²æ +PL_NONE=ಯಾವುದೂ ą²‡ą²²ą³ą²² +PL_UNKNOWN=ą²¤ą²æą²³ą²æą²¦ą²æą²²ą³ą²² +PL_LOW=ಕಔಿಮೆ +PL_MEDIUM=ą²®ą²§ą³ą²Æą²® +PL_HIGH=ą²¹ą³†ą²šą³ą²šą³ +TE_UNKNOWN=- +TE_STARTUP=ಆರಂಭಿಕ +TE_GROUP=ą²¦ą³†ą³‚ą²”ą³ą²” ą²øą²‚ą²øą³ą²„ą³† +TE_MEDIUM=ಸಾಧಾರಣ ą²øą²‚ą²øą³ą²„ą³† +TE_ADMIN=ą²øą²°ą³ą²•ą²¾ą²°ą³€ +TE_SMALL=ą²øą²£ą³ą²£ ą²øą²‚ą²øą³ą²„ą³† +TE_RETAIL=ą²šą²æą²²ą³ą²²ą²°ą³† ą²µą³ą²Æą²¾ą²Ŗą²¾ą²°ą²æ +TE_WHOLE=Wholeseller +TE_PRIVATE=ಖಾಸಗಿ ą²µą³ą²Æą²•ą³ą²¤ą²æ +TE_OTHER=ಇತರ +StatusProspect-1=ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²¬ą³‡ą²”ą²æ +StatusProspect0=ą²ˆą²µą²°ą³†ą²—ą³† ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²²ą³ą²Ŗą²”ą²¦ +StatusProspect1=ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²¬ą³‡ą²•ą²¾ą²¦ą²¦ą³ą²¦ą³ +StatusProspect2=ą²øą²‚ą²Ŗą²°ą³ą²•ą²¦ ą²Ŗą³ą²°ą²•ą³ą²°ą²æą²Æą³†ą²Æą²²ą³ą²²ą²æ +StatusProspect3=ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²²ą²¾ą²—ą²æą²¦ą³† +ChangeDoNotContact=ą²øą³ą²„ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ 'ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²¬ą³‡ą²”ą²æ' ą²Žą²‚ą²¬ą³ą²¦ą²•ą³ą²•ą³† ಬದಲಿಸಿ +ChangeNeverContacted=ą²øą³ą²„ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ 'ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²æą²²ą³ą²²' ą²Žą²‚ą²¬ą³ą²¦ą²•ą³ą²•ą³† ಬದಲಾಯಿಸಿ +ChangeToContact=ą²øą³ą²„ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ 'ą²øą²‚ą²Ŗą²°ą³ą²•ą²æą²øą²¬ą³‡ą²•ą²¾ą²¦ą²¦ą³ą²¦ą³' ą²Žą²‚ą²¬ą³ą²¦ą²•ą³ą²•ą³† ಬದಲಾಯಿಸಿ +ChangeContactInProcess=ą²øą³ą²„ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ 'ą²øą²‚ą²Ŗą²°ą³ą²•ą²¦ ą²Ŗą³ą²°ą²•ą³ą²°ą²æą²Æą²Æą²²ą³ą²²ą²æ' ą²Žą²‚ą²¬ą³ą²¦ą²•ą³ą²•ą³† ಬದಲಾಯಿಸಿ +ChangeContactDone=ą²øą³ą²„ą²æą²¤ą²æą²Æą²Øą³ą²Øą³ 'ą²øą²‚ą²Ŗą²°ą³ą²•ą³ˆą²øą²²ą²¾ą²—ą²æą²¦ą³†' ą²Žą²‚ą²¬ą³ą²¦ą²•ą³ą²•ą³† ಬದಲಾಯಿಸಿ +ProspectsByStatus=ą²øą³ą²„ą²æą²¤ą²æą²Æą²‚ą²¤ą³† ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²°ą³ +BillingContact=ą²¬ą²æą²²ą³ą²²ą²æą²‚ą²—ą³ ą²øą²‚ą²Ŗą²°ą³ą²• +NbOfAttachedFiles=ą²²ą²—ą²¤ą³ą²¤ą²æą²øą²²ą²¾ą²¦ ಕಔತಗಳ ą²øą²‚ą²–ą³ą²Æą³† +AttachANewFile=ಹೊಸ ಕಔತ ą²²ą²—ą²¤ą³ą²¤ą²æą²øą²æ +NoRIB=BAN ą²µą³ą²Æą²¾ą²–ą³ą²Æą²¾ą²Øą²æą²øą²²ą³ą²Ŗą²Ÿą³ą²Ÿą²æą²²ą³ą²² +NoParentCompany=ಯಾವುದೂ ą²‡ą²²ą³ą²² +ExportImport=ಆಮದು-ą²°ą²«ą³ą²¤ą³ +ExportCardToFormat=ą²•ą²¾ą²°ą³ą²”ą²Øą³ą²Øą³ ą²øą³ą²µą²°ą³‚ą²Ŗą²•ą³ą²•ą³† ą²°ą²«ą³ą²¤ą³ ಮಾಔಿ +ContactNotLinkedToCompany=ą²øą²‚ą²Ŗą²°ą³ą²•ą²µą³ ಯಾವುದೇ ಮೂರನೇ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²—ą³† ą²•ą³‚ą²”ą²æą²øą²²ą³ą²Ŗą²Ÿą³ą²Ÿą²æą²²ą³ą²². +DolibarrLogin=ą²²ą²¾ą²—ą²æą²Øą³ ಆಗಿ +NoDolibarrAccess=ą²Ŗą³ą²°ą²µą³†ą³•ą²¶ą²µą²æą²²ą³ą²² +ExportDataset_company_1=ಮೂರನೇ ą²Ŗą²•ą³ą²·ą²—ą²³ą³ (ą²øą²‚ą²øą³ą²„ą³†ą²—ą²³ą³ / ą²«ą³Œą²‚ą²”ą³‡ą²¶ą²Øą³ / ಜನರು) ą²®ą²¤ą³ą²¤ą³ ವಿವರಗಳು +ExportDataset_company_2=ą²øą²‚ą²Ŗą²°ą³ą²•ą²—ą²³ą³ ą²®ą²¤ą³ą²¤ą³ ವಿವರಗಳು +ImportDataset_company_1=ಮೂರನೇ ą²Ŗą²•ą³ą²·ą²—ą²³ą³ (ą²øą²‚ą²øą³ą²„ą³†ą²—ą²³ą³ / ą²«ą³Œą²‚ą²”ą³‡ą²¶ą²Øą³ / ಜನರು) ą²®ą²¤ą³ą²¤ą³ ವಿವರಗಳು +ImportDataset_company_2=ą²øą²‚ą²Ŗą²°ą³ą²•ą²—ą²³ą³ / ವಿಳಾಸಗಳು (ಮೂರನೇ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²—ą²³ą²¦ą³ą²¦ą²¾ą²—ą²æą²°ą²¬ą²¹ą³ą²¦ą³, ą²†ą²—ą²æą²²ą³ą²²ą²¦ą²æą²°ą²¬ą²¹ą³ą²¦ą³) ą²®ą²¤ą³ą²¤ą³ ą²²ą²•ą³ą²·ą²£ą²—ą²³ą³ +ImportDataset_company_3=ą²¬ą³ą²Æą²¾ą²‚ą²•ą³ ವಿವರಗಳು +PriceLevel=ಬೆಲೆ ą²®ą²Ÿą³ą²Ÿ +DeliveriesAddress=ತಲುಪಿಸುವ ವಿಳಾಸಗಳು +DeliveryAddress=ತಲುಪಿಸುವ ವಿಳಾಸ +DeliveryAddressLabel=ತಲುಪಿಸುವ ವಿಳಾಸದ ą²²ą³†ą³•ą²¬ą²²ą³ +DeleteDeliveryAddress=ತಲುಪಿಸುವ ą²µą²æą²³ą²¾ą²øą²µą²Øą³ą²Øą³ ತೆಗೆಯಿರಿ +ConfirmDeleteDeliveryAddress=ನೀವು ಈ ತಲುಪಿಸುವ ą²µą²æą²³ą²¾ą²øą²µą²Øą³ą²Øą³ ಖಂಔಿತವಾಗಿಯೂ ಅಳಿಸಲು ą²¬ą²Æą²øą³ą²¤ą³ą²¤ą²æą³•ą²°ą³‡? +NewDeliveryAddress=ಹೊಸ ತಲುಪಿಸುವ ವಿಳಾಸ +AddDeliveryAddress=Create address +AddAddress=Create address +NoOtherDeliveryAddress=ಯಾವುದೇ ą²Ŗą²°ą³ą²Æą²¾ą²Æ ತಲುಪಿಸುವ ą²µą²æą²³ą²¾ą²øą²µą²Øą³ą²Øą³ ą²µą³ą²Æą²¾ą²–ą³ą²Æą²¾ą²Øą²æą²øą²²ą²¾ą²—ą²æą²²ą³ą²². +SupplierCategory=ಸರಬರಾಜುದಾರ ą²µą²°ą³ą²— +JuridicalStatus200=ą²øą³ą²µą²¤ą²‚ą²¤ą³ą²° +DeleteFile=ą²«ą³†ą³–ą²²ą³ ತೆಗೆಯಿರಿ +ConfirmDeleteFile=ನೀವು ಈ ą²«ą³†ą³–ą²²ą³ą²…ą²Øą³ą²Øą³ ಖಂಔಿತವಾಗಿಯೂ ą²¶ą²¾ą²¶ą³ą²µą²µą²µą²¾ą²—ą²æ ತೆಗೆದುಹಾಕಲು ą²¬ą²Æą²øą³ą²¤ą³ą²¤ą²æą³•ą²°ą²¾? +AllocateCommercial=ಮಾರಾಟ ą²Ŗą³ą²°ą²¤ą²æą²Øą²æą²§ą²æ ą²Øą²æą²Æą³†ą³‚ą³•ą²œą²æą²øą²²ą²¾ą²—ą²æą²¦ą³† +SelectCountry=ą²°ą²¾ą²·ą³ą²Ÿą³ą²°ą²µą²Øą³ą²Øą³ ą²†ą²Æą³ą²•ą³† ಮಾಔಿ +SelectCompany=ಮೂರನೇ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²Æą²Øą³ą²Øą³ ą²†ą²Æą³ą²•ą³† ಮಾಔಿ +Organization=ą²øą²‚ą²˜ą²Ÿą²Øą³† +AutomaticallyGenerated=ą²øą³ą²µą²Æą²‚ą²šą²¾ą²²ą²æą²¤ą²µą²¾ą²—ą²æ ರಚಿತವಾದ +FiscalYearInformation=ಹಣಕಾಸಿನ ą²µą²°ą³ą²·ą²¦ ಮಾಹಿತಿ +FiscalMonthStart=ą²†ą²°ą³ą²„ą²æą²• ą²µą²°ą³ą²·ą²¾ą²°ą²‚ą²­ą²¦ ತಿಂಗಳು +YouMustCreateContactFirst=ಈ ą²øą²‚ą²Ŗą²°ą³ą²•ą²µą²Øą³ą²Øą³ ಇ-ą²®ą³†ą³•ą²²ą³ ą²…ą²§ą²æą²øą³‚ą²šą²Øą²¾ ą²Ŗą²Ÿą³ą²Ÿą²æą²—ą³† ಸೇರಿಸುವ ą²®ą³ą²Øą³ą²Ø ą²øą²‚ą²Ŗą²°ą³ą²•ą²¦ ಇ-ą²®ą³‡ą²²ą³ ą²µą²æą²µą²°ą²µą²Øą³ą²Øą³ ನಮೂದಿಸಿ. +ListSuppliersShort=ಪೂರೈಕೆದಾರರ ą²Ŗą²Ÿą³ą²Ÿą²æ +ListProspectsShort=ą²Øą²æą²°ą³€ą²•ą³ą²·ą²æą²¤ą²° ą²Ŗą²Ÿą³ą²Ÿą²æ +ListCustomersShort=ą²—ą³ą²°ą²¾ą²¹ą²•ą²° ą²Ŗą²Ÿą³ą²Ÿą²æ +ThirdPartiesArea=Third parties and contact area +LastModifiedThirdParties=ą²•ą³Šą²Øą³†ą²Æ %sದಿಂದ ಬದಲಾಯಿಸಲಾದ ಮೂರನೇ ą²Ŗą²•ą³ą²·ą²—ą²³ą³ +UniqueThirdParties=ą²’ą²Ÿą³ą²Ÿą³ ą²…ą²Øą²Øą³ą²Æ ಮೂರನೇ ą²Ŗą²¾ą²°ą³ą²Ÿą²æą²—ą²³ą³ +InActivity=ತೆರೆಯಲಾಗಿದೆ +ActivityCeased=ą²®ą³ą²šą³ą²šą²²ą²¾ą²—ą²æą²¦ą³† +ActivityStateFilter=ą²šą²Ÿą³ą²µą²Ÿą²æą²•ą³† ą²øą³ą²„ą²æą²¤ą²æ +ProductsIntoElements=List of products into %s +CurrentOutstandingBill=ą²Ŗą³ą²°ą²øą³ą²¤ą³ą²¤ ಬಾಕಿ ಉಳಿದಿರುವ ą²¬ą²æą²²ą³ +OutstandingBill=ą²—ą²°ą²æą²·ą³ą²Ÿ ಬಾಕಿ ಉಳಿದಿರುವ ą²¬ą²æą²²ą³ ą²®ą³Šą²¤ą³ą²¤ +OutstandingBillReached=ą²—ą²°ą²æą²·ą³ą²Ÿ ಬಾಕಿ ಉಳಿಯಬಹುದಾದ ą²¬ą²æą²²ą³ ą²®ą³Šą²¤ą³ą²¤ ತಲುಪಿದೆ +MonkeyNumRefModelDesc=ą²«ą²¾ą²°ą³ą²®ą³ą²Æą²¾ą²Ÿą³% syymm-NNNN ą²—ą³ą²°ą²¾ą²¹ą²• ą²•ą³†ą³‚ą³•ą²”ą³ ą²®ą²¤ą³ą²¤ą³% syymm-NNNN ವವ ą²µą²°ą³ą²· ą²…ą²²ą³ą²²ą²æ ಪೂರೈಕೆದಾರ ą²•ą³†ą³‚ą³•ą²”ą³ ą²«ą²¾ą²°ą³ ą²œą³†ą³‚ą²¤ą³† ą²Øą³ą²Æą³‚ą²®ą²°ą³†ą³‚ą³• ಹಿಂತಿರುಗಿ, ಮಿಮೀ ತಿಂಗಳು ą²®ą²¤ą³ą²¤ą³ NNNN ಯಾವುದೇ ą²¬ą³ą²°ą³†ą³•ą²•ą³ ą²®ą²¤ą³ą²¤ą³ 0 ಯಾವುದೇ ಲಾಭ ಒಂದು ą²…ą²Øą³ą²•ą³ą²°ą²®ą²¦. +LeopardNumRefModelDesc=ą²•ą³†ą³‚ą³•ą²”ą³ ą²‰ą²šą²æą²¤. ಈ ą²•ą³†ą³‚ą³•ą²”ą³ ಯಾವುದೇ ą²øą²®ą²Æą²¦ą²²ą³ą²²ą²æ ą²®ą²¾ą²°ą³ą²Ŗą²”ą²æą²øą²¬ą²¹ą³ą²¦ą²¾ą²—ą²æą²¦ą³†. +ManagingDirectors=ą²®ą³ą²Æą²¾ą²Øą³†ą³•ą²œą²°ą³ (ಗಳು) ಹೆಸರು (ಸಿಇಒ, ą²Øą²æą²°ą³ą²¦ą³†ą³•ą²¶ą²•, ą²…ą²§ą³ą²Æą²•ą³ą²· ...) +SearchThirdparty=Search thirdparty +SearchContact=Search contact diff --git a/htdocs/langs/kn_IN/compta.lang b/htdocs/langs/kn_IN/compta.lang new file mode 100644 index 00000000000..0d579a06ff1 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/contracts.lang b/htdocs/langs/kn_IN/contracts.lang new file mode 100644 index 00000000000..d1be0e6513f --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/cron.lang b/htdocs/langs/kn_IN/cron.lang new file mode 100644 index 00000000000..28dfc7770b2 --- /dev/null +++ b/htdocs/langs/kn_IN/cron.lang @@ -0,0 +1,87 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +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 +# 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=Jobs list +CronDelete= Delete cron jobs +CronConfirmDelete= Are you sure you want to delete this cron job ? +CronExecute=Launch job +CronConfirmExecute= Are you sure to execute this job now +CronInfo= Jobs allow to execute task that have been planned +CronWaitingJobs=Wainting 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 +#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 +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. +# Info +CronInfoPage=Information +# Common +CronType=Task 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 diff --git a/htdocs/langs/kn_IN/deliveries.lang b/htdocs/langs/kn_IN/deliveries.lang new file mode 100644 index 00000000000..d711c3704b4 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/dict.lang b/htdocs/langs/kn_IN/dict.lang new file mode 100644 index 00000000000..bef1f4821b4 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/donations.lang b/htdocs/langs/kn_IN/donations.lang new file mode 100644 index 00000000000..f7aed91cf81 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/ecm.lang b/htdocs/langs/kn_IN/ecm.lang new file mode 100644 index 00000000000..4a1931a3217 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/errors.lang b/htdocs/langs/kn_IN/errors.lang new file mode 100644 index 00000000000..700e6344d7d --- /dev/null +++ b/htdocs/langs/kn_IN/errors.lang @@ -0,0 +1,183 @@ +# 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 batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action + +# 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/kn_IN/exports.lang b/htdocs/langs/kn_IN/exports.lang new file mode 100644 index 00000000000..d79df485608 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/externalsite.lang b/htdocs/langs/kn_IN/externalsite.lang new file mode 100644 index 00000000000..da4853df0df --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/ftp.lang b/htdocs/langs/kn_IN/ftp.lang new file mode 100644 index 00000000000..9984ce689ee --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/help.lang b/htdocs/langs/kn_IN/help.lang new file mode 100644 index 00000000000..1bbd6e94f03 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/holiday.lang b/htdocs/langs/kn_IN/holiday.lang new file mode 100644 index 00000000000..f5b87fefb08 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/incoterm.lang b/htdocs/langs/kn_IN/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/install.lang b/htdocs/langs/kn_IN/install.lang new file mode 100644 index 00000000000..dcd8df6e7db --- /dev/null +++ b/htdocs/langs/kn_IN/install.lang @@ -0,0 +1,214 @@ +# 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) + +######### +# 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/kn_IN/interventions.lang b/htdocs/langs/kn_IN/interventions.lang new file mode 100644 index 00000000000..c79da05364e --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/languages.lang b/htdocs/langs/kn_IN/languages.lang new file mode 100644 index 00000000000..d20aab00146 --- /dev/null +++ b/htdocs/langs/kn_IN/languages.lang @@ -0,0 +1,72 @@ +# Dolibarr language file - Source file is en_US - languages + +Language_ar_AR=Arabic +Language_ar_SA=Arabic +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_DO=Spanish (Dominican Republic) +Language_es_AR=Spanish (Argentina) +Language_es_CL=Spanish (Chile) +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_ko_KR=Korean +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_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/kn_IN/ldap.lang b/htdocs/langs/kn_IN/ldap.lang new file mode 100644 index 00000000000..02e457446a6 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/link.lang b/htdocs/langs/kn_IN/link.lang new file mode 100644 index 00000000000..8b1efb75ef3 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/mailmanspip.lang b/htdocs/langs/kn_IN/mailmanspip.lang new file mode 100644 index 00000000000..c85b3d60db2 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/mails.lang b/htdocs/langs/kn_IN/mails.lang new file mode 100644 index 00000000000..7a211198822 --- /dev/null +++ b/htdocs/langs/kn_IN/mails.lang @@ -0,0 +1,141 @@ +# 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 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 + +# 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. diff --git a/htdocs/langs/kn_IN/main.lang b/htdocs/langs/kn_IN/main.lang new file mode 100644 index 00000000000..d40e28cb776 --- /dev/null +++ b/htdocs/langs/kn_IN/main.lang @@ -0,0 +1,725 @@ +# 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 +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 +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=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 +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. +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=Categories +Category=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 +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 +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 +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 +# 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 diff --git a/htdocs/langs/kn_IN/margins.lang b/htdocs/langs/kn_IN/margins.lang new file mode 100644 index 00000000000..748b3c71f30 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/members.lang b/htdocs/langs/kn_IN/members.lang new file mode 100644 index 00000000000..40bca8e85fb --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/opensurvey.lang b/htdocs/langs/kn_IN/opensurvey.lang new file mode 100644 index 00000000000..0b191e426ec --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/orders.lang b/htdocs/langs/kn_IN/orders.lang new file mode 100644 index 00000000000..8efafa5e94e --- /dev/null +++ b/htdocs/langs/kn_IN/orders.lang @@ -0,0 +1,166 @@ +# 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=Accept order +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 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 +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 +##### 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/kn_IN/other.lang b/htdocs/langs/kn_IN/other.lang new file mode 100644 index 00000000000..08747ea884b --- /dev/null +++ b/htdocs/langs/kn_IN/other.lang @@ -0,0 +1,238 @@ +# 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 validated +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 module setup +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. +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. + +##### 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/kn_IN/paybox.lang b/htdocs/langs/kn_IN/paybox.lang new file mode 100644 index 00000000000..aced32a4944 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/paypal.lang b/htdocs/langs/kn_IN/paypal.lang new file mode 100644 index 00000000000..65a3dc45a23 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/printing.lang b/htdocs/langs/kn_IN/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/kn_IN/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/printipp.lang b/htdocs/langs/kn_IN/printipp.lang new file mode 100644 index 00000000000..835e6827f12 --- /dev/null +++ b/htdocs/langs/kn_IN/printipp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server diff --git a/htdocs/langs/kn_IN/productbatch.lang b/htdocs/langs/kn_IN/productbatch.lang new file mode 100644 index 00000000000..45263681965 --- /dev/null +++ b/htdocs/langs/kn_IN/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/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 +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 +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 diff --git a/htdocs/langs/kn_IN/products.lang b/htdocs/langs/kn_IN/products.lang new file mode 100644 index 00000000000..3a18cda69e7 --- /dev/null +++ b/htdocs/langs/kn_IN/products.lang @@ -0,0 +1,256 @@ +# 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 +### 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 #options_myextrafieldkey# +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# +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/kn_IN/projects.lang b/htdocs/langs/kn_IN/projects.lang new file mode 100644 index 00000000000..44d0d89687a --- /dev/null +++ b/htdocs/langs/kn_IN/projects.lang @@ -0,0 +1,144 @@ +# 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). +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 +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 +##### 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 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 diff --git a/htdocs/langs/kn_IN/propal.lang b/htdocs/langs/kn_IN/propal.lang new file mode 100644 index 00000000000..2b6d12870a1 --- /dev/null +++ b/htdocs/langs/kn_IN/propal.lang @@ -0,0 +1,100 @@ +# 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=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=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 +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) diff --git a/htdocs/langs/kn_IN/resource.lang b/htdocs/langs/kn_IN/resource.lang new file mode 100644 index 00000000000..32bdd92f884 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/salaries.lang b/htdocs/langs/kn_IN/salaries.lang new file mode 100644 index 00000000000..28c21adfad3 --- /dev/null +++ b/htdocs/langs/kn_IN/salaries.lang @@ -0,0 +1,13 @@ +# 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 diff --git a/htdocs/langs/kn_IN/sendings.lang b/htdocs/langs/kn_IN/sendings.lang new file mode 100644 index 00000000000..b1ff55f71c1 --- /dev/null +++ b/htdocs/langs/kn_IN/sendings.lang @@ -0,0 +1,85 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=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 + +# 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/kn_IN/sms.lang b/htdocs/langs/kn_IN/sms.lang new file mode 100644 index 00000000000..4e89bb24730 --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/stocks.lang b/htdocs/langs/kn_IN/stocks.lang new file mode 100644 index 00000000000..29706d17615 --- /dev/null +++ b/htdocs/langs/kn_IN/stocks.lang @@ -0,0 +1,134 @@ +# 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 +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 +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 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. diff --git a/htdocs/langs/kn_IN/suppliers.lang b/htdocs/langs/kn_IN/suppliers.lang new file mode 100644 index 00000000000..baf573c66ac --- /dev/null +++ b/htdocs/langs/kn_IN/suppliers.lang @@ -0,0 +1,45 @@ +# 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 diff --git a/htdocs/langs/kn_IN/trips.lang b/htdocs/langs/kn_IN/trips.lang new file mode 100644 index 00000000000..ba36fc9b07b --- /dev/null +++ b/htdocs/langs/kn_IN/trips.lang @@ -0,0 +1,126 @@ +# 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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/kn_IN/users.lang b/htdocs/langs/kn_IN/users.lang new file mode 100644 index 00000000000..baf209f9d1c --- /dev/null +++ b/htdocs/langs/kn_IN/users.lang @@ -0,0 +1,122 @@ +# 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 diff --git a/htdocs/langs/kn_IN/withdrawals.lang b/htdocs/langs/kn_IN/withdrawals.lang new file mode 100644 index 00000000000..c36ffbf025a --- /dev/null +++ b/htdocs/langs/kn_IN/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/kn_IN/workflow.lang b/htdocs/langs/kn_IN/workflow.lang new file mode 100644 index 00000000000..17c8dd3aafa --- /dev/null +++ b/htdocs/langs/kn_IN/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 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 diff --git a/htdocs/langs/ko_KR/admin.lang b/htdocs/langs/ko_KR/admin.lang index a2d1447071a..af647d9f52c 100644 --- a/htdocs/langs/ko_KR/admin.lang +++ b/htdocs/langs/ko_KR/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/ko_KR/banks.lang b/htdocs/langs/ko_KR/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/ko_KR/banks.lang +++ b/htdocs/langs/ko_KR/banks.lang @@ -33,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 @@ -148,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/ko_KR/bills.lang b/htdocs/langs/ko_KR/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/ko_KR/bills.lang +++ b/htdocs/langs/ko_KR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/ko_KR/commercial.lang b/htdocs/langs/ko_KR/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/ko_KR/commercial.lang +++ b/htdocs/langs/ko_KR/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/ko_KR/contracts.lang b/htdocs/langs/ko_KR/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/ko_KR/contracts.lang +++ b/htdocs/langs/ko_KR/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/ko_KR/cron.lang b/htdocs/langs/ko_KR/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/ko_KR/cron.lang +++ b/htdocs/langs/ko_KR/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ko_KR/errors.lang b/htdocs/langs/ko_KR/errors.lang index f374da9cf98..7c88ed9e005 100644 --- a/htdocs/langs/ko_KR/errors.lang +++ b/htdocs/langs/ko_KR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ko_KR/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/ko_KR/install.lang b/htdocs/langs/ko_KR/install.lang index b4ebd2a51a6..fc4daabf0e6 100644 --- a/htdocs/langs/ko_KR/install.lang +++ b/htdocs/langs/ko_KR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/ko_KR/main.lang b/htdocs/langs/ko_KR/main.lang index 104a3f3ad11..de1eb65bf14 100644 --- a/htdocs/langs/ko_KR/main.lang +++ b/htdocs/langs/ko_KR/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ģ›”ģš”ģ¼ Tuesday=ķ™”ģš”ģ¼ diff --git a/htdocs/langs/ko_KR/orders.lang b/htdocs/langs/ko_KR/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/ko_KR/orders.lang +++ b/htdocs/langs/ko_KR/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/ko_KR/other.lang b/htdocs/langs/ko_KR/other.lang index d20bb5f39b1..80399108329 100644 --- a/htdocs/langs/ko_KR/other.lang +++ b/htdocs/langs/ko_KR/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/ko_KR/printing.lang b/htdocs/langs/ko_KR/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ko_KR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/ko_KR/productbatch.lang +++ b/htdocs/langs/ko_KR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ko_KR/products.lang b/htdocs/langs/ko_KR/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/ko_KR/products.lang +++ b/htdocs/langs/ko_KR/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ko_KR/projects.lang b/htdocs/langs/ko_KR/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/ko_KR/projects.lang +++ b/htdocs/langs/ko_KR/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/ko_KR/salaries.lang b/htdocs/langs/ko_KR/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/ko_KR/salaries.lang +++ b/htdocs/langs/ko_KR/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/ko_KR/sendings.lang b/htdocs/langs/ko_KR/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/ko_KR/sendings.lang +++ b/htdocs/langs/ko_KR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/ko_KR/stocks.lang b/htdocs/langs/ko_KR/stocks.lang index 8ab2a113cb9..d2762213627 100644 --- a/htdocs/langs/ko_KR/stocks.lang +++ b/htdocs/langs/ko_KR/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ko_KR/suppliers.lang b/htdocs/langs/ko_KR/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/ko_KR/suppliers.lang +++ b/htdocs/langs/ko_KR/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 diff --git a/htdocs/langs/ko_KR/trips.lang b/htdocs/langs/ko_KR/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/ko_KR/trips.lang +++ b/htdocs/langs/ko_KR/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/lo_LA/accountancy.lang b/htdocs/langs/lo_LA/accountancy.lang new file mode 100644 index 00000000000..0b715dc2929 --- /dev/null +++ b/htdocs/langs/lo_LA/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +Accounting=ąŗšąŗ±ąŗ™ā€‹ąŗŠąŗµ +Globalparameters=ā€‹ą»‚ąŗ•ā€‹ąŗ•ąŗ±ą»‰ąŗ‡ā€‹ąŗ„ą»ˆąŗ²ā€‹ąŗ—ąŗ±ąŗ‡ā€‹ą»ąŗ»ąŗ” +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_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous 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/lo_LA/admin.lang b/htdocs/langs/lo_LA/admin.lang new file mode 100644 index 00000000000..9782c2ea27f --- /dev/null +++ b/htdocs/langs/lo_LA/admin.lang @@ -0,0 +1,1603 @@ +# 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 +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: +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 +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: +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 +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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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. + +# 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 (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 +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=Categories +Module1780Desc=Category management (products, suppliers and customers) +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 task 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) +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 batch +Module39000Desc=Batch 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 +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 +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 +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 +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 task +Permission23002 = Create/update Scheduled task +Permission23003 = Delete Scheduled task +Permission23004 = Execute Scheduled task +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 +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 +CalcLocaltax1ES=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2ES=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3ES=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 +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 +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= 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 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. +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. +##### 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 third party at time.
    * or by setting a global target email address on 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 +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) +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 +##### 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 +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 batch 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 +##### 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 +##### 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=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. diff --git a/htdocs/langs/lo_LA/agenda.lang b/htdocs/langs/lo_LA/agenda.lang new file mode 100644 index 00000000000..04e2ae30de8 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/banks.lang b/htdocs/langs/lo_LA/banks.lang new file mode 100644 index 00000000000..a2306950fb4 --- /dev/null +++ b/htdocs/langs/lo_LA/banks.lang @@ -0,0 +1,165 @@ +# 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 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 ? diff --git a/htdocs/langs/lo_LA/bills.lang b/htdocs/langs/lo_LA/bills.lang new file mode 100644 index 00000000000..69e1510ca44 --- /dev/null +++ b/htdocs/langs/lo_LA/bills.lang @@ -0,0 +1,431 @@ +# 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 +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist + +# 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 opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/lo_LA/bookmarks.lang b/htdocs/langs/lo_LA/bookmarks.lang new file mode 100644 index 00000000000..7acb946bb62 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/boxes.lang b/htdocs/langs/lo_LA/boxes.lang new file mode 100644 index 00000000000..bf118b9b88e --- /dev/null +++ b/htdocs/langs/lo_LA/boxes.lang @@ -0,0 +1,96 @@ +# 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 diff --git a/htdocs/langs/lo_LA/cashdesk.lang b/htdocs/langs/lo_LA/cashdesk.lang new file mode 100644 index 00000000000..d3dcfb68e64 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/categories.lang b/htdocs/langs/lo_LA/categories.lang new file mode 100644 index 00000000000..22914931db1 --- /dev/null +++ b/htdocs/langs/lo_LA/categories.lang @@ -0,0 +1,112 @@ +# Dolibarr language file - Source file is en_US - categories +Category=Category +Categories=Categories +Rubrique=Category +Rubriques=Categories +categories=categories +TheCategorie=The category +NoCategoryYet=No category of this type created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Categories area +ProductsCategoriesArea=Products/Services categories area +SuppliersCategoriesArea=Suppliers categories area +CustomersCategoriesArea=Customers categories area +ThirdPartyCategoriesArea=Third parties categories area +MembersCategoriesArea=Members categories area +ContactsCategoriesArea=Contacts categories area +MainCats=Main categories +SubCats=Subcategories +CatStatistics=Statistics +CatList=List of categories +AllCats=All categories +ViewCat=View category +NewCat=Add category +NewCategory=New category +ModifCat=Modify category +CatCreated=Category created +CreateCat=Create category +CreateThisCat=Create this category +ValidateFields=Validate the fields +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found categories +FoundCatsForName=Categories found for the name : +FoundSubCatsIn=Subcategories found in the category +ErrSameCatSelected=You selected the same category several times +ErrForgotCat=You forgot to choose the category +ErrForgotField=You forgot to inform the fields +ErrCatAlreadyExists=This name is already used +AddProductToCat=Add this product to a category? +ImpossibleAddCat=Impossible to add the category +ImpossibleAssociateCategory=Impossible to associate the category to +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this category. +CategorySuccessfullyCreated=This category %s has been added with success. +ProductIsInCategories=Product/service owns to following categories +SupplierIsInCategories=Third party owns to following suppliers categories +CompanyIsInCustomersCategories=This third party owns to following customers/prospects categories +CompanyIsInSuppliersCategories=This third party owns to following suppliers categories +MemberIsInCategories=This member owns to following members categories +ContactIsInCategories=This contact owns to following contacts categories +ProductHasNoCategory=This product/service is not in any categories +SupplierHasNoCategory=This supplier is not in any categories +CompanyHasNoCategory=This company is not in any categories +MemberHasNoCategory=This member is not in any categories +ContactHasNoCategory=This contact is not in any categories +ClassifyInCategory=Classify in category +NoneCategory=None +NotCategorized=Without 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=Categories tree +DeleteCategory=Delete category +ConfirmDeleteCategory=Are you sure you want to delete this category ? +RemoveFromCategory=Remove link with categorie +RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the category ? +NoCategoriesDefined=No category defined +SuppliersCategoryShort=Suppliers category +CustomersCategoryShort=Customers category +ProductsCategoryShort=Products category +MembersCategoryShort=Members category +SuppliersCategoriesShort=Suppliers categories +CustomersCategoriesShort=Customers categories +CustomersProspectsCategoriesShort=Custo./Prosp. categories +ProductsCategoriesShort=Products categories +MembersCategoriesShort=Members categories +ContactCategoriesShort=Contacts 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=Category contents +CategId=Category id +CatSupList=List of supplier categories +CatCusList=List of customer/prospect categories +CatProdList=List of products categories +CatMemberList=List of members categories +CatContactList=List of contact categories and contact +CatSupLinks=Links between suppliers and categories +CatCusLinks=Links between customers/prospects and categories +CatProdLinks=Links between products/services and categories +CatMemberLinks=Links between members and categories +DeleteFromCat=Remove from category +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Categories setup +CategorieRecursiv=Link with parent 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 category diff --git a/htdocs/langs/lo_LA/commercial.lang b/htdocs/langs/lo_LA/commercial.lang new file mode 100644 index 00000000000..7acdc7bd7e6 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/companies.lang b/htdocs/langs/lo_LA/companies.lang new file mode 100644 index 00000000000..8abf1fd1c5a --- /dev/null +++ b/htdocs/langs/lo_LA/companies.lang @@ -0,0 +1,414 @@ +# 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 thirdparty +SearchContact=Search contact diff --git a/htdocs/langs/lo_LA/compta.lang b/htdocs/langs/lo_LA/compta.lang new file mode 100644 index 00000000000..0d579a06ff1 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/contracts.lang b/htdocs/langs/lo_LA/contracts.lang new file mode 100644 index 00000000000..d1be0e6513f --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/cron.lang b/htdocs/langs/lo_LA/cron.lang new file mode 100644 index 00000000000..28dfc7770b2 --- /dev/null +++ b/htdocs/langs/lo_LA/cron.lang @@ -0,0 +1,87 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +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 +# 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=Jobs list +CronDelete= Delete cron jobs +CronConfirmDelete= Are you sure you want to delete this cron job ? +CronExecute=Launch job +CronConfirmExecute= Are you sure to execute this job now +CronInfo= Jobs allow to execute task that have been planned +CronWaitingJobs=Wainting 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 +#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 +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. +# Info +CronInfoPage=Information +# Common +CronType=Task 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 diff --git a/htdocs/langs/lo_LA/deliveries.lang b/htdocs/langs/lo_LA/deliveries.lang new file mode 100644 index 00000000000..d711c3704b4 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/dict.lang b/htdocs/langs/lo_LA/dict.lang new file mode 100644 index 00000000000..bef1f4821b4 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/donations.lang b/htdocs/langs/lo_LA/donations.lang new file mode 100644 index 00000000000..f7aed91cf81 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/ecm.lang b/htdocs/langs/lo_LA/ecm.lang new file mode 100644 index 00000000000..4a1931a3217 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/errors.lang b/htdocs/langs/lo_LA/errors.lang new file mode 100644 index 00000000000..700e6344d7d --- /dev/null +++ b/htdocs/langs/lo_LA/errors.lang @@ -0,0 +1,183 @@ +# 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 batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action + +# 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/lo_LA/exports.lang b/htdocs/langs/lo_LA/exports.lang new file mode 100644 index 00000000000..d79df485608 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/externalsite.lang b/htdocs/langs/lo_LA/externalsite.lang new file mode 100644 index 00000000000..da4853df0df --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/ftp.lang b/htdocs/langs/lo_LA/ftp.lang new file mode 100644 index 00000000000..9984ce689ee --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/help.lang b/htdocs/langs/lo_LA/help.lang new file mode 100644 index 00000000000..1bbd6e94f03 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/holiday.lang b/htdocs/langs/lo_LA/holiday.lang new file mode 100644 index 00000000000..f5b87fefb08 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/incoterm.lang b/htdocs/langs/lo_LA/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/install.lang b/htdocs/langs/lo_LA/install.lang new file mode 100644 index 00000000000..dcd8df6e7db --- /dev/null +++ b/htdocs/langs/lo_LA/install.lang @@ -0,0 +1,214 @@ +# 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) + +######### +# 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/lo_LA/interventions.lang b/htdocs/langs/lo_LA/interventions.lang new file mode 100644 index 00000000000..c79da05364e --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/languages.lang b/htdocs/langs/lo_LA/languages.lang new file mode 100644 index 00000000000..d20aab00146 --- /dev/null +++ b/htdocs/langs/lo_LA/languages.lang @@ -0,0 +1,72 @@ +# Dolibarr language file - Source file is en_US - languages + +Language_ar_AR=Arabic +Language_ar_SA=Arabic +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_DO=Spanish (Dominican Republic) +Language_es_AR=Spanish (Argentina) +Language_es_CL=Spanish (Chile) +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_ko_KR=Korean +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_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/lo_LA/ldap.lang b/htdocs/langs/lo_LA/ldap.lang new file mode 100644 index 00000000000..02e457446a6 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/link.lang b/htdocs/langs/lo_LA/link.lang new file mode 100644 index 00000000000..8b1efb75ef3 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/mailmanspip.lang b/htdocs/langs/lo_LA/mailmanspip.lang new file mode 100644 index 00000000000..c85b3d60db2 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/mails.lang b/htdocs/langs/lo_LA/mails.lang new file mode 100644 index 00000000000..7a211198822 --- /dev/null +++ b/htdocs/langs/lo_LA/mails.lang @@ -0,0 +1,141 @@ +# 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 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 + +# 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. diff --git a/htdocs/langs/lo_LA/main.lang b/htdocs/langs/lo_LA/main.lang new file mode 100644 index 00000000000..d40e28cb776 --- /dev/null +++ b/htdocs/langs/lo_LA/main.lang @@ -0,0 +1,725 @@ +# 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 +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 +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=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 +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. +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=Categories +Category=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 +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 +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 +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 +# 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 diff --git a/htdocs/langs/lo_LA/margins.lang b/htdocs/langs/lo_LA/margins.lang new file mode 100644 index 00000000000..748b3c71f30 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/members.lang b/htdocs/langs/lo_LA/members.lang new file mode 100644 index 00000000000..40bca8e85fb --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/opensurvey.lang b/htdocs/langs/lo_LA/opensurvey.lang new file mode 100644 index 00000000000..0b191e426ec --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/orders.lang b/htdocs/langs/lo_LA/orders.lang new file mode 100644 index 00000000000..8efafa5e94e --- /dev/null +++ b/htdocs/langs/lo_LA/orders.lang @@ -0,0 +1,166 @@ +# 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=Accept order +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 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 +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 +##### 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/lo_LA/other.lang b/htdocs/langs/lo_LA/other.lang new file mode 100644 index 00000000000..08747ea884b --- /dev/null +++ b/htdocs/langs/lo_LA/other.lang @@ -0,0 +1,238 @@ +# 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 validated +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 module setup +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. +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. + +##### 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/lo_LA/paybox.lang b/htdocs/langs/lo_LA/paybox.lang new file mode 100644 index 00000000000..aced32a4944 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/paypal.lang b/htdocs/langs/lo_LA/paypal.lang new file mode 100644 index 00000000000..65a3dc45a23 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/printing.lang b/htdocs/langs/lo_LA/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/lo_LA/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/printipp.lang b/htdocs/langs/lo_LA/printipp.lang new file mode 100644 index 00000000000..835e6827f12 --- /dev/null +++ b/htdocs/langs/lo_LA/printipp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server diff --git a/htdocs/langs/lo_LA/productbatch.lang b/htdocs/langs/lo_LA/productbatch.lang new file mode 100644 index 00000000000..45263681965 --- /dev/null +++ b/htdocs/langs/lo_LA/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/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 +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 +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 diff --git a/htdocs/langs/lo_LA/products.lang b/htdocs/langs/lo_LA/products.lang new file mode 100644 index 00000000000..3a18cda69e7 --- /dev/null +++ b/htdocs/langs/lo_LA/products.lang @@ -0,0 +1,256 @@ +# 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 +### 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 #options_myextrafieldkey# +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# +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/lo_LA/projects.lang b/htdocs/langs/lo_LA/projects.lang new file mode 100644 index 00000000000..44d0d89687a --- /dev/null +++ b/htdocs/langs/lo_LA/projects.lang @@ -0,0 +1,144 @@ +# 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). +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 +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 +##### 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 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 diff --git a/htdocs/langs/lo_LA/propal.lang b/htdocs/langs/lo_LA/propal.lang new file mode 100644 index 00000000000..2b6d12870a1 --- /dev/null +++ b/htdocs/langs/lo_LA/propal.lang @@ -0,0 +1,100 @@ +# 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=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=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 +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) diff --git a/htdocs/langs/lo_LA/resource.lang b/htdocs/langs/lo_LA/resource.lang new file mode 100644 index 00000000000..32bdd92f884 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/salaries.lang b/htdocs/langs/lo_LA/salaries.lang new file mode 100644 index 00000000000..28c21adfad3 --- /dev/null +++ b/htdocs/langs/lo_LA/salaries.lang @@ -0,0 +1,13 @@ +# 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 diff --git a/htdocs/langs/lo_LA/sendings.lang b/htdocs/langs/lo_LA/sendings.lang new file mode 100644 index 00000000000..b1ff55f71c1 --- /dev/null +++ b/htdocs/langs/lo_LA/sendings.lang @@ -0,0 +1,85 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=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 + +# 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/lo_LA/sms.lang b/htdocs/langs/lo_LA/sms.lang new file mode 100644 index 00000000000..4e89bb24730 --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/stocks.lang b/htdocs/langs/lo_LA/stocks.lang new file mode 100644 index 00000000000..29706d17615 --- /dev/null +++ b/htdocs/langs/lo_LA/stocks.lang @@ -0,0 +1,134 @@ +# 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 +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 +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 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. diff --git a/htdocs/langs/lo_LA/suppliers.lang b/htdocs/langs/lo_LA/suppliers.lang new file mode 100644 index 00000000000..baf573c66ac --- /dev/null +++ b/htdocs/langs/lo_LA/suppliers.lang @@ -0,0 +1,45 @@ +# 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 diff --git a/htdocs/langs/lo_LA/trips.lang b/htdocs/langs/lo_LA/trips.lang new file mode 100644 index 00000000000..ba36fc9b07b --- /dev/null +++ b/htdocs/langs/lo_LA/trips.lang @@ -0,0 +1,126 @@ +# 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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/lo_LA/users.lang b/htdocs/langs/lo_LA/users.lang new file mode 100644 index 00000000000..baf209f9d1c --- /dev/null +++ b/htdocs/langs/lo_LA/users.lang @@ -0,0 +1,122 @@ +# 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 diff --git a/htdocs/langs/lo_LA/withdrawals.lang b/htdocs/langs/lo_LA/withdrawals.lang new file mode 100644 index 00000000000..c36ffbf025a --- /dev/null +++ b/htdocs/langs/lo_LA/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/lo_LA/workflow.lang b/htdocs/langs/lo_LA/workflow.lang new file mode 100644 index 00000000000..17c8dd3aafa --- /dev/null +++ b/htdocs/langs/lo_LA/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 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 diff --git a/htdocs/langs/lt_LT/admin.lang b/htdocs/langs/lt_LT/admin.lang index 219441ecd9c..0a9afd42fe8 100644 --- a/htdocs/langs/lt_LT/admin.lang +++ b/htdocs/langs/lt_LT/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Ekspermentinis VersionDevelopment=Plėtojimas VersionUnknown=Nežinomas VersionRecommanded=Rekomenduojamas +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sesijos ID SessionSaveHandler=Vedlys, sesijai iÅ”saugoti SessionSavePath=Talpinimo sesijos lokalizavimas @@ -493,10 +498,16 @@ Module600Name=PraneÅ”imai Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Parama Module700Desc=Paramos valdymas +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=Mančio integracija Module1400Name=Apskaita Module1400Desc=Apskaitos valdymas (dvivietės Å”alys) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorijos Module1780Desc=Kategorijų valdymas (produktai, tiekėjai ir klientai) Module2000Name=WYSIWYG redaktorius @@ -631,7 +642,7 @@ Permission181=Skaityti tiekėjo užsakymus Permission182=Sukurti/keisti tiekėjo užsakymus Permission183=Patvirtinti tiekėjo užsakymus Permission184=Patvirtinti tiekėjo užsakymus -Permission185=RūŔiuoti tiekėjo užsakymus +Permission185=Order or cancel supplier orders Permission186=Gauti tiekėjo užsakymus Permission187=Uždaryti tiekėjo užsakymus Permission188=Nutraukti tiekėjo užsakymus @@ -711,6 +722,13 @@ Permission538=Eksportuoti paslaugas Permission701=Skaityti aukas Permission702=Sukurti/keisti aukas Permission703=IÅ”trinti aukas +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=Skaityti atsargas Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Proxy serverio slaptažodis DefineHereComplementaryAttributes=Čia nustatykite visus atributus, ne tik jau nustatytus pagal nutylėjimą, bet ir tuos, kuriuos JÅ«s norite, kad bÅ«tų palaikomi %s. ExtraFields=Papildomi požymiai ExtraFieldsLines=Papildomi atributai (linijos) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Papildomi požymiai (trečiosios Å”alys) ExtraFieldsContacts=Papildomi požymiai (kontaktas/adresas) ExtraFieldsMember=Papildomi požymiai (narys) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Produkto/paslaugos linija su nuline suma yra laikoma g FreeLegalTextOnProposal=Laisvas tekstas komerciniame pasiÅ«lyme WatermarkOnDraftProposal=Vandens ženklas komercinių pasiÅ«lymų projekte (nėra, jei lapas tuŔčias) 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=Užsakymų valdymo nuostatos OrdersNumberingModules=Užsakymų numeracijos modeliai @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=BrÅ«kÅ”ninio kodo generavimo komandinės eilutės ÄÆrankis (naudojamas vidinio variklio kai kurių brÅ«kÅ”ninių kodų tipams) +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 ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Sąskaita grynųjų pinigų ÄÆmokoms pagal nutylėjimą CashDeskBankAccountForCheque= Sąskaita čekių ÄÆmokoms pagal nutylėjimą CashDeskBankAccountForCB= Sąskaita ÄÆmokoms kreditinėmis kortelėmis pagal nutylėjimą -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Žymeklių modulio nustatymas @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/lt_LT/banks.lang b/htdocs/langs/lt_LT/banks.lang index 27d83cc3325..d471ea6ac55 100644 --- a/htdocs/langs/lt_LT/banks.lang +++ b/htdocs/langs/lt_LT/banks.lang @@ -33,7 +33,11 @@ AllTime=Nuo pradžios Reconciliation=Suderinimas RIB=Banko sąskaitos numeris IBAN=IBAN numeris +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT numeris +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=PastovÅ«s užsakymai StandingOrder=Pastovus užsakymas Withdrawals=IŔėmimai @@ -148,7 +152,7 @@ BackToAccount=Atgal ÄÆ sąskaitą ShowAllAccounts=Rodyti visas sąskaitas FutureTransaction=Operacija ateityje. Negalima taikyti SelectChequeTransactionAndGenerate=Pasirinkti/filtruoti čekius, kad ÄÆtraukti ÄÆ čekio depozito kvitą ir paspausti mygtuką "Sukurti". -InputReceiptNumber=Pasirinkti banko suvestinę, susijusią su taikymu. Naudokite rūŔiuojamą skaitinę vertę (pvz., YYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Nurodyti kategoriją, kurioje klasifikuoti ÄÆraÅ”us ToConciliate=Taikyti ? ThenCheckLinesAndConciliate=Tada patikrinkite linijas, esančias banko suvestinėje ir paspauskite diff --git a/htdocs/langs/lt_LT/bills.lang b/htdocs/langs/lt_LT/bills.lang index 109f690c9e9..aafc8302888 100644 --- a/htdocs/langs/lt_LT/bills.lang +++ b/htdocs/langs/lt_LT/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Jau atlikti mokėjimai PaymentsBackAlreadyDone=Jau atlikti mokėjimai atgal (grąžinimai) PaymentRule=Mokėjimo taisyklė PaymentMode=Mokėjimo bÅ«das -PaymentConditions=Mokėjimo terminas -PaymentConditionsShort=Mokėjimo terminas +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Mokėjimo suma ValidatePayment=Mokėjimą pripažinti galiojančiu PaymentHigherThanReminderToPay=Mokėjimas svarbesnis už priminimą sumokėti diff --git a/htdocs/langs/lt_LT/commercial.lang b/htdocs/langs/lt_LT/commercial.lang index aab16dcdd9b..1c66d76a7af 100644 --- a/htdocs/langs/lt_LT/commercial.lang +++ b/htdocs/langs/lt_LT/commercial.lang @@ -9,9 +9,9 @@ Prospect=Planas Prospects=Planai DeleteAction=IÅ”trinti ÄÆvykÄÆ/užduotÄÆ NewAction=Naujas ÄÆvykis/užduotis -AddAction=Pridėti ÄÆvykÄÆ/užduotÄÆ -AddAnAction=Pridėti ÄÆvykÄÆ/užduotÄÆ -AddActionRendezVous=Pridėti Rendez-vous ÄÆvykÄÆ +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Pasimatymas ConfirmDeleteAction=Ar tikrai norite iÅ”trinti Ŕį ÄÆvykÄÆ/užduotÄÆ ? CardAction=Ä®vykio kortelė @@ -44,8 +44,8 @@ DoneActions=Ä®vykdyti ÄÆvykiai DoneActionsFor=Ä®vykdyti ÄÆvykiai %s ToDoActions=NeÄÆvykdyti ÄÆvykiai ToDoActionsFor=NeÄÆvykdyti ÄÆvykiai %s -SendPropalRef=Siųsti komercinÄÆ pasiÅ«lymą %s -SendOrderRef=Siųsti užsakymą %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Netaikoma StatusActionToDo=Atlikti StatusActionDone=Pilnas @@ -62,7 +62,7 @@ LastProspectContactDone=Susisiekmas ÄÆvyko DateActionPlanned=Ä®vykio suplanuota data DateActionDone=Ä®vykusio ÄÆvykio data ActionAskedBy=Ä®vykÄÆ praneŔė -ActionAffectedTo=Ä®vykis priskiriamas +ActionAffectedTo=Event assigned to ActionDoneBy=Ä®vykÄÆ ÄÆvykdė ActionUserAsk=PraneŔė ErrorStatusCantBeZeroIfStarted=Jei laukas 'Date done' yra užpildytas, veiksmas pradėtas (arba užbaigtas), todėl laukas 'Status' negali bÅ«ti 0%%. diff --git a/htdocs/langs/lt_LT/contracts.lang b/htdocs/langs/lt_LT/contracts.lang index 669a370db74..cf070570ff6 100644 --- a/htdocs/langs/lt_LT/contracts.lang +++ b/htdocs/langs/lt_LT/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Pasibaigęs ServiceStatusClosed=Uždarytas ServicesLegend=Paslaugų legenda Contracts=Sutartys +ContractsAndLine=Contracts and line of contracts Contract=Sutartis NoContracts=Nėra sutarčių MenuServices=Paslaugos diff --git a/htdocs/langs/lt_LT/cron.lang b/htdocs/langs/lt_LT/cron.lang index 77417db0902..55aee3fddce 100644 --- a/htdocs/langs/lt_LT/cron.lang +++ b/htdocs/langs/lt_LT/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/lt_LT/errors.lang b/htdocs/langs/lt_LT/errors.lang index 515ddde0c6e..4f45a89c521 100644 --- a/htdocs/langs/lt_LT/errors.lang +++ b/htdocs/langs/lt_LT/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Å altinis ir tikslinės banko sąskaitos turi bÅ« ErrorBadThirdPartyName=Bloga trečiosios Å”alies pavadinimo reikÅ”mė ErrorProdIdIsMandatory=%s yra privalomas ErrorBadCustomerCodeSyntax=Bloga kliento kodo sintaksė -ErrorBadBarCodeSyntax=Bloga brÅ«kÅ”ninio kodo sintaksė +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=Kliento kodas reikalingas ErrorBarCodeRequired=Reikalingas brÅ«kÅ”ninis kodas ErrorCustomerCodeAlreadyUsed=Kliento kodas jau naudojamas @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=JavaScript turi bÅ«ti neiÅ”jungtas, kad Å”i funkcij ErrorPasswordsMustMatch=Abu ÄÆvesti slaptažodžiai turi sutapti tarpusavyje ErrorContactEMail=Ä®vyko techninė klaida. Kreipkitės ÄÆ administratorių e-paÅ”tu %s ir pateikite klaidos kodą %s savo laiÅ”ke, arba dar geriau, pridėkite Å”io puslapio ekrano kopiją. ErrorWrongValueForField=Neteisinga laukelio numerio reikÅ”mė %s (reikÅ”mė '%s' neatitinka reguliarios iÅ”raiÅ”kos (regex) taisyklės %s) -ErrorFieldValueNotIn=Neteisinga reikÅ”mė laukelio numeriui %s (reikÅ”mė '%s' nėra reikÅ”mė galima laukeliui %s lentelėje %s +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Neteisinga reikÅ”mė laukelio numeriui %s (reikÅ”mė '%s' yra ne %s egzistuojanti nuoroda) ErrorsOnXLines=Klaidos %s Å”altinio ÄÆraÅ”e (-uose) ErrorFileIsInfectedWithAVirus=Antivirusinė programa negali patvirtinti failo (failas gali bÅ«ti užkrėstas virusu) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/lt_LT/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/lt_LT/install.lang b/htdocs/langs/lt_LT/install.lang index 8eb2ffae566..c674023e512 100644 --- a/htdocs/langs/lt_LT/install.lang +++ b/htdocs/langs/lt_LT/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Paskutinis žingsnis: Nustatykite čia prisijungim ActivateModule=Ä®jungti modulÄÆ %s ShowEditTechnicalParameters=Spauskite čia, kad galėtumete matyti/redaguoti iÅ”plėstinius parametrus (eksperto režime) 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 diff --git a/htdocs/langs/lt_LT/main.lang b/htdocs/langs/lt_LT/main.lang index e40b7b58905..1ff97860263 100644 --- a/htdocs/langs/lt_LT/main.lang +++ b/htdocs/langs/lt_LT/main.lang @@ -141,6 +141,7 @@ Cancel=AtÅ”aukti Modify=Pakeisti Edit=Redaguoti Validate=Patvirtinti +ValidateAndApprove=Validate and Approve ToValidate=Patvirtinti Save=IÅ”saugoti SaveAs=ĮŔsaugoti kaip @@ -158,6 +159,7 @@ Search=IeÅ”koti SearchOf=IeÅ”koti Valid=Galiojantis Approve=Patvirtinti +Disapprove=Disapprove ReOpen=Atidaryti iÅ” naujo Upload=Siųsti failą ToLink=Nuoroda @@ -219,6 +221,7 @@ Cards=Kortelės Card=Kortelė Now=Dabar Date=Data +DateAndHour=Date and hour DateStart=Pradžios data DateEnd=Pabaigos data DateCreation=SukÅ«rimo data @@ -295,6 +298,7 @@ UnitPriceHT=Vieneto kaina (grynoji) UnitPriceTTC=Vieneto kaina PriceU=U.P. PriceUHT=U.P. (grynasis) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=U.P. Amount=Suma AmountInvoice=Sąskaitos-faktÅ«ros suma @@ -521,6 +525,7 @@ DateFromTo=Nuo %s ÄÆ %s DateFrom=Nuo %s DateUntil=Iki %s Check=Patikrinti +Uncheck=Uncheck Internal=Vidinis External=IÅ”orinis Internals=Vidinis @@ -688,6 +693,7 @@ PublicUrl=VieÅ”as URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Pirmadienis Tuesday=Antradienis diff --git a/htdocs/langs/lt_LT/orders.lang b/htdocs/langs/lt_LT/orders.lang index ddaf28f61ab..9ddb927bb6f 100644 --- a/htdocs/langs/lt_LT/orders.lang +++ b/htdocs/langs/lt_LT/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=AtÅ”auktas StatusOrderDraft=Projektas (turi bÅ«ti patvirtintas) StatusOrderValidated=Patvirtintas StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Apdorotas StatusOrderToBill=Pristatyta StatusOrderToBill2=Pateikti sąskaitą-faktÅ«rą @@ -58,6 +59,7 @@ MenuOrdersToBill=Pristatyti užsakymai MenuOrdersToBill2=Billable orders SearchOrder=IeÅ”koti užsakymo SearchACustomerOrder=IeÅ”koti kliento užsakymo +SearchASupplierOrder=Search a supplier order ShipProduct=Gabenti produktą Discount=Nuolaida CreateOrder=Sukurti Užsakymą diff --git a/htdocs/langs/lt_LT/other.lang b/htdocs/langs/lt_LT/other.lang index 36fb7dd69b7..1a21722f710 100644 --- a/htdocs/langs/lt_LT/other.lang +++ b/htdocs/langs/lt_LT/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksimalus dydis AttachANewFile=Pridėti naują failą/dokumentą LinkedObject=Susietas objektas Miscellaneous=Ä®vairus -NbOfActiveNotifications=PraneÅ”imų skaičius +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Tai yra paÅ”to bandymas.\nDvi eilutės yra atskirtos eilutės perkėlimo ženklu.\n\n __SIGNATURE__ PredefinedMailTestHtml=Tai yra paÅ”to bandymas (žodis bandymas turi bÅ«ti paryÅ”kintas)
    Dvi eilutės yra atskirtos eilutės perkėlimo ženklu.

    __SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nČia rasite sąskaitą-faktÅ«rą __ FACREF__\n\n__ PERSONALIZED__Sincerely\n\n__ SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nNorime jus perspėti, kad sąskaita-faktÅ«ra __ FACREF__ atrodo yra neapmokėta. Todėl tai yra pakartotinis priminimas apmokėti sąskaitą-faktÅ«rą ir pakartotinai prikabinta sąskaita-faktÅ«ra.\n\n__PERSONALIZED__Sincerely\n\n__ SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nČia rasite komercinÄÆ pasiÅ«lymą __ 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\nČia rasite užsakymą __ ORDERREF__\n\n__ PERSONALIZED__Sincerely\n\n__ SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nČia rasite mÅ«sų užsakymą __ ORDERREF__\n\n__ PERSONALIZED__Sincerely\n\n__ SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nČia rasite sąskaitą-faktÅ«rą __ FACREF__\n\n__ PERSONALIZED__Sincerely\n\n__ SIGNATURE__ diff --git a/htdocs/langs/lt_LT/printing.lang b/htdocs/langs/lt_LT/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/lt_LT/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/lt_LT/productbatch.lang +++ b/htdocs/langs/lt_LT/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/lt_LT/products.lang b/htdocs/langs/lt_LT/products.lang index 1b39c2adf11..119a17d71e2 100644 --- a/htdocs/langs/lt_LT/products.lang +++ b/htdocs/langs/lt_LT/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/lt_LT/projects.lang b/htdocs/langs/lt_LT/projects.lang index 9ee14f63ec0..571dc0007cc 100644 --- a/htdocs/langs/lt_LT/projects.lang +++ b/htdocs/langs/lt_LT/projects.lang @@ -8,8 +8,10 @@ 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. 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). 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ą). ProjectsArea=Projektų sritis @@ -29,6 +31,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 TimesSpent=Praleistas laikas RefTask=Užduoties nuoroda LabelTask=Etiketės užduotis @@ -67,7 +71,7 @@ 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 -ListTripAssociatedProject=Kelionių ir iÅ”laidų, susijusių su projektų, sąraÅ”as +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Ä®vykių, susijusių su projektu, sąraÅ”as ActivityOnProjectThisWeek=Projekto aktyvumas Å”ią savaitę ActivityOnProjectThisMonth=Projekto aktyvumas Ŕį mėnesÄÆ @@ -126,10 +130,15 @@ AddElement=Susieti su elementu UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Pilnas projekto ataskaitos modelis (logo. ..) -PlannedWorkload = Planuojamas darbo krÅ«vis -WorkloadOccupation= Darbo krÅ«vio paskirtis +PlannedWorkload=Planuojamas darbo krÅ«vis +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 diff --git a/htdocs/langs/lt_LT/salaries.lang b/htdocs/langs/lt_LT/salaries.lang index edca71a1829..a36e72679b2 100644 --- a/htdocs/langs/lt_LT/salaries.lang +++ b/htdocs/langs/lt_LT/salaries.lang @@ -1,8 +1,13 @@ # Dolibarr language file - Source file is en_US - users -Salary=Salary -Salaries=Salaries -Employee=Employee -NewSalaryPayment=New salary payment -SalaryPayment=Salary payment -SalariesPayments=Salaries payments -ShowSalaryPayment=Show salary payment +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Accountancy code for salaries payments +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Accountancy code for financial charge +Salary=Atlyginimas +Salaries=Atlyginimai +Employee=Darbuotojas +NewSalaryPayment=Naujas atlyginimo mokėjimas +SalaryPayment=Atlyginimo mokėjimas +SalariesPayments=Atlyginimų mokėjimai +ShowSalaryPayment=Rodyti atlyginimo mokėjimą +THM=Average hourly price +TJM=Average daily price +CurrentSalary=Current salary diff --git a/htdocs/langs/lt_LT/sendings.lang b/htdocs/langs/lt_LT/sendings.lang index 9c22f2b507a..15cf1916fcf 100644 --- a/htdocs/langs/lt_LT/sendings.lang +++ b/htdocs/langs/lt_LT/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Užsakytas kiekis QtyShipped=IÅ”siųstas kiekis QtyToShip=Kiekis iÅ”siuntimui QtyReceived=Gautas kiekis -KeepToShip=Laikyti siuntimui +KeepToShip=Remain to ship OtherSendingsForSameOrder=Kiti vežimai, skirti Å”iam užsakymui DateSending=Užsakymo iÅ”siuntimo data DateSendingShort=Užsakymo iÅ”siuntimo data diff --git a/htdocs/langs/lt_LT/stocks.lang b/htdocs/langs/lt_LT/stocks.lang index 60c6bbe71e7..4f773f2b5b5 100644 --- a/htdocs/langs/lt_LT/stocks.lang +++ b/htdocs/langs/lt_LT/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Vidutinė svertinė kaina PMPValueShort=WAP EnhancedValueOfWarehouses=Sandėlių vertė UserWarehouseAutoCreate=Kuriant vartotoją, sandėlÄÆ sukurti automatiÅ”kai +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Kiekis iÅ”siųstas QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Sandėlis %s bus naudojamos atsargų sumažėji 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=Tai sąraÅ”as visų atidarytų tiekėjo užsakymų +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=Papildymai NbOfProductBeforePeriod=Produkto %s kiekis atsargose iki pasirinkto periodo (< %s) NbOfProductAfterPeriod=Produkto %s kiekis sandėlyje po pasirinkto periodo (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/lt_LT/suppliers.lang b/htdocs/langs/lt_LT/suppliers.lang index f53d7984e4a..63a3de6a9e5 100644 --- a/htdocs/langs/lt_LT/suppliers.lang +++ b/htdocs/langs/lt_LT/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Tiekėjai -Supplier=Tiekėjas AddSupplier=Create a supplier SupplierRemoved=Tiekėjas paÅ”alintas SuppliersInvoice=Tiekėjo sąskaita-faktÅ«ra @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Tiekėjo sąskaitos-faktÅ«ros ir mokėjimai ExportDataset_fournisseur_3=Tiekėjo užsakymai ir užsakymo eilutės ApproveThisOrder=Patvirtinti Ŕį užsakymą ConfirmApproveThisOrder=Ar tikrai norite patvirtinti užsakymą %s ? -DenyingThisOrder=Neigiantis Ŕį užsakymą +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ar tikrai norite atsisakyti Å”io užsakymo s? ConfirmCancelThisOrder=Ar tikrai norite atÅ”aukti Ŕį užsakymą %s ? AddCustomerOrder=Sukurti kliento užsakymą diff --git a/htdocs/langs/lt_LT/trips.lang b/htdocs/langs/lt_LT/trips.lang index 42c60e6a183..640346bb6f6 100644 --- a/htdocs/langs/lt_LT/trips.lang +++ b/htdocs/langs/lt_LT/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=IÅ”jungimas -Trips=IÅ”jungimai -TripsAndExpenses=IÅ”jungimai ir iÅ”laidos -TripsAndExpensesStatistics=IÅ”jungimų ir iÅ”laidų statistika -TripCard=IÅ”jungimo kortelė -AddTrip=Pridėti iÅ”jungimą -ListOfTrips=IÅ”jungimų sąraÅ”as +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=Ä®mokų sąraÅ”as -NewTrip=Naujas iÅ”jungimas +NewTrip=New expense report CompanyVisited=aplankyta ÄÆmonė/organizacija Kilometers=Kilometrų FeesKilometersOrAmout=Kilometrų kiekis -DeleteTrip=IÅ”trinti iÅ”jungimą -ConfirmDeleteTrip=Ar tikrai norite iÅ”trinti Ŕį iÅ”jungimą ? -TF_OTHER=Kitas -TF_LUNCH=PietÅ«s -TF_TRIP=IÅ”jungimas -ListTripsAndExpenses=IÅ”jungimų ir iÅ”laidų sąraÅ”as -ExpensesArea=IÅ”jungimų ir iÅ”laidų sritis -SearchATripAndExpense=IeÅ”koti iÅ”jungimo ir iÅ”laidų +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=Kitas +TF_TRANSPORTATION=Transportation +TF_LUNCH=PietÅ«s +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/lv_LV/accountancy.lang b/htdocs/langs/lv_LV/accountancy.lang index 801ddcc484a..3f5828327f7 100644 --- a/htdocs/langs/lv_LV/accountancy.lang +++ b/htdocs/langs/lv_LV/accountancy.lang @@ -13,7 +13,7 @@ ConfigAccountingExpert=Configuration of the module accounting expert Journaux=Žurnāli JournalFinancial=Financial journals Exports=Eksports -Export=Export +Export=Eksportēt Modelcsv=Eksporta modulis OptionsDeactivatedForThisExportModel=For this export model, options are deactivated Selectmodelcsv=Select a model of export @@ -68,7 +68,7 @@ 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_SEPARATORCSV=Kolonu atdalÄ«tājs eksportējamā failā 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 diff --git a/htdocs/langs/lv_LV/admin.lang b/htdocs/langs/lv_LV/admin.lang index 44dd8ffd72a..5cfd0de415e 100644 --- a/htdocs/langs/lv_LV/admin.lang +++ b/htdocs/langs/lv_LV/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperimentāls VersionDevelopment=AttÄ«stÄ«ba VersionUnknown=Nezināms VersionRecommanded=Ieteicams +FileCheck=Failu veselums +FilesMissing=TrÅ«kstoÅ”ie faili +FilesUpdated=Atjaunotie faili +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sesijas ID SessionSaveHandler=Handler, lai saglabātu sesijas SessionSavePath=Atmiņas sesija lokalizācija @@ -294,7 +299,7 @@ DoNotUseInProduction=Neizmantot produkcijā ThisIsProcessToFollow=Tas ir setup, lai 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=Download package %s. +DownloadPackageFromWebSite=Lejupielādēt paku %s UnpackPackageInDolibarrRoot=Izkravāt paketi failu Dolibarr saknes direktorijā %s SetupIsReadyForUse=InstalēŔana ir pabeigta, un Dolibarr ir gatavs lietoÅ”anai ar Å”o jauno komponentu. NotExistsDirect=AlternatÄ«va saknes direktorijs nav definēta.
    @@ -388,7 +393,7 @@ ExtrafieldParamHelpselect=Parameters list have to be like key,value

    for 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 +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=Dažas valstis piemēro 2 vai 3 nodokļus par katru PVN rēķinu rindā. Ja tas ir gadÄ«jums, izvēlieties veidu otrajā un treÅ”ajā nodokli un tā likmi. Iespējamais veids ir:
    1: vietējais nodoklis attiecas uz produktiem un pakalpojumiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
    2: vietējais nodoklis attiecas uz produktiem un pakalpojumiem, bez PVN (PVN aprēķina summas + localtax)
    3: vietējais nodoklis attiecas uz produktiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
    4: vietējais nodoklis attiecas uz produktiem, bez PVN (PVN aprēķina summas + localtax)
    5: vietējais nodoklis attiecas uz pakalpojumiem, bez PVN (PVN netiek piemērots vietējiem nodokļiem)
    6: vietējais nodoklis attiecas uz pakalpojumiem, bez PVN (PVN aprēķina summas + localtax) @@ -493,10 +498,16 @@ Module600Name=Paziņojumi Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Ziedojumi Module700Desc=Ziedojumu pārvaldÄ«ba +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=DievlÅ«dzējs Module1200Desc=Mantis integrācija Module1400Name=GrāmatvedÄ«ba Module1400Desc=GrāmatvedÄ«bas vadÄ«ba (dubultā partijas) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Sadaļas Module1780Desc=Kategoriju vadÄ«ba (produktiem, piegādātājiem un klientiem) Module2000Name=WYSIWYG redaktors @@ -631,7 +642,7 @@ Permission181=LasÄ«t piegādātāju pasÅ«tÄ«jumus Permission182=Izveidot/mainÄ«t piegādātāju pasÅ«tÄ«jumus Permission183=Apstiprināt piegādātāju pasÅ«tÄ«jumus Permission184=Apstiprināt piegādātāja pasÅ«tÄ«jumus -Permission185=PasÅ«tÄ«t piegādātājs pasÅ«tÄ«jumi +Permission185=Order or cancel supplier orders Permission186=Saņemt piegādātāju pasÅ«tÄ«jumus Permission187=Aizvērt piegādātāja pasÅ«tÄ«jumus Permission188=Atcelt piegādātāja pasÅ«tÄ«jumus @@ -711,6 +722,13 @@ Permission538=Eksportēt pakalpojumus Permission701=LasÄ«t ziedojumus Permission702=Izveidot/mainÄ«t ziedojumus Permission703=Dzēst ziedojumus +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=LasÄ«t krājumus Permission1002=Assign service/subscription to contract Permission1003=Dzēst noliktavas @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Parole, lai izmantotu starpniekserveri DefineHereComplementaryAttributes=Definēt Å”eit visi atribÅ«ti, jau nav pieejama pēc noklusējuma, un, ka jÅ«s vēlaties bÅ«t atbalstÄ«ta %s. ExtraFields=PapildbarÄ«ba atribÅ«ti ExtraFieldsLines=PapildinoÅ”as atribÅ«ti (lÄ«nijas) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=PapildinoÅ”as atribÅ«ti (thirdparty) ExtraFieldsContacts=PapildinoÅ”as atribÅ«ti (kontaktpersona / adrese) ExtraFieldsMember=PapildinoÅ”as atribÅ«ti (biedrs) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Produkta / pakalpojuma ar nulles summu lÄ«nija tiek uz FreeLegalTextOnProposal=BrÄ«vais teksts komerciālajos priekÅ”likumos WatermarkOnDraftProposal=ÅŖdenszÄ«me projektu komerciālo priekÅ”likumu (none ja tukÅ”s) 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=PasÅ«tÄ«jumu vadÄ«bas iestatīŔana OrdersNumberingModules=PasÅ«tÄ«jumu numerācijas modeļi @@ -1383,7 +1410,7 @@ BarcodeDescUPC=SvÄ«trkoda veids UPC BarcodeDescISBN=SvÄ«trkoda veids ISBN BarcodeDescC39=SvÄ«trkoda veids C39 BarcodeDescC128=SvÄ«trkoda veids C128 -GenbarcodeLocation=SvÄ«tru kodu Ä£enerēŔanas komandrindas rÄ«ks (ko izmanto iekŔējo dzinēju dažiem svÄ«trkodu veidiem) +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 ##### Prelevements ##### @@ -1409,7 +1436,7 @@ SendingsReceiptModel=NosÅ«tot saņemÅ”anas modeli SendingsNumberingModules=Sendings numerācijas moduļus SendingsAbility=Support shipment sheets for customer deliveries NoNeedForDeliveryReceipts=Vairumā gadÄ«jumu, sendings ieņēmumi tiek izmantoti gan kā loksnes klientu piegādēm (produktu sarakstu, lai nosÅ«tÄ«tu) un loksnes, kas tiek recevied un paraksta klientu. Tātad produkta piegādes kvÄ«tis ir dublēta iezÄ«me, un reti aktivizēts. -FreeLegalTextOnShippings=Free text on shipments +FreeLegalTextOnShippings=BrÄ«vais teksts piegādēs ##### Deliveries ##### DeliveryOrderNumberingModules=Produkti piegādes kvÄ«ts numerācija modulis DeliveryOrderModel=Produkti piegādes kvÄ«ts modelis @@ -1420,7 +1447,7 @@ AdvancedEditor=Uzlabotais redaktors ActivateFCKeditor=Aktivizēt uzlabotos redaktoru: FCKeditorForCompany=WYSIWYG izveidi / izdevums no elementiem apraksta un piezÄ«mi (izņemot produktu / pakalpojumu) FCKeditorForProduct=WYSIWYG radīŔana / izdevums produktu / pakalpojumu apraksts un atzÄ«mēt -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. +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.\n FCKeditorForMailing= WYSIWYG izveide/ izdevums masveida emailings (Tools-> e-pastu) FCKeditorForUserSignature=WYSIWYG izveide/laboÅ”ana lietotāja paraksta FCKeditorForMail=WYSIWYG izveidi / izdevums visām vēstulēm (izņemot Outils-> e-pastu) @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Noklusējuma konts, lai izmantotu, lai saņemtu naudas maksājumus CashDeskBankAccountForCheque= Noklusējuma konts, lai izmantotu, lai saņemtu maksājumus ar čeku CashDeskBankAccountForCB= Noklusējuma konts, lai izmantotu, lai saņemtu maksājumus ar kredÄ«tkarti -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=GrāmatzÄ«me modulis iestatīŔanu @@ -1525,7 +1553,7 @@ BankOrderESDesc=Spāņu displejs, lai ##### Multicompany ##### MultiCompanySetup=Multi-kompānija modulis iestatīŔana ##### Suppliers ##### -SuppliersSetup=Piegādātājs modulis uzstādīŔana +SuppliersSetup=Piegādātāja moduļa iestatÄ«jumi SuppliersCommandModel=PilnÄ«ga veidni no piegādātāja secÄ«bā (logo. ..) SuppliersInvoiceModel=PilnÄ«ga veidni no piegādātāja rēķina (logo. ..) SuppliersInvoiceNumberingModel=Piegādātāju rēķinu numerācijas modeļus @@ -1569,3 +1597,7 @@ SortOrder=KārtoÅ”anas secÄ«ba Format=Formāts TypePaymentDesc=0:Klienta maksāŔanas veids, 1:Piegādātāja maksāŔanas veids, 2:Abi klientu un piegādātāju maksāŔanas veids 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. diff --git a/htdocs/langs/lv_LV/agenda.lang b/htdocs/langs/lv_LV/agenda.lang index a301f51c95e..9cca7068840 100644 --- a/htdocs/langs/lv_LV/agenda.lang +++ b/htdocs/langs/lv_LV/agenda.lang @@ -59,7 +59,7 @@ InvoiceSentByEMail=Klienta rēķins %s nosÅ«tÄ«ts pa e-pastu SupplierOrderSentByEMail=Piegādātāja pasÅ«tÄ«jums %s nosÅ«tÄ«ts pa e-pastu SupplierInvoiceSentByEMail=Piegādātāja rēķins %s nosÅ«tÄ«ts pa e-pastu ShippingSentByEMail=Shipment %s sent by EMail -ShippingValidated= Shipment %s validated +ShippingValidated= SÅ«tÄ«jums %s apstiprināts InterventionSentByEMail=Intervention %s sent by EMail NewCompanyToDolibarr= TreŔā puses izveidota DateActionPlannedStart= Plānotais sākuma datums diff --git a/htdocs/langs/lv_LV/banks.lang b/htdocs/langs/lv_LV/banks.lang index 501b8adc1e0..3c7dfa65ec1 100644 --- a/htdocs/langs/lv_LV/banks.lang +++ b/htdocs/langs/lv_LV/banks.lang @@ -8,7 +8,7 @@ FinancialAccount=Konts FinancialAccounts=Konti BankAccount=Bankas konts BankAccounts=Banku konti -ShowAccount=Show Account +ShowAccount=RādÄ«t kontu AccountRef=FinanÅ”u konta ref AccountLabel=FinanÅ”u konts nosaukums CashAccount=Skaidras naudas konts @@ -33,7 +33,11 @@ AllTime=No sākuma Reconciliation=SamierināŔanās RIB=Bankas konta numurs IBAN=IBAN numurs +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT numurs +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Regulārie maksājumi StandingOrder=Regulārais maksājums Withdrawals=Izņemts @@ -148,7 +152,7 @@ BackToAccount=Atpakaļ uz kontu ShowAllAccounts=ParādÄ«t visiem kontiem FutureTransaction=DarÄ«jumi ar Futur. Nav veids, kā samierināt. SelectChequeTransactionAndGenerate=Izvēlieties / filtru pārbaudes, lai iekļautu uz pārbaudes depozÄ«ta saņemÅ”anas un noklikŔķiniet uz "Izveidot". -InputReceiptNumber=Izvēlieties konta izrakstu, kas saistÄ«ti ar izlÄ«gumu. Izmantojiet sortable skaitlisku vērtÄ«bu (piemēram, GGGGMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Galu galā, norādiet kategoriju, kurā klasificēt ierakstus ToConciliate=Samierināt? ThenCheckLinesAndConciliate=Tad pārbaudiet lÄ«nijas, kas atrodas bankas izrakstā, un noklikŔķiniet diff --git a/htdocs/langs/lv_LV/bills.lang b/htdocs/langs/lv_LV/bills.lang index 3813f4f5db7..cf62660e3df 100644 --- a/htdocs/langs/lv_LV/bills.lang +++ b/htdocs/langs/lv_LV/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=PavadzÄ«me Bills=PavadzÄ«mes -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Klientu rēķini +BillsCustomer=Klientu rēķins +BillsSuppliers=Piegādātāju rēķini +BillsCustomersUnpaid=Neapmaksātie klientu rēķini BillsCustomersUnpaidForCompany=Neapmaksātie klientu rēķini %s BillsSuppliersUnpaid=Neapmaksātie piegādātāja -u rēķini BillsSuppliersUnpaidForCompany=Neapmaksātie piegādātāja -u rēķini %s BillsLate=Kavētie maksājumi -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Suppliers invoices statistics +BillsStatistics=Klientu rēķinu statistika +BillsStatisticsSuppliers=Piegādātāju rēķinu statistika DisabledBecauseNotErasable=Bloķēts, jo nedrÄ«kst dzēst InvoiceStandard=Standarta rēķins InvoiceStandardAsk=Standarta rēķins @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Jau samaksāts PaymentsBackAlreadyDone=Maksājumi atpakaļ izdarÄ«juÅ”as PaymentRule=Maksājuma noteikums PaymentMode=Maksājuma veids -PaymentConditions=Maksājuma noteikumi -PaymentConditionsShort=Maksājuma noteikumi +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Maksājuma summa ValidatePayment=Apstiprināt maksājumu PaymentHigherThanReminderToPay=Maksājumu augstāka nekā atgādinājums par samaksu @@ -420,8 +421,8 @@ 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 +ModifyAllLines=Labot visas lÄ«nijas +CreateNextSituationInvoice=Izveidot nākoÅ”o situāciju 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. diff --git a/htdocs/langs/lv_LV/commercial.lang b/htdocs/langs/lv_LV/commercial.lang index 9d5f0f83f94..cd11fb1be26 100644 --- a/htdocs/langs/lv_LV/commercial.lang +++ b/htdocs/langs/lv_LV/commercial.lang @@ -9,12 +9,12 @@ Prospect=PerspektÄ«va Prospects=PerspektÄ«vas DeleteAction=Dzēst notikumu/uzdevumu NewAction=Jauns notikums/uzdevums -AddAction=Pievienot notikumu/uzdevumu -AddAnAction=Pievienot notikumu/uzdevumu -AddActionRendezVous=Pievienot Rendez-vous notikumu +AddAction=Izveidot notikumu/uzdevumu +AddAnAction=Izveidot notikumu/uzdevumu +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=SatikÅ”anās ConfirmDeleteAction=Vai tieŔām vēlaties dzēst Å”o notikumu / uzdevumu? -CardAction=Notikumu karte +CardAction=Notikumu kartiņa PercentDone=Procentuāli pabeigts ActionOnCompany=Uzdevums par uzņēmumu ActionOnContact=Uzdevums par kontaktu @@ -33,7 +33,7 @@ ErrorWrongCode=Nepareizs kods NoSalesRepresentativeAffected=Nav Ä«paÅ”i tirdzniecÄ«bas pieŔķirts pārstāvis ShowCustomer=RādÄ«t klientu ShowProspect=RādÄ«t izredzes -ListOfProspects=Saraksts perspektÄ«vas +ListOfProspects=PerspektÄ«vu saraksts ListOfCustomers=Klientu saraksts LastDoneTasks=Pēdējie %s pabeigtie uzdevumi LastRecordedTasks=Pēdējās ierakstÄ«tie uzdevumi @@ -44,8 +44,8 @@ DoneActions=ÄŖstenotie pasākumi DoneActionsFor=Pabeigtie notikumi %s ToDoActions=Nepabeigtie notikumi ToDoActionsFor=NepilnÄ«gi notikumi %s -SendPropalRef=SÅ«tÄ«t komerciālu priekÅ”likumu, %s -SendOrderRef=NosÅ«tÄ«t pasÅ«tÄ«jumu %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Nav piemērojams StatusActionToDo=Jāizdara StatusActionDone=Pabeigts @@ -60,9 +60,9 @@ LastProspectToContact=Jāsazinās LastProspectContactInProcess=SazināŔanās procesā LastProspectContactDone=Sazinājāmies DateActionPlanned=Datums, kad pasākums plānots -DateActionDone=Datums notikums darÄ«ts +DateActionDone=Datums, kad notikums pabeigts ActionAskedBy=Par notikumu ziņoja -ActionAffectedTo=Notikums pieŔķirts +ActionAffectedTo=Event assigned to ActionDoneBy=Notikumu veic ActionUserAsk=Ziņoja ErrorStatusCantBeZeroIfStarted=Ja lauks "Datums darÄ«ts" tiek aizpildÄ«ta, darbÄ«ba tiek uzsākts (vai pabeigts), lai lauka "Statuss" nevar bÅ«t 0%%. diff --git a/htdocs/langs/lv_LV/contracts.lang b/htdocs/langs/lv_LV/contracts.lang index 811966b56c3..f72655e0e14 100644 --- a/htdocs/langs/lv_LV/contracts.lang +++ b/htdocs/langs/lv_LV/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Beidzies ServiceStatusClosed=Slēgts ServicesLegend=Pakalpojumu apraksts Contracts=LÄ«gumi +ContractsAndLine=Contracts and line of contracts Contract=LÄ«gums NoContracts=Nav lÄ«gumi MenuServices=Pakalpojumi diff --git a/htdocs/langs/lv_LV/cron.lang b/htdocs/langs/lv_LV/cron.lang index bc571e1860a..d75495175ef 100644 --- a/htdocs/langs/lv_LV/cron.lang +++ b/htdocs/langs/lv_LV/cron.lang @@ -84,3 +84,4 @@ 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=Task disabled diff --git a/htdocs/langs/lv_LV/errors.lang b/htdocs/langs/lv_LV/errors.lang index b34b89c418a..c3f12157435 100644 --- a/htdocs/langs/lv_LV/errors.lang +++ b/htdocs/langs/lv_LV/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Avots un mērÄ·iem banku kontiem jābÅ«t atŔķir ErrorBadThirdPartyName=Nepareiza vērtÄ«ba treÅ”o personu nosaukumā ErrorProdIdIsMandatory=%s ir obligāti ErrorBadCustomerCodeSyntax=Nepareiza klienta koda sintakse -ErrorBadBarCodeSyntax=Nepareiza sintakse svÄ«trukodam +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=Klienta kods nepiecieÅ”ams ErrorBarCodeRequired=SvÄ«trkods nepiecieÅ”ams ErrorCustomerCodeAlreadyUsed=Klienta kods jau tiek izmantots @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript nedrÄ«kst tikt izslēgti, ka Ŕī funkci ErrorPasswordsMustMatch=Abām ievadÄ«tām parolēm jāsakrÄ«t ErrorContactEMail=Tehniska kļūda. LÅ«dzu, sazinieties ar administratoru pa sekojoÅ”u e-pastu %s, lai iesniegtu kļūdas kodu %s jÅ«su ziņojumā, vai labāk, pievienojot Ŕīs lapas ekrāna. ErrorWrongValueForField=Nepareiza vērtÄ«ba lauka numuru %s (vērtÄ«ba '%s' nesakrÄ«t regex noteikums %s) -ErrorFieldValueNotIn=Nepareiza vērtÄ«ba lauka numura %s (vērtÄ«ba "%s" nav vērtÄ«ba, pieejams uz lauka %s galda %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Nepareiza vērtÄ«ba lauka numuru %s (vērtÄ«ba "%s" nav %s esoÅ”o ref) ErrorsOnXLines=Kļūdas %s avota ierakstu (-s) ErrorFileIsInfectedWithAVirus=AntivÄ«rusu programma nevarēja apstiprināt failu (fails varētu bÅ«t inficēti ar vÄ«rusu) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=IekŔēja kļūda '%s' ErrorPriceExpressionUnknown=Nezināma kļūda '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/lv_LV/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/lv_LV/install.lang b/htdocs/langs/lv_LV/install.lang index e2881caf007..3936294e463 100644 --- a/htdocs/langs/lv_LV/install.lang +++ b/htdocs/langs/lv_LV/install.lang @@ -155,7 +155,8 @@ MigrationFinished=Migrācija pabeigta LastStepDesc=Pēdējais solis: Noteikt Å”eit pieteikumvārdu un paroli, jÅ«s plānojat izmantot, lai izveidotu savienojumu ar programmatÅ«ru. Nepalaidiet garām Å”o, jo tas ir konts, lai administrētu visus pārējos. ActivateModule=Aktivizēt moduli %s ShowEditTechnicalParameters=NoklikŔķiniet Å”eit, lai parādÄ«tu / rediģēt papildu parametrus (ekspertu režīmā) -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... +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\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 diff --git a/htdocs/langs/lv_LV/main.lang b/htdocs/langs/lv_LV/main.lang index 4dfbe5b3e41..edc3343f1be 100644 --- a/htdocs/langs/lv_LV/main.lang +++ b/htdocs/langs/lv_LV/main.lang @@ -141,6 +141,7 @@ Cancel=Atcelt Modify=Modificēt Edit=Rediģēt Validate=PārbaudÄ«t +ValidateAndApprove=Validate and Approve ToValidate=Jāpārbauda Save=Saglabāt SaveAs=Saglabāt kā @@ -158,6 +159,7 @@ Search=MeklēŔana SearchOf=MeklēŔana Valid=DerÄ«gs Approve=Apstiprināt +Disapprove=Disapprove ReOpen=Atvērt par jaunu Upload=AugÅ”upielādēt failu ToLink=Saite @@ -219,6 +221,7 @@ Cards=Kartes Card=Karte Now=Tagad Date=Datums +DateAndHour=Date and hour DateStart=Sākuma datums DateEnd=Beigu datums DateCreation=IzveidoÅ”anas datums @@ -295,6 +298,7 @@ UnitPriceHT=VienÄ«bas cena (neto) UnitPriceTTC=VienÄ«bas cena PriceU=UP PriceUHT=UP (neto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=Summa AmountInvoice=Rēķina summa @@ -521,6 +525,7 @@ DateFromTo=No %s lÄ«dz %s DateFrom=No %s DateUntil=LÄ«dz %s Check=PārbaudÄ«t +Uncheck=Uncheck Internal=IekŔējs External=Ārējs Internals=IekŔējs @@ -688,6 +693,7 @@ PublicUrl=Publiskā saite AddBox=Pievienot info logu SelectElementAndClickRefresh=Izvēlieties elementu un nospiediet atjaunot PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Pirmdiena Tuesday=Otrdiena diff --git a/htdocs/langs/lv_LV/orders.lang b/htdocs/langs/lv_LV/orders.lang index 32f63671aa0..abed9fe2985 100644 --- a/htdocs/langs/lv_LV/orders.lang +++ b/htdocs/langs/lv_LV/orders.lang @@ -16,7 +16,7 @@ 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=Customers orders +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 @@ -29,7 +29,7 @@ StatusOrderDraftShort=Projekts StatusOrderValidatedShort=Apstiprināts StatusOrderSentShort=Procesā StatusOrderSent=SÅ«tÄ«juma procesā -StatusOrderOnProcessShort=Ordered +StatusOrderOnProcessShort=PasÅ«tÄ«ts StatusOrderProcessedShort=Apstrādāti StatusOrderToBillShort=Pasludināts StatusOrderToBill2Short=Lai likumprojektu @@ -42,6 +42,7 @@ StatusOrderCanceled=Atcelts StatusOrderDraft=Projekts (ir jāapstiprina) StatusOrderValidated=Apstiprināts StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Apstrādāts StatusOrderToBill=Piegādāts StatusOrderToBill2=Lai likumprojektu @@ -58,6 +59,7 @@ MenuOrdersToBill=PasÅ«tÄ«jumi piegādāti MenuOrdersToBill2=Billable orders SearchOrder=MeklēŔanas kārtÄ«ba SearchACustomerOrder=Meklēt klienta pasÅ«tÄ«jumu +SearchASupplierOrder=Search a supplier order ShipProduct=SÅ«tÄ«t produktu Discount=Atlaide CreateOrder=Izveidot pasÅ«tÄ«jumu diff --git a/htdocs/langs/lv_LV/other.lang b/htdocs/langs/lv_LV/other.lang index 875d92a9d5e..731b200e05d 100644 --- a/htdocs/langs/lv_LV/other.lang +++ b/htdocs/langs/lv_LV/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksimālais izmērs AttachANewFile=Pievienot jaunu failu / dokumentu LinkedObject=SaistÄ«tais objekts Miscellaneous=Dažādi -NbOfActiveNotifications=Paziņojumu skaits +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Å is ir testa e-pasts \\ nthe divas lÄ«nijas ir atdalÄ«ti ar rakstatgriezi.. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Tas ir tests pasts (vārds testam jābÅ«t treknrakstā).
    Abas līnijas ir atdalīti ar rakstatgriezi.

    __SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\n\nYou will find here the invoice __FACREF__\n\n\n__PERSONALIZED__Sincerely\n\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\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\n__PERSONALIZED__Sincerely\n\n\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nJums tiek nosÅ«tÄ«ts komerciālais piedāvājums __PROPREF__\n\n__PERSONALIZED__Ar cieņu\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__ diff --git a/htdocs/langs/lv_LV/printing.lang b/htdocs/langs/lv_LV/printing.lang new file mode 100644 index 00000000000..7ca777ca34e --- /dev/null +++ b/htdocs/langs/lv_LV/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 ebb97632566..97e10b129ff 100644 --- a/htdocs/langs/lv_LV/productbatch.lang +++ b/htdocs/langs/lv_LV/productbatch.lang @@ -2,15 +2,15 @@ ManageLotSerial=Use batch/serial number ProductStatusOnBatch=Yes (Batch/serial required) ProductStatusNotOnBatch=No (Batch/serial not used) -ProductStatusOnBatchShort=Yes -ProductStatusNotOnBatchShort=No +ProductStatusOnBatchShort=Jā +ProductStatusNotOnBatchShort=Nē Batch=Batch/Serial atleast1batchfield=Eat-by date or Sell-by date or Batch number batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/lv_LV/products.lang b/htdocs/langs/lv_LV/products.lang index af56d19cd34..0a00746d8e3 100644 --- a/htdocs/langs/lv_LV/products.lang +++ b/htdocs/langs/lv_LV/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Numurs +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/lv_LV/projects.lang b/htdocs/langs/lv_LV/projects.lang index 1a098a76360..975654740b1 100644 --- a/htdocs/langs/lv_LV/projects.lang +++ b/htdocs/langs/lv_LV/projects.lang @@ -8,8 +8,10 @@ SharedProject=Visi PrivateProject=Kontakti Projekta MyProjectsDesc=Å is skats ir tikai uz projektiem, jums ir kontakts (kāds ir tipa). ProjectsPublicDesc=Å o viedokli iepazÄ«stina visus projektus jums ir atļauts lasÄ«t. +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). 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). ProjectsArea=Projektu sadaļa @@ -29,6 +31,8 @@ NoProject=Neviens projekts nosaka, vai Ä«paÅ”umā NbOpenTasks=Nb atvērto uzdevumu NbOfProjects=Nb projektu TimeSpent=Laiks, kas pavadÄ«ts +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Laiks, kas patērēts RefTask=Ref. uzdevums LabelTask=Label uzdevums @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Saraksts piegādātāja pasÅ«tÄ«jumu saistÄ« ListSupplierInvoicesAssociatedProject=Saraksts no piegādātāja rēķinus saistÄ«ts ar projekta ListContractAssociatedProject=LÄ«gumu sarakstu kas saistÄ«ti ar projektu ListFichinterAssociatedProject=Saraksts iejaukÅ”anās saistÄ«ts ar projektu -ListTripAssociatedProject=Saraksts braucieniem un izdevumus, kas saistÄ«ti ar projektu +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Saraksts ar notikumiem, kas saistÄ«ti ar projektu ActivityOnProjectThisWeek=Aktivitāte projektu Å”onedēļ ActivityOnProjectThisMonth=Aktivitāte projektu Å”omēnes @@ -126,10 +130,15 @@ AddElement=Saite uz elementu UnlinkElement=Unlink element # Documents models DocumentModelBaleine=PilnÄ«gu projekta ziņojums modelis (logo. ..) -PlannedWorkload = Plānotais darba apjoms -WorkloadOccupation= Darba slodze izlikÅ”anās +PlannedWorkload=Plānotais darba apjoms +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Atsaucoties objekti SearchAProject=Meklēt projektu ProjectMustBeValidatedFirst=Projektu vispirms jāpārbauda ProjectDraft=Melnraksta projekts 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 diff --git a/htdocs/langs/lv_LV/salaries.lang b/htdocs/langs/lv_LV/salaries.lang index 18b4acbec94..a08e7eca9b2 100644 --- a/htdocs/langs/lv_LV/salaries.lang +++ b/htdocs/langs/lv_LV/salaries.lang @@ -1,4 +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 Salary=Alga Salaries=Algas Employee=Darbinieks @@ -6,3 +8,6 @@ NewSalaryPayment=Jauna algas izmaksa SalaryPayment=Algas maksājums SalariesPayments=Algu maksājumi ShowSalaryPayment=RādÄ«t algu maksājumus +THM=Vidējā stundas cena +TJM=Vidējā dienas cena +CurrentSalary=Current salary diff --git a/htdocs/langs/lv_LV/sendings.lang b/htdocs/langs/lv_LV/sendings.lang index c2533cccfc9..3816af9db35 100644 --- a/htdocs/langs/lv_LV/sendings.lang +++ b/htdocs/langs/lv_LV/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=PasÅ«tÄ«tais daudzums QtyShipped=Daudzums kas nosÅ«tÄ«ts QtyToShip=Daudzums, kas jānosÅ«ta QtyReceived=Saņemtais daudzums -KeepToShip=Glabāt uz kuÄ£a +KeepToShip=Remain to ship OtherSendingsForSameOrder=Citas sÅ«tÄ«jumiem uz Å”o rÄ«kojumu DateSending=Datums nosÅ«tot kārtÄ«ba DateSendingShort=Datums nosÅ«tot kārtÄ«ba diff --git a/htdocs/langs/lv_LV/stocks.lang b/htdocs/langs/lv_LV/stocks.lang index 739152d7728..dc0003b69dd 100644 --- a/htdocs/langs/lv_LV/stocks.lang +++ b/htdocs/langs/lv_LV/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Vidējā svērtā cena PMPValueShort=VSC EnhancedValueOfWarehouses=Noliktavas vērtÄ«ba UserWarehouseAutoCreate=Izveidot noliktavu automātiski, veidojot lietotāju +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=NosÅ«tÄ«tais daudzums QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Noliktava %s tiks izmantota krājumu samazinā 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=Å is ir saraksts ar visiem atvērtajiem piegādātāju pasÅ«tÄ«jumiem +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=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) @@ -127,6 +128,7 @@ StockMustBeEnoughForShipment= Stock level must be enough to add product/service MovementLabel=Label of movement InventoryCode=Movement or inventory code IsInPackage=Contained into package -ShowWarehouse=Show warehouse +ShowWarehouse=RādÄ«t noliktavu MovementCorrectStock=Stock content correction for product %s MovementTransferStock=Stock transfer of product %s into another warehouse +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. diff --git a/htdocs/langs/lv_LV/suppliers.lang b/htdocs/langs/lv_LV/suppliers.lang index 2e943b50b46..5d278bd1f7a 100644 --- a/htdocs/langs/lv_LV/suppliers.lang +++ b/htdocs/langs/lv_LV/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Piegādātāji -Supplier=Piegādātājs AddSupplier=Izveidot piegādātāju SupplierRemoved=Piegādātājs izņem SuppliersInvoice=Piegādātāji rēķins @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Piegādātāju rēķiniem un maksājumiem ExportDataset_fournisseur_3=Piegādātājs pasÅ«tÄ«jumus un pasÅ«tÄ«jumu lÄ«nijas ApproveThisOrder=Apstiprināt Å”o pasÅ«tÄ«jumu ConfirmApproveThisOrder=Vai jÅ«s tieŔām vēlaties apstiprināt pasÅ«tÄ«jumu %s? -DenyingThisOrder=Liedzot Å”o pasÅ«tÄ«jumu +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Vai jÅ«s tieŔām vēlaties aizliegt Å”o pasÅ«tÄ«jumu %s ? ConfirmCancelThisOrder=Vai esat pārliecināts, ka vēlaties atcelt Å”o pasÅ«tÄ«jumu %s ? AddCustomerOrder=Izveidot klienta pasÅ«tÄ«jumu @@ -42,5 +41,5 @@ NoneOrBatchFileNeverRan=Neviens vai partijas %s ne skrēja nesen 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=Delivery delay in days +NbDaysToDelivery=Piegādes kavēŔanās dienās DescNbDaysToDelivery=The biggest delay is display among order product list diff --git a/htdocs/langs/lv_LV/trips.lang b/htdocs/langs/lv_LV/trips.lang index 6fa2983bfa0..27f569e1b83 100644 --- a/htdocs/langs/lv_LV/trips.lang +++ b/htdocs/langs/lv_LV/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Brauciens -Trips=Braucieni -TripsAndExpenses=Trips un izdevumi -TripsAndExpensesStatistics=Trips un izdevumi statistika -TripCard=Ceļojuma kartiņa -AddTrip=Pievienot ceļojumu -ListOfTrips=Saraksts braucieniem +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=Saraksts maksu -NewTrip=Jauns brauciens +NewTrip=New expense report CompanyVisited=Kompānija / organizācija apmeklēta Kilometers=Kilometri FeesKilometersOrAmout=Summa vai kilometri -DeleteTrip=Dzēst ceļojumu -ConfirmDeleteTrip=Vai tieŔām vēlaties dzēst Å”o braucienu? -TF_OTHER=Cits -TF_LUNCH=Pusdienas -TF_TRIP=Brauciens -ListTripsAndExpenses=Saraksts braucienu un izdevumu -ExpensesArea=Trips un izdevumi zona -SearchATripAndExpense=Meklēt ceļojumu un izdevumiem +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=Cits +TF_TRANSPORTATION=Transportation +TF_LUNCH=Pusdienas +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/mk_MK/admin.lang b/htdocs/langs/mk_MK/admin.lang index 38634cbd497..9782c2ea27f 100644 --- a/htdocs/langs/mk_MK/admin.lang +++ b/htdocs/langs/mk_MK/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/mk_MK/banks.lang b/htdocs/langs/mk_MK/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/mk_MK/banks.lang +++ b/htdocs/langs/mk_MK/banks.lang @@ -33,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 @@ -148,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/mk_MK/bills.lang b/htdocs/langs/mk_MK/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/mk_MK/bills.lang +++ b/htdocs/langs/mk_MK/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/mk_MK/commercial.lang b/htdocs/langs/mk_MK/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/mk_MK/commercial.lang +++ b/htdocs/langs/mk_MK/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/mk_MK/contracts.lang b/htdocs/langs/mk_MK/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/mk_MK/contracts.lang +++ b/htdocs/langs/mk_MK/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/mk_MK/cron.lang b/htdocs/langs/mk_MK/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/mk_MK/cron.lang +++ b/htdocs/langs/mk_MK/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/mk_MK/errors.lang b/htdocs/langs/mk_MK/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/mk_MK/errors.lang +++ b/htdocs/langs/mk_MK/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/mk_MK/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/mk_MK/install.lang b/htdocs/langs/mk_MK/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/mk_MK/install.lang +++ b/htdocs/langs/mk_MK/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/mk_MK/main.lang b/htdocs/langs/mk_MK/main.lang index 62adb884547..81deb7c28f0 100644 --- a/htdocs/langs/mk_MK/main.lang +++ b/htdocs/langs/mk_MK/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/mk_MK/orders.lang b/htdocs/langs/mk_MK/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/mk_MK/orders.lang +++ b/htdocs/langs/mk_MK/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/mk_MK/other.lang b/htdocs/langs/mk_MK/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/mk_MK/other.lang +++ b/htdocs/langs/mk_MK/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/mk_MK/printing.lang b/htdocs/langs/mk_MK/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/mk_MK/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/mk_MK/productbatch.lang +++ b/htdocs/langs/mk_MK/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/mk_MK/products.lang b/htdocs/langs/mk_MK/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/mk_MK/products.lang +++ b/htdocs/langs/mk_MK/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/mk_MK/projects.lang b/htdocs/langs/mk_MK/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/mk_MK/projects.lang +++ b/htdocs/langs/mk_MK/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/mk_MK/salaries.lang b/htdocs/langs/mk_MK/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/mk_MK/salaries.lang +++ b/htdocs/langs/mk_MK/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/mk_MK/sendings.lang b/htdocs/langs/mk_MK/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/mk_MK/sendings.lang +++ b/htdocs/langs/mk_MK/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/mk_MK/stocks.lang b/htdocs/langs/mk_MK/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/mk_MK/stocks.lang +++ b/htdocs/langs/mk_MK/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/mk_MK/suppliers.lang b/htdocs/langs/mk_MK/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/mk_MK/suppliers.lang +++ b/htdocs/langs/mk_MK/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 diff --git a/htdocs/langs/mk_MK/trips.lang b/htdocs/langs/mk_MK/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/mk_MK/trips.lang +++ b/htdocs/langs/mk_MK/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/nb_NO/admin.lang b/htdocs/langs/nb_NO/admin.lang index 238fc3708dd..a094028679b 100644 --- a/htdocs/langs/nb_NO/admin.lang +++ b/htdocs/langs/nb_NO/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperimentell VersionDevelopment=Utviklingsversjon VersionUnknown=Ukjent VersionRecommanded=Anbefalt +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Økt ID SessionSaveHandler=Handler for Ä lagre sessions SessionSavePath=Lagring økt lokalisering @@ -46,7 +51,7 @@ ErrorDecimalLargerThanAreForbidden=Feil: Presisjon over %s støttes ikke. DictionarySetup=Dictionary setup Dictionary=Dictionaries Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years +Fiscalyear=RegnskapsÄr ErrorReservedTypeSystemSystemAuto=Value 'system' og 'systemauto' for type er reservert. Du kan bruke 'user' som verdi Ä legge til din egen oppføring ErrorCodeCantContainZero=Koden kan ikke inneholde verdien 0 DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) @@ -80,7 +85,7 @@ NextValue=Neste verdi NextValueForInvoices=Neste verdi (fakturaer) NextValueForCreditNotes=Neste verdi (kreditnotaer) NextValueForDeposit=Next value (deposit) -NextValueForReplacements=Next value (replacements) +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 MaxSizeForUploadedFiles=Maksimal filstørrelse for opplasting av filer (0 for Ä ikke tillate opplasting) @@ -493,10 +498,16 @@ 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 +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=Mantis Module1200Desc=Mantisintegrasjon Module1400Name=Regnskapsekspert Module1400Desc=Behandling av regnskapssopplysninger for eksperter (double parties) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorier Module1780Desc=Behandling av kategorier (varer, leverandører og kunder) Module2000Name=Fckeditor @@ -522,7 +533,7 @@ Module3100Name=Skype Module3100Desc=Add a Skype button into card of adherents / third parties / contacts Module5000Name=Multi-selskap Module5000Desc=Lar deg administrere flere selskaper -Module6000Name=Workflow +Module6000Name=Arbeidsflyt Module6000Desc=Workflow management Module20000Name=Leave Requests management Module20000Desc=Declare and follow employees leaves requests @@ -631,7 +642,7 @@ Permission181=Vise leverandøreorde Permission182=Lage/endre leverandørordre Permission183=Godkjenne leverandørordre Permission184=Bekrefte leverandørerordre -Permission185=Bestille leverandørordre +Permission185=Order or cancel supplier orders Permission186=Motta leverandørordre Permission187=Lukke leverandørordre Permission188=Avbryte leverandørordre @@ -711,6 +722,13 @@ 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 Permission1001=Vise beholdning Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ 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. 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) ExtraFieldsMember=Komplementære attributter (medlem) @@ -1059,8 +1079,8 @@ 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. +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 @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=En produkt/tjeneste med med null i kvantum blir betrak FreeLegalTextOnProposal=Fritekst pÄ tilbud 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=Innstillinger for ordre OrdersNumberingModules=Nummereringsmodul for ordre @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Barcode of type UPC BarcodeDescISBN=Barcode of type ISBN BarcodeDescC39=Barcode of type C39 BarcodeDescC128=Barcode of type C128 -GenbarcodeLocation=Kommandolinjeverktøy for generering av strekkode (brukes av phpbarcode til noen strekkodetyper) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Kassekonto som skal brukes til kontantsalg CashDeskBankAccountForCheque= Konto som skal brukes til Ć„ motta utbetalinger via sjekk CashDeskBankAccountForCB= Konto som skal brukes til Ć„ motta kontant betaling med kredittkort -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Legg modul oppsett @@ -1540,7 +1568,7 @@ TestGeoIPResult=Test av en konvertering IP -> landet ProjectsNumberingModules=Prosjekter nummerering modulen ProjectsSetup=Prosjekt modul oppsett ProjectsModelModule=Prosjektets rapport dokument modellen -TasksNumberingModules=Tasks numbering module +TasksNumberingModules=Modul for oppgavenummerering TaskModelModule=Tasks reports document model ##### ECM (GED) ##### ECMSetup = GED Setup @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/nb_NO/agenda.lang b/htdocs/langs/nb_NO/agenda.lang index 33d73a70db1..dfddfc2b3e6 100644 --- a/htdocs/langs/nb_NO/agenda.lang +++ b/htdocs/langs/nb_NO/agenda.lang @@ -58,9 +58,9 @@ OrderSentByEMail=Kundeordrer %s pĆ„ e-post InvoiceSentByEMail=Faktura %s pĆ„ e-post SupplierOrderSentByEMail=LeverandĆør bestill %s pĆ„ e-post SupplierInvoiceSentByEMail=LeverandĆørfaktura %s pĆ„ e-post -ShippingSentByEMail=Shipment %s sent by EMail -ShippingValidated= Shipment %s validated -InterventionSentByEMail=Intervention %s sent by EMail +ShippingSentByEMail=Forsendelse %s sendt pĆ„ epost +ShippingValidated= Forsendelse %s godkjent +InterventionSentByEMail=Intervensjon %s sendt pĆ„ epost NewCompanyToDolibarr= Tredjepart opprettet DateActionPlannedStart= Planlagt startdato DateActionPlannedEnd= Planlagt sluttdato diff --git a/htdocs/langs/nb_NO/banks.lang b/htdocs/langs/nb_NO/banks.lang index 6c09ee45ac6..754164a0f69 100644 --- a/htdocs/langs/nb_NO/banks.lang +++ b/htdocs/langs/nb_NO/banks.lang @@ -8,7 +8,7 @@ FinancialAccount=Hovedbokskonto FinancialAccounts=Hovebokskonti BankAccount=Bankkonto BankAccounts=Bankkonti -ShowAccount=Show Account +ShowAccount=Vis konto AccountRef=Kontonummer hovedbokskonto AccountLabel=Kontonavn hovedbokskonto CashAccount=Kassekonto @@ -33,7 +33,11 @@ AllTime=Fra start Reconciliation=Bankavstemming RIB=Bankkontonummer IBAN=IBAN-nummer +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT-nummer +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=ƅpne ordre StandingOrder=ƅpne ordre Withdrawals=Uttak @@ -148,7 +152,7 @@ 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 (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/nb_NO/bills.lang b/htdocs/langs/nb_NO/bills.lang index 69715443816..510cc00557a 100644 --- a/htdocs/langs/nb_NO/bills.lang +++ b/htdocs/langs/nb_NO/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturaer -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Kundens fakturaer +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 BillsLate=Sene betalinger -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Suppliers invoices statistics +BillsStatistics=Kundens fakturastatistikk +BillsStatisticsSuppliers=LeverandĆørens fakturastatistikk DisabledBecauseNotErasable=Deaktivert fordi kan ikke slettes InvoiceStandard=Standardfaktura InvoiceStandardAsk=Standardfaktura @@ -66,16 +66,17 @@ ConfirmConvertToReduc=Ƙnsker du Ć„ konvertere denne kreditnotaen til absolutt r SupplierPayments=LeverandĆørbetalinger ReceivedPayments=Mottatte betalinger ReceivedCustomersPayments=Betalinger mottatt fra kunder -PayedSuppliersPayments=Payments payed to suppliers +PayedSuppliersPayments=Betalinger til leverandĆører ReceivedCustomersPaymentsToValid=Mottatte kundebetalinger som trenger godkjenning PaymentsReportsForYear=Betalingsrapport for %s PaymentsReports=Betalingsrapporter PaymentsAlreadyDone=Betalinger allerede utfĆørt -PaymentsBackAlreadyDone=Payments back already done +PaymentsBackAlreadyDone=Tilbakebetalinger allerede utfĆørt PaymentRule=Betalingsregel PaymentMode=BetalingsmĆ„te -PaymentConditions=Betalingsbetingelser -PaymentConditionsShort=Betalingsbetingelser +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=BelĆøp til betaling ValidatePayment=Godkjenn betaling PaymentHigherThanReminderToPay=Betalingen er hĆøyere enn restbelĆøp @@ -87,7 +88,7 @@ ClassifyCanceled=Merk 'TapsfĆørt' ClassifyClosed=Merk 'Lukket' ClassifyUnBilled=Classify 'Unbilled' CreateBill=Lag faktura -AddBill=Create invoice or credit note +AddBill=Legg til faktura eller kreditnota AddToDraftInvoices=Add to draft invoice DeleteBill=Slett faktura SearchACustomerInvoice=Finn kundefaktura @@ -99,7 +100,7 @@ DoPaymentBack=UtfĆør tilbakebetaling ConvertToReduc=Konverter til framtidig rabatt EnterPaymentReceivedFromCustomer=Legg inn betaling mottatt fra kunde EnterPaymentDueToCustomer=Lag purring til kunde -DisabledBecauseRemainderToPayIsZero=Disabled because remaining unpaid is zero +DisabledBecauseRemainderToPayIsZero=SlĆ„tt av fordi restbelĆøpet er null Amount=BelĆøp PriceBase=Prisgrunnlag BillStatus=Fakturastatus @@ -186,7 +187,7 @@ ShowInvoiceDeposit=Vis depositum faktura ShowPayment=Vis betaling File=Fil AlreadyPaid=Allerede betalt -AlreadyPaidBack=Already paid back +AlreadyPaidBack=Allerede tilbakebetalt AlreadyPaidNoCreditNotesNoDeposits=Allerede betalt (uten kreditt notater og innskudd) Abandoned=TapsfĆørt RemainderToPay=Remaining unpaid @@ -202,7 +203,7 @@ StandingOrders=UtestĆ„ende ordre StandingOrder=UtestĆ„ende ordre NoDraftBills=Ingen fakturakladder NoOtherDraftBills=Ingen andre fakturakladder -NoDraftInvoices=No draft invoices +NoDraftInvoices=Ingen fakturakladder RefBill=Fakturareferanse ToBill=Til fakturering RemainderToBill=Resterende til fakturering diff --git a/htdocs/langs/nb_NO/boxes.lang b/htdocs/langs/nb_NO/boxes.lang index ec23fa05e30..91a6b66cb78 100644 --- a/htdocs/langs/nb_NO/boxes.lang +++ b/htdocs/langs/nb_NO/boxes.lang @@ -1,63 +1,67 @@ # Dolibarr language file - Source file is en_US - boxes BoxLastRssInfos=Rss informasjon BoxLastProducts=Siste produkter/tjenester -# BoxProductsAlertStock=Products in stock alert +BoxProductsAlertStock=Varsel om produkter pĆ„ lager BoxLastProductsInContract=Siste kontraktsinngĆ„tte produkter/tjenester BoxLastSupplierBills=Siste leverandĆørfakturaer BoxLastCustomerBills=Siste kundefakturaer BoxOldestUnpaidCustomerBills=Eldste ubetalte kundefakturaer BoxOldestUnpaidSupplierBills=Eldste ubetalte leverandĆørfakturaer -BoxLastProposals=Siste tilbuder -BoxLastProspects=Siste prospekter -BoxLastCustomers=Siste kunder -BoxLastSuppliers=Siste leverandĆører +BoxLastProposals=Siste tilbud +BoxLastProspects=Siste endrede prospekter +BoxLastCustomers=Siste endrede kunder +BoxLastSuppliers=Siste endrede leverandĆører BoxLastCustomerOrders=Siste kundeordre +BoxLastValidatedCustomerOrders=Siste godkjente kundeordrer BoxLastBooks=Siste bĆøker BoxLastActions=Siste handlinger BoxLastContracts=Siste kontrakter BoxLastContacts=Siste kontakter / adresser BoxLastMembers=Siste medlemmer -# BoxFicheInter=Last interventions -# BoxCurrentAccounts=Opened accounts balance +BoxFicheInter=Siste intervensjoner +BoxCurrentAccounts=ƅpnet kontobalanse BoxSalesTurnover=Omsetning -BoxTotalUnpaidCustomerBills=Totalt utestĆ„ende kunder -BoxTotalUnpaidSuppliersBills=Totalt utestĆ„ende leverandĆører +BoxTotalUnpaidCustomerBills=Totalt utestĆ„ende kundefakturaer +BoxTotalUnpaidSuppliersBills=Totalt utestĆ„ende leverandĆørfakturaer BoxTitleLastBooks=Siste %s registrerte bĆøker BoxTitleNbOfCustomers=Antall kunder BoxTitleLastRssInfos=Siste %s nyheter fra %s BoxTitleLastProducts=Siste %s endrede produkter/tjenester -# BoxTitleProductsAlertStock=Products in stock alert -BoxTitleLastCustomerOrders=Siste %s endrede kundeordre +BoxTitleProductsAlertStock=Varsel om produkter pĆ„ lager +BoxTitleLastCustomerOrders=Siste %s kundeordre +BoxTitleLastModifiedCustomerOrders=Siste %s endrede kundeordrer BoxTitleLastSuppliers=Siste %s registrerte leverandĆører BoxTitleLastCustomers=Siste %s registrerte kunder -BoxTitleLastModifiedSuppliers=Sist endret %s leverandĆører -BoxTitleLastModifiedCustomers=Sist endret %s kunder +BoxTitleLastModifiedSuppliers=Sist endrede %s leverandĆører +BoxTitleLastModifiedCustomers=Sist endrede %s kunder BoxTitleLastCustomersOrProspects=Siste %s registrerte kunder eller prospekter BoxTitleLastPropals=Siste %s registrerte tilbud +BoxTitleLastModifiedPropals=Siste %s endrede tilbud BoxTitleLastCustomerBills=Siste %s kundefakturaer +BoxTitleLastModifiedCustomerBills=Siste %s endrede kundefakturaer BoxTitleLastSupplierBills=Siste %s leverandĆørfakturaer -BoxTitleLastProspects=Siste %s registrerte prospekter -BoxTitleLastModifiedProspects=Sist %s endret utsiktene -BoxTitleLastProductsInContract=Siste %s produkter/tjenerster i kontraketer -BoxTitleLastModifiedMembers=Siste %s endret medlemmer -# BoxTitleLastFicheInter=Last %s modified intervention +BoxTitleLastModifiedSupplierBills=Siste %s endrede leverandĆørfakturaer +BoxTitleLastModifiedProspects=Sist %s endrede prospekter +BoxTitleLastProductsInContract=Siste %s produkter/tjenerster i kontrakter +BoxTitleLastModifiedMembers=Siste %s endrede medlemmer +BoxTitleLastFicheInter=Siste %s endrede intervensjon BoxTitleOldestUnpaidCustomerBills=Eldste %s ubetalte kundefakturaer BoxTitleOldestUnpaidSupplierBills=Eldste %s ubetalte leverandĆørfakturaer -# BoxTitleCurrentAccounts=Opened account's balances +BoxTitleCurrentAccounts=ƅpnede kontobalanser BoxTitleSalesTurnover=Omsetning BoxTitleTotalUnpaidCustomerBills=Ubetalte kundefakturaer BoxTitleTotalUnpaidSuppliersBills=Ubetalte leverandĆørfakturaer -BoxTitleLastModifiedContacts=Siste %s endret kontakter / adresser +BoxTitleLastModifiedContacts=Siste %s endrede kontakter/adresser BoxMyLastBookmarks=Mine siste %s bokmerker BoxOldestExpiredServices=Eldste aktive utlĆøpte tjenester BoxLastExpiredServices=Siste %s eldste kontakter med aktive utlĆøpte tjenester BoxTitleLastActionsToDo=Siste %s Ć„pne handlinger BoxTitleLastContracts=Siste %s kontrakter -BoxTitleLastModifiedDonations=Siste %s endret donasjoner -BoxTitleLastModifiedExpenses=Siste %s endret utgifter -# BoxGlobalActivity=Global activity (invoices, proposals, orders) +BoxTitleLastModifiedDonations=Siste %s endrede donasjoner +BoxTitleLastModifiedExpenses=Siste %s endrede utgifter +BoxGlobalActivity=Global aktivitet (fakturaer, tilbud, ordrer) FailedToRefreshDataInfoNotUpToDate=Klarte ikke Ć„ oppdatere RSS-strĆøm. Siste vellykkede oppdatering: %s -LastRefreshDate=Siste oppdatering dato +LastRefreshDate=Siste oppdateringsdato NoRecordedBookmarks=Ingen bokmerker definert. Trykk her for Ć„ legge til bokmerker. ClickToAdd=Klikk her for Ć„ legge til. NoRecordedCustomers=Ingen registrerte kunder @@ -69,23 +73,24 @@ NoRecordedInvoices=Ingen registrerte kundefakturaer NoUnpaidCustomerBills=Ingen ubetalte kundefakturaer NoRecordedSupplierInvoices=Ingen registrte leverandĆørfakturaer NoUnpaidSupplierBills=Ingen ubetalte leverandĆørfakturaer -NoModifiedSupplierBills=Ingen registrert leverandĆørens faktura -NoRecordedProducts=Ingen registrert produkter / tjenester -NoRecordedProspects=Ingen registrert utsikter -NoContractedProducts=Ingen produkter / tjenester innleide -NoRecordedContracts=Ingen registrert kontrakter -# NoRecordedInterventions=No recorded interventions -# BoxLatestSupplierOrders=Latest supplier orders -# BoxTitleLatestSupplierOrders=%s latest 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 +NoModifiedSupplierBills=Ingen registrerte leverandĆørfakturaer +NoRecordedProducts=Ingen registrerte produkter/tjenester +NoRecordedProspects=Ingen registrerte prospekter +NoContractedProducts=Ingen innleide produkter/tjenester +NoRecordedContracts=Ingen registrerte kontrakter +NoRecordedInterventions=Ingen registrerte intervensjoner +BoxLatestSupplierOrders=Siste leverandĆørordrer +BoxTitleLatestSupplierOrders=Siste %s leverandĆørordrer +BoxTitleLatestModifiedSupplierOrders=Siste %s endrede leverandĆørordrer +NoSupplierOrder=Ingen registrerte leveradĆørordrer +BoxCustomersInvoicesPerMonth=Kundefakturaer pr. mnd. +BoxSuppliersInvoicesPerMonth=LeverandĆørfakturaer pr. mnd. +BoxCustomersOrdersPerMonth=Kundeordrer pr. mnd. +BoxSuppliersOrdersPerMonth=LeverandĆørordrer pr. mnd. +BoxProposalsPerMonth=Tilbud pr. mnd. +NoTooLowStockProducts=Ingen produkter med for lav beholdning +BoxProductDistribution=Fordeling produkter/tjenester +BoxProductDistributionFor=Fordeling av %s for %s ForCustomersInvoices=Kundens fakturaer -# ForCustomersOrders=Customers orders +ForCustomersOrders=Kundeordrer ForProposals=Tilbud diff --git a/htdocs/langs/nb_NO/cashdesk.lang b/htdocs/langs/nb_NO/cashdesk.lang index 0e0b168257c..c01ee45a2c7 100644 --- a/htdocs/langs/nb_NO/cashdesk.lang +++ b/htdocs/langs/nb_NO/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 salg +CashDeskMenu=Utsalgssted +CashDesk=Utsalgssted +CashDesks=Utsalgssted CashDeskBank=Bankkonto CashDeskBankCash=Bankkonto (kontanter) CashDeskBankCB=Bankkonto (kort) CashDeskBankCheque=Bankkonto (sjekk) -CashDeskWarehouse=Warehouse -CashdeskShowServices=Selge tjenester +CashDeskWarehouse=Varehus +CashdeskShowServices=Selgende tjenester CashDeskProducts=Produkter CashDeskStock=Lager CashDeskOn=pĆ„ CashDeskThirdParty=Tredjepart -# CashdeskDashboard=Point of sale access +CashdeskDashboard=Adgang utsalgssted ShoppingCart=Handlekurv -NewSell=Ny selger -BackOffice=Tilbake kontor -AddThisArticle=Legg denne artikkelen -RestartSelling=GĆ„ tilbake pĆ„ selger -SellFinished=Selg ferdig +NewSell=Nytt salg +BackOffice=Administrasjonen +AddThisArticle=Legg til denne artikkelen +RestartSelling=GĆ„ tilbake pĆ„ salg +SellFinished=Salg avsluttet PrintTicket=Skriv billett -NoProductFound=Ingen artikkelen funnet -ProductFound=Produktet funnet +NoProductFound=Ingen artikler funnet +ProductFound=produktet funnet ProductsFound=produkter funnet -NoArticle=Ingen artikkelen +NoArticle=Ingen artikkel Identification=Identifisering Article=Artikkel Difference=Forskjell TotalTicket=Totalt billett -NoVAT=Ingen moms for dette salget -Change=OverflĆødig mottatt +NoVAT=Ingen mva for dette salget +Change=For mye mottatt CalTip=Klikk for Ć„ vise kalenderen -CashDeskSetupStock=Du spĆør for Ć„ redusere beholdningen faktura etableringen, men lager for dette er ikke ble definert
    Endre lager modul oppsett, eller velge en lagerbygning +CashDeskSetupStock=ForespĆørsel om Ć„ redusere varebeholdning ved opprettelse av faktura uten at varehus er definert
    Endre lagermodul oppsettet, eller velg et annet varehus BankToPay=Debiteringskonto ShowCompany=Vis selskap ShowStock=Vis lager DeleteArticle=Klikk for Ć„ fjerne denne artikkelen -# 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. +FilterRefOrLabelOrBC=SĆøk (Referanse/Etikett) +UserNeedPermissionToEditStockToUsePos=ForespĆørsel om Ć„ redusere varebeholdning ved opprettelse av faktura. POS bruker mĆ„ ha adgang til Ć„ endre varebeholdning diff --git a/htdocs/langs/nb_NO/categories.lang b/htdocs/langs/nb_NO/categories.lang index 2458dff2fb9..d03d3f0aa7b 100644 --- a/htdocs/langs/nb_NO/categories.lang +++ b/htdocs/langs/nb_NO/categories.lang @@ -15,12 +15,12 @@ ProductsCategoriesArea=OmrĆ„de for kategorier : produkter/tjenester SuppliersCategoriesArea=OmrĆ„de for kategorier : LeverandĆører CustomersCategoriesArea=OmrĆ„de for kategorier : Kunder ThirdPartyCategoriesArea=OmrĆ„de for kategorier : Tredjeparter -MembersCategoriesArea=Medlemmer kategorier omrĆ„det +MembersCategoriesArea=Medlemmers kategoriomrĆ„der ContactsCategoriesArea=Kontaktkategorier MainCats=Hovedkategorier SubCats=Underkategorier CatStatistics=Statistikk -CatList=Oversikt over kategorier +CatList=Liste over kategorier AllCats=Alle kategorier ViewCat=Vis kategori NewCat=Legg til kategori @@ -39,7 +39,7 @@ ErrSameCatSelected=Du har valgt samme kategori flere ganger ErrForgotCat=Du glemte Ć„ velge kategorien ErrForgotField=Du glemte feltene ErrCatAlreadyExists=Dette navnet er allerede i bruk -AddProductToCat=Legg dette produktet til en kategori? +AddProductToCat=Legg til dette produktet i en kategori? ImpossibleAddCat=Umulig Ć„ legge til kategorien ImpossibleAssociateCategory=Umulig Ć„ knytte kategorien til WasAddedSuccessfully=%s ble lagt til. @@ -49,7 +49,7 @@ ProductIsInCategories=Dette produktet/tjenesten hĆører til fĆølgende kategorier SupplierIsInCategories=Denne tredjeparten hĆører til fĆølgende leverandĆørkategorier CompanyIsInCustomersCategories=Denne tredjeparten hĆører til fĆølgende kunder/prospektkategorier CompanyIsInSuppliersCategories=Denne tredjeparten hĆører til fĆølgende leverandĆørkategorier -MemberIsInCategories=Dette medlemmet eier til fĆølgende medlemmer kategorier +MemberIsInCategories=Dette medlemmet hĆører til fĆølgende medlemmeskategorier ContactIsInCategories=Denne kontakten hĆører til fĆølgende kontaktkategorier ProductHasNoCategory=Dette produktet/tjenesten er ikke i noen kategorier SupplierHasNoCategory=Denne leverandĆøren er ikke i noen kategorier @@ -59,10 +59,10 @@ ContactHasNoCategory=Denne kontakten er ikke i noen kategorier ClassifyInCategory=Klassifiser i kategori NoneCategory=Ingen NotCategorized=Uten kategori -CategoryExistsAtSameLevel=Denne kategorien eksisterer allerede pĆ„ samme sted -ReturnInProduct=Tilbake til produkt/tjeneste-kort +CategoryExistsAtSameLevel=Denne kategorien finnes allerede med denne referansen +ReturnInProduct=Tilbake til produkt-/tjenestekort ReturnInSupplier=Tilbake til leverandĆørkort -ReturnInCompany=Tilbake til kunde/prospekt-kort +ReturnInCompany=Tilbake til kunde-/prospektkort ContentsVisibleByAll=Inneholdet vil vƦre synlig for alle ContentsVisibleByAllShort=Innhold synlig for alle ContentsNotVisibleByAllShort=Innhold ikke synlig for alle @@ -70,17 +70,17 @@ CategoriesTree=Kategori-tre DeleteCategory=Slett kategori ConfirmDeleteCategory=Er du sikker pĆ„ at du vil slette denne kategorien? RemoveFromCategory=Fjern lenke med kategori -RemoveFromCategoryConfirm=Er di sikker pĆ„ at du vil fjerne lenken mellom transaksjonen og kategorien? +RemoveFromCategoryConfirm=Er du sikker pĆ„ at du vil fjerne lenken mellom transaksjonen og kategorien? NoCategoriesDefined=Ingen kategori definert SuppliersCategoryShort=LeverandĆøkategori CustomersCategoryShort=Kundekategori ProductsCategoryShort=Produktkategori -MembersCategoryShort=Medlemmer kategori +MembersCategoryShort=Medlemskategori SuppliersCategoriesShort=LeverandĆøkategorier CustomersCategoriesShort=Kundekategorier -CustomersProspectsCategoriesShort=Kunde/prospektkategorier +CustomersProspectsCategoriesShort=Kunde-/prospektkategorier ProductsCategoriesShort=Produktkategorier -MembersCategoriesShort=Medlemmer kategorier +MembersCategoriesShort=Medlemskategorier ContactCategoriesShort=Kontaktkategorier ThisCategoryHasNoProduct=Denne kategorien inneholder ingen produkter. ThisCategoryHasNoSupplier=Denne kategorien inneholder ingen leverandĆører. @@ -92,21 +92,21 @@ AssignedToTheCustomer=Knyttet til kunden InternalCategory=Intern kategori CategoryContents=Innhold i kategori CategId=Kategori-ID -CatSupList=Liste av leverandĆør kategorier -CatCusList=Liste over kunde / prospektet kategorier -CatProdList=Liste over produkter kategorier -CatMemberList=Liste over medlemmer kategorier -CatContactList=Liste over kontakt kategorier og kontakt +CatSupList=Liste av leverandĆørkategorier +CatCusList=Liste over kunde-/prospektkategorier +CatProdList=Liste over produktkategorier +CatMemberList=Liste over medlemskategorier +CatContactList=Liste over kontaktkategorier og kontakt CatSupLinks=Koblinger mellom leverandĆører og kategorier -CatCusLinks=Koblinger mellom kunder / prospekter og kategorier -CatProdLinks=Koblinger mellom produkter / tjenester og kategorier +CatCusLinks=Koblinger mellom kunder/prospekter og kategorier +CatProdLinks=Koblinger mellom produkter/tjenester og kategorier CatMemberLinks=Koblinger mellom medlemmer og kategorier DeleteFromCat=Fjern fra kategori DeletePicture=Slette bilde ConfirmDeletePicture=Bekreft bildesletting? ExtraFieldsCategories=KomplementƦre attributter CategoriesSetup=Kategori-oppsett -CategorieRecursiv=Link med overordnet kategori automatisk +CategorieRecursiv=Link automatisk med overordnet kategori CategorieRecursivHelp=Hvis aktivert, vil produktet ogsĆ„ knyttes til overordnet kategori nĆ„r du legger inn en underkategori AddProductServiceIntoCategory=Legg til fĆølgende produkt/tjeneste ShowCategory=Vis kategori diff --git a/htdocs/langs/nb_NO/commercial.lang b/htdocs/langs/nb_NO/commercial.lang index 92b090a74bf..5ce686e3b3c 100644 --- a/htdocs/langs/nb_NO/commercial.lang +++ b/htdocs/langs/nb_NO/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospekt Prospects=Prospekter DeleteAction=Slett handling/oppgave NewAction=Ny handling/oppgave -AddAction=Legg til handling/oppgave -AddAnAction=Legg til en handling/oppgave -AddActionRendezVous=Legg til mĆøte +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Rendezvous ConfirmDeleteAction=Er du sikker pĆ„ at du vil slette denne oppgaven? CardAction=Handlingskort @@ -44,8 +44,8 @@ DoneActions=UtfĆørte handlinger DoneActionsFor=UtfĆørte handlinger for %s ToDoActions=Ikke fullfĆørte handlinger ToDoActionsFor=Ikke fullfĆørte handlinger for %s -SendPropalRef=Send tilbud %s -SendOrderRef=Send ordre %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Ikke aktuelt StatusActionToDo=To Do StatusActionDone=UtfĆørt @@ -62,7 +62,7 @@ LastProspectContactDone=Kontakt utfĆørt DateActionPlanned=Dato for planlagt handling DateActionDone=Dato for utfĆørt handling ActionAskedBy=Handling Ćønsket av -ActionAffectedTo=Handling knyttet til +ActionAffectedTo=Event assigned to ActionDoneBy=Handling utfĆørt av ActionUserAsk=Registrert av ErrorStatusCantBeZeroIfStarted=Hvis feltet 'Dato utfĆørt' er fylt ut er handlingen startet (eller utfĆørt), defor kan ikke feltet 'Status' vƦre 0%%. diff --git a/htdocs/langs/nb_NO/companies.lang b/htdocs/langs/nb_NO/companies.lang index 02ad3315d63..a111e8f1b6a 100644 --- a/htdocs/langs/nb_NO/companies.lang +++ b/htdocs/langs/nb_NO/companies.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - companies ErrorCompanyNameAlreadyExists=Firmanavnet %s finnes allerede. Velg et annet! -ErrorPrefixAlreadyExists=Prefix %s finnes allered. Velg et annet! +ErrorPrefixAlreadyExists=Prefiks %s finnes allerede. Velg et annet! ErrorSetACountryFirst=Angi land fĆørst SelectThirdParty=Velg en tredjepart DeleteThirdParty=Slett en tredjepart @@ -25,13 +25,13 @@ IdThirdParty=Tredjepart-ID IdCompany=Firma-ID IdContact=Kontaktperson-ID Contacts=Kontakter -ThirdPartyContacts=Tredjepart kontakter -ThirdPartyContact=Tredjepart kontakt +ThirdPartyContacts=Tredjepartskontakter +ThirdPartyContact=Tredjepartskontakt StatusContactValidated=Status for kontakt Company=Bedrift CompanyName=Firmanavn Companies=Bedrifter -CountryIsInEEC=Landet er en del av Det europeiske fellesskap +CountryIsInEEC=Landet er en del av det europeiske Ćøkonomiske fellesskap ThirdPartyName=Tredjepart navn ThirdParty=Tredjepart ThirdParties=Tredjeparter @@ -40,7 +40,7 @@ ThirdPartyProspects=Prospekter ThirdPartyProspectsStats=Prospekter ThirdPartyCustomers=Kunder ThirdPartyCustomersStats=Kunder -ThirdPartyCustomersWithIdProf12=Kunder ned %s eller %s +ThirdPartyCustomersWithIdProf12=Kunder med %s eller %s ThirdPartySuppliers=LeverandĆører ThirdPartyType=Type tredjepart Company/Fundation=Firma/Organisasjon @@ -51,7 +51,7 @@ Subsidiary=Datterselskap Subsidiaries=Datterselskaper NoSubsidiary=Ingen datterselskap ReportByCustomers=Rapporter pr kunde -ReportByQuarter=Rapporter pr kvartal +ReportByQuarter=Rapporter pr sats CivilityCode=Civility code (ikke i Norge) RegisteredOffice=Registered office (ikke i Norge) Name=Navn @@ -64,7 +64,7 @@ Address=Adresse State=Fylke(delstat) Region=Region Country=Land -CountryCode=Landkode +CountryCode=Landskode CountryId=Land id Phone=Telefon Skype=Skype @@ -73,13 +73,13 @@ Chat=Chat PhonePro=Tlf. arbeid PhonePerso=Tlf. privat PhoneMobile=Tlf. mobil -No_Email=Ikke send masse-epost-utsendelser -Fax=Fax +No_Email=Ikke send masse-epost +Fax=Faks Zip=Postnummer Town=Poststed Web=Web Poste= Posisjon -DefaultLang=SprĆ„k som standard +DefaultLang=StandardsprĆ„k VATIsUsed=MVA skal beregnes VATIsNotUsed=MVA skal ikke beregnes CopyAddressFromSoc=Fyll adresse med tredjeparts adresse @@ -113,8 +113,8 @@ ProfId3=Professional ID 3 ProfId4=Professional ID 4 ProfId5=Profesjonell ID 5 ProfId6=Profesjonell ID 6 -ProfId1AR=Prof Id 1 (CUIL) -ProfId2AR=Prof ID 2 (inntekter pĆ„ brutes) +ProfId1AR=Prof Id 1 (CUIT/CUIL) +ProfId2AR=Prof ID 2 (bruttoinntekter) ProfId3AR=- ProfId4AR=- ProfId5AR=- @@ -125,7 +125,7 @@ ProfId3AU=- ProfId4AU=- ProfId5AU=- ProfId6AU=- -ProfId1BE=Prof Id 1 (Professionnel number) +ProfId1BE=Prof Id 1 (Profesjonelt nummer) ProfId2BE=- ProfId3BE=- ProfId4BE=- @@ -139,7 +139,7 @@ ProfId4BR=CPF #ProfId6BR=INSS ProfId1CH=- ProfId2CH=- -ProfId3CH=Prof Id 1 (Federal number) +ProfId3CH=Prof Id 1 (FĆøderalt nummer) ProfId4CH=Prof Id 2 (Commercial Record number) ProfId5CH=- ProfId6CH=- @@ -169,11 +169,11 @@ ProfId5ES=- ProfId6ES=- ProfId1FR=Prof Id 1 (SIREN) ProfId2FR=Prof Id 2 (SIRET) -ProfId3FR=Prof Id 3 (NAF, old APE) +ProfId3FR=Prof Id 3 (NAF, gammel APE) ProfId4FR=Prof Id 4 (RCS/RM) ProfId5FR=Prof Id 5 ProfId6FR=- -ProfId1GB=Prof Id 1 (Registration Number) +ProfId1GB=Prof Id 1 (Registreringsnummer) ProfId2GB=- ProfId3GB=Prof Id 3 (SIC) ProfId4GB=- @@ -186,31 +186,31 @@ ProfId4HN=- ProfId5HN=- ProfId6HN=- ProfId1IN=Prof Id 1 (TIN) -ProfId2IN=Prof ID 2 -ProfId3IN=Prof ID 3 +ProfId2IN=Prof ID 2 (PAN) +ProfId3IN=Prof ID 3 (SRVC TAX) ProfId4IN=Prof ID 4 ProfId5IN=Prof Id 5 ProfId6IN=- ProfId1MA=Id prof. 1 (RC) -ProfId2MA=Id prof. 2 (patente) +ProfId2MA=Id prof. 2 (patent) ProfId3MA=Id prof. 3 (IF) ProfId4MA=Id prof. 4 (CNSS) ProfId5MA=- ProfId6MA=- ProfId1MX=Prof Id 1 (RFC). ProfId2MX=Prof Id 2 (R.. P. IMSS) -ProfId3MX=Prof Id 3 (Profesional Charter) +ProfId3MX=Prof Id 3 (Profesjonell lisens) ProfId4MX=- ProfId5MX=- ProfId6MX=- ProfId1NL=KVK nummer ProfId2NL=- ProfId3NL=- -ProfId4NL=- +ProfId4NL=Burgerservicenummer (BSN) ProfId5NL=- ProfId6NL=- ProfId1PT=Prof Id 1 (NIPC) -ProfId2PT=Prof Id 2 (Social security number) +ProfId2PT=Prof Id 2 (Personnummer) ProfId3PT=Prof Id 3 (Commercial Record number) ProfId4PT=Prof Id 4 (Conservatory) ProfId5PT=- @@ -234,9 +234,9 @@ ProfId4RU=Prof Id 4 (OKPO) ProfId5RU=- ProfId6RU=- VATIntra=Organisasjonsnummer -VATIntraShort=Org.nr. -VATIntraVeryShort=ORG -VATIntraSyntaxIsValid=Gyldig syntax +VATIntraShort=Organisasjonsnummer +VATIntraVeryShort=MVA +VATIntraSyntaxIsValid=Gyldig syntaks VATIntraValueIsValid=Gyldig verdi ProspectCustomer=Prospekt/Kunde Prospect=Prospekt @@ -261,13 +261,13 @@ Supplier=LeverandĆør CompanyList=Firmaoversikt AddContact=Opprett kontakt AddContactAddress=Opprett kontakt/adresse -EditContact=Endre kontakt / adresse -EditContactAddress=Endre kontakt / adresse +EditContact=Endre kontakt +EditContactAddress=Endre kontakt/adresse Contact=Kontaktperson ContactsAddresses=Kontakter / Adresser NoContactDefinedForThirdParty=Ingen kontakt definert for denne tredjepart -NoContactDefined=Denne tredjeparten har ingen kontaktpersoner registrert -DefaultContact=Gjeldende kontakt +NoContactDefined=Ingen kontaktpersoner definert +DefaultContact=Standardkontakt AddCompany=Opprett firma AddThirdParty=Opprett tredjepart DeleteACompany=Slett et firma @@ -290,23 +290,23 @@ ListOfContacts=Oversikt over kontaktpersoner ListOfContactsAddresses=Liste over kontakter / adresser ListOfProspectsContacts=Oversikt over prospekters kontaktpersoner ListOfCustomersContacts=Oversikt over kunders kontaktpersoner -ListOfSuppliersContacts=Oversikt over leverandĆøeres kontaktpersoner +ListOfSuppliersContacts=Oversikt over leverandĆørkontakter ListOfCompanies=Oversikt over firmaer ListOfThirdParties=Oversikt over tredjeparter ShowCompany=Vis firma ShowContact=Vis kontaktperson ContactsAllShort=Alle (ingen filter) ContactType=Kontaktperson type -ContactForOrders=Relaterte ordre -ContactForProposals=Relaterte tilbud -ContactForContracts=Relaterte kontrakter -ContactForInvoices=Relaterte fakturaer +ContactForOrders=Ordrekontakt +ContactForProposals=Tilbudskontakt +ContactForContracts=Kontraktkontakt +ContactForInvoices=Fakturakontakt NoContactForAnyOrder=Kontaktpersonen er ikke tilknyttet noen ordre NoContactForAnyProposal=Kontaktpersonen er ikke tilknyttet noen tilbud NoContactForAnyContract=Kontaktpersonen er ikke tilknyttet noen kontrakt NoContactForAnyInvoice=Kontaktpersonen er ikke tilknyttet noen faktura NewContact=Ny kontaktperson -NewContactAddress=Ny kontakt / adresse +NewContactAddress=Ny kontakt/adresse LastContacts=Siste kontaktpersoner MyContacts=Mine kontaktpersoner Phones=Telefoner @@ -320,12 +320,12 @@ VATIntraCheckDesc=Lenken %s slĆ„r opp i den europeiske kontrolltjenesten VATIntraCheckURL=http://ec.europa.eu/taxation_customs/vies/vieshome.do VATIntraCheckableOnEUSite=SlĆ„ opp i Intracomunnautary VAT pĆ„ EU-kommisjonens nettsted VATIntraManualCheck=Du kan ogsĆ„ sjekke manuelt pĆ„ %s -ErrorVATCheckMS_UNAVAILABLE=Kontollrn er ikke tilgjengelig. Tjenesten er ikke tilgjengelig for landet (%s). +ErrorVATCheckMS_UNAVAILABLE=Sjekk er ikke tilgjengelig. Tjenesten er ikke tilgjengelig for landet (%s). NorProspectNorCustomer=Hverken prospekt eller kunde JuridicalStatus=Juridsk status Staff=Ansatte ProspectLevelShort=Potensiell -ProspectLevel=Potensiell prospekt +ProspectLevel=Prospektpotensiale ContactPrivate=Privat ContactPublic=Delt ContactVisibility=Synlighet @@ -348,29 +348,29 @@ TE_PRIVATE=Privatperson TE_OTHER=Annet StatusProspect-1=Kontaktes ikke StatusProspect0=Aldri kontaktet -StatusProspect1=BĆør kontaktes +StatusProspect1=Skal kontaktes StatusProspect2=Kontakt pĆ„gĆ„r StatusProspect3=Kontakt utfĆørt ChangeDoNotContact=Endre status til 'Kontaktes ikke' ChangeNeverContacted=Endre status til 'Aldri kontaktet' -ChangeToContact=Endre status til 'BĆør kontaktes' +ChangeToContact=Endre status til 'Skal kontaktes' ChangeContactInProcess=Endre status til 'Kontakt pĆ„gĆ„r' ChangeContactDone=Endre status til 'Kontakt utfĆørt' ProspectsByStatus=Prospekter etter status BillingContact=Fakturakontakt NbOfAttachedFiles=Antall vedlagte filer -AttachANewFile=Legg ved fil -NoRIB=Ingen konto registrert +AttachANewFile=Legg ved ny fil +NoRIB=Ingen bankkonto registrert NoParentCompany=Ingen ExportImport=Import-Eksport -ExportCardToFormat=Eksportkort til format +ExportCardToFormat=Eksporter kort til format ContactNotLinkedToCompany=Kontaktpersonen er ikke lenket til noen tredjepart DolibarrLogin=Dolibarr innlogging NoDolibarrAccess=Ingen tilgang til Dolibarr ExportDataset_company_1=Tredjeparter (Selskaper / stiftelser / fysiske personer) og egenskaper -ExportDataset_company_2=Kontaktpersoner med opplysninger -ImportDataset_company_1=Tredjeparter (Selskaper / stiftelser / fysiske personer) og egenskaper -ImportDataset_company_2=Kontakter / adresser (av tredjeparter eller ikke) og attributter +ExportDataset_company_2=Kontaktpersoner og egenskaper +ImportDataset_company_1=Tredjeparter (Selskaper/stiftelser/fysiske personer) og egenskaper +ImportDataset_company_2=Kontakter/adresser (av tredjeparter eller ikke) og attributter ImportDataset_company_3=Bankopplysninger PriceLevel=PrisnivĆ„ DeliveriesAddress=Leveringsadresser @@ -382,33 +382,33 @@ NewDeliveryAddress=Ny leveringsadresse AddDeliveryAddress=Opprett adresse AddAddress=Opprett adresse NoOtherDeliveryAddress=Ingen alternativ leveringsadresse lagt inn -SupplierCategory=LeverandĆør kategori +SupplierCategory=LeverandĆørkategori JuridicalStatus200=Uavhengig DeleteFile=Slett fil ConfirmDeleteFile=Er du sikker pĆ„ at du vil slette denne filen? -AllocateCommercial=Tildelt til salg representant +AllocateCommercial=Tildelt til salgsrepresentant SelectCountry=Velg land SelectCompany=Velg tredjepart Organization=Organisasjon AutomaticallyGenerated=Automatisk opprettet FiscalYearInformation=Informasjon om regnskapsĆ„ret FiscalMonthStart=FĆørste mĆ„ned i regnskapsĆ„ret -YouMustCreateContactFirst=Du mĆ„ opprette e-postmeldinger kontakter for tredjepart fĆørste for Ć„ kunne legge til e-post meldinger. +YouMustCreateContactFirst=Du mĆ„ opprette e-postkontakter for tredjepart fĆørst, for Ć„ kunne legge til e-post meldinger. ListSuppliersShort=Liste over leverandĆører -ListProspectsShort=Liste av prospekter +ListProspectsShort=Liste over prospekter ListCustomersShort=Liste over kunder ThirdPartiesArea=Tredjepart og kontaktomrĆ„de -LastModifiedThirdParties=Siste %s endret tredjeparter -UniqueThirdParties=Totalt unike tredjeparter -InActivity=ƅpent +LastModifiedThirdParties=Siste %s endrede tredjeparter +UniqueThirdParties=Totalt antall unike tredjeparter +InActivity=ƅpen ActivityCeased=Stengt -ActivityStateFilter=Aktivitet status +ActivityStateFilter=Aktivitetstatus ProductsIntoElements=Produktliste i %s CurrentOutstandingBill=Gjeldende utestĆ„ende regning OutstandingBill=Max. utestĆ„ende belĆøp OutstandingBillReached=NĆ„dd maks. for utestĆ„ende regning -MonkeyNumRefModelDesc=Tilbake numero med format %syymm-nnnn for kunden koden og %syymm-nnnn for leverandĆør koden der ƄƄ er Ć„ret, er mm mĆ„ned og nnnn er en sekvens uten pause og ingen retur til 0. -LeopardNumRefModelDesc=Kunde / leverandĆør-koden er gratis. Denne koden kan endres nĆ„r som helst. +MonkeyNumRefModelDesc=Returnerer nummer med format %syymm-nnnn for kundekode og %syymm-nnnn for leverandĆørkode, der ƄƄ er Ć„ret, er mm mĆ„ned og nnnn er et lĆøpenummer som starter pĆ„ 0+1. +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 diff --git a/htdocs/langs/nb_NO/contracts.lang b/htdocs/langs/nb_NO/contracts.lang index e8fe7fe9637..e09b5e6c173 100644 --- a/htdocs/langs/nb_NO/contracts.lang +++ b/htdocs/langs/nb_NO/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=UtlĆøpt ServiceStatusClosed=Lukket ServicesLegend=Tjeneste legend Contracts=Kontrakter +ContractsAndLine=Contracts and line of contracts Contract=Kontrakt NoContracts=Ingen kontrakter MenuServices=Tjenester diff --git a/htdocs/langs/nb_NO/cron.lang b/htdocs/langs/nb_NO/cron.lang index 933ec2647b4..e15b4232a60 100644 --- a/htdocs/langs/nb_NO/cron.lang +++ b/htdocs/langs/nb_NO/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/nb_NO/errors.lang b/htdocs/langs/nb_NO/errors.lang index 7fa9524b08f..7f06fb6e0fa 100644 --- a/htdocs/langs/nb_NO/errors.lang +++ b/htdocs/langs/nb_NO/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Kilde og mĆ„lkonto mĆ„ vƦre forskjellig. ErrorBadThirdPartyName=Ugyldig verdi for tredjepartens navn ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Ugyldig syntaks for kundekode -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Kundekode pĆ„krevet ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Kundekoden er allerede benyttet @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript mĆ„ ikke deaktiveres Ć„ ha denne funksjo ErrorPasswordsMustMatch=Begge har skrevet passord mĆ„ samsvare med hverandre ErrorContactEMail=En teknisk feil oppsto. Vennligst kontakt administrator for Ć„ fĆølge e %s no gi feilmeldingsnumrene %s i meldingen, eller enda bedre ved Ć„ legge til en skjerm kopi av denne siden. ErrorWrongValueForField=Feil verdi for feltet tall %s (verdien Ā«%s" samsvarer ikke med regex regel %s) -ErrorFieldValueNotIn=Feil verdi for feltnummer %s (verdien Ā«%s" er ikke en verdi tilgjengelig i felten %s av tabellen %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Feil verdi for feltnummer %s (verdi '%s "er ikke en %s eksisterende ref) ErrorsOnXLines=Feil pĆ„ %s kilde linjer ErrorFileIsInfectedWithAVirus=Det antivirus programmet var ikke i stand til Ć„ validere filen (filen kan vƦre infisert av et virus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/nb_NO/incoterm.lang b/htdocs/langs/nb_NO/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/nb_NO/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/nb_NO/install.lang b/htdocs/langs/nb_NO/install.lang index 78bd25f24c3..e087efd5896 100644 --- a/htdocs/langs/nb_NO/install.lang +++ b/htdocs/langs/nb_NO/install.lang @@ -155,7 +155,8 @@ MigrationFinished=Migrasjon ferdig LastStepDesc=Siste trinn: Definer her login og passord du har tenkt Ć„ bruke til Ć„ koble til programvare. Ikke mist dette som det er kontoen for Ć„ administrere alle andre. ActivateModule=Aktiver modulen %s ShowEditTechnicalParameters=Klikk her for Ć„ vise/endre avanserte parametre (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... +WarningUpgrade=Advarsel!\nTok du en backup av databasen fĆørst?\nDette anbefales pĆ„ det sterkeste! F.eks: Pga. feil/bugs i databasesystemer (f.eks. Mysql versjon 5.5.40), kan data eller tabeller gĆ„ tapt i denne prosessen. Det er sterkt anbefalt Ć„ ha en komplett kopi av databasen fĆør du starter overfĆøringen.\n\n\nKlikk OK for Ć„ starte overfĆøringsprosessen... +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 @@ -207,7 +208,7 @@ MigrationProjectTaskTime=Oppdater tid i sekunder MigrationActioncommElement=Oppdatering data pĆ„ handlinger MigrationPaymentMode=Datamigrering for betaling modus MigrationCategorieAssociation=Migrer kategorier -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=OverfĆøring av hendelser for Ć„ legge hendelseseier inn i oppdragstabellen ShowNotAvailableOptions=Vis utilgjengelige opsjoner HideNotAvailableOptions=Gjem utilgjengelige opsjoner diff --git a/htdocs/langs/nb_NO/main.lang b/htdocs/langs/nb_NO/main.lang index 8281c41b469..6fc76ac7a89 100644 --- a/htdocs/langs/nb_NO/main.lang +++ b/htdocs/langs/nb_NO/main.lang @@ -141,6 +141,7 @@ Cancel=Avbryt Modify=Endre Edit=Rediger Validate=Godkjenn +ValidateAndApprove=Validate and Approve ToValidate=ƅ godkjenne Save=Lagre SaveAs=Lagre som @@ -158,6 +159,7 @@ Search=SĆøk SearchOf=SĆøk Valid=Gyldig Approve=Godkjenn +Disapprove=Disapprove ReOpen=GjenĆ„pne Upload=Send fil ToLink=Link @@ -219,6 +221,7 @@ Cards=Kort Card=Kort Now=NĆ„ Date=Dato +DateAndHour=Date and hour DateStart=Startdato DateEnd=Sluttdato DateCreation=Opprettet den @@ -295,6 +298,7 @@ UnitPriceHT=Enhetspris (netto) UnitPriceTTC=Enhetspris PriceU=Pris PriceUHT=Pris (netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=Pris Amount=BelĆøp AmountInvoice=FakturabelĆøp @@ -521,6 +525,7 @@ DateFromTo=Fra %s til %s DateFrom=Fra %s DateUntil=Til og med %s Check=Sjekk +Uncheck=Uncheck Internal=Intern External=Ekstern Internals=Intern @@ -688,6 +693,7 @@ PublicUrl=Offentlig URL AddBox=Legg til boks SelectElementAndClickRefresh=Velg et element og klikk Oppfrisk PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Mandag Tuesday=Tirsdag diff --git a/htdocs/langs/nb_NO/opensurvey.lang b/htdocs/langs/nb_NO/opensurvey.lang index 0290f3f467f..b6c393f99fa 100644 --- a/htdocs/langs/nb_NO/opensurvey.lang +++ b/htdocs/langs/nb_NO/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 +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=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) +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 +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/nb_NO/orders.lang b/htdocs/langs/nb_NO/orders.lang index 11c92b04ada..8aea126a9c1 100644 --- a/htdocs/langs/nb_NO/orders.lang +++ b/htdocs/langs/nb_NO/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Kansellert StatusOrderDraft=Kladd (trenger godkjenning) StatusOrderValidated=Godkjent StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Behandlet StatusOrderToBill=Levert StatusOrderToBill2=Til fakturering @@ -58,6 +59,7 @@ MenuOrdersToBill=Ordre levert MenuOrdersToBill2=Fakturerbare ordre SearchOrder=Søk i ordre SearchACustomerOrder=Søk etter kundeordre +SearchASupplierOrder=Search a supplier order ShipProduct=Lever produkt Discount=Rabatt CreateOrder=Lag ordre diff --git a/htdocs/langs/nb_NO/other.lang b/htdocs/langs/nb_NO/other.lang index d634da4b41f..57beeca7610 100644 --- a/htdocs/langs/nb_NO/other.lang +++ b/htdocs/langs/nb_NO/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksimal størrelse AttachANewFile=Legg ved ny fil/dokument LinkedObject=Lenkede objekter Miscellaneous=Diverse -NbOfActiveNotifications=Antall pÄminnelser +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__ diff --git a/htdocs/langs/nb_NO/printing.lang b/htdocs/langs/nb_NO/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/nb_NO/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/nb_NO/productbatch.lang b/htdocs/langs/nb_NO/productbatch.lang index 864782023a0..45263681965 100644 --- a/htdocs/langs/nb_NO/productbatch.lang +++ b/htdocs/langs/nb_NO/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/nb_NO/products.lang b/htdocs/langs/nb_NO/products.lang index 7b77f870cdf..1a443f724cd 100644 --- a/htdocs/langs/nb_NO/products.lang +++ b/htdocs/langs/nb_NO/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/nb_NO/projects.lang b/htdocs/langs/nb_NO/projects.lang index 1d656410bad..e1ca6e4c987 100644 --- a/htdocs/langs/nb_NO/projects.lang +++ b/htdocs/langs/nb_NO/projects.lang @@ -8,8 +8,10 @@ SharedProject=Alle PrivateProject=Kontaktpersoner for prosjektet MyProjectsDesc=Denne visningen er begrenset til prosjekter du er en kontakt for (hva er den 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). 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). ProjectsArea=ProsjektomrÄde @@ -29,6 +31,8 @@ NoProject=Ingen prosjekter definert NbOpenTasks=Ant. Äpne oppgaver NbOfProjects=Ant. prosjekter TimeSpent=Tid brukt +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tid brukt RefTask=Ref. oppgave LabelTask=Oppgave @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Liste over leverandørens ordre knyttet til ListSupplierInvoicesAssociatedProject=Liste over leverandørens fakturaer knyttet til prosjektet ListContractAssociatedProject=Liste over kontrakter knyttet til prosjektet ListFichinterAssociatedProject=Liste over tiltak knyttet til prosjektet -ListTripAssociatedProject=Liste over turer og utgifter knyttet til prosjektet +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Liste over tiltak knyttet til prosjektet ActivityOnProjectThisWeek=Aktiviteter i prosjektet denne uke ActivityOnProjectThisMonth=Aktiviteter i prosjektet denne mÄned @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Koble fra element # Documents models DocumentModelBaleine=En komplett prosjektets rapport modell (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/nb_NO/salaries.lang b/htdocs/langs/nb_NO/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/nb_NO/salaries.lang +++ b/htdocs/langs/nb_NO/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/nb_NO/sendings.lang b/htdocs/langs/nb_NO/sendings.lang index 69f7e0739b4..c2e8b0514b6 100644 --- a/htdocs/langs/nb_NO/sendings.lang +++ b/htdocs/langs/nb_NO/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Ant. bestilt QtyShipped=Ant. levert QtyToShip=Ant. Ä levere QtyReceived=Ant. mottatt -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Andre leveringer pÄ denne ordren DateSending=Leveringsdato DateSendingShort=Leveringsdato diff --git a/htdocs/langs/nb_NO/stocks.lang b/htdocs/langs/nb_NO/stocks.lang index d784469d779..988c8729d87 100644 --- a/htdocs/langs/nb_NO/stocks.lang +++ b/htdocs/langs/nb_NO/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Veid gjennomsnittlig pris PMPValueShort=WAP EnhancedValueOfWarehouses=Lagerverdi UserWarehouseAutoCreate=Opprett lager automatisk nÄr en bruker opprettes +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Antall sendt QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/nb_NO/suppliers.lang b/htdocs/langs/nb_NO/suppliers.lang index d6457622bf2..219237d952d 100644 --- a/htdocs/langs/nb_NO/suppliers.lang +++ b/htdocs/langs/nb_NO/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leverandører -Supplier=Leverandør AddSupplier=Create a supplier SupplierRemoved=Leverandør slettet SuppliersInvoice=Leverandørfaktura @@ -30,7 +29,7 @@ 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? -DenyingThisOrder=Avvis denne innkjøpsordren +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Er du sikker pÄ at du vil avvise denne innkjøpsordren? ConfirmCancelThisOrder=Er du sikker pÄ at du vil avbryte denne innkjøpsordren? AddCustomerOrder=Opprett kundeordre diff --git a/htdocs/langs/nb_NO/trips.lang b/htdocs/langs/nb_NO/trips.lang index c96afd01553..03337d82ee6 100644 --- a/htdocs/langs/nb_NO/trips.lang +++ b/htdocs/langs/nb_NO/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Reise -Trips=Reiser -TripsAndExpenses=Reiser og utgifter -TripsAndExpensesStatistics=Turer og utgifter statistikk -TripCard=Reisekort -AddTrip=Legg til reise -ListOfTrips=Oversikt over reiser +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=Oversikt over avgifter -NewTrip=Ny reise +NewTrip=New expense report CompanyVisited=Firma/organiasjon besøkt Kilometers=Kilometer FeesKilometersOrAmout=Beløp eller kilometer -DeleteTrip=Slett reise -ConfirmDeleteTrip=Er du sikker pÄ at du vil slette denne reisen? -TF_OTHER=Annet -TF_LUNCH=Lunsj -TF_TRIP=Reise -ListTripsAndExpenses=Liste over turer og utgifter -ExpensesArea=Turer og utgifter omrÄdet -SearchATripAndExpense=Søk etter tur og regning +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=Annet +TF_TRANSPORTATION=Transportation +TF_LUNCH=Lunsj +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/nl_BE/banks.lang b/htdocs/langs/nl_BE/banks.lang index 206daa7c5b7..ce439cc3084 100644 --- a/htdocs/langs/nl_BE/banks.lang +++ b/htdocs/langs/nl_BE/banks.lang @@ -10,10 +10,8 @@ BalanceMinimalDesired=Minimum gewenst saldo InitialBankBalance=Beginsaldo EndBankBalance=Eindsaldo ShowAllTimeBalance=Toon saldo van start -Reconciliation=Reconciliation AccountStatement=Rekeningoverzicht AccountStatementShort=Rekeningoverzicht -Rapprochement=Reconciliate BankAccountDomiciliation=Bank adres BankAccountOwner=Rekeninghouder naam BankAccountOwnerAddress=Rekeninghouder adres diff --git a/htdocs/langs/nl_BE/bills.lang b/htdocs/langs/nl_BE/bills.lang index 26c513c1640..3e9c2a738d8 100644 --- a/htdocs/langs/nl_BE/bills.lang +++ b/htdocs/langs/nl_BE/bills.lang @@ -46,7 +46,6 @@ CancelBill=Annuleer een factuur SendRemindByMail=EMail herinnering DoPayment=Doe betaling EnterPaymentReceivedFromCustomer=Voeg betaling in ontvangen van klant -EnterPaymentDueToCustomer=Make payment due to customer Amount=Bedrag BillStatus=Status factuur BillStatusDraft=Klad (moet gevalideerd worden) @@ -130,17 +129,12 @@ PaymentConditionShort60DENDMONTH=60 D einde m. PaymentConditionShortPT_DELIVERY=Bij levering PaymentTypeVIR=Overschrijving PaymentTypeShortVIR=Overschrijving -PaymentTypePRE=Bank's order -PaymentTypeShortPRE=Bank's order PaymentTypeLIQ=Rembours PaymentTypeShortLIQ=Rembours PaymentTypeCB=Kredietkaart PaymentTypeShortCB=Kredietkaart PaymentTypeVAD=Online betaling PaymentTypeShortVAD=Online betaling -BankDetails=Bank details -BankCode=Bank code -DeskCode=Desk code Residence=Domiciliering IBANNumber=IBAN nummer BICNumber=BIC/SWIFT nummer diff --git a/htdocs/langs/nl_BE/boxes.lang b/htdocs/langs/nl_BE/boxes.lang index 13a57c33de0..d52993dfb45 100644 --- a/htdocs/langs/nl_BE/boxes.lang +++ b/htdocs/langs/nl_BE/boxes.lang @@ -22,7 +22,6 @@ BoxTitleLastCustomersOrProspects=Laatste %s geregistreerde klanten of potentiël BoxTitleLastPropals=Laatste %s opgenomen offertes BoxTitleLastCustomerBills=Laatste %s facturen klanten BoxTitleLastSupplierBills=Laatste %s facturen leveranciers -BoxTitleLastProspects=Laatste %s geregistreerde potentiële klanten BoxTitleLastProductsInContract=Laatste %s producten / diensten in contracten BoxTitleOldestUnpaidCustomerBills=Oudste %s onbetaalde facturen klanten BoxTitleOldestUnpaidSupplierBills=Oudste %s onbetaalde facturen leveranciers diff --git a/htdocs/langs/nl_BE/commercial.lang b/htdocs/langs/nl_BE/commercial.lang deleted file mode 100644 index b881117de93..00000000000 --- a/htdocs/langs/nl_BE/commercial.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - commercial diff --git a/htdocs/langs/nl_BE/companies.lang b/htdocs/langs/nl_BE/companies.lang deleted file mode 100644 index 70564679d5f..00000000000 --- a/htdocs/langs/nl_BE/companies.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - companies diff --git a/htdocs/langs/nl_BE/compta.lang b/htdocs/langs/nl_BE/compta.lang index 2021806501d..03fff05cd82 100644 --- a/htdocs/langs/nl_BE/compta.lang +++ b/htdocs/langs/nl_BE/compta.lang @@ -8,8 +8,6 @@ OptionModeTrue=Optie Input-Ouput OptionModeVirtual=Optie Credit-Debet OptionModeTrueDesc=In deze context is de omzet berekend op betalingen (datum van de betalingen). \n De geldigheid van de cijfers zijn slechts verzekerd wanneer de boekhouding wordt gecontroleerd door middel van de input / output op de rekeningen via facturen. OptionModeVirtualDesc=In deze context wordt de omzet berekend op de facturen (datum van validatie). Wanneer deze facturen verschuldigd zijn, ongeacht of zij betaald zijn of niet, ze zijn opgenomen in de omzet. -FeatureIsSupportedInInOutModeOnly=Feature only available in CREDITS-DEBTS accountancy mode (See Accountancy module configuration) -Param=Setup BillsForSuppliers=Facturen van leveranciers Outcome=Uitgaven ReportInOut=Inkomsten / Uitgaven diff --git a/htdocs/langs/nl_BE/dict.lang b/htdocs/langs/nl_BE/dict.lang index e53a3016315..13dc5f202c1 100644 --- a/htdocs/langs/nl_BE/dict.lang +++ b/htdocs/langs/nl_BE/dict.lang @@ -4,21 +4,17 @@ CountryTN=Tunisië CountryCM=Cameroun CountrySA=Saudi Arabië CountryAX=Land Eilanden -CountryCX=Christmas Island CountryCD=Congo, de Democratische Republiek van de CountryFK=Falklandeilanden CountryLY=Libische CountryMK=Macedonië, de Voormalige Joegoslavische van CountryPG=Papoea-Nieuw-Guinea -CountryPN=Pitcairn Islands -CountryVN=Viet Nam CivilityMME=Meneer CivilityMR=Mevrouw CivilityMLE=Jufrrouw CurrencyAUD=Dollar AU CurrencyCAD=Dollar KAN CurrencyEUR=Euro -CurrencyGBP=GB Pounds CurrencyTND=TND CurrencyUSD=Dollar US CurrencyXAF=CFA Frank BEAC diff --git a/htdocs/langs/nl_BE/ecm.lang b/htdocs/langs/nl_BE/ecm.lang index e62bad3d98c..427b9712044 100644 --- a/htdocs/langs/nl_BE/ecm.lang +++ b/htdocs/langs/nl_BE/ecm.lang @@ -10,7 +10,6 @@ ECMSectionManual=Manuele directorie ECMSectionAuto=Automatische directorie ECMSectionsManual=Manuale directories ECMSectionsAuto=Automatische directories -ECMSections=Directories ECMNewSection=Nieuwe directorie ECMAddSection=Maak manueel een directorie aan ECMCreationDate=Aanmaakdatum diff --git a/htdocs/langs/nl_BE/errors.lang b/htdocs/langs/nl_BE/errors.lang index d168cb69550..77f035e2009 100644 --- a/htdocs/langs/nl_BE/errors.lang +++ b/htdocs/langs/nl_BE/errors.lang @@ -18,13 +18,9 @@ ErrorBadSupplierCodeSyntax=Slechte syntaxis voor Leverancierscode ErrorSupplierCodeRequired=Leverancierscode nodig ErrorBadParameters=Slechte parameters ErrorFailedToWriteInDir=Mislukt om in de map %s te schrijven -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. ErrorFailedToCreateDir=Mislukt om een directory te creëren. 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=Geen mail gedefinieerd voor deze gebruiker ErrorFeatureNeedJavascript=Javascript moet geactiveerd zijn voor deze functie. Verander dit in de 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=Bestand niet gevonden (Slecht pad, verkeerde permissies of toegang geweigerd door openbasedir parameter) ErrorFunctionNotAvailableInPHP=Functie %s is vereist voor deze toepassing, maar is niet beschikbaar in deze versie / setup van PHP. ErrorDirAlreadyExists=Een map met deze naam bestaat al. @@ -32,7 +28,6 @@ ErrorNoAccountancyModuleLoaded=Geen "accountancy" module geactiveerd ErrorExportDuplicateProfil=Deze profielnaam bestaat al voor deze export set. ErrorLDAPSetupNotComplete=Dolibarr LDAP-matching is niet compleet. ErrorLDAPMakeManualTest=A .ldif file has been generated in directory %s. Try to load it manually from command line to have more informations on errors. -ErrorCantSaveADoneUserWithZeroPercentage=Can't save an action with "statut not started" if field "done by" is also filled. ErrorRefAlreadyExists=Ref gebruikt voor de oprichting bestaat al. ErrorPleaseTypeBankTransactionReportName=Vul bankontvangst naam in waar transactie wordt gemeld (Formaat YYYYMM of JJJJMMDD) ErrorRecordHasChildren=Mislukt om records te verwijderen omdat er nog gelinkte bestanden zijn. @@ -48,12 +43,10 @@ ErrorCantReadDir=Mislukt om directorie '%s' te lezen ErrorFailedToFindEntity=Mislukt om entiteit '%s' te lezen ErrorBadLoginPassword=Onjuiste waarde voor login of wachtwoord ErrorLoginDisabled=Uw account is uitgeschakeld -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=Mislukt om wachtwoord te wijzigen ErrorLoginDoesNotExists=Gebruiker met login %s kon niet worden gevonden. ErrorBadValueForCode=Slechte waarde voor de input-code. Probeer het opnieuw met een nieuwe waarde ... WarningAllowUrlFopenMustBeOn=Parameter allow_url_fopen must be set to on in filer php.ini for having this module working completely. U moet dit bestand handmatig wijzigen. -WarningBuildScriptNotRunned=Script %s was not yet ran to build graphics, or there is no data to show. WarningBookmarkAlreadyExists=Een bladwijzer met deze titel of deze URL bestaat al. WarningPassIsEmpty=Waarschuwing, database wachtwoord is leeg. Dit is een gat in de beveiliging. You should add a password to your database and change your conf.php file to reflect this. WarningUntilDirRemoved=Deze waarschuwing zal actief blijven zolang deze map aanwezig is (alleen weergegeven voor admin-gebruikers).WarningInstallDirExists=Waarschuwing, install directorie (%s) bestaat nog steeds. Dit is een ernstig beveiligingslek. U moet deze zo spoedig mogelijk verwijderen. diff --git a/htdocs/langs/nl_BE/exports.lang b/htdocs/langs/nl_BE/exports.lang index 6dc7e5d6939..15ff2545d16 100644 --- a/htdocs/langs/nl_BE/exports.lang +++ b/htdocs/langs/nl_BE/exports.lang @@ -2,8 +2,6 @@ ExportsArea=Export gebied ImportArea=Import gebied NewExport=Nieuwe exportmogelijkheden -ExportableDatas=Exportable dataset -ImportableDatas=Importable dataset SelectExportDataSet=Kies dataset die u wilt exporteren ... SelectExportFields=Kies velden die u wilt exporteren, of selecteer een vooraf gedefinieerde uitvoer-profiel SaveExportModel=Bewaar dit uitvoer-profiel als u van plan bent om het later te hergebruiken ... @@ -11,7 +9,6 @@ ExportModelName=Export profielnaam ExportModelSaved=Export profiel opgeslagen onder de naam %s. ExportableFields=Exportable velden DatasetToExport=Dataset te exporteren -Dataset=Dataset ChooseFieldsOrdersAndTitle=Kies velden Om ... FieldsOrder=Velden bestelling FieldsTitle=Velden titel @@ -21,11 +18,8 @@ AvailableFormats=Formaten beschikbaar LibraryUsed=Librairie FormatedImport=Import-assistent FormatedImportDesc1=Dit gebied maakt het mogelijk om persoonlijke gegevens te importeren, met behulp van een assistent om u te helpen in het proces, zonder technische kennis. -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 assistent FormatedExportDesc1=Dit gebied maakt het mogelijk om persoonlijke gegevens te exporteren, met behulp van een assistent om u te helpen in het proces, zonder technische kennis. -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=Blad NoImportableData=Geen importable gegevens (no module with definitions to allow data imports) FileSuccessfullyBuilt=Export bestand gegenereerd diff --git a/htdocs/langs/nl_BE/ftp.lang b/htdocs/langs/nl_BE/ftp.lang deleted file mode 100644 index 66407cca057..00000000000 --- a/htdocs/langs/nl_BE/ftp.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - ftp diff --git a/htdocs/langs/nl_BE/help.lang b/htdocs/langs/nl_BE/help.lang deleted file mode 100644 index 964027e2352..00000000000 --- a/htdocs/langs/nl_BE/help.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - help diff --git a/htdocs/langs/nl_BE/install.lang b/htdocs/langs/nl_BE/install.lang index e768ee17942..7967a9c12c8 100644 --- a/htdocs/langs/nl_BE/install.lang +++ b/htdocs/langs/nl_BE/install.lang @@ -68,7 +68,6 @@ GoToSetupArea=Ga naar Dolibarr (setup gebied) WithNoSlashAtTheEnd=Zonder de schuine streep "/" aan het eind DirectoryRecommendation=Het wordt aanbevolen deze directorie te plaatsen uit de directorie van de webpagina's. LoginAlreadyExists=login bestaat reeds -DolibarrAdminLogin=Dolibarr admin login AdminLoginAlreadyExists=Dolibarr administrator account '%s' bestaat reeds. WarningRemoveInstallDir=Waarschuwing, nadat de installatie of upgrade is voltooid, moet u om veiligheidsredenen de install directorie verwijderen of hernoemen naar install.lock om kwaadwillige gebruik te voorkomen. ThisPHPDoesNotSupportTypeBase=Dit PHP-systeem biedt geen ondersteuning voor enig interface om toegang te krijgen tot database type %s @@ -121,13 +120,8 @@ MigrationContractsFieldDontExist=Veld fk_facture bestaat niet meer. Niets te doe MigrationContractsEmptyDatesUpdateSuccess=Contract lege datum correctie succesvol gedaan MigrationContractsEmptyDatesNothingToUpdate=Geen contract lege datum te corrigeren MigrationContractsEmptyCreationDatesNothingToUpdate=Geen contract aanmaakdatum te corrigeren -MigrationContractsInvalidDatesUpdate=Bad value date contract correction -MigrationContractsInvalidDateFix=Correct contract %s (Contract date=%s, Starting service date min=%s) MigrationContractsInvalidDatesNumber=%s contracten gemodifieerd MigrationContractsInvalidDatesNothingToUpdate=Geen datum met slechte waarde te corrigeren -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 gesloten door fout MigrationReopenThisContract=Heropenen contract %s MigrationReopenedContractsNumber=%s contracten gemodifieerd diff --git a/htdocs/langs/nl_BE/languages.lang b/htdocs/langs/nl_BE/languages.lang deleted file mode 100644 index c939f301168..00000000000 --- a/htdocs/langs/nl_BE/languages.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - languages diff --git a/htdocs/langs/nl_BE/mails.lang b/htdocs/langs/nl_BE/mails.lang index 657a92a6732..3c7e836943e 100644 --- a/htdocs/langs/nl_BE/mails.lang +++ b/htdocs/langs/nl_BE/mails.lang @@ -32,7 +32,6 @@ ConfirmValidMailing=Weet u zeker dat u deze mailing wilt valideren om te verzend ConfirmDeleteMailing=Weet u zeker dat u deze mailing wilt verwijderen? NoTargetYet=Nog geen ontvangers gedefiniëerd (Ga op het tabblad "Ontvangers") RemoveRecipient=Verwijder ontvanger -CommonSubstitutions=Common substitutions YouCanAddYourOwnPredefindedListHere=Om uw email selector module te creëren, zie htdocs/core/modules/mailings/README. EMailTestSubstitutionReplacedByGenericValues=Bij het gebruik van test-modus, substituties variabelen worden vervangen door algemene waarden MailingAddFile=Bestand toevoegen diff --git a/htdocs/langs/nl_BE/main.lang b/htdocs/langs/nl_BE/main.lang index e417a4ffc01..7b963e8acca 100644 --- a/htdocs/langs/nl_BE/main.lang +++ b/htdocs/langs/nl_BE/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 @@ -24,7 +25,6 @@ ErrorFailedToOpenFile=Gefaald om file %s te openen ErrorCanNotCreateDir=Kan dir %s niet creëren ErrorCanNotReadDir=Kan dircectory %s niet lezen ErrorUnknown=ONBEKENDE fout -ErrorSQL=SQL Error ErrorLogoFileNotFound=Logo bestand "%s" is niet gevonden ErrorGoToGlobalSetup=Ga naar "Bedrijf" setup om dit op te lossen ErrorGoToModuleSetup=Ga naar Module setup Om dit op te lossen @@ -46,21 +46,15 @@ ErrorFailedToSaveFile=Fout, mislukt om bestand op te slaan. RecordSaved=Record opgeslagen LevelOfFeature=Niveau van de functies DefinedAndHasThisValue=Omschreven en heeft waarde van -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. -Undefined=Undefined HomeArea=Home gebied PreviousConnexion=Vorige verbinding RequestedUrl=Aangevraagd Url RequestLastAccess=Verzoek voor laatste database toegang RequestLastAccessInError=Verzoek voor laatste database toegang in fout -ReturnCodeLastAccessInError=Return code for last database access in error -InformationLastAccessInError=Information for last database access in error DolibarrHasDetectedError=Dolibarr heeft een technische fout InformationToHelpDiagnose=Informatie die kan helpen bij het vaststellen NotePublic=Nota (openbaar) NotePrivate=Nota (privƩ) -PrecisionUnitIsLimitedToXDecimals=Dolibarr was setup to limit precision of unit prices to %s decimals. WarningYouHaveAtLeastOneTaskLate=Waarschuwing, u hebt ten minste ƩƩn element dat de tolerantie van vertraging heeft overschreden. Activate=Activeer Activated=Activeer @@ -85,12 +79,9 @@ Choose=Kiezen ChooseLangage=Selecteer alstublieft je taal Author=De auteur PasswordRetype=Voer opnieuw je wachtwoord in -Parameter=Parameter -Parameters=Parameters Note=Aantekening Label=Het etiket RefOrLabel=Ref. of etiket -Info=Log DefaultModel=Standaardmodel DevelopmentTeam=Ontwikkelingsteam Connection=Verbinding @@ -111,8 +102,6 @@ DatePlanShort=Datum geplant DateRealShort=Datum echt. Hour=uur Hours=Uren -Quadri=Quadri -HourShort=H Default=Standaardwaarde DefaultValue=Default waarde UnitPriceTTC=Eenheidsprijs @@ -130,7 +119,6 @@ IncludedVAT=Incl. BTW HT=Na aftrek van belastingen TTC=Incl. BTW VATRate=BTW tarief -Delta=Delta List=De lijst FullList=Volledige lijst Ref=Ref @@ -154,11 +142,9 @@ DolibarrWorkBoard=Werktaken overzicht to=tot Other=Ander Others=Anderen -ReCalculate=Herbouw Draft=Ontwerp Drafts=Ontwerpen Rejects=Verwerpen -Preview=Preview Late=Laat January=januari February=februari @@ -173,9 +159,6 @@ October=oktober November=november December=december FileTransferComplete=Bestand werd succesvol upgeload -DateFormatYYYYMM=YYYY-MM -DateFormatYYYYMMDD=YYYY-MM-DD -DateFormatYYYYMMDDHHMM=YYYY-MM-DD HH:SS ReportPeriod=Rapport periode ReportDescription=Beschrijving Keyword=Sleutelwoord @@ -199,7 +182,6 @@ Entity=Profiel Entities=Profielen CustomerPreview=Klanten preview SupplierPreview=Leverancier preview -AccountancyPreview=Accountancy preview ShowCustomerPreview=Toon klant preview ShowSupplierPreview=Toon leverancier preview ShowAccountancyPreview=Toon accountancy preview @@ -228,7 +210,6 @@ CurrentTheme=Huidig thema ForCustomer=Voor de klant HidePassword=Toon commando met het wachtwoord verborgen UnHidePassword=Toon echt commando met geen verborgen wachtwoord -Page=Page Notes=Nota's NewAttribute=Nieuw attribuut OptionalFieldsSetup=Optionele velden setup @@ -241,9 +222,7 @@ Day4=donderdag Day5=vrijdag Day6=zaterdag Day0=zondag -ShortMonday=M ShortTuesday=D -ShortWednesday=W ShortThursday=D ShortFriday=V ShortSaturday=Z diff --git a/htdocs/langs/nl_BE/orders.lang b/htdocs/langs/nl_BE/orders.lang index 771601f4e6f..8e18d502b6a 100644 --- a/htdocs/langs/nl_BE/orders.lang +++ b/htdocs/langs/nl_BE/orders.lang @@ -62,7 +62,6 @@ ConfirmValidateOrder=Bent u zeker dat u deze bestelling onder naam %ss wi ConfirmCancelOrder=Bent u zeker dat u deze bestelling wil annuleren? ConfirmMakeOrder=Bent u zeker dat u deze bestelling gemaakt op %ss wil bevestigen? ClassifyBilled=Classify "Billed" -ComptaCard=Accountancy card DraftOrders=Klad bestellingen RelatedOrders=Gerelateerde bestellingen OnProcessOrders=Bestellingen in uitvoering diff --git a/htdocs/langs/nl_BE/other.lang b/htdocs/langs/nl_BE/other.lang index 592c4f1547e..c1a1850e465 100644 --- a/htdocs/langs/nl_BE/other.lang +++ b/htdocs/langs/nl_BE/other.lang @@ -20,9 +20,6 @@ FeaturesSupported=Functies ondersteund SendNewPasswordDesc=Dit formulier laat u toe om een nieuwe wachtwoord aan te vragen. Het zal worden verstuurd naar uw e-mailadres.
    Verandering van het wachtwoord zal enkel gebeuren na het klikken op de bevestigingslink van deze mail.
    Controleer uw e-mail ontvanger. BackToLoginPage=Naar login pagina AuthenticationDoesNotAllowSendNewPassword=De verificatie van Dolibarr is ingesteld op %s.
    In deze modus kan Dolibarr uw wachtwoord niet weten of wijzigen.
    Neem contact op met uw systeembeheerder voor het wijzigen van uw wachtwoord. -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=Statistieken van het aantal eenheden StatsByNumberOfEntities=Statistieken van het aantal verwezen entiteiten diff --git a/htdocs/langs/nl_BE/paybox.lang b/htdocs/langs/nl_BE/paybox.lang deleted file mode 100644 index 539f4f0d40e..00000000000 --- a/htdocs/langs/nl_BE/paybox.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - paybox diff --git a/htdocs/langs/nl_BE/products.lang b/htdocs/langs/nl_BE/products.lang index 74c92b41150..9e4761e9f41 100644 --- a/htdocs/langs/nl_BE/products.lang +++ b/htdocs/langs/nl_BE/products.lang @@ -2,7 +2,6 @@ ProductServiceCard=Producten/Diensten kaart ProductId=Product/dienst id Create=Maak -ServiceCode=Service code ProductsAndServicesOnSell=Producten en Diensten in verkoop ProductsAndServicesNotOnSell=Producten en diensten niet in verkoop ProductsAndServicesStatistics=Statistieken van producten en diensten @@ -41,8 +40,6 @@ AddToOtherProposals=Toevoegen aan andere voorstellen SupplierCard=Leverancierskaart AllWays=Pad naar het vinden van uw product in voorraad NoCat=Uw product is niet in elke categorie -BarCode=Barcode -BarcodeType=Barcode type SetDefaultBarcodeType=Stel barcode type BarcodeValue=Barcode waarde NoteNotVisibleOnBill=Nota (niet zichtbaar op facturen, voorstellen ...) @@ -65,7 +62,6 @@ ProductDeleted=Product / Dienst: %s geschrapt uit de database. ExportDataset_produit_1=Producten en diensten ConfirmDeleteProductLine=Weet u zeker dat u deze prodcutlijn wilt verwijderen? NoProductMatching=Geen product / dienst voldoen aan uw criteria -Restock=Restock ProductSpecial=Speciale QtyMin=Minimum hoeveelheid PriceQtyMin=Prijs hoeveelheid min. @@ -74,7 +70,6 @@ NoSupplierPriceDefinedForThisProduct=Geen enkele leverancier prijs / Qty gedefin RecordedProducts=Producten geregistreerd RecordedProductsAndServices=Producten / diensten opgenomen GenerateThumb=Genereer Thumb -ProductCanvasAbility=Use special "canvas" addons ServiceNb=Service # %s ListProductByPopularity=Lijst van producten / diensten op populariteit Finished=Afgewerkt product diff --git a/htdocs/langs/nl_BE/trips.lang b/htdocs/langs/nl_BE/trips.lang index c0ecfb50dec..3496c7748fe 100644 --- a/htdocs/langs/nl_BE/trips.lang +++ b/htdocs/langs/nl_BE/trips.lang @@ -10,4 +10,3 @@ CompanyVisited=Bedrijf / partikulier bezocht FeesKilometersOrAmout=Bedrag of kilometers DeleteTrip=Verwijderen verplaatsing ConfirmDeleteTrip=Weet u zeker dat u deze verplaatsing wilt verwijderen? -TF_TRIP=Verplaatsing diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang index ee574b01753..c961b2450f3 100644 --- a/htdocs/langs/nl_NL/admin.lang +++ b/htdocs/langs/nl_NL/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimenteel VersionDevelopment=Ontwikkeling VersionUnknown=Onbekend VersionRecommanded=Aanbevolen +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Sessie-ID SessionSaveHandler=Wijze van sessieopslag SessionSavePath=Sessie opslaglocatie @@ -493,10 +498,16 @@ Module600Name=Kennisgevingen Module600Desc=Stuur EMail notificaties van bepaalde Dolibarr zakelijke gebeurtenissen naar derde-partijen contacten (setup gedefinieerd in iedere derde-partij) Module700Name=Giften Module700Desc=Donatiebeheer +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 integratie Module1400Name=Boekhouden Module1400Desc=Boekhoudkundig beheer van deskundigen (dubbel partijen) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categorieƫn Module1780Desc=Categoriebeheer (producten, leveranciers en afnemers) Module2000Name=Fckeditor @@ -631,7 +642,7 @@ Permission181=Bekijk leverancier opdrachten Permission182=Creƫren / wijzigen leverancier opdrachten Permission183=Valideer leveranciersopdrachten Permission184=Goedkeuren leveranciersopdrachten -Permission185=Bestel leverancieropdrachten +Permission185=Order or cancel supplier orders Permission186=Ontvang leveranciersopdrachten Permission187=Sluiten leverancieropdrachten Permission188=Annuleren leverancieropdrachten @@ -711,6 +722,13 @@ Permission538=Diensten exporteren Permission701=Bekijk donaties Permission702=Creƫren / wijzigen donaties Permission703=Verwijderen donaties +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=Bekijk voorraden Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Wachtwoord voor de proxy-server te gebruiken DefineHereComplementaryAttributes=Definieer hier alle attributen, niet reeds standaard beschikbaar, en dat je wilt worden ondersteund voor %s. ExtraFields=Aanvullende attributen ExtraFieldsLines=Aanvullende kenmerken (lijnen) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Aanvullende kenmerken (relaties) ExtraFieldsContacts=Aanvullende kenmerken (contact / adres) ExtraFieldsMember=Aanvullende kenmerken (lid) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Product- / dienstregels met een waarde van 0 gebruiken FreeLegalTextOnProposal=Vrije tekst op Offertes WatermarkOnDraftProposal=Watermerk op ontwerp offertes (geen indien leeg) 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=Opdrachtenbeheerinstellingen OrdersNumberingModules=Opdrachtennummeringmodules @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Streepjescodetype UPC BarcodeDescISBN=Streepjescodetype ISBN BarcodeDescC39=Streepjescodetype C39 BarcodeDescC128=Streepjescodetype C128 -GenbarcodeLocation=Opdrachtregelprogramma voor streepjescodegeneratie (gebruikt door phpbarcode voor enkele streepjescode typen) +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=Beheerder om automatisch barcode nummers te bepalen. ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Te gebruiken rekening voor ontvangst van contacte betalingen CashDeskBankAccountForCheque= Te gebruiken rekening voor ontvangst van betalingen per cheque CashDeskBankAccountForCB= Te gebruiken rekening voor ontvangst van betalingen per CreditCard -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Weblinkmoduleinstellingen @@ -1569,3 +1597,7 @@ SortOrder=Sort order Format=Formaat 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. diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang index 78926b0359c..8e8b94df0d2 100644 --- a/htdocs/langs/nl_NL/banks.lang +++ b/htdocs/langs/nl_NL/banks.lang @@ -33,7 +33,11 @@ AllTime=Vanaf het begin Reconciliation=Overeenstemming RIB=Bankrekeningnummer IBAN=IBAN-nummer +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC- / SWIFT-nummer +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Periodieke overboekingen StandingOrder=Periodieke overboeking Withdrawals=Opnames @@ -148,7 +152,7 @@ BackToAccount=Terug naar rekening ShowAllAccounts=Toon alle rekeningen FutureTransaction=Overboeking in de toekomst. Geen manier mogelijk om af te stemmen SelectChequeTransactionAndGenerate=Select / filter controleert op te nemen in het controleren stortingsbewijs en op "Create" klikken. -InputReceiptNumber=Kies het bankafschrift in verband met de bemiddeling. Gebruik een sorteerbaar numerieke waarde (zoals YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Tenslotte een categorie opgeven waarin de gegevens bewaard kunnen worden ToConciliate=Te bemiddelen? ThenCheckLinesAndConciliate=Duid dan de lijnen aan van het bankafschrift en klik diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang index 1f75b981c62..2b5abd111e8 100644 --- a/htdocs/langs/nl_NL/bills.lang +++ b/htdocs/langs/nl_NL/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Betalingen gedaan PaymentsBackAlreadyDone=Terugbetaling al gedaan PaymentRule=Betalingsvoorwaarde PaymentMode=Betalingstype -PaymentConditions=Betalingstermijn -PaymentConditionsShort=Betalingstermijn +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Betalingsbedrag ValidatePayment=Valideer deze betaling PaymentHigherThanReminderToPay=Betaling hoger dan herinnering te betalen diff --git a/htdocs/langs/nl_NL/commercial.lang b/htdocs/langs/nl_NL/commercial.lang index 807bdccd23b..8302407576c 100644 --- a/htdocs/langs/nl_NL/commercial.lang +++ b/htdocs/langs/nl_NL/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Contact opgevolgd DateActionPlanned=Datum actie gepland voor DateActionDone=Datum actie uitgevoerd ActionAskedBy=Actie gevraagd door -ActionAffectedTo=Gebeurtenis is eigendom van +ActionAffectedTo=Event assigned to ActionDoneBy=Actie gedaan door ActionUserAsk=Geregistreerd door ErrorStatusCantBeZeroIfStarted=Als veld 'Datum uitgevoerd' is gevuld, is de actie gestart (of afgelopen), dus veld 'Status' kan niet 0%% worden. diff --git a/htdocs/langs/nl_NL/contracts.lang b/htdocs/langs/nl_NL/contracts.lang index 80c0173ed8d..88aab0ea14d 100644 --- a/htdocs/langs/nl_NL/contracts.lang +++ b/htdocs/langs/nl_NL/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=verlopen ServiceStatusClosed=Gesloten ServicesLegend=Dienstenlegenda Contracts=Contracten +ContractsAndLine=Contracts and line of contracts Contract=Contract NoContracts=Geen contracten MenuServices=Diensten diff --git a/htdocs/langs/nl_NL/cron.lang b/htdocs/langs/nl_NL/cron.lang index bcd3b1c774f..509725038ef 100644 --- a/htdocs/langs/nl_NL/cron.lang +++ b/htdocs/langs/nl_NL/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang index 9d16482afa5..0a8f7093045 100644 --- a/htdocs/langs/nl_NL/errors.lang +++ b/htdocs/langs/nl_NL/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=De bron- en doelrekening mogen niet dezelfde zijn ErrorBadThirdPartyName=Onjuiste waarde voor naam derde partij ErrorProdIdIsMandatory=De %s is verplicht ErrorBadCustomerCodeSyntax=Verkeerde syntaxis voor afnemerscode -ErrorBadBarCodeSyntax=Slechte syntax voor barcode +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=Afnemerscode nodig ErrorBarCodeRequired=Bar code nodig ErrorCustomerCodeAlreadyUsed=Afnemerscode al gebruikt @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript dient niet uitgeschakeld te zijn voor de ErrorPasswordsMustMatch=De twee ingevoerde wachtwoorden komen niet overeen. ErrorContactEMail=Er is een technische fout opgetreden. Neemt u alstublieft contact op met de beheerder via het e-mailadres %s en vermeld de volgende foutcode %s in uw bericht, of nog beter voeg een schermafbeelding van de pagina toe. ErrorWrongValueForField=Foutiefe waarde voor het veld nummer %s (waarde %s voldoet niet aan de reguliere expressieregel %s) -ErrorFieldValueNotIn=Verkeerde waarde voor het veld nummer %s (Waarde '%s' is geen waarde beschikbaar in het veld %s van de tabel %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Verkeerde waarde voor veldnummer %s (waarde '%s' is geen %s bestaande ref) ErrorsOnXLines=Fouten op bronregels %s ErrorFileIsInfectedWithAVirus=Het antivirusprogramma kon dit bestand niet valideren (het zou met een virus geĆÆnfecteerd kunnen zijn) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/nl_NL/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/nl_NL/install.lang b/htdocs/langs/nl_NL/install.lang index a0f1f51790b..5575250b112 100644 --- a/htdocs/langs/nl_NL/install.lang +++ b/htdocs/langs/nl_NL/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Laatste stap: Definieer hier de login en het wacht ActivateModule=Activeer module %s ShowEditTechnicalParameters=Klik hier om verder gevorderde parameters te zien of aan te passen. (expert instellingen) 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 diff --git a/htdocs/langs/nl_NL/main.lang b/htdocs/langs/nl_NL/main.lang index 104be6c74de..e2029732446 100644 --- a/htdocs/langs/nl_NL/main.lang +++ b/htdocs/langs/nl_NL/main.lang @@ -141,6 +141,7 @@ Cancel=Annuleren Modify=Wijzigen Edit=Bewerken Validate=Valideer +ValidateAndApprove=Validate and Approve ToValidate=Te valideren Save=Opslaan SaveAs=Opslaan als @@ -158,6 +159,7 @@ Search=Zoeken SearchOf=Zoeken Valid=Geldig Approve=Goedkeuren +Disapprove=Disapprove ReOpen=Heropenen Upload=Upload ToLink=Link @@ -219,6 +221,7 @@ Cards=Kaarten Card=Kaart Now=Nu Date=Datum +DateAndHour=Date and hour DateStart=Begindatum DateEnd=Einddatum DateCreation=Aanmaakdatum @@ -295,6 +298,7 @@ UnitPriceHT=Eenheidsprijs (netto) UnitPriceTTC=Eenheidsprijs (bruto) PriceU=E.P. PriceUHT=EP (netto) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=EP (bruto) Amount=Hoeveelheid AmountInvoice=Factuurbedrag @@ -521,6 +525,7 @@ DateFromTo=Van %s naar %s DateFrom=Vanaf %s DateUntil=Tot %s Check=Controleren +Uncheck=Uncheck Internal=Interne External=Extern Internals=Internen @@ -688,6 +693,7 @@ PublicUrl=Openbare URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Maandag Tuesday=Dinsdag diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang index 4d220f6bb16..83f76d2ab97 100644 --- a/htdocs/langs/nl_NL/orders.lang +++ b/htdocs/langs/nl_NL/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Geannuleerd StatusOrderDraft=Concept (moet worden gevalideerd) StatusOrderValidated=Gevalideerd StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Verwerkt StatusOrderToBill=Te factureren StatusOrderToBill2=Te factureren @@ -58,6 +59,7 @@ MenuOrdersToBill=Te factureren opdrachten MenuOrdersToBill2=Billable orders SearchOrder=Zoekopdracht SearchACustomerOrder=Zoek een klant bestelling +SearchASupplierOrder=Search a supplier order ShipProduct=Verzend product Discount=Korting CreateOrder=Creeer opdracht diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang index ff034237d4b..4445dfcb6ca 100644 --- a/htdocs/langs/nl_NL/other.lang +++ b/htdocs/langs/nl_NL/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximale grootte AttachANewFile=Voeg een nieuw bestand / document bij LinkedObject=Gekoppeld object Miscellaneous=Diversen -NbOfActiveNotifications=Aantal kennisgevingen +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Dit is een test e-mail.\nDe twee lijnen worden gescheiden door een harde return. PredefinedMailTestHtml=Dit is een test e-mail (het woord test moet vetgedrukt worden weergegeven).
    De twee lijnen worden gescheiden door een harde return. 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__ diff --git a/htdocs/langs/nl_NL/printing.lang b/htdocs/langs/nl_NL/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/nl_NL/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/nl_NL/productbatch.lang +++ b/htdocs/langs/nl_NL/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang index bdfc6083c66..784314a472c 100644 --- a/htdocs/langs/nl_NL/products.lang +++ b/htdocs/langs/nl_NL/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang index 319c71c72dc..74ddfd7837e 100644 --- a/htdocs/langs/nl_NL/projects.lang +++ b/htdocs/langs/nl_NL/projects.lang @@ -8,8 +8,10 @@ SharedProject=Iedereen PrivateProject=Contacten van het project MyProjectsDesc=Deze weergave is beperkt tot projecten waarvoor u een contactpersoon bent (ongeacht het type). ProjectsPublicDesc=Deze weergave toont alle projecten waarvoor u gerechtigd bent deze in te zien. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with 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). ProjectsArea=Projectenoverzicht @@ -29,6 +31,8 @@ NoProject=Geen enkel project gedefinieerd of in eigendom NbOpenTasks=Aantal geopende taken NbOfProjects=Aantal projecten TimeSpent=Bestede tijd +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Bestede tijd RefTask=Ref. taak LabelTask=Label taak @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lijst van aan het project verbonden leveranc ListSupplierInvoicesAssociatedProject=Lijst van aan het project verbonden leveranciersfacturen ListContractAssociatedProject=Lijst van aan het project verbonden contracten ListFichinterAssociatedProject=Lijst van aan het project verbonden interventies -ListTripAssociatedProject=Lijst van aan het project verbonden kosten +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Lijst van aan het project verbonden acties ActivityOnProjectThisWeek=Projectactiviteit in deze week ActivityOnProjectThisMonth=Projectactiviteit in deze maand @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Een compleet projectrapportagemodel (logo, etc) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/nl_NL/salaries.lang b/htdocs/langs/nl_NL/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/nl_NL/salaries.lang +++ b/htdocs/langs/nl_NL/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/nl_NL/sendings.lang b/htdocs/langs/nl_NL/sendings.lang index b754a4dca1c..72a94edeec1 100644 --- a/htdocs/langs/nl_NL/sendings.lang +++ b/htdocs/langs/nl_NL/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Aantal besteld QtyShipped=Aantal verzonden QtyToShip=Aantal te verzenden QtyReceived=Aantal ontvangen -KeepToShip=Houd verzendklaar +KeepToShip=Remain to ship OtherSendingsForSameOrder=Andere verzendingen voor deze opdracht DateSending=Datum versturing opdracht DateSendingShort=Datum versturing opdracht diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang index d8019eb9d0d..8dec2f9aca9 100644 --- a/htdocs/langs/nl_NL/stocks.lang +++ b/htdocs/langs/nl_NL/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Waardering (PMP) PMPValueShort=Waarde EnhancedValueOfWarehouses=Voorraadwaardering UserWarehouseAutoCreate=CreĆ«er automatisch een magazijn bij het aanmaken van een gebruiker +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Hoeveelheid verzonden QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=De voorraad van magazijn %s zal verminderd word WarehouseForStockIncrease=De voorraad van magazijn %s zal verhoogd worden ForThisWarehouse=Voor dit magazijn 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=Lijst van alle open leveranciersbestellingen +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=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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/nl_NL/suppliers.lang b/htdocs/langs/nl_NL/suppliers.lang index d468bff689e..e38970a6513 100644 --- a/htdocs/langs/nl_NL/suppliers.lang +++ b/htdocs/langs/nl_NL/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leveranciers -Supplier=Leverancier AddSupplier=Create a supplier SupplierRemoved=Leverancier verwijderd SuppliersInvoice=Leveranciersfactuur @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Leveranciersfacturen en -betalingen ExportDataset_fournisseur_3=Leveranciersorders en orderlijnen ApproveThisOrder=Opdracht goedkeuren ConfirmApproveThisOrder=Weet u zeker dat u de Opdracht %s wilt goedkeuren? -DenyingThisOrder=Opdracht weigeren +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Weet u zeker dat u deze Opdracht %s wilt weigeren? ConfirmCancelThisOrder=Weet u zeker dat u deze Opdracht %s wilt annuleren? AddCustomerOrder=Voeg afnemersopdracht toe diff --git a/htdocs/langs/nl_NL/trips.lang b/htdocs/langs/nl_NL/trips.lang index 9496bc1e921..789566f3214 100644 --- a/htdocs/langs/nl_NL/trips.lang +++ b/htdocs/langs/nl_NL/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Reis -Trips=Reizen -TripsAndExpenses=Reizen en uitgaven -TripsAndExpensesStatistics=Reizen en uitgaven statistieken -TripCard=Reizenkaart -AddTrip=Reis toevoegen -ListOfTrips=Reizenlijst +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=Vergoedingenlijst -NewTrip=Nieuwe reis +NewTrip=New expense report CompanyVisited=Bedrijf / stichting bezocht Kilometers=Kilometers FeesKilometersOrAmout=Kilometerskosten -DeleteTrip=Verwijder reis -ConfirmDeleteTrip=Weet u zeker dat u deze reis wilt verwijderen? -TF_OTHER=Ander -TF_LUNCH=Lunch -TF_TRIP=Reis -ListTripsAndExpenses=Lijst van de reis- en onkosten -ExpensesArea=Trips en uitgaven gebied -SearchATripAndExpense=Zoek een reis en kosten +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=Ander +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/pl_PL/admin.lang b/htdocs/langs/pl_PL/admin.lang index 05f40c55bd3..d048aa3a61b 100644 --- a/htdocs/langs/pl_PL/admin.lang +++ b/htdocs/langs/pl_PL/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Eksperymentalny VersionDevelopment=Rozwój VersionUnknown=Nieznany VersionRecommanded=Zalecana +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID sesji SessionSaveHandler=Asystent zapisu sesji SessionSavePath=Lokalizacja sesji danych @@ -17,32 +22,32 @@ NoSessionListWithThisHandler=Asystent zapisu sesji skonfigurowany w PHP nie zezw LockNewSessions=Zablokuj nowe połączenia ConfirmLockNewSessions=Czy na pewno chcesz ograniczyć wszelkie nowe połączenie Dolibarr do siebie. Tylko %s użytkownik będzie mógł się połączyć po tym. UnlockNewSessions=Usuwanie blokady połączeń -YourSession=Sesji -Sessions=Użytkownicy sesji +YourSession=Twoja sesja +Sessions=Sesja użytkowników WebUserGroup=Serwer sieci Web użytkownik / grupa NoSessionFound=PHP wydaje się nie dopuścić do listy aktywnych sesji. Katalog używany do zapisywania sesji (%s) mogą być chronione (np. przez uprawnienia OS dyrektywy open_basedir lub PHP). -HTMLCharset=Charset dla generowanych stron HTML -DBStoringCharset=Charset bazy danych do przechowywania danych -DBSortingCharset=Database charset sortowanie danych +HTMLCharset=Kodowanie dla generowanych stron HTML +DBStoringCharset=Kodowanie bazy danych do przechowywania danych +DBSortingCharset=Kodowanie bazy danych by sortować dane WarningModuleNotActive=Moduł %s musi być aktywny -WarningOnlyPermissionOfActivatedModules=Tylko uprawnienia związane z aktywowane moduły pokazane są tutaj. Możesz uaktywnić inne moduły w instalacji - moduł strony. -DolibarrSetup=Dolibarr konfiguracji -DolibarrUser=Dolibarr użytkownika +WarningOnlyPermissionOfActivatedModules=Tylko uprawnienia związane z funkcją aktywowania modułów pokazane są tutaj. Możesz uaktywnić inne moduły w instalacji - moduł strony. +DolibarrSetup=Instalacja lub ulepszenie Dollibar'a +DolibarrUser=Użytkownik Dolibarr InternalUser=Wewnętrzny użytkownik -ExternalUser=Zewnętrzne użytkownika -InternalUsers=Użytkownicy wewnętrzni -ExternalUsers=Użytkowników zewnętrznych -GlobalSetup=Global konfiguracji +ExternalUser=Zewnętrzny użytkownik +InternalUsers=Wewnętrzni użytkownicy +ExternalUsers=Zewnetrzni użytkownicy +GlobalSetup=Globalna konfiguracja GUISetup=Wyświetlanie -SetupArea=Ustawienia obszaru -FormToTestFileUploadForm=Formularz do wysyłania pliku test (w zależności od konfiguracji) -IfModuleEnabled=Uwaga: tak jest skuteczne tylko wtedy, gdy modułu %s jest aktywny -RemoveLock=Usuwanie pliku %s, jeśli istnieje, aby umożliwić aktualizację narzędzia. -RestoreLock=Zastąp plik %s odczytu z uprawnień jedynie na plik wyłączyć wszelkie korzystanie z aktualizacji narzędzia. +SetupArea=Dział konfiguracji +FormToTestFileUploadForm=Formularz do wysyłania pliku testowego (według konfiguracji) +IfModuleEnabled=Uwaga: tak jest skuteczne tylko wtedy, gdy moduł %s jest aktywny +RemoveLock=Usuń plik %s, jeśli istnieje, aby umożliwić aktualizację narzędzia. +RestoreLock=Zastąp plik %s tylko z uprawnieniami do odczytu, by wyłączyć wszelkie korzystanie z aktualizacji narzędzia. SecuritySetup=Ustawienia bezpieczeństwa -ErrorModuleRequirePHPVersion=Błąd ten moduł wymaga PHP w wersji %s lub większy -ErrorModuleRequireDolibarrVersion=Błąd ten moduł wymaga Dolibarr wersji %s lub większy -ErrorDecimalLargerThanAreForbidden=Błąd, dokładność większa niż %s nie jest obsługiwany. +ErrorModuleRequirePHPVersion=Błąd ten moduł wymaga PHP w wersji %s lub większej +ErrorModuleRequireDolibarrVersion=Błąd ten moduł wymaga Dolibarr wersji %s lub większej +ErrorDecimalLargerThanAreForbidden=Błąd, dokładność większa niż %s nie jest obsługiwana DictionarySetup=Dictionary setup Dictionary=Dictionaries Chartofaccounts=Chart of accounts @@ -50,7 +55,7 @@ Fiscalyear=Fiscal years ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record ErrorCodeCantContainZero=Kod nie może zawierać wartości "0" DisableJavascript=Wyłącz funkcje JavaScript i Ajax (rekomendowane dla osób niewidomych oraz przeglądarek tekstowych) -ConfirmAjax=Wykorzystanie Ajax potwierdzenie pop +ConfirmAjax=Wykorzystanie potwierdzeń Ajax 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= Dodaj filtr opcję aby pokazać / ukryć thirdparties, które są aktualnie w działalności lub przestał go @@ -137,7 +142,7 @@ Box=Box Boxes=Pulpity informacyjne MaxNbOfLinesForBoxes=Maksymalna liczba linii na polach PositionByDefault=Domyślna kolejność -Position=Position +Position=Pozycja MenusDesc=Menu menedżerów określić zawartość menu 2 bary (prętem poziomym i pionowym pasku). MenusEditorDesc=W menu edytora pozwala określić indywidualną pozycje w menu. Używaj go ostrożnie, aby uniknąć podejmowania dolibarr niestabilne i stałe pozycje menu nieosiągalny.
    Niektóre moduły dodać pozycje w menu (w menu Wszystkie w większości przypadków). Jeśli usunęliśmy niektóre z tych zapisów przez pomyłkę, możesz przywrócić im przez wyłączenie i reenabling modułu. MenuForUsers=Menu dla użytkowników @@ -294,7 +299,7 @@ DoNotUseInProduction=Nie używaj w produkcji ThisIsProcessToFollow=Jest to proces konfiguracji do: StepNb=Krok %s FindPackageFromWebSite=Znaleźć pakiet, który zapewnia funkcję chcesz (np. na oficjalnej stronie internetowej %s). -DownloadPackageFromWebSite=Download package %s. +DownloadPackageFromWebSite=Pobieram paczke %s UnpackPackageInDolibarrRoot=Rozpakuj pakiet plików do katalogu głównego Dolibarr %s SetupIsReadyForUse=Instalacja jest zakończona i Dolibarr jest gotowy do użycia z tym nowym elementem. NotExistsDirect=Alternatywna ścieżka root nie została zdefiniowana.
    @@ -394,10 +399,10 @@ WarningUsingFPDF=Warning: Your conf.php contains directive dolibarr_pd 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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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 +RefreshPhoneLink=Odśwież link LinkToTest=Clickable link generated for user %s (click phone number to test) -KeepEmptyToUseDefault=Keep empty to use default value -DefaultLink=Default link +KeepEmptyToUseDefault=Zostaw puste by używać domyślnych wartości +DefaultLink=Domyślny 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 @@ -443,7 +448,7 @@ Module52Name=Zapasy Module52Desc=Zapasy zarządzania produktów Module53Name=Usługi Module53Desc=Usługi zarządzania -Module54Name=Contracts/Subscriptions +Module54Name=Kontakty/Subskrypcje Module54Desc=Management of contracts (services or reccuring subscriptions) Module55Name=Kody kreskowe Module55Desc=Kody kreskowe zarządzania @@ -493,10 +498,16 @@ Module600Name=Powiadomienia Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Darowizny Module700Desc=Darowizny zarządzania +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 integracji Module1400Name=Księgowość ekspertów Module1400Desc=Księgowość zarządzania dla ekspertów (double stron) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorie Module1780Desc=Kategorie zarządzania (produktów, dostawców i klientów) Module2000Name=FCKeditor @@ -623,7 +634,7 @@ 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 +Permission173=Usuń wyjazdy i wydatki Permission174=Read all trips and expenses Permission178=Export trips and expenses Permission180=Czytaj dostawców @@ -631,7 +642,7 @@ Permission181=Czytaj dostawcy zamówienia Permission182=Tworzenie / zmodyfikować dostawcy zamówienia Permission183=Validate dostawcy zamówienia Permission184=ZatwierdÅŗ dostawcy zamówienia -Permission185=Postanowienie dostawcy zamówienia +Permission185=Order or cancel supplier orders Permission186=Odbiór dostawcy zamówienia Permission187=Zamknij dostawcy zamówienia Permission188=Zrezygnuj dostawcy zamówienia @@ -711,6 +722,13 @@ Permission538=Eksport usług Permission701=Czytaj darowizn Permission702=Tworzenie / zmodyfikować darowizn Permission703=Usuń darowizn +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=Czytaj zapasów Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Hasło do korzystania z serwera proxy DefineHereComplementaryAttributes=Określ tutaj wszystkie ATUTY, nie są już dostępne domyślnie i że chcesz być obsługiwane przez %s. ExtraFields=Uzupełniające atrybuty 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Linia produktów / usług z zerową ilość jest trakt FreeLegalTextOnProposal=Darmowy tekstu propozycji 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=Zamówienia zarządzania konfiguracją OrdersNumberingModules=Zamówienia numeracji modules @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Kod kreskowy typu UPC BarcodeDescISBN=Kod kreskowy typu ISBN BarcodeDescC39=Kod kreskowy typu C39 BarcodeDescC128=Kod kreskowy typu C128 -GenbarcodeLocation=Kod kreskowy generowania narzędzie wiersza polecenia (używanego przez phpbarcode silników dla niektórych typów kodów kreskowych) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Środki pieniężne na rachunku do korzystania sprzedaje CashDeskBankAccountForCheque= Chcesz używać do otrzymywania płatności w formie czeku CashDeskBankAccountForCB= Chcesz używać do przyjmowania płatności gotówkowych za pomocą kart kredytowych -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Zakładka konfiguracji modułu @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/pl_PL/banks.lang b/htdocs/langs/pl_PL/banks.lang index 612aab42806..bbb51193375 100644 --- a/htdocs/langs/pl_PL/banks.lang +++ b/htdocs/langs/pl_PL/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Pojednanie RIB=Numer konta bankowego IBAN=Numer IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Numer BIC / SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Zlecenia stałe StandingOrder=Zlecenie stałe Withdrawals=Wypłaty @@ -148,7 +152,7 @@ BackToAccount=Powrót do konta ShowAllAccounts=Pokaż wszystkich rachunków FutureTransaction=Transakcja w futur. Nie da się pogodzić. SelectChequeTransactionAndGenerate=Wybierz / filtr sprawdza, to do otrzymania depozytu wyboru i kliknij przycisk "Utwórz". -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/pl_PL/bills.lang b/htdocs/langs/pl_PL/bills.lang index 9e72e149a44..094cf87680e 100644 --- a/htdocs/langs/pl_PL/bills.lang +++ b/htdocs/langs/pl_PL/bills.lang @@ -1,10 +1,10 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Faktury -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Faktury klientów +BillsCustomer=Faktura klientów +BillsSuppliers=Faktury dostawców +BillsCustomersUnpaid=Niezapłacone faktury klientów BillsCustomersUnpaidForCompany=Należne wpłaty klientów faktur dla %s BillsSuppliersUnpaid=Należne wpłaty dostawców faktur BillsSuppliersUnpaidForCompany=Nieodpłatnej dostawcy faktury za %s @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Płatności już PaymentsBackAlreadyDone=Payments back already done PaymentRule=Zasady płatności PaymentMode=Typ płatności -PaymentConditions=Termin płatności -PaymentConditionsShort=Termin płatności +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Kwota płatności ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Płatności wyższe niż upomnienie do zapłaty diff --git a/htdocs/langs/pl_PL/bookmarks.lang b/htdocs/langs/pl_PL/bookmarks.lang index 05ca4530e66..e3bfe9ad09e 100644 --- a/htdocs/langs/pl_PL/bookmarks.lang +++ b/htdocs/langs/pl_PL/bookmarks.lang @@ -10,10 +10,10 @@ BookmarkTargetNewWindowShort=Nowe okno BookmarkTargetReplaceWindowShort=Aktualne okno BookmarkTitle=Tytuł zakładki UrlOrLink=URL -BehaviourOnClick=Zachowanie po kliknięciu na adres URL +BehaviourOnClick=Zachowaj po kliknięciu na adres URL CreateBookmark=Stwórz zakładkę SetHereATitleForLink=Zdefiniuj nazwę zakładki -UseAnExternalHttpLinkOrRelativeDolibarrLink=Użyj zewnętrznego adresu http lub względnego URL Dolibarr +UseAnExternalHttpLinkOrRelativeDolibarrLink=Użyj zewnętrznego adresu http lub względnego adresu URL Dolibarr ChooseIfANewWindowMustBeOpenedOnClickOnBookmark=Wybierz czy strona ma się otwierać w bieżącym czy w nowym oknie BookmarksManagement=Zarządzanie zakładkami ListOfBookmarks=Lista zakładek diff --git a/htdocs/langs/pl_PL/commercial.lang b/htdocs/langs/pl_PL/commercial.lang index 8e18d15fa0a..5e8c6f36a04 100644 --- a/htdocs/langs/pl_PL/commercial.lang +++ b/htdocs/langs/pl_PL/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Potencjalni klienci DeleteAction=Usuń działania / zadania NewAction=Nowe działania / zadania -AddAction=Dodaj działania / zadania -AddAnAction=Dodaj działania / zadania -AddActionRendezVous=Dodać zadanie Rendezvous +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Spotkanie ConfirmDeleteAction=Czy na pewno chcesz usunąć to zadanie? CardAction=Działanie karty @@ -44,8 +44,8 @@ DoneActions=Sporządzono działania DoneActionsFor=Sporządzono działań dla %s ToDoActions=Niekompletne działań ToDoActionsFor=Niekompletne działań na rzecz %s -SendPropalRef=Wyślij handlowych wniosku %s -SendOrderRef=Wyślij zamówienie %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Nie dotyczy StatusActionToDo=Aby to zrobić StatusActionDone=Zrobione @@ -62,7 +62,7 @@ LastProspectContactDone=Kontakt zrobić DateActionPlanned=Data działania planowane na DateActionDone=Data zrobienia działania ActionAskedBy=Działanie zadawane przez -ActionAffectedTo=Wpływ na działanie +ActionAffectedTo=Event assigned to ActionDoneBy=Działania wykonywane przez ActionUserAsk=Zarejestrowane przez ErrorStatusCantBeZeroIfStarted=Jeżeli pole 'Data zrobienia "jest wypełniona, rozpoczęto działania (lub gotowy), więc pole" Status "nie może być 0%%. diff --git a/htdocs/langs/pl_PL/companies.lang b/htdocs/langs/pl_PL/companies.lang index c38e732a362..460076d7f8e 100644 --- a/htdocs/langs/pl_PL/companies.lang +++ b/htdocs/langs/pl_PL/companies.lang @@ -91,9 +91,9 @@ LocalTax2IsUsedES= IRPF jest używany LocalTax2IsNotUsedES= IRPF nie jest używany LocalTax1ES=RE LocalTax2ES=IRPF -TypeLocaltax1ES=RE Type -TypeLocaltax2ES=IRPF Type -TypeES=Type +TypeLocaltax1ES=Typ Re +TypeLocaltax2ES=Typ IRPF +TypeES=Typ ThirdPartyEMail=%s WrongCustomerCode=Nieprawidłowy kod Klienta WrongSupplierCode=Nieprawidłowy kod Dostawcy @@ -259,8 +259,8 @@ AvailableGlobalDiscounts=Bezwzględne rabaty dostępne DiscountNone=Å»aden Supplier=Dostawca CompanyList=Lista firm -AddContact=Dodaj kontakt -AddContactAddress=Dodaj kontakt / adres +AddContact=Stwórz konktakt +AddContactAddress=Stwórz kontakt/adres EditContact=Edytuj kontakt EditContactAddress=Edytuj kontakt / adres Contact=Kontakt @@ -268,8 +268,8 @@ ContactsAddresses=Kontakty / Adresy NoContactDefinedForThirdParty=Brak zdefiniowanych kontaktów dla tego kontrahenta NoContactDefined=Brak zdefinowanych kontaktów DefaultContact=Domyślny kontakt/adres -AddCompany=Dodaj firmę -AddThirdParty=Dodaj kontrahenta +AddCompany=Stwórz firmę +AddThirdParty=Dodaj stronę trzecią DeleteACompany=Usuń firmę PersonalInformations=Prywatne dane osobowe AccountancyCode=Kod księgowy @@ -343,7 +343,7 @@ TE_MEDIUM=Średnia firma TE_ADMIN=Rządowy TE_SMALL=Mała firma TE_RETAIL=Klient detaliczny -TE_WHOLE=Wholetailer +TE_WHOLE=Całościowy TE_PRIVATE=Osoba prywatna TE_OTHER=Inny StatusProspect-1=Nie kontaktować się @@ -397,18 +397,18 @@ YouMustCreateContactFirst=Musisz stworzyć e-maile, kontakty dla trzeciej pierws ListSuppliersShort=Lista dostawców ListProspectsShort=Lista potencjalnych klientów ListCustomersShort=Lista klientów -ThirdPartiesArea=Third parties and contact area +ThirdPartiesArea=Zamówienie i konktakt LastModifiedThirdParties=%s ostatnio modyfikowanych kontrahentów UniqueThirdParties=Łącznie unikatowych kontrahentów InActivity=Otwarte ActivityCeased=Zamknięte ActivityStateFilter=Status aktywności -ProductsIntoElements=List of products into %s +ProductsIntoElements=Lista produktów w %s CurrentOutstandingBill=Biężący, niezapłacony rachunek OutstandingBill=Maksymalna kwota niezapłaconego rachunku 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=Search thirdparty -SearchContact=Search contact +SearchThirdparty=Szukaj zamówienia +SearchContact=Znajdz kontakt diff --git a/htdocs/langs/pl_PL/contracts.lang b/htdocs/langs/pl_PL/contracts.lang index 04e1d26974d..138ce5b91c7 100644 --- a/htdocs/langs/pl_PL/contracts.lang +++ b/htdocs/langs/pl_PL/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Minął ServiceStatusClosed=Zamknięte ServicesLegend=Usługi legendy Contracts=Kontrakty +ContractsAndLine=Contracts and line of contracts Contract=Kontrakt NoContracts=Nr umowy MenuServices=Usługi diff --git a/htdocs/langs/pl_PL/cron.lang b/htdocs/langs/pl_PL/cron.lang index a1a4ba56588..d9628c890ea 100644 --- a/htdocs/langs/pl_PL/cron.lang +++ b/htdocs/langs/pl_PL/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/pl_PL/errors.lang b/htdocs/langs/pl_PL/errors.lang index a97ed635e4d..2cf540a0d8d 100644 --- a/htdocs/langs/pl_PL/errors.lang +++ b/htdocs/langs/pl_PL/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Źródło i celów rachunków bankowych muszą by ErrorBadThirdPartyName=Zła wartość w trzeciej imię ErrorProdIdIsMandatory=%s jest obowiązkowy ErrorBadCustomerCodeSyntax=Bad składni kodu klienta -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Klient kod wymagane ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Klient kod już używane @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=JavaScript nie musi być wyłączona do tej pracy f ErrorPasswordsMustMatch=Zarówno wpisane hasło musi się zgadzać się ErrorContactEMail=Techniczny błąd. Proszę skontaktować się z administratorem, aby po %s email pl zapewnić %s kod błędu w wiadomości, a nawet lepsze, dodając kopię ekranu strony. ErrorWrongValueForField=Nieprawidłowa wartość dla %s numer pola (wartość "%s" nie pasuje regex %s zasady) -ErrorFieldValueNotIn=Nieprawidłowa wartość dla %s liczba terenowych (value '%s "nie wartość dostępna w %s terenowych %s deserowe) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Nieprawidłowa wartość dla %s liczba pól (wartość '%s "nie jest %s istniejących ref) ErrorsOnXLines=Błędów na linii Åŗródło %s ErrorFileIsInfectedWithAVirus=Program antywirusowy nie był w stanie potwierdzić (plik może być zainfekowany przez wirusa) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/pl_PL/incoterm.lang b/htdocs/langs/pl_PL/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/pl_PL/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/pl_PL/install.lang b/htdocs/langs/pl_PL/install.lang index 474e25cf13d..2361a900a14 100644 --- a/htdocs/langs/pl_PL/install.lang +++ b/htdocs/langs/pl_PL/install.lang @@ -1,11 +1,11 @@ # Dolibarr language file - Source file is en_US - install -InstallEasy=Staraliśmy się by instalacja Dolibarra była tak prosta jak to możliwe. Postępuj wg instrukcji krok po kroku. +InstallEasy=Postępuj według instrukcji krok po kroku. MiscellaneousChecks=Sprawdzenie wymagań DolibarrWelcome=Witaj w Dolibarrze ConfFileExists=Plik konfiguracyjny %s istnieje. ConfFileDoesNotExists=Plik konfiguracyjny %s nie istnieje! ConfFileDoesNotExistsAndCouldNotBeCreated=Plik konfiguracyjny %s nie istnieje i nie mógł zostać utworzony! -ConfFileCouldBeCreated=Plik konfiguracyjny %s mógł zostać utworzony. +ConfFileCouldBeCreated=Plik konfiguracyjny %s został lub mógł zostać utworzony. ConfFileIsNotWritable=Plik konfiguracyjny %s nie ma uprawnień do zapisu. SprawdÅŗ uprawnienia. Przy pierwszej instalacji Twój serwer WWW musi posiadać uprawnienia do zapisu tego pliku podczas procesu konfiguracji (Dla systemów uniksowych wystarczy wykonać polecenie "chmod 666"). ConfFileIsWritable=Plik konfiguracyjny %s ma uprawnienia do zapisu. ConfFileReload=Odśwież wszystkie informacje z pliku konfiguracyjnego. @@ -13,21 +13,21 @@ PHPSupportSessions=PHP obsługuje sesje. PHPSupportPOSTGETOk=PHP obsługuje zmienne POST i GET. PHPSupportPOSTGETKo=Możliwe, że PHP nie obsługuje zmiennych POST i/lub GET. SprawdÅŗ parametr variables_order w php.ini. PHPSupportGD=PHP obsługuje graficzne funkcje GD. -PHPSupportUTF8=To wsparcie PHP UTF8 funkcji. -PHPMemoryOK=Maksymalna ilość pamięci sesji PHP to %s. Powinno wystarczyć. +PHPSupportUTF8=Ta wersja PHP oferuje wsparcie funkcji UTF8. +PHPMemoryOK=Maksymalna ilość pamięci sesji PHP ustawiona jest na %s. Powinno wystarczyć. PHPMemoryTooLow=Maksymalna ilość pamięci sesji PHP %s bajtów. To może nie wystarczyć. Zmień w php.ini parametr memory_limit na przynajmniej %s bajtów. -Recheck=Bardziej dokładny test +Recheck=Potwierdz w celu dokładniejszego testu ErrorPHPDoesNotSupportSessions=Instalacja PHP nie obsługuje sesji. Taka funkcjonalność jest wymagana do działania Dolibarra. SprawdÅŗ swoje ustawienia PHP. -ErrorPHPDoesNotSupportGD=Twoja instalacji PHP nie obsługuje funkcji graficznych GD. Nr wykresie będą dostępne. -ErrorPHPDoesNotSupportUTF8=Twoja instalacji PHP nie obsługuje funkcji UTF8. Dolibarr może nie działać poprawnie. Rozwiązać ten problem przed instalacją Dolibarr. +ErrorPHPDoesNotSupportGD=Twoja instalacji PHP nie obsługuje funkcji graficznych GD. wykresy nie będą dostępne. +ErrorPHPDoesNotSupportUTF8=Twoja instalacji PHP nie obsługuje funkcji UTF8. Dolibarr może nie działać poprawnie. Rozwiązać ten problem przed instalacją Dolibarr'a. ErrorDirDoesNotExists=Katalog %s nie istnieje. -ErrorGoBackAndCorrectParameters=Cofnij się i popraw parametry. -ErrorWrongValueForParameter=Wprowadzono nieprawidłową wartość dla parametru '%s'. +ErrorGoBackAndCorrectParameters=Cofnij się i popraw złe parametry. +ErrorWrongValueForParameter=Możliwe, że wprowadzono nieprawidłową wartość dla parametru '%s'. ErrorFailedToCreateDatabase=Utworzenie bazy danych '%s' nie powiodło się. ErrorFailedToConnectToDatabase=Połączenie z bazą danych '%s' nie powiodło się. ErrorDatabaseVersionTooLow=Wersja (%s) bazy danych jest zbyt stara. Wymagana jest wersja %s lub wyższa. ErrorPHPVersionTooLow=Wersja PHP zbyt stara. Wymagana wersja to przynajmniej %s. -WarningPHPVersionTooLow=Wersja PHP jest zbyt stara. %s wersji lub więcej oczekuje. Wersja ta powinna umożliwić zainstalowanie ale nie jest obsługiwany. +WarningPHPVersionTooLow=Wersja PHP jest zbyt stara. Oczekiwana wersja %s lub większa. Wersja, którą posiadasz powinna umożliwić instalcję ale nie będzie obsługiwana. ErrorConnectedButDatabaseNotFound=Połączenie z serwerem powiodło się, ale nie znaleziony bazy '%s'. ErrorDatabaseAlreadyExists=Baza danych '%s' już istnieje. IfDatabaseNotExistsGoBackAndUncheckCreate=Jeśli baza danych nie istnieje, w poprzednim kroku zaznacz opcję "Utwórz bazę danych". @@ -38,13 +38,13 @@ YouCanContinue=Możesz kontynuować... PleaseBePatient=Proszę o cierpliwość... License=Użyta licencja ConfigurationFile=Plik konfiguracyjny -WebPagesDirectory=Katalog na strony WWW +WebPagesDirectory=Katalog, gdzie przechowywana jest strona WWW DocumentsDirectory=Katalog na przesłane i wygenerowane dokumenty URLRoot=Główny (Root) URL ForceHttps=Wymuś połączenia bezpieczne (HTTPS) CheckToForceHttps=Zaznacz tę opcję, aby wymusić połączenia bezpieczne (HTTPS).
    Wymaga to, aby serwer WWW był skonfigurowany z certyfikatem SSL. -DolibarrDatabase=Baza danych Dolibarr -DatabaseChoice=Wybrana baza danych +DolibarrDatabase=Baza danych Dolibarr'a +DatabaseChoice=Wybór bazy danych DatabaseType=Rodzaj bazy danych DriverType=Rodzaj sterownika Server=Serwer @@ -54,16 +54,16 @@ DatabaseServer=Serwer baz danych DatabaseName=Nazwa bazy danych DatabasePrefix=Tabela prefiksów bazy danych Login=Login -AdminLogin=Login do bazy danych. Zostaw puste jeśli korzystasz z połączeń anonimowych +AdminLogin=Login do administratora bazy danych Password=Hasło PasswordAgain=Powtórz hasło -AdminPassword=Hasło do bazy danych. Zostaw puste jeśli korzystasz z połączeń anonimowych +AdminPassword=Hasło do bazy danych CreateDatabase=Utwórz bazę danych CreateUser=Utwórz użytkownika DatabaseSuperUserAccess=Baza danych z dostępem na prawach superużytkownika -CheckToCreateDatabase=Zaznacz jeśli baza danych nie istnieje i musi zostać utworzona.
    W takim przypadku 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 takim przypadku na dole tej strony musisz podać użytkownika/hasło do konta superużytkownika. -Experimental=(eksperymentalne, nie działające) +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ść) 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 @@ -88,17 +88,17 @@ SystemIsInstalled=Instalacja zakończona. SystemIsUpgraded=Dolibarr został zaktualizowany pomyślnie. YouNeedToPersonalizeSetup=Teraz należy ustawić Dolibarra tak by spełniał Twoje wymagania (wygląd, możliwości, ...). Kliknij w poniższy link by przejść do ustawień: AdminLoginCreatedSuccessfuly=Użytkownik administracyjny Dolibarra '%s' utworzony pomyślnie. -GoToDolibarr=IdÅŗ do Dolibarr +GoToDolibarr=IdÅŗ do Dolibarr'a GoToSetupArea=PrzejdÅŗ do ustawień Dolibarra -MigrationNotFinished=Wersja bazy danych nie jest w pełni aktualna, więc musisz uruchomić proces aktualizacji ponownie. +MigrationNotFinished=Wersja bazy danych nie jest w pełni aktualna. Musisz uruchomić proces aktualizacji ponownie. GoToUpgradePage=WejdÅŗ na stronę aktualizacji ponownie Examples=Przykłady WithNoSlashAtTheEnd=Bez znaku ukośnika "/" na końcu DirectoryRecommendation=Zalecane jest by umieścić ten katalog poza katalogiem ze stronami WWW. LoginAlreadyExists=Już istnieje DolibarrAdminLogin=Użytkownik administracyjny Dolibarra -AdminLoginAlreadyExists=Konto administracyjne Dolibarra '%s' już istnieje. -WarningRemoveInstallDir=Ostrzeżenie: ze względów bezpieczeństwa po instalacji lub aktualizacji powinno się usunąć katalog install lub zmienić jego nazwę na install.lock by zapobiec jego nieuprawnionemu użyciu. +AdminLoginAlreadyExists=Konto administracyjne Dolibarra '%s' już istnieje. Cofnij się jeśli chcesz utworzyć kolejne. +WarningRemoveInstallDir=Ostrzeżenie: ze względów bezpieczeństwa by zapobiec nieuprawnionemu użyciu po instalacji lub aktualizacji powinno się usunąć katalog install lub zmienić jego nazwę na install.lock. ThisPHPDoesNotSupportTypeBase=Ta wersja PHP nie obsługuje żadnego interfejsu dostępu do baz danych typu %s FunctionNotAvailableInThisPHP=Niedostępne w tej wersji PHP MigrateScript=Skrypt migracyjny @@ -107,21 +107,21 @@ DataMigration=Migracja danych DatabaseMigration=Migracja struktur baz danych ProcessMigrateScript=Przetwarzanie skryptów ChooseYourSetupMode=Wybierz tryb instalacji i potwierdÅŗ przyciskiem "Start"... -FreshInstall=Świeża instalacja -FreshInstallDesc=Użyj tego trybu jeśli to pierwsza instalacja. Jeśli nie to w tym trybie można naprawić poprzednią niepełną instalację, ale w przypadku aktualizacji skorzystaj z trybu "Aktualizacja". +FreshInstall=Nowa instalacja +FreshInstallDesc=Użyj tego trybu jeśli to pierwsza instalacja. Jeśli nie, to w tym trybie można naprawić poprzednią niepełną instalację. W przypadku aktualizacji skorzystaj z trybu "Aktualizacja". Upgrade=Aktualizacja UpgradeDesc=Użyj tego trybu jeśli podmieniono stare pliki Dolibarra plikami z nowszej wersji. Ten tryb uaktualni bazę danych i poprzednie dane. Start=Start InstallNotAllowed=Ustawienie niedostępne przez uprawnienia conf.php NotAvailable=Niedostępne YouMustCreateWithPermission=Musisz utworzyć plik %s i ustawić mu prawa zapisu dla serwera WWW podczas procesu instalacyjnego. -CorrectProblemAndReloadPage=Proszę poprawić te ustawienia i odświeżyć stronę. +CorrectProblemAndReloadPage=Proszę poprawić te ustawienia i odświeżyć stronę (domyślnie F5). AlreadyDone=Migracja już przeprowadzona. DatabaseVersion=Wersja bazy danych ServerVersion=Wersja serwera baz danych YouMustCreateItAndAllowServerToWrite=Musisz utworzyć ten katalog i zezwolić serwerowi WWW na zapis w nim. CharsetChoice=Wybór zestawu kodowania -CharacterSetClient=Zestaw kodowania dla wygenerowanych stron HTML +CharacterSetClient=Zestaw kodowania użyty dla wygenerowanych stron HTML CharacterSetClientComment=Wybierz zestaw kodowania znaków dla stron HTML.
    Domyślnym wyborem zestawu znaków jest ten zastosowany w bazie danych. DBSortingCollation=Sposób sortowania znaków DBSortingCollationComment=Wybierz stronę kodową, która definiuje sposób sortowania znaków używany przez bazę danych. Ten parametr jest często nazywany 'collation'.
    Jeśli baza już istnieje, nie ma możliwości zdefiniowania tego parametru. @@ -129,45 +129,46 @@ CharacterSetDatabase=Zestaw znaków dla bazy danych CharacterSetDatabaseComment=Wybierz zesta znaków, który zostanie użyty do utworzenia bazy danych.
    Jeśli baza już istnieje, nie ma możliwości zdefiniowania tego parametru. YouAskDatabaseCreationSoDolibarrNeedToConnect=Wybrano by utworzyć bazę danych %s, ale by tego dokonać Dolibarr musi połączyć się z serwerem %s na prawach superużytkownika %s. YouAskLoginCreationSoDolibarrNeedToConnect=Wybrano by utworzyć użytkownika %s, ale by tego dokonać Dolibarr musi połączyć się z serwerem %s na prawach superużytkownika %s. -BecauseConnectionFailedParametersMayBeWrong=Połączenie nie powiodło się, więc adres serwera lub parametry superużytkownika musiały być nieprawidłowe. +BecauseConnectionFailedParametersMayBeWrong=Połączenie nie powiodło się. Adres serwera lub parametry superużytkownika musiały być nieprawidłowe. OrphelinsPaymentsDetectedByMethod=Osierocona płatność wykryta przez metodę %s -RemoveItManuallyAndPressF5ToContinue=Usuń go ręcznie i odśwież stronę by kontynuować. +RemoveItManuallyAndPressF5ToContinue=Usuń go ręcznie i odśwież stronę (domyślnie F5) by kontynuować. KeepDefaultValuesWamp=Używasz kreatora instalacji, więc zaproponowane wartości są zoptymalizowane. Zmieniaj je tylko jeśli wiesz co robisz. -KeepDefaultValuesDeb=Du bruker Dolibarr konfigurasjonsveiviseren fra en Ubuntu eller Debian-pakke, sĆ„ verdiene foreslĆ„tt her allerede er optimalisert. Bare passordet til databasen eieren til Ć„ opprette mĆ„ fullfĆøres. Endre andre parametere bare hvis du vet hva du gjĆør. +KeepDefaultValuesDeb=Uzywasz kreatora instalacji dla Linuxa (Ubutu, Debian, Fedora..), więc zaproponowane wartości są zoptymalizowane. Tylko hasło właściciela bazy danych do stworzenia musi być kompletne. Inne parametry zmieniaj TYLKO jeśli wiesz co robisz. KeepDefaultValuesMamp=Używasz kreatora instalacji, więc zaproponowane wartości są zoptymalizowane. Zmieniaj je tylko jeśli wiesz co robisz. -KeepDefaultValuesProxmox=Możesz skorzystać z kreatora konfiguracji Dolibarr z urządzeniem wirtualnym Proxmox, więc wartościami zaproponowanymi tutaj są już zoptymalizowane. Zmieniaj je tylko jeśli wiesz co robisz. +KeepDefaultValuesProxmox=Możesz skorzystać z kreatora konfiguracji Dolibarr z urządzeniem wirtualnym Proxmox, więc wartości zaproponowane tutaj są już zoptymalizowane. Zmieniaj je tylko jeśli wiesz co robisz. FieldRenamed=Nazwa pola zmieniona -IfLoginDoesNotExistsCheckCreateUser=Jeśli logowania jeszcze nie istnieje, należy sprawdzić opcję "Utwórz użytkownika" -ErrorConnection=Serwer " %s", nazwa bazy danych " %s" login " %s" lub hasło bazy danych mogą być złe lub PHP wersji klienckiej może być zbyt stare porównaniu do wersji bazy danych. -InstallChoiceRecommanded=Zaleciły wybór zainstalować wersję %s od aktualnej wersji %s +IfLoginDoesNotExistsCheckCreateUser=Jeśli login jeszcze nie istnieje, sprawdzić opcję "Utwórz użytkownika" +ErrorConnection=Serwer " %s", nazwa bazy danych " %s" login " %s" lub hasło bazy danych mogą być złe lub PHP wersji klienckiej może być zbyt stare w porównaniu do wersji bazy danych. +InstallChoiceRecommanded=Zalecany wybór: zainstalować wersję %s od aktualnej wersji %s InstallChoiceSuggested=Wybór sugerowany przez instalator. -MigrateIsDoneStepByStep=Ukierunkowane wersja (%s) ma lukę w kilku wersjach, tak zainstalować kreator powróci do sugerować kolejną migrację raz ten jeden będzie gotowy. -CheckThatDatabasenameIsCorrect=Sjekk at database navn "%s" er korrekt. -IfAlreadyExistsCheckOption=Hvis dette navnet er riktig, og at databasen ikke eksisterer ennĆ„, du mĆ„ sjekke alternativet "Opprett database". -OpenBaseDir=PHP openbasedir parameter -YouAskToCreateDatabaseSoRootRequired=Du merket "Opprett database". For dette, mĆ„ du oppgi brukernavn / passord av superbruker (nederst pĆ„ skjemaet). -YouAskToCreateDatabaseUserSoRootRequired=Du merket "Opprett database eier". For dette, mĆ„ du oppgi brukernavn / passord av superbruker (nederst pĆ„ skjemaet). -NextStepMightLastALongTime=Gjeldende trinn kan vare i flere minutter. Vennligst vent til neste skjermbildet vises helt fĆør du fortsetter. -MigrationCustomerOrderShipping=Migrer frakt for kundeordrer oppbevaring -MigrationShippingDelivery=Oppgrader lagring av shipping -MigrationShippingDelivery2=Oppgrader lagring av shipping 2 +MigrateIsDoneStepByStep=Konkretna wersja (%s) ma lukę w kilku wersjach, kreator powróci do sugerowawanej kolejnej migracji, kiedy aktualna będzie gotowa. +CheckThatDatabasenameIsCorrect=Sprawdz czy nazwa bazy danych "%s" jest poprawna. +IfAlreadyExistsCheckOption=Jeśli ta nazwa jest poprawna i baza danych jeszcze nie istnieje, sprawdz opcję "utwórz bazę danych" +OpenBaseDir=PHP parametr otwarcia katalogu bazy danych +YouAskToCreateDatabaseSoRootRequired=Zaznaczyłeś opcje "Stwórz baze danych". Wprowadz proszę nazwę i hasło Super Użytkownika +YouAskToCreateDatabaseUserSoRootRequired=Zaznaczyłeś opcje "Stwórz właściciela bazy danych". Wprowadz proszę nazwę i hasło Super Użytkownika. +NextStepMightLastALongTime=Aktulany krok potrwa chwilę. By kontynuować, proszę czekać, aż kolejny krok będzie dostępny. +MigrationCustomerOrderShipping=Migracja danych przesyłek zamówień odbiorców +MigrationShippingDelivery=Aktualizacja stanu do wysyłki +MigrationShippingDelivery2=Aktualizacja stanu do wysyłki 2 MigrationFinished=Migracja zakończona -LastStepDesc=Ostatni krok: Zdefiniuj tutaj login i hasło masz zamiar użyć do połączenia z oprogramowaniem. Nie trać tego, ponieważ jest to konto do administrowania wszystkimi innymi. +LastStepDesc=Ostatni krok: Zdefiniuj tutaj nazwę i hasło, które masz zamiar użyć do połączenia z oprogramowaniem. Zapamiętaj je, ponieważ jest to konto do administrowania wszystkimi innymi ustawieniami. ActivateModule=Aktywuj moduł %s ShowEditTechnicalParameters=Kliknij tutaj, aby pokazać / edytować zaawansowane parametry (tryb ekspert) -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... +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=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=Fastsette for denormalized data +MigrationFixData=Napraw nieznormalizowane dane MigrationOrder=Migracja danych zamówień odbiorców MigrationSupplierOrder=Migracja danych zamówień dostawców MigrationProposal=Migracja danych propozycji handlowych -MigrationInvoice=Migracja danych faktur odbiorców +MigrationInvoice=Migracja dla danych faktur odbiorców MigrationContract=Migracja danych kontraktów MigrationSuccessfullUpdate=Aktualizacja powiodła się MigrationUpdateFailed=Aktualizacja nie powiodła się -MigrationRelationshipTables=Data migrering for forholdet tabeller (%s) +MigrationRelationshipTables=Migracja dla danych propozycji handlowych (%s) MigrationPaymentsUpdate=Korekta danych płatności MigrationPaymentsNumberToUpdate=%s płatności do aktualizacji MigrationProcessPaymentUpdate=Aktualizacja płatności %s @@ -187,7 +188,7 @@ MigrationContractsInvalidDateFix=Korekta kontraktu %s (Data kontraktu=%s, Minima MigrationContractsInvalidDatesNumber=%s kontraktów zmodyfikowano MigrationContractsInvalidDatesNothingToUpdate=Brak dat z nieprawidłową wartością do korekty MigrationContractsIncoherentCreationDateUpdate=Nieprawidłowa wartość daty początkowej kontraktu do korekty -MigrationContractsIncoherentCreationDateUpdateSuccess=Nieprawidłowa wartość początkowej daty kontraktu skorygowana poprawnie +MigrationContractsIncoherentCreationDateUpdateSuccess=Nieprawidłowa wartość początkowej daty kontraktu. Skorygowana poprawnie MigrationContractsIncoherentCreationDateNothingToUpdate=Brak nieprawidłowych wartości początkowej daty kontraktu do korekty MigrationReopeningContracts=Otwarte kontrakty zamknięte z przyczyny błędu MigrationReopenThisContract=Ponownie otwórz kontrakt %s @@ -199,15 +200,15 @@ MigrationShipmentOrderMatching=Aktualizacja rachunków za wysyłki MigrationDeliveryOrderMatching=Aktualizacja rachunków za dostawy MigrationDeliveryDetail=Aktualizacja dostawy MigrationStockDetail=Aktualizacja wartości zapasów produktów -MigrationMenusDetail=Aktualizacja dynamiczne menu tabele +MigrationMenusDetail=Aktualizacja dynamicznego meni tabeli MigrationDeliveryAddress=Aktualizacja adresu dostarczenia przesyłki -MigrationProjectTaskActors=Data migrering for llx_projet_task_actors bord -MigrationProjectUserResp=Data migrering feltet fk_user_resp av llx_projet Ć„ llx_element_contact -MigrationProjectTaskTime=Oppdater tid i sekunder +MigrationProjectTaskActors=Migracja danych z tabeli llx_projet_task_actors +MigrationProjectUserResp=Migracja danych pola fk_user_resp z llx_projet do llx_element_contact +MigrationProjectTaskTime=Pokonany czas uaktualnienia w sekundach MigrationActioncommElement=Aktualizacja danych na temat działań MigrationPaymentMode=Migracji danych w trybie płatności MigrationCategorieAssociation=Migracja kategorii -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=Przenieś wydarzenie by dodać nowego właściciela do przypisanej tabeli. -ShowNotAvailableOptions=Show not available options -HideNotAvailableOptions=Hide not available options +ShowNotAvailableOptions=Pokaż niedostępne opcje. +HideNotAvailableOptions=Ukryj niedostępne opcje. diff --git a/htdocs/langs/pl_PL/interventions.lang b/htdocs/langs/pl_PL/interventions.lang index 1bd9519089d..7894486a1c6 100644 --- a/htdocs/langs/pl_PL/interventions.lang +++ b/htdocs/langs/pl_PL/interventions.lang @@ -3,7 +3,7 @@ Intervention=Interwencja Interventions=Interwencje InterventionCard=Interwencja karty NewIntervention=Nowa interwencja -AddIntervention=Create intervention +AddIntervention=Tworzenie interwencji ListOfInterventions=Wykaz interwencji EditIntervention=Editer interwencji ActionsOnFicheInter=Działania w zakresie interwencji @@ -23,22 +23,22 @@ ConfirmDeleteInterventionLine=Czy na pewno chcesz usunąć tę linię interwencj NameAndSignatureOfInternalContact=Nazwisko i podpis interwencji: NameAndSignatureOfExternalContact=Nazwisko i podpis klienta: DocumentModelStandard=Model standardowy dokument dla interwencji -InterventionCardsAndInterventionLines=Interventions and lines of interventions -InterventionClassifyBilled=Classify "Billed" -InterventionClassifyUnBilled=Classify "Unbilled" +InterventionCardsAndInterventionLines=Interwencje i kierunki interwencji +InterventionClassifyBilled=Sklasyfikować "Rozlicz" +InterventionClassifyUnBilled=Sklasyfikować "Unbilled" StatusInterInvoiced=Zapowiadane RelatedInterventions=Podobne interwencje ShowIntervention=Pokaż interwencji -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=Złożenie interwencyjnego% s +SendInterventionByMail=Wyślij interwencji przez e-mail +InterventionCreatedInDolibarr=% S tworzone interwencji +InterventionValidatedInDolibarr=% Interwencja s zatwierdzone +InterventionModifiedInDolibarr=% S zmodyfikowano interwencji +InterventionClassifiedBilledInDolibarr=% Interwencyjnej s zestaw jako rozliczane +InterventionClassifiedUnbilledInDolibarr=% Interwencyjnej s zestaw jako weryfikowane +InterventionSentByEMail=% Interwencja y wysyłane e-mailem +InterventionDeletedInDolibarr=% Interwencja s usunięte +SearchAnIntervention=Szukaj interwencji ##### Types de contacts ##### TypeContact_fichinter_internal_INTERREPFOLL=Przedstawiciela w ślad za interwencję TypeContact_fichinter_internal_INTERVENING=Interwencja @@ -49,5 +49,5 @@ ArcticNumRefModelDesc1=Generic numer modelu ArcticNumRefModelError=Nie można włączyć PacificNumRefModelDesc1=Wróć NUMERO z formatu %syymm rr-nnnn gdzie jest rok, mm miesiąc i nnnn jest ciągiem bez przerwy i nie ma powrotu do 0 PacificNumRefModelError=Interwencja karty zaczynające się od $ syymm już istnieje i nie jest kompatybilne z tym modelem sekwencji. Usuń go lub zmienić jego nazwę, aby włączyć ten moduł. -PrintProductsOnFichinter=Print products on intervention card -PrintProductsOnFichinterDetails=forinterventions generated from orders +PrintProductsOnFichinter=Drukarnie na karcie interwencyjną +PrintProductsOnFichinterDetails=forinterventions wygenerowane z zamówień diff --git a/htdocs/langs/pl_PL/ldap.lang b/htdocs/langs/pl_PL/ldap.lang index af146a42d6e..5ab82adba70 100644 --- a/htdocs/langs/pl_PL/ldap.lang +++ b/htdocs/langs/pl_PL/ldap.lang @@ -17,13 +17,13 @@ LDAPUsers=Użytkowników w bazie danych LDAP LDAPGroups=Grupy w bazie danych LDAP LDAPFieldStatus=Stan LDAPFieldFirstSubscriptionDate=Pierwsze subskrypcji daty -LDAPFieldFirstSubscriptionAmount=Fist kwoty abonamentu +LDAPFieldFirstSubscriptionAmount=Pierwsza subskrypcja kwoty LDAPFieldLastSubscriptionDate=Ostatnia data subskrypcji LDAPFieldLastSubscriptionAmount=Ostatnia kwota subskrypcji SynchronizeDolibarr2Ldap=Synchronizacja użytkownika (Dolibarr -> LDAP) -UserSynchronized=Użytkownik zsynchronizowane -GroupSynchronized=Grupa zsynchronizowane +UserSynchronized=Użytkownik zsynchronizowany +GroupSynchronized=Grupa zsynchronizowana MemberSynchronized=Państwa zsynchronizowane -ContactSynchronized=Kontakt zsynchronizowane -ForceSynchronize=Siły synchronizujące Dolibarr -> LDAP +ContactSynchronized=Kontakt zsynchronizowany +ForceSynchronize=Synchronizacja użytkownika (Dolibarr -> LDAP) ErrorFailedToReadLDAP=Nie można odczytać bazy danych LDAP. SprawdÅŗ LDAP moduł konfiguracji bazy danych i dostępności. diff --git a/htdocs/langs/pl_PL/link.lang b/htdocs/langs/pl_PL/link.lang index 8b1efb75ef3..81c4c7b4ffd 100644 --- a/htdocs/langs/pl_PL/link.lang +++ b/htdocs/langs/pl_PL/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=Podepnij nowy plik/dokument +LinkedFiles=Podepnij plik i dokument +NoLinkFound=Brak zarejestrowanych linków +LinkComplete=Plik został podlinkowany poprawnie +ErrorFileNotLinked=Plik nie mógł zostać podlinkowany +LinkRemoved=Link %s został usunięty +ErrorFailedToDeleteLink= Niemożna usunąc linku '%s' +ErrorFailedToUpdateLink= Niemożna uaktualnić linku '%s' 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 d1a930134f5..634c2963f93 100644 --- a/htdocs/langs/pl_PL/mails.lang +++ b/htdocs/langs/pl_PL/mails.lang @@ -43,10 +43,10 @@ MailingStatusSentCompletely=Wysłane całkowicie MailingStatusError=Błąd MailingStatusNotSent=Nie wysłano MailSuccessfulySent=E-mail wysłany successfuly (od %s do %s) -MailingSuccessfullyValidated=EMailing successfully validated -MailUnsubcribe=Unsubscribe -Unsuscribe=Unsubscribe -MailingStatusNotContact=Don't contact anymore +MailingSuccessfullyValidated=Wysyłanie pomyślnie zweryfikowane +MailUnsubcribe=Wyrejestrowanie +Unsuscribe=Wyrejestrowanie +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? @@ -73,31 +73,31 @@ DateLastSend=Data ostatniej wysyłanie DateSending=Data wysłania SentTo=Wysłane do %s MailingStatusRead=Czytać -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 +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. +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 # 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=EMails from user input (email;lastname;firstname;other) +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) -MailingModuleDescContactsByCategory=Contacts/addresses of third parties by category +MailingModuleDescContactsByCategory=Kontakt / adresy stron trzecich według kategorii MailingModuleDescMembersCategories=Członkowie Fundacji (o kategorie) MailingModuleDescContactsByFunction=Kontakt trzecich (według pozycji / funkcji) LineInFile=Linia w pliku %s @@ -112,30 +112,30 @@ SearchAMailing=Szukaj mailowych SendMailing=Wyślij e-maila SendMail=Wyślij e-mail SentBy=Wysłane przez -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: +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. -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. +ConfirmSendingEmailing=Jeśli nie możesz lub preferują wysyłanie ich z przeglądarki www, prosimy o potwierdzenie jesteś pewien, że chcesz wysłać e-maila teraz z przeglądarki? +LimitSendingEmailing=Uwaga: Wysyłanie Emailings z interfejsu WWW jest wykonywana w kilku czasach ze względów bezpieczeństwa oraz limitu czasu,% s odbiorców jednocześnie dla każdej sesji wysyłającego. 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=Mass emailings sent +NbOfEMailingsSend=Masowe Emailings wysłane IdRecord=ID rekordu DeliveryReceipt=Odbiór dostawy YouCanUseCommaSeparatorForSeveralRecipients=Możesz używać przecinka separator określić kilku odbiorców. -TagCheckMail=Track mail opening -TagUnsubscribe=Unsubscribe link -TagSignature=Signature sending user -TagMailtoEmail=Recipient EMail +TagCheckMail=Utwór otwierający elektronicznej +TagUnsubscribe=Wypisz odnośnik +TagSignature=Podpis wysyłania użytkownika +TagMailtoEmail=E-mail odbiorcy # Module Notifications Notifications=Powiadomienia NoNotificationsWillBeSent=Brak powiadomień e-mail są planowane dla tego wydarzenia i spółka ANotificationsWillBeSent=1 zgłoszenie zostanie wysłane pocztą elektroniczną SomeNotificationsWillBeSent=%s powiadomienia będą wysyłane przez e-mail -AddNewNotification=Activate a new email notification target -ListOfActiveNotifications=List all active email notification targets +AddNewNotification=Aktywuj nowy cel powiadomienia e-mail +ListOfActiveNotifications=Lista wszystkich aktywnych celów powiadomienia e-mail ListOfNotificationsDone=Lista wszystkich powiadomień e-mail wysłany -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. +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. diff --git a/htdocs/langs/pl_PL/main.lang b/htdocs/langs/pl_PL/main.lang index ddad87dc664..cec0f69b646 100644 --- a/htdocs/langs/pl_PL/main.lang +++ b/htdocs/langs/pl_PL/main.lang @@ -5,7 +5,7 @@ DIRECTION=ltr # stsongstdlight or cid0cs are for simplified Chinese # To read Chinese pdf with Linux: sudo apt-get install poppler-data FONTFORPDF=DejaVuSans -FONTSIZEFORPDF=8 +FONTSIZEFORPDF=10 SeparatorDecimal=, SeparatorThousand=Space FormatDateShort=%d-%m-%Y @@ -14,95 +14,95 @@ FormatDateShortJava=dd-MM-yyyy FormatDateShortJavaInput=dd-MM-yyyy FormatDateShortJQuery=dd-mm-yy FormatDateShortJQueryInput=dd-mm-yy -FormatHourShortJQuery=HH:MI -FormatHourShort=%H:%M +FormatHourShortJQuery=HH:MM +FormatHourShort=%I:%M %p FormatHourShortDuration=%H:%M FormatDateTextShort=%d %b %Y -FormatDateText=%d %B %Y -FormatDateHourShort=%d-%m-%Y %H:%M +FormatDateText=%B %d, %Y +FormatDateHourShort=%m/%d/%Y %I:%M %p FormatDateHourSecShort=%m/%d/%Y %I:%M:%S %p -FormatDateHourTextShort=%d %b %Y %H:%M -FormatDateHourText=%d %B %Y %H:%M +FormatDateHourTextShort=%b %d, %Y, %I:%M %p +FormatDateHourText=%B %d, %Y, %I:%M %p DatabaseConnection=Połączenia z bazą danych NoTranslation=Brak tłumaczenia -NoRecordFound=No record found +NoRecordFound=Rekord nie został znaleziony. NoError=Brak błędów Error=Błąd ErrorFieldRequired=Pole ' %s' jest wymagane ErrorFieldFormat=Pole ' %s' ma złe wartości ErrorFileDoesNotExists=Plik %s nie istnieje ErrorFailedToOpenFile=Nie można otworzyć pliku %s -ErrorCanNotCreateDir=Nie można utworzyć %s reż -ErrorCanNotReadDir=Nie można odczytać %s reż -ErrorConstantNotDefined=Parametr %s nie zostało zdefiniowane -ErrorUnknown=Unknown error +ErrorCanNotCreateDir=Nie można utworzyć folderu %s +ErrorCanNotReadDir=Nie można odczytać folderu %s +ErrorConstantNotDefined=Parametr %s nie został zdefiniowany +ErrorUnknown=Nieznany błąd ErrorSQL=Błąd SQL -ErrorLogoFileNotFound=Logo file ' %s' nie został odnaleziony -ErrorGoToGlobalSetup=IdÅŗ do "Firma / Fundacja" Aby rozwiązać ten problem z konfiguracją -ErrorGoToModuleSetup=PrzejdÅŗ do modułu konfiguracji Aby rozwiązać ten -ErrorFailedToSendMail=Failed to send mail (sender=%s, receiver=Nie można wysłać mail (nadawcy= %s, odbiornik= %s) -ErrorAttachedFilesDisabled=Podłączanie plików funkcja jest wyłączona na tym serveur -ErrorFileNotUploaded=Plik nie został załadowany. SprawdÅŗ, czy rozmiar nie przekracza maksymalnej dopuszczalnej, że wolnego miejsca jest dostępna na dysku i że nie ma już plik o takiej samej nazwie w tym katalogu. +ErrorLogoFileNotFound=Logo pliku ' %s' nie zostało odnalezione +ErrorGoToGlobalSetup=IdÅŗ do "Firma / Fundacja" Aby rozwiązać problem +ErrorGoToModuleSetup=PrzejdÅŗ do modułu konfiguracji aby naprawić +ErrorFailedToSendMail=Próba wysłania maila nie udana (nadawca=%s, odbiorca=%s) +ErrorAttachedFilesDisabled=Na tym serwerze funkcja łączania plików jest wyłączona +ErrorFileNotUploaded=Plik nie został załadowany. SprawdÅŗ, czy rozmiar nie przekracza maksymalnej dopuszczalnej wagi, lub czy wolne miejsce jest dostępne na dysku. Sprawdz czy nie ma już pliku o takiej samej nazwie w tym katalogu. ErrorInternalErrorDetected=Wykryto błąd -ErrorNoRequestRan=Nr wniosek prowadził -ErrorWrongHostParameter=Niewłaściwy hosta parametr -ErrorYourCountryIsNotDefined=Twój kraj nie jest zdefiniowane. PrzejdÅŗ do Start-setup-Edycja i po raz kolejny formularz. -ErrorRecordIsUsedByChild=Nie można usunąć rekordu. Ten zapis jest używany przez co najmniej na dziecko rekordy. +ErrorNoRequestRan=Brak aktywnych zapytań +ErrorWrongHostParameter=Niewłaściwy parametr hosta +ErrorYourCountryIsNotDefined=Twój kraj nie został zdefiniowany. PrzejdÅŗ do Start-setup-Edycja i wypełnij poprawnie formularz. +ErrorRecordIsUsedByChild=Nie można usunąć rekordu. Ten zapis jest używany przez co najmniej jeden pokrewny rekord. ErrorWrongValue=Błędna wartość ErrorWrongValueForParameterX=Nieprawidłowa wartość dla parametru %s -ErrorNoRequestInError=Å»adne życzenie nie jest w błędzie +ErrorNoRequestInError=Nie wykryto żadneog błednego zapytania. ErrorServiceUnavailableTryLater=Usługa nie jest dostępna w tej chwili. Spróbuj ponownie później. ErrorDuplicateField=Zduplikuj niepowtarzalną wartość w polu -ErrorSomeErrorWereFoundRollbackIsDone=Niektóre błędy znaleziono. Mamy cofnąć zmiany. -ErrorConfigParameterNotDefined=Parametr %s nie jest zdefiniowany wewnątrz Dolibarr plik konfiguracyjny conf.php. -ErrorCantLoadUserFromDolibarrDatabase=Nie można znaleźć użytkownika %s Dolibarr w bazie danych. +ErrorSomeErrorWereFoundRollbackIsDone=Znaleziono błedy. Cofam zmiany +ErrorConfigParameterNotDefined=Parametr %s nie jest zdefiniowany wewnątrz pliku konfiguracyjnego conf.php. Dollibara +ErrorCantLoadUserFromDolibarrDatabase=Nie można znaleźć użytkownika %s Dolibarra w bazie danych. ErrorNoVATRateDefinedForSellerCountry=Błąd, nie określono stawki VAT dla kraju " %s". -ErrorNoSocialContributionForSellerCountry=Błąd, nie typ społeczny wkład określone dla kraju "%s". +ErrorNoSocialContributionForSellerCountry=Błąd, społeczny wkład określony dla kraju %s niezdefiniowany. ErrorFailedToSaveFile=Błąd, nie udało się zapisać pliku. -SetDate=Set date -SelectDate=Select a date -SeeAlso=See also %s -SeeHere=See here +SetDate=Ustaw datę +SelectDate=Wybierz datę +SeeAlso=Zobacz także %s +SeeHere=Zobacz tutaj BackgroundColorByDefault=domyślny kolor tła -FileNotUploaded=The file was not uploaded -FileUploaded=The file was successfully uploaded -FileWasNotUploaded=Wybraniu pliku do zamocowania, ale jeszcze nie wysłał. Kliknij na "Dołącz plik" w tej sprawie. -NbOfEntries=Uwaga wpisów -GoToWikiHelpPage=Przeczytaj pomoc online (potrzeba dostępu do Internetu) +FileNotUploaded=Plik nie został wysłany +FileUploaded=Plik został pomyślnie przesłany +FileWasNotUploaded=Wybrano pliku do zamontowaia, ale jeszcze nie wysłano. W tym celu wybierz opcję "dołącz plik". +NbOfEntries=Liczba wejść +GoToWikiHelpPage=Przeczytaj pomoc online GoToHelpPage=Przeczytaj pomoc -RecordSaved=Zapis zapisane -RecordDeleted=Record deleted -LevelOfFeature=Poziom funkcje +RecordSaved=Rekord zapisany +RecordDeleted=Rekord usunięty +LevelOfFeature=możliwości funkcji NotDefined=Nie zdefiniowany -DefinedAndHasThisValue=Zdefiniowane i wartości -IsNotDefined=undefined -DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr uwierzytelniania w trybie %s do konfiguracji w pliku konfiguracyjnym conf.php.
    Oznacza to, że hasło do bazy danych jest extern Dolibarr, więc zmianę tej dziedzinie może mieć skutki. +DefinedAndHasThisValue=Zdefiniowao i przeliczono +IsNotDefined=Nie zdefiniowano +DolibarrInHttpAuthenticationSoPasswordUseless=Dolibarr uwierzytelnia w trybie %s do konfiguracji w pliku konfiguracyjnym conf.php.
    Oznacza to, że hasło do bazy danych jest zewnętrzne Dolibarr, więc zmiany w tej dziedzinie mogą nie mieć skutków. Administrator=Administrator -Undefined=Niezdefiniowana +Undefined=Niezdefiniowano PasswordForgotten=Zapomniałeś hasła? SeeAbove=Patrz wyżej HomeArea=Strona Startowa LastConnexion=Ostatnie połączenia PreviousConnexion=Poprzednie połączenia -ConnectedOnMultiCompany=Połączenie na podmiot -ConnectedSince=Połączenie od -AuthenticationMode=Autentyczności trybie -RequestedUrl=Żądanego adresu -DatabaseTypeManager=Database Type Manager -RequestLastAccess=Wniosek o ostatnim dostępu do baz danych -RequestLastAccessInError=Wniosek o ostatnim dostępu do baz danych w wyniku błędu -ReturnCodeLastAccessInError=Kod powrotu do ostatniego dostępu do baz danych w błąd -InformationLastAccessInError=Informacje dla ostatniego dostępu do baz danych w błąd -DolibarrHasDetectedError=Dolibarr wykrył błędu technicznego -InformationToHelpDiagnose=To informacje, które mogą pomóc w diagnozowaniu +ConnectedOnMultiCompany=Podłączono do środowiska +ConnectedSince=Połączeno od +AuthenticationMode=Tryb autentycznośći +RequestedUrl=Zażądano adresu URL +DatabaseTypeManager=Typ managera bazy danych +RequestLastAccess=Zapytanie o ostatni dostęp do baz danych +RequestLastAccessInError=Zapytanie o ostatni dostęp do baz danych w wyniku błędu +ReturnCodeLastAccessInError=Kod powrotu ostatniego dostępu do baz danych w błędzie +InformationLastAccessInError=Informacje ostatniego dostępu do baz danych w błędzie +DolibarrHasDetectedError=Dolibarr wykrył błąd techniczny +InformationToHelpDiagnose=Informacje, które mogą pomóc w diagnozowaniu MoreInformation=Więcej informacji -TechnicalInformation=Technical information -NotePublic=Uwaga (publiczne) -NotePrivate=Uwaga (prywatne) -PrecisionUnitIsLimitedToXDecimals=Dolibarr był konfiguracji do ograniczenia dokładności cen jednostkowych do %s miejsc po przecinku. +TechnicalInformation=Informację techniczne +NotePublic=Uwaga (publiczna) +NotePrivate=Uwaga (prywatna) +PrecisionUnitIsLimitedToXDecimals=Dolibarr ustawił ograniczenia dokładności cen jednostkowych do %s miejsc po przecinku. DoTest=Test ToFilter=Filtr -WarningYouHaveAtLeastOneTaskLate=Ostrzeżenie, masz co najmniej jeden element, który przekroczył tolerancji zwłoki. +WarningYouHaveAtLeastOneTaskLate=Ostrzeżenie! masz co najmniej jeden element, który przekroczył tolerancje zwłoki. yes=tak Yes=Tak no=nie @@ -116,41 +116,42 @@ Always=Zawsze Never=Nigdy Under=pod Period=Okres -PeriodEndDate=Datę zakończenia okresu +PeriodEndDate=Data zakończenia okresu Activate=Uaktywnij Activated=Aktywowany Closed=Zamknięte Closed2=Zamknięte -Enabled=Włączone -Deprecated=Deprecated -Disable=Wyłączyć -Disabled=Niepełnosprawnych +Enabled=Dostępne +Deprecated=Nieaktualne +Disable=Niedostępne +Disabled=Niedostępne/Wyłączone Add=Dodać AddLink=Dodaj link Update=Uaktualnić -AddActionToDo=Dodaj do działania -AddActionDone=Dodaj działania zrobienia -Close=Blisko -Close2=Blisko +AddActionToDo=Dodaj działanie do +AddActionDone=Dodaj działania zrobiene +Close=Zamknij +Close2=Zamknij Confirm=PotwierdÅŗ -ConfirmSendCardByMail=Czy na pewno chcesz wysłać tę kartę pocztą? -Delete=Usunąć +ConfirmSendCardByMail=Czy na pewno chcesz wysłać tą treść mailem do %s? +Delete=Skasować Remove=Usunąć -Resiliate=Resiliate +Resiliate=Wypowiedzenie Cancel=Zrezygnuj Modify=Modyfikuj Edit=Edytuj -Validate=Validate +Validate=Potwierdz +ValidateAndApprove=Validate and Approve ToValidate=Aby potwierdzić Save=Zapisać SaveAs=Zapisz jako TestConnection=Test połączenia -ToClone=Clone -ConfirmClone=Wybierz dane, które chcesz klon: -NoCloneOptionsSpecified=Brak danych na klon zdefiniowane. +ToClone=Duplikuj +ConfirmClone=Wybierz dane, które chcesz zduplikować +NoCloneOptionsSpecified=Brak zdefiniowanych danych do zduplikowania. Of=z -Go=Go -Run=Run +Go=IdÅŗ +Run=Uruchom CopyOf=Kopia Show=Pokazać ShowCardHere=Pokaż kartę @@ -158,20 +159,21 @@ Search=Wyszukaj SearchOf=Szukaj Valid=Aktualny Approve=ZatwierdÅŗ -ReOpen=Re-Open +Disapprove=Disapprove +ReOpen=Otwórz ponownie Upload=Wyślij plik -ToLink=Link +ToLink=Łącze Select=Wybierz Choose=Wybrać ChooseLangage=Proszę wybrać język Resize=Zmiana rozmiaru -Recenter=Recenter +Recenter=Wyśrodkuj Author=Autor User=Użytkownik Users=Użytkownicy Group=Grupa Groups=Grupy -NoUserGroupDefined=No user group defined +NoUserGroupDefined=Niezdefiniowano grup użytkowników Password=Hasło PasswordRetype=Powtórz hasło NoteSomeFeaturesAreDisabled=Należy pamiętać, że wiele funkcji / modułów są wyłączone w tej demonstracji. @@ -180,36 +182,36 @@ Person=Osoba Parameter=Parametr Parameters=Parametry Value=Wartość -GlobalValue=Global Value +GlobalValue=Globalna wartość PersonalValue=Osobiste wartości NewValue=Nowa wartość CurrentValue=Aktualna wartość Code=Kod Type=Typ Language=Język -MultiLanguage=Multi-language +MultiLanguage=Wielo-językowość Note=Uwaga CurrentNote=Aktualna uwaga Title=Tytuł Label=Etykieta RefOrLabel=Nr ref. lub etykieta -Info=Zaloguj +Info=Log Family=Rodzina Description=Opis Designation=Opis Model=Model -DefaultModel=Domyślne modelu +DefaultModel=Domyślny model Action=Działanie About=O Number=Liczba NumberByMonth=Ilość na miesiąc -AmountByMonth=Kwota, o miesiąc -Numero=Numero +AmountByMonth=Kwota na miesiąc +Numero=Numer Limit=Limit Limits=Limity DevelopmentTeam=Development Team Logout=Wyloguj -NoLogoutProcessWithAuthMode=No applicative disconnect feature with authentication mode %s +NoLogoutProcessWithAuthMode=żadna aplikacja nierozłączona w skutek uwierzytelniania trybu %s Connection=Połączenie Setup=Konfiguracja Alert=Sygnał @@ -219,60 +221,61 @@ Cards=Kartki Card=Karta Now=Teraz Date=Data +DateAndHour=Date and hour DateStart=Data rozpoczęcia DateEnd=Data zakończenia DateCreation=Data utworzenia DateModification=Zmiana daty -DateModificationShort=Modif. data +DateModificationShort=Modyfik. daty DateLastModification=Ostatnia zmiana daty -DateValidation=Walidacja daty +DateValidation=Zatwierdzenie daty DateClosing=Ostateczny termin -DateDue=Termin +DateDue=W trakcie terminu DateValue=Wartość daty DateValueShort=Wartość daty DateOperation=Data operacji -DateOperationShort=OPE. Data +DateOperationShort=Data operacji DateLimit=Limit daty -DateRequest=Wniosek daty +DateRequest=Żądanie daty DateProcess=Proces daty -DatePlanShort=Data strugane -DateRealShort=Data rzeczywistym. -DateBuild=Sprawozdanie budować daty +DatePlanShort=Planowana data +DateRealShort=Rzeczywista data +DateBuild=Raport stworzenia daty DatePayment=Data płatności DurationYear=rok DurationMonth=miesiąc DurationWeek=tydzień DurationDay=dzień DurationYears=lat -DurationMonths=miesiąc -DurationWeeks=tydzień -DurationDays=dzień +DurationMonths=miesięcy +DurationWeeks=tygodni +DurationDays=dni Year=Rok Month=Miesiąc Week=Tydzień Day=Dzień Hour=Godzina Minute=Minute -Second=Po drugie +Second=Sekund Years=Lata Months=Miesiące Days=Dni -days=dzień +days=dni Hours=Godziny -Minutes=Protokoły +Minutes=Minut Seconds=Sekund -Weeks=Weeks +Weeks=Tygodnie Today=Dzisiaj Yesterday=Wczoraj Tomorrow=Jutro -Morning=Morning -Afternoon=Afternoon -Quadri=Quadri -MonthOfDay=Miesiąc dzień -HourShort=O +Morning=Rano +Afternoon=Popołudniu +Quadri=Kwadrans +MonthOfDay=Dzień miesiąca +HourShort=H MinuteShort=mn -Rate=Tempo -UseLocalTax=Include tax +Rate=Stawka +UseLocalTax=Zawiera podatek Bytes=Bajty KiloBytes=Kilobajtów MegaBytes=MB @@ -283,55 +286,56 @@ Kb=Kb Mb=Mb Gb=Gb Tb=Tb -Cut=Ciąć +Cut=Wytnij Copy=Kopiowanie Paste=Wklej Default=Domyślny DefaultValue=Wartość domyślna -DefaultGlobalValue=Global Value +DefaultGlobalValue=Wartość globalna Price=Cena UnitPrice=Cena jednostkowa UnitPriceHT=Cena jednostkowa (netto) UnitPriceTTC=Cena jednostkowa -PriceU=UP -PriceUHT=UP (netto) -PriceUTTC=UP +PriceU=cen/szt. +PriceUHT=cen/szt (netto) +AskPriceSupplierUHT=P.U. HT Requested +PriceUTTC=cena/szt. Amount=Ilość AmountInvoice=Kwota faktury AmountPayment=Kwota płatności AmountHTShort=Kwota (netto) -AmountTTCShort=Kwota (Inc podatkowych) -AmountHT=Kwoty (po odliczeniu podatku) -AmountTTC=Kwota (Inc podatkowych) +AmountTTCShort=Kwota (zawierająca VAT) +AmountHT=Kwota (netto bez podatku) +AmountTTC=Kwota (zawierająca VAT) AmountVAT=Kwota podatku VAT -AmountLT1=Amount tax 2 -AmountLT2=Amount tax 3 -AmountLT1ES=Kwoty RE +AmountLT1=Wartość podatku 2 +AmountLT2=Wartość podatku 3 +AmountLT1ES=Kwota RE AmountLT2ES=Kwota IRPF AmountTotal=Całkowita kwota AmountAverage=Średnia kwota -PriceQtyHT=Cena za tę ilość (po odliczeniu podatku) -PriceQtyMinHT=Cena ilości min. (po odliczeniu podatku) -PriceQtyTTC=Cena za tę ilość (Inc podatkowych) -PriceQtyMinTTC=Cena ilości min. (Inc podatkowych) -Percentage=Pourcentage +PriceQtyHT=Cena za tę ilość (netto) +PriceQtyMinHT=Cena ilości min. (netto) +PriceQtyTTC=Cena za tę ilość (z VAT) +PriceQtyMinTTC=Cena ilości min. (z VAT) +Percentage=Procentowo Total=Razem -SubTotal=Razem +SubTotal=Po podliczeniu TotalHTShort=Ogółem (netto) -TotalTTCShort=Ogółem (Inc podatkowych) +TotalTTCShort=Ogółem (z VAT) TotalHT=Razem (po odliczeniu podatku) -TotalHTforthispage=Total (net of tax) for this page -TotalTTC=Ogółem (Inc podatkowych) -TotalTTCToYourCredit=Ogółem (Inc podatku) na konto kredytowe -TotalVAT=Razem z VAT -TotalLT1=Total tax 2 -TotalLT2=Total tax 3 +TotalHTforthispage=Razem (po odliczeniu podatku) dla tej strony +TotalTTC=Ogółem (z VAT) +TotalTTCToYourCredit=Ogółem (z VAT) na twoje konto +TotalVAT=Razem VAT +TotalLT1=Podatek całkowity 2 +TotalLT2=Podatek całkowity 3 TotalLT1ES=Razem RE TotalLT2ES=Razem IRPF -IncludedVAT=Zaliczenie podatku VAT -HT=Bez podatku -TTC=Inc VAT -VAT=VAT +IncludedVAT=Zawiera VAT +HT=Bez VAT +TTC=z VAT +VAT=Sprzedaż opodatkowana VAT LT1ES=RE LT2ES=IRPF VATRate=Stawka VAT @@ -345,47 +349,47 @@ FullList=Pełna lista Statistics=Statystyki OtherStatistics=Inne statystyki Status=Stan -Favorite=Favorite +Favorite=Ulubiony ShortInfo=Info. Ref=Nr ref. RefSupplier=Nr ref. Dostawca RefPayment=Nr ref. płatności -CommercialProposalsShort=Commercial propozycje +CommercialProposalsShort=Propozycje komercyjne Comment=Komentarz Comments=Komentarze -ActionsToDo=Działania mające na celu nie -ActionsDone=Działania zrobić -ActionsToDoShort=Aby to zrobić -ActionsRunningshort=Rozpoczęcie +ActionsToDo=Działania do zrobienia +ActionsDone=Działania zrobione +ActionsToDoShort=Do zrobienia +ActionsRunningshort=Rozpoczęto ActionsDoneShort=Zrobione ActionNotApplicable=Nie dotyczy -ActionRunningNotStarted=Nie rozpoczęto -ActionRunningShort=Rozpoczęcie +ActionRunningNotStarted=By rozpocząć +ActionRunningShort=Rozpoczęte ActionDoneShort=Zakończone -ActionUncomplete=Uncomplete +ActionUncomplete=Niekompletne CompanyFoundation=Firma / Fundacja -ContactsForCompany=Kontakty na ten trzeciej -ContactsAddressesForCompany=Contacts/addresses for this third party -AddressesForCompany=Addresses for this third party -ActionsOnCompany=Działania na temat tej osoby trzeciej -ActionsOnMember=Wydarzenia O tego użytkownika -NActions=%s działania +ContactsForCompany=Kontakty dla tego zamówienia +ContactsAddressesForCompany=Kontakt/adres dla tej części/zamówienia/ +AddressesForCompany=Adressy dla części trzeciej +ActionsOnCompany=Działania na temat tego zamówienia +ActionsOnMember=Informacje o wydarzeniach dla tego uzytkownika +NActions=%s wydarzeń NActionsLate=%s późno -RequestAlreadyDone=Request already recorded +RequestAlreadyDone=Żądanie już wysłane Filter=Filtr RemoveFilter=Usuń filtr -ChartGenerated=Wykres generowany -ChartNotGenerated=Wykres nie powstały -GeneratedOn=Budować na %s +ChartGenerated=Wykres wygenerowany +ChartNotGenerated=Wykres niewygenerowany +GeneratedOn=Zbuduj na %s Generate=Wygeneruj Duration=Czas trwania TotalDuration=Łączny czas trwania Summary=Podsumowanie MyBookmarks=Moje zakładki OtherInformationsBoxes=Inne informacje -DolibarrBoard=Dolibarr pokładzie +DolibarrBoard=Załoga Dollibara DolibarrStateBoard=Statystyki -DolibarrWorkBoard=Pracy zadań pokładzie +DolibarrWorkBoard=Zadania załogi Available=Dostępny NotYetAvailable=Nie są jeszcze dostępne NotAvailable=Niedostępne @@ -394,7 +398,7 @@ Categories=Kategorie Category=Kategoria By=Przez From=Od -to=by +to=do and=i or=lub Other=Inny @@ -403,11 +407,11 @@ OtherInformations=Inne informacje Quantity=Ilość Qty=Ilosc ChangedBy=Zmieniona przez -ReCalculate=Recalculate +ReCalculate=Przelicz ResultOk=Sukces ResultKo=Porażka -Reporting=Sprawozdawczość -Reportings=Sprawozdawczość +Reporting=Raportowanie +Reportings=Raportowanie Draft=Szkic Drafts=Robocze Validated=Zatwierdzona @@ -418,26 +422,26 @@ Unknown=Nieznany General=Ogólne Size=Rozmiar Received=Odebrane -Paid=Paid -Topic=SUJET -ByCompanies=Według firm -ByUsers=Przez użytkowników +Paid=Zapłacone +Topic=Temat +ByCompanies=Według zamówień +ByUsers=Według użytkowników Links=Linki -Link=Łącze +Link=Link Receipts=Wpływy -Rejects=Odrzuca +Rejects=Odrzucone Preview=Podgląd NextStep=Następny krok PreviousStep=Poprzedni krok -Datas=Danych +Datas=Dane None=Å»aden NoneF=Å»aden Late=Późno -Photo=Obrazek -Photos=Foto -AddPhoto=Dodaj zdjęcie +Photo=Obraz +Photos=Obrazy +AddPhoto=Dodaj obraz Login=Login -CurrentLogin=Aktualna logowania +CurrentLogin=Aktualny login January=Styczeń February=Luty March=Marzec @@ -450,23 +454,23 @@ September=Wrzesień October=PaÅŗdziernik November=Listopad December=Grudzień -JanuaryMin=Jan -FebruaryMin=Luty +JanuaryMin=Sty +FebruaryMin=Lut MarchMin=Mar -AprilMin=Kwietnia +AprilMin=Kwi MayMin=Maj -JuneMin=Czerwca -JulyMin=Lipca -AugustMin=Sierpnia -SeptemberMin=Września -OctoberMin=PaÅŗdziernika -NovemberMin=Listopada -DecemberMin=Grudzień +JuneMin=Cze +JulyMin=Lip +AugustMin=Sier +SeptemberMin=Wrz +OctoberMin=PaÅŗ +NovemberMin=Lis +DecemberMin=Gru Month01=styczeń Month02=luty Month03=marzec Month04=kwiecień -Month05=może +Month05=maj Month06=cze Month07=lipiec Month08=sierpień @@ -474,53 +478,54 @@ Month09=wrzesień Month10=paÅŗdziernik Month11=listopad Month12=grudzień -MonthShort01=styczeń -MonthShort02=luty +MonthShort01=sty +MonthShort02=lut MonthShort03=mar -MonthShort04=kwiecień -MonthShort05=może +MonthShort04=kwi +MonthShort05=maj MonthShort06=cze -MonthShort07=lipiec -MonthShort08=sierpień -MonthShort09=sep -MonthShort10=paÅŗdziernik -MonthShort11=listopad -MonthShort12=grudzień +MonthShort07=lip +MonthShort08=sier +MonthShort09=wrz +MonthShort10=paÅŗ +MonthShort11=lis +MonthShort12=gru AttachedFiles=Dołączone pliki i dokumenty -FileTransferComplete=Plik został przesłany successfuly +FileTransferComplete=Plik został przesłany poprawnie DateFormatYYYYMM=RRRR-MM DateFormatYYYYMMDD=RRRR-MM-DD DateFormatYYYYMMDDHHMM=RRRR-MM-DD GG: SS ReportName=Nazwa raportu -ReportPeriod=Okresu sprawozdawczego +ReportPeriod=Raport z okresu ReportDescription=Opis Report=Sprawozdanie -Keyword=Mot cl +Keyword=brak odpowiednika/ cant be translated. Legend=Legenda -FillTownFromZip=Wypełnij miasta zip -Fill=Fill -Reset=Reset +FillTownFromZip=Wypełnij miasta po kodzie +Fill=Wypełnij +Reset=Wyczyść ShowLog=Pokaż dziennik File=Plik Files=Pliki NotAllowed=Niedozwolone -ReadPermissionNotAllowed=Czytaj zgody nie wolno +ReadPermissionNotAllowed=brak uprawnień odczytu AmountInCurrency=Kwota w walucie %s Example=Przykład Examples=Przykłady -NoExample=Nr przykład +NoExample=brak przykładu FindBug=Zgłoś błąd -NbOfThirdParties=Liczba osób trzecich +NbOfThirdParties=Liczba zamówień NbOfCustomers=Liczba klientów NbOfLines=Liczba linii NbOfObjects=Liczba obiektów NbOfReferers=Liczba stron odsyłających -Referers=Refering objects +Referers=Liczba objektów TotalQuantity=Całkowita ilość DateFromTo=Z %s do %s DateFrom=Z %s -DateUntil=Do %s +DateUntil=Dopuki %s Check=Sprawdzić +Uncheck=Uncheck Internal=Wewnętrzne External=Zewnętrzne Internals=Wewnętrzne @@ -528,19 +533,19 @@ Externals=Zewnętrzne Warning=Ostrzeżenie Warnings=Ostrzeżenia BuildPDF=Zbuduj PDF -RebuildPDF=Rebuild PDF +RebuildPDF=Popraw PDF BuildDoc=Zbuduj Doc -RebuildDoc=Rebuild Doc +RebuildDoc=Popraw Doc Entity=Podmiot Entities=Podmioty EventLogs=Logi -CustomerPreview=Klient podglądu -SupplierPreview=Dostawca podglądu -AccountancyPreview=Księgowość podglądu +CustomerPreview=Podgląd klienta +SupplierPreview=Podgląd dostawcy +AccountancyPreview=Podgląd księgowości ShowCustomerPreview=Pokaż podgląd klienta -ShowSupplierPreview=Pokaż dostawcy podglądu -ShowAccountancyPreview=Pokaż podgląd rachunkowych -ShowProspectPreview=Pokaż perspektywa podglądu +ShowSupplierPreview=Pokaż podląd dostawcy +ShowAccountancyPreview=Pokaż podgląd rachunkowy +ShowProspectPreview=Pokaż podgląd prospektu RefCustomer=Nr ref. klient Currency=Waluta InfoAdmin=Informacje dla administratorów @@ -556,57 +561,57 @@ Response=OdpowiedÅŗ Priority=Priorytet SendByMail=Wyślij przez email MailSentBy=E-mail został wysłany przez -TextUsedInTheMessageBody=Email ciała -SendAcknowledgementByMail=Wyślij Ack. przez e-mail +TextUsedInTheMessageBody=Zawartość emaila +SendAcknowledgementByMail=Wyślij potwierdzenie przez e-mail NoEMail=Brak e-mail -NoMobilePhone=No mobile phone +NoMobilePhone=Brak telefonu komórkowego Owner=Właściciel -DetectedVersion=Wykryto wersji -FollowingConstantsWillBeSubstituted=Po stałych będzie zastąpić o odpowiedniej wartości. +DetectedVersion=Wykryto wersje +FollowingConstantsWillBeSubstituted=Kolejna zawartość będzie zastąpiona wartością z korespondencji. Refresh=Odśwież BackToList=Powrót do listy GoBack=Wróć -CanBeModifiedIfOk=Mogą być zmienione, jeśli ważnych -CanBeModifiedIfKo=Mogą być zmienione, jeśli nie obowiązuje +CanBeModifiedIfOk=Mogą być zmienione jeśli ważne +CanBeModifiedIfKo=Mogą być zmienione, jeśli nie ważne RecordModifiedSuccessfully=Zapis zmodyfikowany pomyślnie -RecordsModified=%s records modified -AutomaticCode=Automatyczne kod -NotManaged=Nie udało +RecordsModified=%s zmodyfikowanych rekordów +AutomaticCode=Automatyczny kod +NotManaged=Nie zarządzono FeatureDisabled=Funkcja wyłączona MoveBox=Przenieś pole %s -Offered=Bezpłatny +Offered=Oferowany NotEnoughPermissions=Nie masz uprawnień do tego działania -SessionName=Sesja nazwa +SessionName=Nazwa sesji Method=Metoda Receive=Odbiór -PartialWoman=Częściowe -PartialMan=Częściowe +PartialWoman=Część +PartialMan=Część TotalWoman=Razem TotalMan=Razem NeverReceived=Nigdy nie otrzymała -Canceled=Odwołany -YouCanChangeValuesForThisListFromDictionarySetup=You can change values for this list from menu setup - dictionary +Canceled=Anulowany +YouCanChangeValuesForThisListFromDictionarySetup=Możesz zmieniać wartości dla tej listy z menu setup - słownik Color=Kolor -Documents=Związany plików -DocumentsNb=Dołączonych plików (%s) +Documents=Związanych plików +DocumentsNb=Związanych plików (%s) Documents2=Dokumenty BuildDocuments=Wygenerowano dokumentów -UploadDisabled=Prześlij niepełnosprawnych +UploadDisabled=Prześlij nieaktywne MenuECM=Dokumenty MenuAWStats=AWStats MenuMembers=Członkowie -MenuAgendaGoogle=Google porządku -ThisLimitIsDefinedInSetup=Dolibarr limit (Menu Start-setup-bezpieczeństwa): %s KB, PHP, limit: %s KB -NoFileFound=Å»adnych dokumentów zapisanych w tym katalogu +MenuAgendaGoogle=Google agenda +ThisLimitIsDefinedInSetup=Limit Dollibara (Menu główne-setup-bezpieczeństwo): %s KB, PHP, limit: %s KB +NoFileFound=Brak dokumentów zapisanych w tym katalogu CurrentUserLanguage=Język bieżący CurrentTheme=Aktualny temat -CurrentMenuManager=Current menu manager -DisabledModules=Niepełnosprawnych modules +CurrentMenuManager=Aktualny Menu menager +DisabledModules=Nieaktywnych modułów For=Dla ForCustomer=Dla klienta Signature=Podpis -HidePassword=Pokaż polecenie hasłem ukryte -UnHidePassword=Pokaż prawdziwe polecenia z jasnymi hasło +HidePassword=Pokaż polecenie z ukrytym hasłem +UnHidePassword=Pokaż prawdziwe polecenie z otwartym hasłem Root=Root Informations=Informacje Page=Strona @@ -614,20 +619,20 @@ Notes=Uwagi AddNewLine=Dodaj nowy wiersz AddFile=Dodaj plik ListOfFiles=Lista dostępnych plików -FreeZone=Free entry -FreeLineOfType=Free entry of type -CloneMainAttributes=Clone obiektu z jej głównych atrybutów -PDFMerge=PDF Merge -Merge=Scalanie +FreeZone=wolność wyboru +FreeLineOfType=Wolność wyboru typu +CloneMainAttributes=Skopiuj obiekt z jego głównymi atrybutami +PDFMerge=Scalanie/ dzielenie PDF +Merge=Scalanie/ dzielenie PrintContentArea=Pokaż stronę do wydruku głównej treści -MenuManager=Menu manager -NoMenu=Nie podmenu -WarningYouAreInMaintenanceMode=Uwaga, jesteś w trybie konserwacji, więc tylko logowanie %s może używać aplikacji w danym momencie. +MenuManager=Menu menager +NoMenu=Brak podmenu +WarningYouAreInMaintenanceMode=Uwaga, jesteś w trybie konserwacji, więc tylko zalogowani %s mogą używać aplikacji w danym momencie. CoreErrorTitle=Błąd systemu -CoreErrorMessage=Przepraszamy, wystąpił błąd. SprawdÅŗ dzienniki lub skontaktuj się z administratorem systemu. -CreditCard=kart kredytowych -FieldsWithAreMandatory=%s pola są obowiązkowe -FieldsWithIsForPublic=Pola %s są wyświetlane na publiczną listę członków. Jeśli nie chcesz, zaznacz opcję "publicznych" polu. +CoreErrorMessage=Przepraszamy, wystąpił błąd. SprawdÅŗ dzienniki błedu lub skontaktuj się z administratorem systemu. +CreditCard=Karta kredytowa +FieldsWithAreMandatory=Pola %s są obowiązkowe +FieldsWithIsForPublic=Pola %s są wyświetlane na publiczną listę członków. Jeśli nie chcesz, odznacz opcję "publiczny". AccordingToGeoIPDatabase=(Zgodnie z konwersji GeoIP) Line=Linia NotSupported=Nie są obsługiwane @@ -645,49 +650,50 @@ Before=Przed After=Po IPAddress=Adres IP Frequency=Częstotliwość -IM=Komunikatory +IM=Ciągła wiadomość NewAttribute=Nowy atrybut AttributeCode=Kod atrybut OptionalFieldsSetup=Dodatkowa konfiguracja atrybutów -URLPhoto=Url zdjęciem / logo -SetLinkToThirdParty=Link do innych stron trzecich -CreateDraft=Utwórz projekt -SetToDraft=Back to draft -ClickToEdit=Kliknij, aby edytować +URLPhoto=Url ze zdjęciem / logo +SetLinkToThirdParty=Link do zamówień +CreateDraft=Utwórz Szic +SetToDraft=Wróć do szkicu +ClickToEdit=Kliknij by edytować ObjectDeleted=%s obiekt usunięty ByCountry=Według kraju -ByTown=Przez miasto +ByTown=Według miasta ByDate=Według daty -ByMonthYear=Przez miesiąc / rok -ByYear=Przez rok -ByMonth=przez miesiąc -ByDay=Na dzień -BySalesRepresentative=Przez przedstawiciela handlowego -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 +ByMonthYear=Według miesiąc / rok +ByYear=Według roku +ByMonth=Według miesiąca +ByDay=Według dnia +BySalesRepresentative=Według przedstawiciela handlowego +LinkedToSpecificUsers=Podpięty do kontaktu współużytkownika +DeleteAFile=Usuń plik +ConfirmDeleteAFile=Czy na pewno chcesz usunąć ten plik? +NoResults=Brak wyników +ModulesSystemTools=Narzędzia modułów 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 +NoPhotoYet=Brak obrazów +HomeDashboard=Podsumowanie całościowe +Deductible=Odliczenie +from=od +toward=kierunek +Access=Dostęp +HelpCopyToClipboard=Użyj Ctrl+C by skopiować +SaveUploadedFileWithMask=Zapisz plik na serwerze z nazwą "%s" (w innym wypadku "%s") +OriginFileName=Oryginalna nazwa pliku +SetDemandReason=Wybierz Åŗródło +SetBankAccount=Przypisz konto bankowe +AccountCurrency=Waluta konta +ViewPrivateNote=Wyświetl notatki +XMoreLines=%s lini(e) ukryte +PublicUrl=Publiczny URL +AddBox=Dodaj skrzynke +SelectElementAndClickRefresh=Zaznacz element i kliknij Odśwież +PrintFile=Wydrukuj plik %s +ShowTransaction=Show transaction # Week day Monday=Poniedziałek Tuesday=Wtorek @@ -696,13 +702,13 @@ Thursday=Czwartek Friday=Piątek Saturday=Sobota Sunday=Niedziela -MondayMin=Mo -TuesdayMin=Tu -WednesdayMin=My -ThursdayMin=Th -FridayMin=O. -SaturdayMin=Sa -SundayMin=Ni +MondayMin=Pon +TuesdayMin=Wt +WednesdayMin=Śr +ThursdayMin=Czw +FridayMin=Pią +SaturdayMin=Sob +SundayMin=Nie Day1=Poniedziałek Day2=Wtorek Day3=Środa @@ -710,10 +716,10 @@ Day4=Czwartek Day5=Piątek Day6=Sobota Day0=Niedziela -ShortMonday=M -ShortTuesday=T -ShortWednesday=W -ShortThursday=T -ShortFriday=F -ShortSaturday=S -ShortSunday=S +ShortMonday=Po +ShortTuesday=W +ShortWednesday=Śr +ShortThursday=Cz +ShortFriday=Pi +ShortSaturday=So +ShortSunday=Ni diff --git a/htdocs/langs/pl_PL/orders.lang b/htdocs/langs/pl_PL/orders.lang index 235096ce352..86ff6886783 100644 --- a/htdocs/langs/pl_PL/orders.lang +++ b/htdocs/langs/pl_PL/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Odwołany StatusOrderDraft=Projekt (musi zostać zatwierdzone) StatusOrderValidated=Zatwierdzona StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Przetworzone StatusOrderToBill=Do rachunku StatusOrderToBill2=Do rachunku @@ -58,6 +59,7 @@ MenuOrdersToBill=Zamówienia na rachunku MenuOrdersToBill2=Billable orders SearchOrder=Szukaj celu SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Statek produktu Discount=Rabat CreateOrder=Tworzenie Zamówienie diff --git a/htdocs/langs/pl_PL/other.lang b/htdocs/langs/pl_PL/other.lang index fe2b5107356..fb8f7bab39f 100644 --- a/htdocs/langs/pl_PL/other.lang +++ b/htdocs/langs/pl_PL/other.lang @@ -54,12 +54,13 @@ MaxSize=Maksymalny rozmiar AttachANewFile=Załącz nowy plik / dokument LinkedObject=Związany obiektu Miscellaneous=Różne -NbOfActiveNotifications=Liczba zgłoszeń +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__ diff --git a/htdocs/langs/pl_PL/paybox.lang b/htdocs/langs/pl_PL/paybox.lang index 9d629ea7e16..a23a037fc83 100644 --- a/htdocs/langs/pl_PL/paybox.lang +++ b/htdocs/langs/pl_PL/paybox.lang @@ -1,40 +1,40 @@ # Dolibarr language file - Source file is en_US - paybox PayBoxSetup=PayBox konfiguracji modułu -PayBoxDesc=Moduł ten oferują strony, aby umożliwić płatności na Paybox przez klientów. Może to być wykorzystane do swobodnego zapłatę lub płatność w szczególności Dolibarr obiektu (faktury, zamówienia, ...) -FollowingUrlAreAvailableToMakePayments=Po adresy są dostępne na stronie ofertę do klienta, aby dokonać płatności na Dolibarr obiektów +PayBoxDesc=Moduł ten oferują strony, umożliwiające płatności na Paybox przez klientów. Może to być wykorzystane do swobodnej zapłaty lub płatności w szczególności obiektu Dolibara np za faktury, zamówienia, ... +FollowingUrlAreAvailableToMakePayments=Nastepujące adresy są dostępne dla klienta, by mógł dokonać płatności za faktury zamówienia PaymentForm=Forma płatności -WelcomeOnPaymentPage=Witamy na naszej usługi płatności online +WelcomeOnPaymentPage=Witamy w naszej usłudze płatności online ThisScreenAllowsYouToPay=Ten ekran pozwala na dokonanie płatności on-line do %s. -ThisIsInformationOnPayment=To jest informacja o płatności do +ThisIsInformationOnPayment=To jest informacja o płatności do zrobienia ToComplete=Aby zakończyć -YourEMail=E-mail z potwierdzeniem zapłaty +YourEMail=E-mail by otrzymać potwierdzenie zapłaty Creditor=Wierzyciel -PaymentCode=Płatność kod -PayBoxDoPayment=PrzejdÅŗ na płatności -YouWillBeRedirectedOnPayBox=Zostaniesz przekierowany na zabezpieczone Paybox stronę wejścia ci karty kredytowej informacje +PaymentCode=Kod płatności +PayBoxDoPayment=PrzejdÅŗ do płatności +YouWillBeRedirectedOnPayBox=Zostaniesz przekierowany na zabezpieczoną stronę Paybox bys mógł podać informację z karty kredytowej. PleaseBePatient=Proszę, bądÅŗ cierpliwy -Continue=Następny +Continue=Dalej ToOfferALinkForOnlinePayment=URL %s płatności -ToOfferALinkForOnlinePaymentOnOrder=URL zaoferowania %s płatności online interfejsu użytkownika na zamówienie -ToOfferALinkForOnlinePaymentOnInvoice=URL zaoferowania %s płatności online interfejsu użytkownika na fakturze -ToOfferALinkForOnlinePaymentOnContractLine=URL zaoferować płatności online %s interfejs użytkownika do umowy linii -ToOfferALinkForOnlinePaymentOnFreeAmount=URL zaoferować płatności online %s interfejs użytkownika w celu utworzenia bezpłatnego kwotę +ToOfferALinkForOnlinePaymentOnOrder=URL zaoferowania %s płatności online interfejsu użytkownika za zamówienie +ToOfferALinkForOnlinePaymentOnInvoice=URL zaoferowania %s płatności online interfejsu użytkownika za fakture +ToOfferALinkForOnlinePaymentOnContractLine=URL zaoferowania płatności online %s interfejsu użytkownika do umowy +ToOfferALinkForOnlinePaymentOnFreeAmount=URL zaoferowania płatności online %s interfejsu użytkownika w celu utworzenia dowolnej kwoty. ToOfferALinkForOnlinePaymentOnMemberSubscription=Adres URL do zaoferowania płatności online %s interfejs użytkownika jest członkiem subskrypcji -YouCanAddTagOnUrl=Możesz również dodać parametr & url = wartość tagu do żadnej z tych adresów URL (wymagany tylko za darmo płatności), aby dodać swój komentarz płatności tag. -SetupPayBoxToHavePaymentCreatedAutomatically=Skonfiguruj PayBox url z %s do zapłaty tworzone automatycznie, gdy zatwierdzone przez paybox. -YourPaymentHasBeenRecorded=Ta strona potwierdza, że ​​płatność została nagrana. Dziękuję. -YourPaymentHasNotBeenRecorded=Jesteś płatność nie została nagrana i transakcja została anulowana. Dziękuję. +YouCanAddTagOnUrl=Możesz również dodać parametr & url = wartość tagu do żadnej z tych adresów URL (wymagany tylko dla bezpłatnych), aby dodać swój komentarz płatności tag. +SetupPayBoxToHavePaymentCreatedAutomatically=Skonfiguruj PayBox url z %s do opłay stworzonych automatycznie, gdy są zatwierdzone przez paybox. +YourPaymentHasBeenRecorded=Ta strona potwierdza, że ​​płatność została wprowadzona. Dziękuję. +YourPaymentHasNotBeenRecorded=Twoja płatność nie została wprowadzona i transakcja została anulowana. Dziękuję. AccountParameter=Parametry konta UsageParameter=Parametry serwera -InformationToFindParameters=Pomoc znaleźć %s informacje o koncie +InformationToFindParameters=Pomóż znaleźć %s informacje o koncie PAYBOX_CGI_URL_V2=Url Paybox moduł CGI płatności VendorName=Nazwa dostawcy -CSSUrlForPaymentForm=CSS url arkusz dla formy płatności -MessageOK=Wiadomość na zatwierdzonych strony powrót płatności -MessageKO=Wiadomość na odwołana strony powrotnej płatności -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 +CSSUrlForPaymentForm=Styl CSS arkuszy dla form płatności +MessageOK=Wiadomość dla zatwierdzonych stron. Powrót do płatności +MessageKO=Wiadomość dla odwołanych stron. Powrót do płatności +NewPayboxPaymentReceived=Nowa płatnośc Paybox otrzymana +NewPayboxPaymentFailed=Nowa płatnośc Paybox - próba nie udana. +PAYBOX_PAYONLINE_SENDEMAIL=Mail ostrzegający po płatności (sukces lub porażka) +PAYBOX_PBX_SITE=Wartośc dla strony PBX +PAYBOX_PBX_RANG=Wartość dla zasięgu PBX +PAYBOX_PBX_IDENTIFIANT=Wartośc dla PBX ID diff --git a/htdocs/langs/pl_PL/printing.lang b/htdocs/langs/pl_PL/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/pl_PL/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/pl_PL/productbatch.lang b/htdocs/langs/pl_PL/productbatch.lang index 864782023a0..4455da495cd 100644 --- a/htdocs/langs/pl_PL/productbatch.lang +++ b/htdocs/langs/pl_PL/productbatch.lang @@ -1,21 +1,21 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Use batch/serial number -ProductStatusOnBatch=Yes (Batch/serial required) -ProductStatusNotOnBatch=No (Batch/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 -l_eatby=Eat-by date -l_sellby=Sell-by date -DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) -printBatch=Batch: %s -printEatby=Eat-by: %s -printSellby=Sell-by: %s -printQty=Qty: %d -AddDispatchBatchLine=Add a line for Shelf Life dispatching -BatchDefaultNumber=Undefined -WhenProductBatchModuleOnOptionAreForced=When module Batch/Serial is on, increase/decrease stock mode is forced to last choice and can't be edited. Other options can be defined as you want. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ManageLotSerial=Użyj plik/wsad/numer seryjny +ProductStatusOnBatch=Tak ('plik/wsad//nr seryjny' wymagany) +ProductStatusNotOnBatch=Nie ('plik/wsad//nr seryjny' nie użyty) +ProductStatusOnBatchShort=Tak +ProductStatusNotOnBatchShort=Nie +Batch=plik/wsad//numer seryjny +atleast1batchfield=Data wykorzystania lub data sprzedaży lub numer pliku/wsadu +batch_number=Plik/wsad/numer seryjny +l_eatby=Wykorzystaj - po dacie +l_sellby=Sprzedaj - po dacie +DetailBatchNumber=Detale pliku/wsadu/ nr seryjnego +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) +printBatch=Plik/Wsad: %s +printEatby=Wykorzystaj po: %s +printSellby=Sprzedaj po: %s +printQty=Ilość: %d +AddDispatchBatchLine=Dodaj linię dla przedłużenia wysyłki +BatchDefaultNumber=Niezdefiniowano +WhenProductBatchModuleOnOptionAreForced=Gdy moduł Batch / Serial jest , zwiększony/ zmniejszony Tryb czasu jest zmuszony 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 diff --git a/htdocs/langs/pl_PL/products.lang b/htdocs/langs/pl_PL/products.lang index 3db6a921c2d..aadbe802a8f 100644 --- a/htdocs/langs/pl_PL/products.lang +++ b/htdocs/langs/pl_PL/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/pl_PL/projects.lang b/htdocs/langs/pl_PL/projects.lang index 08e1f21fcd9..a71243d3674 100644 --- a/htdocs/langs/pl_PL/projects.lang +++ b/htdocs/langs/pl_PL/projects.lang @@ -8,8 +8,10 @@ SharedProject=Współużytkowane projektu PrivateProject=Kontakt z projektu MyProjectsDesc=Ten widok jest ograniczony do projektów jesteś kontaktu (cokolwiek to typ). ProjectsPublicDesc=Ten widok przedstawia wszystkie projekty, które możesz przeczytać. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Ten widok przedstawia wszystkie projekty (uprawnień użytkownika przyznać uprawnienia do wyświetlania wszystko). MyTasksDesc=Ten widok jest ograniczony do projektów i zadań, które są do kontaktu (cokolwiek to typ). +OnlyOpenedProject=Only opened projects are visible (projects with draft or closed status are not visible). TasksPublicDesc=Ten widok przedstawia wszystkich projektów i zadań, które możesz przeczytać. TasksDesc=Ten widok przedstawia wszystkich projektów i zadań (uprawnień użytkownika przyznać uprawnienia do wyświetlania wszystko). ProjectsArea=Projekty obszaru @@ -29,6 +31,8 @@ NoProject=Projekt zdefiniowane NbOpenTasks=Nb otwartych zadań NbOfProjects=Nb projektów TimeSpent=Czas spędzony +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Czas spędzony RefTask=Nr ref. zadanie LabelTask=Wytwórnia zadanie @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lista dostawców zamówień związanych z pr ListSupplierInvoicesAssociatedProject=Lista dostawców faktur związanych z projektem ListContractAssociatedProject=Wykaz umów związanych z projektem ListFichinterAssociatedProject=Wykaz interwencji związanych z projektem -ListTripAssociatedProject=Lista wycieczek i wydatków związanych z projektem +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Wykaz działań związanych z projektem ActivityOnProjectThisWeek=Aktywność na projekt w tym tygodniu ActivityOnProjectThisMonth=Aktywność w sprawie projektu w tym miesiącu @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=Kompletny model projektu sprawozdania (logo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/pl_PL/propal.lang b/htdocs/langs/pl_PL/propal.lang index ad137b77146..ac6d41946be 100644 --- a/htdocs/langs/pl_PL/propal.lang +++ b/htdocs/langs/pl_PL/propal.lang @@ -16,7 +16,7 @@ Prospect=Prospect ProspectList=Prospect listy DeleteProp=Usuń handlowych wniosku ValidateProp=Validate handlowych wniosku -AddProp=Dodaj projekt +AddProp=Utwórz wniosek ConfirmDeleteProp=Czy na pewno chcesz usunąć tę propozycję handlową? ConfirmValidateProp=Czy na pewno chcesz, aby potwierdzić tę propozycję handlową? LastPropals=Ostatnia %s propozycje @@ -55,8 +55,6 @@ NoOpenedPropals=Nie otworzył propozycji NoOtherOpenedPropals=Å»adne inne otwarte propozycji RefProposal=Commercial wniosku ref SendPropalByMail=Wyślij handlowych wniosku pocztą -FileNotUploaded=Plik nie został wysłany -FileUploaded=Plik został pomyślnie przesłany AssociatedDocuments=Dokumenty związane z projektem: ErrorCantOpenDir=Nie można otworzyć katalogu DatePropal=Data wniosku @@ -70,8 +68,8 @@ ErrorPropalNotFound=Propal %s nie znaleziono Estimate=Prognoza: EstimateShort=Prognoza OtherPropals=Inne propozycje -# AddToDraftProposals=Add to draft proposal -# NoDraftProposals=No draft proposals +AddToDraftProposals=Dodaj do szkicu wniosku +NoDraftProposals=Brak szkiców wniosku CopyPropalFrom=Tworzenie komercyjnych wniosek kopiowanie istniejących wniosku CreateEmptyPropal=Utwórz pusty propozycji Vierge lub z wykazu produktów / usług DefaultProposalDurationValidity=Domyślny czas ważności wniosku handlowych (w dniach) @@ -97,6 +95,6 @@ TypeContact_propal_external_CUSTOMER=kontakt klienta w ślad za wniosek # Document models DocModelAzurDescription=Kompletny wniosek modelu (logo. ..) DocModelJauneDescription=Jaune propozycję modelu -# 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=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 ) diff --git a/htdocs/langs/pl_PL/resource.lang b/htdocs/langs/pl_PL/resource.lang index 32bdd92f884..ce83505c83c 100644 --- a/htdocs/langs/pl_PL/resource.lang +++ b/htdocs/langs/pl_PL/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=Zasoby +MenuResourceAdd=Nowe zasoby +MenuResourcePlanning=Planowane Zasoby +DeleteResource=Usuń zasoby +ConfirmDeleteResourceElement=Potwierdz usunięcie zasobów dla tego elementu +NoResourceInDatabase=Brak zasobów w bazie danych +NoResourceLinked=Brak podliknowanych zasobów -ResourcePageIndex=Resources list -ResourceSingular=Resource -ResourceCard=Resource card -AddResource=Create a resource -ResourceFormLabel_ref=Resource name -ResourceType=Resource type -ResourceFormLabel_description=Resource description +ResourcePageIndex=Lista zasobów +ResourceSingular=Zasoby +ResourceCard=Karta zasobów +AddResource=Utwórz zasoby +ResourceFormLabel_ref=Nazwa zasobów +ResourceType=Typ zasobów +ResourceFormLabel_description=Opis zasobów -ResourcesLinkedToElement=Resources linked to element +ResourcesLinkedToElement=Zasaby połączone z elementem -ShowResourcePlanning=Show resource planning -GotoDate=Go to date +ShowResourcePlanning=Pokaż zasoby planowane +GotoDate=Idz do daty -ResourceElementPage=Element resources -ResourceCreatedWithSuccess=Resource successfully created -RessourceLineSuccessfullyDeleted=Resource line successfully deleted -RessourceLineSuccessfullyUpdated=Resource line successfully updated -ResourceLinkedWithSuccess=Resource linked with success +ResourceElementPage=Element zasobów +ResourceCreatedWithSuccess=Zasoby poprawnie utworzone +RessourceLineSuccessfullyDeleted=Linia zasobów poprawnie usunięta +RessourceLineSuccessfullyUpdated=Linia zasobów poprawnie uaktualniona +ResourceLinkedWithSuccess=Zasoby podlinkowane poprawnie -TitleResourceCard=Resource card -ConfirmDeleteResource=Confirm to delete this resource -RessourceSuccessfullyDeleted=Resource successfully deleted -DictionaryResourceType=Type of resources +TitleResourceCard=Karta zasobów +ConfirmDeleteResource=Potwierdz by usunąc te zasoby +RessourceSuccessfullyDeleted=Zasoby usunięte poprawnie +DictionaryResourceType=Typ zasobów -SelectResource=Select resource +SelectResource=Wybierz zasoby diff --git a/htdocs/langs/pl_PL/salaries.lang b/htdocs/langs/pl_PL/salaries.lang index edca71a1829..43b8413af9a 100644 --- a/htdocs/langs/pl_PL/salaries.lang +++ b/htdocs/langs/pl_PL/salaries.lang @@ -1,8 +1,13 @@ # Dolibarr language file - Source file is en_US - users -Salary=Salary -Salaries=Salaries -Employee=Employee -NewSalaryPayment=New salary payment -SalaryPayment=Salary payment -SalariesPayments=Salaries payments -ShowSalaryPayment=Show salary payment +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Kod rachunkowości dla wypłat +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Kod rachunkowości dla obciązeń finansowych +Salary=Wypłata +Salaries=Wypłaty +Employee=Zatrudnienie +NewSalaryPayment=Nowa wypłata +SalaryPayment=Wypłata wynagrodzenia +SalariesPayments=Wypłaty wynagordzeń +ShowSalaryPayment=Pokaż wypłaty wynagrodzeń +THM=Średnia cena za godzine +TJM=Średnia cena za dzień +CurrentSalary=Current salary diff --git a/htdocs/langs/pl_PL/sendings.lang b/htdocs/langs/pl_PL/sendings.lang index a93c41f5c23..4626b302570 100644 --- a/htdocs/langs/pl_PL/sendings.lang +++ b/htdocs/langs/pl_PL/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Ilosc sortowane QtyShipped=Ilosc wysłane QtyToShip=Ilosc do statku QtyReceived=Ilość otrzymanych -KeepToShip=Lek na statku +KeepToShip=Remain to ship OtherSendingsForSameOrder=Inne sendings do tego celu DateSending=Data wysłania porządku DateSendingShort=Data wysłania porządku diff --git a/htdocs/langs/pl_PL/stocks.lang b/htdocs/langs/pl_PL/stocks.lang index e1d1314519c..9ce3327dd7d 100644 --- a/htdocs/langs/pl_PL/stocks.lang +++ b/htdocs/langs/pl_PL/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Wartość PMPValueShort=WAP EnhancedValueOfWarehouses=Magazyny wartości UserWarehouseAutoCreate=Tworzenie stanie automatycznie podczas tworzenia użytkownika +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Ilość wysyłanych QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/pl_PL/suppliers.lang b/htdocs/langs/pl_PL/suppliers.lang index 0ae0e045149..bcf12754ec4 100644 --- a/htdocs/langs/pl_PL/suppliers.lang +++ b/htdocs/langs/pl_PL/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dostawcy -Supplier=Dostawca AddSupplier=Create a supplier SupplierRemoved=Dostawca usunięty SuppliersInvoice=Faktury dostawców @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Faktury i płatności dostawcy ExportDataset_fournisseur_3=Zamówienia dostawcy i pozycje na zamówieniu ApproveThisOrder=ZatwierdÅŗ to zamówienie ConfirmApproveThisOrder=Czy na pewno chcesz zatwierdzić zamówienie %s ? -DenyingThisOrder=Odrzuć to zamówienie +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Czy na pewno chcesz odrzucić zamówienie %s ? ConfirmCancelThisOrder=Czy na pewno chcesz anulować zamówienie %s ? AddCustomerOrder=Stwórz zamówienie Klienta diff --git a/htdocs/langs/pl_PL/trips.lang b/htdocs/langs/pl_PL/trips.lang index 526bdf77d25..126fe2dda63 100644 --- a/htdocs/langs/pl_PL/trips.lang +++ b/htdocs/langs/pl_PL/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Wycieczka -Trips=Wycieczki -TripsAndExpenses=Wycieczki i koszty -TripsAndExpensesStatistics=Koszty podróży i statystyki -TripCard=Wycieczka karty -AddTrip=Dodaj podróż -ListOfTrips=Lista wyjazdów +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=Wykaz opłat -NewTrip=Nowa podróż -CompanyVisited=Firma / fundacji odwiedzili -Kilometers=Kilometers -FeesKilometersOrAmout=Kwota lub km -DeleteTrip=Usuń podróży -ConfirmDeleteTrip=Czy na pewno chcesz usunąć tę wycieczkę? +NewTrip=New expense report +CompanyVisited=Firm / fundacji odwiedzonych +Kilometers=Kilometrów +FeesKilometersOrAmout=Kwota lub kilometry +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=Zakfalifikowano do refundacji. +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=Inny -TF_LUNCH=Lunch -TF_TRIP=Wycieczka -ListTripsAndExpenses=Lista wycieczek i wydatków -ExpensesArea=Wycieczki i obszar wydatki -SearchATripAndExpense=Szukaj w podróż i wydatki -ClassifyRefunded=Classify 'Refunded' +TF_TRANSPORTATION=Transportation +TF_LUNCH=Obiad +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/pl_PL/workflow.lang b/htdocs/langs/pl_PL/workflow.lang index 62b7ba48b97..90ce3d2d91f 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. +WorkflowSetup=Konfiguracja modułu przepływu pracy +WorkflowDesc=Moduł ten zaprojektowany został do zmiany zachowania automatycznych działań w aplikacjach. Domyślnie, przepływ pracy jest otwarty (zrobisz co chcesz w zamówieniach). Możesz aktywować automatyczne czynności, które cię interesują. 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 +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 26dd25027a2..eed90c5f694 100644 --- a/htdocs/langs/pt_BR/accountancy.lang +++ b/htdocs/langs/pt_BR/accountancy.lang @@ -1,96 +1,17 @@ # Dolibarr language file - Source file is en_US - accountancy Accounting=Contabilidade Globalparameters=Parametros globais -Fiscalyear=Ano fiscal Menuaccount=Contas contĆ”beis ConfigAccountingExpert=Configuração do módulo especialista em contabilidade Journaux=Jornais JournalFinancial=Jornais financeiros -Exports=ExportaƧƵes Selectmodelcsv=Escolha um modelo de exportação -Modelcsv_normal=Exportação classica -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 -Addanaccount=Add an accounting account -AccountAccounting=Accounting account -Ventilation=Breakdown -CustomersVentilation=Breakdown customers -SuppliersVentilation=Breakdown suppliers -TradeMargin=Trade margin -Reports=Reports -ByCustomerInvoice=By invoices customers -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 -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 -EndProcessing=The end of processing -AnyLineVentilate=Any lines to ventilate SelectedLines=Linhas selecionadas -Lineofinvoice=Line of invoice -VentilatedinAccount=Ventilated successfully in the accounting account -NotVentilatedinAccount=Not ventilated in the accounting account ACCOUNTING_SEPARATORCSV=Separator CSV -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_BANK_JOURNAL=Bank journal -ACCOUNTING_CASH_JOURNAL=Cash journal -ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous journal -ACCOUNTING_SOCIAL_JOURNAL=Social journal -ACCOUNTING_ACCOUNT_TRANSFER_CASH=Account of transfer -ACCOUNTING_ACCOUNT_SUSPENSE=Account of wait +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 Docref=ReferĆŖncia Code_tiers=Cliente/Fornecedor -Labelcompte=Label account -Sens=Sens -Codejournal=Journal -DelBookKeeping=Delete the records of the general ledger -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 -ThirdPartyAccount=Thirdparty account NewAccountingMvt=Nova movimentação -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 -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: -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/pt_BR/admin.lang b/htdocs/langs/pt_BR/admin.lang index 1211cf13d32..511241d55c0 100644 --- a/htdocs/langs/pt_BR/admin.lang +++ b/htdocs/langs/pt_BR/admin.lang @@ -73,7 +73,6 @@ Activation=Ativação SetupShort=Configuracao OtherSetup=Outras configuracoes CurrentValueSeparatorThousand=Separador milhar -Destination=Destino IdModule=Módulo ID IdPermissions=PermissĆ£o ID ModulesCommon=Módulos Principais @@ -94,7 +93,6 @@ YouCanEditPHPTZ=Para definir um fuso horĆ”rio diferente PHP (nĆ£o obrigatório), OSEnv=OS Ambiente 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 @@ -103,7 +101,6 @@ 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) @@ -115,7 +112,6 @@ 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 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 @@ -348,7 +344,6 @@ Module200Desc=sincronização com um anuĆ”rio LDAP Module310Desc=Administração de Membros de uma associação Module330Desc=Administração de Favoritos Module410Desc=Interface com calendĆ”rio Webcalendar -Module500Name=Despesas especiais (impostos, contribuiƧƵes sociais, dividendos) Module500Desc=GestĆ£o de despesas especiais, como impostos, contribuição social, dividendos e salĆ”rios Module510Desc=GestĆ£o de funcionĆ”rios salĆ”rios e pagamentos Module600Desc=Enviar notificação via EMail para terceiros sobre algums eventos do Dolibarr ( configurado para cada terceiro) @@ -376,7 +371,6 @@ Module6000Desc=GestĆ£o de fluxo de trabalho Module20000Name=Sair da configuração de pedidos Module39000Name=Lote de produto Module39000Desc=NĆŗmero do lote, para gestĆ£o da data de validade para venda dos produtos -Module50000Name=PayBox Module50000Desc=Módulo para oferecer uma pĆ”gina de pagamento on-line por cartĆ£o de crĆ©dito com PayBox Module50100Desc=Caixa registradora Module50200Desc=Módulo para oferecer uma pĆ”gina de pagamento on-line por cartĆ£o de crĆ©dito com Paypal @@ -487,7 +481,6 @@ 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 =Ler tarefa agendada Permission23002 =Criar/atualizar tarefa agendada Permission23003 =Apagar tarefa agendada Permission2401=Ler aƧƵes (eventos ou tarefas) vinculadas na sua conta @@ -541,12 +534,10 @@ 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 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) -LocalTax2Management=Terceiro tipo de imposto 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. @@ -556,11 +547,8 @@ 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=Relatorio -CalcLocaltax1ES=Vendas - Compras CalcLocaltax1Desc=Relatorios de taxas locais são calculados pela differença entre taxas locais de venda e taxas locais de compra -CalcLocaltax2ES=Compras CalcLocaltax2Desc=Relatorio de taxas locais e o total de taxas locais nas compras -CalcLocaltax3ES=Vendas CalcLocaltax3Desc=Relatorio de taxas locais e o total de taxas locais de vendas NbOfDays=N� de Dias AlwaysActive=Sempre Ativo @@ -617,13 +605,11 @@ SetupDescription1=Todas as opções desta Ôrea de configuração são opções 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: 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. -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 ListOfSecurityEvents=Listado de eventos de segurança Dolibarr @@ -812,8 +798,6 @@ LDAPUsersSynchro=UsuÔrio LDAPContactsSynchro=Contatos LDAPSynchronization=sincronização LDAP LDAPFunctionsNotAvailableOnPHP=as funções LDAP não estão disponíveis na sua PHP -LDAPToDolibarr=LDAP -> Dolibarr -DolibarrToLDAP=Dolibarr -> 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 @@ -897,7 +881,6 @@ 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 ProductSetup=configuração do módulo produtos ServiceSetup=Configuração do módulo Serviços @@ -936,7 +919,6 @@ BarCodeNumberManager=Gerente de auto definir números de código de barras WithdrawalsSetup=configuração do módulo Débitos Diretos ExternalRSSSetup=configuração das importações do fluxos RSS NewRSS=Sindicação de um Novo fluxos RSS -RSSUrl=RSS URL MailingEMailError=Voltar E-mail (Erros-to) para e-mails com erros NotificationSetup=Configuração do módulo de notificações por e-mail SendingsSetup=configuração do módulos envios @@ -1009,7 +991,6 @@ EndPointIs=Clientes SOAP devem enviar seus pedidos para o terminal Dolibarr Disp 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 BankOrderES=Espanhol BankOrderESDesc=Ordem de exibição Espanhol MultiCompanySetup=Configuração do módulo Multi-empresa @@ -1033,10 +1014,6 @@ ECMAutoTree =Pasta Ôrvore automÔtica e documento FiscalYears=Anos fiscais FiscalYear=Ano fiscal FiscalYearCard=Ficha 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 ? -Format=Formato TypePaymentDesc=0: Pagamento para Cliente, 1: Pagamento para Fornecedor, 2: Pagamentos para Clientes e Fornecedores diff --git a/htdocs/langs/pt_BR/agenda.lang b/htdocs/langs/pt_BR/agenda.lang index e6bf3c55b2a..07a485a30f7 100644 --- a/htdocs/langs/pt_BR/agenda.lang +++ b/htdocs/langs/pt_BR/agenda.lang @@ -2,7 +2,6 @@ IdAgenda=ID evento Actions=Eventos ActionsArea=Área de eventos (Atividades e Tarefas) -LocalAgenda=CalendÔrio interno ActionsOwnedBy=Evento de propriedade do DoneBy=Concluído por Event=Evento diff --git a/htdocs/langs/pt_BR/banks.lang b/htdocs/langs/pt_BR/banks.lang index 90bb4e1584c..eb99b0d2d95 100644 --- a/htdocs/langs/pt_BR/banks.lang +++ b/htdocs/langs/pt_BR/banks.lang @@ -4,6 +4,7 @@ MenuSetupBank=Configuração Banco/Caixa BankName=Nome do Banco BankAccount=Conta Bancaria BankAccounts=Contas Bancarias +ShowAccount=Visualizar Conta AccountRef=Ref. Conta Financeira AccountLabel=Etiqueta da Conta Financeira CashAccount=Conta Caixa/Efetivo @@ -20,8 +21,6 @@ CurrentBalance=Saldo atual ShowAllTimeBalance=Mostrar Balanço Desde do Inicio AllTime=Do inicio RIB=Conta Bancaria -StandingOrders=Débitos Diretos -StandingOrder=Domicilio AccountStatement=Extrato da Conta AccountStatementShort=Extrato AccountStatements=Extratos das Contas @@ -105,14 +104,12 @@ AllAccounts=Todas as Contas bancarias/de Caixa BackToAccount=Voltar e a Conta FutureTransaction=Transação futura. Impossivel conciliar. SelectChequeTransactionAndGenerate=Selecionar/filtrar cheques a se incluir no recibo de deposito e clickar no "Criar" -InputReceiptNumber=Escolha o relatorio bancario relativo a conciliação. Use um valor numerico (como AAAAMM) 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 ? diff --git a/htdocs/langs/pt_BR/bills.lang b/htdocs/langs/pt_BR/bills.lang index 730cdb1ee6d..e9e3fe97c2b 100644 --- a/htdocs/langs/pt_BR/bills.lang +++ b/htdocs/langs/pt_BR/bills.lang @@ -2,45 +2,46 @@ Bill=Fatura Bills=Faturas BillsCustomers=Faturas de Clientes -BillsCustomer=Fatura de Cliente +BillsCustomer=Fatura a Clientes BillsSuppliers=Faturas de Fornecedores BillsCustomersUnpaid=Faturas de Clientes Pendentes de Cobrança -BillsCustomersUnpaidForCompany=Faturas cliente nao pagas para %s +BillsCustomersUnpaidForCompany=Faturas cliente não pagas para %s BillsSuppliersUnpaid=Faturas de Fornecedores Pendentes de Pagamento BillsSuppliersUnpaidForCompany=Faturas do fornecedor não pagas para %s BillsLate=Atrasos de Pagamento -BillsStatistics=Estatísticas faturas a clientes +BillsStatistics=Estatísticas de faturas a clientes BillsStatisticsSuppliers=Estatísticas faturas de Fornecedores DisabledBecauseNotErasable=Ação desativada porque não pode ser cancelada InvoiceStandard=Fatura Padrão InvoiceStandardAsk=Fatura Padrão InvoiceStandardDesc=Este tipo de fatura é a fatura tradicional. Também é conhecida como Fatura de Débito. -InvoiceDeposit=Depositar Fatura -InvoiceDepositAsk=Depositar Fatura +InvoiceDeposit=Fatura de depósito +InvoiceDepositAsk=Fatura de depósito InvoiceDepositDesc=Este tipo de fatura é feita com um depósito quando foi recebido. InvoiceProForma=Fatura Pro-Forma InvoiceProFormaAsk=Fatura Pro-Forma InvoiceProFormaDesc=Fatura Pro-Forma é uma verdadeira imagem de uma fatura, mas não tem valor contÔbil. -InvoiceReplacement=Substituição da Fatura -InvoiceReplacementAsk=Substituição da Fatura para Fatura +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'. 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 invoiceAvoirWithPaymentRestAmount=Cirar nota de credito com restante não pago da fatura original invoiceAvoirLineWithPaymentRestAmount=Nota de credito para valor restante não pago -ReplaceInvoice=Retificar a Fatura %s -ReplacementInvoice=Substituição da Fatura +ReplaceInvoice=Substituir a Fatura %s +ReplacementInvoice=Fatura de substituição ReplacedByInvoice=Substituído por Fatura %s ReplacementByInvoice=Substituído por Fatura -CorrectInvoice=Correção de Fatura %s -CorrectionInvoice=Correção de Fatura -UsedByInvoice=Aplicar sobre a fatura %s +CorrectInvoice=Corrigir Fatura %s +CorrectionInvoice=Fatura de correção +UsedByInvoice=Usada para pagar a fatura %s NotConsumed=Sem Consumo NoReplacableInvoice=Sem Faturas RetificÔveis NoInvoiceToCorrect=Sem Faturas a Corrigir +InvoiceHasAvoir=Corrigida por uma ou mais faturas CardBill=Ficha Fatura -PredefinedInvoices=Fatura Predefinida +PredefinedInvoices=Faturas Predefinidas Invoice=Fatura Invoices=Faturas InvoiceLine=Linha de Fatura @@ -176,6 +177,8 @@ ExcessReceived=Recebido em Excesso EscompteOffered=Desconto (Pagamento antecipado) SendBillRef=Confirmação de fatura %s SendReminderBillRef=Lembrete de confirmação de fatura %s +StandingOrders=Débitos Diretos +StandingOrder=Débito Direto NoDraftBills=Nenhuma Fatura Rascunho NoOtherDraftBills=Nenhuma Outra Fatura Rascunho NoDraftInvoices=Nenhuma Fatura Rascunho @@ -190,14 +193,13 @@ NoInvoice=Nenhuma Fatura ClassifyBill=Classificar a Fatura SupplierBillsToPay=Faturas de Fornecedores a Pagar CustomerBillsUnpaid=Faturas de Clientes Pendentes de Cobrança +DispenseMontantLettres=Faturas escrita atraves proceduras mecanogaficas são dispensed pelos pedidos em cartas. NonPercuRecuperable=Sem Recuperação SetConditions=Definir Condições de Pagamento 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 @@ -212,7 +214,6 @@ EditRelativeDiscount=Alterar Desconto Relativo AddGlobalDiscount=Adicionar Desconto Fixo EditGlobalDiscounts=Alterar Descontos Globais ShowDiscount=Ver o Desconto -ShowReduc=Mostrar a dedução RelativeDiscount=Desconto Relativo GlobalDiscount=Desconto Fixo CreditNote=Depósito @@ -309,7 +310,6 @@ DisabledBecausePayments=Não é possível uma vez jÔ que existem alguns pagamen CantRemovePaymentWithOneInvoicePaid=Não é possível remover o pagamento jÔ que hÔ pelo menos uma fatura classificada como pago ExpectedToPay=Esperando pagamento PayedByThisPayment=Pago -ClosePaidInvoicesAutomatically=Classifique "Paid" todas as faturas padrão ou a substituição inteiramente paga. 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". ToMakePaymentBack=pagar tudo @@ -317,7 +317,7 @@ NoteListOfYourUnpaidInvoices=Atenção: Esta lista inclue somente faturas para t RevenueStamp=Selo da receita YouMustCreateInvoiceFromThird=Esta opção só estÔ disponível ao criar fatura de terceiros PDFCrabeDescription=Modelo de fatura completo (ICMS, método de pagamento a mostrar, logotipo...) -TerreNumRefModelDesc1=Mostrarr 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 +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. TypeContact_facture_internal_SALESREPFOLL=ResponsÔvel do acompanhamento da fatura do cliente @@ -328,3 +328,12 @@ 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 +InvoiceFirstSituationAsk=Primeira situação da 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 +CreateNextSituationInvoice=Criar proxima situação +DisabledBecauseNotLastInCycle=A próxima situação jÔ existe. +CantBeLessThanMinPercent=O progresso não pode ser menor do que o seu valor na situação anterior. +NoSituations=Não hÔ situações abertas +InvoiceSituationLast=Fatura final e geral diff --git a/htdocs/langs/pt_BR/boxes.lang b/htdocs/langs/pt_BR/boxes.lang index c1e1dde6f55..1dfd31bd357 100644 --- a/htdocs/langs/pt_BR/boxes.lang +++ b/htdocs/langs/pt_BR/boxes.lang @@ -7,7 +7,6 @@ BoxOldestUnpaidSupplierBills=Primeira fatura pendentes do fornecedor BoxLastActions=Últimas ações BoxLastContracts=Últimos contratos BoxLastContacts=Últimos contatos/endereços -BoxFicheInter=Últimas intervenções BoxCurrentAccounts=Abrir saldo das contas BoxTotalUnpaidCustomerBills=Total de faturas pendentes de clientes BoxTotalUnpaidSuppliersBills=Total de faturas pendentes de fornecedores diff --git a/htdocs/langs/pt_BR/categories.lang b/htdocs/langs/pt_BR/categories.lang index 9ea64949849..539954acb35 100644 --- a/htdocs/langs/pt_BR/categories.lang +++ b/htdocs/langs/pt_BR/categories.lang @@ -43,11 +43,8 @@ CatCusLinks=Linkes entre clientes/prospetivas e categorias CatProdLinks=Linkes entre produtos/servicos e categorias CatMemberLinks=Linkes entre membros e categorias DeleteFromCat=Excluir da categoria -DeletePicture=Apagar foto -ConfirmDeletePicture=Confirmar eliminação de fotografias ExtraFieldsCategories=atributos complementares CategoriesSetup=Configuração de categorias CategorieRecursiv=Ligação com a categoria automaticamente 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 categoria diff --git a/htdocs/langs/pt_BR/commercial.lang b/htdocs/langs/pt_BR/commercial.lang index 68b7321fe1b..98fe235628e 100644 --- a/htdocs/langs/pt_BR/commercial.lang +++ b/htdocs/langs/pt_BR/commercial.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - commercial CommercialArea=Área Comercial -CommercialCard=Ficha Comercial DeleteAction=Eliminar um evento/tarefa NewAction=Novo evento/tarefa AddAction=Criar evento/tarefa @@ -49,7 +48,6 @@ LastProspectContactInProcess=Contato em Curso LastProspectContactDone=Clientes Potenciais Contactados DateActionPlanned=Data Planificação ActionAskedBy=Ação Questionada por -ActionAffectedTo=ResponsÔvel pelo evento 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%%. diff --git a/htdocs/langs/pt_BR/companies.lang b/htdocs/langs/pt_BR/companies.lang index 7d3adf0d865..3f5b2428e93 100644 --- a/htdocs/langs/pt_BR/companies.lang +++ b/htdocs/langs/pt_BR/companies.lang @@ -22,7 +22,6 @@ Contacts=Contatos ThirdPartyContacts=Contatos de clientes/fornecedores ThirdPartyContact=Contato/Endereço de cliente/fornecedor StatusContactValidated=Estado do Contato -CompanyName=Razão Social CountryIsInEEC=País da Comunidadeee Económica Europeia ThirdPartyName=Nome do cliente/fornecedor ThirdParty=Cliente/Fornecedor @@ -56,35 +55,16 @@ LocalTax2IsUsedES=Sujeito a IRPF LocalTax2IsNotUsedES=Não sujeito a IRPF TypeLocaltax1ES=RE Tipo TypeLocaltax2ES=IRPF Tipo -TypeES=Tipo WrongCustomerCode=Código cliente incorreto WrongSupplierCode=Código do fornecedor incorreto -ProfId5Short=Prof. id 5 ProfId6Short=Prof. id 6 ProfId5=ID profesional 5 ProfId6=ID profesional 6 -ProfId1AR=Prof Id 1 (CUIT/CUIL) ProfId2AR=Prof Id 2 (Receitas brutas) ProfId1BE=Núm da Ordem -ProfId1CL=Prof Id 1 (R.U.T.) -ProfId1CO=Prof Id 1 (R.U.T.) -ProfId2DE=Prof Id 2 (USt.-Nr) -ProfId3DE=Prof Id 3 (Handelsregister-Nr.) -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) -ProfId5FR=- -ProfId2IN=Prof Id 2 (PAN) ProfId3IN=Prof Id 3 (Taxa de Serviço) -ProfId1MA=Id prof. 1 (R.C.) -ProfId3MA=Id prof. 3 (I.F.) -ProfId4MA=Id prof. 4 (C.N.S.S.) -ProfId1MX=Prof Id 1 (R.F.C). -ProfId2MX=Prof Id 2 (R..P. IMSS) ProfId3MX=Prof Id 3 (Carta Profissional) -ProfId1NL=KVK nummer -ProfId4NL=Burgerservicenummer (BSN) ProfId1RU=Id prof 1 (I.E.) ProfId2RU=Id prof 2 (I.M.) ProfId3RU=Id prof. 3 (CGC) @@ -108,7 +88,6 @@ 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 SupplierCode=Código do fornecedor SupplierAccount=Conta do fornecedor @@ -149,7 +128,6 @@ ProspectLevel=Cliente em potencial ContactPublic=Compartilhado OthersNotLinkedToThirdParty=Outros, não associado à um cliente/fornecedor ProspectStatus=Estado do cliente em potencial -TE_UNKNOWN=- StatusProspect-1=Não contatar StatusProspect1=A contatar StatusProspect2=Contato em Curso diff --git a/htdocs/langs/pt_BR/compta.lang b/htdocs/langs/pt_BR/compta.lang index c50fcd7173d..064c999d7fd 100644 --- a/htdocs/langs/pt_BR/compta.lang +++ b/htdocs/langs/pt_BR/compta.lang @@ -34,7 +34,6 @@ LT1CustomerES=RE vendas LT1SupplierES=RE compras VATCollected=ICMS Recuperado ToGet=Para restituir -SpecialExpensesArea=Área para todos os pagamentos especiais MenuSpecialExpenses=Despesas especiais PaymentCustomerInvoice=Pagamento de fatura do cliente PaymentSupplierInvoice=Pagamento de fatura do fornecedor @@ -125,7 +124,6 @@ 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 @@ -133,10 +131,6 @@ CalculationRuleDesc=Para calcular o total do VAT, hÔ dois métodos:
    Métod 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). AccountancyJournal=Codigo do jornal fiscal -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 ACCOUNTING_VAT_ACCOUNT=Codigo contavel padrao para credito VAT ACCOUNTING_VAT_BUY_ACCOUNT=Codigo contavel padrao para pagamento do VAT ACCOUNTING_ACCOUNT_CUSTOMER=Codigo contavel padrao para clientes diff --git a/htdocs/langs/pt_BR/contracts.lang b/htdocs/langs/pt_BR/contracts.lang index 33c7bf3054f..e345252161d 100644 --- a/htdocs/langs/pt_BR/contracts.lang +++ b/htdocs/langs/pt_BR/contracts.lang @@ -1,12 +1,10 @@ # 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 -ContractStatusClosed=Encerrado ServiceStatusInitial=Inativo ServiceStatusRunning=Em Serviço ServiceStatusNotLate=Rodando, nao vencido @@ -40,6 +38,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 @@ -74,6 +73,7 @@ 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. 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 36a14dfc527..8dafd18f8ba 100644 --- a/htdocs/langs/pt_BR/cron.lang +++ b/htdocs/langs/pt_BR/cron.lang @@ -9,9 +9,10 @@ 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 crontab para executar linha de comando a cada minuto -CronExplainHowToRunWin=No ambiente Microsoft (tm) Windows você pode usar ferramentas tarefa agendada para executar a linha de comando cada minuto +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 CronJobs=Trabalhos programados +CronListActive=Lista de tarefas ativas / Programadas CronListInactive=Lista de trabalhos nao ativos CronDateLastRun=Ultimo acionamento CronLastOutput=Saida do ultimo acionamento diff --git a/htdocs/langs/pt_BR/donations.lang b/htdocs/langs/pt_BR/donations.lang index 60c851b3eaf..2d8c7d33d13 100644 --- a/htdocs/langs/pt_BR/donations.lang +++ b/htdocs/langs/pt_BR/donations.lang @@ -7,7 +7,6 @@ Donors=Dadores ShowDonation=Mostrar doaçaõ DonationsPaid=Doações pagas DonationStatusPaid=Doaçaõ recebida -DonationStatusPaidShort=Recebido DonationReceipt=Recibo doaçaõ LastModifiedDonations=As ultimas %s doações modificadaas SearchADonation=Buscar doaçaõ 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 6bdc570f7f9..fc051f05a77 100644 --- a/htdocs/langs/pt_BR/errors.lang +++ b/htdocs/langs/pt_BR/errors.lang @@ -18,7 +18,6 @@ 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=A sintaxe do código de barras esta incorreta ErrorBarCodeRequired=Código de barras necessÔrio ErrorBarCodeAlreadyUsed=Código de barras jÔ utilizado ErrorUrlNotValid=O Endereço do Site estÔ incorreta @@ -63,9 +62,8 @@ ErrorRefAlreadyExists=a referencia utilizada para a criação jÔ existe 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. -ErrorContactEMail=Um erro técnico ocorrido. Por favor, contate o administrador para seguinte e-mail% s en fornecer o código de erro% s em sua mensagem, ou ainda melhor, adicionando uma cópia de tela da pÔgina. +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) 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) ErrorSpecialCharNotAllowedForField=Os caracteres especiais não são permitidos para o campo "% s" @@ -75,6 +73,8 @@ ErrorQtyTooLowForThisSupplier=Quantidade insuficiente para este fornecedor ErrorModuleSetupNotComplete=Configuração do módulo parece ser incompleto. VÔ em Setup - Módulos para ser concluído. 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 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 @@ -95,6 +95,7 @@ ErrorLoginDoesNotExists=a conta de usuÔrio de %s não foi encontrado. 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 ErrUnzipFails=Falha ao descompactar com ZipArchive ErrNoZipEngine=Não esta instaladoo programa para descompactar o arquivo% s neste PHP @@ -116,6 +117,18 @@ 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' +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 +ErrorPriceExpression14=Divisão por zero +ErrorPriceExpression19=Expressão não encontrada +ErrorPriceExpression20=Expressão vazia +ErrorSrcAndTargetWarehouseMustDiffers=Origem e de destino de armazéns devem ser diferentes +ErrorTryToMakeMoveOnProductRequiringBatchData=Erro, tentando fazer um movimento de estoque, sem lote / informação de série, em um produto que requer lote / informação de série. 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 7586477f9e5..5286aa27371 100644 --- a/htdocs/langs/pt_BR/holiday.lang +++ b/htdocs/langs/pt_BR/holiday.lang @@ -1,57 +1,23 @@ # Dolibarr language file - Source file is en_US - holiday -HRM=HRM -Holidays=Leaves -CPTitreMenu=Leaves MenuReportMonth=Relatorio mensal -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 DateDebCP=Data inicio DateFinCP=Data fim DateCreateCP=Data criacão ToReviewCP=Aguardando aprovação RefuseCP=Negado ValidatorCP=Aprovador -ListeCP=List of leaves ReviewedByCP=Sera revisado por -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=Você deve selecionar uma data final posterior à data inicial. ErrorSQLCreateCP=Ocorreu um erro no SQL durante a criação: -ErrorIDFicheCP=An error has occurred, the leave request does not exist. ReturnCP=Retorne à pÔgina anterior -ErrorUserViewCP=You are not authorized to read this leave request. -InfosCP=Information of the leave request InfosWorkflowCP=Fluxo de Trabalho de Informação RequestByCP=Requisitado por -TitreRequestCP=Leave request -NbUseDaysCP=Number of days of vacation consumed DeleteCP=Eliminar ActionValidCP=Confirmar ActionRefuseCP=Não autorizar -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=Você deve selecionar uma data inicial. NoDateFin=Você deve selecionar uma data final. -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? -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=Você deve selecionar uma razão para não autorizar a requisição. -TitleCancelCP=Cancel the leave request -ConfirmCancelCP=Are you sure you want to cancel the leave request? DetailRefusCP=Motivo da recusa DateRefusCP=Data da recusa DateCancelCP=Data do cancelamento @@ -61,23 +27,15 @@ 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=View logs of leave requests -LogCP=Log of updates of available vacation days ActionByCP=Interpretada por PrevSoldeCP=Balanço anterior NewSoldeCP=Novo Balanco -alreadyCPexist=A leave request has already been done on this period. UserName=Apelidos -FirstDayOfHoliday=First day of vacation -LastDayOfHoliday=Last day of vacation HolidaysMonthlyUpdate=A atualização mensal ManualUpdate=Atualização manual -ConfCP=Configuration of leave request module DescOptionCP=Descrição da opção ValueOptionCP=Valor -GroupToValidateCP=Group with the ability to approve leave requests ConfirmConfigCP=Validar a configuração -LastUpdateCP=Last automatic update of leaves allocation UpdateConfCPOK=Atualizado com sucesso. ErrorUpdateConfCP=Ocorreu um erro durante a atualização, por favor, tente novamente. ValidEventCP=Confirmar diff --git a/htdocs/langs/pt_BR/install.lang b/htdocs/langs/pt_BR/install.lang index 0f356aad94d..2e2532dea8c 100644 --- a/htdocs/langs/pt_BR/install.lang +++ b/htdocs/langs/pt_BR/install.lang @@ -26,7 +26,6 @@ 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. -YouCanContinue=Pode continuar... License=A usar licença ConfigurationFile=Arquivo de configuração WebPagesDirectory=Directoria onde armazenar as pÔginas web @@ -34,13 +33,11 @@ DocumentsDirectory=Directoria onde armazenar documentos enviados e/ou gerados 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 -Server=Servidor DatabasePrefix=Prefixo tabela banco de dados AdminLogin=Login para o administrador da base de dados Dolibarr. Deixar em branco se a conexĆ£o Ć© feita com anĆ“nimo 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 Experimental=(experimental, nĆ£o operacional) KeepEmptyIfNoPassword=Deixar em branco se o usuĆ”rio nĆ£o tiver password @@ -63,19 +60,16 @@ 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 DirectoryRecommendation=Ɖ recomendado que vocĆŖ ponha esta directry das pĆ”ginas da web diretório. -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 DatabaseMigration=Estrutura migração de dados FreshInstall=Fresh instalar -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. InstallNotAllowed=Instalação nĆ£o permitidas pela conf.php permissƵes 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. 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 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. @@ -92,7 +86,6 @@ 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) diff --git a/htdocs/langs/pt_BR/interventions.lang b/htdocs/langs/pt_BR/interventions.lang index bfd7757fb23..33d186a1c04 100644 --- a/htdocs/langs/pt_BR/interventions.lang +++ b/htdocs/langs/pt_BR/interventions.lang @@ -1,4 +1,5 @@ # Dolibarr language file - Source file is en_US - interventions +AddIntervention=Criar Intervenção ActionsOnFicheInter=AƧoes na intervenƧao CustomerDoesNotHavePrefix=O cliente nĆ£o tem prefixoo de definido InterventionContact=Contato Intervenção @@ -7,9 +8,19 @@ 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? +InterventionClassifyBilled=Classificar "Faturado" +InterventionClassifyUnBilled=Classificar "Ć  faturar" StatusInterInvoiced=Faturado RelatedInterventions=IntervenƧoes relativas ShowIntervention=Mostrar intervenƧao +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 +InterventionDeletedInDolibarr=Intervenção %s excluĆ­da +SearchAnIntervention=Pesquisar uma intervenção TypeContact_fichinter_internal_INTERREPFOLL=ResponsĆ”vel do Seguimento da Intervenção 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 diff --git a/htdocs/langs/pt_BR/languages.lang b/htdocs/langs/pt_BR/languages.lang index b6de66e3bb3..c724d9a49d9 100644 --- a/htdocs/langs/pt_BR/languages.lang +++ b/htdocs/langs/pt_BR/languages.lang @@ -15,8 +15,6 @@ Language_en_IN=Ingles (India) Language_en_NZ=Ingles (Nova Zelandia) Language_en_SA=Ingles (Arabia Saudita) Language_en_US=Ingles (Estados Unidos) -Language_es_DO=Espanhol (RepĆŗblica Dominicana) -Language_es_CL=Espanhol (Chile) Language_es_MX=Espanhol (Mexico) Language_et_EE=Estone Language_fa_IR=Persio @@ -27,7 +25,6 @@ Language_fr_CH=FranƧes (SuiƧa) Language_fr_FR=FranƧes Language_he_IL=Ebreo Language_hu_HU=Ungeres -Language_id_ID=IndonĆ©sio Language_is_IS=Islandes Language_ja_JP=Japones Language_nb_NO=Norveges (Bokmal) @@ -36,6 +33,5 @@ Language_pl_PL=Polones Language_pt_BR=Portugues (Brasil) Language_pt_PT=Portugues Language_ru_UA=Russo (Ukrania) -Language_th_TH=Thai Language_zh_CN=Chines Language_zh_TW=Chines (Tradicional) diff --git a/htdocs/langs/pt_BR/link.lang b/htdocs/langs/pt_BR/link.lang index c7f0b5b148e..fc6685ef08d 100644 --- a/htdocs/langs/pt_BR/link.lang +++ b/htdocs/langs/pt_BR/link.lang @@ -1,9 +1,8 @@ # Dolibarr language file - Source file is en_US - link -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=Vincular um novo arquivo/documento +LinkedFiles=Arquivos vinculados e documentos +NoLinkFound=NĆ£o hĆ” links registrados +LinkComplete=O arquivo foi associada com sucesso +ErrorFileNotLinked=O arquivo nĆ£o pĆ“de ser vinculado +ErrorFailedToDeleteLink=Falha ao remover link '%s' +ErrorFailedToUpdateLink=Falha ao atualizar link '%s' diff --git a/htdocs/langs/pt_BR/mails.lang b/htdocs/langs/pt_BR/mails.lang index 71482c658bd..5dddd399559 100644 --- a/htdocs/langs/pt_BR/mails.lang +++ b/htdocs/langs/pt_BR/mails.lang @@ -12,8 +12,6 @@ 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. -ConfirmResetMailing=Confirma a limpeza 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 diff --git a/htdocs/langs/pt_BR/main.lang b/htdocs/langs/pt_BR/main.lang index be5e7c3b146..e7008da51cd 100644 --- a/htdocs/langs/pt_BR/main.lang +++ b/htdocs/langs/pt_BR/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 @@ -18,7 +19,6 @@ 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 NoRecordFound=Registro nao encontrado NoError=Sem erro ErrorFieldFormat=O campo '%s' tem um valor incorreto @@ -41,8 +41,6 @@ ErrorFailedToSaveFile=Erro, o registo do arquivo falhou. SelectDate=Selecionar uma data SeeAlso=Ver tambem %s 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) @@ -69,10 +67,8 @@ PageWiki=Pagina wiki PeriodEndDate=Data final periodo Activate=Ativar Activated=Ativado -Closed=Encerrado Closed2=Encerrado Enabled=Ativado -Deprecated=Obsoleto Disable=Desativar Disabled=Desativado AddActionToDo=Adicionar ação a realizar @@ -81,18 +77,14 @@ TestConnection=Teste a login ConfirmClone=Selecciones dados que deseja Cópiar. Go=Ir Run=Attivo -SearchOf=Procurar Upload=Enviar Arquivo -Select=Selecionar Resize=Modificar tamanho Recenter=Recolocar no centro User=UsuĆ”rio Users=UsuĆ”rio -Password=Senha PasswordRetype=Repetir Senha NoteSomeFeaturesAreDisabled=Antenção, só poucos módulos/funcionalidade foram ativados nesta demo CurrentValue=Valor atual -CurrentNote=Nota atual DefaultModel=Modelo PadrĆ£o Action=Ação NumberByMonth=Numero por mes @@ -113,7 +105,6 @@ days=Dias Morning=Manha Quadri=Trimistre UseLocalTax=Incluindo taxa -Tb=Tb Copy=Cópiar Default=Padrao DefaultValue=Valor por default @@ -143,16 +134,13 @@ TotalTTC=Total TotalVAT=Total do ICMS TotalLT1=Total taxa 2 TotalLT2=Total taxa 3 -TotalLT1ES=Total RE IncludedVAT=ICMS incluido HT=Sem ICMS TTC=ICMS Incluido VAT=ICMS VATRate=Taxa ICMS -FullList=Lista Completa OtherStatistics=Outras estatisticas Favorite=Favorito -ShortInfo=Info. RefSupplier=Ref. Fornecedor RefPayment=Ref. Pagamento Comment=Comentario @@ -173,35 +161,22 @@ RequestAlreadyDone=Pedido ja registrado GeneratedOn=Gerado a %s Available=Disponivel NotYetAvailable=Ainda nĆ£o disponĆ­vel -NotAvailable=NĆ£o disponĆ­vel to=para -Drafts=Drafts ByUsers=Por usuĆ”rio -Preview=Preview -Login=Login CurrentLogin=Login atual -JanuaryMin=Jan FebruaryMin=Fev AprilMin=Abr MayMin=Mai -JuneMin=Jun -JulyMin=Jul AugustMin=Ago SeptemberMin=Set OctoberMin=Out -NovemberMin=Nov DecemberMin=Dez -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 @@ -249,7 +224,6 @@ 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. @@ -268,7 +242,6 @@ IM=Mensagems instantaneas 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 ObjectDeleted=Objeto %s apagado diff --git a/htdocs/langs/pt_BR/margins.lang b/htdocs/langs/pt_BR/margins.lang index aad28107830..32dee0c3306 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 StartDate=Data inicio EndDate=Data fim diff --git a/htdocs/langs/pt_BR/members.lang b/htdocs/langs/pt_BR/members.lang index 49fd906d30b..6b81e85596e 100644 --- a/htdocs/langs/pt_BR/members.lang +++ b/htdocs/langs/pt_BR/members.lang @@ -54,7 +54,6 @@ AddMember=Criar membro NoTypeDefinedGoToSetup=nenhum tipo de membro definido. ir a configuração -> Tipos de Membros EditType=edição do tipo de membro Physical=FĆ­sico -Moral=Moral MorPhy=Moral/FĆ­sico Reenable=Reativar ResiliateMember=Baixar um membro diff --git a/htdocs/langs/pt_BR/orders.lang b/htdocs/langs/pt_BR/orders.lang index ccf3c96b8bc..677d7eefba3 100644 --- a/htdocs/langs/pt_BR/orders.lang +++ b/htdocs/langs/pt_BR/orders.lang @@ -1,5 +1,4 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Ɓrea de Pedidos de Clientes OrderId=ID Pedido OrderLine=Linha de Comando OrderToProcess=Pedido a se processar @@ -58,7 +57,6 @@ PDFEinsteinDescription=Modelo de pedido completo (logo...) PDFEdisonDescription=O modelo simplificado do pedido PDFProformaDescription=A proforma fatura completa (logomarca...) OrderByEMail=E-mail -OrderByWWW=Online 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 dbbed148c06..010797bc380 100644 --- a/htdocs/langs/pt_BR/other.lang +++ b/htdocs/langs/pt_BR/other.lang @@ -83,9 +83,6 @@ FeatureExperimental=Funcionalidade experimental. nĆ£o Ć© estĆ”vel nesta versĆ£o FeatureDevelopment=Funcionalidade em Desenvolvimento. nĆ£o estĆ”vel nesta versĆ£o Left=Esquerda Right=Direita -LengthUnitcm=cm -LengthUnitmm=mm -Surface=Area VolumeUnitgallon=gallĆ£o SizeUnitfoot=pe BugTracker=IncidĆŖncias @@ -116,7 +113,6 @@ 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 diff --git a/htdocs/langs/pt_BR/printing.lang b/htdocs/langs/pt_BR/printing.lang new file mode 100644 index 00000000000..7df33364e64 --- /dev/null +++ b/htdocs/langs/pt_BR/printing.lang @@ -0,0 +1,59 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=ImpressĆ£o Direta +Module112000Desc=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 +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_UNKNOWN=Desconhecido +STATE_DORMANT=Off-line por um bom tempo +TYPE_HP=HP Impressora +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 +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_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_Name=\nNome da impressora +IPP_State=Estado da impressora +IPP_State_reason=Estado razĆ£o +IPP_State_reason1=Estado razĆ£o1 +IPP_Color=Cor +IPP_Device=Dispositivo +IPP_Media=MĆ­dia da impressora +IPP_Supported=Tipo de mĆ­dia +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/printipp.lang b/htdocs/langs/pt_BR/printipp.lang new file mode 100644 index 00000000000..bfa731b0a36 --- /dev/null +++ b/htdocs/langs/pt_BR/printipp.lang @@ -0,0 +1,10 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Configuração do módulo de ImpressĆ£o Direta +PrintIPPDesc=Este módulo adiciona um botĆ£o de "Imprimir" para enviar documentos diretamente para impressora. Requer um sistema Linux com o CUPS instalado. +PRINTIPP_ENABLED=Mostrar Ć­cone de "ImpressĆ£o Direta" nas listas de documentos +PRINTIPP_PASSWORD=Senha +NoPrinterFound=Nenhuma impressora encontrada (verifique a configuração do CUPS) +FileWasSentToPrinter=Arquivo %s enviado para impressora +NoDefaultPrinterDefined=Nenhuma impressora padrĆ£o definida +DefaultPrinter=Impressora padrĆ£o +CupsServer=Servidor CUPS diff --git a/htdocs/langs/pt_BR/productbatch.lang b/htdocs/langs/pt_BR/productbatch.lang new file mode 100644 index 00000000000..add07363813 --- /dev/null +++ b/htdocs/langs/pt_BR/productbatch.lang @@ -0,0 +1,3 @@ +# Dolibarr language file - Source file is en_US - productbatch +ProductStatusOnBatchShort=Sim +ProductStatusNotOnBatchShort=NĆ£o diff --git a/htdocs/langs/pt_BR/products.lang b/htdocs/langs/pt_BR/products.lang index a44226c4a38..2fa64f205ad 100644 --- a/htdocs/langs/pt_BR/products.lang +++ b/htdocs/langs/pt_BR/products.lang @@ -7,8 +7,12 @@ 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) -ProductsOnSellAndOnBuy=Produtos nĆ£o para venda ou compra -ServicesOnSellAndOnBuy=ServiƧos nĆ£o para venda ou compra +ProductsAndServicesOnSell=Produtos e ServiƧos para venda ou para compra +ProductsOnSell=Produto para venda ou para compra +ProductsNotOnSell=Produto fora de venda e de compra +ProductsOnSellAndOnBuy=Produtos para venda e compra +ServicesOnSell=ServiƧos para venda ou para compra +ServicesOnSellAndOnBuy=ServiƧos para venda e compra LastRecorded=Ćŗltimos Produtos/ServiƧos em Venda Registados LastRecordedProductsAndServices=Os %s Ćŗltimos Produtos/PerviƧos Registados LastModifiedProductsAndServices=Os %s Ćŗltimos Produtos/ServiƧos Registados @@ -32,6 +36,7 @@ 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) CantBeLessThanMinPrice=O preƧo de venda nĆ£o deve ser inferior ao mĆ­nimo para este produto (%s ICMS) +ContractStatusClosed=Encerrado ContractStatusToRun=Para comenƧar ErrorProductBadRefOrLabel=O valor da referencia ou etiqueta Ć© incorreto ErrorProductClone=Aconteceu um problema durante a clonação do produto ou serviƧo. @@ -55,6 +60,7 @@ ProductAssociationList=Lista de produtos/serviƧos associados : Nome do produto/ ProductParentList=Lista de pacote produtos/serviƧos com este produto como componente ErrorAssociationIsFatherOfThis=Um dos produtos selecionados Ć© pai do produto em curso ConfirmDeleteProduct=? Tem certeza que quer eliminar este produto/serviƧo? +ConfirmDeletePicture=? Tem certeza que quer eliminar esta foto? ConfirmDeleteProductLine=Tem certeza que quer eliminar esta linha de produto? NoStockForThisProduct=NĆ£o existe estoque deste produto NoStock=Sem estoque @@ -88,7 +94,6 @@ SuppliersPricesOfProductsOrServices=PreƧos (de produtos ou serviƧos) Fornecedo CustomCode=Codigo NCM CountryOrigin=Pais de origem HiddenIntoCombo=Escondido nas listas de seleƧƵes -Nature=Tipo de produto ProductCodeModel=Modelo de ref. de produto ServiceCodeModel=Modelo de ref. de serviƧo AddThisProductCard=Criar ficha produto @@ -97,6 +102,7 @@ AddThisServiceCard=Criar ficha serviƧo HelpAddThisServiceCard=Esta opção permite de criar ou clonar um serviƧo caso o mesmo nĆ£o existe. 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 HelpUpdateOriginalProductLabel=Permite editar o nome do produto @@ -129,10 +135,17 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definição do código ou valor do c BarCodeDataForProduct=InformaƧƵes de código de barras do produto% s: BarCodeDataForThirdparty=InformaƧƵes de código de barras do fornecedor: ResetBarcodeForAllRecords=Definir o valor de código de barras para todos os registros (isto tambĆ©m irĆ” repor valor de código de barras jĆ” definido com novos valores) +PriceByCustomer=PreƧo diferente para cada cliente PriceCatalogue=PreƧo Ćŗnico por produto / serviƧo -PricingRule=As regras de tarifação +PricingRule=Regras para os preƧos dos clientes AddCustomerPrice=Adicione preƧo por parte dos clientes 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 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=VocĆŖ pode acessar ExtraFields com variĆ”veis como\n#options_myextrafieldkey# +PriceMode=Modo de PreƧo +PriceNumeric=NĆŗmero diff --git a/htdocs/langs/pt_BR/projects.lang b/htdocs/langs/pt_BR/projects.lang index 9c4a65dbfba..e16645e7107 100644 --- a/htdocs/langs/pt_BR/projects.lang +++ b/htdocs/langs/pt_BR/projects.lang @@ -8,13 +8,15 @@ ProjectsDesc=Exibi todos os projetos (sua permissĆ£o de usuĆ”rio lhe permite ver MyTasksDesc=Esta exibição Ć© limitado a projetos ou tarefas que vocĆŖ Ć© um contato (seja qual for o tipo). 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). -Myprojects=Os Meus Projetos AddProject=Criar projeto +DeleteAProject=Eliminar um Projeto +DeleteATask=Eliminar uma Tarefa 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 ShowProject=Adicionar Projeto +NoProject=Nenhum Projeto Definido NbOpenTasks=No Tarefas Abertas NbOfProjects=No de Projetos TimeSpent=Tempo Dedicado @@ -25,18 +27,14 @@ TaskTimeUser=UsuĆ”rio NewTimeSpent=Novo Tempo Dedicado MyTimeSpent=O Meu Tempo Dedicado MyTasks=As minhas Tarefas -TaskDateStart=Data de inĆ­cio da tarefa TaskDateEnd=Data final da tarefa AddTask=Criar tarefa AddDuration=Indicar Duração -MyActivity=A Minha Atividade MyActivities=Minhas Tarefas/Atividades -MyProjects=Os Meus Projetos ProgressDeclared=o progresso declarado ProgressCalculated=calculado do progresso ListOrdersAssociatedProject=Lista de Pedidos Associados ao Projeto ListSupplierInvoicesAssociatedProject=Lista de Faturas de Fornecedor Associados ao Projeto -ListTripAssociatedProject=Lista de viagens e despesas associadas com o projeto ActivityOnProjectThisWeek=Atividade ao Projeto esta Semana ActivityOnProjectThisMonth=Atividade ao Projeto este MĆŖs ActivityOnProjectThisYear=Atividade ao Projeto este Ano @@ -67,25 +65,19 @@ CloneNotes=Copiar notas CloneProjectFiles=Copiar arquivos do projetos CloneTaskFiles=Copia(s) do(s) arquivo(s) do projeto(s) finalizado 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 TaskCreatedInDolibarr=Tarefa %s criada TaskModifiedInDolibarr=Tarefa %s alterada TaskDeletedInDolibarr=Tarefa %s excluĆ­da 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 DocumentModelBaleine=Modelo de relatório de um projeto completo (logo. ..) -PlannedWorkload =carga horĆ”ria planejada -WorkloadOccupation=Carga horĆ”ria empregada +PlannedWorkload=carga horĆ”ria planejada ProjectReferers=Fazendo referĆŖncia a objetos SearchAProject=Buscar um projeto ProjectMustBeValidatedFirst=O projeto tem que primeiramente ser validado diff --git a/htdocs/langs/pt_BR/resource.lang b/htdocs/langs/pt_BR/resource.lang index ac5195cbe84..c3d6ec512c5 100644 --- a/htdocs/langs/pt_BR/resource.lang +++ b/htdocs/langs/pt_BR/resource.lang @@ -1,18 +1,10 @@ # Dolibarr language file - Source file is en_US - resource -MenuResourceIndex=Recursos -MenuResourceAdd=Novo recurso MenuResourcePlanning=Planejamento de recurso DeleteResource=Remover recurso ConfirmDeleteResourceElement=Confirmar remoção do recurso para este elemento -NoResourceInDatabase=Nenhum recurso na base de dados NoResourceLinked=Nenhum recurso vinculado -ResourcePageIndex=Lista de recursos -ResourceSingular=Recurso ResourceCard=Cartao recursos AddResource=Criar recurso -ResourceFormLabel_ref=Nome do recurso -ResourceType=Tipo de recurso -ResourceFormLabel_description=Descrição do recurso ResourcesLinkedToElement=Recursos vinculados ao elemento ShowResourcePlanning=Mostrar planejamento do recurso GotoDate=Ir para data @@ -23,5 +15,4 @@ TitleResourceCard=Cartao recurso ConfirmDeleteResource=Confirme para remover este recurso RessourceSuccessfullyDeleted=Recurso removido com sucesso DictionaryResourceType=Tipo de recurso -DictionaryEMailTemplates=Modelos de Emails SelectResource=Selecionar recurso diff --git a/htdocs/langs/pt_BR/salaries.lang b/htdocs/langs/pt_BR/salaries.lang index ae54678cc61..04f737983b5 100644 --- a/htdocs/langs/pt_BR/salaries.lang +++ b/htdocs/langs/pt_BR/salaries.lang @@ -1,4 +1,8 @@ # Dolibarr language file - Source file is en_US - salaries +SALARIES_ACCOUNTING_ACCOUNT_PAYMENT=Codigo contabilidade para pagamentos de salarios +SALARIES_ACCOUNTING_ACCOUNT_CHARGE=Codigo contabilidade para despesas financeiras NewSalaryPayment=Novo pagamento de salĆ”rio SalaryPayment=Pagamento de salĆ”rio SalariesPayments=Pagamentos de salĆ”rios +THM=PreƧo medio por hora +TJM=PreƧo medio por diaria diff --git a/htdocs/langs/pt_BR/sendings.lang b/htdocs/langs/pt_BR/sendings.lang index a17cd46bf39..a1e3c7bb152 100644 --- a/htdocs/langs/pt_BR/sendings.lang +++ b/htdocs/langs/pt_BR/sendings.lang @@ -3,7 +3,6 @@ RefSending=Ref. Envio SendingsArea=Ɓrea Envios LastSendings=Os %s Ćŗltimos Envios QtyReceived=Quant. Recibida -KeepToShip=Fica por Enviar StatusSendingValidated=Validado (produtos a enviar o enviados) Carriers=Transportadoras Carrier=Transportadora @@ -22,11 +21,8 @@ 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=Envios relativos ShipmentLine=Linha de envio CarrierList=Lista de transportadoras -SendingRunning=Produto da ordem do cliente ja enviado -SuppliersReceiptRunning=Produto do pedido do fornecedor ja recebido SendingMethodCATCH=Remoção pelo cliente SendingMethodTRANS=Transportadora SendingMethodCOLSUI=Acompanhamento diff --git a/htdocs/langs/pt_BR/stocks.lang b/htdocs/langs/pt_BR/stocks.lang index 62b718a2a79..b75f00caf22 100644 --- a/htdocs/langs/pt_BR/stocks.lang +++ b/htdocs/langs/pt_BR/stocks.lang @@ -42,6 +42,7 @@ ReStockOnValidateOrder=Incrementar os estoques fĆ­sicos sobre os pedidos ReStockOnDispatchOrder=Aumentar os estoques reais no envio manual para armazenamento, depois de receber ordem fornecedor 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. StockLimitShort=Limite para alerta StockLimit=Limite de estoque para alerta @@ -86,7 +87,6 @@ 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. -ReplenishmentOrdersDesc=Esta lista de todos os pedidos de fornecedores esta aberto Replenishments=ReconstituiƧƵes NbOfProductBeforePeriod=Quantidade de produtos em estoque antes do perĆ­odo selecionado NbOfProductAfterPeriod=Quantidade de produtos em estoque perĆ­odo selecionado depois @@ -94,9 +94,11 @@ 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=Recebimentos 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 +MovementLabel=Rótulo de Movimento +ShowWarehouse=Mostrar armazĆ©m +MovementCorrectStock=Correção da conteĆŗdo para o produto %s diff --git a/htdocs/langs/pt_BR/trips.lang b/htdocs/langs/pt_BR/trips.lang index 8af39e7001d..2ad8b512535 100644 --- a/htdocs/langs/pt_BR/trips.lang +++ b/htdocs/langs/pt_BR/trips.lang @@ -1,16 +1,4 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Deslocamento -Trips=Deslocamentos -TripsAndExpenses=Deslocamentos e Despesas -TripsAndExpensesStatistics=Estatisticas de viagems e despesas -TripCard=Ficha de Deslocamento -AddTrip=Criar viagem -ListOfTrips=Lista de Deslocamentos -NewTrip=Nova Deslocamento Kilometers=Kilometros FeesKilometersOrAmout=Quantidade de Kilometros -DeleteTrip=Eliminar Deslocamento -ConfirmDeleteTrip=Tem certeza que quer eliminar esta deslocamento? -ExpensesArea=Area de viagems e despesas -SearchATripAndExpense=Buscar para uma viagem ou despesa ClassifyRefunded=Classificar 'Rembolsado' diff --git a/htdocs/langs/pt_BR/users.lang b/htdocs/langs/pt_BR/users.lang index 71a6fdf9790..d5ed0fe9de1 100644 --- a/htdocs/langs/pt_BR/users.lang +++ b/htdocs/langs/pt_BR/users.lang @@ -13,12 +13,9 @@ 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 @@ -42,7 +39,6 @@ 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 @@ -74,7 +70,6 @@ LoginAccountDisableInDolibarr=A conta estĆ” desativada no Dolibarr LoginAccountDisableInLdap=A conta estĆ” desativada ao domĆ­nio 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. @@ -100,5 +95,4 @@ 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..ef40826cfdf 100644 --- a/htdocs/langs/pt_BR/withdrawals.lang +++ b/htdocs/langs/pt_BR/withdrawals.lang @@ -30,6 +30,7 @@ WithdrawalRefused=Retirada recusada WithdrawalRefusedConfirm=Você tem certeza que quer entrar com uma rejeição de retirada para a sociedade RefusedInvoicing=Cobrança da rejeição NoInvoiceRefused=Não carregue a rejeição +InvoiceRefused=Fatura recusada (Verificar a rejeição junto ao cliente) StatusWaiting=Aguardando StatusTrans=Enviado StatusRefused=Negado @@ -51,10 +52,10 @@ BankToReceiveWithdraw=Conta bancÔria para receber saques CreditDate=A crédito 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. 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 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..a815cc3188a 100644 --- a/htdocs/langs/pt_BR/workflow.lang +++ b/htdocs/langs/pt_BR/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - workflow 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. +WorkflowDesc=Este módulo é concebido para modificar o comportamento de ações automÔticas para aplicação. Por padrão, o fluxo de trabalho é aberto (você faz as coisas na ordem que você quiser). Você pode ativar as ações automÔticas que você tem 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 diff --git a/htdocs/langs/pt_PT/admin.lang b/htdocs/langs/pt_PT/admin.lang index 306b940d879..4822d5d1436 100644 --- a/htdocs/langs/pt_PT/admin.lang +++ b/htdocs/langs/pt_PT/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=Desenvolvimento VersionUnknown=Desconhecida VersionRecommanded=Recomendada +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Id. da Sessão SessionSaveHandler=Gestor para guardar as sessões SessionSavePath=Localização para guardar a sessão @@ -45,8 +50,8 @@ ErrorModuleRequireDolibarrVersion=Erro, este módulo requer a versão %s ou supe ErrorDecimalLargerThanAreForbidden=Erro, as casas decimais superiores a %s não são suportadas. DictionarySetup=Configurar DicionÔrio Dictionary=DicionÔrios -Chartofaccounts=Chart of accounts -Fiscalyear=Fiscal years +Chartofaccounts=GrÔfico de contas +Fiscalyear=Anos fiscais ErrorReservedTypeSystemSystemAuto=Value 'system' and 'systemauto' for type is reserved. You can use 'user' as value to add your own record ErrorCodeCantContainZero=O código não pode conter o valor 0 DisableJavascript=Disable JavaScript and Ajax functions (Recommended for blind person or text browsers) @@ -69,7 +74,7 @@ ShowPreview=Ver Vista Prévia PreviewNotAvailable=Visualização não disponível ThemeCurrentlyActive=Tema Actualmente Activo CurrentTimeZone=Zona Horaria Actual -MySQLTimeZone=TimeZone MySql (database) +MySQLTimeZone=Zona HorÔria 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=Área Table=Tabela @@ -79,8 +84,8 @@ Mask=MÔscara NextValue=Próximo Valor NextValueForInvoices=Próximo Valor (Facturas) NextValueForCreditNotes=Próximo Valor (Notas de Entregas) -NextValueForDeposit=Next value (deposit) -NextValueForReplacements=Next value (replacements) +NextValueForDeposit=Valor seguinte (depósito) +NextValueForReplacements=Valor seguinte (restituições) MustBeLowerThanPHPLimit=Observação: Parametros PHP limita o tamanho a %s %s de mÔximo, qualquer que seja o valor deste parametro NoMaxSizeByPHPLimit=Nenhuma limitação interna no servidor PHP MaxSizeForUploadedFiles=Tamanho mÔximo dos documentos a carregar (0 para proibir o carregamento) @@ -108,9 +113,9 @@ OtherOptions=Outras Opções OtherSetup=VÔrias Configurações CurrentValueSeparatorDecimal=Separador decimal CurrentValueSeparatorThousand=Separador dos milhares -Destination=Destination -IdModule=Module ID -IdPermissions=Permissions ID +Destination=Destino +IdModule=Id. do Módulo +IdPermissions=Id. das Autorizações Modules=Módulos ModulesCommon=Módulos standard ModulesOther=Outros módulos @@ -242,7 +247,7 @@ OfficialWiki=Wiki ERP OfficialDemo=Demo em linha ERP/CRM OfficialMarketPlace=Mercado Oficial externo para os módulos / addons OfficialWebHostingService=Referenced web hosting services (Cloud hosting) -ReferencedPreferredPartners=Preferred Partners +ReferencedPreferredPartners=Parceiros Preferidos OtherResources=Autres ressources ForDocumentationSeeWiki=Para a documentação de utilizador, programador ou Perguntas Frequentes (FAQ), consulte o wiki do ERP:
    %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.
    @@ -399,7 +404,7 @@ LinkToTest=Clickable link generated for user %s (click phone nu KeepEmptyToUseDefault=Deixar em branco para usar o valor por omissão DefaultLink=Hiperligação predefinida 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 +ExternalModule=Módulo externo - Instalado na diretoria %s BarcodeInitForThirdparties=Mass barcode init for thirdparties BarcodeInitForProductsOrServices=Mass barcode init or reset for products or services CurrentlyNWithoutBarCode=Atualmente, tem %s registos em %s %s sem código de barras definido. @@ -485,7 +490,7 @@ 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=Special expenses (tax, social contributions, dividends) +Module500Name=Despesas especiais (impostos, contribuições sociais, dividendos) Module500Desc=Management of special expenses like taxes, social contribution, dividends and salaries Module510Name=SalÔrios Module510Desc=Management of employees salaries and payments @@ -493,10 +498,16 @@ Module600Name=Notificações Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Bolsas Module700Desc=Gestão de Bolsas +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=Interface com o sistema de seguimento de incidencias Mantis Module1400Name=Perito de Contabilidade Module1400Desc=Perido de gestão da Contabilidade (dupla posição) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categorías Module1780Desc=Gestão de categorías (produtos, Fornecedores e clientes) Module2000Name=FCKeditor @@ -524,7 +535,7 @@ Module5000Name=Multi-empresa Module5000Desc=Permite-lhe gerir vÔrias empresas Module6000Name=Fluxo de Trabalho Module6000Desc=Gestão do fluxo de trabalho -Module20000Name=Leave Requests management +Module20000Name=Deixar gestão de Pedidos Module20000Desc=Declare and follow employees leaves requests Module39000Name=Product batch Module39000Desc=Batch or serial number, eat-by and sell-by date management on products @@ -575,7 +586,7 @@ Permission67=Exportar Intervenções Permission71=Consultar Membros Permission72=Criar/Modificar Membros Permission74=Eliminar Membros -Permission75=Setup types of membership +Permission75=Configure os tipos de membros Permission76=Exportar Bolsas Permission78=Consultar honorÔrios Permission79=Criar/Modificar honorÔrios @@ -599,7 +610,7 @@ Permission109=Eliminar envios Permission111=Consultar contas financeiras (contas bancarias, caixas) Permission112=Criar/Modificar quantidade/eliminar registos bancarios Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconciliate transactions +Permission114=Reconciliar transações Permission115=Exportar transacções e extractos Permission116=Captar transferencias entre contas Permission117=Gerir envío de cheques @@ -624,14 +635,14 @@ Permission165=Apagar contractos/subscrições Permission171=Read trips and expenses (own and his subordinates) Permission172=Criar/modificar viagens e despesas Permission173=Apagar viagens e despesas -Permission174=Read all trips and expenses +Permission174=Ler todas as viagens e despesas Permission178=Exportar viagens e despesas 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=Enviar pedidos a Fornecedores +Permission185=Order or cancel supplier orders Permission186=Receber pedidos de Fornecedores Permission187=Fechar pedidos a Fornecedores Permission188=Anular pedidos a Fornecedores @@ -653,8 +664,8 @@ Permission222=Criar/Modificar E-Mails (assunto, destinatarios, etc.) Permission223=Confirmar E-Mails (permite o envío) Permission229=Eliminar E-Mails Permission237=Ver destinatÔrios e informação -Permission238=Manually send mailings -Permission239=Delete mailings after validation or sent +Permission238=Envie correio manualmente +Permission239=Apagar o correio depois da validação ou envio Permission241=Consultar categorías Permission242=Criar/Modificar categorías Permission243=Eliminar categorías @@ -700,9 +711,9 @@ Permission402=Criar/Modificar activos Permission403=Confirmar activos Permission404=Eliminar activos Permission510=Read Salaries -Permission512=Create/modify salaries -Permission514=Delete salaries -Permission517=Export salaries +Permission512=Criar/modificar salÔrios +Permission514=Apagar salÔrios +Permission517=Exportar salÔrios Permission531=Ler serviços Permission532=Criar / modificar serviços Permission534=Apagar serviços @@ -711,6 +722,13 @@ Permission538=Exportação de serviços Permission701=Consultar Bolsas Permission702=Criar/Modificar Bolsas Permission703=Eliminar Bolsas +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=Consultar stocks Permission1002=Criar/modificar armazéns Permission1003=Apagar armazéns @@ -774,7 +792,7 @@ DictionaryCountry=Países DictionaryCurrency=Moedas DictionaryCivility=Civility title DictionaryActions=Type of agenda events -DictionarySocialContributions=Social contributions types +DictionarySocialContributions=Tipos de contribuições sociais DictionaryVAT=VAT Rates or Sales Tax Rates DictionaryRevenueStamp=Amount of revenue stamps DictionaryPaymentConditions=Condições de Pagamento @@ -788,9 +806,9 @@ DictionaryStaff=Empregados DictionaryAvailability=Atraso na entrega DictionaryOrderMethods=Métodos de encomenda DictionarySource=Origem das propostas/ordens -DictionaryAccountancyplan=Chart of accounts -DictionaryAccountancysystem=Models for chart of accounts -DictionaryEMailTemplates=Emails templates +DictionaryAccountancyplan=GrÔfico de contas +DictionaryAccountancysystem=Modelos para o grÔfíco de contas +DictionaryEMailTemplates=Modelos de Mensagens SetupSaved=Configuração guardada BackToModuleList=Voltar à lista de módulos BackToDictionaryList=Voltar à lista de dicionÔrios @@ -813,7 +831,7 @@ LocalTax2IsUsed=Utilizar um terceiro imposto LocalTax2IsNotUsed=Não utilizar um terceiro imposto 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 +LocalTax2Management=Terceiro tipo de imposto LocalTax2IsUsedExample= LocalTax2IsNotUsedExample= LocalTax1ManagementES= RE Gestão @@ -826,12 +844,12 @@ LocalTax2IsUsedDescES= A taxa de RE por padrão, quando as perspectivas de cria LocalTax2IsNotUsedDescES= Por padrão, o IRPF proposto é 0. Fim da regra. LocalTax2IsUsedExampleES= Em Espanha, os freelancers e profissionais liberais que prestam serviços e empresas que escolheram o regime fiscal dos módulos. LocalTax2IsNotUsedExampleES= Em Espanha, eles não são negócios sujeitas ao regime fiscal dos módulos. -CalcLocaltax=Reports -CalcLocaltax1ES=Sales - Purchases +CalcLocaltax=Relatórios +CalcLocaltax1ES=Vendas - Compras CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases -CalcLocaltax2ES=Purchases +CalcLocaltax2ES=Compras CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases -CalcLocaltax3ES=Sales +CalcLocaltax3ES=Vendas CalcLocaltax3Desc=Local Taxes reports are the total of localtaxes sales LabelUsedByDefault=Etiqueta que se utilizarÔ se não se encontra tradução para este código LabelOnDocuments=Etiqueta sobre documentos @@ -951,7 +969,7 @@ InfoWebServer=Detalhes do servidor web InfoDatabase=Detalhes da base de dados InfoPHP=Detalhes do PHP InfoPerf=Detalhes de Performance -BrowserName=Browser name +BrowserName=Nome do Navegador BrowserOS=Browser OS ListEvents=Auditoría de eventos ListOfSecurityEvents=Listagem de eventos de segurança ERP/CRM @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Senha para usar o servidor proxy DefineHereComplementaryAttributes=Defina aqui todos os atributos complementares, que não estejam disponiveis por padrão, e que deseja ser suporte para %s. ExtraFields=Atributos complementares ExtraFieldsLines=Atributos complementares (linhas) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Atributos complementares (terceiro) ExtraFieldsContacts=Atributos complementares (contato/morada) ExtraFieldsMember=Atributos complementares (membro) @@ -1035,7 +1055,7 @@ ExtraFieldsSupplierOrders=Atributos complementares (encomendas) ExtraFieldsSupplierInvoices=Atributos complementares (faturas) ExtraFieldsProject=Atributos complementares (projetos) ExtraFieldsProjectTask=Atributos complementares (tarefas) -ExtraFieldHasWrongValue=Attribute %s has a wrong value. +ExtraFieldHasWrongValue=O atributo %s tem um valor errado. AlphaNumOnlyCharsAndNoSpace=apenas caracteres alfanuméricos sem espaços AlphaNumOnlyLowerCharsAndNoSpace=only alphanumericals and lower case characters without space SendingMailSetup=Configuração de envios por correio eletrónico @@ -1047,11 +1067,11 @@ TranslationSetup=Configuração da tradução 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 de módulos de funcionalidades ativos: %s YouMustEnableOneModule=Deve ativar, pelo menos, 1 módulo -ClassNotFoundIntoPathWarning=Class %s not found into PHP path +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): SuhosinSessionEncrypt=Session storage encrypted by Suhosin -ConditionIsCurrently=Condition is currently %s +ConditionIsCurrently=A condição estÔ atualmente %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. @@ -1059,10 +1079,10 @@ SearchOptim=Optimização da pesquisa 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. +XDebugInstalled=XDebug estÔ carregado. +XCacheInstalled=XCache estÔ carregada. 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 +FieldEdition=Edição do campo %s FixTZ=Corrigir Fuso HorÔrio FillThisOnlyIfRequired=Example: +2 (fill only if timezone offset problems are experienced) GetBarCode=Obter código de barras @@ -1089,7 +1109,7 @@ ModuleCompanyCodeDigitaria=Devolve um código contabilistico composto por o cód UseNotifications=Usar Notificações 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. ModelModules=Documentos modelos -DocumentModelOdt=Generate documents from OpenDocuments templates (.ODT or .ODS files for OpenOffice, KOffice, TextEdit,...) +DocumentModelOdt=Crie documentos a partir dos modelos OpenDocuments (ficheiros .ODT ou .ODS para o KOffice, OpenOffice, TextEdit,...) WatermarkOnDraft=Marca d' JSOnPaimentBill=Activate feature to autofill payment lines on payment form CompanyIdProfChecker=Identidade profissional única @@ -1137,7 +1157,7 @@ EnableEditDeleteValidInvoice=Activar a possibilidade de editar/eliminar uma fact SuggestPaymentByRIBOnAccount=Sugerir o pagamento por transfência para a conta SuggestPaymentByChequeToAddress=Sugerir o pagamento por cheque a FreeLegalTextOnInvoices=Texto livre em facturas -WatermarkOnDraftInvoices=Watermark on draft invoices (none if empty) +WatermarkOnDraftInvoices=Marca d'Ôgua nas faturas provisórias (nenhuma se em branco) ##### Proposals ##### PropalSetup=Configuração do módulo Orçamentos CreateForm=Criação formulario @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Uma linha de producto/serviço que tem uma quantidade FreeLegalTextOnProposal=Texto livre em Orçamentos 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=Configuração do módulo pedidos OrdersNumberingModules=Módulos de numeração dos pedidos @@ -1159,7 +1186,7 @@ OrdersModelModule=Modelos de documentos dos pedidos HideTreadedOrders=Hide the treated or cancelled orders in the list 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=Watermark on draft orders (none if empty) +WatermarkOnDraftOrders=Marca d'Ôgua nas encomendas provisórias (nenhuma se em branco) 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 ##### @@ -1174,7 +1201,7 @@ FicheinterNumberingModules=Módulos de numeração das fichas de intervenção TemplatePDFInterventions=Modelo de documentos das fichas de intervenção WatermarkOnDraftInterventionCards=Watermark on intervention card documents (none if empty) ##### Contracts ##### -ContractsSetup=Contracts/Subscriptions module setup +ContractsSetup=Configurar módulo de Contractos/Subscricões ContractsNumberingModules=Contratos de numeração módulos TemplatePDFContracts=Contracts documents models FreeLegalTextOnContracts=Free text on contracts @@ -1255,7 +1282,7 @@ LDAPTCPConnectOK=Ligação TCP ao servidor LDAP efectuada (Servidor LDAPTCPConnectKO=Falha de ligação TCP ao servidor LDAP (Servidor LDAPBindOK=Connect/Authentificate to LDAP server successful (Server=%s, Port=%s, Admin=%s, Password=%s) LDAPBindKO=Fallo de ligação/autenticação ao servidor LDAP (Servidor -LDAPUnbindSuccessfull=Disconnect successful +LDAPUnbindSuccessfull=Desligado com sucesso LDAPUnbindFailed=Saida falhada LDAPConnectToDNSuccessfull=Ligação a DN (%s) realizada LDAPConnectToDNFailed=Conecção ao DN (%s) falhada @@ -1324,19 +1351,19 @@ ForANonAnonymousAccess=Para um acesso autentificado PerfDolibarr=Performance setup/optimizing report YouMayFindPerfAdviceHere=You will find on this page some checks or advices related to performance. NotInstalled=Não instalado, o servidor não estÔ mais lento por isso. -ApplicativeCache=Applicative cache +ApplicativeCache=Cache aplicativa 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 +OPCodeCache=Cache de OPCode 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 para recursos estÔticos (css, img, javascript) FilesOfTypeCached=Ficheiros do tipo %s são guardados na cache do servidor HTTP FilesOfTypeNotCached=Ficheiros do tipo %s não são guardados na cache do servidor HTTP FilesOfTypeCompressed=Ficheiros do tipo %s são comprimidos pelo servidor HTTP FilesOfTypeNotCompressed=Ficheiros do tipo %s não são comprimidos pelo servidor HTTP -CacheByServer=Cache by server -CacheByClient=Cache by browser +CacheByServer=Cache pelo servidor +CacheByClient=Cache pelo navegador CompressionOfResources=Compressão das respostas HTTP TestNotPossibleWithCurrentBrowsers=Such an automatic detection is not possible with current browsers ##### Products ##### @@ -1365,7 +1392,7 @@ SyslogSimpleFile=Ficheiro SyslogFilename=Nome e caminho do Ficheiro 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=Windows only supports LOG_USER +OnlyWindowsLOG_USER=O Windows suporta apenas LOG_USER ##### Donations ##### DonationsSetup=Configuração do módulo Bolsas DonationsReceiptModel=Modelo de recibo de doação @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Ferramenta de geração de código de barras em linha de pedido (utilizado por o motor phpbar para determinados tipos de códigos barra) +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 ##### Prelevements ##### @@ -1399,7 +1426,7 @@ MailingEMailFrom=E-Mail emissor (From) dos correios enviados por E-Mailing MailingEMailError=Retorno EMail (Erros a) para e-mails com erros MailingDelay=Seconds to wait after sending next message ##### Notification ##### -NotificationSetup=EMail notification module setup +NotificationSetup=Configurar módulo da notificação de mensagem 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=Fixed email target @@ -1482,8 +1509,8 @@ Sell=Vender InvoiceDateUsed=Data da factura usada YourCompanyDoesNotUseVAT=Sua empresa não tem configuração definida para usar o IVA (Home - Setup - Empresa / Fundação), pelo que não hÔ opções de configuração do IVA. AccountancyCode=Código de Contabilidade -AccountancyCodeSell=Sale account. code -AccountancyCodeBuy=Purchase account. code +AccountancyCodeSell=Código da conta de Vendas +AccountancyCodeBuy=Código da conta de Compras ##### Agenda ##### AgendaSetup=Módulo configuração de acções e agenda PasswordTogetVCalExport=Chave de autorização para exportação do link vcal. @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Conta de efectivo que se utilizarÔ para as vendas CashDeskBankAccountForCheque= Conta a ser usada para receber pagamentos através de cheques CashDeskBankAccountForCB= Conta a ser usada para receber pagamentos em dinheiro ou por cartões de crédito -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 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 Modulo de Favoritos @@ -1546,26 +1574,30 @@ TaskModelModule=Tasks reports document model ECMSetup = Configuração GED ECMAutoTree = Automatic tree folder and document ##### Fiscal Year ##### -FiscalYears=Fiscal years -FiscalYear=Fiscal year +FiscalYears=Anos Fiscais +FiscalYear=Ano Fiscal 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 +NewFiscalYear=Novo ano fiscal +EditFiscalYear=Editar ano fiscal +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 +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) -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=Número mÔximo de carateres maiúsculos +NbNumMin=Número mínimod de carateres numéricos +NbSpeMin=Número mínimo de carateres especiais +NbIteConsecutive=Número mÔximo para repetir os mesmos carateres NoAmbiCaracAutoGeneration=Do not use ambiguous characters ("1","l","i","|","0","O") for automatic generation -SalariesSetup=Setup of module salaries -SortOrder=Sort order -Format=Format +SalariesSetup=Configuração do módulo de salÔrios +SortOrder=Ordenação +Format=Formato 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. diff --git a/htdocs/langs/pt_PT/banks.lang b/htdocs/langs/pt_PT/banks.lang index 18e2a01c67f..aefc7e59618 100644 --- a/htdocs/langs/pt_PT/banks.lang +++ b/htdocs/langs/pt_PT/banks.lang @@ -33,7 +33,11 @@ AllTime=Do início Reconciliation=Conciliação RIB=Conta bancÔria IBAN=Identificador IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Identificador BIC/SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Débitos Directos StandingOrder=Domiciliação Withdrawals=Reembolsos @@ -148,7 +152,7 @@ BackToAccount=Voltar à Conta ShowAllAccounts=Mostrar para todas as Contas FutureTransaction=Transacção futura. Não hÔ forma de conciliar. SelectChequeTransactionAndGenerate=Selecione o que pretende incluir no recibo de depósito e clique em "Criar". -InputReceiptNumber=Escolha o extrato bancÔrio relacionadas com a conciliação. Use um valor numérico ordenÔvel (como, YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Eventualmente, especifique uma categoria que deseja classificar os movimentos ToConciliate=Para conciliar? ThenCheckLinesAndConciliate=Em seguida, verifique as linhas presentes no extrato bancÔrio e clique diff --git a/htdocs/langs/pt_PT/bills.lang b/htdocs/langs/pt_PT/bills.lang index be47a167a5e..4c18ada3752 100644 --- a/htdocs/langs/pt_PT/bills.lang +++ b/htdocs/langs/pt_PT/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Factura Bills=Facturas -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Facturas de Clientes +BillsCustomer=Fatura do Cliente +BillsSuppliers=Facturas de Fornecedores +BillsCustomersUnpaid=Facturas de Clientes a Receber BillsCustomersUnpaidForCompany=Facturas a Clientes Pendentes de Cobrança de %s BillsSuppliersUnpaid=Facturas de Fornecedores Pendentes de Pagamento BillsSuppliersUnpaidForCompany=Facturas de fornecedores não remunerado para a %s BillsLate=Os pagamentos em atraso -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Suppliers invoices statistics +BillsStatistics=Estatísticas das faturas de clientes +BillsStatisticsSuppliers=Estatísticas das faturas de fornecedores DisabledBecauseNotErasable=Desactivada porque não podem ser apagados InvoiceStandard=Factura Standard InvoiceStandardAsk=Factura Standard @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Pagamentos efectuados PaymentsBackAlreadyDone=Devolução de pagamentos efetuados PaymentRule=Estado do Pagamento PaymentMode=Forma de Pagamento -PaymentConditions=Tipo de Pagamento -PaymentConditionsShort=Tipo de Pagamento +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Montante a Pagar ValidatePayment=Validar pagamento PaymentHigherThanReminderToPay=Pagamento superior ao resto a pagar @@ -87,7 +88,7 @@ ClassifyCanceled=Classificar 'Abandonado' ClassifyClosed=Classificar 'Fechado' ClassifyUnBilled=Classify 'Unbilled' CreateBill=Criar Factura -AddBill=Create invoice or credit note +AddBill=Criar Factura ou Nota de Crédito AddToDraftInvoices=Adicionar à fatura rascunho DeleteBill=Eliminar Factura SearchACustomerInvoice=Procurar uma factura de cliente @@ -189,15 +190,15 @@ AlreadyPaid=JÔ e AlreadyPaidBack=JÔ reembolsado AlreadyPaidNoCreditNotesNoDeposits=JÔ pagas (sem notas de crédito e depósitos) Abandoned=Abandonada -RemainderToPay=Remaining unpaid +RemainderToPay=Restante a receber RemainderToTake=Remaining amount to take RemainderToPayBack=Remaining amount to pay back Rest=Pendente AmountExpected=Montante reclamado ExcessReceived=Recebido em excesso EscompteOffered=Desconto (Pronto pagamento) -SendBillRef=Submission of invoice %s -SendReminderBillRef=Submission of invoice %s (reminder) +SendBillRef=Submissão da fatura %s +SendReminderBillRef=Submissão da fatura %s (lembrete) StandingOrders=Débitos Directos StandingOrder=Domiciliação NoDraftBills=Nenhuma factura rascunho @@ -222,13 +223,13 @@ NonPercuRecuperable=Não recuperÔvel SetConditions=Definir Condições de pagamento SetMode=Definir modo de pagamento Billed=Facturado -RepeatableInvoice=Template invoice -RepeatableInvoices=Template invoices -Repeatable=Template -Repeatables=Templates -ChangeIntoRepeatableInvoice=Convert into template invoice -CreateRepeatableInvoice=Create template invoice -CreateFromRepeatableInvoice=Create from template invoice +RepeatableInvoice=Fatura Modelo +RepeatableInvoices=Faturas Modelo +Repeatable=Modelo +Repeatables=Modelos +ChangeIntoRepeatableInvoice=Converter em fatura modelo +CreateRepeatableInvoice=Criar fatura modelo +CreateFromRepeatableInvoice=Criar a partir da fatura modelo CustomersInvoicesAndInvoiceLines=Facturas a clientes e linhas de facturas CustomersInvoicesAndPayments=Facturas a clientes e pagamentos ExportDataset_invoice_1=Facturas a clientes e linhas de factura @@ -247,7 +248,7 @@ AddGlobalDiscount=Adicionar Desconto fixo EditGlobalDiscounts=Editar descontos absolutos AddCreditNote=Criar nota de crédito ShowDiscount=Ver o deposito -ShowReduc=Show the deduction +ShowReduc=Mostrar a dedução RelativeDiscount=Desconto relativo GlobalDiscount=Desconto fixo CreditNote=Deposito @@ -293,8 +294,8 @@ TotalOfTwoDiscountMustEqualsOriginal=Total de dois novos desconto deve ser igual ConfirmRemoveDiscount=Tem certeza de que deseja remover este desconto? RelatedBill=factura relacionados RelatedBills=facturas relacionadas -LatestRelatedBill=Latest related invoice -WarningBillExist=Warning, one or more invoice already exist +LatestRelatedBill=Última fatura relacionada +WarningBillExist=Aviso, jÔ existe uma ou mais faturas # PaymentConditions PaymentConditionShortRECEP=Pronto Pagamento @@ -313,7 +314,7 @@ PaymentConditionShortPT_ORDER=On order PaymentConditionPT_ORDER=On order PaymentConditionShortPT_5050=50-50 PaymentConditionPT_5050=50%% adiantado, 50%% na entrega -FixAmount=Fix amount +FixAmount=Valor fixo VarAmount=Quantidade variÔvel (%% total.) # PaymentType PaymentTypeVIR=Transferência bancaria @@ -348,7 +349,7 @@ ChequeNumber=Cheque nº ChequeOrTransferNumber=Cheque/Transferência nº ChequeMaker=Emissor do cheque ChequeBank=Banco do cheque -CheckBank=Check +CheckBank=Verificar NetToBePaid=Neto a pagar PhoneNumber=Tel. FullPhoneNumber=telefone @@ -419,12 +420,12 @@ 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 +Progress=Progresso +ModifyAllLines=Modificar todas as linhas 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. +DisabledBecauseFinal=Esta situação é final. CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. NoSituations=No opened situations -InvoiceSituationLast=Final and general invoice +InvoiceSituationLast=Fatura geral e final diff --git a/htdocs/langs/pt_PT/boxes.lang b/htdocs/langs/pt_PT/boxes.lang index 7bf37e00221..7c35e34c5e4 100644 --- a/htdocs/langs/pt_PT/boxes.lang +++ b/htdocs/langs/pt_PT/boxes.lang @@ -1,7 +1,7 @@ # Dolibarr language file - Source file is en_US - boxes BoxLastRssInfos=Informação RSS BoxLastProducts=Últimos %s produtos/serviços -BoxProductsAlertStock=Products in stock alert +BoxProductsAlertStock=Produtos no alerta de stock BoxLastProductsInContract=Últimos %s produtos/serviços contratados BoxLastSupplierBills=Últimas faturas dos fornecedores BoxLastCustomerBills=Últimas faturas a clientes @@ -27,7 +27,7 @@ BoxTitleLastBooks=Os %s últimos Favoritos registados BoxTitleNbOfCustomers=Número de clientes BoxTitleLastRssInfos=As %s últimas notícias de %s BoxTitleLastProducts=Os %s últimos produtos/serviços modificados -BoxTitleProductsAlertStock=Products in stock alert +BoxTitleProductsAlertStock=Produtos no alerta de stock BoxTitleLastCustomerOrders=Last %s customer orders BoxTitleLastModifiedCustomerOrders=Last %s modified customer orders BoxTitleLastSuppliers=Os %s últimos Fornecedores modificados @@ -88,7 +88,7 @@ BoxSuppliersInvoicesPerMonth=Facturas de fornecedores por mês BoxCustomersOrdersPerMonth=Encomendas de clientes por mês BoxSuppliersOrdersPerMonth=Encomendas de Fornecedores por mês BoxProposalsPerMonth=Propostas por mês -NoTooLowStockProducts=Nenhum produto abaixo do limite inferior de stock +NoTooLowStockProducts=Nenhum produto abaixo do limite mínimo de stock BoxProductDistribution=Distribuição de Produtos/Serviços BoxProductDistributionFor=Distribuição de %s para %s ForCustomersInvoices=Facturas de Clientes diff --git a/htdocs/langs/pt_PT/commercial.lang b/htdocs/langs/pt_PT/commercial.lang index 21fd2165145..4e3973d67b1 100644 --- a/htdocs/langs/pt_PT/commercial.lang +++ b/htdocs/langs/pt_PT/commercial.lang @@ -9,9 +9,9 @@ Prospect=Cliente Potencial Prospects=Clientes Potenciais DeleteAction=Eliminar uma Acção NewAction=Nova Acção -AddAction=Criar Acção -AddAnAction=Criar uma Acção -AddActionRendezVous=Criar uma Reunião +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=Reunião ConfirmDeleteAction=EstÔ seguro de querer eliminar esta acção? CardAction=Ficha da Acção @@ -44,8 +44,8 @@ DoneActions=Lista de acções realizadas DoneActionsFor=Lista de acções realizadas por %s ToDoActions=Lista de acções incompletas ToDoActionsFor=Lista de acções incompletas de %s -SendPropalRef=Enviar orçamento %s -SendOrderRef=Enviar pedido %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Não aplicÔvel StatusActionToDo=A realizar StatusActionDone=Realizado @@ -62,7 +62,7 @@ LastProspectContactDone=Clientes potenciais contactados DateActionPlanned=Data planificação DateActionDone=Data realização ActionAskedBy=Acção questionada por -ActionAffectedTo=Acção assignada a +ActionAffectedTo=Event assigned to ActionDoneBy=Acção realizada por ActionUserAsk=Registada por ErrorStatusCantBeZeroIfStarted=Se o campo 'Ficha de Realização' tiver dados a acção estÔ em curso, por isso o campo 'Estado' não pode ser 0%%. diff --git a/htdocs/langs/pt_PT/compta.lang b/htdocs/langs/pt_PT/compta.lang index 8098ab7c1d5..c43f8cdc695 100644 --- a/htdocs/langs/pt_PT/compta.lang +++ b/htdocs/langs/pt_PT/compta.lang @@ -4,7 +4,7 @@ AccountancyCard=Ficha Contabilidade Treasury=Tesouraria MenuFinancial=Financeira TaxModuleSetupToModifyRules=Go to Taxes module setup to modify rules for calculation -TaxModuleSetupToModifyRulesLT=Go to Company setup to modify rules for calculation +TaxModuleSetupToModifyRulesLT=Ir para configurar Empresa para modificar as regras de cÔlculo OptionMode=Opção de Gestão Contabilidade OptionModeTrue=Opção Depósitos/Despesas OptionModeVirtual=Opção Créditos/Dividas @@ -19,8 +19,8 @@ AmountToBeCharged=Montante total a pagar: AccountsGeneral=Contas Gerais Account=Conta Accounts=Contas -Accountparent=Account parent -Accountsparent=Accounts parent +Accountparent=Conta original +Accountsparent=Contas originais BillsForSuppliers=Facturas de Fornecedores Income=Depósitos Outcome=Despesas @@ -33,7 +33,7 @@ AccountingResult=Accounting result Balance=Saldo Debit=Débito Credit=Crédito -Piece=Accounting Doc. +Piece=Doc. Contabilístico Withdrawal=Retirada Withdrawals=Retiradas AmountHTVATRealReceived=Total Recebido @@ -55,7 +55,7 @@ LT1SupplierES=RE purchases VATCollected=IVA Recuperado ToPay=A Pagar ToGet=Para Voltar -SpecialExpensesArea=Area for all special payments +SpecialExpensesArea=Área para todos os pagamentos especiais TaxAndDividendsArea=Área Impostos, gastos sociais e dividendos SocialContribution=Gasto social SocialContributions=Gastos sociais @@ -131,13 +131,13 @@ 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 +AnnualSummaryDueDebtMode=Balanço da receita e despesas, resumo anual +AnnualSummaryInputOutputMode=Balanço da receita e despesas, resumo anual AnnualByCompaniesDueDebtMode=Balanço de depósitos e despesas, quebrado por Terceiros, em modo%sCréditos-dividas%s chamada Contabilidade de compromisso. AnnualByCompaniesInputOutputMode=Balanço de depósitos e despesas, quebrado por Terceiros, em modo %sdepositos-despesas%s chamada Contabilidade de Caixa. SeeReportInInputOutputMode=Ver o Relatório %sdepositos-despesas%s chamado Contabilidade de Caixa para um cÔlculo sobre as facturas pagas SeeReportInDueDebtMode=Ver o Relatório %sCréditos-dividas%s chamada Contabilidade de compromisso para um cÔlculo das facturas Pendentes de pagamento -RulesAmountWithTaxIncluded=- Amounts shown are with all taxes included +RulesAmountWithTaxIncluded=- Os montantes exibidos contêm todas as taxas incluídas RulesResultDue=- Os montantes mostrados são montantes totais
    - Inclui as facturas, gastos e IVA devido, que estão pagas ou não.
    - Se baseia na data de validação para as facturas e o IVA e na data de vencimento para as gastos.
    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=- Inclui as facturas a clientes, estejam pagas ou não.
    - Se baseia na data de validação das mesmas.
    @@ -186,10 +186,10 @@ Pcg_subtype=Pcg subtype InvoiceLinesToDispatch=Invoice lines to dispatch InvoiceDispatched=Dispatched invoices AccountancyDashboard=Accountancy summary -ByProductsAndServices=By products and services +ByProductsAndServices=Por produtos e serviƧos RefExt=Ref externa 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 +LinkedOrder=Hiperligação para encomendar ReCalculate=Recalcular Mode1=MĆ©todo 1 Mode2=MĆ©todo 2 @@ -202,6 +202,6 @@ 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 +CloneTax=Clonar uma contribuição social +ConfirmCloneTax=Confirme a clonagem de uma contribuição social +CloneTaxForNextMonth=ClonĆ”-la para o mĆŖs seguinte diff --git a/htdocs/langs/pt_PT/contracts.lang b/htdocs/langs/pt_PT/contracts.lang index 2c51fe50855..331cdf7a972 100644 --- a/htdocs/langs/pt_PT/contracts.lang +++ b/htdocs/langs/pt_PT/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expirado ServiceStatusClosed=Fechado ServicesLegend=Legenda para os serviƧos Contracts=contractos +ContractsAndLine=Contracts and line of contracts Contract=Contrato NoContracts=Sem contractos MenuServices=ServiƧos diff --git a/htdocs/langs/pt_PT/cron.lang b/htdocs/langs/pt_PT/cron.lang index d3cf487ddd2..9c45da9a4da 100644 --- a/htdocs/langs/pt_PT/cron.lang +++ b/htdocs/langs/pt_PT/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/pt_PT/donations.lang b/htdocs/langs/pt_PT/donations.lang index 7a31ae91628..0c3c915fb2f 100644 --- a/htdocs/langs/pt_PT/donations.lang +++ b/htdocs/langs/pt_PT/donations.lang @@ -4,35 +4,35 @@ Donations=Donativos DonationRef=Ref. do donativo Donor=Doador Donors=Doadores -AddDonation=Create a donation -NewDonation=Nova Doação +AddDonation=Crie uma donativo +NewDonation=Novo Donativo ShowDonation=Mostrar Donativo 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 +DonationsPaid=Donativos Pagos +DonationsReceived=Donativos Recebidos +PublicDonation=Donativo PĆŗblico +DonationsNumber=NĆŗmero de Donativos +DonationsArea=Ɓrea de Donativos DonationStatusPromiseNotValidated=Promessa NĆ£o Validada DonationStatusPromiseValidated=Promessa Validada -DonationStatusPaid=Doação Paga +DonationStatusPaid=Donativo Recebido DonationStatusPromiseNotValidatedShort=NĆ£o Validada -DonationStatusPromiseValidatedShort=Validada -DonationStatusPaidShort=Paga +DonationStatusPromiseValidatedShort=Validado +DonationStatusPaidShort=Recebido ValidPromess=Validar promessa -DonationReceipt=Recibo do donativo +DonationReceipt=Recibo do Donativo BuildDonationReceipt=Criar Recibo -DonationsModels=Modelo de documento de recepção de Doação -LastModifiedDonations=%s Última modificação doaƧƵes -SearchADonation=Procure uma doação -DonationRecipient=DestinatĆ”rio do donativo +DonationsModels=Modelos de documentos dos recibos de donativos +LastModifiedDonations=%s Última modificação de donativos +SearchADonation=Procure um donativo +DonationRecipient=DestinatĆ”rio do Donativo ThankYou=Obrigado -IConfirmDonationReception=O destinatĆ”rio acusou a recepção, como um donativo, do seguinte montante -MinimumAmount=Minimum amount is %s -FreeTextOnDonations=Free text to show in footer -FrenchOptions=Options for France +IConfirmDonationReception=O destinatĆ”rio declarou a recepção, como um donativo, do seguinte montante +MinimumAmount=O montante mĆ­nimo Ć© %s +FreeTextOnDonations=Texto livre para mostrar no rodapĆ© +FrenchOptions=OpƧƵes para FranƧa 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/pt_PT/errors.lang b/htdocs/langs/pt_PT/errors.lang index d7d6a8f61f0..6ebfe918305 100644 --- a/htdocs/langs/pt_PT/errors.lang +++ b/htdocs/langs/pt_PT/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=A conta origem e destino devem ser diferentes. ErrorBadThirdPartyName=Nome de Terceiro incorrecto ErrorProdIdIsMandatory=O %s Ć© obrigatório ErrorBadCustomerCodeSyntax=A sintaxis do código cliente Ć© incorrecta -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Código cliente obrigatório ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Código de cliente jĆ” utilizado @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript nĆ£o deve ser desativado para que este r ErrorPasswordsMustMatch=Ambas as senhas digitadas devem corresponder entre si ErrorContactEMail=Um erro tĆ©cnico ocorreu. Por favor, contacte o administrador para seguir %s e-mail em fornecer os %s código de erro na sua mensagem, ou melhor ainda pela adição de uma cópia de tela da pĆ”gina. ErrorWrongValueForField=Valor errado para o nĆŗmero %s campo (valor "%s" nĆ£o coincide com %s regra regex) -ErrorFieldValueNotIn=Valor errado para %s campo de nĆŗmero ("%s" de valor nĆ£o Ć© um valor disponĆ­vel em %s %s campo de tabela) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Valor errado para %s nĆŗmero de campo ("%s" valor nĆ£o Ć© um ref %s existente) ErrorsOnXLines=%s sobre as linhas das fontes de erros ErrorFileIsInfectedWithAVirus=O programa antivĆ­rus nĆ£o foi capaz de validar o arquivo (arquivo pode ser infectado por um vĆ­rus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Os parĆ¢metros de configuração obrigatórios ainda nĆ£o estĆ£o definidos diff --git a/htdocs/langs/pt_PT/holiday.lang b/htdocs/langs/pt_PT/holiday.lang index 2f8cd8f23f1..63bb32c1033 100644 --- a/htdocs/langs/pt_PT/holiday.lang +++ b/htdocs/langs/pt_PT/holiday.lang @@ -1,30 +1,30 @@ # Dolibarr language file - Source file is en_US - holiday HRM=RH -Holidays=Folgas -CPTitreMenu=Folgas -MenuReportMonth=Monthly statement -MenuAddCP=FaƧa uma requesição de folgas -NotActiveModCP=Deve ativar o modulo de folgas para ver esta pĆ”gina -NotConfigModCP=VocĆŖ deve configurar o módulo de folgas para ver esta pĆ”gina. Para fazer isso, click here . -NoCPforUser=NĆ£o tem nenhum dia disponivel -AddCP=FaƧa uma requisição de folga -Employe=Empregado +Holidays=LicenƧas +CPTitreMenu=LicenƧas +MenuReportMonth=Comunicado mensal +MenuAddCP=Efetue um pedido de licenƧa +NotActiveModCP=Deve ativar o módulo de LicenƧas para ver esta pĆ”gina. +NotConfigModCP=Deve configurar o módulo de LicenƧas para ver esta pĆ”gina. Para o efetuar, clique aqui . +NoCPforUser=NĆ£o tem nenhum dia disponivel. +AddCP=Efetue um pedido de licenƧa +Employe=FuncionĆ”rio DateDebCP=Data de inĆ­cio DateFinCP=Data de fim DateCreateCP=Data de criação DraftCP=Rascunho ToReviewCP=Aguarda aprovação -ApprovedCP=Aprovado -CancelCP=Cancelado -RefuseCP=Recusado -ValidatorCP=Approbator -ListeCP=Lista de folgas -ReviewedByCP=SerĆ” analisado por +ApprovedCP=Aprovada +CancelCP=Cancelada +RefuseCP=Recusada +ValidatorCP=Autorizada por +ListeCP=Lista de LicenƧas +ReviewedByCP=SerĆ” revista por DescCP=Descrição -SendRequestCP=Criar requisição de folga -DelayToRequestCP=Requisição de folga de ser feita pelo menos %s dia(s) antes de. -MenuConfCP=Editar balanƧo de folgas -UpdateAllCP=Atualisar folgas +SendRequestCP=Criar requisição de licenƧa +DelayToRequestCP=Os pedidos de licenƧa devem ser efetuados com pelo menos %s dia(s) de antecedĆŖncia. +MenuConfCP=Editar balanƧo das licenƧas +UpdateAllCP=Atualize as licenƧas SoldeCPUser=BalanƧo de folgas Ć© %s dias ErrorEndDateCP=You must select an end date greater than the start date. ErrorSQLCreateCP=Ocorreu um erro de SQL durante a criação: diff --git a/htdocs/langs/pt_PT/incoterm.lang b/htdocs/langs/pt_PT/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/pt_PT/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/pt_PT/install.lang b/htdocs/langs/pt_PT/install.lang index 2a038935c53..e281ee14d50 100644 --- a/htdocs/langs/pt_PT/install.lang +++ b/htdocs/langs/pt_PT/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Último passo: Defina aqui o login ea senha que vo ActivateModule=Ative o módulo %s ShowEditTechnicalParameters=Clique aqui para mostrar/editar os parĆ¢metros avanƧados (modo avanƧado) 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 diff --git a/htdocs/langs/pt_PT/languages.lang b/htdocs/langs/pt_PT/languages.lang index 473dd490106..67f384c4152 100644 --- a/htdocs/langs/pt_PT/languages.lang +++ b/htdocs/langs/pt_PT/languages.lang @@ -13,7 +13,7 @@ Language_de_AT=AlemĆ£o (Ɓustria) Language_de_CH=AlemĆ£o (SuƭƧa) Language_el_GR=Grego Language_en_AU=InglĆŖs (AustrĆ”lia) -Language_en_CA=English (Canada) +Language_en_CA=InglĆŖs (CanadĆ”) Language_en_GB=InglĆŖs (Reino Unido) Language_en_IN=InglĆŖs (ƍndia) Language_en_NZ=InglĆŖs (Nova ZelĆ¢ndia) diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang index 23c51af82a8..b017d2c856e 100644 --- a/htdocs/langs/pt_PT/main.lang +++ b/htdocs/langs/pt_PT/main.lang @@ -141,6 +141,7 @@ Cancel=Cancelar Modify=Modificar Edit=Editar Validate=Validar +ValidateAndApprove=Validate and Approve ToValidate=Para validar Save=Guardar SaveAs=Guardar Como @@ -158,6 +159,7 @@ Search=Procurar SearchOf=Procurar Valid=Confirmar Approve=Aprovar +Disapprove=Disapprove ReOpen=Reabrir Upload=Enviar Ficheiro ToLink=Link @@ -219,6 +221,7 @@ Cards=Fichas Card=Ficha Now=Ahora Date=Data +DateAndHour=Date and hour DateStart=Data de InĆ­cio DateEnd=Data de Fim DateCreation=Data de Criação @@ -295,6 +298,7 @@ UnitPriceHT=PreƧo Base (base) UnitPriceTTC=PreƧo UnitĆ”rio PriceU=P.U. PriceUHT=P.U. (base) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=P.U. Amount=Montante AmountInvoice=Montante da Fatura @@ -521,6 +525,7 @@ DateFromTo=De %s a %s DateFrom=A partir de %s DateUntil=AtĆ© %s Check=Verificar +Uncheck=Uncheck Internal=Interno External=Externo Internals=Internos @@ -688,6 +693,7 @@ PublicUrl=URL pĆŗblico AddBox=Adicionar Caixa SelectElementAndClickRefresh=Selecione um elemento e actualize a pagina PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Segunda-feira Tuesday=TerƧa-feira diff --git a/htdocs/langs/pt_PT/orders.lang b/htdocs/langs/pt_PT/orders.lang index 781be21e4db..8b26b315b94 100644 --- a/htdocs/langs/pt_PT/orders.lang +++ b/htdocs/langs/pt_PT/orders.lang @@ -1,5 +1,5 @@ # Dolibarr language file - Source file is en_US - orders -OrdersArea=Area de Pedidos de clientes +OrdersArea=Ɓrea de Pedidos de Clientes SuppliersOrdersArea=Ɓrea de Pedidos a Fornecedores OrderCard=Ficha Pedido OrderId=Id da Encomenda @@ -42,6 +42,7 @@ StatusOrderCanceled=Anulado StatusOrderDraft=Rascunho (a Confirmar) StatusOrderValidated=Validado StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Processado StatusOrderToBill=A Facturar StatusOrderToBill2=A facturar @@ -58,6 +59,7 @@ MenuOrdersToBill=Pedidos por Facturar MenuOrdersToBill2=Billable orders SearchOrder=Procurar um Pedido SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Enviar Produto Discount=Desconto CreateOrder=Criar Pedido diff --git a/htdocs/langs/pt_PT/other.lang b/htdocs/langs/pt_PT/other.lang index 6df1475eb17..764d37222a5 100644 --- a/htdocs/langs/pt_PT/other.lang +++ b/htdocs/langs/pt_PT/other.lang @@ -54,12 +54,13 @@ MaxSize=Tamanho MĆ”ximo AttachANewFile=Adicionar Novo Ficheiro/documento LinkedObject=Objecto adjudicado Miscellaneous=Diversos -NbOfActiveNotifications=NĆŗmero NotificaƧƵes +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Este Ć© um email de teste. \\ NO duas linhas sĆ£o separadas por um enter. PredefinedMailTestHtml=Este Ć© um email de teste (o teste de palavra deve ser em negrito).
    As duas linhas são separadas por um enter. 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__ diff --git a/htdocs/langs/pt_PT/printing.lang b/htdocs/langs/pt_PT/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/pt_PT/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/pt_PT/productbatch.lang b/htdocs/langs/pt_PT/productbatch.lang index ff72b80058d..c65bb2b7247 100644 --- a/htdocs/langs/pt_PT/productbatch.lang +++ b/htdocs/langs/pt_PT/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Número de Lote/Série l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Detalhes de Lote/Série -DetailBatchFormat=Lote/Série: %s - E:%s - S: %s (Qt. : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Lote: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/pt_PT/products.lang b/htdocs/langs/pt_PT/products.lang index 15842116ed5..a543f3549d6 100644 --- a/htdocs/langs/pt_PT/products.lang +++ b/htdocs/langs/pt_PT/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/pt_PT/projects.lang b/htdocs/langs/pt_PT/projects.lang index f969b074f3f..aa68d1907b8 100644 --- a/htdocs/langs/pt_PT/projects.lang +++ b/htdocs/langs/pt_PT/projects.lang @@ -3,13 +3,15 @@ RefProject=Ref. do projeto ProjectId=Id. do Projeto Project=Projeto Projects=Projetos -ProjectStatus=Project status +ProjectStatus=Estado do projeto SharedProject=Toda a Gente PrivateProject=Contactos do projeto MyProjectsDesc=Esta visualização estÔ limitada a projetos onde é um contacto para (seja qual for o tipo). ProjectsPublicDesc=Esta visualização apresenta todos os projetos que estÔ autorizado a ler. +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). 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). ProjectsArea=Área de Projetos @@ -29,6 +31,8 @@ NoProject=Nenhum projeto definido ou possuído NbOpenTasks=Nr. de Tarefas Abertas NbOfProjects=Nr. de Projetos TimeSpent=Tempo Dispendido +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tempos Dispendidos RefTask=Ref. da Tarefa LabelTask=Etiqueta de Tarefa @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lista de Pedidos a Fornecedores Associados a ListSupplierInvoicesAssociatedProject=Lista de Faturas de Fornecedores Associados ao Projeto ListContractAssociatedProject=Lista de Contratos Associados ao Projeto ListFichinterAssociatedProject=Lista de intervenções associadas ao projeto -ListTripAssociatedProject=Lista de viagens e despesas associadas ao projeto +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Lista de eventos associados ao projeto ActivityOnProjectThisWeek=Atividade do Projeto nesta Semana ActivityOnProjectThisMonth=Actividade do Projecto neste Mês @@ -87,7 +91,7 @@ ActionsOnProject=Ações sobre o projeto YouAreNotContactOfProject=Não é um contato deste projeto privado DeleteATimeSpent=Excluir o tempo gasto ConfirmDeleteATimeSpent=Tem certeza que quer eliminar este tempo dispensado? -DoNotShowMyTasksOnly=See also tasks not assigned to me +DoNotShowMyTasksOnly=Ver também as tarefas não me atribuidas ShowMyTasksOnly=Ver só as tarefas que me foram atribuídas TaskRessourceLinks=Recursos ProjectsDedicatedToThisThirdParty=Projetos dedicados a este terceiro @@ -103,9 +107,9 @@ CloneContacts=Clonar contactos CloneNotes=Clonar notas CloneProjectFiles=Clone project joined files CloneTaskFiles=Clone task(s) joined files (if task(s) cloned) -CloneMoveDate=Update project/tasks dates from now ? +CloneMoveDate=Atualizar as datas do projeto/tarefas a partir de agora? ConfirmCloneProject=Tem a certeza para clonar este projeto? -ProjectReportDate=Change task date according project start date +ProjectReportDate=Alterar a data da tarefa de acordo com a data de início do projeto ErrorShiftTaskDate=Impossible to shift task date according to new project start date ProjectsAndTasksLines=Projetos e tarefas ProjectCreatedInDolibarr=Projeto %s criado @@ -126,10 +130,15 @@ AddElement=Ligar ao elemento UnlinkElement=Desligar o elemento # Documents models DocumentModelBaleine=modelo de um projeto completo do relatório (logo. ..) -PlannedWorkload = Carga de trabalho planeada -WorkloadOccupation= Afectação da carga de trabalho +PlannedWorkload=Carga de trabalho planeada +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Refering objects SearchAProject=Procurar um projeto -ProjectMustBeValidatedFirst=Project must be validated first +ProjectMustBeValidatedFirst=Primeiro deve validar o projeto ProjectDraft=Esboço de projetos FirstAddRessourceToAllocateTime=Associar um recuirso para alocar a hora +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/pt_PT/salaries.lang b/htdocs/langs/pt_PT/salaries.lang index 5966b69f13b..9c699574cc0 100644 --- a/htdocs/langs/pt_PT/salaries.lang +++ b/htdocs/langs/pt_PT/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Pagamentos de SalÔrios ShowSalaryPayment=Mostrar pagamento de salÔrio THM=Preço médio da hora TJM=Preço médio diÔrio +CurrentSalary=Current salary diff --git a/htdocs/langs/pt_PT/sendings.lang b/htdocs/langs/pt_PT/sendings.lang index ad26c2228cd..ca9bf9bce91 100644 --- a/htdocs/langs/pt_PT/sendings.lang +++ b/htdocs/langs/pt_PT/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Quant. Pedida QtyShipped=Quant. Enviada QtyToShip=Quant. a Enviar QtyReceived=Quant. Recebida -KeepToShip=Manter por Enviar +KeepToShip=Remain to ship OtherSendingsForSameOrder=Outros Envios deste Pedido DateSending=Data de Expedição DateSendingShort=Data de Expedição diff --git a/htdocs/langs/pt_PT/stocks.lang b/htdocs/langs/pt_PT/stocks.lang index 7211c46b431..d3fda31b63e 100644 --- a/htdocs/langs/pt_PT/stocks.lang +++ b/htdocs/langs/pt_PT/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Valor (PMP) PMPValueShort=PMP EnhancedValueOfWarehouses=Valor de stocks UserWarehouseAutoCreate=Criar existencias automÔticamente na criação de um utilizador +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Quantidade desagregada QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/pt_PT/suppliers.lang b/htdocs/langs/pt_PT/suppliers.lang index 1e0e55d1422..b57b823e0fd 100644 --- a/htdocs/langs/pt_PT/suppliers.lang +++ b/htdocs/langs/pt_PT/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Fornecedores -Supplier=Fornecedor AddSupplier=Create a supplier SupplierRemoved=Fornecedor Eliminado SuppliersInvoice=Facturas do Fornecedor @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Facturas Fornecedores e Pagamentos ExportDataset_fournisseur_3=Pedidos a fornecedores e linhas de pedido ApproveThisOrder=Aprovar este Pedido ConfirmApproveThisOrder=EstÔ seguro de querer aprovar este pedido? -DenyingThisOrder=Negar este Pedido +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=EstÔ seguro de querer negar este pedido? ConfirmCancelThisOrder=EstÔ seguro de querer cancelar este pedido? AddCustomerOrder=Criar Pedido do Cliente diff --git a/htdocs/langs/pt_PT/trips.lang b/htdocs/langs/pt_PT/trips.lang index 09f269a57e1..1733fe86dc2 100644 --- a/htdocs/langs/pt_PT/trips.lang +++ b/htdocs/langs/pt_PT/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Deslocação -Trips=Deslocações -TripsAndExpenses=Deslocações e Despesas -TripsAndExpensesStatistics=Viagens e estatísticas despesas -TripCard=Ficha de Deslocação -AddTrip=Adicionar Deslocação -ListOfTrips=Lista de Deslocações +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=Lista de Taxas -NewTrip=Nova Deslocação +NewTrip=New expense report CompanyVisited=Empresa/Instituição Visitada Kilometers=Quilómetros FeesKilometersOrAmout=Quantidade de Quilómetros -DeleteTrip=Eliminar Deslocação -ConfirmDeleteTrip=Deseja mesmo eliminar esta deslocação? -TF_OTHER=Outro -TF_LUNCH=Alimentação -TF_TRIP=Viagem -ListTripsAndExpenses=Lista de viagens e despesas -ExpensesArea=Viagens e Ôrea de despesas -SearchATripAndExpense=Procure uma viagem e despesas +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=Outro +TF_TRANSPORTATION=Transportation +TF_LUNCH=Alimentação +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ro_RO/admin.lang b/htdocs/langs/ro_RO/admin.lang index ed875d3ec11..d91192821e9 100644 --- a/htdocs/langs/ro_RO/admin.lang +++ b/htdocs/langs/ro_RO/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental VersionDevelopment=Dezvoltare VersionUnknown=Necunoscut VersionRecommanded=Recomandat +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID Sesiune SessionSaveHandler=Handler pentru a salva sesiunile SessionSavePath=Storage sesiune localizare @@ -294,7 +299,7 @@ DoNotUseInProduction=Nu utilizaţi în producţie ThisIsProcessToFollow=Acesta este procesul de configurare pentru a: StepNb=Pasul %s FindPackageFromWebSite=Găsiţi un pachet care ofera facilitate dorit (de exemplu, pe site-ul web %s). -DownloadPackageFromWebSite=Download package %s. +DownloadPackageFromWebSite=Descărcaţi pachetul %s. UnpackPackageInDolibarrRoot=Unpack pachet de fişiere în directorul rădăcină Dolibarr lui %s SetupIsReadyForUse=Instalarea este terminat şi Dolibarr este gata pentru a fi utilizate cu această nouă componentă. NotExistsDirect=Nu este definit directorroot alternativ.
    @@ -383,12 +388,12 @@ ExtrafieldSelectList = Select din tabel ExtrafieldSeparator=Separator ExtrafieldCheckBox=Checkbox ExtrafieldRadio=Radio buton -ExtrafieldCheckBoxFromList= Checkbox from table +ExtrafieldCheckBoxFromList= Checkbox din tabel ExtrafieldParamHelpselect=Lista de parametri trebuie să fie ca cheie, valoare

    pentru exemplul:
    1, valoare1
    2, valoare2
    3, value3
    ...

    Pentru a avea listă Ć®n funcție de o alta:
    1,value1|parent_list_code:parent_key
    2,value2|parent_list_code:parent_key ExtrafieldParamHelpcheckbox=Lista de parametri trebuie să fie de tip cheie, valoare

    pentru exemplul:
    1, valoare1
    2, valoare2
    3, value3
    ... ExtrafieldParamHelpradio=Lista de parametri trebuie să fie de tip cheie, valoare

    pentru exemplul:
    1, valoare1
    2, valoare2
    3, value3
    ... ExtrafieldParamHelpsellist=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 -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 +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=Unele țări aplică 2 sau 3 impozite la fiecare linie de factura. Dacă este cazul, alege tipul al doilea și al treilea de taxă și ratele lor. Tipuri posibile sunt:
    1: Taxa hoteliera se aplică pe produse și servicii, fără TVA (TVA nu este aplicată la taxa locala)
    2: taxa locala pe produse și servicii fără TVA (TVA-ul este calculat la suma + localtax)
    3: Taxa locală se aplică la produsele fara TVA (TVA nu se aplică la taxa locala)
    4: Taxa locală se aplică la produsele fără TVA (TVA-ul este calculat la suma + localtax)
    5: Taxa locală se aplică pe servicii fara TVA (TVA nu este aplicată la taxa locala)
    6: Taxa locală se aplică pe servicii fără TVA (TVA-ul este calculat la suma + localtax) @@ -493,10 +498,16 @@ Module600Name=Notificări Module600Desc=Trimite notificări prin email la unele evenimente de afaceri Dolibarr la contactele terților (configurare definită pe fiecare terÅ£) Module700Name=Donatii Module700Desc=MAnagementul DonaÅ£iilor +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 integrare Module1400Name=Contabilitate Module1400Desc=Management Contabilitate de gestiune (partidă dublă) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Categorii Module1780Desc=Categorii de "management (produse, furnizori şi clienÅ£i) Module2000Name=Fckeditor @@ -575,7 +586,7 @@ Permission67=Export intervenÅ£ii Permission71=Citeşte membrii Permission72=Creare / Modificare membri Permission74=Ştergere membri -Permission75=Setup types of membership +Permission75=Configurare tipuri membri Permission76=Export Date Permission78=Citeşte abonamente Permission79=Creare / Modificare abonamente @@ -598,8 +609,8 @@ Permission106=Export livrări Permission109=Ştergere sendings Permission111=Citeşte conturile financiare Permission112=Crea / modifica / delete şi compara tranzacÅ£iile -Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconciliate transactions +Permission113=Configurare conturi financiare( creare, gestionare categorii) +Permission114=Tranzactii Reconciliate Permission115=TranzacÅ£ii de export şi Ć®n declaraÅ£iile Permission116=Transferuri Ć®ntre conturile Permission117=Gestionare cecuri de expediÅ£ie @@ -631,7 +642,7 @@ Permission181=Citeşte furnizor ordinelor Permission182=Creare / Modificare furnizor ordinelor Permission183=Validate furnizor ordinelor Permission184=AprobaÅ£i furnizor ordinelor -Permission185=Comanda furnizor ordinelor +Permission185=Order or cancel supplier orders Permission186=Furnizor de a primi comenzi Permission187=Inchide furnizor ordinelor Permission188=Anulare furnizor ordinelor @@ -711,6 +722,13 @@ Permission538=Exportul de servicii Permission701=CitiÅ£i donaÅ£ii Permission702=Creare / Modificare donaÅ£ii Permission703=Ştergere donaÅ£ii +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=Citeşte stocuri Permission1002=Creare / modificare depozite Permission1003=Ștergere depozite @@ -764,7 +782,7 @@ Permission55001=Cieşte sondaje Permission55002=Creare / Modificare sondaje Permission59001=Citeşte marje comerciale Permission59002=Defineşte marje comerciale -Permission59003=Read every user margin +Permission59003=Citeşte marjele fiecarui utilizator DictionaryCompanyType=Tip TerÅ£ DictionaryCompanyJuridicalType=Tipuri juridice terÅ£i DictionaryProspectLevel=Nivel potenÅ£ial Prospect @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Parolă pentru a utiliza server proxy DefineHereComplementaryAttributes=DefiniÅ£i aici toate atributele, care nu sunt deja disponibile Ć®n mod implicit, şi că doriÅ£i să fie sprijinite pentru %s. ExtraFields=Atribute complementare ExtraFieldsLines=Atribute complementare (linii) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Atribute complementare ( terÅ£i) ExtraFieldsContacts=Atribute complementare (contact/addresă ) ExtraFieldsMember=Atribute complementare (membri) @@ -1042,7 +1062,7 @@ SendingMailSetup=Setup de trimiteri prin e-mail SendmailOptionNotComplete=AtenÅ£ie, pe unele sisteme Linux, pentru a trimite e-mail de la e-mail, sendmail configurare execuÅ£ie trebuie să conatins optiunea-ba (mail.force_extra_parameters parametri Ć®n fişierul php.ini). Dacă nu unor destinatari a primi e-mailuri, Ć®ncercaÅ£i să editaÅ£i acest parametru PHP cu mail.force_extra_parameters =-BA). PathToDocuments=Cale de acces documente PathDirectory=Director -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=Functionalitate pentru a trimite mesaje utilizĆ¢nd metoda "mail PHP direct" va genera un mesaj e-mail care nu s-ar putea să fie corect interpretat de către unele servere de e-mail . Rezultatul este că unele mail-uri nu pot fi citite de unele persoane . Este cazul unor furnizori de Internet (Ex: Orange Ć®n FranÅ£a). Aceasta nu este o problemă Ć®n Dolibarr nici Ć®n PHP, dar primesc pe serverul de poştă electronică. PuteÅ£i adăuga toate acestea, opÅ£iunea MAIN_FIX_FOR_BUGGED_MTA la 1 Ć®n configurare - pentru a modifica alte Dolibarr pentru a evita acest lucru. Cu toate acestea, este posibil să aveÅ£i probleme cu alte servere care sens strict standard SMTP. Altă soluÅ£ie (recommanded) este de a utiliza metoda "SMTP socket bibliotecă", care nu are dezavantaje. TranslationSetup=Configurarea traducerii TranslationDesc=Alegerea limbiilor vizibile pe ecran pot fi modificate:
    * La nivel global din meniul Home - Configurare - Afişare
    * Pe utilizator numai ,la Tabul Afișare utilizator al fişei de utilizator (click pe login din partea de sus a ecranului). TotalNumberOfActivatedModules=Numărul total al modulelor funcÅ£ionale activate: %s @@ -1061,7 +1081,7 @@ BrowserIsOK=FolosiÅ£i navigatorul web %s. Acest navigator este ok pentru perform BrowserIsKO=FolosiÅ£i browser-ul % s. Acest browser-ul pare a fi o alegere proasta pentru securitate, performanță și fiabilitate. Noi recomandam sa folositi Firefox, Chrome, Opera sau Safari. XDebugInstalled=XDebug este Ć®ncărcat. XCacheInstalled=XCache este Ć®ncărcată. -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". +AddRefInList=Afișează ref client / furnizor Ć®n lista (listă select sau combobox) și mai multe hyperlinkuri. Terții vor apare cu numele "CC12345 - SC45678 - The big company coorp", Ć®n loc de "The big company coorp". FieldEdition=Editarea campului %s FixTZ=Fixează TimeZone FillThisOnlyIfRequired=Exemplu: +2 (completați numai dacă problemele decalajjului fusului orar sunt cunoscute) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=O linie de produse / servicii cu o suma de zero este c FreeLegalTextOnProposal=Text liber pe ofertele comerciale WatermarkOnDraftProposal=Filigranul pe ofertele comerciale schiţă (niciunul daca e gol) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Cere contul bancar destinație al ofertei +##### 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=Ordinele de gestionare setup OrdersNumberingModules=Ordinele de numerotare module @@ -1161,7 +1188,7 @@ ValidOrderAfterPropalClosed=Pentru a valida comanda după Ć®nchiderea ofertei, FreeLegalTextOnOrders=Free text de pe ordinele de WatermarkOnDraftOrders=Filigranul pe comenzile schiţă (niciunul daca e gol) ShippableOrderIconInList=Adaugă un icon Ć®n lista Comenzilor care indica daca comanda este expediabilă -BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +BANK_ASK_PAYMENT_BANK_DURING_ORDER=Cere contul bancar destinație al comenzii ##### Clicktodial ##### ClickToDialSetup=Click pentru a Dial modul setup ClickToDialUrlDesc=Url called when a click on phone picto is done. Dans l'url, vous pouvez utiliser les balises
    __PHONETO__ qui sera remplacļæ½ par le tļæ½lļæ½phone de l'appelļæ½
    __PHONEFROM__ qui sera remplacļæ½ par le tļæ½lļæ½phone de l'appelant (le votre)
    __LOGIN__ qui sera remplacļæ½ par votre login clicktodial (dļæ½fini sur votre fiche utilisateur)
    __PASS__ qui sera remplac� par votre mot de passe clicktodial (d�fini sur votre fiche utilisateur). @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Coduri de bare generaţie în linie de comandă (utilizat de către phpbarcode motor pentru anumite tipuri de coduri de bare) +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 ##### Prelevements ##### @@ -1397,7 +1424,7 @@ RSSUrlExample=Un interesant RSS feed MailingSetup=Să trimiteÅ£i un email la modul de instalare MailingEMailFrom=Expeditorul e-mail (la) pentru e-mail-uri trimise prin email-uri de module MailingEMailError=Ǝntoarcere Email (Erori-a) pentru e-mailuri cu erori -MailingDelay=Seconds to wait after sending next message +MailingDelay=Secunde de asteptare pentru trimiterea urmatorului mesaj ##### Notification ##### NotificationSetup=Configurare Modul Notificări Email NotificationEMailFrom=Expeditorul e-mail (la) pentru e-mail-uri trimise pentru notificări @@ -1407,9 +1434,9 @@ FixedEmailTarget=Targhet email fixat SendingsSetup=Trimiterea de modul de configurare SendingsReceiptModel=Trimiterea primirea model SendingsNumberingModules=Trimiteri de numerotare module -SendingsAbility=Support shipment sheets for customer deliveries +SendingsAbility=Avize expediere suport pentru livrari clienti NoNeedForDeliveryReceipts=Ǝn cele mai multe cazuri, sendings Ć®ncasări sunt utilizate atĆ¢t ca foi de client pentru livrări (lista de produse pentru a trimite) şi foi de faptul că este recevied şi semnat de către client. Deci, livrările de produse Ć®ncasări este un duplicat caracteristică şi este rareori activat. -FreeLegalTextOnShippings=Free text on shipments +FreeLegalTextOnShippings=Text liber pe livrari ##### Deliveries ##### DeliveryOrderNumberingModules=Produse livrările primirea modul de numerotare DeliveryOrderModel=Produse livrările primirea model @@ -1420,7 +1447,7 @@ AdvancedEditor=Editor avansat ActivateFCKeditor=ActivaÅ£i FCKeditor pentru: FCKeditorForCompany=WYSIWIG crearea / editie a companiilor şi de note descriere FCKeditorForProduct=WYSIWIG crearea / editie a produselor / serviciilor "descrierea şi nota -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. +FCKeditorForProductDetails=WYSIWIG creare / editare detalii linii de produse pentru toate entităţile (propuneri, comenzilor, facturilor, etc ..) AtenÅ£ie: Folosind această opÅ£iune nu este recommanda deoarece astfel pot apare probleme la caracterele speciale şi paginare atunci cĆ¢nd se creaza fişiere PDF. FCKeditorForMailing= WYSIWIG crearea / ediÅ£ie de mailing FCKeditorForUserSignature=Creare/editare WYSIWIG a semnăturii utilizatorilor FCKeditorForMail=Creare/editare WYSIWIG a tuturor emailurilor (exceptĆ¢nd Outils->eMailing) @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Terț generic implicit utilizat pentru vĆ¢nzări CashDeskBankAccountForSell=Case de cont pentru a utiliza pentru vinde CashDeskBankAccountForCheque= Cont pentru a utiliza pentru a primi plăţi prin cec CashDeskBankAccountForCB= Cont pentru a folosi pentru a primi plăţi Ć®n numerar de carduri de credit -CashDeskDoNotDecreaseStock=Dezactivați scădere stoc atunci cĆ¢nd o vinzare se face de la 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=ForÅ£ează și limitează depozitul să folosească scăderea stocului StockDecreaseForPointOfSaleDisabled=Scădere stoc de la Point of Sale dezactivat +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Nu ai dezactivați scăderea de stocului atunci cĆ¢nd se face o vinzare de la Point Of Sale. Astfel, este necesar un depozit. ##### Bookmark ##### BookmarkSetup=Bookmark modul de configurare @@ -1568,4 +1596,8 @@ SalariesSetup=Configurare modul salarii SortOrder=Ordine sortare Format=Format TypePaymentDesc=0:Tip plata Client, 1:Tip plata Furnizor, 2:Ambele tipuri plata Client sau Furnizor -IncludePath=Include path (defined into variable %s) +IncludePath=Include calea (definita in variabila %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. diff --git a/htdocs/langs/ro_RO/agenda.lang b/htdocs/langs/ro_RO/agenda.lang index 8f109cb5e98..50ca3ae994c 100644 --- a/htdocs/langs/ro_RO/agenda.lang +++ b/htdocs/langs/ro_RO/agenda.lang @@ -69,7 +69,7 @@ DateActionDoneEnd= Data reală a terminării DateActionStart= Data Ć®nceperii DateActionEnd= Data terminării AgendaUrlOptions1=PuteÅ£i, de asemenea, să adăugaÅ£i următorii parametri pentru filtrarea rezultatelor: -AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. +AgendaUrlOptions2=login=%s ​​pentru a limita exportul de acțiuni create de, sau atribuite utilizatorului%s. AgendaUrlOptions3=logind=%s ​​pentru a limita exportul de acțiuni deÅ£inute de utilizatorul %s AgendaUrlOptions4=logint=% s ​​pentru a limita exportul de acțiuni atribuite utilizatorului % s. AgendaUrlOptionsProject=project=PROJECT_ID pentru a limita exportul de acțiuni asociate la proiectul PROJECT_ID. diff --git a/htdocs/langs/ro_RO/banks.lang b/htdocs/langs/ro_RO/banks.lang index ce9ea8d39b4..c090ed31326 100644 --- a/htdocs/langs/ro_RO/banks.lang +++ b/htdocs/langs/ro_RO/banks.lang @@ -8,7 +8,7 @@ FinancialAccount=Cont FinancialAccounts=Conturi BankAccount=Cont bancar BankAccounts=Conturi bancare -ShowAccount=Show Account +ShowAccount=Arată Cont AccountRef=Contul financiar ref AccountLabel=Contul financiar etichetă CashAccount=Cont Casa @@ -33,7 +33,11 @@ AllTime=De la inceput Reconciliation=Reconciliere RIB=Număr Cont Bancă IBAN=Cod IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=Cod BIC / SWIFT +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Ordine de plată StandingOrder=Ordin plată Withdrawals=Retrageri @@ -148,7 +152,7 @@ BackToAccount=Inapoi la cont ShowAllAccounts=Arată pentru toate conturile FutureTransaction=TranzacÅ£ie viitoare. In nici un caz de decontat. SelectChequeTransactionAndGenerate=SelectaÅ£i/ filtraÅ£i cecurile pentru a le include Ć®n borderoul de remise şi faceÅ£i clic pe "Crează". -InputReceiptNumber=Alegeți extrasul de cont privitor la conciliere. FolosiÅ£i o valoare numerică sortabile (cum ar fi, YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Ǝn cele din urmă, precizează o categorie Ć®n care să clasezi Ć®nregistrările ToConciliate=De decontat ? ThenCheckLinesAndConciliate=Apoi, verifică liniile prezente Ć®n extrasul de bancă şi click diff --git a/htdocs/langs/ro_RO/bills.lang b/htdocs/langs/ro_RO/bills.lang index 5885b7a76a8..92e62558764 100644 --- a/htdocs/langs/ro_RO/bills.lang +++ b/htdocs/langs/ro_RO/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Plăţi deja efectuate PaymentsBackAlreadyDone=PlaÅ£i Return deja efectuate PaymentRule=Mod de Plată PaymentMode=Tip de plată -PaymentConditions=Termen de plată -PaymentConditionsShort=Termen de plată +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Sumă de plată ValidatePayment=Validează plata PaymentHigherThanReminderToPay=Plată mai mare decĆ¢t restul de plată @@ -412,19 +413,19 @@ TypeContact_invoice_supplier_external_BILLING=Contact facturare furnizor TypeContact_invoice_supplier_external_SHIPPING=Contact livrare furnizor TypeContact_invoice_supplier_external_SERVICE=Contact service furnizor # 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. +InvoiceFirstSituationAsk=Situatie initiala factura +InvoiceFirstSituationDesc= Situația facturilor este legata de situații legate de o progresie, de exemplu progresia unei construcții. Fiecare situație este legată de o factură. InvoiceSituation=Situatie factura -InvoiceSituationAsk=Invoice following the situation -InvoiceSituationDesc=Create a new situation following an already existing one -SituationAmount=Situation invoice amount(net) -SituationDeduction=Situation subtraction +InvoiceSituationAsk=Factura urmarind situatia +InvoiceSituationDesc=Creaza o situatie noua urmarind una existenta deja +SituationAmount=Situatie valoare(neta) factura +SituationDeduction=Situatie scadere Progress=Progres ModifyAllLines=Modifica toate liniile CreateNextSituationInvoice=Creaza urmatoarea situatie -NotLastInCycle=This invoice in not the last in cycle and must not be modified. +NotLastInCycle=Aceasta factura ce nu se afla in ultimul ciclu si nu poate fi modificata, DisabledBecauseNotLastInCycle=URmatoarea situatie deja exista DisabledBecauseFinal=Aceasta situatie este finala -CantBeLessThanMinPercent=The progress can't be smaller than its value in the previous situation. +CantBeLessThanMinPercent=Progresul nu poate fi mai mic decat valoarea lui in precedenta situatie NoSituations=Nicio situatie deschisa InvoiceSituationLast=Factura finala si generala diff --git a/htdocs/langs/ro_RO/commercial.lang b/htdocs/langs/ro_RO/commercial.lang index 78eb9aecfc7..14370ebe680 100644 --- a/htdocs/langs/ro_RO/commercial.lang +++ b/htdocs/langs/ro_RO/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Prospecte contactate DateActionPlanned=Dată realizare prevăzută DateActionDone=Dată realizare efectivă ActionAskedBy=Eveniment Ć®nregistrat de -ActionAffectedTo=Evenimente aparÅ£inĆ¢nd de +ActionAffectedTo=Event assigned to ActionDoneBy=Eveniment realizat de către ActionUserAsk=Raportat de ErrorStatusCantBeZeroIfStarted=Dacă cĆ¢mpul "Data reală debut realizare" este completat, acÅ£iunea este Ć®ncepută (sau terminată), astfel cĆ¢mpul "Status" nu poate fi 0%%. diff --git a/htdocs/langs/ro_RO/compta.lang b/htdocs/langs/ro_RO/compta.lang index e400f9eab79..71204246fb0 100644 --- a/htdocs/langs/ro_RO/compta.lang +++ b/htdocs/langs/ro_RO/compta.lang @@ -29,7 +29,7 @@ ReportTurnover=Cifra de afaceri PaymentsNotLinkedToInvoice=Plăţile nu sunt legate de orice factură, astfel Ć®ncĆ¢t nu au legătură cu o terţă parte PaymentsNotLinkedToUser=Plăţile nu sunt legate de orice utilizator Profit=Profit -AccountingResult=Accounting result +AccountingResult=Rezultatl contabil Balance=Sold Debit=Debit Credit=Credit diff --git a/htdocs/langs/ro_RO/contracts.lang b/htdocs/langs/ro_RO/contracts.lang index c90c961b9b9..7f300527533 100644 --- a/htdocs/langs/ro_RO/contracts.lang +++ b/htdocs/langs/ro_RO/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Expirat ServiceStatusClosed=Ǝnchis ServicesLegend=Legendă Servicii Contracts=Contracte +ContractsAndLine=Contracts and line of contracts Contract=Contract NoContracts=Niciun contract MenuServices=Servicii diff --git a/htdocs/langs/ro_RO/cron.lang b/htdocs/langs/ro_RO/cron.lang index 173adce646a..381d59c19bc 100644 --- a/htdocs/langs/ro_RO/cron.lang +++ b/htdocs/langs/ro_RO/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL-ul pentru a verifica și a lansa joburi cron, dacă este OrToLaunchASpecificJob=Sau pentru a verifica și a lansa un anumit job KeyForCronAccess=Cheie de securitate pentru URL de lansare a joburilor cron FileToLaunchCronJobs=Linie de comandă pentru lansare joburi 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 +CronExplainHowToRunUnix=Pe mediul Unix veÅ£i utiliza instrumentul crontab pentru a rula urmatoarea linia de comanda la fiecare 5 minute +CronExplainHowToRunWin=Pe mediul Microsoft(tm) Windows puteÅ£i utiliza instrumentul Scheduled task pentru a rula linia de comanda la fiecare 5 minute # Menu CronJobs=Joburi programate CronListActive=Lista activelor/programatelor joburi @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ro_RO/errors.lang b/htdocs/langs/ro_RO/errors.lang index 943cfbc57d5..8e73996c24d 100644 --- a/htdocs/langs/ro_RO/errors.lang +++ b/htdocs/langs/ro_RO/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Sursa obiective şi conturi bancare trebuie să f ErrorBadThirdPartyName=Bad valoarea de terţă parte nume ErrorProdIdIsMandatory=%s este obligatoriu ErrorBadCustomerCodeSyntax=Bad sintaxă pentru codul de client -ErrorBadBarCodeSyntax=Bad sintaxă pentru furnizor cod +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=Clientul codul necesar ErrorBarCodeRequired=Cod de bare cerut ErrorCustomerCodeAlreadyUsed=Clientul codul folosit deja @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript nu trebuie să fie dezactivate pentru a ErrorPasswordsMustMatch=Ambele parolele tastate trebuie să se potrivească reciproc ErrorContactEMail=O eroare de tehnică avut loc. Vă rugăm, contactaÅ£i administratorul de a urma %s de e-mail ro oferi %s cod de eroare Ć®n mesajul Dvs., sau chiar mai bine prin adăugarea o copie ecran a acestei pagini. ErrorWrongValueForField=Valoarea greşit pentru %s numărul de cĆ¢mp (valoarea "%s" nu se potriveste cu regula %s regex) -ErrorFieldValueNotIn=Valoare greşită pentru %s numărul de cĆ¢mp ("%s" valoare nu este o valoare disponibile Ć®n %s teren de %s de masă) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Valoare greşită pentru %s numărul de cĆ¢mp ("%s" valoarea nu este o ref %s existente) ErrorsOnXLines=Erori pe liniile sursă %s ErrorFileIsInfectedWithAVirus=Programul antivirus nu a validet fisierul (fisierul ar putea fi infectat cu un virus) @@ -159,7 +159,8 @@ ErrorPriceExpression22=Rezultat negativ '%s' ErrorPriceExpressionInternal=Eroare internă '%s' ErrorPriceExpressionUnknown=Eroare Necunoscută '%s' ErrorSrcAndTargetWarehouseMustDiffers=Depozitul sursă și țintă trebuie să difere -ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorTryToMakeMoveOnProductRequiringBatchData=Eroare, se incerarca să se facă o mișcare de stoc, fără informații de lot / serie, pe un produs care necesită informații de lot /serie +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ro_RO/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/ro_RO/install.lang b/htdocs/langs/ro_RO/install.lang index e74102c3b63..c4a8956bc4d 100644 --- a/htdocs/langs/ro_RO/install.lang +++ b/htdocs/langs/ro_RO/install.lang @@ -155,7 +155,8 @@ MigrationFinished=MigraÅ£ia terminată LastStepDesc=Ultimul pas: Definirea aici nume de utilizator şi parola pe care intenÅ£ionaÅ£i să Ć®l utilizaÅ£i pentru conectarea la software-ul. Nu pierde aceasta ca este cont pentru a administra toate celelalte. ActivateModule=ActivaÅ£i modul %s ShowEditTechnicalParameters=Click aici pentru a vedea / edita parametrii avansaÅ£i (mod 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... +WarningUpgrade=Avertisment:\nAti facut o copie de rezervă a bazei de date mai Ć®ntĆ¢i? \nAcest lucru este foarte recomandat: de exemplu, din cauza unor bug-uri Ć®n sistemele de baze de date (de exemplu, mysql versiune 5.5.40), unele date sau tabele pot fi pierdute Ć®n timpul acestui proces, de aceea este foarte recomandat să aveți o copie completa a bazei de date Ć®naintea pornirii migrariii.\n\nFaceți clic pe OK pentru a Ć®ncepe procesul de migrare ... +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 @@ -207,7 +208,7 @@ MigrationProjectTaskTime=Actualizare de timp petrecut Ć®n secunde MigrationActioncommElement=Actualizare date pe acÅ£iuni MigrationPaymentMode=Migrare de date pentru modul de plată MigrationCategorieAssociation=Migrarea categoriilor -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=Migrația evenimentelor pentru a adăuga proprietarului evenimentul Ć®n tabelul de atribuire ShowNotAvailableOptions=Afişează opÅ£iunile nedisponibile HideNotAvailableOptions=Acunde opÅ£iunile nedisponibile diff --git a/htdocs/langs/ro_RO/languages.lang b/htdocs/langs/ro_RO/languages.lang index d2edf76d388..483e5b1caa3 100644 --- a/htdocs/langs/ro_RO/languages.lang +++ b/htdocs/langs/ro_RO/languages.lang @@ -13,7 +13,7 @@ Language_de_AT=Germană (Austria) Language_de_CH=Germană (ElveÅ£ia) Language_el_GR=Greacă Language_en_AU=Engleză (Australia) -Language_en_CA=English (Canada) +Language_en_CA=Engleză (Canada) Language_en_GB=Engleză (Marea Britanie) Language_en_IN=Engleză (India) Language_en_NZ=Engleză (Noua Zeelandă) diff --git a/htdocs/langs/ro_RO/main.lang b/htdocs/langs/ro_RO/main.lang index c540d9d4dc2..0b2b2e1411c 100644 --- a/htdocs/langs/ro_RO/main.lang +++ b/htdocs/langs/ro_RO/main.lang @@ -141,6 +141,7 @@ Cancel=Anulează Modify=Modifică Edit=Editează Validate=Validează +ValidateAndApprove=Validate and Approve ToValidate=De validat Save=Salvează SaveAs=Salvează ca @@ -158,6 +159,7 @@ Search=Caută SearchOf=Căutare Valid=Validează Approve=AprobaÅ£i +Disapprove=Disapprove ReOpen=Redeaschide Upload=Trimite fişier ToLink=Link @@ -219,6 +221,7 @@ Cards=Fişe Card=Fişă Now=Acum Date=Dată +DateAndHour=Date and hour DateStart=Dată Ć®nceput DateEnd=Dată sfĆ¢rşit DateCreation=Dată creare @@ -295,6 +298,7 @@ UnitPriceHT=Preț unitar (net) UnitPriceTTC=Preț unitar PriceU=UP PriceUHT=UP (net) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=Valoare AmountInvoice=Valoare Factură @@ -521,6 +525,7 @@ DateFromTo=De la %s la %s DateFrom=ƎncepĆ¢nd cu %s DateUntil=PĆ¢nă Ć®n %s Check=Verifică +Uncheck=Uncheck Internal=Intern External=Extern Internals=Interne @@ -688,6 +693,7 @@ PublicUrl=URL Public AddBox=Adauga box SelectElementAndClickRefresh=Selectează un element şi click Refresh PrintFile=Printeaza Fisierul %s +ShowTransaction=Show transaction # Week day Monday=Luni Tuesday=MarÅ£i diff --git a/htdocs/langs/ro_RO/orders.lang b/htdocs/langs/ro_RO/orders.lang index e1604cf5fd4..90ef9c964c1 100644 --- a/htdocs/langs/ro_RO/orders.lang +++ b/htdocs/langs/ro_RO/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Anulată StatusOrderDraft=Schiţă (de validat) StatusOrderValidated=Validată StatusOrderOnProcess=Comandate - receptie standby +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Procesată StatusOrderToBill=Livrată StatusOrderToBill2=De facturat @@ -58,6 +59,7 @@ MenuOrdersToBill=Comenzi livrate MenuOrdersToBill2=Comenzi facturabile SearchOrder=Caută Comanda SearchACustomerOrder=Caută o comandă client +SearchASupplierOrder=Search a supplier order ShipProduct=Expediază produs Discount=Discount CreateOrder=Crează Comanda diff --git a/htdocs/langs/ro_RO/other.lang b/htdocs/langs/ro_RO/other.lang index b5114764699..123684dfc4e 100644 --- a/htdocs/langs/ro_RO/other.lang +++ b/htdocs/langs/ro_RO/other.lang @@ -54,12 +54,13 @@ MaxSize=Mărimea maximă a AttachANewFile=AtaşaÅ£i un fişier nou / document LinkedObject=Legate de obiectul Miscellaneous=Diverse -NbOfActiveNotifications=Număr de notificări +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Acesta este un e-mail de test. \\ NMesajul două linii sunt separate printr-un retur de car. PredefinedMailTestHtml=Acesta este un e-mail de testare (test de cuvĆ¢nt trebuie să fie Ć®n aldine).
    Cele două linii sunt separate printr-un retur de car. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nVeÅ£i găsi aici factura __FACREF__\n\n__PERSONALIZED__Cu respect\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ \n\n Am dori să vă avertizăm că factura __FACREF__ pare a nu fi platită. Deci, vă ataşăm din nou factura, ca un memento. \n\n__PERSONALIZED__ Cu respect \n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nVeÅ£i găsi aici oferta comercială__PROPREF__\n\n__PERSONALIZED__Cu respect\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nVeÅ£i găsi aici comanda __ORDERREF__\n\n__PERSONALIZED__Cu respect\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nYVeÅ£i găsi aici comanda noastră__ORDERREF__\n\n__PERSONALIZED__Cu respect\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nVeÅ£i găsi aici factura __FACREF__\n\n__PERSONALIZED__Cu respect\n\n__SIGNATURE__ diff --git a/htdocs/langs/ro_RO/printing.lang b/htdocs/langs/ro_RO/printing.lang new file mode 100644 index 00000000000..92a4f5353fd --- /dev/null +++ b/htdocs/langs/ro_RO/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Imprimare directa +Module112000Desc=Activeaza Sistemul Imprimare directa\n\n +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) +FileWasSentToPrinter=Fișierul %s a fost trimis la imprimantă +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 3adfd9dfc8d..0337f1f875e 100644 --- a/htdocs/langs/ro_RO/productbatch.lang +++ b/htdocs/langs/ro_RO/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Lot / Număr de serie l_eatby=Data expirare l_sellby=Data vĆ¢nzare DetailBatchNumber=Detalii Lot / Serie -DetailBatchFormat=Lot / Serie:%s - E:%s - S:%s (Cant.: %d) +DetailBatchFormat=Lot/Serie: %s - Mananca de: %s - Vindem de: %s (Cant : %d) printBatch=Lot: %s printEatby=Expiră : %s printSellby=Vanzare: %s diff --git a/htdocs/langs/ro_RO/products.lang b/htdocs/langs/ro_RO/products.lang index be764a715a5..0a803535194 100644 --- a/htdocs/langs/ro_RO/products.lang +++ b/htdocs/langs/ro_RO/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Cont Contabilitate (vĆ¢nzare) ProductOrService=Produs sau serviciu ProductsAndServices=Produse si Servicii ProductsOrServices=Produse sau servicii -ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +ProductsAndServicesOnSell=Produse si Servicii supuse vĆ¢nzării sau cumpărării +ProductsAndServicesNotOnSell=Produse si Servicii neoferite ProductsAndServicesStatistics=Statistici Produse si Servicii ProductsStatistics=Statistici Produse -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=Produs supus vĆ¢nzării sau cumpărării +ProductsNotOnSell=Produs nesupus vĆ¢nzării sau cumpărării +ProductsOnSellAndOnBuy=Produse supuse vĆ¢nzării sau cumpărării +ServicesOnSell=Servicii supuse vĆ¢nzării sau cumpărării +ServicesNotOnSell=Servicii neoferite prestarii +ServicesOnSellAndOnBuy=Servicii supuse vĆ¢nzării sau cumpărării InternalRef=Referinţă internă LastRecorded=Ultimele produse / servicii disponibile Ć®nregistrate LastRecordedProductsAndServices=Ultimele %s produse / servicii Ć®nregistrate @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Această opÅ£iune vă permite să creaÅ£i sau clonaÅ£i un CurrentProductPrice=PreÅ£ curent AlwaysUseNewPrice=Ǝntotdeauna foloseşte preÅ£ul curent al produsului/serviciului AlwaysUseFixedPrice=Foloseşte preÅ£ul fix -PriceByQuantity=Different prices by quantity +PriceByQuantity=PreÅ£uri diferite pe cantitate PriceByQuantityRange=Interval cantitate ProductsDashboard=Sumar Produse/Servicii UpdateOriginalProductLabel=Modifică eticheta originală @@ -234,7 +234,7 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Definiția tipului sau valoarea codu BarCodeDataForProduct=InformaÅ£ii cod bare al produsului %s : BarCodeDataForThirdparty=InformaÅ£ii cod bare al terÅ£ului %s : ResetBarcodeForAllRecords=Defineşte valoare coduri de bare pentru toate Ć®nregistrările (aceasta va reseta, de asemenea, valorile deja definite, cu valori noi) -PriceByCustomer=Different price for each customer +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 @@ -244,9 +244,13 @@ MinimumPriceLimit=PreÅ£ul minim nu poate fi mai mic decat %s MinimumRecommendedPrice=PreÅ£ul minim recomandat este: %s PriceExpressionEditor=Editor expresie preț PriceExpressionSelected=Expresie preț selectatată -PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions -PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# -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# +PriceExpressionEditorHelp1="pret = 2 + 2" sau "2 + 2" pentru setarea pretului. Foloseste ; tpentru separarea expresiilor +PriceExpressionEditorHelp2=Puteți accesa ExtraFields cu variabile, cum ar fi #options_myextrafieldkey# +PriceExpressionEditorHelp3=In ambele preturi produs/serviciu si furnizori sunt disponibile variabilele:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=In pret produs/serviciu numai: #supplier_min_price#
    In pret furnizor numai: #supplier_quantity# and #supplier_tva_tx# PriceMode=Mod preț PriceNumeric=Număr +DefaultPrice=Preț Implicit +ComposedProductIncDecStock=Mărește/micșorează stoc pe schimbări sintetice +ComposedProduct=Sub-produs +MinSupplierPrice=Preț Minim furnizor diff --git a/htdocs/langs/ro_RO/projects.lang b/htdocs/langs/ro_RO/projects.lang index 52938a5e6eb..5138b13125f 100644 --- a/htdocs/langs/ro_RO/projects.lang +++ b/htdocs/langs/ro_RO/projects.lang @@ -3,13 +3,15 @@ RefProject=Ref. proiect ProjectId=ID proiect Project=Proiect Projects=Proiecte -ProjectStatus=Project status +ProjectStatus=Statut Proiect SharedProject=Toată lumea PrivateProject=Contacte proiect MyProjectsDesc=Această vedere este limitată la proiecte sau sarcini pentru care sunteÅ£i contact(indiferent de tip). ProjectsPublicDesc=Această vedere prezintă toate proiectele la care aveÅ£i permisiunea să le citiÅ£i. +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). 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). ProjectsArea=Proiecte @@ -29,6 +31,8 @@ NoProject=Niciun proiect definit sau responsabil NbOpenTasks=Nr taskuri deschise NbOfProjects=Nr proiecte TimeSpent=Timp comsumat +TimeSpentByYou=Timpul consumat da tine +TimeSpentByUser=Timp consumat pe utilizator TimesSpent=Timpi consumaÅ£i RefTask=Ref. Task LabelTask=Eticheta Task @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lista comenzi furnizori asociate la proie ListSupplierInvoicesAssociatedProject=Lista facturi furnizori asociate la proiect ListContractAssociatedProject=Lista contracte asociate la proiect ListFichinterAssociatedProject=Lista intervenÅ£ii asociate la proiectului -ListTripAssociatedProject=Lista note de cheltuieli asociate la proiect +ListExpenseReportsAssociatedProject=Lista rapoartelor cheltuieli asociate proiectului ListActionsAssociatedProject=Lista evenimentelor asociate la proiectului ActivityOnProjectThisWeek=Activitatea de pe proiect Ć®n această săptămĆ¢nă ActivityOnProjectThisMonth=Activitatea de pe proiect Ć®n această lună @@ -103,7 +107,7 @@ CloneContacts=Clonează contacte CloneNotes=Clonează note CloneProjectFiles=Clonează proiect fişiere ataşate CloneTaskFiles=Clonează task(uri) fişiere ataşate (dacă task (urile) clonate) -CloneMoveDate=Update project/tasks dates from now ? +CloneMoveDate=Actualizeaza datele proiectului/ taskului din acest moment ? ConfirmCloneProject=Sigur vreÅ£i să clonaÅ£i acest proiect? ProjectReportDate=Schimbă data taskului conform cu data de debut a proiectului ErrorShiftTaskDate=Imposibil de schimbat data taskului conform cu noua data de debut a proiectului @@ -126,10 +130,15 @@ AddElement=Link către element UnlinkElement=Element nelegat # Documents models DocumentModelBaleine=Modelul de rapor al unui proiect complet t (logo. ..) -PlannedWorkload = Volum de lucru Planificat -WorkloadOccupation= Volum de lucru Procent +PlannedWorkload=Volum de lucru Planificat +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Obiecte asociate SearchAProject=Cauta proiect ProjectMustBeValidatedFirst=Proiectul trebuie validat mai Ć®ntĆ¢i ProjectDraft=Proiecte schiţă FirstAddRessourceToAllocateTime=Asociază o resursă la timpul alocat +InputPerDay=Intrare pe zi +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Timpul consumat deja Ć®nregistrat pentru această sarcină / zi și utilizator %s diff --git a/htdocs/langs/ro_RO/salaries.lang b/htdocs/langs/ro_RO/salaries.lang index 3dde850405b..232688c5b4d 100644 --- a/htdocs/langs/ro_RO/salaries.lang +++ b/htdocs/langs/ro_RO/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Plati salarii ShowSalaryPayment=Arata plata salariu THM=Pret mediu pe ora TJM=Pret mediu zilnic +CurrentSalary=Salariu curent diff --git a/htdocs/langs/ro_RO/sendings.lang b/htdocs/langs/ro_RO/sendings.lang index b023dbc1610..fd669e5577a 100644 --- a/htdocs/langs/ro_RO/sendings.lang +++ b/htdocs/langs/ro_RO/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Cant. comandată QtyShipped=Cant. livrată QtyToShip=Cant. de livrat QtyReceived=Cant. primită -KeepToShip=Rest de livrat +KeepToShip=Remain to ship OtherSendingsForSameOrder=Alte livrări pentru această comandă DateSending=Data dispoziÅ£iei de livrare DateSendingShort=Data disp. de livrare @@ -62,12 +62,12 @@ ShipmentCreationIsDoneFromOrder=Pentru moment, crearea unei noi livrări se face RelatedShippings=Livrări asociate ShipmentLine=Linie de livrare CarrierList=Lista transportatori -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 +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 +ProductQtyInSuppliersShipmentAlreadyRecevied=Cantitate produs din comenzile furnizorilor deschise deja primite # Sending methods SendingMethodCATCH=Colectată de client diff --git a/htdocs/langs/ro_RO/stocks.lang b/htdocs/langs/ro_RO/stocks.lang index 24a5083aae4..8e22013d8e4 100644 --- a/htdocs/langs/ro_RO/stocks.lang +++ b/htdocs/langs/ro_RO/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Valoric PMP PMPValueShort=WAP EnhancedValueOfWarehouses=Stoc valoric UserWarehouseAutoCreate=CreaÅ£i un stoc Ć®n mod automat atunci cĆ¢nd se creează un utilizator +IndependantSubProductStock=Stocul de produse și stocul de subproduse sunt independente QtyDispatched=Cantitate dipecerizată QtyDispatchedShort=Cant Expediate QtyToDispatchShort=Cant de expediat @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Depozitul %s va fi utilizat pentru scăderea st 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 cu toate comenzile furnizor deschise +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. 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) @@ -130,3 +131,4 @@ IsInPackage=Continute in pachet ShowWarehouse=Arată depozit MovementCorrectStock=Corectie continut stoc pentru produsul %s MovementTransferStock=Transfer stoc al produsului %s in alt depozit +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. diff --git a/htdocs/langs/ro_RO/suppliers.lang b/htdocs/langs/ro_RO/suppliers.lang index 057f6dab55f..19ea854686f 100644 --- a/htdocs/langs/ro_RO/suppliers.lang +++ b/htdocs/langs/ro_RO/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Furnizori -Supplier=Furnizor AddSupplier=Crează un furnizor SupplierRemoved=Furnizor şters SuppliersInvoice=Factură furnizor @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Facturi Furnizor şi plăţi ExportDataset_fournisseur_3=Comenzi furnizori si lini comenzi ApproveThisOrder=Aprobă această comandă ConfirmApproveThisOrder=Sigur doriÅ£i să aprobaÅ£i această comandă %s? -DenyingThisOrder=Refuză comanda +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Sigur doriÅ£i să refuzaÅ£i această comandă %s? ConfirmCancelThisOrder=Sigur doriÅ£i să anulaÅ£i această comandă %s? AddCustomerOrder=Crează comandă client @@ -42,5 +41,5 @@ NoneOrBatchFileNeverRan=Nici una sau tratate %s ne executate recent SentToSuppliers=Trimite la furnizori ListOfSupplierOrders=Lista comenzi furnizori MenuOrdersSupplierToBill=Comenzi Furnizor de facturat -NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +NbDaysToDelivery= IntĆ¢rziere Livrare in zile +DescNbDaysToDelivery=Cea mai mare intarziere este afisata in lista produsului comandat diff --git a/htdocs/langs/ro_RO/trips.lang b/htdocs/langs/ro_RO/trips.lang index a606801617c..88c9d0a73a4 100644 --- a/htdocs/langs/ro_RO/trips.lang +++ b/htdocs/langs/ro_RO/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Deplasare -Trips=Deplasări -TripsAndExpenses=Deplasări şi cheltuieli -TripsAndExpensesStatistics=Statistici Deplasări şi cheltuieli -TripCard=Fişă Deplasare -AddTrip=Creare deplasare -ListOfTrips=Lista deplasări +ExpenseReport=Raport Cheltuieli +ExpenseReports=Rapoarte Cheltuieli +Trip=Raport Cheltuieli +Trips=Rapoarte Cheltuieli +TripsAndExpenses=Rapoarte Cheltuieli +TripsAndExpensesStatistics=Statistici Rapoarte Cheltuieli +TripCard=Fisa Raport Cheltuieli +AddTrip=Creare Raport Cheltuieli +ListOfTrips=Listă rapoarte de cheltuieli ListOfFees=Lista note cheltuieli -NewTrip=Deplasare nouă +NewTrip= Raport de cheltuieli nou CompanyVisited=Societatea / InstituÅ£ia vizitată Kilometers=Kilometri FeesKilometersOrAmout=Valoarea sau km -DeleteTrip=Şterge Deplasare -ConfirmDeleteTrip=Sigur doriÅ£i să ştergeÅ£i aceasăt Deplasarei ? -TF_OTHER=Altele -TF_LUNCH=PrĆ¢nz -TF_TRIP=Deplasare -ListTripsAndExpenses=Lista Deplasări şi cheltuieli -ExpensesArea=Deplasări şi cheltuieli -SearchATripAndExpense=Caută o deplasare şi cheltuială +DeleteTrip=Șterge raport de cheltuieli +ConfirmDeleteTrip=Sunteți sigur că doriți să ștergeți acest raport cheltuieli? +ListTripsAndExpenses=Listă rapoarte de cheltuieli +ListToApprove=Ǝn așteptare pentru aprobare +ExpensesArea=Rapoarte de cheltuieli +SearchATripAndExpense=Căutați un raport de cheltuieli ClassifyRefunded=Clasează "Rambursată" +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 Raport de cheltuieli +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 +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 +TF_OTHER=Altele +TF_TRANSPORTATION=Transport +TF_LUNCH=PrĆ¢nz +TF_METRO=Metrou +TF_TRAIN=Tren +TF_BUS=Autobuz +TF_CAR=Mașină +TF_PEAGE=Taxă +TF_ESSENCE=Combustibil +TF_HOTEL=Hostel +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 +AddLineMini=Adaugă + +Date_DEBUT=Perioada Dată Ć®nceput +Date_FIN=Perioada Dată sfĆ¢rşit +ModePaiement=Mod plata +Note=Notă +Project=Proiect + +VALIDATOR=Utilizatorul de informat pentru aprobare +VALIDOR=Aprobat de +AUTHOR=Ǝnregistrat de +AUTHORPAIEMENT=Platit de +REFUSEUR=Respins de +CANCEL_USER=Anulat de + +MOTIF_REFUS=Motiv +MOTIF_CANCEL=Motiv + +DATE_REFUS=Dată respingere +DATE_SAVE=Dată validare +DATE_VALIDE=Dată validare +DateApprove=Data Aprobare +DATE_CANCEL=Data anulare +DATE_PAIEMENT=Data Plata + +Deny=Respinge +TO_PAID=Plăteşte +BROUILLONNER=Redeschide +SendToValid=Trimis la aprobare +ModifyInfoGen=Editare +ValidateAndSubmit=Validareaza și trimite pentru aprobare + +NOT_VALIDATOR=Nu aveti permisiunea să aprobati acest raport de cheltuieli +NOT_AUTHOR=Tu nu esti autorul acestui raport de cheltuieli. Operatiune anulata. + +RefuseTrip=Respinge un raport de cheltuieli +ConfirmRefuseTrip=Sunteți sigur că doriți să respingeti acest raport cheltuieli? + +ValideTrip=Aproba raport de cheltuieli +ConfirmValideTrip=Sunteți sigur că doriți să aprobati acest raport cheltuieli? + +PaidTrip=Plăste un raport de cheltuieli +ConfirmPaidTrip=SunteÅ£i sigur că doriÅ£i sa clasati acest raport de cheltuieli ca "Platit" ? + +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" +ConfirmBrouillonnerTrip=Are you sure you want to move this expense report to status "Draft" ? + +SaveTrip=Valideaza raport de cheltuieli +ConfirmSaveTrip=Are you sure you want to validate this expense report ? + +Synchro_Compta=NDF <-> Cont + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Vezi Contul + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Niciun proiect selectat +NO_DATE=Nicio data selectata +NO_PRICE=Nici unul pret indicat. + +TripForValid=De validat +TripForPaid=De platit +TripPaid=Platit + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ro_RO/withdrawals.lang b/htdocs/langs/ro_RO/withdrawals.lang index 73cb1153bd5..28dd4d7d3c9 100644 --- a/htdocs/langs/ro_RO/withdrawals.lang +++ b/htdocs/langs/ro_RO/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Credit pe WithdrawalFileNotCapable=Imposibil de a genera fișierul chitanţă de retragere pentru țara dvs %s (Țara dvs. nu este acceptată) ShowWithdraw=Arată Retragere IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Cu toate acestea, dacă factura are cel puțin o plată de retragere Ć®ncă neprelucrată, aceasta nu va fi setată ca plătită permite Ć®n prealabil gestionarea retragerii. -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. +DoStandingOrdersBeforePayments=Acest tab vă permite să solicitaÅ£i un ordin de plată. Odată ce este dat intră Ć®n meniul Bancă-> Retragere pentru a gestiona ordinul de plată. CĆ¢nd ordinul de plată este Ć®nchis, plata pe factura va fi Ć®nregistrată Ć®n mod automat, iar factura Ć®nchisă dacă restul de plata este nul. WithdrawalFile=Fişier Retragere SetToStatusSent=Setează statusul "Fişier Trimis" ThisWillAlsoAddPaymentOnInvoice=Aceasta se va aplica, de asemenea, plății facturilor și vor fi clasificate ca "Plătit" diff --git a/htdocs/langs/ro_RO/workflow.lang b/htdocs/langs/ro_RO/workflow.lang index 2f1ffaae228..4dc8c56927b 100644 --- a/htdocs/langs/ro_RO/workflow.lang +++ b/htdocs/langs/ro_RO/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Configurare Modul Flux de Lucru -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. +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ă diff --git a/htdocs/langs/ru_RU/admin.lang b/htdocs/langs/ru_RU/admin.lang index 505b6b9dce2..9a7af148909 100644 --- a/htdocs/langs/ru_RU/admin.lang +++ b/htdocs/langs/ru_RU/admin.lang @@ -8,6 +8,11 @@ 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=ID сессии SessionSaveHandler=ŠžŠ±Ń€Š°Š±Š¾Ń‚Ń‡ŠøŠŗ Š“Š»Ń ŃŠ¾Ń…Ń€Š°Š½ŠµŠ½ŠøŃ сессий SessionSavePath=Єранение сессии локализации @@ -493,10 +498,16 @@ Module600Name=Š£Š²ŠµŠ“Š¾Š¼Š»ŠµŠ½ŠøŃ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=ŠŸŠ¾Š¶ŠµŃ€Ń‚Š²Š¾Š²Š°Š½ŠøŃ Module700Desc=ŠŸŠ¾Š¶ŠµŃ€Ń‚Š²Š¾Š²Š°Š½ŠøŃ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ +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 интеграции Module1400Name=Š‘ŃƒŃ…Š³Š°Š»Ń‚ŠµŃ€ŠøŃ ŃŠŗŃŠæŠµŃ€Ń‚ Module1400Desc=Š‘ŃƒŃ…Š³Š°Š»Ń‚ŠµŃ€ŠøŃ ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ Š“Š»Ń ŃŠŗŃŠæŠµŃ€Ń‚Š¾Š² (Š“Š²Š¾Š¹Š½Š°Ń сторон) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=ŠšŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŠø Module1780Desc=ŠšŠ°Ń‚ŠµŠ³Š¾Ń€ŠøŠø ŃƒŠæŃ€Š°Š²Š»ŠµŠ½ŠøŃ (ŠæŃ€Š¾Š“ŃƒŠŗŃ†ŠøŠø, поставщиков Šø заказчиков) Module2000Name=FCKeditor @@ -631,7 +642,7 @@ Permission181=Š§ŠøŃ‚Š°Ń‚ŃŒ поставщик заказов Permission182=Š”Š¾Š·Š“Š°Ń‚ŃŒ / ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ поставщика заказы Permission183=ŠŸŃ€Š¾Š²ŠµŃ€ŠŗŠ° поставщиком заказов Permission184=ŠžŠ“Š¾Š±Ń€ŠøŃ‚ŃŒ поставщик заказов -Permission185=Заказ ŠæŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗŃƒ заказов +Permission185=Order or cancel supplier orders Permission186=ŠŸŃ€ŠøŠµŠ¼ заказов ŠæŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗŃƒ Permission187=Š—Š°ŠŗŃ€Ń‹Ń‚ŃŒ поставщик заказов Permission188=ŠžŃ‚Š¼ŠµŠ½Š° заказов ŠæŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗŃƒ @@ -711,6 +722,13 @@ Permission538=Экспорт услуг Permission701=Š§ŠøŃ‚Š°Ń‚ŃŒ пожертвований Permission702=Š”Š¾Š·Š“Š°Ń‚ŃŒ / ŠøŠ·Š¼ŠµŠ½ŠøŃ‚ŃŒ пожертвований Permission703=Š£Š“Š°Š»ŠøŃ‚ŃŒ пожертвований +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=Š§ŠøŃ‚Š°Ń‚ŃŒ запасов Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ŠŸŠ°Ń€Š¾Š»ŃŒ Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ прокси-се DefineHereComplementaryAttributes=ŠžŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ зГесь все Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹, а не уже Š“Š¾ŃŃ‚ŃƒŠæŠ½Ń‹ по ŃƒŠ¼Š¾Š»Ń‡Š°Š½ŠøŃŽ, Šø что вы хотите Š±Ń‹Ń‚ŃŒ ŠæŠ¾Š“Š“ŠµŃ€Š¶ŠøŠ²Š°ŠµŃ‚ŃŃ %s. ExtraFields=Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ ExtraFieldsLines=Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ (строки) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ (контрагенты) ExtraFieldsContacts=Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ (контакт/аГрес) ExtraFieldsMember=Š”Š¾ŠæŠ¾Š»Š½ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Šµ Š°Ń‚Ń€ŠøŠ±ŃƒŃ‚Ń‹ (Участник) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Доответствие ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š° / услуг FreeLegalTextOnProposal=ДвобоГный текст на коммерческие ŠæŃ€ŠµŠ“Š»Š¾Š¶ŠµŠ½ŠøŃ WatermarkOnDraftProposal=Š’Š¾Š“ŃŠ½Ń‹Šµ знаки на черновиках ŠšŠ¾Š¼Š¼ŠµŃ€Ń‡ŠµŃŠŗŠøŃ… преГложений ("ŠŠµŃ‚" если ŠæŃƒŃŃ‚о) 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=ŠŸŃ€ŠøŠŗŠ°Š· 'Management Setup OrdersNumberingModules=ŠŸŃ€ŠøŠŗŠ°Š·Ń‹ Š½ŃƒŠ¼ŠµŃ€Š°Ń†ŠøŠø моГулей @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Штрих-коГ типа ДКП BarcodeDescISBN=Штрих-коГ типа ISBN BarcodeDescC39=Штрих-коГ типа C39 BarcodeDescC128=Штрих-коГ типа C128 -GenbarcodeLocation=Штрих-коГ ŠæŠ¾ŠŗŠ¾Š»ŠµŠ½ŠøŃ ŃƒŃ‚ŠøŠ»ŠøŃ‚Ńƒ команГной строки (ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ŃŃ phpbarcode Š“Š²ŠøŠ³Š°Ń‚ŠµŠ»Ń Š“Š»Ń некоторых типов ŃˆŃ‚Ń€ŠøŃ…-коГов) +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Денежные счета, используемого Š“Š»Ń проГает CashDeskBankAccountForCheque= Дчет Š±ŃƒŠ“ŠµŃ‚ ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŃŒŃŃ Š“Š»Ń ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŃ выплат чеком CashDeskBankAccountForCB= Учетной записи Š“Š»Ń ŠøŃŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Š½ŠøŃ на ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠµ Генежных выплат по креГитным картам -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=ЗаклаГка ŠŠ°ŃŃ‚ройка Š¼Š¾Š“ŃƒŠ»Ń @@ -1569,3 +1597,7 @@ SortOrder=Sort order 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. diff --git a/htdocs/langs/ru_RU/banks.lang b/htdocs/langs/ru_RU/banks.lang index a2601286314..7325c4e6538 100644 --- a/htdocs/langs/ru_RU/banks.lang +++ b/htdocs/langs/ru_RU/banks.lang @@ -33,7 +33,11 @@ AllTime=Дначала Reconciliation=ŠŸŃ€ŠøŠ¼ŠøŃ€ŠµŠ½ŠøŠµ RIB=Bank Account Number IBAN=IBAN номера +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT число +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=ŠŸŠ¾ŃŃ‚Š¾ŃŠ½Š½Ń‹Šµ заказы StandingOrder=ŠŸŠ¾ŃŃ‚Š¾ŃŠ½Š½Š°Ń ŠæŠ¾Ń€ŃŠ“ŠŗŠ° Withdrawals=Š”Š½ŃŃ‚ŠøŠµ @@ -148,7 +152,7 @@ BackToAccount=ŠŸŠµŃ€ŠµŠ¹Ń‚Šø Šŗ Š¾Ń‚Š²ŠµŃ‚Ńƒ ShowAllAccounts=Шоу Š“Š»Ń всех ŃƒŃ‡ŠµŃ‚Š½Ń‹Ń… записей FutureTransaction=ДГелки в Futur. ŠŠø в коем ŃŠ»ŃƒŃ‡Š°Šµ Šŗ ŃŠ¾Š³Š»Š°ŃŠøŃ‚ŠµŠ»ŃŒŠ½Š¾Š¹ ŠæŃ€Š¾Ń†ŠµŠ“ŃƒŃ€Šµ. SelectChequeTransactionAndGenerate=Выбор / Ń„ŠøŠ»ŃŒŃ‚Ń€ ŠæŃ€Š¾Š²ŠµŃ€ŃŠµŃ‚, Š²ŠŗŠ»ŃŽŃ‡Š°Ń‚ŃŒ в ŠæŠ¾Š»ŃƒŃ‡ŠµŠ½ŠøŠø Гепозита проверки Šø нажмите кнопку "Š”Š¾Š·Š“Š°Ń‚ŃŒ". -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/ru_RU/bills.lang b/htdocs/langs/ru_RU/bills.lang index 35392a8c81e..a7eac867c68 100644 --- a/htdocs/langs/ru_RU/bills.lang +++ b/htdocs/langs/ru_RU/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=ŠŸŠ»Š°Ń‚ŠµŠ¶Šø уже сГеланы PaymentsBackAlreadyDone=Payments back already done PaymentRule=ŠŸŃ€Š°Š²ŠøŠ»Š° оплаты PaymentMode=Тип платежа -PaymentConditions=Š£ŃŠ»Š¾Š²ŠøŃ платежа -PaymentConditionsShort=Š£ŃŠ»Š¾Š²ŠøŃ платежа +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Думма платежа ValidatePayment=Validate payment PaymentHigherThanReminderToPay=ŠŸŠ»Š°Ń‚ŠµŠ¶ больше, чем в напоминании об оплате diff --git a/htdocs/langs/ru_RU/commercial.lang b/htdocs/langs/ru_RU/commercial.lang index ff6852de0f2..f60182a8f80 100644 --- a/htdocs/langs/ru_RU/commercial.lang +++ b/htdocs/langs/ru_RU/commercial.lang @@ -9,9 +9,9 @@ Prospect=ŠŸŃ€Š¾ŃŠæŠµŠŗŃ‚ Prospects=ŠŸŠµŃ€ŃŠæŠµŠŗŃ‚ŠøŠ²Ń‹ DeleteAction=Š£Š“Š°Š»ŠøŃ‚ŃŒ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ / заГачи NewAction=ŠŠ¾Š²Ń‹Šµ меры / заГачи -AddAction=Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ / заГачи -AddAnAction=Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ меры / заГачи -AddActionRendezVous=Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ Ń€Š°Š½Š“ŠµŠ²Ńƒ заГачи +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=ДвиГание ConfirmDeleteAction=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ эту Š·Š°Š“Š°Ń‡Ńƒ? CardAction=Š”ŠµŠ¹ŃŃ‚Š²ŠøŃ карточки @@ -44,8 +44,8 @@ DoneActions=Š”Š¾Š²ŠµŃ€ŃˆŠµŠ½Š¾ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ DoneActionsFor=Š”Š¾Š²ŠµŃ€ŃˆŠµŠ½Š¾ меры Š“Š»Ń %s ToDoActions=ŠŠµŠæŠ¾Š»Š½Ń‹Šµ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ ToDoActionsFor=ŠŠµŠæŠ¾Š»Š½Ń‹Šµ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ %s -SendPropalRef=ŠžŃ‚ŠæŃ€Š°Š²ŠøŃ‚ŃŒ коммерческое преГложение %s -SendOrderRef=ŠžŃ‚ŠæŃ€Š°Š²ŠøŃ‚ŃŒ заказ %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=ŠŠµ ŠæŃ€ŠøŠ¼ŠµŠ½ŃŠµŃ‚ŃŃ StatusActionToDo=Чтобы ŃŠ“ŠµŠ»Š°Ń‚ŃŒ StatusActionDone=Готово @@ -62,7 +62,7 @@ LastProspectContactDone=ŠšŠ¾Š½Ń‚Š°ŠŗŃ‚ сГелали DateActionPlanned=Дроки Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ, запланированные на DateActionDone=Дроки Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ сГелали ActionAskedBy=Действий, заГанных -ActionAffectedTo=Действий Š“Š»Ń ŠæŠ¾ŃŃ‚Ń€Š°Š“Š°Š²ŃˆŠøŃ… +ActionAffectedTo=Event assigned to ActionDoneBy=Действий, ŠæŃ€Š¾Š“ŠµŠ»Š°Š½Š½ŃƒŃŽ ActionUserAsk=Зарегистрировано ErrorStatusCantBeZeroIfStarted=Если поле 'Дата сГелали' заполнен, Гействие Š½Š°Ń‡ŠøŠ½Š°ŠµŃ‚ся (или закончили), так что поле "Š”Ń‚Š°Ń‚ŃƒŃ" не может Š±Ń‹Ń‚ŃŒ 0%%. diff --git a/htdocs/langs/ru_RU/contracts.lang b/htdocs/langs/ru_RU/contracts.lang index 16b0b7d4c85..d64ad647ab7 100644 --- a/htdocs/langs/ru_RU/contracts.lang +++ b/htdocs/langs/ru_RU/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Š˜ŃŃ‚ŠµŠŗ ServiceStatusClosed=Закрытые ServicesLegend=Услуги легенГа Contracts=Договоры +ContractsAndLine=Contracts and line of contracts Contract=Договор NoContracts=ŠŠµŃ‚ Гоговоров MenuServices=Услуги diff --git a/htdocs/langs/ru_RU/cron.lang b/htdocs/langs/ru_RU/cron.lang index 0646dce05fb..9cfdaf5e1d9 100644 --- a/htdocs/langs/ru_RU/cron.lang +++ b/htdocs/langs/ru_RU/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/ru_RU/errors.lang b/htdocs/langs/ru_RU/errors.lang index 8b096b83105..839f620bd6c 100644 --- a/htdocs/langs/ru_RU/errors.lang +++ b/htdocs/langs/ru_RU/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Š˜ŃŃ‚Š¾Ń‡Š½ŠøŠŗ Šø цели банковског ErrorBadThirdPartyName=ŠŠµŠæŃ€Š°Š²ŠøŠ»ŃŒŠ½Š¾Šµ значение Š“Š»Ń имени контрагента ErrorProdIdIsMandatory=%s ŃŠ²Š»ŃŠµŃ‚ŃŃ Š¾Š±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Š¼ ErrorBadCustomerCodeSyntax=ŠŸŠ»Š¾Ń…Š¾ синтаксис Š“Š»Ń заказчика коГ -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Š¢Ń€ŠµŠ±ŃƒŠµŃ‚ŃŃ коГ клиента ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=КоГ клиента уже ŠøŃŠæŠ¾Š»ŃŒŠ·ŃƒŠµŃ‚ся @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript не Голжна Š±Ń‹Ń‚ŃŒ Š¾Ń‚ŠŗŠ»ŃŽŃ‡ ErrorPasswordsMustMatch=ŠžŠ±Š° ввеГенных ŠæŠ°Ń€Š¾Š»Ń Голжны ŃŠ¾Š²ŠæŠ°Š“Š°Ń‚ŃŒ Š“Ń€ŃƒŠ³ с Š“Ń€ŃƒŠ³Š¾Š¼ ErrorContactEMail=Š¢ŠµŃ…Š½ŠøŃ‡ŠµŃŠŗŠ°Ń ошибка. ŠŸŠ¾Š¶Š°Š»ŃƒŠ¹ŃŃ‚Š°, Š¾Š±Ń€Š°Ń‚ŠøŃ‚ŠµŃŃŒ Šŗ Š°Š“Š¼ŠøŠ½ŠøŃŃ‚Ń€Š°Ń‚Š¾Ń€Ńƒ ŃŠ»ŠµŠ“ŃƒŃŽŃ‰ŃƒŃŽ ŃŠ»ŠµŠŗŃ‚Ń€Š¾Š½Š½ŃƒŃŽ ŠæŠ¾Ń‡Ń‚Ńƒ %s ан Š¾Š±ŠµŃŠæŠµŃ‡ŠøŃ‚ŃŒ %s коГ ошибки в ваше сообщение, или Гаже Š»ŃƒŃ‡ŃˆŠµ, Гобавив ŃŠŗŃ€Š°Š½ ŠŗŠ¾ŠæŠøŃŽ ŃŃ‚Š¾Š¹ страницы. ErrorWrongValueForField=ŠŠµŠ²ŠµŃ€Š½Š¾Šµ значение Š“Š»Ń области количество %s (значение %s "не ŃŠ¾Š¾Ń‚Š²ŠµŃ‚ŃŃ‚Š²ŃƒŠµŃ‚ Ń€ŠµŠ³ŃƒŠ»ŃŃ€Š½Š¾Šµ %s правило) -ErrorFieldValueNotIn=ŠŠµŠ²ŠµŃ€Š½Š¾Šµ значение Š“Š»Ń %s номер ŠæŠ¾Š»Ń %s значение не ŃŠ²Š»ŃŠµŃ‚ŃŃ значением Š“Š¾ŃŃ‚ŃƒŠæŠ½Ń‹ в поле %s таблицы %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=ŠŠµŠ²ŠµŃ€Š½Š¾Šµ значение Š“Š»Ń %s номер ŠæŠ¾Š»Ń (Ā«%s" значение не ŃŠ²Š»ŃŠµŃ‚ŃŃ %s ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŃŽŃ‰ŠøŃ… ссылка) ErrorsOnXLines=ŠžŃˆŠøŠ±ŠŗŠø на источник %s линий ErrorFileIsInfectedWithAVirus=ŠŠ½Ń‚ŠøŠ²ŠøŃ€ŃƒŃŠ½Š°Ń программа не смогла ŠæŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ файл (файл может Š±Ń‹Ń‚ŃŒ заражен Š²ŠøŃ€ŃƒŃŠ¾Š¼) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=ŠžŠ±ŃŠ·Š°Ń‚ŠµŠ»ŃŒŠ½Ń‹Šµ параметры не опреГелены diff --git a/htdocs/langs/ru_RU/incoterm.lang b/htdocs/langs/ru_RU/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/ru_RU/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/ru_RU/install.lang b/htdocs/langs/ru_RU/install.lang index a2512709918..2d2279104f8 100644 --- a/htdocs/langs/ru_RU/install.lang +++ b/htdocs/langs/ru_RU/install.lang @@ -156,6 +156,7 @@ LastStepDesc=ПослеГний шаг: ŠžŠæŃ€ŠµŠ“ŠµŠ»ŠøŃ‚ŃŒ Š· ActivateModule=ŠŠŗŃ‚ŠøŠ²ŠøŃ€Š¾Š²Š°Ń‚ŃŒ моГуль %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 diff --git a/htdocs/langs/ru_RU/main.lang b/htdocs/langs/ru_RU/main.lang index 8e120892b47..e98cf570ed8 100644 --- a/htdocs/langs/ru_RU/main.lang +++ b/htdocs/langs/ru_RU/main.lang @@ -141,6 +141,7 @@ Cancel=ŠžŃ‚Š¼ŠµŠ½Š° Modify=Š˜Š·Š¼ŠµŠ½ŠøŃ‚ŃŒ Edit=Š ŠµŠ“Š°ŠŗŃ‚ŠøŃ€Š¾Š²Š°Ń‚ŃŒ Validate=ŠŸŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ +ValidateAndApprove=Validate and Approve ToValidate=ŠŠ° проверке Save=Š”Š¾Ń…Ń€Š°Š½ŠøŃ‚ŃŒ SaveAs=Š”Š¾Ń…Ń€Š°Š½ŠøŃ‚ŃŒ как @@ -158,6 +159,7 @@ Search=Поиск SearchOf=Поиск Valid=Š”ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Ń‹Š¹ Approve=ŠžŠ“Š¾Š±Ń€ŠøŃ‚ŃŒ +Disapprove=Disapprove ReOpen=ŠŸŠµŃ€ŠµŠ¾Ń‚ŠŗŃ€Ń‹Ń‚ŃŒ Upload=ŠžŃ‚ŠæŃ€Š°Š²ŠøŃ‚ŃŒ файл ToLink=Дсылка @@ -219,6 +221,7 @@ Cards=ŠšŠ°Ń€Ń‚Š¾Ń‡ŠŗŠø Card=ŠšŠ°Ń€Ń‚Š¾Ń‡ŠŗŠ° Now=Дейчас Date=Дата +DateAndHour=Date and hour DateStart=Дата начала DateEnd=Дата Š¾ŠŗŠ¾Š½Ń‡Š°Š½ŠøŃ DateCreation=Дата ŃŠ¾Š·Š“Š°Š½ŠøŃ @@ -295,6 +298,7 @@ UnitPriceHT=Цена за ŠµŠ“ŠøŠ½ŠøŃ†Ńƒ (нетто) UnitPriceTTC=Цена за ŠµŠ“ŠøŠ½ŠøŃ†Ńƒ PriceU=Цена еГ. PriceUHT=Цена еГ. (нетто) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=Цена еГ. Amount=Думма AmountInvoice=Думма счета-Ń„Š°ŠŗŃ‚ŃƒŃ€Ń‹ @@ -521,6 +525,7 @@ DateFromTo=Š” %s по %s DateFrom=Š” %s DateUntil=До %s Check=ŠŸŃ€Š¾Š²ŠµŃ€ŠøŃ‚ŃŒ +Uncheck=Uncheck Internal=Š’Š½ŃƒŃ‚Ń€ŠµŠ½Š½ŠøŠ¹ External=Š’Š½ŠµŃˆŠ½ŠøŠ¹ Internals=Š’Š½ŃƒŃ‚Ń€ŠµŠ½Š½ŠøŠµ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ПонеГельник Tuesday=Вторник diff --git a/htdocs/langs/ru_RU/orders.lang b/htdocs/langs/ru_RU/orders.lang index 41bf0b62e66..aec90dd9d16 100644 --- a/htdocs/langs/ru_RU/orders.lang +++ b/htdocs/langs/ru_RU/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ŠžŃ‚Š¼ŠµŠ½ŠµŠ½ StatusOrderDraft=ŠŸŃ€Š¾ŠµŠŗŃ‚ (Голжно Š±Ń‹Ń‚ŃŒ поГтвержГено) StatusOrderValidated=ŠŸŠ¾Š“Ń‚Š²ŠµŃ€Š¶Š“ŠµŠ½Š½Ń‹Šµ StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=ŠžŠ±Ń€Š°Š±Š¾Ń‚Š°Š½Š¾ StatusOrderToBill=Š’ законопроекте StatusOrderToBill2=Š”Š»Ń Š²Ń‹ŃŃ‚Š°Š²Š»ŠµŠ½ŠøŃ @@ -58,6 +59,7 @@ MenuOrdersToBill=Заказы на законопроект MenuOrdersToBill2=Billable orders SearchOrder=Поиск тем SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=ДуГно ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š° Discount=ДкиГка CreateOrder=Š”Š¾Š·Š“Š°Ń‚ŃŒ заказ diff --git a/htdocs/langs/ru_RU/other.lang b/htdocs/langs/ru_RU/other.lang index 62d309beae8..867240f9b84 100644 --- a/htdocs/langs/ru_RU/other.lang +++ b/htdocs/langs/ru_RU/other.lang @@ -54,12 +54,13 @@ MaxSize=ŠœŠ°ŠŗŃŠøŠ¼Š°Š»ŃŒŠ½Ń‹Š¹ размер AttachANewFile=ŠŸŃ€ŠøŃŠ¾ŠµŠ“ŠøŠ½ŠøŃ‚ŃŒ новый файл / Š“Š¾ŠŗŃƒŠ¼ŠµŠ½Ń‚ LinkedObject=Š”Š²ŃŠ·Š°Š½Š½Ń‹Šµ Š¾Š±ŃŠŠµŠŗŃ‚ Miscellaneous=Разное -NbOfActiveNotifications=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ увеГомлений +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__ diff --git a/htdocs/langs/ru_RU/printing.lang b/htdocs/langs/ru_RU/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/ru_RU/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/ru_RU/productbatch.lang b/htdocs/langs/ru_RU/productbatch.lang index 864782023a0..45263681965 100644 --- a/htdocs/langs/ru_RU/productbatch.lang +++ b/htdocs/langs/ru_RU/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/ru_RU/products.lang b/htdocs/langs/ru_RU/products.lang index a8b06bf9c23..b777ee9ed23 100644 --- a/htdocs/langs/ru_RU/products.lang +++ b/htdocs/langs/ru_RU/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/ru_RU/projects.lang b/htdocs/langs/ru_RU/projects.lang index 23b620b3ce4..6fcad543512 100644 --- a/htdocs/langs/ru_RU/projects.lang +++ b/htdocs/langs/ru_RU/projects.lang @@ -8,8 +8,10 @@ SharedProject=ŠžŠ±Ń‰ŠøŠ¹ проект PrivateProject=ŠšŠ¾Š½Ń‚Š°ŠŗŃ‚Ń‹ проекта MyProjectsDesc=Эта точка Š·Ń€ŠµŠ½ŠøŃ ограничена проекты, которые Š’Ń‹ контакте (что бы ŃŃ‚Š¾ тип). 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). TasksPublicDesc=Эта точка Š·Ń€ŠµŠ½ŠøŃ ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Š»ŃŠµŃ‚ всех проектов Šø заГач, которые Š¼Š¾Š³ŃƒŃ‚ Ń‡ŠøŃ‚Š°Ń‚ŃŒ. TasksDesc=Эта точка Š·Ń€ŠµŠ½ŠøŃ ŠæŃ€ŠµŠ“ŃŃ‚Š°Š²Š»ŃŠµŃ‚ всех проектов Šø заГач (Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŠ¹ ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹ ŠæŃ€ŠµŠ“Š¾ŃŃ‚Š°Š²ŠøŃ‚ŃŒ вам Ń€Š°Š·Ń€ŠµŃˆŠµŠ½ŠøŠµ Š“Š»Ń просмотра всего). ProjectsArea=ŠŸŃ€Š¾ŠµŠŗŃ‚Ń‹ области @@ -29,6 +31,8 @@ NoProject=ŠŠµŃ‚ проекта опреГелена NbOpenTasks=Nb открытых заГач NbOfProjects=Nb проектов TimeSpent=Š’Ń€ŠµŠ¼Ń, затраченное +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Š’Ń€ŠµŠ¼Ń, провеГенное RefTask=Ref. заГача LabelTask=Этикетка заГачи @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Дписок поставщиков зака ListSupplierInvoicesAssociatedProject=Дписок поставщиков счетов-Ń„Š°ŠŗŃ‚ŃƒŃ€, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Ń… с проектом ListContractAssociatedProject=ŠŸŠµŃ€ŠµŃ‡ŠµŠ½ŃŒ Гоговоров, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Ń… с проектом ListFichinterAssociatedProject=Дписок Š¼ŠµŃ€Š¾ŠæŃ€ŠøŃŃ‚ий, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Ń… с проектом -ListTripAssociatedProject=Дписок поезГки Šø расхоГы, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Šµ с проектом +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Дписок Š¼ŠµŃ€Š¾ŠæŃ€ŠøŃŃ‚ий, ŃŠ²ŃŠ·Š°Š½Š½Ń‹Ń… с проектом ActivityOnProjectThisWeek=Š”ŠµŃŃ‚ŠµŠ»ŃŒŠ½Š¾ŃŃ‚ŃŒ по ŠæŃ€Š¾ŠµŠŗŃ‚Ńƒ на ŃŃ‚Š¾Š¹ неГеле ActivityOnProjectThisMonth=Š”ŠµŃŃ‚ŠµŠ»ŃŒŠ½Š¾ŃŃ‚ŃŒ по проектам в ŃŃ‚Š¾Š¼ Š¼ŠµŃŃŃ†Šµ @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=ГоклаГ полной проекта моГели (logo. ..) -PlannedWorkload = Š—Š°ŠæŠ»Š°Š½ŠøŃ€Š¾Š²Š°Š½Š½Š°Ń Š½Š°Š³Ń€ŃƒŠ·ŠŗŠ° -WorkloadOccupation= Workload affectation +PlannedWorkload=Š—Š°ŠæŠ»Š°Š½ŠøŃ€Š¾Š²Š°Š½Š½Š°Ń Š½Š°Š³Ń€ŃƒŠ·ŠŗŠ° +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 diff --git a/htdocs/langs/ru_RU/salaries.lang b/htdocs/langs/ru_RU/salaries.lang index 88e94f1e024..6ec5eaae2fd 100644 --- a/htdocs/langs/ru_RU/salaries.lang +++ b/htdocs/langs/ru_RU/salaries.lang @@ -1,4 +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 Salary=Зарплата Salaries=Зарплаты Employee=Š”Š¾Ń‚Ń€ŃƒŠ“Š½ŠøŠŗ @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/ru_RU/sendings.lang b/htdocs/langs/ru_RU/sendings.lang index 154a05a98d6..efb3246b409 100644 --- a/htdocs/langs/ru_RU/sendings.lang +++ b/htdocs/langs/ru_RU/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ заказанных QtyShipped=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ Š¾Ń‚Š³Ń€ŃƒŠ¶ŠµŠ½ QtyToShip=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ суГов QtyReceived=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ ŠæŠ¾Š»ŃƒŃ‡ŠøŠ» -KeepToShip=Держите на ŠŗŠ¾Ń€Š°Š±Š»ŃŒ +KeepToShip=Remain to ship OtherSendingsForSameOrder=Š”Ń€ŃƒŠ³ŠøŠµ отправок с ŃŃ‚Š¾Š¹ Ń†ŠµŠ»ŃŒŃŽ DateSending=Дата отправки ŠæŠ¾Ń€ŃŠ“ŠŗŠ° DateSendingShort=Дата отправки ŠæŠ¾Ń€ŃŠ“ŠŗŠ° diff --git a/htdocs/langs/ru_RU/stocks.lang b/htdocs/langs/ru_RU/stocks.lang index 4a5e5c6071f..d89cb572fa1 100644 --- a/htdocs/langs/ru_RU/stocks.lang +++ b/htdocs/langs/ru_RU/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Значение PMPValueShort=WAP EnhancedValueOfWarehouses=ДклаГы стоимости UserWarehouseAutoCreate=Š”Š¾Š·Š“Š°Ń‚ŃŒ запас автоматически при созГании ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ направил QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=ДклаГ %s Š±ŃƒŠ“ŠµŃ‚ использован WarehouseForStockIncrease=ДклаГ %s Š±ŃƒŠ“ŠµŃ‚ использован Š“Š»Ń ŃƒŠ²ŠµŠ»ŠøŃ‡ŠµŠ½ŠøŃ остатка ForThisWarehouse=Š”Š»Ń ŃŃ‚Š¾Š³Š¾ склаГа ReplenishmentStatusDesc=Это список всех ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š¾Š² с остатками меньше лимита (или меньше чем значение Š“Š»Ń Š¾ŠæŠ¾Š²ŠµŃ‰ŠµŠ½ŠøŃ если отмечен чекбокс "Ń‚Š¾Š»ŃŒŠŗŠ¾ оповещение"), Šø Ń€ŠµŠŗŠ¾Š¼ŠµŠ½Š“ŃƒŠµŠ¼ вам ŃŃ„Š¾Ń€Š¼ŠøŃ€Š¾Š²Š°Ń‚ŃŒ заказ поставщикам чтобы Š²Š¾ŃŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Ń€Š°Š·Š½ŠøŃ†Ńƒ -ReplenishmentOrdersDesc=Это список всех открытых заказов ŠŸŠ¾ŃŃ‚авщикам +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=ŠŸŠ¾ŠæŠ¾Š»Š½ŠµŠ½ŠøŃ NbOfProductBeforePeriod=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š° %s в остатке на начало выбранного периоГа (< %s) NbOfProductAfterPeriod=ŠšŠ¾Š»ŠøŃ‡ŠµŃŃ‚Š²Š¾ ŠæŃ€Š¾Š“ŃƒŠŗŃ‚Š° %s в остатке на конец выбранного периоГа (< %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/ru_RU/suppliers.lang b/htdocs/langs/ru_RU/suppliers.lang index 02adddbc84c..cb0690f2bdf 100644 --- a/htdocs/langs/ru_RU/suppliers.lang +++ b/htdocs/langs/ru_RU/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=ŠŸŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗŠø -Supplier=ŠŸŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗ AddSupplier=Create a supplier SupplierRemoved=ŠŸŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗ уГален SuppliersInvoice=Дчета-Ń„Š°ŠŗŃ‚ŃƒŃ€Ń‹ от поставщиков @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=ŠŸŠ¾ŃŃ‚Š°Š²Ń‰ŠøŠŗŠ¾Š¼ счета-Ń„Š°ŠŗŃ‚ŃƒŃ€Ń‹ Šø ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=Š£Ń‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ ŃŃ‚Š¾Ń‚ заказ ConfirmApproveThisOrder=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŃ‚Š²ŠµŃ€Š“ŠøŃ‚ŃŒ ŃŃ‚Š¾Ń‚ ŠæŠ¾Ń€ŃŠ“Š¾Šŗ? -DenyingThisOrder=ŠžŃ‚ŠŗŠ°Š· в таком ŠæŠ¾Ń€ŃŠ“ŠŗŠµ +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите Š»ŠøŃˆŠøŃ‚ŃŒ ŃŃ‚Š¾Š³Š¾ заказа? ConfirmCancelThisOrder=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите Š¾Ń‚Š¼ŠµŠ½ŠøŃ‚ŃŒ ŃŃ‚Š¾Ń‚ заказ? AddCustomerOrder=Š”Š¾Š·Š“Š°Ń‚ŃŒ клиента ŠæŠ¾Ń€ŃŠ“ŠŗŠ° diff --git a/htdocs/langs/ru_RU/trips.lang b/htdocs/langs/ru_RU/trips.lang index f72d0e09b18..ceb0857662a 100644 --- a/htdocs/langs/ru_RU/trips.lang +++ b/htdocs/langs/ru_RU/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=ПоезГка -Trips=ПоезГки -TripsAndExpenses=ПоезГки Šø расхоГы -TripsAndExpensesStatistics=Дтатистика поезГок Šø расхоГов -TripCard=ŠšŠ°Ń€Ń‚Š¾Ń‡ŠŗŠ° поезГки -AddTrip=Š”Š¾Š±Š°Š²ŠøŃ‚ŃŒ поезГку -ListOfTrips=Дписок поезГок +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=Дписок сборов -NewTrip=ŠŠ¾Š²Š°Ń ПоезГка +NewTrip=New expense report CompanyVisited=ŠŸŠ¾ŃŠµŃ‰ŠµŠ½Š½Š°Ń Š¾Ń€Š³Š°Š½ŠøŠ·Š°Ń†ŠøŃ Kilometers=ŠšŠøŠ»Š¾Š¼ŠµŃ‚Ń€Ń‹ FeesKilometersOrAmout=Думма или километры -DeleteTrip=Š£Š“Š°Š»ŠøŃ‚ŃŒ поезГку -ConfirmDeleteTrip=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ эту поезГку? -TF_OTHER=Š”Ń€ŃƒŠ³Š¾Šµ -TF_LUNCH=ŠžŠ±ŠµŠ“ -TF_TRIP=ПоезГка -ListTripsAndExpenses=Дписок поезГок Šø расхоГов -ExpensesArea=ŠžŠ±Š»Š°ŃŃ‚ŃŒ поезГок Šø расхоГов -SearchATripAndExpense=Поиск поезГок Šø расхоГов +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=Š”Ń€ŃƒŠ³Š¾Šµ +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/ru_UA/banks.lang b/htdocs/langs/ru_UA/banks.lang index 3486f939885..81b9d0d2a8e 100644 --- a/htdocs/langs/ru_UA/banks.lang +++ b/htdocs/langs/ru_UA/banks.lang @@ -29,7 +29,6 @@ DeleteAccount=Š£Š“Š°Š»ŠøŃ‚ŃŒ Š°ŠŗŠŗŠ°ŃƒŠ½Ń‚ RemoveFromRubrique=Š£Š“Š°Š»ŠøŃ‚ŃŒ ŃŠ²ŃŠ·ŃŒ с категорией RemoveFromRubriqueConfirm=Š’Ń‹ ŃƒŠ²ŠµŃ€ŠµŠ½Ń‹, что хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃŠ²ŃŠ·ŃŒ межГу сГелки Šø категории? ListBankTransactions=Дписок банковских операций -IdTransaction=Transaction ID SearchTransaction=Поиск сГелку ListTransactionsByCategory=Дписок сГелки / категории TransactionsToConciliate=ДГелки ŠæŃ€ŠøŠ¼ŠøŃ€ŠøŃ‚ŃŒ diff --git a/htdocs/langs/ru_UA/contracts.lang b/htdocs/langs/ru_UA/contracts.lang index 74b462d5a7b..47e2f92dae0 100644 --- a/htdocs/langs/ru_UA/contracts.lang +++ b/htdocs/langs/ru_UA/contracts.lang @@ -1,7 +1,6 @@ # Dolibarr language file - Source file is en_US - contracts ContractsArea=ŠšŠ¾Š½Ń‚Ń€Š°ŠŗŃ‚Ń‹ области ListOfContracts=Дписок контрактов -LastContracts=ПослеГнее изменение %s контрактов AllContracts=Все контракты ContractCard=Договор карты ContractStatus=Договор ŃŃ‚Š°Ń‚ŃƒŃ @@ -23,6 +22,7 @@ ListOfInactiveServices=Дписок услуг не активны ListOfExpiredServices=Дписок истек активные ŃŠ»ŃƒŠ¶Š±Ń‹ ListOfClosedServices=Дписок закрытых услуг ListOfRunningContractsLines=Дписок Š±ŠµŠ³ŃƒŃ‰ŠøŠµ строки контракта +LastContracts=ПослеГнее изменение %s контрактов NbOfServices=Кол-услуг DeleteContractLine=Š£Š“Š°Š»ŠøŃ‚ŃŒ контракт линии ConfirmDeleteContractLine=Š’Ń‹ Š“ŠµŠ¹ŃŃ‚Š²ŠøŃ‚ŠµŠ»ŃŒŠ½Š¾ хотите ŃƒŠ“Š°Š»ŠøŃ‚ŃŒ ŃŃ‚Š¾Ń‚ контракт линии? diff --git a/htdocs/langs/ru_UA/cron.lang b/htdocs/langs/ru_UA/cron.lang deleted file mode 100644 index a701909b5ed..00000000000 --- a/htdocs/langs/ru_UA/cron.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - cron diff --git a/htdocs/langs/ru_UA/holiday.lang b/htdocs/langs/ru_UA/holiday.lang deleted file mode 100644 index 3bbcb71f207..00000000000 --- a/htdocs/langs/ru_UA/holiday.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - holiday diff --git a/htdocs/langs/ru_UA/install.lang b/htdocs/langs/ru_UA/install.lang index e097ba6161a..b4a3228f330 100644 --- a/htdocs/langs/ru_UA/install.lang +++ b/htdocs/langs/ru_UA/install.lang @@ -39,7 +39,6 @@ PasswordAgain=ВвеГите ŠæŠ°Ń€Š¾Š»ŃŒ еще раз во второй раз CheckToCreateUser=Флажок, если влаГелец базы Ганных не ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚, Šø Голжен Š±Ń‹Ń‚ŃŒ созГан.
    Š’ ŃŃ‚Š¾Š¼ ŃŠ»ŃƒŃ‡Š°Šµ, вы Голжны Š²Ń‹Š±Ń€Š°Ń‚ŃŒ его Логин Šø ŠæŠ°Ń€Š¾Š»ŃŒ, а также Š·Š°ŠæŠ¾Š»Š½ŠøŃ‚ŃŒ Логин / ŠæŠ°Ń€Š¾Š»ŃŒ Š“Š»Ń ŃŃƒŠæŠµŃ€ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń в нижней части ŃŃ‚Š¾Š¹ страницы. Если ŃŃ‚Š¾Ń‚ флажок не ŃƒŃŃ‚Š°Š½Š¾Š²Š»ŠµŠ½, влаГелец базы Ганных Šø ее пароли Голжны ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚. Experimental=(Š­ŠŗŃŠæŠµŃ€ŠøŠ¼ŠµŠ½Ń‚Š°Š»ŃŒŠ½Š°Ń) DatabaseRootLoginDescription=Войти на ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»Ń позволили ŃŠ¾Š·Š“Š°Ń‚ŃŒ новые базы Ганных или новых ŠæŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŠµŠ¹, бесполезны, если ваша база Ганных Šø база Ганных Войти уже ŃŃƒŃ‰ŠµŃŃ‚Š²ŃƒŠµŃ‚ (например, когГа вы организовано провайГера веб-хостинг). -SaveConfigurationFile=Š”Š¾Ń…Ń€Š°Š½ŠøŃ‚ŃŒ Š·Š½Š°Ń‡ŠµŠ½ŠøŃ ServerConnection=ДоеГинение с сервером UserCreation=ŠŸŠ¾Š»ŃŒŠ·Š¾Š²Š°Ń‚ŠµŠ»ŃŒ ŃŠ¾Š·Š“Š°Š½ŠøŃ AdminAccountCreation=АГминистратор Войти ŃŠ¾Š·Š“Š°Š½ŠøŃ @@ -56,7 +55,6 @@ ThisPHPDoesNotSupportTypeBase=Эта система PHP не поГГержив FunctionNotAvailableInThisPHP=ŠŠµ Š“Š¾ŃŃ‚ŃƒŠæŠ½Š¾ Š“Š»Ń ŃŃ‚Š¾Š³Š¾ PHP MigrateScript=ŠœŠøŠ³Ń€Š°Ń†ŠøŃ сценариев ChoosedMigrateScript=Выберите сценарий миграции -DataMigration=ŠœŠøŠ³Ń€Š°Ń†ŠøŃ Ганных ChooseYourSetupMode=Выберите режим настройки Šø нажмите кнопку "Пуск" ... FreshInstall=Š”Š²ŠµŠ¶Š°Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠ° FreshInstallDesc=Š˜ŃŠæŠ¾Š»ŃŒŠ·ŃƒŠ¹Ń‚Šµ ŃŃ‚Š¾Ń‚ режим, если ŃŃ‚Š¾ ваша ŠæŠµŃ€Š²Š°Ń ŃƒŃŃ‚Š°Š½Š¾Š²ŠŗŠ°. Если нет, то ŃŃ‚Š¾Ń‚ режим может Š²Š¾ŃŃŃ‚Š°Š½Š¾Š²ŠøŃ‚ŃŒ неполной ŠæŃ€ŠµŠ“Ń‹Š“ŃƒŃ‰ŠµŠ¹ версии, но если вы хотите Š¾Š±Š½Š¾Š²ŠøŃ‚ŃŒ Š²ŠµŃ€ŃŠøŃŽ, выберите "ŠžŠ±Š½Š¾Š²ŠøŃ‚ŃŒ" режиме. diff --git a/htdocs/langs/ru_UA/mailmanspip.lang b/htdocs/langs/ru_UA/mailmanspip.lang deleted file mode 100644 index d35aebc152e..00000000000 --- a/htdocs/langs/ru_UA/mailmanspip.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - mailmanspip diff --git a/htdocs/langs/ru_UA/main.lang b/htdocs/langs/ru_UA/main.lang index 9e92814a6a4..4d6b3876288 100644 --- a/htdocs/langs/ru_UA/main.lang +++ b/htdocs/langs/ru_UA/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/ru_UA/margins.lang b/htdocs/langs/ru_UA/margins.lang deleted file mode 100644 index 8a6d3d95254..00000000000 --- a/htdocs/langs/ru_UA/margins.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - margins diff --git a/htdocs/langs/ru_UA/opensurvey.lang b/htdocs/langs/ru_UA/opensurvey.lang deleted file mode 100644 index 5e9ce15eab2..00000000000 --- a/htdocs/langs/ru_UA/opensurvey.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - opensurvey diff --git a/htdocs/langs/ru_UA/users.lang b/htdocs/langs/ru_UA/users.lang deleted file mode 100644 index f1dd83c193b..00000000000 --- a/htdocs/langs/ru_UA/users.lang +++ /dev/null @@ -1 +0,0 @@ -# Dolibarr language file - Source file is en_US - users diff --git a/htdocs/langs/sk_SK/admin.lang b/htdocs/langs/sk_SK/admin.lang index e1e17cfe342..93790b6a9c3 100644 --- a/htdocs/langs/sk_SK/admin.lang +++ b/htdocs/langs/sk_SK/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=ExperimentĆ”lne VersionDevelopment=Vývoj VersionUnknown=NeznĆ”my VersionRecommanded=OdporĆŗÄanĆ© +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID relĆ”cie SessionSaveHandler=Handler pre uloženie sedenia SessionSavePath=Skladovanie zasadnutie lokalizĆ”cia @@ -493,10 +498,16 @@ Module600Name=Upozornenie Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=Dary Module700Desc=Darovanie riadenie +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 integrĆ”cia Module1400Name=ƚčtovnĆ­ctvo Module1400Desc=Vedenie ĆŗÄtovnĆ­ctva (dvojitĆ© strany) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategórie Module1780Desc=Category management (produkty, dodĆ”vatelia a odberatelia) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Prečƭtajte si dodĆ”vateľských objednĆ”vok Permission182=VytvoriÅ„ / upraviÅ„ dodĆ”vateľskej objednĆ”vky Permission183=OveriÅ„ dodĆ”vateľských objednĆ”vok Permission184=SchvĆ”liÅ„ dodĆ”vateľských objednĆ”vok -Permission185=ObjednĆ”vky ObjednaÅ„ dodĆ”vateľ +Permission185=Order or cancel supplier orders Permission186=PrĆ­jem objednĆ”vok s dodĆ”vateľmi Permission187=ZavrieÅ„ dodĆ”vateľskĆ© objednĆ”vky Permission188=ZruÅ”iÅ„ dodĆ”vateľských objednĆ”vok @@ -711,6 +722,13 @@ Permission538=Export služieb Permission701=Prečƭtajte si dary Permission702=VytvoriÅ„ / upraviÅ„ dary Permission703=OdstrĆ”niÅ„ dary +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=Prečƭtajte si zĆ”soby Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Heslo používaÅ„ proxy server DefineHereComplementaryAttributes=Definujte tu vÅ”etky atribĆŗty, ktorĆ© eÅ”te nie sĆŗ k dispozĆ­cii v predvolenom nastavenĆ­, a že chcete byÅ„ podporovanĆ© %s. ExtraFields=DoplnkovĆ© atribĆŗty ExtraFieldsLines=DoplnkovĆ© atribĆŗty (linky) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=DoplnkovĆ© atribĆŗty (thirdparty) ExtraFieldsContacts=DoplnkovĆ© atribĆŗty (kontakt / adresa) ExtraFieldsMember=DoplnkovĆ© atribĆŗty (člen) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Rad výrobkov / služieb s nulovej hodnoty je považov FreeLegalTextOnProposal=Voľný text o obchodných nĆ”vrhov WatermarkOnDraftProposal=Vodoznak na predlĆ“h nĆ”vrhov komerčných (none ak prĆ”zdny) 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=ObjednaÅ„ riadenie nastavenia OrdersNumberingModules=ObjednĆ”vky čƭslovanie modelov @@ -1383,7 +1410,7 @@ 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 -GenbarcodeLocation=Bar generovanie kódu nĆ”stroj pre prĆ­kazový riadok (používaný motorom s vnĆŗtorným u niektorých typov čiarových kódov) +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 ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=Predvolený ĆŗÄet použiÅ„ na prĆ­jem platieb v hotovosti CashDeskBankAccountForCheque= Predvolený ĆŗÄet použiÅ„ pre prĆ­jem platieb Å”ekom CashDeskBankAccountForCB= Predvolený ĆŗÄet použiÅ„ pre prĆ­jem platieb prostrednĆ­ctvom kreditnej karty -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=ZĆ”ložka Nastavenie modulu @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/sk_SK/banks.lang b/htdocs/langs/sk_SK/banks.lang index ef5bfa2db54..b1c325a49e3 100644 --- a/htdocs/langs/sk_SK/banks.lang +++ b/htdocs/langs/sk_SK/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=Zmierenie RIB=Číslo bankovĆ©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 StandingOrders=TrvalĆ© prĆ­kazy StandingOrder=Trvalý prĆ­kaz Withdrawals=Výbery @@ -148,7 +152,7 @@ BackToAccount=Späń na ĆŗÄte ShowAllAccounts=ZobraziÅ„ pre vÅ”etky ĆŗÄty FutureTransaction=Transakcie v Futur. Žiadny spĆ“sob, ako sa zmieriÅ„. SelectChequeTransactionAndGenerate=Výber / filter, aby kontroly zahŕňali do obdržanĆ­ Å”eku vkladov a kliknite na "VytvoriÅ„". -InputReceiptNumber=Vyberte si výpis z ĆŗÄtu sĆŗvisiace s zmierovacom konanĆ­. Použite Sortable čƭselnĆŗ hodnotu (naprĆ­klad RRRRMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Nakoniec určiÅ„ kategóriu, v ktorej chcete klasifikovaÅ„ zĆ”znamy ToConciliate=ZmieriÅ„? ThenCheckLinesAndConciliate=Potom skontrolujte, či riadky, ktorĆ© sĆŗ vo výpise z ĆŗÄtu a potom kliknite na tlačidlo diff --git a/htdocs/langs/sk_SK/bills.lang b/htdocs/langs/sk_SK/bills.lang index cbd81b2852b..583a431a013 100644 --- a/htdocs/langs/sk_SK/bills.lang +++ b/htdocs/langs/sk_SK/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Platby neurobili PaymentsBackAlreadyDone=Platby späń neurobili PaymentRule=Platba pravidlo PaymentMode=Typ platby -PaymentConditions=TermĆ­n vyplatenia -PaymentConditionsShort=TermĆ­n vyplatenia +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Suma platby ValidatePayment=Overenie platby PaymentHigherThanReminderToPay=PlatobnĆ© vyŔŔia než upomienke na zaplatenie diff --git a/htdocs/langs/sk_SK/commercial.lang b/htdocs/langs/sk_SK/commercial.lang index 4fe069876c1..7be1dd39c7f 100644 --- a/htdocs/langs/sk_SK/commercial.lang +++ b/htdocs/langs/sk_SK/commercial.lang @@ -9,9 +9,9 @@ Prospect=Vyhliadka Prospects=Vyhliadky DeleteAction=OdstrĆ”niÅ„ udalosÅ„ / Ćŗlohu NewAction=NovĆ” udalosÅ„ / Ćŗlohu -AddAction=PridaÅ„ udalosÅ„ / Ćŗlohu -AddAnAction=PridaÅ„ udalosÅ„ / Ćŗlohu -AddActionRendezVous=PridaÅ„ Rendez-vous udalosti +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=SchĆ“dzka ConfirmDeleteAction=Ste si istĆ­, že chcete zmazaÅ„ tĆŗto udalosÅ„ / Ćŗlohu? CardAction=UdalosÅ„ karty @@ -44,8 +44,8 @@ DoneActions=Dokončenej akcie DoneActionsFor=Dokončenej akcie pre %s ToDoActions=NeĆŗplnĆ© udalosti ToDoActionsFor=NeĆŗplnĆ© akcie pre %s -SendPropalRef=PoslaÅ„ komerčnĆ© nĆ”vrhu %s -SendOrderRef=PoÅ”li objednĆ”vku %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=NevzÅ„ahuje sa StatusActionToDo=Ak chcete StatusActionDone=DokončiÅ„ @@ -62,7 +62,7 @@ LastProspectContactDone=SpojiÅ„ sa vykonĆ”va DateActionPlanned=DĆ”tum Akcie plĆ”novanĆ© na DateActionDone=DĆ”tum Akcia vykonanĆ© ActionAskedBy=Akcia hlĆ”senĆ© -ActionAffectedTo=UdalosÅ„ priradenĆ” +ActionAffectedTo=Event assigned to ActionDoneBy=UdalosÅ„ vykonĆ”va ActionUserAsk=Spracoval ErrorStatusCantBeZeroIfStarted=Ak pole 'DĆ”tum urobiÅ„ "je naplnený, je akcia zahĆ”jenĆ” (alebo hotový), tak pole" Stav "nemÓže byÅ„ 0%%. diff --git a/htdocs/langs/sk_SK/contracts.lang b/htdocs/langs/sk_SK/contracts.lang index 9ed7ccf7da6..25cf7fc7e01 100644 --- a/htdocs/langs/sk_SK/contracts.lang +++ b/htdocs/langs/sk_SK/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=VyprÅ”ala ServiceStatusClosed=ZatvorenĆ© ServicesLegend=Služby legenda Contracts=Zmluvy +ContractsAndLine=Contracts and line of contracts Contract=Zmluva NoContracts=Žiadne zmluvy MenuServices=Služby diff --git a/htdocs/langs/sk_SK/cron.lang b/htdocs/langs/sk_SK/cron.lang index 4e1717149a8..5161517c219 100644 --- a/htdocs/langs/sk_SK/cron.lang +++ b/htdocs/langs/sk_SK/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/sk_SK/errors.lang b/htdocs/langs/sk_SK/errors.lang index 17b73f827fd..dc5032cc33a 100644 --- a/htdocs/langs/sk_SK/errors.lang +++ b/htdocs/langs/sk_SK/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Zdrojovej a cieľovej bankovĆ© ĆŗÄty musĆ­ byÅ„ ErrorBadThirdPartyName=NesprĆ”vna hodnota pre tretie strany menom ErrorProdIdIsMandatory=%s je povinnĆ© ErrorBadCustomerCodeSyntax=Bad syntaxe pre zĆ”kaznĆ­ka kódu -ErrorBadBarCodeSyntax=Bad syntax for bar 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=ZĆ”kaznĆ­k požadoval kód ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=ZĆ”kaznĆ­cky kód už používaný @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript musĆ­ byÅ„ vypnutĆ”, že tĆ”to funkcia p ErrorPasswordsMustMatch=Obaja napĆ­saný hesla sa musia zhodovaÅ„ sa navzĆ”jom ErrorContactEMail=TechnickĆ© chybe. ProsĆ­m, obrÔńte sa na sprĆ”vcu, aby e-mailovĆŗ %s en poskytovaÅ„ %s kód chyby v sprĆ”ve, alebo eÅ”te lepÅ”ie pridanĆ­m obrazovky kópiu tejto strĆ”nky. ErrorWrongValueForField=ChybnĆ” hodnota %s čƭslo poľa (hodnota "%s 'nezodpovedĆ” regex pravidiel %s) -ErrorFieldValueNotIn=ChybnĆ” hodnota %s čƭslo poľa (hodnota "%s 'nie je dostupnĆ” hodnota do poľa %s stolových %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=ChybnĆ” hodnota %s čƭslo poľa (hodnota "%s" nie je %s existujĆŗce ref) ErrorsOnXLines=Chyby na %s zdrojovom zĆ”zname (s) ErrorFileIsInfectedWithAVirus=AntivĆ­rusový program nebol schopný overiÅ„ sĆŗbor (sĆŗbor mÓže byÅ„ napadnutý vĆ­rusom) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/sk_SK/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/sk_SK/install.lang b/htdocs/langs/sk_SK/install.lang index 23665b14d23..f3ebf70457a 100644 --- a/htdocs/langs/sk_SK/install.lang +++ b/htdocs/langs/sk_SK/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Posledný krok: Definujte tu prihlasovacie meno a ActivateModule=AktivĆ”cia modulu %s ShowEditTechnicalParameters=Kliknite tu pre zobrazenie / editovaÅ„ pokročilĆ© parametre (expertný režim) 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 diff --git a/htdocs/langs/sk_SK/main.lang b/htdocs/langs/sk_SK/main.lang index 9774b798099..12ea65a49b3 100644 --- a/htdocs/langs/sk_SK/main.lang +++ b/htdocs/langs/sk_SK/main.lang @@ -141,6 +141,7 @@ Cancel=ZruÅ”iÅ„ Modify=UpraviÅ„ Edit=UpraviÅ„ Validate=PotvrdiÅ„ +ValidateAndApprove=Validate and Approve ToValidate=Ak chcete overiÅ„ Save=UložiÅ„ SaveAs=UložiÅ„ ako @@ -158,6 +159,7 @@ Search=VyhľadĆ”vanie SearchOf=VyhľadĆ”vanie Valid=Platný Approve=SchvaľovaÅ„ +Disapprove=Disapprove ReOpen=Znovu otvoriÅ„ Upload=OdoslaÅ„ sĆŗbor ToLink=Odkaz @@ -219,6 +221,7 @@ Cards=Karty Card=Karta Now=Teraz Date=DĆ”tum +DateAndHour=Date and hour DateStart=DĆ”tum začiatku DateEnd=DĆ”tum ukončenia DateCreation=DĆ”tum vytvorenia @@ -295,6 +298,7 @@ UnitPriceHT=JednotkovĆ” cena (bez DPH) UnitPriceTTC=JednotkovĆ” cena PriceU=UP PriceUHT=UP (bez DPH) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=Množstvo AmountInvoice=FakturovanĆ” čiastka @@ -521,6 +525,7 @@ DateFromTo=Od %s na %s DateFrom=Od %s DateUntil=Do %s Check=Kontrola +Uncheck=Uncheck Internal=VnĆŗtornĆ© External=ExternĆ© Internals=VnĆŗtornĆ© @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Pondelok Tuesday=Utorok diff --git a/htdocs/langs/sk_SK/orders.lang b/htdocs/langs/sk_SK/orders.lang index 519ef09d036..baa18258b8c 100644 --- a/htdocs/langs/sk_SK/orders.lang +++ b/htdocs/langs/sk_SK/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=ZruÅ”ený StatusOrderDraft=NĆ”vrh (musĆ­ byÅ„ overenĆ”) StatusOrderValidated=OverenĆ© StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=SpracovanĆ© StatusOrderToBill=DodĆ”va sa StatusOrderToBill2=K ĆŗÄtu @@ -58,6 +59,7 @@ MenuOrdersToBill=ObjednĆ”vky dodaný MenuOrdersToBill2=Billable orders SearchOrder=HľadaÅ„ ĆŗÄelom SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=Loď produkt Discount=Zľava CreateOrder=VytvoriÅ„ objednĆ”vku diff --git a/htdocs/langs/sk_SK/other.lang b/htdocs/langs/sk_SK/other.lang index 113f2d7dc2e..f89916a11c2 100644 --- a/htdocs/langs/sk_SK/other.lang +++ b/htdocs/langs/sk_SK/other.lang @@ -54,12 +54,13 @@ MaxSize=MaximĆ”lny rozmer AttachANewFile=Pripojte nový sĆŗbor / dokument LinkedObject=Prepojený objekt Miscellaneous=ZmieÅ”aný -NbOfActiveNotifications=Počet oznĆ”menĆ­ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Toto je test e-mailom. \\ NAk dva riadky sĆŗ oddelenĆ© znakom konca riadku. \n\n __ SIGNATURE__ PredefinedMailTestHtml=Toto je test-mail (slovo test musĆ­ byÅ„ tučne).
    Dva riadky sú oddelené znakom konca riadku.

    __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__ diff --git a/htdocs/langs/sk_SK/printing.lang b/htdocs/langs/sk_SK/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/sk_SK/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/sk_SK/productbatch.lang +++ b/htdocs/langs/sk_SK/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/sk_SK/products.lang b/htdocs/langs/sk_SK/products.lang index 45d5006cb75..667875f4e17 100644 --- a/htdocs/langs/sk_SK/products.lang +++ b/htdocs/langs/sk_SK/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/sk_SK/projects.lang b/htdocs/langs/sk_SK/projects.lang index ae27e1348b2..d1405991f2f 100644 --- a/htdocs/langs/sk_SK/projects.lang +++ b/htdocs/langs/sk_SK/projects.lang @@ -8,8 +8,10 @@ SharedProject=VÅ”etci PrivateProject=Kontakty na projekte MyProjectsDesc=Tento pohľad je obmedzenĆ” na projekty, ste kontakt (nech je to typ). ProjectsPublicDesc=Tento nĆ”zor predstavuje vÅ”etky projekty, ktorĆ© sĆŗ prĆ­stupnĆ© pre čƭtanie. +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). 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). ProjectsArea=Projekty oblasÅ„ @@ -29,6 +31,8 @@ NoProject=Žiadny projekt definovaný alebo vlastnĆ© NbOpenTasks=Nb otvorených Ćŗloh NbOfProjects=Nb projektov TimeSpent=Čas strĆ”vený +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Čas strĆ”vený RefTask=Ref Ćŗloha LabelTask=Label Ćŗloha @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Zoznam dodĆ”vateľa zĆ”kaziek sĆŗvisiace s p ListSupplierInvoicesAssociatedProject=Zoznam dodĆ”vateľských faktĆŗr sĆŗvisiace s projektom ListContractAssociatedProject=Zoznam zĆ”kaziek sĆŗvisiacich s projektom ListFichinterAssociatedProject=Zoznam výkonov spojených s projektom -ListTripAssociatedProject=Zoznam ciest a nĆ”kladov spojených s projektom +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Zoznam udalostĆ­ spojených s projektom ActivityOnProjectThisWeek=Aktivita na projekte tento týždeň ActivityOnProjectThisMonth=Aktivita na projekte tento mesiac @@ -126,10 +130,15 @@ AddElement=Odkaz na elementu UnlinkElement=Unlink element # Documents models DocumentModelBaleine=KompletnĆ© projektu model zostavy (logo. ..) -PlannedWorkload = PlĆ”novanĆ© zaÅ„aženie -WorkloadOccupation= PracovnĆ” zÔńaž pretvĆ”rka +PlannedWorkload=PlĆ”novanĆ© zaÅ„aženie +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=OdkazujĆŗce objekty 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 diff --git a/htdocs/langs/sk_SK/salaries.lang b/htdocs/langs/sk_SK/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/sk_SK/salaries.lang +++ b/htdocs/langs/sk_SK/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/sk_SK/sendings.lang b/htdocs/langs/sk_SK/sendings.lang index a28b7441b89..1d57822a222 100644 --- a/htdocs/langs/sk_SK/sendings.lang +++ b/htdocs/langs/sk_SK/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Množstvo objednaÅ„ QtyShipped=Množstvo odoslanĆ© QtyToShip=Množstvo na loď QtyReceived=Množstvo prijatej -KeepToShip=Majte na loď +KeepToShip=Remain to ship OtherSendingsForSameOrder=ĎalÅ”ie zĆ”sielky pre tĆŗto objednĆ”vku DateSending=DĆ”tum odoslania, aby DateSendingShort=DĆ”tum odoslania, aby diff --git a/htdocs/langs/sk_SK/stocks.lang b/htdocs/langs/sk_SK/stocks.lang index 80d09deb48a..80cf13a58f0 100644 --- a/htdocs/langs/sk_SK/stocks.lang +++ b/htdocs/langs/sk_SK/stocks.lang @@ -47,6 +47,7 @@ PMPValue=VÔženĆ” priemernĆ” cena PMPValueShort=WAP EnhancedValueOfWarehouses=Sklady hodnota UserWarehouseAutoCreate=Vytvorte sklad automaticky pri vytvĆ”ranĆ­ užívateľa +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Množstvo odoslanĆ© QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=SkladovĆ” %s budĆŗ použitĆ© pre zníženie skl WarehouseForStockIncrease=SkladovĆ” %s budĆŗ použitĆ© pre zvýŔenie stavu zĆ”sob ForThisWarehouse=Z tohto skladu 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=Toto je zoznam vÅ”etkých otvorených dodĆ”vateľských objednĆ”vok +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=SplĆ”tky NbOfProductBeforePeriod=Množstvo produktov %s na sklade, než zvolenĆ© obdobie (<%s) NbOfProductAfterPeriod=Množstvo produktov %s na sklade po zvolenĆ© obdobie (> %s) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/sk_SK/suppliers.lang b/htdocs/langs/sk_SK/suppliers.lang index 5d04f2d96fd..8917cbe8b4e 100644 --- a/htdocs/langs/sk_SK/suppliers.lang +++ b/htdocs/langs/sk_SK/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=DodĆ”vatelia -Supplier=DodĆ”vateľ AddSupplier=Create a supplier SupplierRemoved=DodĆ”vateľ odstrĆ”ni SuppliersInvoice=DodĆ”vatelia faktĆŗra @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=DodĆ”vateľ faktĆŗry a platby ExportDataset_fournisseur_3=DodĆ”vateľ objednĆ”vky a objednĆ”vka linky ApproveThisOrder=SchvĆ”liÅ„ tĆŗto objednĆ”vku ConfirmApproveThisOrder=Ste si istĆ­, že chcete schvĆ”liÅ„ poradĆ­ %s? -DenyingThisOrder=PopieraÅ„ tĆŗto objednĆ”vku +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ste si istĆ­, že chcete popieraÅ„ objednĆ”vky %s? ConfirmCancelThisOrder=Ste si istĆ­, že chcete zruÅ”iÅ„ tĆŗto objednĆ”vku %s? AddCustomerOrder=Vytvorenie objednĆ”vky zĆ”kaznĆ­ka diff --git a/htdocs/langs/sk_SK/trips.lang b/htdocs/langs/sk_SK/trips.lang index 1367186b021..aa91658f502 100644 --- a/htdocs/langs/sk_SK/trips.lang +++ b/htdocs/langs/sk_SK/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Výlet -Trips=Výlety -TripsAndExpenses=Výlety a výdavky -TripsAndExpensesStatistics=Výlety a výdavky Å”tatistiky -TripCard=Výlet karty -AddTrip=PridaÅ„ výlet -ListOfTrips=Zoznam ciest +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=SadzobnĆ­k poplatkov -NewTrip=NovĆ” cesta +NewTrip=New expense report CompanyVisited=Firma / nadĆ”cie navÅ”tĆ­vil Kilometers=Kilometre FeesKilometersOrAmout=Množstvo alebo kilometrov -DeleteTrip=OdstrĆ”niÅ„ výlet -ConfirmDeleteTrip=Ste si istĆ­, že chcete zmazaÅ„ tĆŗto cestu? -TF_OTHER=OstatnĆ© -TF_LUNCH=Obed -TF_TRIP=Výlet -ListTripsAndExpenses=Zoznam ciest a nĆ”kladov -ExpensesArea=Výlety a nĆ”klady oblasÅ„ -SearchATripAndExpense=HľadaÅ„ na výlet a nĆ”klady +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=OstatnĆ© +TF_TRANSPORTATION=Transportation +TF_LUNCH=Obed +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/sl_SI/admin.lang b/htdocs/langs/sl_SI/admin.lang index 74e7506e000..e214389ecea 100644 --- a/htdocs/langs/sl_SI/admin.lang +++ b/htdocs/langs/sl_SI/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Preizkusna VersionDevelopment=Razvojna VersionUnknown=Neznana VersionRecommanded=Priporočena +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=ID seje SessionSaveHandler=Rutina za shranjevanje seje SessionSavePath=Lokalizacija shranjevanja seje @@ -493,10 +498,16 @@ Module600Name=Obvestila Module600Desc=PoÅ”iljanje obvestil o nekaterih Dolibarr dogodkih po e-mailu kontaktom pri partnerjih (nastavitev je določena za vsakega partnerja) Module700Name=Donacije Module700Desc=Upravljanje donacij +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 integracija Module1400Name=Računovodstvo Module1400Desc=Upravljanje računovodstva (dvostavno) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorije Module1780Desc=Upravljanje kategorij (proizvodi, dobavitelji in kupci) Module2000Name=Fck urejevalnik @@ -631,7 +642,7 @@ Permission181=Branje naročil pri dobaviteljih Permission182=Kreiranje/spreminjanje naročil pri dobaviteljih Permission183=Potrjevanje naročil pri dobaviteljih Permission184=Odobritev naročil pri dobaviteljih -Permission185=Naročanje naročil pri dobaviteljih +Permission185=Order or cancel supplier orders Permission186=Prejem naročil pri dobaviteljih Permission187=Zaključek naročil pri dobaviteljih Permission188=Preklic naročil pri dobaviteljih @@ -711,6 +722,13 @@ Permission538=Izvoz storitev Permission701=Branje donacij Permission702=Kreiranje/spreminjanje donacij Permission703=Delete donacij +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=Branje zalog Permission1002=Kreiranje/spreminjanje skladiŔč Permission1003=Brisanje skladiŔč @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Geslo za uporabo proxy strežnika DefineHereComplementaryAttributes=Tukaj doloćite vse atribute, ki niso na voljo kot privzeti, vendar želite da so podprti za %s. ExtraFields=Koplementarni atributi ExtraFieldsLines=Koplementarni atributi (postavke) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Koplementarni atributi (partner) ExtraFieldsContacts=Koplementarni atributi (kontakt/naslov) ExtraFieldsMember=Koplementarni atributi (član) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Vrstica proizvoda/storitve z vrednostjo 0 se smatra ko FreeLegalTextOnProposal=Poljubno besedilo na komercialni ponudbi WatermarkOnDraftProposal=Vodni tisk na osnutkih komercialnih ponudb (brez, če je prazno) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=VpraÅ”ajte za ciljni bančni račun ponudbe +##### 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=Nastavitve upravljanja z naročili OrdersNumberingModules=Moduli za Å”tevilčenje naročil @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Črtna koda tipa UPC BarcodeDescISBN=Črtna koda tipa ISBN BarcodeDescC39=Črtna koda tipa C39 BarcodeDescC128=Črtna koda tipa C128 -GenbarcodeLocation=Orodje za generiranje črtne kode preko komandne vrstice (uporablja ga 'phpbarcode engine' za nekatere tipe črtnih kod) +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=Interno orodje BarCodeNumberManager=Upravljanje avtomatskega določanja Å”tevilk črtnih kod ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Privzet generični partner, ki se uporabi za prodajo CashDeskBankAccountForSell=Račun, ki se uporabi za prejem gotovinskih plačil CashDeskBankAccountForCheque= Račun, ki se uporabi za prejem plačil s čeki CashDeskBankAccountForCB= Račun, ki se uporabi za prejem plačil s kreditnimi karticami -CashDeskDoNotDecreaseStock=Onemogoči zmanjÅ”anje zaloge, če je prodaja izvrÅ”ena s prodajnega mesta POS +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=Prisilite ali blokirajte skladiŔče, uporabljeno za zmanjÅ”anje zalog StockDecreaseForPointOfSaleDisabled=Onemogočeno zmanjÅ”evanje zaloge s prodajnega mesta POS +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Niste omogočili zmanjÅ”anje zaloge ob prodaji na prodajnem mestu POS. Potrebno je skladiŔče. ##### Bookmark ##### BookmarkSetup=Nastavitev modula za zaznamke @@ -1569,3 +1597,7 @@ SortOrder=Sortiraj naročilo Format=Format TypePaymentDesc=0:Tip plačila stranke, 1:Tip plačila dobavitelju, 2:Tip plačila stranke in dobavitelju IncludePath=Vključi pot (definirana v spremenljivki %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. diff --git a/htdocs/langs/sl_SI/banks.lang b/htdocs/langs/sl_SI/banks.lang index fdf87b11e54..a74dde0ed85 100644 --- a/htdocs/langs/sl_SI/banks.lang +++ b/htdocs/langs/sl_SI/banks.lang @@ -33,7 +33,11 @@ AllTime=Od začetka Reconciliation=Usklajevanje RIB=Transakcijski račun IBAN=IBAN Å”tevilka +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT Å”tevilka +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Trajni nalogi StandingOrder=Trajni nalog Withdrawals=Dvigi @@ -148,7 +152,7 @@ BackToAccount=Nazaj na račun ShowAllAccounts=Prikaži vse račune FutureTransaction=Bodoča transakcija. Ni možna uskladitev. SelectChequeTransactionAndGenerate=Izberi/filtriraj čeke za vključitev v prevzemnico čekovnih nakazil in klikni na "Ustvari" -InputReceiptNumber=Izberi bančni izpisek, povezan s posredovanjem. Uporabi numerično vrednost, ki se lahko sortira (npr.: YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Eventuelno določi kategorijo, v katero se razvrsti zapis ToConciliate=Za posredovanje? ThenCheckLinesAndConciliate=Nato preveri vrstice na bančnem izpisku in klikni diff --git a/htdocs/langs/sl_SI/bills.lang b/htdocs/langs/sl_SI/bills.lang index 7f5af4fc0d5..7f5c104ae7a 100644 --- a/htdocs/langs/sl_SI/bills.lang +++ b/htdocs/langs/sl_SI/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=IzvrÅ”ena plačila PaymentsBackAlreadyDone=Vrnitev plačila že izvrÅ”ena PaymentRule=Pravilo plačila PaymentMode=Način plačila -PaymentConditions=Rok plačila -PaymentConditionsShort=Rok plačila +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Znesek plačila ValidatePayment=Potrdi plačilo PaymentHigherThanReminderToPay=Plačilo viÅ”je od opomina diff --git a/htdocs/langs/sl_SI/commercial.lang b/htdocs/langs/sl_SI/commercial.lang index b5ffccdb1e1..d69651c6025 100644 --- a/htdocs/langs/sl_SI/commercial.lang +++ b/htdocs/langs/sl_SI/commercial.lang @@ -9,9 +9,9 @@ Prospect=Možna stranka Prospects=Možne stranke DeleteAction=Brisanje aktivnosti/naloge NewAction=Nova aktivnost/naloga -AddAction=Dodaj aktivnost/nalogo -AddAnAction=Dodajanje aktivnosti/naloge -AddActionRendezVous=Dodaj nalogo/srečanje +AddAction=Ustvari dogodek/nalogo +AddAnAction=Ustvari dogodek/nalogo +AddActionRendezVous=Ustvari srečanje Rendez-Vous=Srečanje ConfirmDeleteAction=Ali zares želite izbrisati to nalogo? CardAction=Kartica aktivnosti @@ -44,8 +44,8 @@ DoneActions=Dokončane aktivnosti DoneActionsFor=Dokončane aktivnosti za %s ToDoActions=Nedokončane aktivnosti ToDoActionsFor=Nedokončane aktivnosti za %s -SendPropalRef=Poslana komercialna ponudba %s -SendOrderRef=Poslano naročilo %s +SendPropalRef=Oddaja komercialne ponudbe %s +SendOrderRef=Oddaja naročila %s StatusNotApplicable=Ni veljaven StatusActionToDo=Odprto StatusActionDone=Dokončano @@ -62,7 +62,7 @@ LastProspectContactDone=Kontakt izveden DateActionPlanned=Datum planirane aktivnosti za DateActionDone=Datum izvedene aktivnosti ActionAskedBy=Aktivnost zahteval -ActionAffectedTo=Aktivnost, ki se tiče +ActionAffectedTo=Event assigned to ActionDoneBy=Aktivnost izvedel ActionUserAsk=Zabeležil ErrorStatusCantBeZeroIfStarted=Če je polje 'Date done' izpolnjeno, je aktivnost začeta (ali končana), zato polje 'Status' ne more biti 0%%. diff --git a/htdocs/langs/sl_SI/contracts.lang b/htdocs/langs/sl_SI/contracts.lang index 8f74a40c7c8..60ef9ee1b04 100644 --- a/htdocs/langs/sl_SI/contracts.lang +++ b/htdocs/langs/sl_SI/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Potekla ServiceStatusClosed=Zaključena ServicesLegend=Legenda storitev Contracts=Pogodbe +ContractsAndLine=Contracts and line of contracts Contract=Pogodba NoContracts=Ni pogodb MenuServices=Storitve diff --git a/htdocs/langs/sl_SI/cron.lang b/htdocs/langs/sl_SI/cron.lang index 298acce66f0..a6e87be5cfe 100644 --- a/htdocs/langs/sl_SI/cron.lang +++ b/htdocs/langs/sl_SI/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/sl_SI/errors.lang b/htdocs/langs/sl_SI/errors.lang index 78f2fc71dba..8417f316e28 100644 --- a/htdocs/langs/sl_SI/errors.lang +++ b/htdocs/langs/sl_SI/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Plačilni in ciljni bančni račun morata biti ra ErrorBadThirdPartyName=Napačno ime partnerja ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Napačna koda kupca -ErrorBadBarCodeSyntax=Bad syntax for bar 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=Obvezna koda kupca ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=Koda kupca je že uporabljena @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript ne sme biti izklopljen, če želite da t ErrorPasswordsMustMatch=Obe vneseni gesli se morata ujemati ErrorContactEMail=PriÅ”lo je do tehnične napake. Prosimo, obrnite se na administratorja na naslednji Email %s in mu sporočite kodo napake %s, Å e bolje pa je, če priložite kopijo strani z napako. ErrorWrongValueForField=Napačna vrednost v polju Å”tevilka %s (vrednost '%s' ne ustreza pravilu %s) -ErrorFieldValueNotIn=Napačna vrednost v polju Å”tevilka%s (vrednost '%s' ni vrednost, ki je na voljo v polju %s tabele %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Napačna vrednost za %s Å”tevilka polja (Vrednost '%s "ni %s obstoječe ref) ErrorsOnXLines=Napake v %s vrsticah izvorne kode ErrorFileIsInfectedWithAVirus=Antivirusni program ni mogel potrditi datoteke (datoteka je morda okužena) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/sl_SI/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/sl_SI/install.lang b/htdocs/langs/sl_SI/install.lang index ca1de1fe210..824579c3114 100644 --- a/htdocs/langs/sl_SI/install.lang +++ b/htdocs/langs/sl_SI/install.lang @@ -156,6 +156,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=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/main.lang b/htdocs/langs/sl_SI/main.lang index fce08c4ae5f..0b0e4a38d9a 100644 --- a/htdocs/langs/sl_SI/main.lang +++ b/htdocs/langs/sl_SI/main.lang @@ -141,6 +141,7 @@ Cancel=Razveljavi Modify=Spremeni Edit=Uredi Validate=Potrdi +ValidateAndApprove=Potrdi in odobri ToValidate=Za potrditev Save=Shrani SaveAs=Shrani kot @@ -158,6 +159,7 @@ Search=IŔči SearchOf=Iskanje Valid=Veljaven Approve=Potrdi +Disapprove=Prekliči odobritev ReOpen=Ponovno odpri Upload=Dodaj datoteko ToLink=Povezava @@ -219,6 +221,7 @@ Cards=Kartice Card=Kartica Now=Zdaj Date=Datum +DateAndHour=Datum in ura DateStart=Začetni datum DateEnd=Končni datum DateCreation=Datum kreiranja @@ -295,6 +298,7 @@ UnitPriceHT=Cena enote (neto) UnitPriceTTC=Cena enote PriceU=C.E. PriceUHT=C.E. (neto) +AskPriceSupplierUHT=Zahtevan P.U. HT PriceUTTC=C.E. Amount=Znesek AmountInvoice=Znesek računa @@ -521,6 +525,7 @@ DateFromTo=Od %s do %s DateFrom=Od %s DateUntil=Do %s Check=Preveri +Uncheck=Odznači Internal=Interno External=Eksterno Internals=Interni @@ -688,6 +693,7 @@ PublicUrl=Javni URL AddBox=Dodaj okvir SelectElementAndClickRefresh=Izberi element in klikni osveži PrintFile=Natisni datoteko %s +ShowTransaction=Prikaži transakcijo # Week day Monday=Ponedeljek Tuesday=Torek diff --git a/htdocs/langs/sl_SI/orders.lang b/htdocs/langs/sl_SI/orders.lang index 876d57cf02b..eb4d92ac319 100644 --- a/htdocs/langs/sl_SI/orders.lang +++ b/htdocs/langs/sl_SI/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Preklicano StatusOrderDraft=Osnutek (potrebno potrditi) StatusOrderValidated=Potrjeno StatusOrderOnProcess=Naročeno - čaka na prevzem +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Obdelano StatusOrderToBill=Za fakturiranje StatusOrderToBill2=Za fakturiranje @@ -58,6 +59,7 @@ MenuOrdersToBill=Naročila za fakturiranje MenuOrdersToBill2=Naročila za fakturiranje SearchOrder=Iskanje naročila SearchACustomerOrder=Iskanje naročila kupca +SearchASupplierOrder=Search a supplier order ShipProduct=PoÅ”lji izdelek Discount=Popust CreateOrder=Kreiraj naročilo diff --git a/htdocs/langs/sl_SI/other.lang b/htdocs/langs/sl_SI/other.lang index 20246977b5e..7b22d4ec296 100644 --- a/htdocs/langs/sl_SI/other.lang +++ b/htdocs/langs/sl_SI/other.lang @@ -54,12 +54,13 @@ MaxSize=Največja velikost AttachANewFile=Pripni novo datoteko/dokument LinkedObject=Povezani objekti Miscellaneous=Razno -NbOfActiveNotifications=Å tevilo sporočil +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=To je testni mail.\nDve vrstici sta ločeni z carriage return. PredefinedMailTestHtml=To je test mail (beseda test mora biti v krepkem tisku).
    Dve vrstici sta ločeni z carriage return. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nV prilogi je račun __FACREF__\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nŽelimo vas opozoriti, da račun __FACREF__ ni bil poravnan. Zato vam račun Ŕe enkrat poŔiljamo v prilogi.\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nV prilogi je ponudba __PROPREF__\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nV prilogi je potrditev naročila __ORDERREF__\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nV prilogi je naŔe naročilo __ORDERREF__\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nV prilogi je račun __FACREF__\n\n__PERSONALIZED__S spoŔtovanjem\n\n__SIGNATURE__ diff --git a/htdocs/langs/sl_SI/printing.lang b/htdocs/langs/sl_SI/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/sl_SI/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/sl_SI/productbatch.lang +++ b/htdocs/langs/sl_SI/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/sl_SI/products.lang b/htdocs/langs/sl_SI/products.lang index 1af1122f798..66b438442e1 100644 --- a/htdocs/langs/sl_SI/products.lang +++ b/htdocs/langs/sl_SI/products.lang @@ -250,3 +250,7 @@ PriceExpressionEditorHelp3=Tako za proizvode/storitve, kot za nabavne cene, so n PriceExpressionEditorHelp4=Samo za cene proizvodov/storitev: #supplier_min_price#
    Samo za nabavne cene: #supplier_quantity# in #supplier_tva_tx# PriceMode=Način cene PriceNumeric=Å tevilka +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/sl_SI/projects.lang b/htdocs/langs/sl_SI/projects.lang index 114bd850d0f..ece1a228e71 100644 --- a/htdocs/langs/sl_SI/projects.lang +++ b/htdocs/langs/sl_SI/projects.lang @@ -8,8 +8,10 @@ SharedProject=Projekti v skupni rabi PrivateProject=Privatni projekti MyProjectsDesc=Ta pogled je omejen na projekte za katere ste vi kontaktna oseba (ne glede na vrsto). ProjectsPublicDesc=To pogled predstavlja vse projekte, za katere imate dovoljenje za branje. +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). 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). ProjectsArea=Področje projektov @@ -29,6 +31,8 @@ NoProject=Nimate definiranega ali lastnega projekta NbOpenTasks=Å tevilo odprtih nalog NbOfProjects=Å tevilo projektov TimeSpent=Porabljen čas +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Porabljen čas RefTask=Referenčna naloga LabelTask=Naziv naloge @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Seznam naročil pri dobaviteljih, povezanih ListSupplierInvoicesAssociatedProject=Seznam računov dobaviteljev, povezanih s projektom ListContractAssociatedProject=Seznam pogodb, povezanih s projektom ListFichinterAssociatedProject=Seznam intervencij, povezanih s projektom -ListTripAssociatedProject=Seznam potovanj in stroÅ”kov, povezanih s projektom +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Seznam aktivnosti, povezanih s projektom ActivityOnProjectThisWeek=Aktivnosti na projektu v tem tednu ActivityOnProjectThisMonth=Aktivnosti na projektu v tem mesecu @@ -126,10 +130,15 @@ AddElement=Povezava do elementa UnlinkElement=Nepovezan element # Documents models DocumentModelBaleine=Model poročila za celoten projekt (logo...) -PlannedWorkload = Planirana delovna obremenitev -WorkloadOccupation= Pretvarjanje delovne obremenitve +PlannedWorkload=Planirana delovna obremenitev +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=Referenčni objekti SearchAProject=Iskanje projekta ProjectMustBeValidatedFirst=Projekt mora biti najprej potrjen ProjectDraft=Osnutek projekta 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 diff --git a/htdocs/langs/sl_SI/salaries.lang b/htdocs/langs/sl_SI/salaries.lang index 28358cd23ec..6ac11760aea 100644 --- a/htdocs/langs/sl_SI/salaries.lang +++ b/htdocs/langs/sl_SI/salaries.lang @@ -1,4 +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 Salary=Plača Salaries=Plače Employee=Zaposleni @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/sl_SI/sendings.lang b/htdocs/langs/sl_SI/sendings.lang index 527162ad3d9..5a318a13eb8 100644 --- a/htdocs/langs/sl_SI/sendings.lang +++ b/htdocs/langs/sl_SI/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Naročena količina QtyShipped=Poslana količina QtyToShip=Količina za poÅ”iljanje QtyReceived=Prejeta količina -KeepToShip=Zadrži poÅ”iljanje +KeepToShip=Remain to ship OtherSendingsForSameOrder=Ostale poÅ”iljke za to naročilo DateSending=Datum poÅ”iljanja naročila DateSendingShort=Datum poÅ”iljanja diff --git a/htdocs/langs/sl_SI/stocks.lang b/htdocs/langs/sl_SI/stocks.lang index 3f37e27fd3b..ff1eed42243 100644 --- a/htdocs/langs/sl_SI/stocks.lang +++ b/htdocs/langs/sl_SI/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Uravnotežena povprečna cena PMPValueShort=UPC EnhancedValueOfWarehouses=Vrednost skladiŔč UserWarehouseAutoCreate=Avtomatsko ustvari zalogo, ko kreirate uporabnika +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Odposlana količina QtyDispatchedShort=Odposlana količina QtyToDispatchShort=Količina za odpoÅ”iljanje @@ -110,7 +111,7 @@ WarehouseForStockDecrease=SkladiŔčee %s bo uporabljeno za zmanjÅ”anje z 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 odprtih naročil pri dobavitelju +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=Obnovitve NbOfProductBeforePeriod=Količina proizvoda %s na zalogi pred izbranim obdobjem (< %s) NbOfProductAfterPeriod=Količina proizvoda %s na zalogi po izbranem obdobju (> %s) @@ -130,3 +131,4 @@ IsInPackage=Vsebina paketa ShowWarehouse=Prikaži skladiŔče MovementCorrectStock=Popravek količine zaloge za proizvod %s MovementTransferStock=SkladiŔčni prenos proizvoda %s v drugo skladiŔče +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. diff --git a/htdocs/langs/sl_SI/suppliers.lang b/htdocs/langs/sl_SI/suppliers.lang index a19e3dab7e5..ef34fc2ba1b 100644 --- a/htdocs/langs/sl_SI/suppliers.lang +++ b/htdocs/langs/sl_SI/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Dobavitelji -Supplier=Dobavitelj AddSupplier=Ustvari dobavitelja SupplierRemoved=Dobavitelj odstranjen SuppliersInvoice=Računi dobavitelja @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Računi dobaviteljev in plačila ExportDataset_fournisseur_3=Naročila pri dobaviteljih in vrstice naročila ApproveThisOrder=Odobri to naročilo ConfirmApproveThisOrder=Ali zares želite odobriti to naročilo ? -DenyingThisOrder=Zavrni to naročilo +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ali zares želite zavrniti to naročilo? ConfirmCancelThisOrder=Ali zares želite preklicati to naročilo? AddCustomerOrder=Kreirajte naročilo kupca diff --git a/htdocs/langs/sl_SI/trips.lang b/htdocs/langs/sl_SI/trips.lang index ae053137a54..9b9729b3d9e 100644 --- a/htdocs/langs/sl_SI/trips.lang +++ b/htdocs/langs/sl_SI/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Pot -Trips=Poti -TripsAndExpenses=Poti in stroÅ”ki -TripsAndExpensesStatistics=Statistika poti in stroÅ”kov -TripCard=Kartica poti -AddTrip=Dodaj pot -ListOfTrips=Seznam poti +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=Seznam stroÅ”kov -NewTrip=Nova pot +NewTrip=New expense report CompanyVisited=Obiskano podjetje/ustanova Kilometers=Kilometri FeesKilometersOrAmout=Količina kilometrov -DeleteTrip=IzbriÅ”i pot -ConfirmDeleteTrip=Ali zares želite izbrisati to pot ? +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=Označi kot "Povrnjeno" +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=Ostalo +TF_TRANSPORTATION=Transportation TF_LUNCH=Kosilo -TF_TRIP=Pot -ListTripsAndExpenses=Seznam poti in stroÅ”kov -ExpensesArea=Področje poti in stroÅ”kov -SearchATripAndExpense=Iskanje poti in stroÅ”ka -ClassifyRefunded=Classify 'Refunded' +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/sq_AL/admin.lang b/htdocs/langs/sq_AL/admin.lang index 38634cbd497..9782c2ea27f 100644 --- a/htdocs/langs/sq_AL/admin.lang +++ b/htdocs/langs/sq_AL/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/sq_AL/banks.lang b/htdocs/langs/sq_AL/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/sq_AL/banks.lang +++ b/htdocs/langs/sq_AL/banks.lang @@ -33,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 @@ -148,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/sq_AL/bills.lang b/htdocs/langs/sq_AL/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/sq_AL/bills.lang +++ b/htdocs/langs/sq_AL/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/sq_AL/commercial.lang b/htdocs/langs/sq_AL/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/sq_AL/commercial.lang +++ b/htdocs/langs/sq_AL/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/sq_AL/contracts.lang b/htdocs/langs/sq_AL/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/sq_AL/contracts.lang +++ b/htdocs/langs/sq_AL/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/sq_AL/cron.lang b/htdocs/langs/sq_AL/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/sq_AL/cron.lang +++ b/htdocs/langs/sq_AL/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/sq_AL/errors.lang b/htdocs/langs/sq_AL/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/sq_AL/errors.lang +++ b/htdocs/langs/sq_AL/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/sq_AL/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/sq_AL/install.lang b/htdocs/langs/sq_AL/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/sq_AL/install.lang +++ b/htdocs/langs/sq_AL/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/sq_AL/main.lang b/htdocs/langs/sq_AL/main.lang index ea91cfb3438..c9794e8b2ed 100644 --- a/htdocs/langs/sq_AL/main.lang +++ b/htdocs/langs/sq_AL/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/sq_AL/orders.lang b/htdocs/langs/sq_AL/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/sq_AL/orders.lang +++ b/htdocs/langs/sq_AL/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/sq_AL/other.lang b/htdocs/langs/sq_AL/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/sq_AL/other.lang +++ b/htdocs/langs/sq_AL/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/sq_AL/printing.lang b/htdocs/langs/sq_AL/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/sq_AL/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/sq_AL/productbatch.lang +++ b/htdocs/langs/sq_AL/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/sq_AL/products.lang b/htdocs/langs/sq_AL/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/sq_AL/products.lang +++ b/htdocs/langs/sq_AL/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/sq_AL/projects.lang b/htdocs/langs/sq_AL/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/sq_AL/projects.lang +++ b/htdocs/langs/sq_AL/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/sq_AL/salaries.lang b/htdocs/langs/sq_AL/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/sq_AL/salaries.lang +++ b/htdocs/langs/sq_AL/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/sq_AL/sendings.lang b/htdocs/langs/sq_AL/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/sq_AL/sendings.lang +++ b/htdocs/langs/sq_AL/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/sq_AL/stocks.lang b/htdocs/langs/sq_AL/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/sq_AL/stocks.lang +++ b/htdocs/langs/sq_AL/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/sq_AL/suppliers.lang b/htdocs/langs/sq_AL/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/sq_AL/suppliers.lang +++ b/htdocs/langs/sq_AL/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 diff --git a/htdocs/langs/sq_AL/trips.lang b/htdocs/langs/sq_AL/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/sq_AL/trips.lang +++ b/htdocs/langs/sq_AL/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/sv_SE/accountancy.lang b/htdocs/langs/sv_SE/accountancy.lang index 953962457db..a0f32ed0aa5 100644 --- a/htdocs/langs/sv_SE/accountancy.lang +++ b/htdocs/langs/sv_SE/accountancy.lang @@ -15,7 +15,7 @@ JournalFinancial=Finansiella journaler Exports=Export Export=Export Modelcsv=Modell av export -OptionsDeactivatedForThisExportModel=For this export model, options are deactivated +OptionsDeactivatedForThisExportModel=För denna exportmodell är tillval inaktiverade Selectmodelcsv=Välj en modell av export Modelcsv_normal=Klassisk export Modelcsv_CEGID=Export mot CEGID Expert @@ -68,7 +68,7 @@ Lineofinvoice=Line of faktura VentilatedinAccount=Ventilerade framgÄngsrikt i redovisningskonto NotVentilatedinAccount=Inte ventilerad i redovisningskonto -ACCOUNTING_SEPARATORCSV=Column separator in export file +ACCOUNTING_SEPARATORCSV=Kolumnseparator i exportfil ACCOUNTING_LIMIT_LIST_VENTILATION=Antal element att vara uppdelning framgÄr av sidan (max rekommenderad: 50) ACCOUNTING_LIST_SORT_VENTILATION_TODO=Börja sortering av nedbrytnings sidor "MÄste uppdelning" av de senaste element diff --git a/htdocs/langs/sv_SE/admin.lang b/htdocs/langs/sv_SE/admin.lang index 07f6a21ef83..ae34d563120 100644 --- a/htdocs/langs/sv_SE/admin.lang +++ b/htdocs/langs/sv_SE/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimentell VersionDevelopment=Utveckling VersionUnknown=Okänd VersionRecommanded=Rekommenderad +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 för att spara sessioner SessionSavePath=Lagring session lokalisering @@ -294,7 +299,7 @@ DoNotUseInProduction=Använd inte i poroduktion ThisIsProcessToFollow=Detta är inställd för att behandla: StepNb=Steg %s FindPackageFromWebSite=Hitta ett paket som ger funktionen du vill ha (till exempel om %s webbplats). -DownloadPackageFromWebSite=Download package %s. +DownloadPackageFromWebSite=Ladda hem paket %s. UnpackPackageInDolibarrRoot=Packa upp paketet fil till Dolibarr s katalog %s rot SetupIsReadyForUse=Installera är klar och Dolibarr är klar att användas med den nya komponenten. NotExistsDirect=Den alternativa rotkatalogen är inte definierad.
    @@ -304,7 +309,7 @@ YouCanSubmitFile=VƤlj modul: CurrentVersion=Dolibarr nuvarande version CallUpdatePage=GƄ till sidan som uppdaterar databasen struktur och data: %s. LastStableVersion=Senaste stabila version -UpdateServerOffline=Update server offline +UpdateServerOffline=Uppdatera server offline GenericMaskCodes=Du kan ange nƄgon numrering mask. I denna mask skulle fƶljande taggar anvƤndas:
    (000000) motsvarar ett antal som kommer att ƶkas pƄ varje %s. Ange sƄ mƄnga nollor som den ƶnskade lƤngden pƄ disken. RƤknaren kommer att fyllas ut med nollor frƄn vƤnster fƶr att fƄ sƄ mƄnga nollor som masken.
    (000000 000) samma som tidigare men en kompensation som motsvarar det antal till hƶger om tecknet + tillƤmpas med bƶrjan den fƶrsta %s.
    (000000 @ x) samma som tidigare, men rƤknaren Ć„terstƤlls till noll nƤr mĆ„naden x uppnĆ„s (x mellan 1 och 12). Om detta alternativ anvƤnds och x Ƥr 2 eller hƶgre, dĆ„ sekvensen (yy) (mm) eller (ƅƅƅƅ) (mm) krƤvs ocksĆ„.
    (Dd) dag (01 till 31).
    (Mm) mƄnad (01 till 12).
    (Yy), (ƅƅƅƅ) eller (y) Ć„r under 2, 4 eller ett nummer.
    GenericMaskCodes2={Cccc} klientkoden pƄ n tecken
    {Cccc000} klientkoden pƄ n tecken fƶljs av en rƤknare dedikerad fƶr kunden. Denna rƤknare tillƤgnad kund ƄterstƤlls vid samma tidpunkt Ƥn den globala rƤknare.
    {Tttt} Koden fƶr tredjeparts typ pƄ n tecken (se ordlistan-tredjeparts typer).
    GenericMaskCodes3=Alla andra tecken i masken fƶrblir intakt.
    Blanksteg Ƥr inte tillƄtna.
    @@ -383,12 +388,12 @@ ExtrafieldSelectList = VƤlj frƄn tabell ExtrafieldSeparator=Avskiljare ExtrafieldCheckBox=Kryssruta ExtrafieldRadio=Radioknapp -ExtrafieldCheckBoxFromList= Checkbox from table +ExtrafieldCheckBoxFromList= Kryssruta frƄn tabell ExtrafieldParamHelpselect=Parametrar listan mƄste vara som nyckel, vƤrde

    till exempel:
    1, value1
    2, vƤrde2
    3, value3
    ...

    Fƶr att fƄ en lista beroende pƄ en annan:
    1, value1 | parent_list_code: parent_key
    2, vƤrde2 | parent_list_code: parent_key ExtrafieldParamHelpcheckbox=Parametrar listan mƄste vara som nyckel, vƤrde

    till exempel:
    1, value1
    2, vƤrde2
    3, value3
    ... ExtrafieldParamHelpradio=Parametrar listan mƄste vara som nyckel, vƤrde

    till exempel:
    1, value1
    2, vƤrde2
    3, value3
    ... ExtrafieldParamHelpsellist=Parametrar lista kommer frƄn en tabell
    Syntax: tabellnamn: label_field: id_field :: filtrering
    Exempel: c_typent: libelle: id :: filter

    Filtret kan vara ett enkelt test (t.ex. aktiv = 1) fƶr att visa endast aktiv vƤrde
    Om du vill filtrera pƄ extrafields anvƤnder syntaxt extra.fieldcode = ... (dƤr fƤltkoden Ƥr koden fƶr Mig &)

    Fƶr att fƄ en lista beroende pƄ en annan:
    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 +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=Vissa lƤnder tillƤmpar 2 eller 3 skatter pƄ varje fakturarad. Om sƄ Ƥr fallet, vƤlj typ fƶr andra och tredje skatte- och dess hastighet. Mƶjlig typ Ƥr:
    1: lokal skatt tillƤmpas pƄ produkter och tjƤnster utan moms (moms inte tillƤmpas pƄ lokal skatt)
    2: lokal skatt tillƤmpas pƄ produkter och tjƤnster innan moms (moms berƤknas pƄ beloppet + localtax)
    3: lokal skatt tillƤmpas pƄ produkter utan moms (moms inte tillƤmpas pƄ lokal skatt)
    4: lokal skatt tillƤmpas pƄ produkter innan moms (moms berƤknas pƄ beloppet + localtax)
    5: lokal skatt tillƤmpas pƄ tjƤnster utan moms (moms inte tillƤmpas pƄ lokal skatt)
    6: lokal skatt tillƤmpas pĆ„ tjƤnster innan moms (moms berƤknas pĆ„ beloppet + localtax) @@ -493,10 +498,16 @@ Module600Name=AnmƤlningar Module600Desc=Skicka e-postmeddelanden pĆ„ vissa Dolibarr affƤrshƤndelser till kontakter tredjeparts (instƤllnings definieras pĆ„ varje tredjeparts) Module700Name=Donationer Module700Desc=Donation ledning +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=Bokfƶring Module1400Desc=Bokfƶring och redovisning (dubbel part) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategorier Module1780Desc=Categorie ledning (produkter, leverantƶrer och kunder) Module2000Name=FCKeditor @@ -575,7 +586,7 @@ Permission67=Export insatser Permission71=LƤs medlemmar Permission72=Skapa / modifiera medlemmar Permission74=Ta bort medlemmar -Permission75=Setup types of membership +Permission75=Definera typer av medlemskap Permission76=Exportera data seten Permission78=LƤs prenumerationer Permission79=Skapa / Ƥndra abonnemang @@ -598,8 +609,8 @@ Permission106=Exportsend Permission109=Ta bort sendings Permission111=LƤs finansiella rƤkenskaper Permission112=Skapa / Ƥndra / radera och jƤmfƶr transaktioner -Permission113=Setup financial accounts (create, manage categories) -Permission114=Reconciliate transactions +Permission113=StƤll upp finansiella konton (skapa, handha kategorier) +Permission114=AvstƤmning av transaktioner Permission115=Exporttransaktioner och kontoutdrag Permission116=Ɩverfƶringar mellan konton Permission117=Hantera kontroller avsƤndning @@ -631,7 +642,7 @@ Permission181=LƤs leverantƶr order Permission182=Skapa / Ƥndra leverantƶr order Permission183=Validate leverantƶr order Permission184=GodkƤnn leverantƶr order -Permission185=BestƤll leverantƶr order +Permission185=Order or cancel supplier orders Permission186=Ta emot leverantƶr order Permission187=StƤng leverantƶr order Permission188=Avbryt leverantƶr order @@ -711,6 +722,13 @@ Permission538=Exportera tjƤnster Permission701=LƤs donationer Permission702=Skapa / Ƥndra donationer Permission703=Ta bort donationer +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=LƤs lager Permission1002=Skapa / Ƥndra lager Permission1003=Radera lager @@ -764,7 +782,7 @@ Permission55001=LƤs omrƶstningar Permission55002=Skapa / Ƥndra omrƶstningar Permission59001=LƤs kommersiella marginaler Permission59002=Definiera kommersiella marginaler -Permission59003=Read every user margin +Permission59003=LƤs varje anvƤndaremarginal DictionaryCompanyType=Thirdparties typ DictionaryCompanyJuridicalType=Juridiska sorters thirdparties DictionaryProspectLevel=Prospect potentiella nivĆ„ @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Lƶsenord fƶr att anvƤnda proxyservern DefineHereComplementaryAttributes=HƤr definierar du alla atributes inte redan finns tillgƤnglig som standard, och att du vill bli stƶd fƶr %s. ExtraFields=KomplementƤra egenskaper ExtraFieldsLines=Kompletterande attribut (rader) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Kompletterande attribut (tredjeparts) ExtraFieldsContacts=Kompletterande attribut (kontaktperson / adress) ExtraFieldsMember=Kompletterande attribut (medlem) @@ -1042,7 +1062,7 @@ SendingMailSetup=InstƤllning av sƤndningarna via e-post SendmailOptionNotComplete=Varning, pĆ„ vissa Linux-system, fƶr att skicka e-post frĆ„n e-post, sendmail utfƶrande instƤllning mĆ„ste conatins Alternativ-ba (parameter mail.force_extra_parameters i din php.ini-fil). Om vissa mottagare inte emot e-post, fƶrsƶk att redigera den hƤr PHP parameter med mail.force_extra_parameters =-BA). PathToDocuments=SƶkvƤg till handlingar 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. +SendmailOptionMayHurtBuggedMTA=Funktion fƶr att skicka e-post med hjƤlp av metoden "PHP mail direct" genererar ett e-postmeddelande som kanske inte tolkas korrekt av vissa e-postservrar. Resultatet Ƥr att viss epost inte kan lƤsas av anvƤndare som hostas pĆ„ sĆ„dana system som tolkar fel. Det Ƥr fallet fƶr vissa internetleverantƶrer (t.ex. Orange i Frankrike). Detta Ƥr inte ett Dolibarr- eller PHP-problem men fel pĆ„ inkommande e-post server. Du kan sƤtta MAIN_FIX_FOR_BUGGED_MTA till 1 i "Setup - andra" fƶr att Dolibarr ska undvika detta. Du kan dock uppleva problem med andra servrar som strikt fƶljer SMTP standard. Den andra lƶsningen (Rekomenderad) Ƥr att anvƤnda metoden "SMTP socket library" som inte har nĆ„gra nackdelar. TranslationSetup=Konfigurera ƶversƤttning TranslationDesc=Val av sprĆ„k visas pĆ„ skƤrmen kan Ƥndras:
    * Globalt frƄn menyn Hem - InstƤllningar - Display
    * Fƶr anvƤndaren endast frƄn fliken AnvƤndar visning av anvƤndarkort (klicka pƄ inloggning pƄ toppen av skƤrmen). TotalNumberOfActivatedModules=Totalt antal aktiverade funktionsmoduler:% s @@ -1061,7 +1081,7 @@ BrowserIsOK=Du anvƤnder webblƤsaren %s. Denna webblƤsare Ƥr ok fƶr sƤkerhe BrowserIsKO=Du anvƤnder webblƤsaren %s. Denna webblƤsare Ƥr kƤnt fƶr att vara ett dƄligt val fƶr sƤkerhet, prestanda och tillfƶrlitlighet. Vi rekommendera att du anvƤnder Firefox, Chrome, Opera eller Safari. XDebugInstalled=Xdebug Ƥr laddad. XCacheInstalled=Xcache Ƥr laddad. -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". +AddRefInList=Visa kund- / leverantƶrreferens i lista (vƤlj lista eller combobox) och del av hyperlink. Tredjepart visas med namn "CC12345 - SC45678 - Stor AB" istƤllet fƶr "Stor AB". FieldEdition=Edition av fƤlt %s FixTZ=Timezone fix FillThisOnlyIfRequired=Exempel: +2 (fyll endast om tidszon offset problem Ƥr erfarna) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=En rad av produkt / tjƤnst med en nolla belopp anses FreeLegalTextOnProposal=Fri text pƄ affƤrsfƶrslag WatermarkOnDraftProposal=VattenstƤmpel pƄ utkast till affƤrsfƶrslag (ingen om tom) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Be om bankkonto destination fƶrslag +##### 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=BestƤll ledning setup OrdersNumberingModules=BestƤllningar numrering moduler @@ -1161,7 +1188,7 @@ ValidOrderAfterPropalClosed=Att godkƤnna bestƤllningen efter fƶrslaget nƤrma FreeLegalTextOnOrders=Fri text pƄ order WatermarkOnDraftOrders=VattenstƤmpel pƄ utkast till bestƤllningar (ingen om tom) ShippableOrderIconInList=LƤgg en ikon i Order lista som anger om bestƤllningen Ƥr shippable -BANK_ASK_PAYMENT_BANK_DURING_ORDER=Ask for bank account destination of order +BANK_ASK_PAYMENT_BANK_DURING_ORDER=FrƄga om mƄlbankkonto fƶr order ##### Clicktodial ##### ClickToDialSetup=Klicka fƶr att Dial modul setup ClickToDialUrlDesc=Url anropas nƤr ett klick pƄ telefon picto gƶrs. I URL kan du anvƤnda taggar
    __PHONETO__ Som kommer att ersƤttas med telefonnumret fƶr personen att ringa
    __PHONEFROM__ Som ska ersƤttas med telefonnummer att ringa person (er)
    __LOGIN__ Som ska ersƤttas med clicktodial inloggning (definierad pƄ ditt anvƤndarnamn kort)
    __PASS__ Som ska ersƤttas med ditt clicktodial lƶsenord (definierad pƄ ditt anvƤndarnamn kort). @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Barcode av typ UPC BarcodeDescISBN=Barcode av typ ISBN BarcodeDescC39=Streckkod av typen C39 BarcodeDescC128=Barcode av typ C128 -GenbarcodeLocation=Bar kodgenerering kommandoradsverktyg (som anvƤnds av phpbarcode motor fƶr vissa typer streckkod) +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 ##### Prelevements ##### @@ -1397,7 +1424,7 @@ RSSUrlExample=En intressant RSS-flƶde MailingSetup=E-post modul setup MailingEMailFrom=AvsƤndare Epost (frĆ„n) fƶr e-post skickas via e-post modul MailingEMailError=Retur-e (fel-till) fƶr e-post med fel -MailingDelay=Seconds to wait after sending next message +MailingDelay=Sekunder fƶrdrƶjning efter sƤndning av nƤsta meddelande ##### Notification ##### NotificationSetup=EMail modul anmƤlan instƤllnings NotificationEMailFrom=AvsƤndare Epost (frĆ„n) fƶr e-post som skickas till anmƤlningar @@ -1407,9 +1434,9 @@ FixedEmailTarget=Fast e mĆ„let SendingsSetup=SƤnda modul setup SendingsReceiptModel=Att skicka kvitto modell SendingsNumberingModules=SƤnts numrering moduler -SendingsAbility=Support shipment sheets for customer deliveries +SendingsAbility=Stƶd fraktsedlar fƶr kundleveranser. NoNeedForDeliveryReceipts=I de flesta fall Ƥr sendings kvitton anvƤndas bĆ„de som ark fƶr kundleveranser (fƶrteckning ƶver produkter fƶr att skicka) och ark som Ƥr recevied och undertecknas av kunden. SĆ„ produktleveranser intƤkter Ƥr en dubbel funktion och Ƥr sƤllan aktiveras. -FreeLegalTextOnShippings=Free text on shipments +FreeLegalTextOnShippings=Fritext pĆ„ fraktsedlar ##### Deliveries ##### DeliveryOrderNumberingModules=Produkter leveranser kvitto numrering modul DeliveryOrderModel=Produkter leveranser kvitto modell @@ -1420,7 +1447,7 @@ AdvancedEditor=Avancerad redaktƶr ActivateFCKeditor=Aktivera FCKeditor fƶr: FCKeditorForCompany=WYSIWYG skapande / upplaga av Companie beskrivning och notera FCKeditorForProduct=WYSIWYG skapande / upplaga av produkter / tjƤnster: s beskrivning och anteckning -FCKeditorForProductDetails=WYSIWIG creation/edition of products details lines for all entities (proposals, orders, invoices, etc...). Warning: Using this option for this case is seriously not recommended as it can create problems with special characters and page formating when building PDF files. +FCKeditorForProductDetails=WYSIWYG skapande / redigering av artikeldetaljrader fƶr alla enheter (offertar, order, fakturor mm). Varning: AnvƤndning av detta alternativ Ƥr inte rekommenderat dĆ„ det kan leda till problem med speciella tecken och sidformatering vid framstƤllning av PDF-filer. FCKeditorForMailing= WYSIWYG skapande / utgĆ„va av fƶrsƤndelser FCKeditorForUserSignature=WYSIWYG skapande / upplaga av signatur FCKeditorForMail=WYSIWYG skapande / utgĆ„va fƶr alla mail (utom Outils-> mejla) @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Standard generiska tredje part att anvƤnda fƶr Sells CashDeskBankAccountForSell=Konto som ska anvƤndas fƶr att ta emot kontant betalning CashDeskBankAccountForCheque= Konto som ska anvƤndas fƶr att ta emot betalningar med check CashDeskBankAccountForCB= Konto som ska anvƤndas fƶr att ta emot kontant betalning med kreditkort -CashDeskDoNotDecreaseStock=Inaktivera lager minskning nƤr en sƤlja gƶrs frĆ„n 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=Tvinga och begrƤnsa lager att anvƤnda fƶr aktie minskning StockDecreaseForPointOfSaleDisabled=Stock minskning frĆ„n Point of Sale inaktiv +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Du har inte inaktivera lager minskning nƤr du gƶr en sƤlja frĆ„n Point of Sale. SĆ„ ett lager krƤvs. ##### Bookmark ##### BookmarkSetup=BokmƤrk modul setup @@ -1568,4 +1596,8 @@ SalariesSetup=InstƤllning av modul lƶner SortOrder=Sorteringsordning Format=Format TypePaymentDesc=0: Kundbetalning typ, 1: Leverantƶrsbetalnings typ, 2: BĆ„de kunder och leverantƶrer betalnings typ -IncludePath=Include path (defined into variable %s) +IncludePath=Inkludera sƶkvƤg (definerad i variabel %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. diff --git a/htdocs/langs/sv_SE/agenda.lang b/htdocs/langs/sv_SE/agenda.lang index 8d888af7945..fce76b40e62 100644 --- a/htdocs/langs/sv_SE/agenda.lang +++ b/htdocs/langs/sv_SE/agenda.lang @@ -58,9 +58,9 @@ OrderSentByEMail=Kundorderprojekt %s via e-post InvoiceSentByEMail=Kundfaktura %s via e-post SupplierOrderSentByEMail=Leverantƶr bestƤlla %s via e-post SupplierInvoiceSentByEMail=Leverantƶrsfaktura %s via e-post -ShippingSentByEMail=Shipment %s sent by EMail -ShippingValidated= Shipment %s validated -InterventionSentByEMail=Intervention %s sent by EMail +ShippingSentByEMail=Leverans %s skickat per epost +ShippingValidated= Leverans %s validerad +InterventionSentByEMail=Ƅrende %s skickat per epost NewCompanyToDolibarr= Tredje part har skapats DateActionPlannedStart= Planerat startdatum DateActionPlannedEnd= Planerat slutdatum @@ -69,7 +69,7 @@ DateActionDoneEnd= Real slutdatum DateActionStart= Startdatum DateActionEnd= Slutdatum AgendaUrlOptions1=Du kan ocksĆ„ lƤgga till fƶljande parametrar fƶr att filtrera utgĆ„ng: -AgendaUrlOptions2=login=%s to restrict output to actions created by or assigned to user %s. +AgendaUrlOptions2=login=%s fƶr att begrƤnsa utdata till hƤndelser skapade av eller tilldelade anvƤndare %s. AgendaUrlOptions3=Logina =%s ​​att begrƤnsa produktionen till Ć„tgƤrder som Ƥgs av en anvƤndare%s. AgendaUrlOptions4=logint = %s att begrƤnsa produktionen till handlande pĆ„verkade anvƤndarnas %s. AgendaUrlOptionsProject=projekt = PROJECT_ID att begrƤnsa produktionen till Ć„tgƤrder i samband med projektet PROJECT_ID. diff --git a/htdocs/langs/sv_SE/banks.lang b/htdocs/langs/sv_SE/banks.lang index ad874db18e7..2f6dc103262 100644 --- a/htdocs/langs/sv_SE/banks.lang +++ b/htdocs/langs/sv_SE/banks.lang @@ -8,7 +8,7 @@ FinancialAccount=Konto FinancialAccounts=Konton BankAccount=Bankkonto BankAccounts=Bankkonton -ShowAccount=Show Account +ShowAccount=Visa konto AccountRef=Finansiell balans ref AccountLabel=Finansiell balans etikett CashAccount=Cash konto @@ -33,7 +33,11 @@ AllTime=FrĆ„n bƶrjan Reconciliation=AvstƤmning RIB=Bankkontonummer IBAN=IBAN-nummer +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT nummer +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=StĆ„ende order StandingOrder=StĆ„ende order Withdrawals=Uttag @@ -148,7 +152,7 @@ BackToAccount=Tillbaka till konto ShowAllAccounts=Visa fƶr alla konton FutureTransaction=Transaktioner i Futur. Inget sƤtt att blidka. SelectChequeTransactionAndGenerate=VƤlj / Filtret kontrollerar att inkludera i kontrollen insƤttning kvittot och klicka pĆ„ "Skapa". -InputReceiptNumber=VƤlj kontoutdrag samband med fƶrlikningen. AnvƤnd en sorterbar numeriskt vƤrde (t.ex., ƅƅƅƅMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=SĆ„ smĆ„ningom, ange en kategori dƤr fƶr att klassificera de register ToConciliate=Fƶr att fƶrena? ThenCheckLinesAndConciliate=Kontrollera sedan linjerna som finns i kontoutdraget och klicka diff --git a/htdocs/langs/sv_SE/bills.lang b/htdocs/langs/sv_SE/bills.lang index 58ce46d83f5..549fcce7940 100644 --- a/htdocs/langs/sv_SE/bills.lang +++ b/htdocs/langs/sv_SE/bills.lang @@ -1,16 +1,16 @@ # Dolibarr language file - Source file is en_US - bills Bill=Faktura Bills=Fakturor -BillsCustomers=Customers invoices -BillsCustomer=Customers invoice -BillsSuppliers=Suppliers invoices -BillsCustomersUnpaid=Unpaid customers invoices +BillsCustomers=Kundfakturor +BillsCustomer=Kundfaktura +BillsSuppliers=Leverantƶrsfakturor +BillsCustomersUnpaid=Obetalda kundfakturor BillsCustomersUnpaidForCompany=Obetalda kundens fakturor fƶr %s BillsSuppliersUnpaid=Obetalda leverantƶrs fakturor BillsSuppliersUnpaidForCompany=Obetald leverantƶrens fakturor fƶr %s BillsLate=Sena betalningar -BillsStatistics=Customers invoices statistics -BillsStatisticsSuppliers=Suppliers invoices statistics +BillsStatistics=Kundfakturor statistik +BillsStatisticsSuppliers=Leverantƶrsfakturor statistik DisabledBecauseNotErasable=Inaktiverats pĆ„ grund kan inte raderas InvoiceStandard=Standard faktura InvoiceStandardAsk=Standard faktura @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Betalningar redan gjort PaymentsBackAlreadyDone=ƅterbetalningar Ƥr utfƶrda tidigare PaymentRule=Betalningsregel PaymentMode=BetalningssƤtt -PaymentConditions=Betalningsvillkor -PaymentConditionsShort=Betalningsvillkor +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Betalningsbelopp ValidatePayment=BekrƤfta betalning PaymentHigherThanReminderToPay=Betalning hƶgre Ƥn pĆ„minnelse att betala @@ -389,7 +390,7 @@ DisabledBecausePayments=Inte mƶjlig eftersom det inte finns nĆ„gra betalningar CantRemovePaymentWithOneInvoicePaid=Kan inte ta bort betalning eftersom det inte finns Ć„tminstone pĆ„ fakturan klassificeras betalt ExpectedToPay=FƶrvƤntad utbetalning PayedByThisPayment=Betalas av denna betalning -ClosePaidInvoicesAutomatically=Classify "Paid" all standard, situation or replacement invoices entirely paid. +ClosePaidInvoicesAutomatically=Klassificera "Betald" alla standard-, lƶpande och ersƤttningsfakturor som Ƥr fullstƤndigt betalda. ClosePaidCreditNotesAutomatically=Beteckna "Betalda" alla fullstƤndigt Ć„terbetalda kreditnotor. AllCompletelyPayedInvoiceWillBeClosed=Alla fakturor utan Ć„terstĆ„ende att betala kommer automatiskt stƤngd fƶr status "betald". ToMakePayment=Betala @@ -412,19 +413,19 @@ TypeContact_invoice_supplier_external_BILLING=Leverantƶrsfaktura kontakt TypeContact_invoice_supplier_external_SHIPPING=Leverantƶr Frakt Kontakta TypeContact_invoice_supplier_external_SERVICE=Leverantƶr tjƤnst kontakt # 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ƶrsta lƶpande faktura +InvoiceFirstSituationDesc=Lƶpande fakturor avser delfakturor vid pĆ„gĆ„ende arbeten, t.ex. vid ett bygge. +InvoiceSituation=Lƶpande faktura +InvoiceSituationAsk=Faktura pĆ„ lƶpande rƤkning +InvoiceSituationDesc=Skapa en avstƤmning / faktura pĆ„ lƶpande rƤkning, fƶljande en tidigare +SituationAmount=Lƶpande faktura belopp (netto) +SituationDeduction=Lƶpande rƤkning avdrag +Progress=Framsteg +ModifyAllLines=Ƅndra alla rader +CreateNextSituationInvoice=Skapa nƤsta lƶpande faktura +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 +InvoiceSituationLast=Slutlig sammanstƤllningsfaktura. diff --git a/htdocs/langs/sv_SE/commercial.lang b/htdocs/langs/sv_SE/commercial.lang index 4e4fd7f51aa..350e80a0cb9 100644 --- a/htdocs/langs/sv_SE/commercial.lang +++ b/htdocs/langs/sv_SE/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=Kontakta gjort DateActionPlanned=Datum planerade Ć„tgƤrder fƶr DateActionDone=Datum insatser gƶrs ActionAskedBy=ƅtgƤrd bad -ActionAffectedTo=HƤndelse som Ƥgs av +ActionAffectedTo=Event assigned to ActionDoneBy=ƅtgƤrder som utfƶrs av ActionUserAsk=Registrerats av ErrorStatusCantBeZeroIfStarted=Om fƤltet "Datum gjort" Ƥr fylld, Ƥr arbetet igĆ„ng (eller fƤrdiga), sĆ„ fƤltet "Status" kan inte 0%%. diff --git a/htdocs/langs/sv_SE/compta.lang b/htdocs/langs/sv_SE/compta.lang index 9c425408904..f412350b869 100644 --- a/htdocs/langs/sv_SE/compta.lang +++ b/htdocs/langs/sv_SE/compta.lang @@ -29,7 +29,7 @@ ReportTurnover=OmsƤttning PaymentsNotLinkedToInvoice=Betalningar inte kopplade till nĆ„gon faktura, sĆ„ inte Ƥr kopplade till nĆ„gon tredje part PaymentsNotLinkedToUser=Betalningar inte Ƥr kopplade till alla anvƤndare Profit=Resultat -AccountingResult=Accounting result +AccountingResult=Bokfƶring resultat Balance=Balans Debit=Debet Credit=Credit diff --git a/htdocs/langs/sv_SE/contracts.lang b/htdocs/langs/sv_SE/contracts.lang index 8fc4e33c6e3..3d72d8709f1 100644 --- a/htdocs/langs/sv_SE/contracts.lang +++ b/htdocs/langs/sv_SE/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=UtgĆ„ngna ServiceStatusClosed=StƤngt ServicesLegend=TjƤnster legend Contracts=Kontrakt +ContractsAndLine=Contracts and line of contracts Contract=Kontrakt NoContracts=Inga kontrakt MenuServices=TjƤnster diff --git a/htdocs/langs/sv_SE/cron.lang b/htdocs/langs/sv_SE/cron.lang index dda29874c43..1bb38438cc9 100644 --- a/htdocs/langs/sv_SE/cron.lang +++ b/htdocs/langs/sv_SE/cron.lang @@ -14,8 +14,8 @@ URLToLaunchCronJobs=URL fƶr att kontrollera och starta cron-jobb om det behƶvs OrToLaunchASpecificJob=Eller fƶr att kontrollera och starta ett specifikt arbete KeyForCronAccess=SƤkerhetsnyckel fƶr URL fƶr att lansera cron-jobb FileToLaunchCronJobs=Kommandorad fƶr att starta cron jobb -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 en Unix-miljƶ bƶr fƶljande rad lƤggas i crontab sĆ„ kommandot exekveras var 5:e minut. +CronExplainHowToRunWin=I Microsoft(tm) Windows-miljƶ kan schemalagd aktivitet anvƤndas fƶr att exekvera kommandoraden var 5:e minut # Menu CronJobs=Schemalagda jobb CronListActive=Lista ƶver aktiva / schemalagda jobb @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/sv_SE/ecm.lang b/htdocs/langs/sv_SE/ecm.lang index d257d6e4f60..19b3f75848e 100644 --- a/htdocs/langs/sv_SE/ecm.lang +++ b/htdocs/langs/sv_SE/ecm.lang @@ -43,8 +43,8 @@ ECMDocsByContracts=Handlingar som Ƥr kopplade till kontrakt ECMDocsByInvoices=Dokument med koppling till kunderna fakturor ECMDocsByProducts=Dokument med koppling till produkter ECMDocsByProjects=Handlingar som Ƥr kopplade till projekt -ECMDocsByUsers=Documents linked to users -ECMDocsByInterventions=Documents linked to interventions +ECMDocsByUsers=Dokument lƤnkade till anvƤndare +ECMDocsByInterventions=Dokument lƤnkade till Ƥrenden ECMNoDirectoryYet=Ingen katalog skapas ShowECMSection=Visa katalog DeleteSection=Ta bort katalog diff --git a/htdocs/langs/sv_SE/errors.lang b/htdocs/langs/sv_SE/errors.lang index 06034972e09..2dfe10cfa08 100644 --- a/htdocs/langs/sv_SE/errors.lang +++ b/htdocs/langs/sv_SE/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=KƤlla och mĆ„l bankkonton mĆ„ste vara olika. ErrorBadThirdPartyName=Felaktigt vƤrde fƶr tredje part namn ErrorProdIdIsMandatory=%s Ƥr obligatoriskt ErrorBadCustomerCodeSyntax=DĆ„lig syntax fƶr kundkod -ErrorBadBarCodeSyntax=DĆ„lig syntax fƶr streckkod +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=Kunden som erfordras ErrorBarCodeRequired=Streckkod krƤvs ErrorCustomerCodeAlreadyUsed=Kund-kod som anvƤnds redan @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript mĆ„ste inte avaktiveras att ha denna fun ErrorPasswordsMustMatch=BĆ„da skrivit lƶsenord mĆ„ste matcha varandra ErrorContactEMail=Ett tekniskt fel uppstod. VƤnligen kontakta administratƶren att fƶlja e-%s en ge %s felkod i ditt meddelande, eller Ƥnnu bƤttre genom att lƤgga till en skƤrm kopia av denna sida. ErrorWrongValueForField=Felaktigt vƤrde fƶr antalet %s omrĆ„det (vƤrde "%s" inte matchar regex regel %s) -ErrorFieldValueNotIn=Fel vƤrde fƶr %s fƤltnummer (vƤrde "%s" Ƥr inte ett vƤrde tillgƤngligt i fƤlt %s av tabell %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Fel vƤrde fƶr %s fƤltnummer (vƤrde "%s" Ƥr inte ett %s befintlig ref) ErrorsOnXLines=Fel pĆ„ %s kƤllrader ErrorFileIsInfectedWithAVirus=Antivirusprogrammet inte har kunnat validera (fil kan vara smittade av ett virus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internt fel '%s' ErrorPriceExpressionUnknown=OkƤnt fel '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/sv_SE/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/sv_SE/install.lang b/htdocs/langs/sv_SE/install.lang index 385ac6e854c..c5380d1f831 100644 --- a/htdocs/langs/sv_SE/install.lang +++ b/htdocs/langs/sv_SE/install.lang @@ -155,7 +155,8 @@ MigrationFinished=Migration fƤrdiga LastStepDesc=Sista steget: Definiera hƤr login och lƶsenord som du planerar att anvƤnda fƶr att ansluta till programmet. Tappa inte detta eftersom det Ƥr det konto fƶr att administrera alla andra. ActivateModule=Aktivera modul %s ShowEditTechnicalParameters=Klicka hƤr fƶr att visa / redigera avancerade parametrar (expertlƤge) -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... +WarningUpgrade=Varning:\nHar du sƤkerhetskopierat databasen?\nDet Ƥr starkt rekommenderat att sƤkerhetskopiera databasen. PĆ„ grund av fel i databassystemen (t.ex. mysql version 5.5.40) kan tabeller gĆ„ fƶrlorade. Det Ƥr dƤrfƶr rekommenderat att ta en full dump av databasen innan migreringen pĆ„bƶrjas.\n\nKlicka OK fƶr att starta migreringen... +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 @@ -207,7 +208,7 @@ MigrationProjectTaskTime=Uppdatera tid i sekunder MigrationActioncommElement=Uppdatera uppgifter om Ć„tgƤrder MigrationPaymentMode=Datamigrering betalning mode MigrationCategorieAssociation=Migreringskategorier -MigrationEvents=Migration of events to add event owner into assignement table +MigrationEvents=Ɩverfƶring av hƤndelser fƶr att lƤgga till hƤndelseƤgaren i uppdragslista ShowNotAvailableOptions=Visa ej tillgƤngliga val HideNotAvailableOptions=Dƶlj ej tillgƤngliga val diff --git a/htdocs/langs/sv_SE/languages.lang b/htdocs/langs/sv_SE/languages.lang index 6c909af19fd..031b70fc398 100644 --- a/htdocs/langs/sv_SE/languages.lang +++ b/htdocs/langs/sv_SE/languages.lang @@ -13,7 +13,7 @@ Language_de_AT=Tyska (Ɩsterrike) Language_de_CH=Tyska (Schweiz) Language_el_GR=Grekiska Language_en_AU=Engelska (Australien) -Language_en_CA=English (Canada) +Language_en_CA=Engelska (Kanada) Language_en_GB=Engelska (Storbritannien) Language_en_IN=Engelska (Indien) Language_en_NZ=Engelska (Nya Zeeland) diff --git a/htdocs/langs/sv_SE/main.lang b/htdocs/langs/sv_SE/main.lang index eaaca274910..2c1bb7d593e 100644 --- a/htdocs/langs/sv_SE/main.lang +++ b/htdocs/langs/sv_SE/main.lang @@ -14,7 +14,7 @@ FormatDateShortJava=yyyy-MM-dd FormatDateShortJavaInput=yyyy-MM-dd FormatDateShortJQuery=yy-mm-dd FormatDateShortJQueryInput=yy-mm-dd -FormatHourShortJQuery=HH:MI +FormatHourShortJQuery=tt:mm FormatHourShort=%H:%M FormatHourShortDuration=%H:%M FormatDateTextShort=%b %d %Y @@ -62,7 +62,7 @@ ErrorFailedToSaveFile=Fel, kunde inte spara filen. SetDate=StƤll in datum SelectDate=VƤlj datum SeeAlso=Se Ƥven %s -SeeHere=See here +SeeHere=Se hƤnvisning BackgroundColorByDefault=Standard bakgrundsfƤrg FileNotUploaded=Filen har inte laddats upp FileUploaded=Filen har laddats upp @@ -141,6 +141,7 @@ Cancel=Avbryt Modify=Ƅndra Edit=Redigera Validate=Validera +ValidateAndApprove=Validate and Approve ToValidate=Att validera Save=Spara SaveAs=Spara som @@ -158,6 +159,7 @@ Search=Sƶk SearchOf=Sƶk Valid=Giltig Approve=GodkƤnn +Disapprove=Disapprove ReOpen=Ɩppnar igen Upload=Skicka fil ToLink=LƤnk @@ -171,7 +173,7 @@ User=AnvƤndare Users=AnvƤndare Group=Grupp Groups=Grupper -NoUserGroupDefined=No user group defined +NoUserGroupDefined=Ingen anvƤndargrupp Ƥr definerad Password=Lƶsenord PasswordRetype=Ange ditt lƶsenord NoteSomeFeaturesAreDisabled=Observera att en hel del funktioner / moduler Ƥr inaktiverade i denna demonstration. @@ -219,6 +221,7 @@ Cards=Kort Card=Kort Now=Nu Date=Datum +DateAndHour=Date and hour DateStart=Startdatum DateEnd=Slutdatum DateCreation=Datum fƶr skapande @@ -261,7 +264,7 @@ days=dagar Hours=Timmar Minutes=Minuter Seconds=Sekunder -Weeks=Weeks +Weeks=Veckor Today=I dag Yesterday=I gĆ„r Tomorrow=I morgon @@ -295,6 +298,7 @@ UnitPriceHT=Pris per enhet (netto) UnitPriceTTC=Pris per enhet PriceU=Styckpris PriceUHT=St.pris(net) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=St.pris Amount=Belopp AmountInvoice=Fakturabelopp @@ -521,6 +525,7 @@ DateFromTo=FrĆ„n %s till %s DateFrom=FrĆ„n %s DateUntil=Fram %s Check=Kontrollera +Uncheck=Uncheck Internal=Interna External=Extern Internals=Interna @@ -687,7 +692,8 @@ XMoreLines=%s rader osynliga PublicUrl=Offentlig webbadress AddBox=LƤgg till lĆ„da SelectElementAndClickRefresh=VƤlj ett element och klicka pĆ„ uppdatera -PrintFile=Print File %s +PrintFile=Skriv ut fil %s +ShowTransaction=Show transaction # Week day Monday=MĆ„ndag Tuesday=Tisdag diff --git a/htdocs/langs/sv_SE/orders.lang b/htdocs/langs/sv_SE/orders.lang index 9cc8eb7d001..6b67e495d3f 100644 --- a/htdocs/langs/sv_SE/orders.lang +++ b/htdocs/langs/sv_SE/orders.lang @@ -16,20 +16,20 @@ SupplierOrder=Leverantƶr fƶr SuppliersOrders=Leverantƶrens order SuppliersOrdersRunning=Nuvarande leverantƶrens order CustomerOrder=Kundorder -CustomersOrders=Customers orders +CustomersOrders=Kundorder CustomersOrdersRunning=Nuvarande kundens order CustomersOrdersAndOrdersLines=Kundorder och ordning: s linjer -OrdersToValid=Customers orders to validate -OrdersToBill=Customers orders delivered -OrdersInProcess=Customers orders in process -OrdersToProcess=Customers orders to process +OrdersToValid=Kundorder att validera +OrdersToBill=Levererade kundorder +OrdersInProcess=Kundorder under behandling +OrdersToProcess=Kundorder att behandla SuppliersOrdersToProcess=Leverantƶrens order att behandla StatusOrderCanceledShort=Annullerad StatusOrderDraftShort=Fƶrslag StatusOrderValidatedShort=Validerad StatusOrderSentShort=I processen StatusOrderSent=SƤndning pĆ„gĆ„r -StatusOrderOnProcessShort=Ordered +StatusOrderOnProcessShort=BestƤllda StatusOrderProcessedShort=Bearbetade StatusOrderToBillShort=Till Bill StatusOrderToBill2Short=Till Bill @@ -41,7 +41,8 @@ StatusOrderReceivedAllShort=Allt fick StatusOrderCanceled=Annullerad StatusOrderDraft=Utkast (mĆ„ste valideras) StatusOrderValidated=Validerad -StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcess=BestƤllda, vƤntar pĆ„ inleverans +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Bearbetade StatusOrderToBill=Till Bill StatusOrderToBill2=Till Bill @@ -50,14 +51,15 @@ StatusOrderRefused=Refused StatusOrderReceivedPartially=Delvis fĆ„tt StatusOrderReceivedAll=Allt fick ShippingExist=En sƤndning fƶreligger -ProductQtyInDraft=Product quantity into draft orders -ProductQtyInDraftOrWaitingApproved=Product quantity into draft or approved orders, not yet ordered +ProductQtyInDraft=ProduktmƤngd till bestƤllningsutkast +ProductQtyInDraftOrWaitingApproved=ProduktmnƤngd till bestƤllningsutkast eller godkƤnda bestƤllningar, Ƥnnu ej lagda DraftOrWaitingApproved=Fƶrslag eller godkƤnts Ƥnnu ej bestƤllas DraftOrWaitingShipped=Fƶrslag eller godkƤnnas Ƥnnu inte sƤndas MenuOrdersToBill=Order till faktura MenuOrdersToBill2=Fakturerbara order SearchOrder=Sƶk ordning SearchACustomerOrder=Sƶk en kundorder +SearchASupplierOrder=Search a supplier order ShipProduct=Ship produkt Discount=Rabatt CreateOrder=Skapa ordning diff --git a/htdocs/langs/sv_SE/other.lang b/htdocs/langs/sv_SE/other.lang index 326d05f3b36..3144d5f7412 100644 --- a/htdocs/langs/sv_SE/other.lang +++ b/htdocs/langs/sv_SE/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximal storlek AttachANewFile=Bifoga en ny fil / dokument LinkedObject=LƤnkat objekt Miscellaneous=Diverse -NbOfActiveNotifications=Antal anmƤlningar +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Detta Ƥr en test post. \nDet tvĆ„ linjerna Ƥr Ć„tskilda av en vagnretur.\n\n__SIGNATURE__ PredefinedMailTestHtml=Detta Ƥr en test post (ordet Provningen skall i fetstil).
    De tvĆ„ linjerna Ƥr Ć„tskilda av en vagnretur. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ HƤr hittar du fakturan __FACREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ Vi vill varna er att fakturan __FACREF__ tycks inte betalt. SĆ„ detta Ƥr fakturan i bilagan igen, som en pĆ„minnelse. __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__ \nHƤr hittar du det kommersiella fƶrslaget __PROPREF__\n__PERSONALIZED__mvh\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__ HƤr hittar ordern __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ HƤr hittar du vĆ„r ordning __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ HƤr hittar du fakturan __FACREF__ __PERSONALIZED__Sincerely __SIGNATURE__ diff --git a/htdocs/langs/sv_SE/printing.lang b/htdocs/langs/sv_SE/printing.lang new file mode 100644 index 00000000000..22d1d42401b --- /dev/null +++ b/htdocs/langs/sv_SE/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direkt utskrift +Module112000Desc=Aktivera System fƶr Direkt Utskrift +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) +FileWasSentToPrinter=Fil %s skickades till utskrift +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 97c10290bfe..df95cb13bea 100644 --- a/htdocs/langs/sv_SE/productbatch.lang +++ b/htdocs/langs/sv_SE/productbatch.lang @@ -1,16 +1,16 @@ # ProductBATCH language file - en_US - ProductBATCH -ManageLotSerial=Use batch/serial number -ProductStatusOnBatch=Yes (Batch/serial required) -ProductStatusNotOnBatch=No (Batch/serial not used) -ProductStatusOnBatchShort=Yes -ProductStatusNotOnBatchShort=No +ManageLotSerial=AnvƤnd batch- / serienummer +ProductStatusOnBatch=Ja (batch- / serienr krƤvs) +ProductStatusNotOnBatch=Nej (batch- / serienr anvƤnds inte) +ProductStatusOnBatchShort=Ja +ProductStatusNotOnBatchShort=Nej Batch=Batch / Serial atleast1batchfield=Ƅt fƶre-datum eller bƤst fƶre-datum eller batchnummer batch_number=Batch / Serienummer l_eatby=Ƅt efter datum l_sellby=SƤlj fƶre-datum DetailBatchNumber=Batch / Serial detaljer -DetailBatchFormat=Batch / Serial: %s - E:%s - S:%s (Antal: %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Sats: %s printEatby=Ƅter med:%s printSellby=SƤlj-med :%s @@ -18,4 +18,4 @@ printQty=Antal: %d AddDispatchBatchLine=LƤgg en linje fƶr HĆ„llbarhet avsƤndning BatchDefaultNumber=Odefinierat WhenProductBatchModuleOnOptionAreForced=NƤr modulen Batch / Serial Ƥr pĆ„, ƶka / minska aktielƤget tvingas senaste val och kan inte redigeras. Andra alternativ kan definieras som du vill. -ProductDoesNotUseBatchSerial=This product does not use batch/serial number +ProductDoesNotUseBatchSerial=Denna artikel anvƤnder inte batch- / serienummer diff --git a/htdocs/langs/sv_SE/products.lang b/htdocs/langs/sv_SE/products.lang index cce8a3064cc..e8f20528c1c 100644 --- a/htdocs/langs/sv_SE/products.lang +++ b/htdocs/langs/sv_SE/products.lang @@ -22,16 +22,16 @@ ProductAccountancySellCode=Bokfƶring kod (sƤlja) ProductOrService=Produkt eller tjƤnst ProductsAndServices=Produkter och tjƤnster ProductsOrServices=Produkter eller tjƤnster -ProductsAndServicesOnSell=Products and Services for sale or for purchase -ProductsAndServicesNotOnSell=Products and Services out of sale +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 ProductsAndServicesStatistics=Produkter och tjƤnster statistik ProductsStatistics=Produkter statistik -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=Produkter till fƶrsƤljning eller inkƶp +ProductsNotOnSell=UtgĆ„ngna produkter m.a.p. fƶrsƤljning och inkƶp +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 +ServicesOnSellAndOnBuy=TjƤnster till fƶrsƤljning och inkƶp InternalRef=Intern hƤnvisning LastRecorded=Senaste produkter / tjƤnster att sƤlja in LastRecordedProductsAndServices=Senaste %s inspelade produkter / tjƤnster @@ -198,7 +198,7 @@ HelpAddThisServiceCard=Detta alternativ medger att skapa eller klona en tjƤnst CurrentProductPrice=Nuvarande pris AlwaysUseNewPrice=AnvƤnd alltid nuvarande pris fƶr produkt / tjƤnst AlwaysUseFixedPrice=AnvƤnd fast pris -PriceByQuantity=Different prices by quantity +PriceByQuantity=Olika priser m.a.p. mƤngd PriceByQuantityRange=Pris fƶr mƤngdgaffel ProductsDashboard=Sammanfattning produkter / tjƤnster UpdateOriginalProductLabel=Ƅndra ursprunglig mƤrkning @@ -234,9 +234,9 @@ DefinitionOfBarCodeForThirdpartyNotComplete=Angivelse av typ och vƤrde fƶr str BarCodeDataForProduct=Streckkodsinfo fƶr produkt %s: BarCodeDataForThirdparty=Streckkodsinfo fƶr tredje part %s: ResetBarcodeForAllRecords=Definiera streckkodsvƤrde fƶr alla poster (detta kommer Ƥven att Ć„terstƤlla streckkodsvƤrden som redan Ƥr definierade med nya vƤrden) -PriceByCustomer=Different price for each customer +PriceByCustomer=Olika pris m.a.p. kund PriceCatalogue=Unikt pris fƶr produkt eller tjƤnst -PricingRule=Rules for customer prices +PricingRule=Regler fƶr kundpriser AddCustomerPrice=LƤgg till pris per kund ForceUpdateChildPriceSoc=SƤtt samma pris pĆ„ kunds filialer PriceByCustomerLog=Pris per kundlogg @@ -244,9 +244,13 @@ MinimumPriceLimit=Minimipris kan inte vara lƤgre Ƥn %s MinimumRecommendedPrice=Minsta rekommenderade priset Ƥr : %s PriceExpressionEditor=Pris uttryck redigerare PriceExpressionSelected=Valda pris uttryck -PriceExpressionEditorHelp1="price = 2 + 2" or "2 + 2" for setting the price. Use ; to separate expressions -PriceExpressionEditorHelp2=You can access ExtraFields with variables like #options_myextrafieldkey# -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# +PriceExpressionEditorHelp1="pris = 2 + 2" eller "2 + 2" fƶr att sƤtta pris. AnvƤnd ; fƶr att skilja uttryck +PriceExpressionEditorHelp2=Fƶr att anvƤnda ExtraFields anvƤnd variabler som #options_myextrafieldkey# +PriceExpressionEditorHelp3=I bƄde produkt- / tjƤnste- och leverantƶrspriser Ƥr fƶljande variabler tillgƤngliga:
    #tva_tx# #localtax1_tx# #localtax2_tx# #weight# #length# #surface# #price_min# +PriceExpressionEditorHelp4=Endast i produkt- / tjƤnstepris: #supplier_min_price#
    Endast i leverantƶrspris: #supplier_quantity# och #supplier_tva_tx# PriceMode=PrislƤge PriceNumeric=Nummer +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/sv_SE/projects.lang b/htdocs/langs/sv_SE/projects.lang index 664a33fd4d5..af391db2150 100644 --- a/htdocs/langs/sv_SE/projects.lang +++ b/htdocs/langs/sv_SE/projects.lang @@ -3,13 +3,15 @@ RefProject=Ref. projekt ProjectId=Projekt Id Project=Projekt Projects=Projekt -ProjectStatus=Project status +ProjectStatus=Projektstatus SharedProject=Alla PrivateProject=Kontakter av projekt MyProjectsDesc=Denna syn Ƥr begrƤnsad till projekt du en kontakt fƶr (allt som Ƥr "typ"). ProjectsPublicDesc=Denna uppfattning presenterar alla projekt du har rƤtt att lƤsa. +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). 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). ProjectsArea=Projekt omrĆ„de @@ -29,6 +31,8 @@ NoProject=Inget projekt definieras eller Ƥgs NbOpenTasks=Nb i ƶppnade uppgifter NbOfProjects=Nb av projekt TimeSpent=Tid som tillbringas +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Tid RefTask=Ref. uppgift LabelTask=Label uppgift @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Lista ƶver leverantƶrens order i samband m ListSupplierInvoicesAssociatedProject=Lista ƶver leverantƶrens fakturor i samband med projektet ListContractAssociatedProject=Fƶrteckning ƶver avtal i samband med projektet ListFichinterAssociatedProject=Lista ƶver Ć„tgƤrder i samband med projektet -ListTripAssociatedProject=Fƶrteckning ƶver resor och kostnader i samband med projektet +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Fƶrteckning ƶver Ć„tgƤrder i samband med projektet ActivityOnProjectThisWeek=Aktivitet pĆ„ projekt den hƤr veckan ActivityOnProjectThisMonth=Aktivitet pĆ„ projekt denna mĆ„nad @@ -103,7 +107,7 @@ CloneContacts=Klon kontakter CloneNotes=Klon anteckningar CloneProjectFiles=Klon projekt fogade filer CloneTaskFiles=Klon uppgift(er) anslƶt filer (om uppgiften(s) klonad) -CloneMoveDate=Update project/tasks dates from now ? +CloneMoveDate=Uppdatera projekt- / uppgiftdatum frĆ„n nu? ConfirmCloneProject=Ƅr du sƤker pĆ„ att klona detta projekt? ProjectReportDate=Ƅndra uppgift datum enligt projektets startdatum ErrorShiftTaskDate=Omƶjligt att flytta datum pĆ„ uppgiften enligt nytt projekt startdatum @@ -126,10 +130,15 @@ AddElement=LƤnk till inslag UnlinkElement=Ta bort lƤnk elementet # Documents models DocumentModelBaleine=En fullstƤndig projektets rapport modellen (logo. ..) -PlannedWorkload = Planerad arbetsbelastning -WorkloadOccupation= Arbetsbelastning affektation +PlannedWorkload=Planerad arbetsbelastning +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/sv_SE/salaries.lang b/htdocs/langs/sv_SE/salaries.lang index f2fc8c20068..93545569c2f 100644 --- a/htdocs/langs/sv_SE/salaries.lang +++ b/htdocs/langs/sv_SE/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Lƶneutbetalningar ShowSalaryPayment=Visa lƶneutbetalning THM=Genomsnitt timpris TJM=Genomsnittlig dagligt pris +CurrentSalary=Current salary diff --git a/htdocs/langs/sv_SE/sendings.lang b/htdocs/langs/sv_SE/sendings.lang index d723d2da074..1f32d5bebb4 100644 --- a/htdocs/langs/sv_SE/sendings.lang +++ b/htdocs/langs/sv_SE/sendings.lang @@ -4,8 +4,8 @@ Sending=SƤndning Sendings=Transporter Shipment=SƤndning Shipments=Transporter -ShowSending=Show Sending -Receivings=Receipts +ShowSending=Visa skickade +Receivings=Kvitto SendingsArea=Transporter omrĆ„de ListOfSendings=Lista ƶver transporter SendingMethod=Frakt metod @@ -15,7 +15,7 @@ SearchASending=Sƶk efter transport StatisticsOfSendings=Statistik fƶr transporter NbOfSendings=Antal transporter NumberOfShipmentsByMonth=Antal leveranser per mĆ„nad -SendingCard=Shipment card +SendingCard=Fraktkort NewSending=Ny leverans CreateASending=Skapa en sƤndning CreateSending=Skapa leverans @@ -23,7 +23,7 @@ QtyOrdered=Antal bestƤllda QtyShipped=Antal sƤndas QtyToShip=Antal till-fartyg QtyReceived=Antal mottagna -KeepToShip=HĆ„ll dig till fartyg +KeepToShip=Remain to ship OtherSendingsForSameOrder=Andra sƤndningar fƶr denna bestƤllning DateSending=Datum skicka ordning DateSendingShort=Datum skicka ordning @@ -38,7 +38,7 @@ StatusSendingCanceledShort=Annullerad StatusSendingDraftShort=Fƶrslag StatusSendingValidatedShort=Validerad StatusSendingProcessedShort=Bearbetade -SendingSheet=Shipment sheet +SendingSheet=Packsedel Carriers=BƤrare Carrier=Carrier CarriersArea=BƤrare omrĆ„de @@ -59,15 +59,15 @@ SendShippingRef=InlƤmning av leveransen %s ActionsOnShipping=Evenemang pĆ„ leverans LinkToTrackYourPackage=LƤnk till spĆ„ra ditt paket ShipmentCreationIsDoneFromOrder=Fƶr nƤrvarande Ƥr skapandet av en ny leverans sker frĆ„n ordern kortet. -RelatedShippings=Related shipments +RelatedShippings=HƤnfƶrliga leveranser ShipmentLine=Transport linje CarrierList=Lista ƶver transportƶrer -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 +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 +ProductQtyInSuppliersShipmentAlreadyRecevied=Produktkvantitet frĆ„n ƶppnade leverantƶrsorder Ƥr redan skickade # Sending methods SendingMethodCATCH=FĆ„ngst av kunden diff --git a/htdocs/langs/sv_SE/stocks.lang b/htdocs/langs/sv_SE/stocks.lang index c8c742d154a..ac0a569d542 100644 --- a/htdocs/langs/sv_SE/stocks.lang +++ b/htdocs/langs/sv_SE/stocks.lang @@ -47,9 +47,10 @@ PMPValue=VƤgda genomsnittliga priset PMPValueShort=WAP EnhancedValueOfWarehouses=LagervƤrde UserWarehouseAutoCreate=Skapa ett lager automatiskt nƤr du skapar en anvƤndare +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=SƤnd kvantitet -QtyDispatchedShort=Qty dispatched -QtyToDispatchShort=Qty to dispatch +QtyDispatchedShort=Antal skickade +QtyToDispatchShort=Antal att skicka OrderDispatch=Stock avsƤndning RuleForStockManagementDecrease=Regel fƶr lagerminskning RuleForStockManagementIncrease=Regel fƶr lagerƶkning @@ -61,7 +62,7 @@ ReStockOnValidateOrder=Ɩka befintligt lager vid godkƤnd leverantƶrsorder ReStockOnDispatchOrder=Ɩka befintligt lager vid manuell sƤndning till lager, efter mottagande av leverantƶrsorder ReStockOnDeleteInvoice=Ɩka befintligt lager vid radering av faktura OrderStatusNotReadyToDispatch=BestƤllningen har Ƥnnu inte / inte lƤngre status som tillĆ„ter sƤndning av produkter till lager. -StockDiffPhysicTeoric=Explanation for difference between physical and theoretical stock +StockDiffPhysicTeoric=Fƶrklaring fƶr skillnad mellan verkligt och berƤknat lagersaldo NoPredefinedProductToDispatch=Inga fƶrdefinierade produkter fƶr det hƤr objektet. SĆ„ ingen sƤndning till lager krƤvs. DispatchVerb=SƤndning StockLimitShort=GrƤns ​​fƶr varning @@ -110,7 +111,7 @@ WarehouseForStockDecrease=Lager %s kommer att anvƤndas fƶr lagerminskni 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=Detta Ƥr en lista ƶver alla ƶppna leverantƶrsorder +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=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) @@ -118,15 +119,16 @@ MassMovement=Massrƶrelse MassStockMovement=Mass lager rƶrelse SelectProductInAndOutWareHouse=VƤlj produkt, antal, ursprungslager och mĆ„llager och klicka "%s". NƤr det Ƥr gjort fƶr alla lagerƶverfƶringar klicka pĆ„ "%s". RecordMovement=Spela in ƶverfƶring -ReceivingForSameOrder=Receipts for this order +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 -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 +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 +MovementTransferStock=Lagerfƶrflyttning av produkt %s till ett annat lager +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. diff --git a/htdocs/langs/sv_SE/suppliers.lang b/htdocs/langs/sv_SE/suppliers.lang index 5dd3f4020da..34e27b7955e 100644 --- a/htdocs/langs/sv_SE/suppliers.lang +++ b/htdocs/langs/sv_SE/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=Leverantƶrer -Supplier=Leverantƶr AddSupplier=Skapa en leverantƶr SupplierRemoved=Leverantƶr bort SuppliersInvoice=Leverantƶrer faktura @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=Leverantƶrsfakturor och betalningar ExportDataset_fournisseur_3=Leverantƶrs order och orderrader ApproveThisOrder=GodkƤnna denna ordning ConfirmApproveThisOrder=Ƅr du sƤker pĆ„ att du vill godkƤnna att %s? -DenyingThisOrder=Att fƶrneka denna bestƤllning +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Ƅr du sƤker pĆ„ att du vill fƶrneka detta syfte %s? ConfirmCancelThisOrder=Ƅr du sƤker pĆ„ att du vill avbryta denna order %s? AddCustomerOrder=Skapa kundorder @@ -42,5 +41,5 @@ NoneOrBatchFileNeverRan=Ingen eller parti %s sprang inte nyligen SentToSuppliers=Skickas till leverantƶrer ListOfSupplierOrders=Lista ƶver leverantƶrsorder MenuOrdersSupplierToBill=Leverantƶrs order att fakturera -NbDaysToDelivery=Delivery delay in days -DescNbDaysToDelivery=The biggest delay is display among order product list +NbDaysToDelivery=Leveransfƶrsening, dagar +DescNbDaysToDelivery=Den stƶrsta fƶrseningen visas med produktbestƤllningslista diff --git a/htdocs/langs/sv_SE/trips.lang b/htdocs/langs/sv_SE/trips.lang index 888f20ddd2d..758ffaa367b 100644 --- a/htdocs/langs/sv_SE/trips.lang +++ b/htdocs/langs/sv_SE/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Trip -Trips=Resor -TripsAndExpenses=Resor och kostnader -TripsAndExpensesStatistics=Resor och kostnader statistik -TripCard=Trip-kort -AddTrip=Skapa resa -ListOfTrips=Fƶrteckning ƶver resor +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=Prislista fƶr -NewTrip=Ny resa +NewTrip=New expense report CompanyVisited=Fƶretag / stiftelse besƶkt Kilometers=Kilometer FeesKilometersOrAmout=Belopp eller kilometer -DeleteTrip=Radera resa -ConfirmDeleteTrip=Ƅr du sƤker pĆ„ att du vill ta bort denna resa? -TF_OTHER=Andra -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=Fƶrteckning ƶver resor och kostnader -ExpensesArea=Resor och kostnader omrĆ„de -SearchATripAndExpense=Sƶk en resa och kostnader +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=Klassificerad 'ƅterbetalas' +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=Andra +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/sv_SE/withdrawals.lang b/htdocs/langs/sv_SE/withdrawals.lang index ee0ceb8ecee..724d7766e0c 100644 --- a/htdocs/langs/sv_SE/withdrawals.lang +++ b/htdocs/langs/sv_SE/withdrawals.lang @@ -79,7 +79,7 @@ CreditDate=Krediter pĆ„ WithdrawalFileNotCapable=Det gĆ„r inte att skapa uttags kvitto fil fƶr ditt land %s (ditt land stƶds inte) ShowWithdraw=Visa Dra IfInvoiceNeedOnWithdrawPaymentWontBeClosed=Om faktura har minst ett uttag betalning som Ƥnnu inte behandlats, kommer det inte anges som betalas fƶr att hantera uttag innan. -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. +DoStandingOrdersBeforePayments=Denna flik ger mƶjlighet att begƤra en stĆ„ende order. VƤl utfƶrd, gĆ„ till meny Bank->Uttag fƶr att stƤlla in stĆ„ende order. NƤr en stĆ„ende order stƤngs kommer betalning pĆ„ faktura att registreras automatiskt och fakturorna att stƤngas om restbelopp Ƥr noll. WithdrawalFile=UttrƤde fil SetToStatusSent=StƤll in pĆ„ status "File Skickat" ThisWillAlsoAddPaymentOnInvoice=Detta kommer ocksĆ„ att gƤlla utbetalningar till fakturor och kommer att klassificera dem som "Paid" diff --git a/htdocs/langs/sv_SE/workflow.lang b/htdocs/langs/sv_SE/workflow.lang index efefbb03c97..fd2d15713bd 100644 --- a/htdocs/langs/sv_SE/workflow.lang +++ b/htdocs/langs/sv_SE/workflow.lang @@ -1,6 +1,6 @@ # Dolibarr language file - Source file is en_US - admin WorkflowSetup=Arbetsflƶde modul konfiguration -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. +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 diff --git a/htdocs/langs/sw_SW/accountancy.lang b/htdocs/langs/sw_SW/accountancy.lang new file mode 100644 index 00000000000..bb9b358c045 --- /dev/null +++ b/htdocs/langs/sw_SW/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +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_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous 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/sw_SW/admin.lang b/htdocs/langs/sw_SW/admin.lang new file mode 100644 index 00000000000..9782c2ea27f --- /dev/null +++ b/htdocs/langs/sw_SW/admin.lang @@ -0,0 +1,1603 @@ +# 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 +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: +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 +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: +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 +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 (vat is not applied on local tax)
    2 : local tax apply on products and services before vat (vat is calculated on amount + localtax)
    3 : local tax apply on products without vat (vat is not applied on local tax)
    4 : local tax apply on products before vat (vat is calculated on amount + localtax)
    5 : local tax apply on services without vat (vat is not applied on local tax)
    6 : local tax apply on services before vat (vat is calculated on amount + 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. + +# 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 (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 +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=Categories +Module1780Desc=Category management (products, suppliers and customers) +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 task 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) +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 batch +Module39000Desc=Batch 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 +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 +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 +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 +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 task +Permission23002 = Create/update Scheduled task +Permission23003 = Delete Scheduled task +Permission23004 = Execute Scheduled task +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 +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 +CalcLocaltax1ES=Sales - Purchases +CalcLocaltax1Desc=Local Taxes reports are calculated with the difference between localtaxes sales and localtaxes purchases +CalcLocaltax2ES=Purchases +CalcLocaltax2Desc=Local Taxes reports are the total of localtaxes purchases +CalcLocaltax3ES=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 +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 +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= 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 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. +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. +##### 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 third party at time.
    * or by setting a global target email address on 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 +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) +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 +##### 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 +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 batch 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 +##### 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 +##### 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=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. diff --git a/htdocs/langs/sw_SW/agenda.lang b/htdocs/langs/sw_SW/agenda.lang new file mode 100644 index 00000000000..04e2ae30de8 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/banks.lang b/htdocs/langs/sw_SW/banks.lang new file mode 100644 index 00000000000..a2306950fb4 --- /dev/null +++ b/htdocs/langs/sw_SW/banks.lang @@ -0,0 +1,165 @@ +# 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 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 ? diff --git a/htdocs/langs/sw_SW/bills.lang b/htdocs/langs/sw_SW/bills.lang new file mode 100644 index 00000000000..69e1510ca44 --- /dev/null +++ b/htdocs/langs/sw_SW/bills.lang @@ -0,0 +1,431 @@ +# 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 +LatestRelatedBill=Latest related invoice +WarningBillExist=Warning, one or more invoice already exist + +# 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 opened situations +InvoiceSituationLast=Final and general invoice diff --git a/htdocs/langs/sw_SW/bookmarks.lang b/htdocs/langs/sw_SW/bookmarks.lang new file mode 100644 index 00000000000..7acb946bb62 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/boxes.lang b/htdocs/langs/sw_SW/boxes.lang new file mode 100644 index 00000000000..bf118b9b88e --- /dev/null +++ b/htdocs/langs/sw_SW/boxes.lang @@ -0,0 +1,96 @@ +# 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 diff --git a/htdocs/langs/sw_SW/cashdesk.lang b/htdocs/langs/sw_SW/cashdesk.lang new file mode 100644 index 00000000000..d3dcfb68e64 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/categories.lang b/htdocs/langs/sw_SW/categories.lang new file mode 100644 index 00000000000..22914931db1 --- /dev/null +++ b/htdocs/langs/sw_SW/categories.lang @@ -0,0 +1,112 @@ +# Dolibarr language file - Source file is en_US - categories +Category=Category +Categories=Categories +Rubrique=Category +Rubriques=Categories +categories=categories +TheCategorie=The category +NoCategoryYet=No category of this type created +In=In +AddIn=Add in +modify=modify +Classify=Classify +CategoriesArea=Categories area +ProductsCategoriesArea=Products/Services categories area +SuppliersCategoriesArea=Suppliers categories area +CustomersCategoriesArea=Customers categories area +ThirdPartyCategoriesArea=Third parties categories area +MembersCategoriesArea=Members categories area +ContactsCategoriesArea=Contacts categories area +MainCats=Main categories +SubCats=Subcategories +CatStatistics=Statistics +CatList=List of categories +AllCats=All categories +ViewCat=View category +NewCat=Add category +NewCategory=New category +ModifCat=Modify category +CatCreated=Category created +CreateCat=Create category +CreateThisCat=Create this category +ValidateFields=Validate the fields +NoSubCat=No subcategory. +SubCatOf=Subcategory +FoundCats=Found categories +FoundCatsForName=Categories found for the name : +FoundSubCatsIn=Subcategories found in the category +ErrSameCatSelected=You selected the same category several times +ErrForgotCat=You forgot to choose the category +ErrForgotField=You forgot to inform the fields +ErrCatAlreadyExists=This name is already used +AddProductToCat=Add this product to a category? +ImpossibleAddCat=Impossible to add the category +ImpossibleAssociateCategory=Impossible to associate the category to +WasAddedSuccessfully=%s was added successfully. +ObjectAlreadyLinkedToCategory=Element is already linked to this category. +CategorySuccessfullyCreated=This category %s has been added with success. +ProductIsInCategories=Product/service owns to following categories +SupplierIsInCategories=Third party owns to following suppliers categories +CompanyIsInCustomersCategories=This third party owns to following customers/prospects categories +CompanyIsInSuppliersCategories=This third party owns to following suppliers categories +MemberIsInCategories=This member owns to following members categories +ContactIsInCategories=This contact owns to following contacts categories +ProductHasNoCategory=This product/service is not in any categories +SupplierHasNoCategory=This supplier is not in any categories +CompanyHasNoCategory=This company is not in any categories +MemberHasNoCategory=This member is not in any categories +ContactHasNoCategory=This contact is not in any categories +ClassifyInCategory=Classify in category +NoneCategory=None +NotCategorized=Without 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=Categories tree +DeleteCategory=Delete category +ConfirmDeleteCategory=Are you sure you want to delete this category ? +RemoveFromCategory=Remove link with categorie +RemoveFromCategoryConfirm=Are you sure you want to remove link between the transaction and the category ? +NoCategoriesDefined=No category defined +SuppliersCategoryShort=Suppliers category +CustomersCategoryShort=Customers category +ProductsCategoryShort=Products category +MembersCategoryShort=Members category +SuppliersCategoriesShort=Suppliers categories +CustomersCategoriesShort=Customers categories +CustomersProspectsCategoriesShort=Custo./Prosp. categories +ProductsCategoriesShort=Products categories +MembersCategoriesShort=Members categories +ContactCategoriesShort=Contacts 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=Category contents +CategId=Category id +CatSupList=List of supplier categories +CatCusList=List of customer/prospect categories +CatProdList=List of products categories +CatMemberList=List of members categories +CatContactList=List of contact categories and contact +CatSupLinks=Links between suppliers and categories +CatCusLinks=Links between customers/prospects and categories +CatProdLinks=Links between products/services and categories +CatMemberLinks=Links between members and categories +DeleteFromCat=Remove from category +DeletePicture=Picture delete +ConfirmDeletePicture=Confirm picture deletion? +ExtraFieldsCategories=Complementary attributes +CategoriesSetup=Categories setup +CategorieRecursiv=Link with parent 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 category diff --git a/htdocs/langs/sw_SW/commercial.lang b/htdocs/langs/sw_SW/commercial.lang new file mode 100644 index 00000000000..7acdc7bd7e6 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/companies.lang b/htdocs/langs/sw_SW/companies.lang new file mode 100644 index 00000000000..8abf1fd1c5a --- /dev/null +++ b/htdocs/langs/sw_SW/companies.lang @@ -0,0 +1,414 @@ +# 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 thirdparty +SearchContact=Search contact diff --git a/htdocs/langs/sw_SW/compta.lang b/htdocs/langs/sw_SW/compta.lang new file mode 100644 index 00000000000..0d579a06ff1 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/contracts.lang b/htdocs/langs/sw_SW/contracts.lang new file mode 100644 index 00000000000..d1be0e6513f --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/cron.lang b/htdocs/langs/sw_SW/cron.lang new file mode 100644 index 00000000000..28dfc7770b2 --- /dev/null +++ b/htdocs/langs/sw_SW/cron.lang @@ -0,0 +1,87 @@ +# Dolibarr language file - Source file is en_US - cron +# About page +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 +# 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=Jobs list +CronDelete= Delete cron jobs +CronConfirmDelete= Are you sure you want to delete this cron job ? +CronExecute=Launch job +CronConfirmExecute= Are you sure to execute this job now +CronInfo= Jobs allow to execute task that have been planned +CronWaitingJobs=Wainting 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 +#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 +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. +# Info +CronInfoPage=Information +# Common +CronType=Task 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 diff --git a/htdocs/langs/sw_SW/deliveries.lang b/htdocs/langs/sw_SW/deliveries.lang new file mode 100644 index 00000000000..d711c3704b4 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/dict.lang b/htdocs/langs/sw_SW/dict.lang new file mode 100644 index 00000000000..bef1f4821b4 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/donations.lang b/htdocs/langs/sw_SW/donations.lang new file mode 100644 index 00000000000..f7aed91cf81 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/ecm.lang b/htdocs/langs/sw_SW/ecm.lang new file mode 100644 index 00000000000..4a1931a3217 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/errors.lang b/htdocs/langs/sw_SW/errors.lang new file mode 100644 index 00000000000..700e6344d7d --- /dev/null +++ b/htdocs/langs/sw_SW/errors.lang @@ -0,0 +1,183 @@ +# 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 batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action + +# 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/sw_SW/exports.lang b/htdocs/langs/sw_SW/exports.lang new file mode 100644 index 00000000000..d79df485608 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/externalsite.lang b/htdocs/langs/sw_SW/externalsite.lang new file mode 100644 index 00000000000..da4853df0df --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/ftp.lang b/htdocs/langs/sw_SW/ftp.lang new file mode 100644 index 00000000000..9984ce689ee --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/help.lang b/htdocs/langs/sw_SW/help.lang new file mode 100644 index 00000000000..1bbd6e94f03 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/holiday.lang b/htdocs/langs/sw_SW/holiday.lang new file mode 100644 index 00000000000..f5b87fefb08 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/install.lang b/htdocs/langs/sw_SW/install.lang new file mode 100644 index 00000000000..dcd8df6e7db --- /dev/null +++ b/htdocs/langs/sw_SW/install.lang @@ -0,0 +1,214 @@ +# 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) + +######### +# 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/sw_SW/interventions.lang b/htdocs/langs/sw_SW/interventions.lang new file mode 100644 index 00000000000..c79da05364e --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/languages.lang b/htdocs/langs/sw_SW/languages.lang new file mode 100644 index 00000000000..acd737c3711 --- /dev/null +++ b/htdocs/langs/sw_SW/languages.lang @@ -0,0 +1,72 @@ +# Dolibarr language file - Source file is en_US - languages + +Language_ar_AR=Kiarabu +Language_ar_SA=Kiarabu +Language_bg_BG=Bulgarian +Language_bs_BA=Bosnian +Language_ca_ES=Kikatalani +Language_cs_CZ=Czech +Language_da_DA=Denmark +Language_da_DK=Denmark +Language_de_DE=Ujerumani +Language_de_AT=Ujerumani (Austria) +Language_de_CH=German (Switzerland) +Language_el_GR=Kigiriki +Language_en_AU=Kiingereza (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 (Afrika Kusini) +Language_es_ES=Spanish +Language_es_DO=Spanish (Dominican Republic) +Language_es_AR=Kihispania (Argentina) +Language_es_CL=Spanish (Chile) +Language_es_HN=Spanish (Honduras) +Language_es_MX=Kihispania (Mexico) +Language_es_PY=Kihispania (Paraguay) +Language_es_PE=Spanish (Peru) +Language_es_PR=Kihispania (Puerto Rico) +Language_et_EE=Estonian +Language_eu_ES=Basque +Language_fa_IR=Kiajemi +Language_fi_FI=Mapezi +Language_fr_BE=Kifaransa (Ubelgiji) +Language_fr_CA=Kifaransa (Canada) +Language_fr_CH=Kifaransa (Switzerland) +Language_fr_FR=Kifaransa +Language_fr_NC=Kifaransa (New Caledonia) +Language_he_IL=Kiebrania +Language_hr_HR=Croatian +Language_hu_HU=Hungarian +Language_id_ID=Indonesian +Language_is_IS=Kiaislandi +Language_it_IT=Italia +Language_ja_JP=Japan +Language_ko_KR=Korea +Language_lt_LT=Kilithuania +Language_lv_LV=Latvian +Language_mk_MK=Macedonian +Language_nb_NO=Norway (BokmƄl) +Language_nl_BE=Uholanzi (Ubelgiji) +Language_nl_NL=Kiholanzi (Uholanzi) +Language_pl_PL=Polish +Language_pt_BR=Kireno (Brazil) +Language_pt_PT=Kireno +Language_ro_RO=Romanian +Language_ru_RU=Urusi +Language_ru_UA=Urusi (Ukraine) +Language_tr_TR=Kituruki +Language_sl_SI=Kislovenia +Language_sv_SV=Swedish +Language_sv_SE=Swedish +Language_sq_AL=Albanian +Language_sk_SK=Slovakiska +Language_th_TH=Thai +Language_uk_UA=Kiukreni +Language_uz_UZ=Uzbek +Language_vi_VN=Kivietinamu +Language_zh_CN=Kichina +Language_zh_TW=Kichina (cha Jadi) diff --git a/htdocs/langs/sw_SW/ldap.lang b/htdocs/langs/sw_SW/ldap.lang new file mode 100644 index 00000000000..02e457446a6 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/link.lang b/htdocs/langs/sw_SW/link.lang new file mode 100644 index 00000000000..8b1efb75ef3 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/mailmanspip.lang b/htdocs/langs/sw_SW/mailmanspip.lang new file mode 100644 index 00000000000..c85b3d60db2 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/mails.lang b/htdocs/langs/sw_SW/mails.lang new file mode 100644 index 00000000000..7a211198822 --- /dev/null +++ b/htdocs/langs/sw_SW/mails.lang @@ -0,0 +1,141 @@ +# 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 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 + +# 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. diff --git a/htdocs/langs/sw_SW/main.lang b/htdocs/langs/sw_SW/main.lang new file mode 100644 index 00000000000..d40e28cb776 --- /dev/null +++ b/htdocs/langs/sw_SW/main.lang @@ -0,0 +1,725 @@ +# 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 +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 +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=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 +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. +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=Categories +Category=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 +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 +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 +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 +# 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 diff --git a/htdocs/langs/sw_SW/margins.lang b/htdocs/langs/sw_SW/margins.lang new file mode 100644 index 00000000000..748b3c71f30 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/members.lang b/htdocs/langs/sw_SW/members.lang new file mode 100644 index 00000000000..40bca8e85fb --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/opensurvey.lang b/htdocs/langs/sw_SW/opensurvey.lang new file mode 100644 index 00000000000..0b191e426ec --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/orders.lang b/htdocs/langs/sw_SW/orders.lang new file mode 100644 index 00000000000..8efafa5e94e --- /dev/null +++ b/htdocs/langs/sw_SW/orders.lang @@ -0,0 +1,166 @@ +# 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=Accept order +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 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 +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 +##### 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/sw_SW/other.lang b/htdocs/langs/sw_SW/other.lang new file mode 100644 index 00000000000..08747ea884b --- /dev/null +++ b/htdocs/langs/sw_SW/other.lang @@ -0,0 +1,238 @@ +# 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 validated +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 module setup +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. +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. + +##### 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/sw_SW/paybox.lang b/htdocs/langs/sw_SW/paybox.lang new file mode 100644 index 00000000000..aced32a4944 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/paypal.lang b/htdocs/langs/sw_SW/paypal.lang new file mode 100644 index 00000000000..65a3dc45a23 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/printipp.lang b/htdocs/langs/sw_SW/printipp.lang new file mode 100644 index 00000000000..835e6827f12 --- /dev/null +++ b/htdocs/langs/sw_SW/printipp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server diff --git a/htdocs/langs/sw_SW/productbatch.lang b/htdocs/langs/sw_SW/productbatch.lang new file mode 100644 index 00000000000..45263681965 --- /dev/null +++ b/htdocs/langs/sw_SW/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/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 +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 +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 diff --git a/htdocs/langs/sw_SW/products.lang b/htdocs/langs/sw_SW/products.lang new file mode 100644 index 00000000000..3a18cda69e7 --- /dev/null +++ b/htdocs/langs/sw_SW/products.lang @@ -0,0 +1,256 @@ +# 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 +### 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 #options_myextrafieldkey# +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# +PriceMode=Price mode +PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/sw_SW/projects.lang b/htdocs/langs/sw_SW/projects.lang new file mode 100644 index 00000000000..44d0d89687a --- /dev/null +++ b/htdocs/langs/sw_SW/projects.lang @@ -0,0 +1,144 @@ +# 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). +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 +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 +##### 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 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 diff --git a/htdocs/langs/sw_SW/propal.lang b/htdocs/langs/sw_SW/propal.lang new file mode 100644 index 00000000000..2b6d12870a1 --- /dev/null +++ b/htdocs/langs/sw_SW/propal.lang @@ -0,0 +1,100 @@ +# 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=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=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 +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) diff --git a/htdocs/langs/sw_SW/resource.lang b/htdocs/langs/sw_SW/resource.lang new file mode 100644 index 00000000000..32bdd92f884 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/salaries.lang b/htdocs/langs/sw_SW/salaries.lang new file mode 100644 index 00000000000..28c21adfad3 --- /dev/null +++ b/htdocs/langs/sw_SW/salaries.lang @@ -0,0 +1,13 @@ +# 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 diff --git a/htdocs/langs/sw_SW/sendings.lang b/htdocs/langs/sw_SW/sendings.lang new file mode 100644 index 00000000000..b1ff55f71c1 --- /dev/null +++ b/htdocs/langs/sw_SW/sendings.lang @@ -0,0 +1,85 @@ +# Dolibarr language file - Source file is en_US - sendings +RefSending=Ref. shipment +Sending=Shipment +Sendings=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 + +# 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/sw_SW/sms.lang b/htdocs/langs/sw_SW/sms.lang new file mode 100644 index 00000000000..4e89bb24730 --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/stocks.lang b/htdocs/langs/sw_SW/stocks.lang new file mode 100644 index 00000000000..29706d17615 --- /dev/null +++ b/htdocs/langs/sw_SW/stocks.lang @@ -0,0 +1,134 @@ +# 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 +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 +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 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. diff --git a/htdocs/langs/sw_SW/suppliers.lang b/htdocs/langs/sw_SW/suppliers.lang new file mode 100644 index 00000000000..baf573c66ac --- /dev/null +++ b/htdocs/langs/sw_SW/suppliers.lang @@ -0,0 +1,45 @@ +# 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 diff --git a/htdocs/langs/sw_SW/trips.lang b/htdocs/langs/sw_SW/trips.lang new file mode 100644 index 00000000000..ba36fc9b07b --- /dev/null +++ b/htdocs/langs/sw_SW/trips.lang @@ -0,0 +1,126 @@ +# 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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/sw_SW/users.lang b/htdocs/langs/sw_SW/users.lang new file mode 100644 index 00000000000..baf209f9d1c --- /dev/null +++ b/htdocs/langs/sw_SW/users.lang @@ -0,0 +1,122 @@ +# 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 diff --git a/htdocs/langs/sw_SW/withdrawals.lang b/htdocs/langs/sw_SW/withdrawals.lang new file mode 100644 index 00000000000..c36ffbf025a --- /dev/null +++ b/htdocs/langs/sw_SW/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/sw_SW/workflow.lang b/htdocs/langs/sw_SW/workflow.lang new file mode 100644 index 00000000000..17c8dd3aafa --- /dev/null +++ b/htdocs/langs/sw_SW/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 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 diff --git a/htdocs/langs/th_TH/admin.lang b/htdocs/langs/th_TH/admin.lang index 2460fb1167f..ed6d1b2709c 100644 --- a/htdocs/langs/th_TH/admin.lang +++ b/htdocs/langs/th_TH/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Experimental 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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/th_TH/banks.lang b/htdocs/langs/th_TH/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/th_TH/banks.lang +++ b/htdocs/langs/th_TH/banks.lang @@ -33,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 @@ -148,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/th_TH/bills.lang b/htdocs/langs/th_TH/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/th_TH/bills.lang +++ b/htdocs/langs/th_TH/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/th_TH/commercial.lang b/htdocs/langs/th_TH/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/th_TH/commercial.lang +++ b/htdocs/langs/th_TH/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/th_TH/contracts.lang b/htdocs/langs/th_TH/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/th_TH/contracts.lang +++ b/htdocs/langs/th_TH/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/th_TH/cron.lang b/htdocs/langs/th_TH/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/th_TH/cron.lang +++ b/htdocs/langs/th_TH/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/th_TH/errors.lang b/htdocs/langs/th_TH/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/th_TH/errors.lang +++ b/htdocs/langs/th_TH/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/th_TH/incoterm.lang b/htdocs/langs/th_TH/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/th_TH/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/th_TH/install.lang b/htdocs/langs/th_TH/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/th_TH/install.lang +++ b/htdocs/langs/th_TH/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/th_TH/main.lang b/htdocs/langs/th_TH/main.lang index e06e7c12e29..18fbfefd1dd 100644 --- a/htdocs/langs/th_TH/main.lang +++ b/htdocs/langs/th_TH/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/th_TH/orders.lang b/htdocs/langs/th_TH/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/th_TH/orders.lang +++ b/htdocs/langs/th_TH/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/th_TH/other.lang b/htdocs/langs/th_TH/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/th_TH/other.lang +++ b/htdocs/langs/th_TH/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/th_TH/printing.lang b/htdocs/langs/th_TH/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/th_TH/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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/th_TH/productbatch.lang b/htdocs/langs/th_TH/productbatch.lang index 864782023a0..45263681965 100644 --- a/htdocs/langs/th_TH/productbatch.lang +++ b/htdocs/langs/th_TH/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/th_TH/products.lang b/htdocs/langs/th_TH/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/th_TH/products.lang +++ b/htdocs/langs/th_TH/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/th_TH/projects.lang b/htdocs/langs/th_TH/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/th_TH/projects.lang +++ b/htdocs/langs/th_TH/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/th_TH/salaries.lang b/htdocs/langs/th_TH/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/th_TH/salaries.lang +++ b/htdocs/langs/th_TH/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/th_TH/sendings.lang b/htdocs/langs/th_TH/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/th_TH/sendings.lang +++ b/htdocs/langs/th_TH/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/th_TH/stocks.lang b/htdocs/langs/th_TH/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/th_TH/stocks.lang +++ b/htdocs/langs/th_TH/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/th_TH/suppliers.lang b/htdocs/langs/th_TH/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/th_TH/suppliers.lang +++ b/htdocs/langs/th_TH/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 diff --git a/htdocs/langs/th_TH/trips.lang b/htdocs/langs/th_TH/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/th_TH/trips.lang +++ b/htdocs/langs/th_TH/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/tr_TR/admin.lang b/htdocs/langs/tr_TR/admin.lang index 221e8331c9f..17bc48b1142 100644 --- a/htdocs/langs/tr_TR/admin.lang +++ b/htdocs/langs/tr_TR/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Deneysel VersionDevelopment=Geliştirme VersionUnknown=Bilinmeyen VersionRecommanded=Ɩnerilen +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Oturum Kimliği SessionSaveHandler=Oturum kayıt yürütücüsü SessionSavePath=Oturum kayıt konumu @@ -493,10 +498,16 @@ Module600Name=Duyurlar Module600Desc=Üçüncü parti kişilerine bazı Dolibarr iş etkinlikleriyle ilgili Eposta bildirimleri gƶnderin (her üçüncü parti iƧin ayarlar tanımlanmıştır) Module700Name=Bağışlar Module700Desc=Bağış yƶnetimi +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 entegrasyonu Module1400Name=Muhasebe Module1400Desc=Muhasebe yƶnetimi (her iki parti iƧin) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Kategoriler Module1780Desc=Kategori yƶnetimi (ürünler, tedarikƧiler ve müşteriler) Module2000Name=FCKdüzenleyici (FCKeditor) @@ -631,7 +642,7 @@ Permission181=TedarikƧi siparişi oku Permission182=TedarikƧi siparişi oluştur/değiştir Permission183=TedarikƧi siparişi doğrula Permission184=TedarikƧi siparişi onayla -Permission185=TedarikƧi siparişi ver +Permission185=Order or cancel supplier orders Permission186=TedarikƧi siparişi al Permission187=TedarikƧi siparişi kapat Permission188=TedarikƧi siparişi iptal et @@ -711,6 +722,13 @@ Permission538=Hizmet dışaaktar Permission701=Bağış oluştur/değiştir Permission702=Bağış sil Permission703=Bağış sil +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=Stok oku Permission1002=Depo oluştur/değiştir Permission1003=Depo sil @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Proxy sunucusunu kullanacak parola DefineHereComplementaryAttributes=Burada bütün ƶznitelikleri tanımlayın, yalnızca mevcut varsayılanları değil desteklenmenizi istediğiniz %s leri de. ExtraFields=Tamamlayıcı ƶznitelikler ExtraFieldsLines=Tamamlayıcı ƶznitelikler (satırlar) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Ek ƶznitelikler (üçüncüparti) ExtraFieldsContacts=Ek ƶznitelikler (kişi/adres) ExtraFieldsMember=Tamamlayıcı ƶznitelikler (üye) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Sıfır tutarında olan ürün/hizmet satırını bir FreeLegalTextOnProposal=Teklifler üzerinde serbest metin WatermarkOnDraftProposal=Taslak tekliflerde filigran (boşsa yoktur) BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL=Teklif iƧin banka hesabı iste +##### 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=Sipariş yƶnetimi kurulumu OrdersNumberingModules=Sipariş numaralandırma modülü @@ -1383,7 +1410,7 @@ BarcodeDescUPC=Barkod türü UPC BarcodeDescISBN=Barkod türü ISBN BarcodeDescC39=Barkod türü C39 BarcodeDescC128=Barkod türü C128 -GenbarcodeLocation=Bar kod oluşturma komut satırı aracı (phpbarcode motoru tarafından bazı barkod tipleri iƧin kullanılır) +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 BarCodeNumberManager=Barkod sayılarını otomatik olarak tanımlayacak yƶnetici ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Satışlar iƧin kullanılacak varsayılan genel üç CashDeskBankAccountForSell=Nakit ƶdemeleri almak iƧin kullanılan varsayılan hesap CashDeskBankAccountForCheque= Ɩdemeleri Ƨek ile almak iƧin kullanılan varsayılan hesap CashDeskBankAccountForCB= Nakit ƶdemeleri kredi kartıyla almak iƧin kullanılan varsayılan hesap -CashDeskDoNotDecreaseStock=Satış Noktasından satış yapıldığında stok eksiltilmesini engelle +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=Depoyu stok azaltmada kullanmak iƧin zorla ve sınırla StockDecreaseForPointOfSaleDisabled=Satış Noktasından stok eksiltme engelli +StockDecreaseForPointOfSaleDisabledbyBatch=Stock decrease in POS is not compatible with batch management CashDeskYouDidNotDisableStockDecease=Satış Noktasından satış yapılırken stok eksiltilmesini engellemediniz. Bu durumda depo gereklidir. ##### Bookmark ##### BookmarkSetup=Yerimi modülü kurulumu @@ -1569,3 +1597,7 @@ SortOrder=Sıralama düzeni Format=BiƧim TypePaymentDesc=0:Müşteri ƶdeme türü, 1:TedarikƧi ƶdeme türü, 2:Hem müşteri hem de tedarikƧi ƶdeme türü IncludePath=Yolu iƧerir (%s değişlende tanımlanır) +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. diff --git a/htdocs/langs/tr_TR/agenda.lang b/htdocs/langs/tr_TR/agenda.lang index 0520ecb6de7..d3398bfc410 100644 --- a/htdocs/langs/tr_TR/agenda.lang +++ b/htdocs/langs/tr_TR/agenda.lang @@ -25,7 +25,7 @@ MenuToDoMyActions=Sonlanmayan etkinliklerim MenuDoneMyActions=Sonlanan etkinliklerim ListOfEvents=Etkinlik listesi (iƧ takvim) ActionsAskedBy=Etkinliği bildiren -ActionsToDoBy=Etkinlikten etkilenen +ActionsToDoBy=Etkinlik iƧin gƶrevlendirilen ActionsDoneBy=Etkinliği yapan ActionsForUser=Kullanıcı etkinlikleri ActionsForUsersGroup=Grupun tüm üyelerine ait etkinlikler diff --git a/htdocs/langs/tr_TR/banks.lang b/htdocs/langs/tr_TR/banks.lang index 45459c215f6..4f843b6a57b 100644 --- a/htdocs/langs/tr_TR/banks.lang +++ b/htdocs/langs/tr_TR/banks.lang @@ -33,7 +33,11 @@ AllTime=BaşlangıƧ Reconciliation=Uzlaşma RIB=Banka Hesap Numarası IBAN=IBAN numarası +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC/SWIFT numarası +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Ɩdeme talimatları StandingOrder=Ɩdeme talimatı Withdrawals=Para Ƨekmeler @@ -148,7 +152,7 @@ BackToAccount=Hesaba geri dƶn ShowAllAccounts=Tüm hesaplar iƧin gƶster FutureTransaction=Gelecekteki işlem. HiƧbir şekilde uzlaştırılamaz. SelectChequeTransactionAndGenerate=Ƈek tahsilat makbuzunun iƧereceği Ƨekleri seƧ/süz ve ā€œOluşturā€ a tıkla. -InputReceiptNumber=Uzlaşma ile ilgili banka hesap ƶzetini seƧin. Sıralanabilir bir sayısal değer kullanın (YYYYMM gibi) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Sonunda, kayıtları sınıflandırmak iƧin bir kategori belirtin ToConciliate=Uzlaştırılacak mı? ThenCheckLinesAndConciliate=Sonra, banka hesap ƶzetindeki kalemleri işaretleyin ve tıklayın diff --git a/htdocs/langs/tr_TR/bills.lang b/htdocs/langs/tr_TR/bills.lang index 75337d23cc2..b4dfe964b99 100644 --- a/htdocs/langs/tr_TR/bills.lang +++ b/htdocs/langs/tr_TR/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Halihazırda yapılmış ƶdemeler PaymentsBackAlreadyDone=Zaten yapılmış geri ƶdemeler PaymentRule=Ɩdeme kuralı PaymentMode=Ɩdeme türü -PaymentConditions=Ɩdeme şartı -PaymentConditionsShort=Ɩdeme şartı +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Ɩdeme tutarı ValidatePayment=Ɩdeme doğrula PaymentHigherThanReminderToPay=Ɩdeme hatırlatmasından daha yüksek ƶdeme diff --git a/htdocs/langs/tr_TR/commercial.lang b/htdocs/langs/tr_TR/commercial.lang index dc040a6d77c..88f8c321083 100644 --- a/htdocs/langs/tr_TR/commercial.lang +++ b/htdocs/langs/tr_TR/commercial.lang @@ -39,7 +39,7 @@ LastDoneTasks=Tamamlanan son %s gƶrev LastRecordedTasks=Son kaydedilen gƶrevler LastActionsToDo=Tamamlanmamış son %s en eski işlem DoneAndToDoActionsFor=%s iƧin tamamlanan ve yapılacak etkinlikler -DoneAndToDoActions=Tamamlanan ve yapılacak gƶrevler +DoneAndToDoActions=Tamamlanan ve yapılacak etkinlikler DoneActions=Tamamlanan etkinlikler DoneActionsFor=%s iƧin tamamlanan etkinlikler ToDoActions=Tamamlanmamış etkinlikler @@ -61,8 +61,8 @@ LastProspectContactInProcess=Kişi işlemde LastProspectContactDone=Gƶrüşme yapıldı DateActionPlanned=Planlanan etkinlik tarihi DateActionDone=Etkinliğin yapıldığı tarih -ActionAskedBy=Etkinliği sunan -ActionAffectedTo=Etkinlik sahibi +ActionAskedBy=Etkinliği bildiren +ActionAffectedTo=Event assigned to ActionDoneBy=Etkinliği yapan ActionUserAsk=Raporlayan ErrorStatusCantBeZeroIfStarted=Eğer Yapıldığı tarih alanı doluysa, etkinlik başlamıştır (veya bitmiştir), bu durumda 'Durum' alanı 0%% olamaz. @@ -81,7 +81,7 @@ ActionAC_SHIP=Sevkiyatı postayla gƶnder ActionAC_SUP_ORD=TedarikƧi siparişini postayla gƶnder ActionAC_SUP_INV=TedarikƧi faturasını postayla gƶnder ActionAC_OTH=Diğer -ActionAC_OTH_AUTO=Diğer otomatikman eklenen etkinlikler) +ActionAC_OTH_AUTO=Diğer (otomatikman eklenen etkinlikler) ActionAC_MANUAL=Elle eklenen etkinlikler ActionAC_AUTO=Otomatikman eklenen etkinlikler Stats=Satış istatistikleri @@ -92,5 +92,5 @@ RecapAnnee=Yıl ƶzeti NoData=Veri yok StatusProsp=Aday durumu DraftPropals=Taslak teklifler -SearchPropal=Bir teklif ara +SearchPropal=Teklif ara CommercialDashboard=Ticaret ƶzeti diff --git a/htdocs/langs/tr_TR/contracts.lang b/htdocs/langs/tr_TR/contracts.lang index 69cb8b4606c..ef18a5fb522 100644 --- a/htdocs/langs/tr_TR/contracts.lang +++ b/htdocs/langs/tr_TR/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Süresi dolmuş ServiceStatusClosed=Kapalı ServicesLegend=Hizmetler gƶstergesi Contracts=Sƶzleşmeler +ContractsAndLine=Contracts and line of contracts Contract=Sƶzleşme NoContracts=Sƶzleşme yok MenuServices=Hizmetler diff --git a/htdocs/langs/tr_TR/cron.lang b/htdocs/langs/tr_TR/cron.lang index 7dc15f232c9..3a55dd2b134 100644 --- a/htdocs/langs/tr_TR/cron.lang +++ b/htdocs/langs/tr_TR/cron.lang @@ -84,3 +84,4 @@ 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=Task disabled diff --git a/htdocs/langs/tr_TR/errors.lang b/htdocs/langs/tr_TR/errors.lang index e4e9eb9eb3c..269f6173807 100644 --- a/htdocs/langs/tr_TR/errors.lang +++ b/htdocs/langs/tr_TR/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Kaynak ve hedef banka hesapları farklı olmalıd ErrorBadThirdPartyName=Üçüncü parti adı iƧin hatalı değer ErrorProdIdIsMandatory=Bu %s zorunludur ErrorBadCustomerCodeSyntax=Hatalı müşteri kodu -ErrorBadBarCodeSyntax=Bar kodu iƧin hatalı sƶzdizimi +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=Müşteri kodu gereklidir ErrorBarCodeRequired=Bar kod gerekli ErrorCustomerCodeAlreadyUsed=Müşteri kodu zaten kullanılmış @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Bu ƶzelliğin Ƨalışması iƧin Javascript engel ErrorPasswordsMustMatch=Her iki yazdığınız şifrenin birbiriyle eşleşmesi gerekir ErrorContactEMail=Teknik bir hata oluştu. Lütfen, aşağıdaki %s Eposta ile yƶneticiye danışın, mesajınızda %s hata kodunu belirtin ve hatta bir ekran gƶrünümünü de eklerseniz daha iyi olur. ErrorWrongValueForField=%s alan numarası iƧin yanlış değer ('%s' değeri '%s' regex kuralı ile uyuşmuyor) -ErrorFieldValueNotIn=%s alan numarası iƧin yanlış değer ('%s' değeri %s tablosunun %s alanı iƧin uygun bir değer değildir) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=Alan numarası %s iƧin yanlış değer (değer '%s' bir %s ref mevcut değildir) ErrorsOnXLines=% kaynak satırlarındaki hatalar ErrorFileIsInfectedWithAVirus=Virüs koruma programı dosyayı doğrulayamıyor (dosyaya bir virüs bulaşmış olabilir) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=İƧ hata '%s' ErrorPriceExpressionUnknown=Bilinmeyen hata '%s' ErrorSrcAndTargetWarehouseMustDiffers=Kaynak ve hedef depolar farklı olmalı ErrorTryToMakeMoveOnProductRequiringBatchData=Hata, parti/seri bilgisi gerektiren ürün iƧin parti/seri bilgisi olmadan stok hareketi yapılmaya Ƨalışılıyor. +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/tr_TR/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/tr_TR/install.lang b/htdocs/langs/tr_TR/install.lang index cd980985987..731c1b2d344 100644 --- a/htdocs/langs/tr_TR/install.lang +++ b/htdocs/langs/tr_TR/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Son adım: Burada yazılıma bağlanmayı düşün ActivateModule=%s modülünü etkinleştir ShowEditTechnicalParameters=Gelişmiş parametreleri (uzman modu) gƶstermek/düzenlemek iƧin burayı tıklayın WarningUpgrade=Uyarı:\nƖnce bir veritabanı yedeklemesi yaptınız mı?\nBu son derece ƶnerilir: ƶrneğin; veritabanı sistemindeki bazı hatalar nedeniyle (ƶrneğin mysql sürüm 5.5.40) bu işlem sırasında bazı veriler ve tablolar kaybolabilir. Bu yüzden taşımaya başlamadan ƶnce veritabanının tam bir dƶkümünün olması son derece ƶnerilir.\n\nTaşıma işlemini başlatmak iƧin Tamam'a tıklayın... +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 diff --git a/htdocs/langs/tr_TR/main.lang b/htdocs/langs/tr_TR/main.lang index 204406547b2..cd5b2b24f7e 100644 --- a/htdocs/langs/tr_TR/main.lang +++ b/htdocs/langs/tr_TR/main.lang @@ -66,7 +66,7 @@ SeeHere=Buraya bak BackgroundColorByDefault=Varsayılan arkaplan rengi FileNotUploaded=Dosya yüklenmemiş FileUploaded=Dosya yüklemesi başarılı -FileWasNotUploaded=Bu ekleme iƧin bir dosya seƧildi ama henüz gƶnderilmedi. Bunun iƧin ā€œDosya ekleā€ ye tıklayın. +FileWasNotUploaded=Bu ekleme iƧin bir dosya seƧildi ama henüz gƶnderilmedi. Bunun iƧin ā€œDosya ekleā€? ye tıklayın. NbOfEntries=Kayıt sayısı GoToWikiHelpPage=ƇevrimiƧi yardım oku (Internet erişimi gerekir) GoToHelpPage=Yardım oku @@ -141,6 +141,7 @@ Cancel=İptal Modify=Değiştir Edit=Düzenle Validate=Doğrula +ValidateAndApprove=Validate and Approve ToValidate=Doğrulanacak Save=Kaydet SaveAs=Farklı kaydet @@ -158,6 +159,7 @@ Search=Ara SearchOf=Ara Valid=GeƧerli Approve=Onayla +Disapprove=Disapprove ReOpen=Yeniden aƧ Upload=Dosya gƶnder ToLink=Bağlantı @@ -219,6 +221,7 @@ Cards=Kartlar Card=Kart Now=Şimdi Date=Tarih +DateAndHour=Date and hour DateStart=Başlama tarihi DateEnd=Bitiş tarih DateCreation=Oluşturma tarihi @@ -295,6 +298,7 @@ UnitPriceHT=Birim fiyat (net) UnitPriceTTC=Birim fiyat PriceU=B.F. PriceUHT=B.F. (net) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=B.F. Amount=Tutar AmountInvoice=Fatura tutarı @@ -521,6 +525,7 @@ DateFromTo=%s den %s e kadar DateFrom=%s den DateUntil=%s e Kadar Check=Denetle +Uncheck=Uncheck Internal=İƧ External=Dış Internals=İƧler @@ -627,7 +632,7 @@ CoreErrorTitle=Sistem hatası CoreErrorMessage=Üzgünüz, bir hata oluştu. Günlükleri kontrol edin veya sistem yƶneticinize başvurun. CreditCard=Kredi kartı FieldsWithAreMandatory=%s olan alanları zorunludur -FieldsWithIsForPublic=Üyelerin genel listelerinde %s olan alanlar gƶsterilir. Bunu istemiyorsanız, ā€œgenelā€ kutusundan işareti kaldırın. +FieldsWithIsForPublic=Üyelerin genel listelerinde %s olan alanlar gƶsterilir. Bunu istemiyorsanız, ā€œgenelā€? kutusundan işareti kaldırın. AccordingToGeoIPDatabase=(GeoIP dƶnüşümüne gƶre) Line=Satır NotSupported=Desteklenmez @@ -688,6 +693,7 @@ PublicUrl=Genel URL AddBox=Kutu ekle SelectElementAndClickRefresh=Bir öğe seƧin ve Yenile'ye tıkla PrintFile=%s Dosyasını Yazdır +ShowTransaction=Show transaction # Week day Monday=Pazartesi Tuesday=Salı diff --git a/htdocs/langs/tr_TR/orders.lang b/htdocs/langs/tr_TR/orders.lang index 17254bf7a3d..d203ffa5a23 100644 --- a/htdocs/langs/tr_TR/orders.lang +++ b/htdocs/langs/tr_TR/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=İptal edilmiş StatusOrderDraft=Taslak (doğrulanması gerekir) StatusOrderValidated=Doğrulanmış StatusOrderOnProcess=Sipariş edildi - Teslime hazır +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=İşlenmiş StatusOrderToBill=Teslim edildi StatusOrderToBill2=Faturalanacak @@ -58,6 +59,7 @@ MenuOrdersToBill=Teslim edilen siparişler MenuOrdersToBill2=Faturalanabilir siparişler SearchOrder=Sipariş ara SearchACustomerOrder=Müşteri siparişi ara +SearchASupplierOrder=Search a supplier order ShipProduct=Ürünü sevket Discount=İndirim CreateOrder=Sipariş oluştur diff --git a/htdocs/langs/tr_TR/other.lang b/htdocs/langs/tr_TR/other.lang index 666bfc89754..f8f84232e9d 100644 --- a/htdocs/langs/tr_TR/other.lang +++ b/htdocs/langs/tr_TR/other.lang @@ -54,12 +54,13 @@ MaxSize=EnƧok boyut AttachANewFile=Yeni bir dosya/belge ekle LinkedObject=Bağlantılı nesne Miscellaneous=Ƈeşitli -NbOfActiveNotifications=Number of notifications +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Bu bir deneme postasıdır.\nİki satır enter tuşu ile ayrılmıştır. PredefinedMailTestHtml=Bu bir deneme postası (deneme sƶzcüğü koyu olmalı).
    İki satır enter tuşu ile ayrılmıştır. PredefinedMailContentSendInvoice=__CONTACTCIVNAME__\n\nFaturanız buradadır __FACREF__\n\n__PERSONALIZED__Saygılar\n\n__SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__\n\nSize faturanız __FACREF__ iƧin ƶdeme yapılmamış gƶründüğünü belirtmek isteriz. Anımsatma amacıyla ilgili fatura ekte sunulmuştur.\n\n__PERSONALIZED__Saygılar\n\n__SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__\n\nTeklifiniz bilgilerinize sunulmuştur __PROPREF__\n\n__PERSONALIZED__Saygılarımızla\n\n__SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__\n\nSiparişiniz buradadır __ORDERREF__\n\n__PERSONALIZED__Saygılar\n\n__SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__\n\nSiparişimiz buradadır __ORDERREF__\n\n__PERSONALIZED__Saygılar\n\n__SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__\n\nFatura buradadır __FACREF__\n\n__PERSONALIZED__Saygılar\n\n__SIGNATURE__ diff --git a/htdocs/langs/tr_TR/printing.lang b/htdocs/langs/tr_TR/printing.lang new file mode 100644 index 00000000000..087b9d2a8a4 --- /dev/null +++ b/htdocs/langs/tr_TR/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Doğrudan yazdırma +Module112000Desc=Doğrudan Yazdırma Sistemini Engelle +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) +FileWasSentToPrinter=%s Dosyası yazıcıya gƶnderilmiştir +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 e6fc79ade2c..24ea291a110 100644 --- a/htdocs/langs/tr_TR/productbatch.lang +++ b/htdocs/langs/tr_TR/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Parti/Seri numarası l_eatby=Son yenme tarihi l_sellby=Son satış tarihi DetailBatchNumber=Parti/Seri ayrıntıları -DetailBatchFormat=Parti/Seri: %s - Y: %s - S: %s (Mik : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Parti: %s printEatby=Son Yenme: %s printSellby=Son satış: %s diff --git a/htdocs/langs/tr_TR/products.lang b/htdocs/langs/tr_TR/products.lang index 2c3a9bf0d86..fdf8b1a3b98 100644 --- a/htdocs/langs/tr_TR/products.lang +++ b/htdocs/langs/tr_TR/products.lang @@ -250,3 +250,7 @@ PriceExpressionEditorHelp3=Ürün/hizmet ve tedarikƧi fiyatlarının her ikisin PriceExpressionEditorHelp4=Ürün/hizmet fiyatında yalnızca: #supplier_min_price#
    In supplier prices only: #supplier_quantity# and #supplier_tva_tx# PriceMode=Fiyat biƧimi PriceNumeric=Sayı +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/tr_TR/projects.lang b/htdocs/langs/tr_TR/projects.lang index 208dad079bb..aa33b4ca11a 100644 --- a/htdocs/langs/tr_TR/projects.lang +++ b/htdocs/langs/tr_TR/projects.lang @@ -8,8 +8,10 @@ SharedProject=Herkes PrivateProject=Proje ilgilileri MyProjectsDesc=Bu gƶrünüm ilgilisi olduğunuz projelerle sınırlıdır (türü ne olursa olsun). ProjectsPublicDesc=Bu gƶrünüm okuma izininiz olan tüm projeleri iƧerir. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. 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=Only opened projects are visible (projects with draft or closed status are not visible). 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). ProjectsArea=Projeler alanı @@ -29,6 +31,8 @@ NoProject=Tanımlı ya da sahip olunan hiƧbir proje yok NbOpenTasks=AƧık gƶrev sayısı NbOfProjects=Proje sayısı TimeSpent=Harcanan süre +TimeSpentByYou=Tarafınızdan harcanan süre +TimeSpentByUser=Kullanıcı tarafından harcanan süre TimesSpent=Harcanan süre RefTask=Gƶrev ref. LabelTask=Gƶrev etiketi @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Proje ile ilgili tedarikƧi siparişlerinin ListSupplierInvoicesAssociatedProject=Proje ile ilgili tedarikƧi faturalarının listesi ListContractAssociatedProject=Proje ile ilgili sƶzleşmelerin listesi ListFichinterAssociatedProject=Proje ile ilgili müdahalelerin listesi -ListTripAssociatedProject=Proje ile ilgili geziler ve giderlerin listesi +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Proje ile ilgili etkinliklerin listesi ActivityOnProjectThisWeek=Projede bu haftaki etkinlik ActivityOnProjectThisMonth=Projede bu ayki etkinlik @@ -126,10 +130,15 @@ AddElement=Ɩğeye bağlan UnlinkElement=Ɩğenin bağlantısını kaldır # Documents models DocumentModelBaleine=Eksiksiz bir proje rapor modeli (logo. ..) -PlannedWorkload = Planlı işyükü -WorkloadOccupation= İş yükü benzetmesi +PlannedWorkload=Planlı işyükü +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/tr_TR/salaries.lang b/htdocs/langs/tr_TR/salaries.lang index 61c1db446e8..1d5aa85d140 100644 --- a/htdocs/langs/tr_TR/salaries.lang +++ b/htdocs/langs/tr_TR/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Ücret ƶdemeleri ShowSalaryPayment=Ücret ƶdemesi gƶster THM=Ortalama saat ücreti TJM=Ortalama günlük ücret +CurrentSalary=Current salary diff --git a/htdocs/langs/tr_TR/sendings.lang b/htdocs/langs/tr_TR/sendings.lang index c7b30cba846..9a202a374f2 100644 --- a/htdocs/langs/tr_TR/sendings.lang +++ b/htdocs/langs/tr_TR/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Sipariş mikt. QtyShipped=Sevkedilen mikt. QtyToShip=Sevk edilecek mikt. QtyReceived=Alınan mikt. -KeepToShip=Sevkiyat iƧin tut +KeepToShip=Remain to ship OtherSendingsForSameOrder=Bu sipariş iƧin diğer sevkiyatlar DateSending=Sipariş gƶnderme tarihi DateSendingShort=Sipariş gƶnderme tarihi diff --git a/htdocs/langs/tr_TR/stocks.lang b/htdocs/langs/tr_TR/stocks.lang index 4e458e00129..8856d87badd 100644 --- a/htdocs/langs/tr_TR/stocks.lang +++ b/htdocs/langs/tr_TR/stocks.lang @@ -47,6 +47,7 @@ PMPValue=Ağırlıklı ortalama fiyat PMPValueShort=AOF EnhancedValueOfWarehouses=Depolar değeri UserWarehouseAutoCreate=Bir kullanıcı oluştururken otomatik olarak bir stok oluştur +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Sevkedilen miktar QtyDispatchedShort=Dağıtılan mik QtyToDispatchShort=Dağıtılacak mik @@ -110,7 +111,7 @@ 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 liste tüm aƧık tedarikƧi siparişlerinindir +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=İ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 @@ -130,3 +131,4 @@ IsInPackage=Pakette iƧerilir ShowWarehouse=Depo gƶster MovementCorrectStock=%s ürünü iƧin stok iƧeriği düzeltmesi MovementTransferStock=%s ürününün başka bir depoya stok aktarılması +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. diff --git a/htdocs/langs/tr_TR/suppliers.lang b/htdocs/langs/tr_TR/suppliers.lang index 585a82d5f80..b4b16859cc1 100644 --- a/htdocs/langs/tr_TR/suppliers.lang +++ b/htdocs/langs/tr_TR/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=TedarikƧiler -Supplier=TedarikƧi AddSupplier=Bir tedarikƧi oluştur SupplierRemoved=TedarikƧi kaldırıldı SuppliersInvoice=TedarikƧi faturası @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=TedarikƧi faturaları ve ƶdemeleri ExportDataset_fournisseur_3=TedarikƧi siparişleri ve sipariş satırları ApproveThisOrder=Bu siparişi onayla ConfirmApproveThisOrder=%s siparişini onaylamak istediğinizden emin misiniz? -DenyingThisOrder=Bu siparişi reddet +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=%s siparişini reddetmek istediğinizden emin misiniz? ConfirmCancelThisOrder=%s siparişini iptal etmek istediğinizden emin misiniz? AddCustomerOrder=Müşteri siparişi oluştur diff --git a/htdocs/langs/tr_TR/trips.lang b/htdocs/langs/tr_TR/trips.lang index bd709af9859..30c0831f5ac 100644 --- a/htdocs/langs/tr_TR/trips.lang +++ b/htdocs/langs/tr_TR/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Gezi -Trips=Geziler -TripsAndExpenses=Geziler ve giderler -TripsAndExpensesStatistics=Gezi ve gider istatistikleri -TripCard=Gezi kartı -AddTrip=Gezi ekle -ListOfTrips=Gezi listesi +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=Ücretler listesi -NewTrip=Yeni gezi +NewTrip=New expense report CompanyVisited=Ziyaret edilen firma/kuruluş Kilometers=Kilometre FeesKilometersOrAmout=Tutar ya da kilometre -DeleteTrip=Gezi sil -ConfirmDeleteTrip=Bu geziyi silmek istediğinizden emin misiniz? -TF_OTHER=Diğer -TF_LUNCH=Ɩğle yemeği -TF_TRIP=Gezi -ListTripsAndExpenses=Geziler ve giderler listesi -ExpensesArea=Geziler ve giderler alanı -SearchATripAndExpense=Bir gezi ve gider ara +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=Sınıflandırma 'İade edildi' +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=Diğer +TF_TRANSPORTATION=Transportation +TF_LUNCH=Ɩğle yemeği +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/uk_UA/admin.lang b/htdocs/langs/uk_UA/admin.lang index f9049def3dd..c244a6aacf4 100644 --- a/htdocs/langs/uk_UA/admin.lang +++ b/htdocs/langs/uk_UA/admin.lang @@ -8,6 +8,11 @@ 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=ID Дессії SessionSaveHandler=Handler to save sessions SessionSavePath=Storage session localization @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/uk_UA/banks.lang b/htdocs/langs/uk_UA/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/uk_UA/banks.lang +++ b/htdocs/langs/uk_UA/banks.lang @@ -33,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 @@ -148,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/uk_UA/bills.lang b/htdocs/langs/uk_UA/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/uk_UA/bills.lang +++ b/htdocs/langs/uk_UA/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/uk_UA/commercial.lang b/htdocs/langs/uk_UA/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/uk_UA/commercial.lang +++ b/htdocs/langs/uk_UA/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/uk_UA/contracts.lang b/htdocs/langs/uk_UA/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/uk_UA/contracts.lang +++ b/htdocs/langs/uk_UA/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/uk_UA/cron.lang b/htdocs/langs/uk_UA/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/uk_UA/cron.lang +++ b/htdocs/langs/uk_UA/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/uk_UA/errors.lang b/htdocs/langs/uk_UA/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/uk_UA/errors.lang +++ b/htdocs/langs/uk_UA/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/uk_UA/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/uk_UA/install.lang b/htdocs/langs/uk_UA/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/uk_UA/install.lang +++ b/htdocs/langs/uk_UA/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/uk_UA/main.lang b/htdocs/langs/uk_UA/main.lang index 31e70c2b72a..05b5f395001 100644 --- a/htdocs/langs/uk_UA/main.lang +++ b/htdocs/langs/uk_UA/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/uk_UA/orders.lang b/htdocs/langs/uk_UA/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/uk_UA/orders.lang +++ b/htdocs/langs/uk_UA/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/uk_UA/other.lang b/htdocs/langs/uk_UA/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/uk_UA/other.lang +++ b/htdocs/langs/uk_UA/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/uk_UA/printing.lang b/htdocs/langs/uk_UA/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/uk_UA/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/uk_UA/productbatch.lang +++ b/htdocs/langs/uk_UA/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/uk_UA/products.lang b/htdocs/langs/uk_UA/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/uk_UA/products.lang +++ b/htdocs/langs/uk_UA/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/uk_UA/projects.lang b/htdocs/langs/uk_UA/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/uk_UA/projects.lang +++ b/htdocs/langs/uk_UA/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/uk_UA/salaries.lang b/htdocs/langs/uk_UA/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/uk_UA/salaries.lang +++ b/htdocs/langs/uk_UA/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/uk_UA/sendings.lang b/htdocs/langs/uk_UA/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/uk_UA/sendings.lang +++ b/htdocs/langs/uk_UA/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/uk_UA/stocks.lang b/htdocs/langs/uk_UA/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/uk_UA/stocks.lang +++ b/htdocs/langs/uk_UA/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/uk_UA/suppliers.lang b/htdocs/langs/uk_UA/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/uk_UA/suppliers.lang +++ b/htdocs/langs/uk_UA/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 diff --git a/htdocs/langs/uk_UA/trips.lang b/htdocs/langs/uk_UA/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/uk_UA/trips.lang +++ b/htdocs/langs/uk_UA/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais à intégrer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "Payée". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sûr de vouloir intégrer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - Intégration + +ConfirmAccountToNdf=Êtes-vous sûr de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutée : +NO_PROJECT=Aucun projet sélectionné. +NO_DATE=Aucune date sélectionnée. +NO_PRICE=Aucun prix indiqué. + +TripForValid=à Valider +TripForPaid=à Payer +TripPaid=Payée + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/uz_UZ/accountancy.lang b/htdocs/langs/uz_UZ/accountancy.lang new file mode 100644 index 00000000000..bb9b358c045 --- /dev/null +++ b/htdocs/langs/uz_UZ/accountancy.lang @@ -0,0 +1,160 @@ +# Dolibarr language file - en_US - Accounting Expert +CHARSET=UTF-8 + +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_BANK_JOURNAL=Bank journal +ACCOUNTING_CASH_JOURNAL=Cash journal +ACCOUNTING_MISCELLANEOUS_JOURNAL=Miscellaneous 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/uz_UZ/admin.lang b/htdocs/langs/uz_UZ/admin.lang index 38634cbd497..9782c2ea27f 100644 --- a/htdocs/langs/uz_UZ/admin.lang +++ b/htdocs/langs/uz_UZ/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 @@ -493,10 +498,16 @@ 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=Categories Module1780Desc=Category management (products, suppliers and customers) Module2000Name=WYSIWYG editor @@ -631,7 +642,7 @@ Permission181=Read supplier orders Permission182=Create/modify supplier orders Permission183=Validate supplier orders Permission184=Approve supplier orders -Permission185=Order supplier orders +Permission185=Order or cancel supplier orders Permission186=Receive supplier orders Permission187=Close supplier orders Permission188=Cancel supplier orders @@ -711,6 +722,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 @@ -1025,6 +1043,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) @@ -1152,6 +1172,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 @@ -1383,7 +1410,7 @@ 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) +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 ##### @@ -1501,9 +1528,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 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 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/uz_UZ/banks.lang b/htdocs/langs/uz_UZ/banks.lang index 10a5f5b3c14..a2306950fb4 100644 --- a/htdocs/langs/uz_UZ/banks.lang +++ b/htdocs/langs/uz_UZ/banks.lang @@ -33,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 @@ -148,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/uz_UZ/bills.lang b/htdocs/langs/uz_UZ/bills.lang index 7232f00e91c..69e1510ca44 100644 --- a/htdocs/langs/uz_UZ/bills.lang +++ b/htdocs/langs/uz_UZ/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Payments already done PaymentsBackAlreadyDone=Payments back already done PaymentRule=Payment rule PaymentMode=Payment type -PaymentConditions=Payment term -PaymentConditionsShort=Payment term +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Payment amount ValidatePayment=Validate payment PaymentHigherThanReminderToPay=Payment higher than reminder to pay diff --git a/htdocs/langs/uz_UZ/commercial.lang b/htdocs/langs/uz_UZ/commercial.lang index e7d2de76503..7acdc7bd7e6 100644 --- a/htdocs/langs/uz_UZ/commercial.lang +++ b/htdocs/langs/uz_UZ/commercial.lang @@ -9,9 +9,9 @@ Prospect=Prospect Prospects=Prospects DeleteAction=Delete an event/task NewAction=New event/task -AddAction=Add event/task -AddAnAction=Add an event/task -AddActionRendezVous=Add a Rendez-vous event +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 @@ -44,8 +44,8 @@ DoneActions=Completed events DoneActionsFor=Completed events for %s ToDoActions=Incomplete events ToDoActionsFor=Incomplete events for %s -SendPropalRef=Send commercial proposal %s -SendOrderRef=Send order %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=Not applicable StatusActionToDo=To do StatusActionDone=Complete diff --git a/htdocs/langs/uz_UZ/contracts.lang b/htdocs/langs/uz_UZ/contracts.lang index 57ba3bb15d8..d1be0e6513f 100644 --- a/htdocs/langs/uz_UZ/contracts.lang +++ b/htdocs/langs/uz_UZ/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/uz_UZ/cron.lang b/htdocs/langs/uz_UZ/cron.lang index 82f4574b223..28dfc7770b2 100644 --- a/htdocs/langs/uz_UZ/cron.lang +++ b/htdocs/langs/uz_UZ/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/uz_UZ/errors.lang b/htdocs/langs/uz_UZ/errors.lang index 497ddd814e4..700e6344d7d 100644 --- a/htdocs/langs/uz_UZ/errors.lang +++ b/htdocs/langs/uz_UZ/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Source and targets bank accounts must be differen ErrorBadThirdPartyName=Bad value for third party name ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=Bad syntax for customer code -ErrorBadBarCodeSyntax=Bad syntax for bar 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 @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript must not be disabled to have this featur 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) +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) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=Mandatory setup parameters are not yet defined diff --git a/htdocs/langs/uz_UZ/install.lang b/htdocs/langs/uz_UZ/install.lang index 5a494156672..dcd8df6e7db 100644 --- a/htdocs/langs/uz_UZ/install.lang +++ b/htdocs/langs/uz_UZ/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Last step: Define here login and password you plan 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 diff --git a/htdocs/langs/uz_UZ/link.lang b/htdocs/langs/uz_UZ/link.lang new file mode 100644 index 00000000000..8b1efb75ef3 --- /dev/null +++ b/htdocs/langs/uz_UZ/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/uz_UZ/main.lang b/htdocs/langs/uz_UZ/main.lang index ea5bebeaebf..f34681e8530 100644 --- a/htdocs/langs/uz_UZ/main.lang +++ b/htdocs/langs/uz_UZ/main.lang @@ -141,6 +141,7 @@ Cancel=Cancel Modify=Modify Edit=Edit Validate=Validate +ValidateAndApprove=Validate and Approve ToValidate=To validate Save=Save SaveAs=Save As @@ -158,6 +159,7 @@ Search=Search SearchOf=Search Valid=Valid Approve=Approve +Disapprove=Disapprove ReOpen=Re-Open Upload=Send file ToLink=Link @@ -219,6 +221,7 @@ Cards=Cards Card=Card Now=Now Date=Date +DateAndHour=Date and hour DateStart=Date start DateEnd=Date end DateCreation=Creation date @@ -295,6 +298,7 @@ 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 @@ -521,6 +525,7 @@ DateFromTo=From %s to %s DateFrom=From %s DateUntil=Until %s Check=Check +Uncheck=Uncheck Internal=Internal External=External Internals=Internal @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Monday Tuesday=Tuesday diff --git a/htdocs/langs/uz_UZ/orders.lang b/htdocs/langs/uz_UZ/orders.lang index 34792ae1eb2..8efafa5e94e 100644 --- a/htdocs/langs/uz_UZ/orders.lang +++ b/htdocs/langs/uz_UZ/orders.lang @@ -42,6 +42,7 @@ 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 @@ -58,6 +59,7 @@ 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 diff --git a/htdocs/langs/uz_UZ/other.lang b/htdocs/langs/uz_UZ/other.lang index 88991888183..08747ea884b 100644 --- a/htdocs/langs/uz_UZ/other.lang +++ b/htdocs/langs/uz_UZ/other.lang @@ -54,12 +54,13 @@ MaxSize=Maximum size AttachANewFile=Attach a new file/document LinkedObject=Linked object Miscellaneous=Miscellaneous -NbOfActiveNotifications=Number of notifications +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__ diff --git a/htdocs/langs/uz_UZ/printipp.lang b/htdocs/langs/uz_UZ/printipp.lang new file mode 100644 index 00000000000..835e6827f12 --- /dev/null +++ b/htdocs/langs/uz_UZ/printipp.lang @@ -0,0 +1,14 @@ +# Dolibarr language file - Source file is en_US - printipp +PrintIPPSetup=Setup of Direct Print module +PrintIPPDesc=This module adds a Print button to send documents directly to a printer. It requires a Linux system with CUPS installed. +PRINTIPP_ENABLED=Show "Direct print" icon in document lists +PRINTIPP_HOST=Print server +PRINTIPP_PORT=Port +PRINTIPP_USER=Login +PRINTIPP_PASSWORD=Password +NoPrinterFound=No printers found (check your CUPS setup) +FileWasSentToPrinter=File %s was sent to printer +NoDefaultPrinterDefined=No default printer defined +DefaultPrinter=Default printer +Printer=Printer +CupsServer=CUPS Server diff --git a/htdocs/langs/uz_UZ/productbatch.lang b/htdocs/langs/uz_UZ/productbatch.lang new file mode 100644 index 00000000000..45263681965 --- /dev/null +++ b/htdocs/langs/uz_UZ/productbatch.lang @@ -0,0 +1,21 @@ +# ProductBATCH language file - en_US - ProductBATCH +ManageLotSerial=Use batch/serial number +ProductStatusOnBatch=Yes (Batch/serial required) +ProductStatusNotOnBatch=No (Batch/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 +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 +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 diff --git a/htdocs/langs/uz_UZ/products.lang b/htdocs/langs/uz_UZ/products.lang index 3a29639b12b..3a18cda69e7 100644 --- a/htdocs/langs/uz_UZ/products.lang +++ b/htdocs/langs/uz_UZ/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/uz_UZ/projects.lang b/htdocs/langs/uz_UZ/projects.lang index b3c150d1687..44d0d89687a 100644 --- a/htdocs/langs/uz_UZ/projects.lang +++ b/htdocs/langs/uz_UZ/projects.lang @@ -8,8 +8,10 @@ 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). ProjectsArea=Projects area @@ -29,6 +31,8 @@ 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 @@ -67,7 +71,7 @@ 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 ListActionsAssociatedProject=List of events associated with the project ActivityOnProjectThisWeek=Activity on project this week ActivityOnProjectThisMonth=Activity on project this month @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=A complete project's report model (logo...) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/uz_UZ/resource.lang b/htdocs/langs/uz_UZ/resource.lang new file mode 100644 index 00000000000..32bdd92f884 --- /dev/null +++ b/htdocs/langs/uz_UZ/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/uz_UZ/salaries.lang b/htdocs/langs/uz_UZ/salaries.lang new file mode 100644 index 00000000000..28c21adfad3 --- /dev/null +++ b/htdocs/langs/uz_UZ/salaries.lang @@ -0,0 +1,13 @@ +# 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 diff --git a/htdocs/langs/uz_UZ/sendings.lang b/htdocs/langs/uz_UZ/sendings.lang index 794c9019c86..b1ff55f71c1 100644 --- a/htdocs/langs/uz_UZ/sendings.lang +++ b/htdocs/langs/uz_UZ/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Qty ordered QtyShipped=Qty shipped QtyToShip=Qty to ship QtyReceived=Qty received -KeepToShip=Keep to ship +KeepToShip=Remain to ship OtherSendingsForSameOrder=Other shipments for this order DateSending=Date sending order DateSendingShort=Date sending order diff --git a/htdocs/langs/uz_UZ/stocks.lang b/htdocs/langs/uz_UZ/stocks.lang index 9de2e5a4dbe..29706d17615 100644 --- a/htdocs/langs/uz_UZ/stocks.lang +++ b/htdocs/langs/uz_UZ/stocks.lang @@ -47,6 +47,7 @@ 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 @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/uz_UZ/suppliers.lang b/htdocs/langs/uz_UZ/suppliers.lang index 7b4d4acb244..baf573c66ac 100644 --- a/htdocs/langs/uz_UZ/suppliers.lang +++ b/htdocs/langs/uz_UZ/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 diff --git a/htdocs/langs/uz_UZ/trips.lang b/htdocs/langs/uz_UZ/trips.lang index 4b0501a8346..ba36fc9b07b 100644 --- a/htdocs/langs/uz_UZ/trips.lang +++ b/htdocs/langs/uz_UZ/trips.lang @@ -1,22 +1,126 @@ # 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=Add 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 report 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 ? -TF_OTHER=Other -TF_LUNCH=Lunch -TF_TRIP=Trip -ListTripsAndExpenses=List of trips and expenses -ExpensesArea=Trips and expenses area -SearchATripAndExpense=Search a trip and expense +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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/vi_VN/admin.lang b/htdocs/langs/vi_VN/admin.lang index fb7efc64748..a88043962f5 100644 --- a/htdocs/langs/vi_VN/admin.lang +++ b/htdocs/langs/vi_VN/admin.lang @@ -8,6 +8,11 @@ VersionExperimental=Thį»­ nghiệm VersionDevelopment=PhĆ”t triển VersionUnknown=Chʰa rƵ VersionRecommanded=KhuyĆŖn dùng +FileCheck=Files Integrity +FilesMissing=Missing Files +FilesUpdated=Updated Files +FileCheckDolibarr=Check Dolibarr Files Integrity +XmlNotFound=Xml File of Dolibarr Integrity Not Found SessionId=Số thứ tį»± phiĆŖn lĆ m việc SessionSaveHandler=Quįŗ£n lý lʰu phiĆŖn lĆ m việc SessionSavePath=Chuyển ngữ phiĆŖn lĆ m việc lʰu trữ @@ -493,10 +498,16 @@ Module600Name=ThĆ“ng bĆ”o Module600Desc=Gį»­i thĆ“ng bĆ”o EMail trĆŖn mį»™t số sį»± kiện kinh doanh Dolibarr Ä‘į»ƒ liĆŖn hệ cį»§a bĆŖn thứ ba (thiįŗæt lįŗ­p được xĆ”c định trĆŖn mį»—i thirdparty) Module700Name=TĆ i trợ Module700Desc=Quįŗ£n lý tĆ i trợ +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 hį»™i nhįŗ­p Module1400Name=Kįŗæ toĆ”n Module1400Desc=Kįŗæ toĆ”n quįŗ£n trị (đƓi bĆŖn) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=Loįŗ”i Module1780Desc=Quįŗ£n lý danh mỄc (sįŗ£n phįŗ©m, nhĆ  cung cįŗ„p vĆ  khĆ”ch hĆ ng) Module2000Name=TrƬnh soįŗ”n thįŗ£o WYSIWYG @@ -631,7 +642,7 @@ Permission181=Äį»c đʔn đặt hĆ ng nhĆ  cung cįŗ„p Permission182=Tįŗ”o / chỉnh sį»­a đʔn đặt hĆ ng nhĆ  cung cįŗ„p Permission183=XĆ”c nhįŗ­n đʔn đặt hĆ ng nhĆ  cung cįŗ„p Permission184=PhĆŖ duyệt đʔn đặt hĆ ng nhĆ  cung cįŗ„p -Permission185=Đʔn đặt hĆ ng nhĆ  cung cįŗ„p thứ tį»± +Permission185=Order or cancel supplier orders Permission186=Nhįŗ­n đặt hĆ ng cung cįŗ„p Permission187=Đóng cį»­a cĆ”c đʔn đặt hĆ ng nhĆ  cung cįŗ„p Permission188=Hį»§y bį» đʔn đặt hĆ ng nhĆ  cung cįŗ„p @@ -711,6 +722,13 @@ Permission538=Xuįŗ„t dữ liệu Dịch vỄ Permission701=Äį»c thĆ“ng tin TĆ i trợ Permission702=Tįŗ”o / sį»­a đổi hiįŗæn Permission703=Xóa tĆ i trợ +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=Äį»c tồn kho Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=Mįŗ­t khįŗ©u Ä‘į»ƒ sį»­ dỄng mĆ”y chį»§ proxy DefineHereComplementaryAttributes=XĆ”c định đây tįŗ„t cįŗ£ cĆ”c thuį»™c tĆ­nh, khĆ“ng phįŗ£i đã có sįŗµn theo mįŗ·c định, vĆ  bįŗ”n muốn được hį»— trợ cho%s. ExtraFields=Thuį»™c tĆ­nh bổ sung ExtraFieldsLines=Thuį»™c tĆ­nh bổ sung (dòng) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=Thuį»™c tĆ­nh bổ sung (cį»§a bĆŖn thứ ba) ExtraFieldsContacts=Thuį»™c tĆ­nh bổ sung (liĆŖn lįŗ”c / địa chỉ) ExtraFieldsMember=Thuį»™c tĆ­nh bổ sung (thĆ nh viĆŖn) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=Mį»™t dòng sįŗ£n phįŗ©m / dịch vỄ vį»›i mį»™t s FreeLegalTextOnProposal=Miį»…n phĆ­ văn bįŗ£n trĆŖn đề xuįŗ„t thʰʔng mįŗ”i WatermarkOnDraftProposal=Watermark về dį»± thįŗ£o đề xuįŗ„t thʰʔng mįŗ”i (nįŗæu khĆ“ng có sįŗ£n phįŗ©m nĆ o) 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=Thiįŗæt lįŗ­p quįŗ£n lý đʔn hĆ ng OrdersNumberingModules=MĆ“ hƬnh đƔnh số đʔn hĆ ng @@ -1383,7 +1410,7 @@ BarcodeDescUPC=MĆ£ vįŗ”ch UPC loįŗ”i BarcodeDescISBN=Barcode loįŗ”i ISBN BarcodeDescC39=Barcode loįŗ”i C39 BarcodeDescC128=Barcode loįŗ”i C128 -GenbarcodeLocation=Thanh cĆ“ng cỄ dòng lệnh thįŗæ hệ mĆ£ (sį»­ dỄng động cĘ” nį»™i bį»™ đối vį»›i mį»™t số loįŗ”i mĆ£ vįŗ”ch) +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=Động cĘ” nį»™i bį»™ BarCodeNumberManager=Manager Ä‘į»ƒ tį»± động xĆ”c định số mĆ£ vįŗ”ch ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=TĆ i khoįŗ£n mįŗ·c định Ä‘į»ƒ sį»­ dỄng Ä‘į»ƒ nhįŗ­n thanh toĆ”n bįŗ±ng tiền mįŗ·t CashDeskBankAccountForCheque= TĆ i khoįŗ£n mįŗ·c định Ä‘į»ƒ sį»­ dỄng Ä‘į»ƒ nhįŗ­n thanh toĆ”n bįŗ±ng sĆ©c CashDeskBankAccountForCB= TĆ i khoįŗ£n mįŗ·c định Ä‘į»ƒ sį»­ dỄng Ä‘į»ƒ nhįŗ­n thanh toĆ”n bįŗ±ng thįŗ» tĆ­n dỄng -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=Thiįŗæt lįŗ­p mĆ“-đun Bookmark @@ -1569,3 +1597,7 @@ SortOrder=Sort order Format=Định dįŗ”ng TypePaymentDesc=0: Loįŗ”i khĆ”ch hĆ ng thanh toĆ”n 1: NhĆ  cung cįŗ„p phʰʔng thức thanh toĆ”n, 2: Cįŗ£ hai khĆ”ch hĆ ng vĆ  nhĆ  cung cįŗ„p loįŗ”i hƬnh thanh toĆ”n 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. diff --git a/htdocs/langs/vi_VN/banks.lang b/htdocs/langs/vi_VN/banks.lang index 284f998d741..0c65a74d4cb 100644 --- a/htdocs/langs/vi_VN/banks.lang +++ b/htdocs/langs/vi_VN/banks.lang @@ -33,7 +33,11 @@ AllTime=Từ đầu Reconciliation=Hòa giįŗ£i RIB=Số tĆ i khoįŗ£n ngĆ¢n hĆ ng IBAN=Số IBAN +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=BIC / SWIFT số +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=Đứng đʔn đặt hĆ ng StandingOrder=Lệnh chuyển tiền định Withdrawals=Tiền thu hồi @@ -148,7 +152,7 @@ BackToAccount=Trở lįŗ”i vĆ o tĆ i khoįŗ£n ShowAllAccounts=Hiển thị cho tįŗ„t cįŗ£ tĆ i khoįŗ£n FutureTransaction=Giao dịch trong futur. KhĆ“ng có cĆ”ch nĆ o Ä‘į»ƒ hoĆ  giįŗ£i. SelectChequeTransactionAndGenerate=Chį»n / kiểm tra bį»™ lį»c Ä‘į»ƒ đʰa vĆ o nhįŗ­n tiền gį»­i kiểm tra vĆ  bįŗ„m vĆ o "Create". -InputReceiptNumber=Chį»n kĆŖ ngĆ¢n hĆ ng liĆŖn quan đến hoĆ  giįŗ£i. Sį»­ dỄng mį»™t giĆ” trị số có thể phĆ¢n loįŗ”i (vĆ­ dỄ nhʰ, YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=Cuối cùng, chỉ định mį»™t danh mỄc trong đó Ä‘į»ƒ phĆ¢n loįŗ”i cĆ”c hồ sĘ” ToConciliate=HoĆ  giįŗ£i? ThenCheckLinesAndConciliate=Sau đó, kiểm tra những dòng hiện trong bĆ”o cĆ”o ngĆ¢n hĆ ng vĆ  nhįŗ„p diff --git a/htdocs/langs/vi_VN/bills.lang b/htdocs/langs/vi_VN/bills.lang index d30df986f9f..88ea5adf51f 100644 --- a/htdocs/langs/vi_VN/bills.lang +++ b/htdocs/langs/vi_VN/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=Thanh toĆ”n đã được thį»±c hiện PaymentsBackAlreadyDone=Thanh toĆ”n đã được thį»±c hiện trở lįŗ”i PaymentRule=Quy tįŗÆc thanh toĆ”n PaymentMode=Phʰʔng thức thanh toĆ”n -PaymentConditions=Thį»i hįŗ”n thanh toĆ”n -PaymentConditionsShort=Thį»i hįŗ”n thanh toĆ”n +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=Số tiền thanh toĆ”n ValidatePayment=XĆ”c nhįŗ­n thanh toĆ”n PaymentHigherThanReminderToPay=Thanh toĆ”n cao hĘ”n so vį»›i lį»i nhįŗÆc nhở phįŗ£i trįŗ£ diff --git a/htdocs/langs/vi_VN/commercial.lang b/htdocs/langs/vi_VN/commercial.lang index 438fc7048a3..d905b474831 100644 --- a/htdocs/langs/vi_VN/commercial.lang +++ b/htdocs/langs/vi_VN/commercial.lang @@ -62,7 +62,7 @@ LastProspectContactDone=LiĆŖn hệ vį»›i thį»±c hiện DateActionPlanned=NgĆ y lĆŖn kįŗæ hoįŗ”ch cho sį»± kiện DateActionDone=NgĆ y thį»±c hiện sį»± kiện ActionAskedBy=Tổ chức sį»± kiện bĆ”o cĆ”o cį»§a -ActionAffectedTo=Tổ chức sį»± kiện thuį»™c sở hữu cį»§a +ActionAffectedTo=Event assigned to ActionDoneBy=Sį»± kiện được thį»±c hiện bởi ActionUserAsk=BĆ”o cĆ”o cį»§a ErrorStatusCantBeZeroIfStarted=Nįŗæu trĘ°į»ng 'ngĆ y thį»±c hiện "được lĆ m đầy, hĆ nh động được bįŗÆt đầu (hoįŗ·c hoĆ n thĆ nh), do đó lÄ©nh vį»±c' Trįŗ”ng thĆ”i 'khĆ“ng thể lĆ  0 %%. diff --git a/htdocs/langs/vi_VN/contracts.lang b/htdocs/langs/vi_VN/contracts.lang index e5d7db9f1bb..b1434177727 100644 --- a/htdocs/langs/vi_VN/contracts.lang +++ b/htdocs/langs/vi_VN/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=Hįŗæt hįŗ”n ServiceStatusClosed=Đóng ServicesLegend=Dịch vỄ truyền thuyįŗæt Contracts=Hợp đồng +ContractsAndLine=Contracts and line of contracts Contract=Hợp đồng NoContracts=KhĆ“ng có hợp đồng MenuServices=Dịch vỄ diff --git a/htdocs/langs/vi_VN/cron.lang b/htdocs/langs/vi_VN/cron.lang index e72c787d499..20956d32a97 100644 --- a/htdocs/langs/vi_VN/cron.lang +++ b/htdocs/langs/vi_VN/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/vi_VN/errors.lang b/htdocs/langs/vi_VN/errors.lang index ae106155037..2f1ec444337 100644 --- a/htdocs/langs/vi_VN/errors.lang +++ b/htdocs/langs/vi_VN/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=Nguồn tĆ i khoįŗ£n ngĆ¢n hĆ ng vĆ  cĆ”c mỄc t ErrorBadThirdPartyName=Bad giĆ” trị so vį»›i tĆŖn cį»§a bĆŖn thứ ba ErrorProdIdIsMandatory=% S lĆ  bįŗÆt buį»™c ErrorBadCustomerCodeSyntax=Bad cĆŗ phĆ”p cho mĆ£ khĆ”ch hĆ ng -ErrorBadBarCodeSyntax=Bad cĆŗ phĆ”p mĆ£ vįŗ”ch +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=MĆ£ khĆ”ch hĆ ng yĆŖu cįŗ§u ErrorBarCodeRequired=MĆ£ vįŗ”ch yĆŖu cįŗ§u ErrorCustomerCodeAlreadyUsed=MĆ£ số khĆ”ch hĆ ng đã sį»­ dỄng @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=Javascript khĆ“ng được vĆ“ hiệu hóa Ä‘į»ƒ l ErrorPasswordsMustMatch=Cįŗ£ hai mįŗ­t khįŗ©u gƵ phįŗ£i phù hợp vį»›i nhau ErrorContactEMail=Mį»™t lį»—i kỹ thuįŗ­t xįŗ£y ra. Xin vui lòng liĆŖn hệ vį»›i quįŗ£n trị viĆŖn Ä‘į»ƒ sau email% s en cung cįŗ„p cĆ”c mĆ£ lį»—i% s trong thĆ“ng điệp cį»§a bįŗ”n, hoįŗ·c thįŗ­m chĆ­ tốt hĘ”n bįŗ±ng cĆ”ch thĆŖm mį»™t bįŗ£n sao mĆ n hƬnh cį»§a trang nĆ y. ErrorWrongValueForField=GiĆ” trị sai số cho lÄ©nh vį»±c% s (giĆ” trị '% s' khĆ“ng phù hợp vį»›i quy tįŗÆc regex% s) -ErrorFieldValueNotIn=GiĆ” trị sai số cho lÄ©nh vį»±c% s (giĆ” trị '% s' khĆ“ng phįŗ£i lĆ  mį»™t giĆ” trị có sįŗµn vĆ o lÄ©nh vį»±c% s cį»§a bįŗ£ng% s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=GiĆ” trị sai số cho lÄ©nh vį»±c% s (giĆ” trị '% s' khĆ“ng phįŗ£i lĆ  ref hiện% s) ErrorsOnXLines=Lį»—i được ghi nhįŗ­n nguồn% s (s) ErrorFileIsInfectedWithAVirus=CĆ”c chʰʔng trƬnh chống virus đã khĆ“ng thể xĆ”c nhįŗ­n cĆ”c tįŗ­p tin (tįŗ­p tin có thể bị nhiį»…m bởi mį»™t loįŗ”i virus) @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/vi_VN/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/vi_VN/install.lang b/htdocs/langs/vi_VN/install.lang index efc226e1a58..168fcac4a45 100644 --- a/htdocs/langs/vi_VN/install.lang +++ b/htdocs/langs/vi_VN/install.lang @@ -156,6 +156,7 @@ LastStepDesc=Bước cuối cùng: XĆ”c định đây đăng nh ActivateModule=KĆ­ch hoįŗ”t module %s ShowEditTechnicalParameters=Click vĆ o đây Ä‘į»ƒ hiển thị cĆ”c thĆ“ng số tiĆŖn tiįŗæn / chỉnh sį»­a (chįŗæ độ chuyĆŖn mĆ“n) 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 diff --git a/htdocs/langs/vi_VN/main.lang b/htdocs/langs/vi_VN/main.lang index 363fd296611..62ee8e2af29 100644 --- a/htdocs/langs/vi_VN/main.lang +++ b/htdocs/langs/vi_VN/main.lang @@ -141,6 +141,7 @@ Cancel=Hį»§y bį» Modify=Sį»­a đổi Edit=Chỉnh sį»­a Validate=XĆ”c nhįŗ­n +ValidateAndApprove=Validate and Approve ToValidate=Để xĆ”c nhįŗ­n Save=Lʰu SaveAs=Save As @@ -158,6 +159,7 @@ Search=TƬm kiįŗæm SearchOf=TƬm kiįŗæm Valid=Hợp lệ Approve=PhĆŖ duyệt +Disapprove=Disapprove ReOpen=Re-Open Upload=Gį»­i tįŗ­p tin ToLink=LiĆŖn kįŗæt @@ -219,6 +221,7 @@ Cards=Thįŗ» Card=Thįŗ» Now=BĆ¢y giį» Date=NgĆ y +DateAndHour=Date and hour DateStart=NgĆ y bįŗÆt đầu DateEnd=NgĆ y kįŗæt thĆŗc DateCreation=NgĆ y tįŗ”o @@ -295,6 +298,7 @@ UnitPriceHT=Đʔn giĆ” (net) UnitPriceTTC=Đʔn giĆ” PriceU=UP PriceUHT=UP (net) +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=UP Amount=Số tiền AmountInvoice=Lượng hóa đʔn @@ -521,6 +525,7 @@ DateFromTo=Từ %s đến %s DateFrom=Từ% s DateUntil=Cho đến% s Check=Kiểm tra +Uncheck=Uncheck Internal=Nį»™i bį»™ External=BĆŖn ngoĆ i Internals=Nį»™i bį»™ @@ -688,6 +693,7 @@ PublicUrl=URL cĆ“ng cį»™ng AddBox=ThĆŖm vĆ o hį»™p SelectElementAndClickRefresh=Chį»n mį»™t phįŗ§n tį»­ vĆ  nhįŗ„n Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=Thứ hai Tuesday=Thứ ba diff --git a/htdocs/langs/vi_VN/orders.lang b/htdocs/langs/vi_VN/orders.lang index 735f5774e4f..16df451c547 100644 --- a/htdocs/langs/vi_VN/orders.lang +++ b/htdocs/langs/vi_VN/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=Đã bị hį»§y StatusOrderDraft=NhĆ”p (cįŗ§n phįŗ£i được xĆ”c nhįŗ­n) StatusOrderValidated=XĆ”c nhįŗ­n StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=Đã xį»­ lý StatusOrderToBill=Đã giao hĆ ng StatusOrderToBill2=Thanh toĆ”n @@ -58,6 +59,7 @@ MenuOrdersToBill=Đʔn hĆ ng đã giao MenuOrdersToBill2=Billable orders SearchOrder=TƬm kiįŗæm đʔn hĆ ng SearchACustomerOrder=TƬm kiįŗæm mį»™t đʔn đặt hĆ ng +SearchASupplierOrder=Search a supplier order ShipProduct=Ship product Discount=Giįŗ£m giĆ” CreateOrder=Tįŗ”o đʔn hĆ ng diff --git a/htdocs/langs/vi_VN/other.lang b/htdocs/langs/vi_VN/other.lang index a87e0bbfbcb..7bbe0059342 100644 --- a/htdocs/langs/vi_VN/other.lang +++ b/htdocs/langs/vi_VN/other.lang @@ -54,12 +54,13 @@ MaxSize=KĆ­ch thước tối đa AttachANewFile=Đƭnh kĆØm mį»™t tįŗ­p tin mį»›i / tĆ i liệu LinkedObject=Đối tượng liĆŖn quan Miscellaneous=Linh tinh -NbOfActiveNotifications=Số thĆ“ng bĆ”o +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=Đây lĆ  mį»™t email thį»­ nghiệm. Hai dòng được phĆ¢n cĆ”ch bįŗ±ng mį»™t trở về vįŗ­n chuyển. __SIGNATURE__ PredefinedMailTestHtml=Đây lĆ  mį»™t thʰ kiểm tra (kiểm tra từ phįŗ£i được in đậm).
    Hai dòng được phĆ¢n cĆ”ch bįŗ±ng mį»™t trở về vįŗ­n chuyển.

    __SIGNATURE__ PredefinedMailContentSendInvoice=__CONTACTCIVNAME__ Bįŗ”n sįŗ½ tƬm thįŗ„y ở đây cĆ”c hóa đʔn __FACREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendInvoiceReminder=__CONTACTCIVNAME__ ChĆŗng tĆ“i muốn cįŗ£nh bĆ”o bįŗ”n rįŗ±ng __FACREF__ hóa đʔn dĘ°į»ng nhʰ khĆ“ng được payed. VƬ vįŗ­y, đây lĆ  hóa đʔn kĆØm mį»™t lįŗ§n nữa, nhʰ mį»™t lį»i nhįŗÆc nhở. __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendProposal=__CONTACTCIVNAME__ Bįŗ”n sįŗ½ tƬm thįŗ„y ở đây đề nghị thʰʔng mįŗ”i __PROPREF__ __PERSONALIZED__Sincerely __SIGNATURE__ +PredefinedMailContentSendAskPriceSupplier=__CONTACTCIVNAME__\n\nYou will find here the price request __ASKREF__\n\n__PERSONALIZED__Sincerely\n\n__SIGNATURE__ PredefinedMailContentSendOrder=__CONTACTCIVNAME__ Bįŗ”n sįŗ½ tƬm thįŗ„y ở đây thứ tį»± __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendSupplierOrder=__CONTACTCIVNAME__ Bįŗ”n sįŗ½ tƬm thįŗ„y ở đây Ä‘į»ƒ chĆŗng tĆ“i __ORDERREF__ __PERSONALIZED__Sincerely __SIGNATURE__ PredefinedMailContentSendSupplierInvoice=__CONTACTCIVNAME__ Bįŗ”n sįŗ½ tƬm thįŗ„y ở đây cĆ”c hóa đʔn __FACREF__ __PERSONALIZED__Sincerely __SIGNATURE__ diff --git a/htdocs/langs/vi_VN/printing.lang b/htdocs/langs/vi_VN/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/vi_VN/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/vi_VN/productbatch.lang +++ b/htdocs/langs/vi_VN/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/vi_VN/products.lang b/htdocs/langs/vi_VN/products.lang index ec161d09574..4278c8abe94 100644 --- a/htdocs/langs/vi_VN/products.lang +++ b/htdocs/langs/vi_VN/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/vi_VN/projects.lang b/htdocs/langs/vi_VN/projects.lang index d06e3d14f88..f818741658b 100644 --- a/htdocs/langs/vi_VN/projects.lang +++ b/htdocs/langs/vi_VN/projects.lang @@ -8,8 +8,10 @@ SharedProject=Mį»i ngĘ°į»i PrivateProject=LiĆŖn lįŗ”c về dį»± Ć”n MyProjectsDesc=Phįŗ§n xem nĆ y được giį»›i hįŗ”n vį»›i từng dį»± Ć”n phỄ thuį»™c vĆ o phįŗ§n bįŗ”n có liĆŖn hệ vį»›i (đối vį»›i bįŗ„t kỳ loįŗ”i dį»± Ć”n nĆ o). ProjectsPublicDesc=Phįŗ§n xem nĆ y hiển thị tįŗ„t cįŗ£ cĆ”c dį»± Ć”n mĆ  bįŗ”n đã theo dƵi. +ProjectsPublicTaskDesc=This view presents all projects and tasks you are allowed to read. ProjectsDesc=Phįŗ§n xem nĆ y hiển thị tįŗ„t cįŗ£ cĆ”c dį»± Ć”n (quyền ngĘ°į»i dùng hiện tįŗ”i cį»§a bįŗ”n được phĆ©p xem chi tiįŗæt 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=Only opened projects are visible (projects with 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 theo dƵi. 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). ProjectsArea=Khu vį»±c dį»± Ć”n @@ -29,6 +31,8 @@ NoProject=KhĆ“ng có dį»± Ć”n nĆ o được định lược hoįŗ·c sở hữu NbOpenTasks=Nb cį»§a tĆ”c vỄ được mở NbOfProjects=Nb cį»§a dį»± Ć”n TimeSpent=Thį»i gian đã qua +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=Thį»i gian đã qua RefTask=TĆ”c vỄ tham chiįŗæu LabelTask=NhĆ£n cį»§a tĆ”c vỄ @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=Danh sĆ”ch cĆ”c đʔn đặt hĆ ng từ nhĆ  ListSupplierInvoicesAssociatedProject=Danh sĆ”ch cĆ”c hóa đʔn cį»§a nhĆ  cung cįŗ„p được gįŗÆn vį»›i dį»± Ć”n ListContractAssociatedProject=Danh sĆ”ch cĆ”c hợp đồng được gįŗÆn vį»›i dį»± Ć”n ListFichinterAssociatedProject=Danh sĆ”ch cĆ”c sį»± can thiệp được gįŗÆn vį»›i dį»± Ć”n -ListTripAssociatedProject=Danh sĆ”ch cĆ”c chuyįŗæn đi vĆ  chi phĆ­ cĆ“ng tĆ”c gįŗÆn vį»›i dį»± Ć”n +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=Danh sĆ”ch cĆ”c hoįŗ”t động được gįŗÆn vį»›i dį»± Ć”n ActivityOnProjectThisWeek=CĆ”c hoįŗ”t động cį»§a dį»± Ć”n trong tuįŗ§n nĆ y ActivityOnProjectThisMonth=CĆ”c hoįŗ”t động cį»§a dį»± Ć”n trong thĆ”ng nĆ y @@ -126,10 +130,15 @@ AddElement=LiĆŖn kįŗæt đến yįŗæu tố UnlinkElement=Yįŗæu tố Bį» liĆŖn kįŗæt # Documents models DocumentModelBaleine=MĆ“ hƬnh bĆ”o cĆ”o hoĆ n chỉnh cį»§a dį»± Ć”n (lĆ“gĆ“...) -PlannedWorkload = Tįŗ£i tiįŗæn trƬnh cĆ“ng việc đã dį»± định -WorkloadOccupation= Sį»­ dỄng tiįŗæn trƬnh cĆ“ng việc +PlannedWorkload=Tįŗ£i tiįŗæn trƬnh cĆ“ng việc đã dį»± định +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation 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 đầu tiĆŖn ProjectDraft=Dį»± thįŗ£o dį»± Ć”n FirstAddRessourceToAllocateTime=Kįŗæt hợp mį»™t ressource Ä‘į»ƒ phĆ¢n bổ thį»i gian +InputPerDay=Input per day +InputPerWeek=Input per week +InputPerAction=Input per action +TimeAlreadyRecorded=Time spent already recorded for this task/day and user %s diff --git a/htdocs/langs/vi_VN/salaries.lang b/htdocs/langs/vi_VN/salaries.lang index a709c52f7a5..0568daa4efe 100644 --- a/htdocs/langs/vi_VN/salaries.lang +++ b/htdocs/langs/vi_VN/salaries.lang @@ -10,3 +10,4 @@ SalariesPayments=Lʰʔng thanh toĆ”n 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 diff --git a/htdocs/langs/vi_VN/sendings.lang b/htdocs/langs/vi_VN/sendings.lang index 94e807f91b5..c6581043f86 100644 --- a/htdocs/langs/vi_VN/sendings.lang +++ b/htdocs/langs/vi_VN/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=Số lượng đặt hĆ ng QtyShipped=Số lượng vįŗ­n chuyển QtyToShip=Số lượng xuįŗ„t xưởng QtyReceived=Số lượng nhįŗ­n được -KeepToShip=Giữ tĆ u +KeepToShip=Remain to ship OtherSendingsForSameOrder=LĆ“ hĆ ng khĆ”c về đʔn hĆ ng nĆ y DateSending=NgĆ y gį»­i đʔn đặt hĆ ng DateSendingShort=NgĆ y gį»­i đʔn đặt hĆ ng diff --git a/htdocs/langs/vi_VN/stocks.lang b/htdocs/langs/vi_VN/stocks.lang index a78e65a63b8..656a87714c5 100644 --- a/htdocs/langs/vi_VN/stocks.lang +++ b/htdocs/langs/vi_VN/stocks.lang @@ -47,6 +47,7 @@ PMPValue=GiĆ” bƬnh quĆ¢n gia quyền PMPValueShort=WAP EnhancedValueOfWarehouses=CĆ”c kho hĆ ng giĆ” trị UserWarehouseAutoCreate=Tįŗ”o mį»™t kho tį»± động khi tįŗ”o mį»™t ngĘ°į»i sį»­ dỄng +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=Số lượng cį»­ QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ 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=Đây lĆ  danh sĆ”ch cį»§a tįŗ„t cįŗ£ cĆ”c đʔn đặt hĆ ng nhĆ  cung cįŗ„p mở +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=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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/vi_VN/suppliers.lang b/htdocs/langs/vi_VN/suppliers.lang index 44feaea27fe..bd00d3e0e7b 100644 --- a/htdocs/langs/vi_VN/suppliers.lang +++ b/htdocs/langs/vi_VN/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=NhĆ  cung cįŗ„p -Supplier=NhĆ  cung cįŗ„p AddSupplier=Tįŗ”o mį»™t nhĆ  cung cįŗ„p SupplierRemoved=NhĆ  cung cįŗ„p loįŗ”i bį» SuppliersInvoice=NhĆ  cung cįŗ„p hóa đʔn @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=HoĆ” đʔn vĆ  cĆ”c khoįŗ£n thanh toĆ”n nhĆ  cung c ExportDataset_fournisseur_3=Đʔn đặt hĆ ng nhĆ  cung cįŗ„p vĆ  cĆ”c dòng lệnh ApproveThisOrder=Chįŗ„p thuįŗ­n đʔn hĆ ng nĆ y ConfirmApproveThisOrder=Bįŗ”n Bįŗ”n có chįŗÆc chįŗÆn muốn chįŗ„p nhįŗ­n Ä‘į»ƒ% s? -DenyingThisOrder=Phį»§ nhįŗ­n thứ tį»± nĆ y +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=Bįŗ”n có chįŗÆc chįŗÆn bįŗ”n muốn từ chối lệnh nĆ y% s? ConfirmCancelThisOrder=Bįŗ”n có chįŗÆc chįŗÆn bįŗ”n muốn hį»§y bį» lệnh nĆ y% s? AddCustomerOrder=Tįŗ”o đʔn đặt hĆ ng diff --git a/htdocs/langs/vi_VN/trips.lang b/htdocs/langs/vi_VN/trips.lang index 98314aea027..10710992222 100644 --- a/htdocs/langs/vi_VN/trips.lang +++ b/htdocs/langs/vi_VN/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=Chuyįŗæn đi -Trips=CĆ”c chuyįŗæn đi -TripsAndExpenses=CĆ”c chuyįŗæn đi vĆ  cĆ”c chi phĆ­ -TripsAndExpensesStatistics=CĆ”c chuyįŗæn đi vĆ  cĆ”c chi phĆ­ thống kĆŖ -TripCard=Thįŗ» đi -AddTrip=ThĆŖm chuyįŗæn đi -ListOfTrips=Danh sĆ”ch cĆ”c chuyįŗæn đi +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=Danh sĆ”ch phĆ­ -NewTrip=Chuyįŗæn đi mį»›i +NewTrip=New expense report CompanyVisited=CĆ“ng ty / cĘ” sở thăm Kilometers=Km FeesKilometersOrAmout=Số tiền hoįŗ·c km -DeleteTrip=Xóa đi -ConfirmDeleteTrip=Bįŗ”n Bįŗ”n có chįŗÆc chįŗÆn muốn xóa chuyįŗæn đi nĆ y? -TF_OTHER=KhĆ”c -TF_LUNCH=Ăn trʰa -TF_TRIP=Chuyįŗæn đi -ListTripsAndExpenses=Danh sĆ”ch cĆ”c chuyįŗæn đi vĆ  cĆ”c chi phĆ­ -ExpensesArea=Chi phĆ­ chuyįŗæn đi vĆ  khu vį»±c -SearchATripAndExpense=TƬm kiįŗæm mį»™t chuyįŗæn đi vĆ  chi phĆ­ +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=PhĆ¢n loįŗ”i 'hoĆ n trįŗ£' +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=KhĆ”c +TF_TRANSPORTATION=Transportation +TF_LUNCH=Ăn trʰa +TF_METRO=Metro +TF_TRAIN=Train +TF_BUS=Bus +TF_CAR=Car +TF_PEAGE=Toll +TF_ESSENCE=Fuel +TF_HOTEL=Hostel +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 +AddLineMini=Add + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/zh_CN/admin.lang b/htdocs/langs/zh_CN/admin.lang index ed3f62b3a6c..150b021dcae 100644 --- a/htdocs/langs/zh_CN/admin.lang +++ b/htdocs/langs/zh_CN/admin.lang @@ -8,6 +8,11 @@ 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=ä¼ščÆ ID SessionSaveHandler=ä¼ščÆäæå­˜å¤„ē†ēØ‹åŗ SessionSavePath=å­˜å‚Øä¼ščÆęœ¬åœ°åŒ– @@ -493,10 +498,16 @@ Module600Name=é€šēŸ„ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=ęčµ  Module700Desc=ęę¬¾ēš„ē®”ē† +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 ę•“åˆ Module1400Name=会讔 Module1400Desc=ä¼šč®”ē®”ē†(åŒę–¹) +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=åˆ†ē±» Module1780Desc=åˆ†ē±»ēš„ē®”ē†(äŗ§å“ć€ä¾›åŗ”å•†å’Œå®¢ęˆ·) Module2000Name=ę‰€č§å³ę‰€å¾—ē¼–č¾‘å™Ø @@ -631,7 +642,7 @@ Permission181=čÆ»å–é‡‡č“­č®¢å• Permission182=建立/äæ®ę”¹é‡‡č“­č®¢å• Permission183=ē”®č®¤ä¾›é‡‡č“­č®¢å• Permission184=ę‰¹å‡†é‡‡č“­č®¢å• -Permission185=ę•“ē†é‡‡č“­č®¢å• +Permission185=Order or cancel supplier orders Permission186=ęŽ„ę”¶é‡‡č“­č®¢å• Permission187=å…³é—­é‡‡č“­č®¢å• Permission188=å–ę¶ˆé‡‡č“­č®¢å• @@ -711,6 +722,13 @@ Permission538=åÆ¼å‡ŗęœåŠ” Permission701=čÆ»å–ęę¬¾čµ„č®Æ Permission702=建立/äæ®ę”¹ęę¬¾čµ„č®Æ Permission703=åˆ é™¤ęę¬¾čµ„č®Æ +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=čÆ»å–åŗ“å­˜čµ„č®Æ Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ä½æē”Øä»£ē†ęœåŠ”å™Øēš„åÆ†ē  DefineHereComplementaryAttributes=ę­¤å¤„å®šä¹‰ę‰€ęœ‰é»˜č®¤å®‰č£…äø­ę²”ęœ‰ļ¼Œä½†ę‚ØåˆåøŒęœ›čƒ½åœØ %s äø­ä½æē”Øēš„å±žę€§ć€‚ ExtraFields=č‡Ŗå®šä¹‰å¢žč”„å±žę€§ ExtraFieldsLines=å¢žč”„å±žę€§ (č”Œåˆ—) +ExtraFieldsSupplierOrdersLines=Complementary attributes (order lines) +ExtraFieldsSupplierInvoicesLines=Complementary attributes (invoice lines) ExtraFieldsThirdParties=å¢žč”„å±žę€§ (å¾€ę„å•ä½) ExtraFieldsContacts=å¢žč”„å±žę€§ (联系人/地址) ExtraFieldsMember=å¢žč”„å±žę€§ (ęˆå‘˜) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=å®šé‡äøŗ0ēš„äŗ§å“ęˆ–ęœåŠ”é”¹č§†äøŗåÆé€‰é”¹* FreeLegalTextOnProposal=ęŠ„ä»·å•äø­ēš„é¢å¤–čÆ“ę˜Žę–‡ęœ¬ WatermarkOnDraftProposal=äøŗå•†äøšč®”åˆ’ä¹¦č‰ę”ˆę·»åŠ ę°“å°(å¦‚ęžœē©ŗ) 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=č®¢å•ē®”ē†č®¾ē½® OrdersNumberingModules=č®¢å•ē¼–å·ęØ”å— @@ -1383,7 +1410,7 @@ BarcodeDescUPC=é€šē”Øäŗ§å“ę”ē (UPC) BarcodeDescISBN=ISBN ä¹¦ē±ę”ē  BarcodeDescC39=Code 39 ę”ē  BarcodeDescC128=Code 128 ę”ē  -GenbarcodeLocation=ę”å½¢ē ē”Ÿęˆē”Øēš„å‘½ä»¤č”Œå·„å…· (å†…éƒØå¼•ę“Žē”Øę„ē”ŸęˆęŸäŗ›ē±»åž‹ēš„ę”ē ) +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 ##### Prelevements ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=ęŽ„ę”¶ēŽ°é‡‘ä»˜ę¬¾ēš„é»˜č®¤åøęˆ· CashDeskBankAccountForCheque= ęŽ„ę”¶ę”Æē„Øä»˜ę¬¾ēš„é»˜č®¤åøęˆ· CashDeskBankAccountForCB= ęŽ„ę”¶äæ”ē”Øå”ę”Æä»˜ēš„é»˜č®¤åøęˆ· -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=ä¹¦ē­¾ęØ”å—č®¾ē½® @@ -1569,3 +1597,7 @@ SortOrder=Sort order Format=ę ¼å¼ TypePaymentDesc=0ļ¼šå®¢ęˆ·ę”Æä»˜ē±»åž‹ļ¼Œ1ļ¼šä¾›åŗ”å•†ę”Æä»˜ē±»åž‹ļ¼Œ2ļ¼šå®¢ęˆ·å’Œä¾›åŗ”å•†ēš„ä»˜ę¬¾ę–¹å¼ 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. diff --git a/htdocs/langs/zh_CN/banks.lang b/htdocs/langs/zh_CN/banks.lang index a5c26c5a4ac..906138fb720 100644 --- a/htdocs/langs/zh_CN/banks.lang +++ b/htdocs/langs/zh_CN/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=å’Œč§£ RIB=é“¶č”Œåøå· IBAN=IBANå·ē  +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=ēš„BIC / SWIFTēš„å·ē  +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=åøøå¹“č®¢å• StandingOrder=é•æęœŸč®¢å• Withdrawals=ęę¬¾ @@ -148,7 +152,7 @@ BackToAccount=å›žåˆ°åøęˆ· ShowAllAccounts=ę˜¾ē¤ŗę‰€ęœ‰åøęˆ· FutureTransaction=在FUTURēš„äŗ¤ę˜“ć€‚č°ƒč§£ę²”ęœ‰åŠžę³•ć€‚ SelectChequeTransactionAndGenerate=选ꋩ/čæ‡ę»¤å™Øę£€ęŸ„ēŗ³å…„ę”Æē„Øå­˜ę¬¾ę”¶ę®ļ¼Œå¹¶å•å‡»ā€œåˆ›å»ŗā€ć€‚ -InputReceiptNumber=é€‰ę‹©ē”ØäŗŽč°ƒč§£ēš„é“¶č”ŒåÆ¹åøå•ć€‚ä½æē”ØęŽ’åŗēš„ę•°å€¼(如YYYYMM) +InputReceiptNumber=Choose the bank statement related with the conciliation. Use a sortable numeric value: YYYYMM or YYYYMMDD EventualyAddCategory=ęœ€åŽļ¼ŒęŒ‡å®šäø€äøŖčŒƒē•“åÆ¹å…¶äø­ēš„č®°å½•čæ›č”Œåˆ†ē±» ToConciliate=å–å¾—č°…č§£ļ¼Ÿ ThenCheckLinesAndConciliate=ē„¶åŽęŒ‰äø€äø‹ļ¼Œčæžēŗæę£€ęŸ„é“¶č”ŒåÆ¹č“¦å•ć€‚ diff --git a/htdocs/langs/zh_CN/bills.lang b/htdocs/langs/zh_CN/bills.lang index 873e55377a3..3f1380ab37d 100644 --- a/htdocs/langs/zh_CN/bills.lang +++ b/htdocs/langs/zh_CN/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=付款已完成 PaymentsBackAlreadyDone=čæ”å›žå·²ē»å®Œęˆä»˜ę¬¾ PaymentRule=ä»˜ę¬¾č§„åˆ™ PaymentMode=ä»˜ę¬¾ę–¹å¼ -PaymentConditions=ä»˜ę¬¾ę–¹å¼ -PaymentConditionsShort=ä»˜ę¬¾ę–¹å¼ +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=ä»˜ę¬¾é‡‘é¢ ValidatePayment=验证付款 PaymentHigherThanReminderToPay=ä»˜ę¬¾ę”Æä»˜ę›“é«˜ēš„ęÆ”ęé†’ diff --git a/htdocs/langs/zh_CN/commercial.lang b/htdocs/langs/zh_CN/commercial.lang index 13a864bb130..6a88865a84e 100644 --- a/htdocs/langs/zh_CN/commercial.lang +++ b/htdocs/langs/zh_CN/commercial.lang @@ -9,9 +9,9 @@ Prospect=å±•ęœ› Prospects=前途 DeleteAction=åˆ é™¤äø€äøŖåŠØä½œ/任劔 NewAction=ę–°ēš„č”ŒåŠØ/任劔 -AddAction=ę–°å¢žč”ŒåŠØ/任劔 -AddAnAction=ę·»åŠ äø€äøŖåŠØä½œ/任劔 -AddActionRendezVous=添加交会任劔 +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=会合 ConfirmDeleteAction=ä½ ē”®å®šč¦åˆ é™¤čæ™äøŖä»»åŠ”å—ļ¼Ÿ CardAction=č”ŒåŠØå” @@ -44,8 +44,8 @@ DoneActions=å·²å®Œęˆēš„č”ŒåŠØ DoneActionsFor=äøŗ%完成01-0014-03 ToDoActions=äøå®Œę•“ēš„č”ŒåŠØ ToDoActionsFor=äøå®Œå…ØåÆ¹%01-0014-03 -SendPropalRef=%sēš„å‘é€å•†äøšå»ŗč®® -SendOrderRef=发送命令%sēš„ +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=äøé€‚ē”Ø StatusActionToDo=要做到 StatusActionDone=完成 @@ -62,7 +62,7 @@ LastProspectContactDone=č”ē³»å·„ä½œ DateActionPlanned=ę—„ęœŸč”ŒåŠØč®”åˆ’ DateActionDone=ę—„ęœŸč”ŒåŠØå®Œęˆ ActionAskedBy=č”ŒåŠØé—® -ActionAffectedTo=å—å½±å“ēš„č”ŒåŠØ +ActionAffectedTo=Event assigned to ActionDoneBy=č”ŒåŠØę–¹é¢ę‰€åšēš„ ActionUserAsk=记录 ErrorStatusCantBeZeroIfStarted=å¦‚ęžœå­—ę®µ' ę—„ęœŸåš 'ę˜Æå……ę»”č”ŒåŠØåÆåŠØļ¼ˆęˆ–ęˆå“ļ¼‰ļ¼Œę‰€ä»„å¤–åœ°ēš„ēŠ¶ę€ 'äøčƒ½äøŗ0%%怂 diff --git a/htdocs/langs/zh_CN/contracts.lang b/htdocs/langs/zh_CN/contracts.lang index b5ccca60cad..6e3696d7cb2 100644 --- a/htdocs/langs/zh_CN/contracts.lang +++ b/htdocs/langs/zh_CN/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=čæ‡ęœŸ ServiceStatusClosed=关闭 ServicesLegend=ęœåŠ”ēš„ä¼ čÆ“ Contracts=合同 +ContractsAndLine=Contracts and line of contracts Contract=合同 NoContracts=ę²”ęœ‰åˆåŒ MenuServices=ęœåŠ” diff --git a/htdocs/langs/zh_CN/cron.lang b/htdocs/langs/zh_CN/cron.lang index 6c5880d43a0..2cc313aad59 100644 --- a/htdocs/langs/zh_CN/cron.lang +++ b/htdocs/langs/zh_CN/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/zh_CN/errors.lang b/htdocs/langs/zh_CN/errors.lang index bae0d3f806d..e4adeba918d 100644 --- a/htdocs/langs/zh_CN/errors.lang +++ b/htdocs/langs/zh_CN/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=ęŗå’Œē›®ę ‡ēš„é“¶č”Œåøęˆ·åæ…é”»ę˜ÆäøåŒēš„ć€‚ ErrorBadThirdPartyName=åē¬¬äø‰č€…åä¹‰ä»·å€¼ ErrorProdIdIsMandatory=%s ę˜Æå¼ŗåˆ¶ę€§ēš„ ErrorBadCustomerCodeSyntax=åå®¢ęˆ·ä»£ē ēš„čÆ­ę³• -ErrorBadBarCodeSyntax=Bad syntax for bar 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=å®¢ęˆ·ä»£ē éœ€č¦ ErrorBarCodeRequired=éœ€č¦ę”å½¢ē  ErrorCustomerCodeAlreadyUsed=å®¢ęˆ·ä»£ē å·²č¢«ä½æē”Ø @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=äøčƒ½ē¦ē”ØJavaScriptåæ…é”»ęœ‰ę­¤åŠŸčƒ½ēš„å·„ä½œ ErrorPasswordsMustMatch=čæ™äø¤ē§ē±»åž‹ēš„åÆ†ē åæ…é”»ē›øäŗ’åŒ¹é… ErrorContactEMail=äø€äøŖęŠ€ęœÆę€§é”™čÆÆå‘ē”Ÿć€‚čÆ·č”ē³»ē®”ē†å‘˜ļ¼Œä»„äø‹čæžęŽ„ęä¾›é”™čÆÆä»£ē %såœØę‚Øēš„é‚®ä»¶ļ¼Œē”šč‡³ę›“å„½ļ¼ŒåŠ å…„äŗ†čæ™äøŖé”µé¢ēš„å±å¹•ę‹·č“ēš„ē”µå­é‚®ä»¶%s怂 ErrorWrongValueForField=s'ēš„é¢†åŸŸēš„äø€äŗ›é”™čÆÆå€¼ēš„%sļ¼ˆä»·å€¼'%äøåŒ¹é…ę­£åˆ™č”Øč¾¾å¼č§„åˆ™%s) -ErrorFieldValueNotIn=åœŗę•°%sé”™čÆÆå€¼ļ¼ˆå€¼'%s'ę˜Æäøę˜Æäø€äøŖå€¼åˆ°é¢†åŸŸč”Ø%s %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=é”™åœŗę•°%så€¼ļ¼ˆå€¼'%s'ę˜Æäøę˜Æäø€äøŖēš„%sēŽ°ęœ‰ę–‡ēŒ®ļ¼‰ ErrorsOnXLines=%čÆÆå·®ēš„ęŗäøŠēŗæ ErrorFileIsInfectedWithAVirus=é˜²ē—…ęÆ’ēØ‹åŗę— ę³•éŖŒčÆę–‡ä»¶ļ¼ˆę–‡ä»¶åÆčƒ½č¢«ē—…ęÆ’ę„ŸęŸ“ļ¼‰ @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # Warnings WarningMandatorySetupNotComplete=å¼ŗåˆ¶č®¾ē½®å‚ę•°å°šęœŖå®šä¹‰ diff --git a/htdocs/langs/zh_CN/incoterm.lang b/htdocs/langs/zh_CN/incoterm.lang new file mode 100644 index 00000000000..2396d2acb0e --- /dev/null +++ b/htdocs/langs/zh_CN/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/zh_CN/install.lang b/htdocs/langs/zh_CN/install.lang index fa94910fb70..9b2b50d9249 100644 --- a/htdocs/langs/zh_CN/install.lang +++ b/htdocs/langs/zh_CN/install.lang @@ -156,6 +156,7 @@ LastStepDesc=ęœ€åŽäø€ę­„ ļ¼šę­¤å¤„å®šä¹‰ēš„ē™»å½•åå’ŒåÆ†ē  ActivateModule=ęæ€ę“»ęØ”å—%s ShowEditTechnicalParameters=ē‚¹å‡»ę­¤å¤„ę˜¾ē¤ŗ/ē¼–č¾‘é«˜ēŗ§å‚ę•°ļ¼ˆäø“å®¶ęØ”å¼ļ¼‰ 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 diff --git a/htdocs/langs/zh_CN/main.lang b/htdocs/langs/zh_CN/main.lang index e46b3e779e3..ecfa96b7692 100644 --- a/htdocs/langs/zh_CN/main.lang +++ b/htdocs/langs/zh_CN/main.lang @@ -141,6 +141,7 @@ Cancel=å–ę¶ˆ Modify=修改 Edit=编辑 Validate=验证 +ValidateAndApprove=Validate and Approve ToValidate=äøŗäŗ†éŖŒčÆ Save=äæå­˜ SaveAs=å¦å­˜äøŗ @@ -158,6 +159,7 @@ Search=搜瓢 SearchOf=搜瓢 Valid=꜉ꕈ Approve=批准 +Disapprove=Disapprove ReOpen=é‡ę–°å¼€ę”¾ Upload=å‘é€ę–‡ä»¶ ToLink=Link @@ -219,6 +221,7 @@ Cards=ē‰Œ Card=協 Now=ēŽ°åœØ Date=ę—„ęœŸ +DateAndHour=Date and hour DateStart=å¼€å§‹ę—„ęœŸ DateEnd=ē»“ęŸę—„ęœŸ DateCreation=åˆ›å»ŗę—„ęœŸ @@ -295,6 +298,7 @@ UnitPriceHT=å•ä½ä»·ę ¼ļ¼ˆå‡€å€¼ļ¼‰ UnitPriceTTC=单价 PriceU=å‘äøŠ PriceUHT=äøå«ēØŽä»·ę ¼ +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=å‘äøŠ Amount=金额 AmountInvoice=å‘ē„Øé‡‘é¢ @@ -521,6 +525,7 @@ DateFromTo=从%s到%s DateFrom=第05ęœŸä»Ž% DateUntil=ē›“åˆ°%sēš„ Check=支焨 +Uncheck=Uncheck Internal=å†…éƒØ External=å¤–éƒØ Internals=å†…éƒØ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ę˜ŸęœŸäø€ Tuesday=星期二 diff --git a/htdocs/langs/zh_CN/orders.lang b/htdocs/langs/zh_CN/orders.lang index 280b701742f..973b5713bb8 100644 --- a/htdocs/langs/zh_CN/orders.lang +++ b/htdocs/langs/zh_CN/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=å·²å–ę¶ˆ StatusOrderDraft=č‰ę”ˆļ¼ˆéœ€č¦éŖŒčÆļ¼‰ StatusOrderValidated=已验证 StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=已处理 StatusOrderToBill=已递送 StatusOrderToBill2=å¾…ä»˜č“¦ @@ -58,6 +59,7 @@ MenuOrdersToBill=å·²å‘č“§č®¢å• MenuOrdersToBill2=Billable orders SearchOrder=ęœē“¢č®¢å• SearchACustomerOrder=ęœē“¢äø€äøŖå®¢ęˆ·č®¢å• +SearchASupplierOrder=Search a supplier order ShipProduct=čˆŖčæäŗ§å“ Discount=ęŠ˜ę‰£ CreateOrder=åˆ›å»ŗč®¢å• diff --git a/htdocs/langs/zh_CN/other.lang b/htdocs/langs/zh_CN/other.lang index 87e6584b4d6..e775c8b18fb 100644 --- a/htdocs/langs/zh_CN/other.lang +++ b/htdocs/langs/zh_CN/other.lang @@ -54,12 +54,13 @@ MaxSize=ęœ€å¤§å°ŗåÆø AttachANewFile=é™„åŠ äø€äøŖę–°ēš„ę–‡ä»¶/ꖇ件 LinkedObject=é“¾ęŽ„åÆ¹č±” Miscellaneous=ę‚é”¹ -NbOfActiveNotifications=å·ē ēš„é€šēŸ„ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=čæ™ę˜Æäø€äøŖęµ‹čÆ•é‚®ä»¶ć€‚\\ nčÆ„äø¤č”Œę˜Æē”±äø€äøŖå›žč½¦åˆ†éš”ć€‚ PredefinedMailTestHtml=čæ™ę˜Æäø€äøŖęµ‹čÆ•é‚®ä»¶ļ¼ˆå•čÆęµ‹čÆ•åæ…é”»å¤§čƒ†ļ¼‰ć€‚
    čæ™äø¤ę”ēŗæéš”å¼€ļ¼Œå›žč½¦ć€‚ 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__ diff --git a/htdocs/langs/zh_CN/printing.lang b/htdocs/langs/zh_CN/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/zh_CN/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/zh_CN/productbatch.lang +++ b/htdocs/langs/zh_CN/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/zh_CN/products.lang b/htdocs/langs/zh_CN/products.lang index 5ee6af20ff5..2ac2df060d9 100644 --- a/htdocs/langs/zh_CN/products.lang +++ b/htdocs/langs/zh_CN/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/zh_CN/projects.lang b/htdocs/langs/zh_CN/projects.lang index 7ce7b5665e7..ac970564116 100644 --- a/htdocs/langs/zh_CN/projects.lang +++ b/htdocs/langs/zh_CN/projects.lang @@ -8,8 +8,10 @@ SharedProject=ęÆäøŖäŗŗ PrivateProject=锹目联系人 MyProjectsDesc=čæ™ē§č§‚ē‚¹ę˜Æęœ‰é™ēš„é”¹ē›®ä½ ę˜Æäø€äøŖęŽ„č§¦ļ¼ˆäøē®”ę˜Æē±»åž‹ļ¼‰ć€‚ 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). TasksPublicDesc=čæ™ē§č§‚ē‚¹ęå‡ŗēš„ę‰€ęœ‰é”¹ē›®ļ¼Œę‚ØåÆé˜…čÆ»ä»»åŠ”ć€‚ TasksDesc=čæ™ē§č§‚ē‚¹ęå‡ŗēš„ę‰€ęœ‰é”¹ē›®å’Œä»»åŠ”ļ¼ˆę‚Øēš„ē”Øęˆ·ęƒé™ę‰¹å‡†ä½ č®¤äøŗäø€åˆ‡ļ¼‰ć€‚ ProjectsArea=é”¹ē›®é¢†åŸŸ @@ -29,6 +31,8 @@ NoProject=ę²”ęœ‰é”¹ē›®ęˆ–ę‹„ęœ‰ēš„å®šä¹‰ NbOpenTasks=é“Œę‰“å¼€ä»»åŠ” NbOfProjects=é“Œé”¹ē›® TimeSpent=čŠ±č“¹ēš„ę—¶é—“ +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=ę‰€čŠ±č“¹ēš„ę—¶é—“ RefTask=å·ć€‚ä»»åŠ” LabelTask=ę ‡ē­¾ä»»åŠ” @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=åå•äøŽé”¹ē›®ē›øå…³ēš„ä¾›åŗ”å•†ēš„č®¢å• ListSupplierInvoicesAssociatedProject=åå•äøŽé”¹ē›®ē›øå…³ēš„ä¾›åŗ”å•†ēš„å‘ē„Ø ListContractAssociatedProject=åå•äøŽé”¹ē›®ęœ‰å…³ēš„åˆåŒ ListFichinterAssociatedProject=åå•äøŽé”¹ē›®ē›øå…³ēš„å¹²é¢„ęŽŖę–½ -ListTripAssociatedProject=åå•ę—…č”Œå’ŒäøŽé”¹ē›®ęœ‰å…³ēš„č“¹ē”Ø +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=åå•äøŽé”¹ē›®ęœ‰å…³ēš„č”ŒåŠØ ActivityOnProjectThisWeek=åÆ¹é”¹ē›®ę“»åŠØå‘Ø ActivityOnProjectThisMonth=ęœ¬ęœˆåˆåÆ¹é”¹ē›®ę“»åŠØ @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=äø€äøŖå®Œę•“ēš„é”¹ē›®ęŠ„å‘ŠęØ”åž‹ļ¼ˆlogo. ..) -PlannedWorkload = č®”åˆ’ēš„å·„ä½œé‡ -WorkloadOccupation= å·„ä½œé‡ēš„åˆ†é… +PlannedWorkload=č®”åˆ’ēš„å·„ä½œé‡ +PlannedWorkloadShort=Workload +WorkloadOccupation=Workload assignation ProjectReferers=å‚č€ƒåÆ¹č±” 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 diff --git a/htdocs/langs/zh_CN/salaries.lang b/htdocs/langs/zh_CN/salaries.lang index 6e5624fd475..1aab039ba50 100644 --- a/htdocs/langs/zh_CN/salaries.lang +++ b/htdocs/langs/zh_CN/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=雇员 @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/zh_CN/sendings.lang b/htdocs/langs/zh_CN/sendings.lang index d498aa8ead8..2b316b2c21d 100644 --- a/htdocs/langs/zh_CN/sendings.lang +++ b/htdocs/langs/zh_CN/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=č®¢č“­ę•°é‡ QtyShipped=å‡ŗč“§ę•°é‡ QtyToShip=å‡ŗč“§ę•°é‡ QtyReceived=ę”¶åˆ°ēš„ę•°é‡ -KeepToShip=äæęŒåÆ¹čˆ¹čˆ¶ +KeepToShip=Remain to ship OtherSendingsForSameOrder=čæ™äøŖå‘½ä»¤ēš„å…¶ä»–č“§ē‰© DateSending=äøŗäŗ†å‘é€ę—„ęœŸ DateSendingShort=äøŗäŗ†å‘é€ę—„ęœŸ diff --git a/htdocs/langs/zh_CN/stocks.lang b/htdocs/langs/zh_CN/stocks.lang index b9a37e83685..f78f8468b67 100644 --- a/htdocs/langs/zh_CN/stocks.lang +++ b/htdocs/langs/zh_CN/stocks.lang @@ -47,6 +47,7 @@ PMPValue=åŠ ęƒå¹³å‡ä»·ę ¼ PMPValueShort=ēš„WAP EnhancedValueOfWarehouses=仓库价值 UserWarehouseAutoCreate=åˆ›å»ŗäø€äøŖč‚”ē„Øę—¶č‡ŖåŠØåˆ›å»ŗäø€äøŖē”Øęˆ· +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=ę“¾å‡ŗę•°é‡ QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/zh_CN/suppliers.lang b/htdocs/langs/zh_CN/suppliers.lang index e03729ca861..fb95ba7355c 100644 --- a/htdocs/langs/zh_CN/suppliers.lang +++ b/htdocs/langs/zh_CN/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=供应商 -Supplier=供应商 AddSupplier=Create a supplier SupplierRemoved=ä¾›åŗ”å•†åˆ é™¤ SuppliersInvoice=ä¾›åŗ”å•†å‘ē„Ø @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=ä¾›åŗ”å•†å‘ē„Øå’Œä»˜ę¬¾ ExportDataset_fournisseur_3=ä¾›åŗ”å•†ēš„č®¢å•å’Œč®¢å•č”Œ ApproveThisOrder=批准这一命令 ConfirmApproveThisOrder=ä½ ē”®å®šč¦ę‰¹å‡†äŗ†čæ™é”¹å‘½ä»¤ļ¼Ÿ -DenyingThisOrder=å¦č®¤čæ™ē§ē§©åŗ +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=ä½ ē”®å®šč¦å¦č®¤čæ™äøŖē§©åŗļ¼Ÿ ConfirmCancelThisOrder=ę‚Øē”®å®šč¦å–ę¶ˆę­¤č®¢å•ļ¼Ÿ AddCustomerOrder=åˆ›å»ŗå®¢ęˆ·č®¢å• diff --git a/htdocs/langs/zh_CN/trips.lang b/htdocs/langs/zh_CN/trips.lang index 239e2d1265c..4962abe8c28 100644 --- a/htdocs/langs/zh_CN/trips.lang +++ b/htdocs/langs/zh_CN/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=旅程 -Trips=ę—…ęøø -TripsAndExpenses=ę—…ęøøå’Œč“¹ē”Ø -TripsAndExpensesStatistics=ę—…č”Œå’Œč“¹ē”Øē»Ÿč®” -TripCard=ę—…å” -AddTrip=ę·»åŠ č”ŒēØ‹ -ListOfTrips=ę—…č”Œåå• +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=č“¹ē”Øęø…å• -NewTrip=新旅程 +NewTrip=New expense report CompanyVisited=å…¬åø/åŸŗē”€č®æé—® Kilometers=公里 FeesKilometersOrAmout=é‡‘é¢ęˆ–å…¬é‡Œ -DeleteTrip=åˆ é™¤č”Œ -ConfirmDeleteTrip=ä½ ē”®å®šč¦åˆ é™¤ę­¤č”Œļ¼Ÿ -TF_OTHER=其他 -TF_LUNCH=午餐 -TF_TRIP=旅程 -ListTripsAndExpenses=ę—…č”Œå’Œč“¹ē”Øęø…å• -ExpensesArea=äøŽč“øę˜“ęœ‰å…³ēš„ēŸ„čÆ†äŗ§ęƒåå®šā€œå’Œå¼€ę”Æé¢ē§Æ -SearchATripAndExpense=åÆ»ę‰¾ę—…č”Œå’Œč“¹ē”Ø +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=其他 +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/langs/zh_TW/admin.lang b/htdocs/langs/zh_TW/admin.lang index 7c22ab166f0..5ce0072aebb 100644 --- a/htdocs/langs/zh_TW/admin.lang +++ b/htdocs/langs/zh_TW/admin.lang @@ -8,6 +8,11 @@ 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=會話ID SessionSaveHandler=č™•ē†ēØ‹åŗļ¼Œä»„ēÆ€ēœęœƒč­° SessionSavePath=ęœ¬åœ°åŒ–å­˜å„²ęœƒč­° @@ -493,10 +498,16 @@ Module600Name=é€šēŸ„ Module600Desc=Send EMail notifications on some Dolibarr business events to third-party contacts (setup defined on each thirdparty) Module700Name=ęč“ˆ Module700Desc=ęę¬¾ēš„ē®”ē† +Module770Name=Expense Report +Module770Desc=Management and claim expense reports (transportation, meal, ...) +Module1120Name=Supplier commercial proposal +Module1120Desc=Request supplier commercial proposal and prices Module1200Name=螂 Module1200Desc=čž³čž‚äø€é«”åŒ– Module1400Name=會計 Module1400Desc=ęœƒčØˆē®”ē†ļ¼ˆé›™ę–¹ļ¼‰ +Module1520Name=Document Generation +Module1520Desc=Mass mail document generation Module1780Name=分锞 Module1780Desc=åˆ†é”žēš„ē®”ē†ļ¼ˆē”¢å“ļ¼Œä¾›ę‡‰å•†å’Œå®¢ęˆ¶ļ¼‰ Module2000Name=fckeditorēš„ @@ -631,7 +642,7 @@ Permission181=č®€å–ä¾›ę‡‰å•†čØ‚å–® Permission182=建立/修改供應商訂單 Permission183=驗證供應商訂單 Permission184=核准供應商訂單 -Permission185=敓理供應商訂單 +Permission185=Order or cancel supplier orders Permission186=ęŽ„ę”¶ä¾›ę‡‰å•†čØ‚å–® Permission187=é—œé–‰ä¾›ę‡‰å•†čØ‚å–® Permission188=å–ę¶ˆä¾›ę‡‰å•†čØ‚å–® @@ -711,6 +722,13 @@ Permission538=å‡ŗå£ęœå‹™ Permission701=é–²č®€ęę¬¾ Permission702=建立/äæ®ę”¹ęę¬¾ Permission703=åˆŖé™¤ęę¬¾ +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=č®€å–åŗ«å­˜č³‡čØŠ Permission1002=Create/modify warehouses Permission1003=Delete warehouses @@ -1025,6 +1043,8 @@ MAIN_PROXY_PASS=ä½æē”Øä»£ē†ęœå‹™å™Øēš„åÆ†ē¢¼ DefineHereComplementaryAttributes=č«‹å†é€™č£”ę–°å¢žå®¢åˆ¶åŒ–ę¬„ä½ļ¼Œä»„ä¾æč®“ %s ęØ”ēµ„åÆä»„ę”Æę“é”Æē¤ŗć€‚ ExtraFields=ę–°å¢žå®¢åˆ¶åŒ–ę¬„ä½ 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) @@ -1152,6 +1172,13 @@ UseOptionLineIfNoQuantity=äø€å€‹ē”¢å“ē·š/ęœå‹™ēš„ļ¼Œę˜Æä½œē‚ŗäø€å€‹éøé …č¦– FreeLegalTextOnProposal=åÆåœØäø‹é¢č¼øå…„é”å¤–ēš„å»ŗč­°ę›øč³‡čØŠ 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=čØ­å®ščØ‚å–®ē®”ē†ęØ”ēµ„ OrdersNumberingModules=čØ‚å–®ē·Øč™ŸęØ”ēµ„ @@ -1383,7 +1410,7 @@ BarcodeDescUPC=é€šē”Øē”¢å“ę¢ē¢¼(UPC) BarcodeDescISBN=ę›øē±ę¢ē¢¼é”žåž‹ BarcodeDescC39=Code 39 ę¢ē¢¼ BarcodeDescC128=Code 128 ę¢ē¢¼ -GenbarcodeLocation=ę¢ē¢¼ē”Ÿęˆå‘½ä»¤č”Œå·„å…·ļ¼ˆē”±phpbarcodeå¼•ę“Žē”Øę–¼ęŸäŗ›é”žåž‹ēš„ę¢å½¢ē¢¼ļ¼‰ +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 ##### @@ -1501,9 +1528,10 @@ CashDeskThirdPartyForSell=Default generic third party to use for sells CashDeskBankAccountForSell=åø³ęˆ¶ē”Øę–¼ęŽ„ę”¶ē¾é‡‘ä»˜ę¬¾ CashDeskBankAccountForCheque= åø³ęˆ¶ē”Øę–¼ęŽ„ę”¶ę”Æē„Øä»˜ę¬¾ CashDeskBankAccountForCB= åø³ęˆ¶ē”Øę–¼ęŽ„ę”¶äæ”ē”Øå”ę”Æä»˜ē¾é‡‘ -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 CashDeskYouDidNotDisableStockDecease=You did not disable stock decrease when making a sell from Point Of Sale. So a warehouse is required. ##### Bookmark ##### BookmarkSetup=樔組設置書籤 @@ -1569,3 +1597,7 @@ 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. diff --git a/htdocs/langs/zh_TW/banks.lang b/htdocs/langs/zh_TW/banks.lang index 7a6b5d7355f..93639850ef2 100644 --- a/htdocs/langs/zh_TW/banks.lang +++ b/htdocs/langs/zh_TW/banks.lang @@ -33,7 +33,11 @@ AllTime=From start Reconciliation=å’Œč§£ RIB=éŠ€č”Œåø³č™Ÿ IBAN=IBANč™Ÿē¢¼ +IbanValid=IBAN is Valid +IbanNotValid=IBAN is Not Valid BIC=ēš„BIC / SWIFTēš„č™Ÿē¢¼ +SwiftValid=BIC/SWIFT is Valid +SwiftNotValid=BIC/SWIFT is Not Valid StandingOrders=常幓訂單 StandingOrder=é•·ęœŸčØ‚å–® Withdrawals=ęę¬¾ @@ -148,7 +152,7 @@ BackToAccount=å›žåˆ°åø³ęˆ¶ ShowAllAccounts=é”Æē¤ŗę‰€ęœ‰åø³ęˆ¶ FutureTransaction=在FUTURēš„äŗ¤ę˜“ć€‚čŖæč§£ę²’ęœ‰č¾¦ę³•ć€‚ SelectChequeTransactionAndGenerate=選擇/ēÆ©éøå™ØęŖ¢ęŸ„ē“å…„ę”Æē„Øå­˜ę¬¾ę”¶ę“šļ¼Œäø¦å–®ę“Šā€œå‰µå»ŗā€ć€‚ -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/zh_TW/bills.lang b/htdocs/langs/zh_TW/bills.lang index 2bf9461e0e1..85f3950552a 100644 --- a/htdocs/langs/zh_TW/bills.lang +++ b/htdocs/langs/zh_TW/bills.lang @@ -74,8 +74,9 @@ PaymentsAlreadyDone=付款已完成 PaymentsBackAlreadyDone=Payments back already done PaymentRule=ä»˜ę¬¾č¦å‰‡ PaymentMode=ä»˜ę¬¾ę–¹å¼ -PaymentConditions=ä»˜ę¬¾ę¢ä»¶ -PaymentConditionsShort=ä»˜ę¬¾å¤©ę•ø +PaymentTerm=Payment term +PaymentConditions=Payment terms +PaymentConditionsShort=Payment terms PaymentAmount=ä»˜ę¬¾é‡‘é” ValidatePayment=Validate payment PaymentHigherThanReminderToPay=ä»˜ę¬¾ę”Æä»˜ę›“é«˜ēš„ęÆ”ęé†’ diff --git a/htdocs/langs/zh_TW/commercial.lang b/htdocs/langs/zh_TW/commercial.lang index 465a6118291..bf96053a8ec 100644 --- a/htdocs/langs/zh_TW/commercial.lang +++ b/htdocs/langs/zh_TW/commercial.lang @@ -9,9 +9,9 @@ Prospect=å±•ęœ› Prospects=ę½›åœØ DeleteAction=åˆŖé™¤äø€å€‹å‹•ä½œ/任務 NewAction=ę–°ēš„č”Œå‹•/任務 -AddAction=ę–°å¢žč”Œå‹•/任務 -AddAnAction=ę·»åŠ äø€å€‹å‹•ä½œ/任務 -AddActionRendezVous=ę·»åŠ äŗ¤ęœƒä»»å‹™ +AddAction=Create event/task +AddAnAction=Create an event/task +AddActionRendezVous=Create a Rendez-vous event Rendez-Vous=會合 ConfirmDeleteAction=ä½ ē¢ŗå®šč¦åˆŖé™¤é€™å€‹ä»»å‹™å—Žļ¼Ÿ CardAction=č”Œå‹•å” @@ -44,8 +44,8 @@ DoneActions=å·²å®Œęˆēš„č”Œå‹• DoneActionsFor=為%s完成01-0014-03 ToDoActions=äøå®Œę•“ēš„č”Œå‹• ToDoActionsFor=äøå®Œå…Øå°%01-0014-03 -SendPropalRef=%sēš„ē™¼é€å•†ę„­å»ŗč­° -SendOrderRef=發送訂單 %s +SendPropalRef=Submission of commercial proposal %s +SendOrderRef=Submission of order %s StatusNotApplicable=äøé©ē”Ø StatusActionToDo=要做到 StatusActionDone=完成 @@ -62,7 +62,7 @@ LastProspectContactDone=聯絔完成 DateActionPlanned=ę—„ęœŸč”Œå‹•čØˆåŠƒ DateActionDone=ę—„ęœŸč”Œå‹•å®Œęˆ ActionAskedBy=č”Œå‹•å• -ActionAffectedTo=å—å½±éŸæēš„č”Œå‹• +ActionAffectedTo=Event assigned to ActionDoneBy=č”Œå‹•ę–¹é¢ę‰€åšēš„ ActionUserAsk=čØ˜éŒ„ ErrorStatusCantBeZeroIfStarted=å¦‚ęžœå­—ę®µ' ę—„ęœŸåš 'ę˜Æå……ę»æč”Œå‹•å•Ÿå‹•ļ¼ˆęˆ–ęˆå“ļ¼‰ļ¼Œę‰€ä»„å¤–åœ°ēš„ē‹€ę…‹ 'äøčƒ½ē‚ŗ0%%怂 diff --git a/htdocs/langs/zh_TW/contracts.lang b/htdocs/langs/zh_TW/contracts.lang index d513a4f4b35..63b5742cf83 100644 --- a/htdocs/langs/zh_TW/contracts.lang +++ b/htdocs/langs/zh_TW/contracts.lang @@ -19,6 +19,7 @@ ServiceStatusLateShort=過ꜟ ServiceStatusClosed=關閉 ServicesLegend=ęœå‹™ēš„å‚³čŖŖ Contracts=合同 +ContractsAndLine=Contracts and line of contracts Contract=合同 NoContracts=ę²’ęœ‰åˆåŒ MenuServices=ęœå‹™ diff --git a/htdocs/langs/zh_TW/cron.lang b/htdocs/langs/zh_TW/cron.lang index c8e534528f5..a2b5296ad01 100644 --- a/htdocs/langs/zh_TW/cron.lang +++ b/htdocs/langs/zh_TW/cron.lang @@ -84,3 +84,4 @@ 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 diff --git a/htdocs/langs/zh_TW/errors.lang b/htdocs/langs/zh_TW/errors.lang index 2f8a6e35c64..4245e06fb04 100644 --- a/htdocs/langs/zh_TW/errors.lang +++ b/htdocs/langs/zh_TW/errors.lang @@ -25,7 +25,7 @@ ErrorFromToAccountsMustDiffers=ęŗå’Œē›®ęØ™ēš„éŠ€č”Œåø³ęˆ¶åæ…é ˆę˜ÆäøåŒēš„ć€‚ ErrorBadThirdPartyName=éŒÆčŖ¤ēš„å®¢ęˆ¶/ä¾›ę‡‰å•†åēØ± ErrorProdIdIsMandatory=The %s is mandatory ErrorBadCustomerCodeSyntax=å£žå®¢ęˆ¶ä»£ē¢¼ēš„čŖžę³• -ErrorBadBarCodeSyntax=Bad syntax for bar 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=å®¢ęˆ¶ä»£ē¢¼éœ€č¦ ErrorBarCodeRequired=Bar code required ErrorCustomerCodeAlreadyUsed=å®¢ęˆ¶ä»£ē¢¼å·²č¢«ä½æē”Ø @@ -79,7 +79,7 @@ ErrorModuleRequireJavascript=äøčƒ½ē¦ē”ØJavaScriptåæ…é ˆęœ‰ę­¤åŠŸčƒ½ēš„å·„ä½œ ErrorPasswordsMustMatch=é€™å…©ēØ®é”žåž‹ēš„åÆ†ē¢¼åæ…é ˆē›øäŗ’åŒ¹é… ErrorContactEMail=äø€å€‹ęŠ€č”“ę€§éŒÆčŖ¤ē™¼ē”Ÿć€‚č«‹čÆē³»ē®”ē†å“”ļ¼Œä»„äø‹é€£ęŽ„ęä¾›éŒÆčŖ¤ä»£ē¢¼%såœØę‚Øēš„éƒµä»¶ļ¼Œē”šč‡³ę›“å„½ļ¼ŒåŠ å…„äŗ†é€™å€‹é é¢ēš„å±å¹•ę‹·č²ēš„é›»å­éƒµä»¶%s怂 ErrorWrongValueForField=s'ēš„é ˜åŸŸēš„äø€äŗ›éŒÆčŖ¤å€¼ēš„%sļ¼ˆåƒ¹å€¼'%äøåŒ¹é…ę­£å‰‡č”Øé”å¼č¦å‰‡%s) -ErrorFieldValueNotIn=堓數%séŒÆčŖ¤å€¼ļ¼ˆå€¼'%s'ę˜Æäøę˜Æäø€å€‹å€¼åˆ°é ˜åŸŸč”Ø%s %s) +ErrorFieldValueNotIn=Wrong value for field number %s (value '%s' is not a value available into field %s of table %s = %s) ErrorFieldRefNotIn=éŒÆå “ę•ø%så€¼ļ¼ˆå€¼'%s'ę˜Æäøę˜Æäø€å€‹ēš„%sē¾ęœ‰ę–‡ē»ļ¼‰ ErrorsOnXLines=%čŖ¤å·®ēš„ęŗäøŠē·š ErrorFileIsInfectedWithAVirus=é˜²ē—…ęÆ’ēØ‹åŗē„”ę³•é©—č­‰ę–‡ä»¶ļ¼ˆę–‡ä»¶åÆčƒ½č¢«ē—…ęÆ’ę„ŸęŸ“ļ¼‰ @@ -160,6 +160,7 @@ ErrorPriceExpressionInternal=Internal error '%s' ErrorPriceExpressionUnknown=Unknown error '%s' ErrorSrcAndTargetWarehouseMustDiffers=Source and target warehouses must differs ErrorTryToMakeMoveOnProductRequiringBatchData=Error, trying to make a stock movement without batch/serial information, on a product requiring batch/serial information +ErrorCantSetReceptionToTotalDoneWithReceptionToApprove=All recorded receptions must first be verified before being allowed to do this action # 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..2396d2acb0e --- /dev/null +++ b/htdocs/langs/zh_TW/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/zh_TW/install.lang b/htdocs/langs/zh_TW/install.lang index 51a93e88a66..0d8db02acc2 100644 --- a/htdocs/langs/zh_TW/install.lang +++ b/htdocs/langs/zh_TW/install.lang @@ -156,6 +156,7 @@ LastStepDesc=ęœ€å¾Œäø€ę­„ ļ¼šę­¤č™•å®šē¾©ēš„ē™»éŒ„åå’ŒåÆ†ē¢¼ ActivateModule=ęæ€ę“»ęØ”å”Š%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 diff --git a/htdocs/langs/zh_TW/main.lang b/htdocs/langs/zh_TW/main.lang index dcc25276db5..825700c91da 100644 --- a/htdocs/langs/zh_TW/main.lang +++ b/htdocs/langs/zh_TW/main.lang @@ -141,6 +141,7 @@ Cancel=å–ę¶ˆ Modify=修改 Edit=編輯 Validate=é©—č­‰ +ValidateAndApprove=Validate and Approve ToValidate=為了驗證 Save=儲存 SaveAs=å¦å­˜ē‚ŗ @@ -158,6 +159,7 @@ Search=ęœå°‹ SearchOf=ęœå°‹ Valid=꜉ꕈ Approve=批準 +Disapprove=Disapprove ReOpen=é‡ę–°é–‹ę”¾ Upload=發送文件 ToLink=Link @@ -219,6 +221,7 @@ Cards=č³‡čØŠå” Card=č³‡čØŠå” Now=ē¾åœØ Date=ę—„ęœŸ +DateAndHour=Date and hour DateStart=é–‹å§‹ę—„ęœŸ DateEnd=ēµęŸę—„ęœŸ DateCreation=å»ŗē«‹ę—„ęœŸ @@ -295,6 +298,7 @@ UnitPriceHT=å–®ä½åƒ¹ę ¼ļ¼ˆå‡ˆå€¼ļ¼‰ UnitPriceTTC=單價 PriceU=å‘äøŠ PriceUHT=äøå«ēØ…åƒ¹ę ¼ +AskPriceSupplierUHT=P.U. HT Requested PriceUTTC=å‘äøŠ Amount=ēø½é” AmountInvoice=ē™¼ē„Øé‡‘é” @@ -521,6 +525,7 @@ DateFromTo=從%s到%s DateFrom=第05ęœŸå¾ž%s DateUntil=ē›“åˆ°%sēš„ Check=支焨 +Uncheck=Uncheck Internal=å…§éƒØ External=éžå…§éƒØ Internals=å…§éƒØ @@ -688,6 +693,7 @@ PublicUrl=Public URL AddBox=Add box SelectElementAndClickRefresh=Select an element and click Refresh PrintFile=Print File %s +ShowTransaction=Show transaction # Week day Monday=ę˜ŸęœŸäø€ Tuesday=星期二 diff --git a/htdocs/langs/zh_TW/orders.lang b/htdocs/langs/zh_TW/orders.lang index 105a3209321..acf0e5c9696 100644 --- a/htdocs/langs/zh_TW/orders.lang +++ b/htdocs/langs/zh_TW/orders.lang @@ -42,6 +42,7 @@ StatusOrderCanceled=å–ę¶ˆ StatusOrderDraft=č‰ę”ˆļ¼ˆē­‰å¾…é©—č­‰ļ¼‰ StatusOrderValidated=驗證階ꮵ StatusOrderOnProcess=Ordered - Standby reception +StatusOrderOnProcessWithValidation=Ordered - Standby reception or validation StatusOrderProcessed=č™•ē†å®Œē•¢ StatusOrderToBill=等待帳單 StatusOrderToBill2=ē‚ŗäŗ†ę³•ę”ˆ @@ -58,6 +59,7 @@ MenuOrdersToBill=訂單To帳單 MenuOrdersToBill2=Billable orders SearchOrder=ęœå°‹čØ‚å–® SearchACustomerOrder=Search a customer order +SearchASupplierOrder=Search a supplier order ShipProduct=čˆ¹čˆ¶ē”¢å“ Discount=ęŠ˜ę‰£ CreateOrder=創建訂單 diff --git a/htdocs/langs/zh_TW/other.lang b/htdocs/langs/zh_TW/other.lang index 227494058af..49b687412d6 100644 --- a/htdocs/langs/zh_TW/other.lang +++ b/htdocs/langs/zh_TW/other.lang @@ -54,12 +54,13 @@ MaxSize=ęŖ”ę”ˆęœ€å¤§ AttachANewFile=é™„åŠ äø€å€‹ę–°ēš„ęŖ”ę”ˆ/ꖇ件 LinkedObject=éˆęŽ„å°č±” Miscellaneous=雜項 -NbOfActiveNotifications=č™Ÿē¢¼ēš„é€šēŸ„ +NbOfActiveNotifications=Number of notifications (nb of recipient emails) PredefinedMailTest=é€™ę˜Æäø€å€‹ęø¬č©¦éƒµä»¶ć€‚\\ nč©²å…©č”Œę˜Æē”±äø€å€‹å›žč»Šåˆ†éš”ć€‚ PredefinedMailTestHtml=é€™ę˜Æäø€å€‹ęø¬č©¦éƒµä»¶ļ¼ˆå–®č©žęø¬č©¦åæ…é ˆå¤§č†½ļ¼‰ć€‚
    é€™å…©ę¢ē·šéš”é–‹ļ¼Œå›žč»Šć€‚ 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__ diff --git a/htdocs/langs/zh_TW/printing.lang b/htdocs/langs/zh_TW/printing.lang new file mode 100644 index 00000000000..f0cd2a40292 --- /dev/null +++ b/htdocs/langs/zh_TW/printing.lang @@ -0,0 +1,74 @@ +# Dolibarr language file - Source file is en_US - printing +Module112000Name=Direct Printing +Module112000Desc=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) +FileWasSentToPrinter=File %s was sent to printer +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 864782023a0..45263681965 100644 --- a/htdocs/langs/zh_TW/productbatch.lang +++ b/htdocs/langs/zh_TW/productbatch.lang @@ -10,7 +10,7 @@ batch_number=Batch/Serial number l_eatby=Eat-by date l_sellby=Sell-by date DetailBatchNumber=Batch/Serial details -DetailBatchFormat=Batch/Serial: %s - E:%s - S: %s (Qty : %d) +DetailBatchFormat=Batch/Serial: %s - Eat by: %s - Sell by: %s (Qty : %d) printBatch=Batch: %s printEatby=Eat-by: %s printSellby=Sell-by: %s diff --git a/htdocs/langs/zh_TW/products.lang b/htdocs/langs/zh_TW/products.lang index e18d6416532..60d05dae9f0 100644 --- a/htdocs/langs/zh_TW/products.lang +++ b/htdocs/langs/zh_TW/products.lang @@ -250,3 +250,7 @@ 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# PriceMode=Price mode PriceNumeric=Number +DefaultPrice=Default price +ComposedProductIncDecStock=Increase/Decrease stock on parent change +ComposedProduct=Sub-product +MinSupplierPrice=Minimun supplier price diff --git a/htdocs/langs/zh_TW/projects.lang b/htdocs/langs/zh_TW/projects.lang index 2970d7c4481..d39fc8620ef 100644 --- a/htdocs/langs/zh_TW/projects.lang +++ b/htdocs/langs/zh_TW/projects.lang @@ -8,8 +8,10 @@ SharedProject=ęÆå€‹äŗŗ PrivateProject=項目聯系人 MyProjectsDesc=é€™ēØ®č§€é»žę˜Æęœ‰é™ēš„é …ē›®ä½ ę˜Æäø€å€‹ęŽ„č§øļ¼ˆäøē®”ę˜Æé”žåž‹ļ¼‰ć€‚ 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). TasksPublicDesc=é€™ēØ®č§€é»žęå‡ŗēš„ę‰€ęœ‰é …ē›®ļ¼Œę‚ØåÆé–±č®€ä»»å‹™ć€‚ TasksDesc=é€™ēØ®č§€é»žęå‡ŗēš„ę‰€ęœ‰é …ē›®å’Œä»»å‹™ļ¼ˆę‚Øēš„ē”Øęˆ¶ę¬Šé™ę‰¹ęŗ–ä½ čŖē‚ŗäø€åˆ‡ļ¼‰ć€‚ ProjectsArea=é …ē›®é ˜åŸŸ @@ -29,6 +31,8 @@ NoProject=ę²’ęœ‰é …ē›®ęˆ–ę“ęœ‰ēš„å®šē¾© NbOpenTasks=éˆ®ę‰“é–‹ä»»å‹™ NbOfProjects=éˆ®é …ē›® TimeSpent=čŠ±č²»ēš„ę™‚é–“ +TimeSpentByYou=Time spent by you +TimeSpentByUser=Time spent by user TimesSpent=ę‰€čŠ±č²»ēš„ę™‚é–“ RefTask=ä»»å‹™ē·Øč™Ÿ LabelTask=標簽任務 @@ -67,7 +71,7 @@ ListSupplierOrdersAssociatedProject=åå–®čˆ‡é …ē›®ē›øé—œēš„ä¾›ę‡‰å•†ēš„čØ‚å–® ListSupplierInvoicesAssociatedProject=åå–®čˆ‡é …ē›®ē›øé—œēš„ä¾›ę‡‰å•†ēš„ē™¼ē„Ø ListContractAssociatedProject=åå–®čˆ‡é …ē›®ęœ‰é—œēš„åˆåŒ ListFichinterAssociatedProject=åå–®čˆ‡é …ē›®ē›øé—œēš„å¹¹é ęŽŖę–½ -ListTripAssociatedProject=åå–®ę—…č”Œå’Œčˆ‡é …ē›®ęœ‰é—œēš„č²»ē”Ø +ListExpenseReportsAssociatedProject=List of expense reports associated with the project ListActionsAssociatedProject=åå–®čˆ‡é …ē›®ęœ‰é—œēš„č”Œå‹• ActivityOnProjectThisWeek=å°é …ē›®ę“»å‹•å‘Ø ActivityOnProjectThisMonth=ęœ¬ęœˆåˆå°é …ē›®ę“»å‹• @@ -126,10 +130,15 @@ AddElement=Link to element UnlinkElement=Unlink element # Documents models DocumentModelBaleine=äø€å€‹å®Œę•“ēš„é …ē›®å ±å‘ŠęØ”åž‹ļ¼ˆlogo. ..) -PlannedWorkload = Planned workload -WorkloadOccupation= Workload affectation +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 diff --git a/htdocs/langs/zh_TW/salaries.lang b/htdocs/langs/zh_TW/salaries.lang index edca71a1829..28c21adfad3 100644 --- a/htdocs/langs/zh_TW/salaries.lang +++ b/htdocs/langs/zh_TW/salaries.lang @@ -1,4 +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 Salary=Salary Salaries=Salaries Employee=Employee @@ -6,3 +8,6 @@ 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 diff --git a/htdocs/langs/zh_TW/sendings.lang b/htdocs/langs/zh_TW/sendings.lang index 8cd48f0d71f..55380896853 100644 --- a/htdocs/langs/zh_TW/sendings.lang +++ b/htdocs/langs/zh_TW/sendings.lang @@ -23,7 +23,7 @@ QtyOrdered=čØ‚č³¼ę•øé‡ QtyShipped=å‡ŗč²Øę•øé‡ QtyToShip=å‡ŗč²Øę•øé‡ QtyReceived=ę”¶åˆ°ēš„ę•øé‡ -KeepToShip=ęŒēŗŒå‡ŗč²Ø +KeepToShip=Remain to ship OtherSendingsForSameOrder=ę­¤čØ‚å–®ēš„å…¶ä»–å‡ŗč²Øęø…å–® DateSending=å‡ŗč²Øę—„ęœŸ DateSendingShort=å‡ŗč²Øę—„ęœŸ diff --git a/htdocs/langs/zh_TW/stocks.lang b/htdocs/langs/zh_TW/stocks.lang index a0973e97c5b..9c1b117b91e 100644 --- a/htdocs/langs/zh_TW/stocks.lang +++ b/htdocs/langs/zh_TW/stocks.lang @@ -47,6 +47,7 @@ PMPValue=åŠ ę¬Šå¹³å‡åƒ¹ę ¼ PMPValueShort=ēš„WAP EnhancedValueOfWarehouses=å€‰åŗ«åƒ¹å€¼ UserWarehouseAutoCreate=ē•¶å»ŗē«‹äø€å€‹ē”Øęˆ¶ę™‚ļ¼Œč‡Ŗå‹•å»ŗē«‹äø€å€‹å€‰åŗ« +IndependantSubProductStock=Product stock and subproduct stock are independant QtyDispatched=ę“¾å‡ŗę•øé‡ QtyDispatchedShort=Qty dispatched QtyToDispatchShort=Qty to dispatch @@ -110,7 +111,7 @@ WarehouseForStockDecrease=The warehouse %s will be used for stock decreas 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 +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) @@ -130,3 +131,4 @@ 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 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. diff --git a/htdocs/langs/zh_TW/suppliers.lang b/htdocs/langs/zh_TW/suppliers.lang index 8ad3d74c0b0..b7f31a8d40a 100644 --- a/htdocs/langs/zh_TW/suppliers.lang +++ b/htdocs/langs/zh_TW/suppliers.lang @@ -1,6 +1,5 @@ # Dolibarr language file - Source file is en_US - suppliers Suppliers=供應商 -Supplier=供應商 AddSupplier=Create a supplier SupplierRemoved=ä¾›ę‡‰å•†åˆŖé™¤ SuppliersInvoice=ä¾›ę‡‰å•†ēš„ē™¼ē„Ø @@ -30,7 +29,7 @@ ExportDataset_fournisseur_2=ä¾›ę‡‰å•†ē™¼ē„Øå’Œä»˜ę¬¾ ExportDataset_fournisseur_3=Supplier orders and order lines ApproveThisOrder=批準這個訂單 ConfirmApproveThisOrder=ä½ ē¢ŗå®šč¦ę‰¹ęŗ–é€™å€‹čØ‚å–®ļ¼Ÿ -DenyingThisOrder=å¦čŖé€™å€‹čØ‚å–® +DenyingThisOrder=Deny this order ConfirmDenyingThisOrder=ä½ ē¢ŗå®šč¦å¦čŖé€™å€‹čØ‚å–®ļ¼Ÿ ConfirmCancelThisOrder=ę‚Øē¢ŗå®šč¦å–ę¶ˆę­¤čØ‚å–®ļ¼Ÿ AddCustomerOrder=å‰µå»ŗå®¢ęˆ¶čØ‚å–® diff --git a/htdocs/langs/zh_TW/trips.lang b/htdocs/langs/zh_TW/trips.lang index 4d4375cbb3e..fc99f600d25 100644 --- a/htdocs/langs/zh_TW/trips.lang +++ b/htdocs/langs/zh_TW/trips.lang @@ -1,22 +1,126 @@ # Dolibarr language file - Source file is en_US - trips -Trip=旅程 -Trips=ꗅ遊 -TripsAndExpenses=ę—…éŠå’Œč²»ē”Ø -TripsAndExpensesStatistics=ę—…č”Œå’Œč²»ē”Øēµ±čØˆ -TripCard=ę—…å” -AddTrip=ę·»åŠ č”ŒēØ‹ -ListOfTrips=ę—…č”Œåå–® +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=費用清單 -NewTrip=新旅程 +NewTrip=New expense report CompanyVisited=å…¬åø/åŸŗē¤ŽčØŖå• Kilometers=å…¬č£ FeesKilometersOrAmout=é‡‘é”ęˆ–å…¬č£ -DeleteTrip=åˆŖé™¤č”Œ -ConfirmDeleteTrip=ä½ ē¢ŗå®šč¦åˆŖé™¤ę­¤č”Œļ¼Ÿ -TF_OTHER=其他 -TF_LUNCH=午餐 -TF_TRIP=旅程 -ListTripsAndExpenses=ę—…č”Œå’Œč²»ē”Øęø…å–® -ExpensesArea=čˆ‡č²æę˜“ęœ‰é—œēš„ēŸ„č­˜ē”¢ę¬Šå”å®šā€œå’Œé–‹ę”Æé¢ē© -SearchATripAndExpense=å°‹ę‰¾ę—…č”Œå’Œč²»ē”Ø +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=其他 +TF_TRANSPORTATION=Transportation +TF_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 + +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 + +Date_DEBUT=Period date start +Date_FIN=Period date end +ModePaiement=Payment mode +Note=Note +Project=Project + +VALIDATOR=User to inform for approbation +VALIDOR=Approved by +AUTHOR=Recorded by +AUTHORPAIEMENT=Paied by +REFUSEUR=Denied by +CANCEL_USER=Canceled by + +MOTIF_REFUS=Reason +MOTIF_CANCEL=Reason + +DATE_REFUS=Deny date +DATE_SAVE=Validation date +DATE_VALIDE=Validation date +DateApprove=Approving date +DATE_CANCEL=Cancelation date +DATE_PAIEMENT=Payment date + +Deny=Deny +TO_PAID=Pay +BROUILLONNER=Reopen +SendToValid=Sent to approve +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"n +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 ? + +Synchro_Compta=NDF <-> Compte + +TripSynch=Synchronisation : Notes de frais <-> Compte courant +TripToSynch=Notes de frais Ć  intĆ©grer dans la compta +AucuneTripToSynch=Aucune note de frais n'est en statut "PayĆ©e". +ViewAccountSynch=Voir le compte + +ConfirmNdfToAccount=Êtes-vous sĆ»r de vouloir intĆ©grer cette note de frais dans le compte courant? +ndfToAccount=Note de frais - IntĆ©gration + +ConfirmAccountToNdf=Êtes-vous sĆ»r de vouloir retirer cette note de frais du compte courant? +AccountToNdf=Note de frais - Retrait + +LINE_NOT_ADDED=Ligne non ajoutĆ©e : +NO_PROJECT=Aucun projet sĆ©lectionnĆ©. +NO_DATE=Aucune date sĆ©lectionnĆ©e. +NO_PRICE=Aucun prix indiquĆ©. + +TripForValid=Ć  Valider +TripForPaid=Ć  Payer +TripPaid=PayĆ©e + +NoTripsToExportCSV=No expense report to export for this period. diff --git a/htdocs/livraison/card.php b/htdocs/livraison/card.php index 4ab76afe239..e50fb9c8ea8 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,7 +81,8 @@ 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)) { $expedition->entrepot_id = $_POST["entrepot_id"]; @@ -173,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 */ @@ -579,6 +587,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 ''; diff --git a/htdocs/livraison/class/livraison.class.php b/htdocs/livraison/class/livraison.class.php index e12781d5228..027f7ab3b89 100644 --- a/htdocs/livraison/class/livraison.class.php +++ b/htdocs/livraison/class/livraison.class.php @@ -60,6 +60,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 +119,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 +132,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 +272,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 +305,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; @@ -514,6 +528,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); } @@ -650,9 +668,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) @@ -664,14 +682,14 @@ class Livraison extends CommonObject $label=$langs->trans("ShowReceiving").': '.$this->ref; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; $picto='sending'; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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; } 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..8e280b2da75 --- /dev/null +++ b/htdocs/loan/card.php @@ -0,0 +1,520 @@ + + * 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 ''; + + 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 '
    '; + + 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 = 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 '\n"; + print "\n"; + print '\n"; + print '\n"; + print '\n"; + print ""; + $totalpaid += $objp->amount_capital; + $i++; + } + + 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").' 
    "; + print ''.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)." ".$langs->trans("Currency".$conf->currency)."'.price($objp->amount_interest)." ".$langs->trans("Currency".$conf->currency)."'.price($objp->amount_capital)." ".$langs->trans("Currency".$conf->currency)."
    '.$langs->trans("AlreadyPaid").' :'.price($totalpaid).' '.$langs->trans("Currency".$conf->currency).'
    '.$langs->trans("AmountExpected").' :'.price($object->capital).' '.$langs->trans("Currency".$conf->currency).'
    '.$langs->trans("RemainderToPay").' :'.price($staytopay).' '.$langs->trans("Currency".$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..c2c0bba6381 --- /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 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) + * @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 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) + * @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 void + */ + 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..5c24621d802 --- /dev/null +++ b/htdocs/loan/class/paymentloan.class.php @@ -0,0 +1,523 @@ + + * 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; + + /** + * 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->type_libelle.(($this->label && $this->label!=$this->type_libelle)?' ('.$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..788048a215b --- /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, $user); + + 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..557d1fa5e00 --- /dev/null +++ b/htdocs/loan/index.php @@ -0,0 +1,157 @@ + + * 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/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..ece4a5e0271 --- /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; +} + +/* + * 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->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') +{ + + $loan = new Loan($db); + $loan->fetch($chid); + + $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 4818b2d38f1..da0296e4b00 100644 --- a/htdocs/main.inc.php +++ b/htdocs/main.inc.php @@ -490,7 +490,8 @@ if (! defined('NOLOGIN')) if (! $login || (in_array('ldap',$authmode) && empty($passwordtotest))) // With LDAP we refused empty password because some LDAP are "opened" for anonymous access so connexion is a success. { // We show login page - dol_loginfunction($langs,$conf,(! empty($mysoc)?$mysoc:'')); + dol_syslog("--- Access to ".$_SERVER["PHP_SELF"]." showing the login form and exit"); + dol_loginfunction($langs,$conf,(! empty($mysoc)?$mysoc:'')); exit; } @@ -1376,9 +1377,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a // Wrapper to show tooltips print "\n".''; } @@ -1392,6 +1391,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; @@ -1412,6 +1413,7 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a else $appli.=" ".DOL_VERSION; } else $appli.=" ".DOL_VERSION; + if (! empty($conf->global->MAIN_FEATURES_LEVEL)) $appli.="
    ".$langs->trans("LevelOfFeature").': '.$conf->global->MAIN_FEATURES_LEVEL; $logouttext=''; $logouthtmltext=$appli.'
    '; @@ -1431,8 +1433,8 @@ function top_menu($head, $title='', $target='', $disablejs=0, $disablehead=0, $a print '
    '; unset($form); } @@ -1505,7 +1508,7 @@ function left_menu($menu_array_before, $helppagename='', $moresearchform='', $me $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".'
    '."\n"; - else print "\n".''."\n".'
    '."\n"; + else print "\n".''."\n".'
    '."\n"; print "\n"; @@ -1687,11 +1690,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"; 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/product/admin/dynamic_prices.php b/htdocs/product/admin/dynamic_prices.php new file mode 100644 index 00000000000..f45ea9449c6 --- /dev/null +++ b/htdocs/product/admin/dynamic_prices.php @@ -0,0 +1,329 @@ + + * + * This 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/admin/expression_globals.php + * \ingroup product + * \brief Page for configuring dynamic prices + */ + +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_global_variable.class.php'; +require_once DOL_DOCUMENT_ROOT.'/product/dynamic_price/class/price_global_variable_updater.class.php'; + +$langs->load("products"); + +$id = GETPOST('id', 'int'); +$action = GETPOST('action', 'alpha'); +$save = GETPOST('save', 'alpha'); +$cancel = GETPOST('cancel', 'alpha'); +$selection = GETPOST('selection', 'int'); + +// Security check +if (!$user->admin) accessforbidden(); + +//Objects +$price_globals = new PriceGlobalVariable($db); +if ($action == 'edit_variable') { + $res = $price_globals->fetch($selection); + if ($res < 1) { + setEventMessage($price_globals->error, 'errors'); + } +} +$price_updaters = new PriceGlobalVariableUpdater($db); +if ($action == 'edit_updater') { + $res = $price_updaters->fetch($selection); + if ($res < 1) { + setEventMessage($price_updaters->error, 'errors'); + } +} + +/* + * Actions + */ +if (!empty($action) && empty($cancel)) { + //Global variable actions + if ($action == 'create_variable' || $action == 'edit_variable') { + $price_globals->code = isset($_POST['code'])?GETPOST('code', 'alpha'):$price_globals->code; + $price_globals->description = isset($_POST['description'])?GETPOST('description', 'alpha'):$price_globals->description; + $price_globals->value = isset($_POST['value'])?GETPOST('value', 'int'):$price_globals->value; + //Check if record already exists only when saving + if (!empty($save)) { + foreach ($price_globals->listGlobalVariables() as $entry) { + if ($price_globals->id != $entry->id && dol_strtolower($price_globals->code) == dol_strtolower($entry->code)) { + setEventMessage($langs->trans("ErrorRecordAlreadyExists"), 'errors'); + $save = null; + } + } + } + } + if ($action == 'create_variable' && !empty($save)) { + $res = $price_globals->create($user); + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_globals->error, 'errors'); + } + } elseif ($action == 'edit_variable' && !empty($save)) { + $res = $price_globals->update($user); + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_globals->error, 'errors'); + } + } elseif ($action == 'delete_variable') { + $res = $price_globals->delete($selection, $user); + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_globals->error, 'errors'); + } + } + + //Updaters actions + if ($action == 'create_updater' || $action == 'edit_updater') { + $price_updaters->type = isset($_POST['type'])?GETPOST('type', 'int'):$price_updaters->type; + $price_updaters->description = isset($_POST['description'])?GETPOST('description', 'alpha'):$price_updaters->description; + $price_updaters->parameters = isset($_POST['parameters'])?GETPOST('parameters'):$price_updaters->parameters; + $price_updaters->fk_variable = isset($_POST['fk_variable'])?GETPOST('fk_variable', 'int'):$price_updaters->fk_variable; + $price_updaters->update_interval = isset($_POST['update_interval'])?GETPOST('update_interval', 'int'):$price_updaters->update_interval; + } + if ($action == 'create_updater' && !empty($save)) { + //Verify if process() works + $res = $price_updaters->process(); + if ($res > 0) { + $res = $price_updaters->create($user); + } + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_updaters->error, 'errors'); + } + } elseif ($action == 'edit_updater' && !empty($save)) { + //Verify if process() works + $res = $price_updaters->process(); + if ($res > 0) { + $res = $price_updaters->update($user); + } + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_updaters->error, 'errors'); + } + } elseif ($action == 'delete_updater') { + $res = $price_updaters->delete($selection, $user); + if ($res > 0) { + $action = ''; + } else { + setEventMessage($price_updaters->error, 'errors'); + } + } +} elseif (!empty($cancel)) { + $action = ''; +} + +/* + * View + */ + +//Header +llxHeader("","",$langs->trans("CardProduct".$product->type)); +print_fiche_titre($langs->trans("DynamicPriceConfiguration")); +$form = new Form($db); + +//Global variables table +if ($action != 'create_updater' && $action != 'edit_updater') { + print $langs->trans("GlobalVariables"); + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; //Space for buttons + print ''; + + $var=True; + foreach ($price_globals->listGlobalVariables() as $i=>$entry) { + $var = !$var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print '
    '.$langs->trans("Code").''.$langs->trans("Description").''.$langs->trans("Value").' 
    '.$entry->code.''.$entry->description.''.price($entry->value).'id.'">'.img_edit().'  '; + print 'id.'">'.img_delete().'
    '; +} + +//Global variable editor +if ($action == 'create_variable' || $action == 'edit_variable') { + //Form + print '
    '; + print ''; + print ''; + print ''; + + //Table + print '
    '; + //Code + print ''; + print ''; + print ''; + print ''; + //Description + print ''; + print ''; + print ''; + print ''; + //Value + print ''; + print ''; + print ''; + print ''; + print '
    '.$langs->trans("Code").'
    '.$langs->trans("Description").'
    '.$langs->trans("Value").'
    '; + + //Form Buttons + print '
    '; + print '  '; + print ''; + print '
    '; + print '
    '; +} else { + //Action Buttons + print '
    '; + print ''.$langs->trans("Add").''; + print '
    '; + //Separator is only need for updaters table is showed after buttons + print '

    '; +} + +//Updaters table +if ($action != 'create_variable' && $action != 'edit_variable') { + print $langs->trans("GlobalVariableUpdaters"); + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; //Space for buttons + print ''; + + $var=True; + foreach ($price_updaters->listUpdaters() as $i=>$entry) { + $code = ""; + if ($entry->fk_variable > 0) { + $res = $price_globals->fetch($entry->fk_variable); + if ($res > 0) { + $code = $price_globals->code; + } + } + $var = !$var; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + } + print '
    '.$langs->trans("Code").''.$langs->trans("Description").''.$langs->trans("Type").''.$langs->trans("Parameters").''.$langs->trans("UpdateInterval").''.$langs->trans("LastUpdated").' 
    '.$code.''.$entry->description.''.$langs->trans("GlobalVariableUpdaterType".$entry->type).''.$entry->parameters.''.$entry->update_interval.''.$entry->getLastUpdated().'id.'">'.img_edit().'  '; + print 'id.'">'.img_delete().'
    '; +} + +//Updater editor +if ($action == 'create_updater' || $action == 'edit_updater') { + //Form + print '
    '; + print ''; + print ''; + print ''; + + //Table + print '
    '; + //Code + print ''; + print ''; + //Description + print ''; + print ''; + print ''; + print ''; + //Type + print ''; + print ''; + //Parameters + print ''; + $help = $langs->trans("GlobalVariableUpdaterHelp".$type).'
    '.$langs->trans("GlobalVariableUpdaterHelpFormat".$type).''; + print ''; + print ''; + //Interval + print ''; + print ''; + print ''; + print ''; + print '
    '.$langs->trans("Code").''; + $globals_list = array(); + foreach ($price_globals->listGlobalVariables() as $entry) { + $globals_list[$entry->id]=$entry->code; + } + print $form->selectarray('fk_variable', $globals_list, (empty($price_updaters->fk_variable)?0:$price_updaters->fk_variable)); + print '
    '.$langs->trans("Description").'
    '.$langs->trans("Type").''; + $type = empty($price_updaters->type)?0:$price_updaters->type; + $type_list = array(); + foreach ($price_updaters->types as $val) { + $type_list[$val] = $langs->trans("GlobalVariableUpdaterType".$val); + } + print $form->selectarray('type', $type_list, $type); + // This code submits form when type is changed + print ''; + 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 '
    '.$langs->trans("UpdateInterval").'
    '; + + //Form Buttons + print '
    '; + print '  '; + print ''; + print '
    '; + print '
    '; +} else { + //Action Buttons + print '
    '; + print ''.$langs->trans("Add").''; + print '
    '; +} + +llxFooter(); +$db->close(); diff --git a/htdocs/product/canvas/product/actions_card_product.class.php b/htdocs/product/canvas/product/actions_card_product.class.php index 44c28f383b5..3537dc288a9 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 */ diff --git a/htdocs/product/card.php b/htdocs/product/card.php index cf22670e271..0a74845a763 100644 --- a/htdocs/product/card.php +++ b/htdocs/product/card.php @@ -1175,6 +1175,7 @@ else print ''; // Stock + /* if ($object->isproduct() && ! empty($conf->stock->enabled)) { print "".''.$langs->trans("StockLimit").''; @@ -1189,7 +1190,7 @@ else { print ''; print ''; - } + }*/ // Nature if($object->type!=1) diff --git a/htdocs/product/class/html.formproduct.class.php b/htdocs/product/class/html.formproduct.class.php index 69e999b18ea..d67b575023b 100644 --- a/htdocs/product/class/html.formproduct.class.php +++ b/htdocs/product/class/html.formproduct.class.php @@ -161,7 +161,7 @@ class FormProduct * @param string $measuring_style Unit to show: weight, size, surface, volume * @param string $default Force unit * @param int $adddefault Add empty unit called "Default" - * @return void + * @return string */ function load_measuring_units($name='measuring_units', $measuring_style='', $default='0', $adddefault=0) { diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index e5a8afc274b..d08ed699b7f 100755 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -43,7 +43,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 @@ -138,6 +138,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 @@ -671,7 +673,7 @@ class Product extends CommonObject $sql.= ", desiredstock = " . ((isset($this->desiredstock) && $this->desiredstock != '') ? $this->desiredstock : "null"); $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) @@ -914,16 +916,16 @@ 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)."',"; @@ -945,9 +947,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"])."',"; @@ -972,6 +981,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; } @@ -1192,7 +1205,7 @@ class Product extends CommonObject { if (!empty($obj->fk_supplier_price_expression)) { - require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; + 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) { @@ -1227,7 +1240,7 @@ class Product extends CommonObject { if (!empty($obj->fk_supplier_price_expression)) { - require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; + 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) { @@ -1250,14 +1263,14 @@ class Product extends CommonObject } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -3; } } } else { - $this->error=$this->db->error(); + $this->error=$this->db->lasterror(); return -2; } } @@ -1550,7 +1563,7 @@ class Product extends CommonObject $this->db->free($resql); - // Retreive all extrafield for thirdparty + // Retrieve all extrafield for thirdparty // fetch optionals attributes and labels require_once(DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'); $extrafields=new ExtraFields($this->db); @@ -1683,7 +1696,7 @@ class Product extends CommonObject if (!empty($this->fk_price_expression) && empty($ignore_expression)) { - require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.class.php'; + 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) @@ -2650,19 +2663,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 { @@ -2679,6 +2693,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 @@ -2696,7 +2711,7 @@ class Product extends CommonObject 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); } } } @@ -2718,7 +2733,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); } } } @@ -2736,7 +2751,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); @@ -2751,13 +2766,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); } @@ -2769,10 +2782,10 @@ class Product extends CommonObject * Return all Father products fo current product * * @return array prod + * @see getParent */ function getFather() { - $sql = "SELECT p.label as label,p.rowid,pa.fk_product_pere as id,p.fk_product_type"; $sql.= " FROM ".MAIN_DB_PREFIX."product_association as pa,"; $sql.= " ".MAIN_DB_PREFIX."product as p"; @@ -2803,10 +2816,10 @@ 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.= " FROM ".MAIN_DB_PREFIX."product_association as pa,"; $sql.= " ".MAIN_DB_PREFIX."product as p"; @@ -2833,10 +2846,11 @@ 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, pa.incdec"; $sql.= " FROM ".MAIN_DB_PREFIX."product as p"; @@ -2861,10 +2875,13 @@ class Product extends CommonObject ); //$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; + } } } @@ -2910,6 +2927,7 @@ class Product extends CommonObject function getNomUrl($withpicto=0,$option='',$maxlength=0) { global $conf, $langs; + include_once DOL_DOCUMENT_ROOT.'/core/lib/product.lib.php'; $result=''; $newref=$this->ref; @@ -2920,32 +2938,40 @@ class Product extends CommonObject $label .= '
    ' . $langs->trans('ProductRef') . ': ' . $this->ref; if (! empty($this->label)) $label .= '
    ' . $langs->trans('ProductLabel') . ': ' . $this->label; + + $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') { - $lien = ''; } else if ($option == 'stock') { - $lien = ''; } else if ($option == 'composition') { - $lien = ''; } else if ($option == 'category') { - $lien = ''; + $link = 'label, 'product', 'class="classfortooltip"').$lienfin.' '); - if ($this->type == 1) $result.=($lien.img_object($langs->trans("ShowService").' '.$this->label, 'service', 'class="classfortooltip"').$lienfin.' '); + if ($this->type == 0) $result.=($link.img_object($langs->trans("ShowProduct").' '.$this->label, 'product', 'class="classfortooltip"').$linkend.' '); + if ($this->type == 1) $result.=($link.img_object($langs->trans("ShowService").' '.$this->label, 'service', 'class="classfortooltip"').$linkend.' '); } - $result.=$lien.$newref.$lienfin; + $result.=$link.$newref.$linkend; return $result; } @@ -3262,11 +3288,9 @@ class Product extends CommonObject * * @param string $sdir Target directory * @param string $file Array of file info of file to upload: array('name'=>..., 'tmp_name'=>...) - * @param int $maxWidth Largeur maximum que dois faire la miniature (160 by defaut) - * @param int $maxHeight Hauteur maximum que dois faire la miniature (120 by defaut) * @return int <0 if KO, >0 if OK */ - function add_photo($sdir, $file, $maxWidth = 160, $maxHeight = 120) + function add_photo($sdir, $file) { global $conf; @@ -3276,10 +3300,12 @@ class Product extends CommonObject $dir = $sdir; if (! empty($conf->global->PRODUCT_USE_OLD_PATH_FOR_PHOTO)) $dir .= '/'. get_exdir($this->id,2) . $this->id ."/photos"; + else $dir .= '/'.dol_sanitizeFileName($this->ref); dol_mkdir($dir); $dir_osencoded=$dir; + if (is_dir($dir_osencoded)) { $originImage = $dir . '/' . $file['name']; @@ -3290,7 +3316,7 @@ class Product extends CommonObject if (file_exists(dol_osencode($originImage))) { // Cree fichier en taille vignette - $this->add_thumb($originImage,$maxWidth,$maxHeight); + $this->add_thumb($originImage); } } @@ -3298,25 +3324,6 @@ class Product extends CommonObject else return -1; } - /** - * Build thumb - * - * @param string $file Chemin du fichier d'origine - * @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_thumb($file, $maxWidth = 160, $maxHeight = 120) - { - require_once DOL_DOCUMENT_ROOT .'/core/lib/images.lib.php'; - - $file_osencoded=dol_osencode($file); - if (file_exists($file_osencoded)) - { - vignette($file,$maxWidth,$maxHeight); - } - } - /** * Affiche la premiere photo du produit * diff --git a/htdocs/product/composition/card.php b/htdocs/product/composition/card.php index af339c8270c..53f79266c25 100644 --- a/htdocs/product/composition/card.php +++ b/htdocs/product/composition/card.php @@ -50,13 +50,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; } @@ -74,7 +74,7 @@ if ($action == 'add_prod' && ($user->rights->produit->creer || $user->rights->se { if ($_POST["prod_qty_".$i] > 0) { - if ($product->add_sousproduit($id, $_POST["prod_id_".$i], $_POST["prod_qty_".$i], $_POST["prod_incdec_".$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'; @@ -83,16 +83,16 @@ if ($action == 'add_prod' && ($user->rights->produit->creer || $user->rights->se { $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'; } @@ -100,13 +100,13 @@ if ($action == 'add_prod' && ($user->rights->produit->creer || $user->rights->se { $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; } } @@ -117,7 +117,8 @@ else if($action==='save_composed_product') { foreach ($TProduct as $id_product => $row) { - $product->update_sousproduit($id, $id_product,$row['qty'], isset($row['incdec']) ? 1 : 0 ); + 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=''; @@ -171,11 +172,11 @@ 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, $user); +$titre=$langs->trans("CardProduct".$object->type); +$picto=($object->type==1?'service':'product'); dol_fiche_head($head, 'subproduct', $titre, 0, $picto); @@ -191,20 +192,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!=1) + { + print ''.$langs->trans("Nature").''; + print $object->getLibFinished(); + print ''; + } + if (empty($conf->global->PRODUIT_MULTIPRICES)) { // Price @@ -232,28 +241,57 @@ if ($id > 0 || ! empty($ref)) 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 $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"; + + // 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 ''; + 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 ''; print $langs->trans("ProductAssociationList").'
    '; print '
    '; print ''; print ''; - print ''; + print '
    '; print ''; print ''; @@ -262,7 +300,7 @@ if ($id > 0 || ! empty($ref)) if (! empty($conf->stock->enabled)) print ''; print ''; print ''; - print ''; + print ''."\n"; foreach($prods_arbo as $value) { @@ -270,11 +308,11 @@ if ($id > 0 || ! empty($ref)) $productstatic->type=$value['type']; $productstatic->label=$value['label']; - $class=($class=='impair')?'pair':'impair'; - - print ''; if ($value['level'] <= 1) { + $class=($class=='impair')?'pair':'impair'; + print ''; + $notdefined=0; $productstatic->ref=$value['ref']; $nb_of_subproduct = $value['nb']; @@ -312,9 +350,17 @@ if ($id > 0 || ! empty($ref)) print ''; print ''; } + + print ''."\n"; } - else + 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 ''; // Real stock print ''; print ''; + + print ''."\n"; } - print ''; } print ''; print ''; @@ -348,19 +395,13 @@ if ($id > 0 || ! empty($ref)) // Stock if (! empty($conf->stock->enabled)) print ''; - print ''; - print ''; - print ''; + print ''."\n"; print '
    '.$langs->trans('ComposedProduct').''.$langs->trans('Stock').''.$langs->trans('Qty').''.$langs->trans('ComposedProductIncDecStock').'
    '.$nb_of_subproduct.''.($value['incdec']==1?'x':'' ).'
    '; @@ -328,8 +374,9 @@ if ($id > 0 || ! empty($ref)) if (! empty($conf->stock->enabled)) print ''.$value['nb'].' 
     '; + print ''; if ($user->rights->produit->creer || $user->rights->service->creer) { print ''; } print ''; - if ($user->rights->produit->creer || $user->rights->service->creer) - { - print ''; - } - print '
    '; /*if($user->rights->produit->creer || $user->rights->service->creer) { @@ -368,39 +409,8 @@ if ($id > 0 || ! empty($ref)) }*/ print '
    '; - - 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(); - - // 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)) { @@ -500,11 +510,11 @@ if ($id > 0 || ! empty($ref)) print ''.$labeltoshow.''; - if($product->is_sousproduit($id, $objp->rowid)) + if($object->is_sousproduit($id, $objp->rowid)) { //$addchecked = ' checked="checked"'; - $qty=$product->is_sousproduit_qty; - $incdec=$product->is_sousproduit_incdec; + $qty=$object->is_sousproduit_qty; + $incdec=$object->is_sousproduit_incdec; } else { diff --git a/htdocs/product/class/priceexpression.class.php b/htdocs/product/dynamic_price/class/price_expression.class.php similarity index 92% rename from htdocs/product/class/priceexpression.class.php rename to htdocs/product/dynamic_price/class/price_expression.class.php index c5e24d3a228..bd4fa62692f 100644 --- a/htdocs/product/class/priceexpression.class.php +++ b/htdocs/product/dynamic_price/class/price_expression.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2014 Juanjo Menent -/* Copyright (C) 2014 Ion Agorria +/* 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 @@ -18,7 +18,7 @@ */ /** - * \file htdocs/product/class/priceexpression.class.php + * \file htdocs/product/dynamic_price/class/price_expression.class.php * \ingroup product * \brief Class for accessing price expression table */ @@ -35,6 +35,7 @@ class PriceExpression var $id; var $title; var $expression; + public $table_element = "c_price_expression"; /** * Constructor @@ -57,14 +58,14 @@ class PriceExpression */ function create($user, $notrigger=0) { - $error=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."c_price_expression ("; + $sql = "INSERT INTO ".MAIN_DB_PREFIX.$this->table_element." ("; $sql.= "title, expression"; $sql.= ") VALUES ("; $sql.= " ".(isset($this->title)?"'".$this->db->escape($this->title)."'":"''").","; @@ -121,7 +122,7 @@ class PriceExpression function fetch($id) { $sql = "SELECT title, expression"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_price_expression"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; $sql.= " WHERE rowid = ".$id; dol_syslog(get_class($this)."::fetch"); @@ -133,8 +134,8 @@ class PriceExpression { $this->id = $id; $this->title = $obj->title; - $this->expression = $obj->expression; - return 1; + $this->expression = $obj->expression; + return 1; } else { @@ -156,10 +157,10 @@ class PriceExpression function list_price_expression() { $sql = "SELECT rowid, title, expression"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_price_expression"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; $sql.= " ORDER BY title"; - dol_syslog(get_class($this)."::list_price_expression"); + dol_syslog(get_class($this)."::list_price_expression"); $resql=$this->db->query($sql); if ($resql) { @@ -194,7 +195,7 @@ class PriceExpression function find_title($title) { $sql = "SELECT rowid"; - $sql.= " FROM ".MAIN_DB_PREFIX."c_price_expression"; + $sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element; $sql.= " WHERE title = '".$this->db->escape($title)."'"; dol_syslog(get_class($this)."::find_title"); @@ -235,7 +236,7 @@ class PriceExpression if (isset($this->expression)) $this->expression=trim($this->expression); // Update request - $sql = "UPDATE ".MAIN_DB_PREFIX."c_price_expression SET"; + $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; @@ -309,7 +310,7 @@ class PriceExpression if (! $error) { - $sql = "DELETE FROM ".MAIN_DB_PREFIX."c_price_expression"; + $sql = "DELETE FROM ".MAIN_DB_PREFIX.$this->table_element; $sql.= " WHERE rowid = ".$rowid; dol_syslog(get_class($this)."::delete"); 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/class/priceparser.class.php b/htdocs/product/dynamic_price/class/price_parser.class.php similarity index 78% rename from htdocs/product/class/priceparser.class.php rename to htdocs/product/dynamic_price/class/price_parser.class.php index c2b047a7ae1..4a7bdb7acf6 100644 --- a/htdocs/product/class/priceparser.class.php +++ b/htdocs/product/dynamic_price/class/price_parser.class.php @@ -1,5 +1,5 @@ +/* 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 @@ -16,13 +16,15 @@ */ /** - * \file htdocs/product/class/priceparser.class.php + * \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/class/priceexpression.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'; /** @@ -30,17 +32,17 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/extrafields.class.php'; */ class PriceParser { - protected $db; - // Limit of expressions per price - public $limit = 100; - // The error that ocurred 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 = ";"; + 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 @@ -104,7 +106,7 @@ class PriceParser { return $langs->trans("ErrorPriceExpression".$code, $info); } - else if (in_array($code, array(6))) //Errors which have 2 args + else if (in_array($code, array(6, 23))) //Errors which have 2 args { return $langs->trans("ErrorPriceExpression".$code, $info[0], $info[1]); } @@ -128,6 +130,7 @@ class PriceParser */ public function parseExpression($product, $expression, $values) { + global $user; //Accessible product values by expressions $values = array_merge($values, array( "tva_tx" => $product->tva_tx, @@ -139,13 +142,31 @@ class PriceParser "price_min" => $product->price_min, )); - //Retreive all extrafield for product and add it to values + //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['options_'.$key] = $product->array_options['options_'.$key]; + $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 @@ -153,36 +174,32 @@ class PriceParser if (empty($expression)) { $this->error = array(20, null); - return -1; + 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; - $search = array(); - $replace = array(); - foreach ($values as $key => $value) { - if ($value !== null) { - $search[] = $this->special_chr.$key.$this->special_chr; - $replace[] = $value; - } - } + $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, $limit); + $expressions = array_slice($expressions, 0, $this->limit); foreach ($expressions as $expr) { $expr = trim($expr); if (!empty($expr)) { - $expr = str_ireplace($search, $replace, $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 -2; + return -3; } } } @@ -190,15 +207,15 @@ class PriceParser if (empty($vars["price"])) { $vars["price"] = $last_result; } - if ($vars["price"] === null) + if (!isset($vars["price"])) { $this->error = array(21, $expression); - return -3; + return -4; } if ($vars["price"] < 0) { $this->error = array(22, $expression); - return -4; + return -5; } return $vars["price"]; } @@ -209,13 +226,13 @@ class PriceParser * @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 + * @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); + $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( @@ -237,7 +254,7 @@ class PriceParser * * @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 + * @return int > 0 if OK, < 1 if KO */ public function parseProduct($product, $extra_values = array()) { @@ -261,7 +278,7 @@ class PriceParser * @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 + * @return int > 0 if OK, < 1 if KO */ public function parseProductSupplierExpression($product_id, $expression, $quantity = null, $tva_tx = null, $extra_values = array()) { @@ -285,7 +302,7 @@ class PriceParser * @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 + * @return int > 0 if OK, < 1 if KO */ public function parseProductSupplier($product_id, $expression_id, $quantity = null, $tva_tx = null, $extra_values = array()) { diff --git a/htdocs/product/expression.php b/htdocs/product/dynamic_price/editor.php similarity index 83% rename from htdocs/product/expression.php rename to htdocs/product/dynamic_price/editor.php index be3e5401789..e05ad53a27e 100644 --- a/htdocs/product/expression.php +++ b/htdocs/product/dynamic_price/editor.php @@ -16,23 +16,24 @@ */ /** - * \file htdocs/product/expression.php + * \file htdocs/product/expression/editor.php * \ingroup product * \brief Page for editing expression */ -require '../main.inc.php'; +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/class/priceexpression.class.php'; -require_once DOL_DOCUMENT_ROOT.'/product/class/priceparser.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'); +$action = GETPOST('action', 'alpha'); $title = GETPOST('expression_title', 'alpha'); $expression = GETPOST('expression'); $tab = GETPOST('tab', 'alpha'); @@ -47,6 +48,7 @@ $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 @@ -79,7 +81,7 @@ if ($action == 'add') { $price_expression->title = $title; $price_expression->expression = $expression; - $result = $price_expression->create($user); + $result = $price_expression->create($user); if ($result > 0) //created successfully, set the eid to newly created entry { $eid = $price_expression->id; @@ -120,7 +122,7 @@ if ($action == 'update') $price_expression->id = $eid; $price_expression->title = $title; $price_expression->expression = $expression; - $result = $price_expression->update($user); + $result = $price_expression->update($user); if ($result < 0) { setEventMessage("update: ".$price_expression->error, 'errors'); @@ -146,7 +148,7 @@ if ($action == 'delete') { if ($eid != 0) { - $result = $price_expression->delete($eid, $user); + $result = $price_expression->delete($eid, $user); if ($result < 0) { setEventMessage("delete: ".$price_expression->error, 'errors'); @@ -184,8 +186,17 @@ print ''.$langs->trans("Name").''; print ''; 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 -$help_text = $langs->trans("PriceExpressionEditorHelp1").'

    '.$langs->trans("PriceExpressionEditorHelp2").'

    '.$langs->trans("PriceExpressionEditorHelp3").'

    '.$langs->trans("PriceExpressionEditorHelp4"); 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); @@ -194,7 +205,7 @@ print ''; print ''; //Buttons -print '
    '; +print '
    '; +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/projet/card.php b/htdocs/projet/card.php index 541d9271ade..a971f9b51dd 100644 --- a/htdocs/projet/card.php +++ b/htdocs/projet/card.php @@ -38,6 +38,7 @@ $id=GETPOST('id','int'); $ref=GETPOST('ref','alpha'); $action=GETPOST('action','alpha'); $backtopage=GETPOST('backtopage','alpha'); +$cancel=GETPOST('cancel','alpha'); if ($id == '' && $ref == '' && ($action != "create" && $action != "add" && $action != "update" && ! $_POST["cancel"])) accessforbidden(); @@ -49,15 +50,15 @@ $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)) { - $ret = $object->fetch($id,$ref); + $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; - } else { - setEventMessage($object->error, 'errors'); - $action=''; } } @@ -83,9 +84,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) { @@ -101,24 +101,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) @@ -156,7 +145,7 @@ if (empty($reshook)) 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'); @@ -382,9 +371,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) diff --git a/htdocs/projet/class/project.class.php b/htdocs/projet/class/project.class.php index 1d5daf2110a..e78e9de0c63 100644 --- a/htdocs/projet/class/project.class.php +++ b/htdocs/projet/class/project.class.php @@ -49,8 +49,10 @@ class Project extends CommonObject 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; @@ -61,6 +63,9 @@ class Project extends CommonObject var $oldcopy; + var $weekWorkLoad; // Used to store workload details of a projet + var $weekWorkLoadPerTask; // Used to store workload details of tasks of a projet + /** * Constructor @@ -212,6 +217,8 @@ 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; @@ -299,7 +306,7 @@ class Project extends CommonObject if (empty($id) && empty($ref)) return -1; $sql = "SELECT rowid, ref, title, description, public, datec, budget_amount,"; - $sql.= " tms, dateo, datee, fk_soc, fk_user_creat, fk_statut, note_private, note_public,model_pdf"; + $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)) { @@ -330,10 +337,12 @@ 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; @@ -497,7 +506,7 @@ 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' + 'expensereport_det'=>'fk_projet','contrat'=>'fk_projet','fichinter'=>'fk_projet','don'=>'fk_project' ); foreach($listoftables as $key => $value) { @@ -682,13 +691,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) @@ -696,7 +707,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"; @@ -802,9 +813,9 @@ 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 * @return string Chaine avec URL @@ -814,8 +825,8 @@ class Project extends CommonObject global $langs; $result = ''; - $lien = ''; - $lienfin = ''; + $link = ''; + $linkend = ''; $label = '' . $langs->trans("ShowProject") . ''; if (! empty($this->ref)) $label .= '
    ' . $langs->trans('Ref') . ': ' . $this->ref; @@ -825,11 +836,11 @@ class Project extends CommonObject if ($option != 'nolink') { if (preg_match('/\.php$/',$option)) { - $lien = ''; } else { - $lien = ''; } } @@ -837,9 +848,9 @@ class Project extends CommonObject if (!$this->public) $picto = 'project'; - if ($withpicto) $result.=($lien . img_object($label, $picto, 'class="classfortooltip"') . $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; } @@ -1023,7 +1034,7 @@ class Project extends CommonObject * @param bool $clone_task_file clone file of task (if task are copied) * @param bool $clone_note clone note of project * @param bool $move_date move task date on clone - * @param bool $notrigger no trigger flag + * @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,$move_date=true,$notrigger=0) @@ -1434,23 +1445,29 @@ class Project extends CommonObject /** - * load time spent into this->weekWorkLoad for all day of a week and task id + * 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 Task id - * @param int $userid Time consumed per a particular user + * @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,$userid=0) + public function loadTimeSpent($datestart,$taskid=0,$userid=0) { $error=0; - $sql = "SELECT ptt.rowid, ptt.task_duration, ptt.task_date"; - $sql.= " FROM ".MAIN_DB_PREFIX."projet_task_time AS ptt"; - $sql.= " WHERE ptt.fk_task='".$taskid."'"; - $sql.= " AND ptt.fk_user='".$userid."'"; - $sql .= "AND (ptt.task_date >= '".$this->db->idate($datestart)."' "; - $sql .= "AND (ptt.task_date < '".$this->db->idate($datestart + 7 * 24 * 3600)."' "; + 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) { @@ -1462,10 +1479,8 @@ class Project extends CommonObject { $obj=$this->db->fetch_object($resql); $day=$this->db->jdate($obj->task_date); - //$day=(intval(date('w',strtotime($obj->task_date)))+1)%6; - // if several tasktime in one day then only the last is used $this->weekWorkLoad[$day] += $obj->task_duration; - $this->taskTimeId[$day]= ($obj->rowid)?($obj->rowid):0; + $this->weekWorkLoadPerTask[$day][$obj->fk_task] += $obj->task_duration; $i++; } $this->db->free($resql); diff --git a/htdocs/projet/class/task.class.php b/htdocs/projet/class/task.class.php index a9ecdd7bbc6..5e02efe6463 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").': '.$this->ref.($this->label?' - '.$this->label:''); + $label = '' . $langs->trans("ShowTask") . ''; + if (! empty($this->ref)) + $label .= '
    ' . $langs->trans('Ref') . ': ' . $this->ref; + if (! empty($this->title)) + $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.$lienfin; + if ($withpicto != 2) $result.=$link.$this->ref.$linkend; return $result; } @@ -586,7 +596,7 @@ class Task extends CommonObject if ($filteronprojstatus > -1) $sql.= " AND p.fk_statut = ".$filteronprojstatus; $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) @@ -759,6 +769,8 @@ class Task extends CommonObject { global $conf,$langs; + dol_syslog(get_class($this)."::addTimeSpent", LOG_DEBUG); + $ret = 0; // Check parameters @@ -778,6 +790,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"; @@ -785,13 +798,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; @@ -800,21 +814,21 @@ 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 = duration_effective + '".price2num($this->timespent_duration)."'"; + $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 $sql.= " WHERE rowid = ".$this->id; @@ -822,7 +836,6 @@ class Task extends CommonObject if (! $this->db->query($sql) ) { $this->error=$this->db->lasterror(); - $this->db->rollback(); $ret = -2; } @@ -834,12 +847,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; } @@ -898,6 +917,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"; @@ -914,7 +935,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; @@ -953,6 +976,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"); @@ -987,7 +1011,7 @@ class Task extends CommonObject $newDuration = $this->timespent_duration - $this->timespent_old_duration; $sql = "UPDATE ".MAIN_DB_PREFIX."projet_task"; - $sql.= " SET duration_effective = duration_effective + '".$newDuration."'"; + $sql.= " SET duration_effective = (SELECT SUM(task_duration) FROM ".MAIN_DB_PREFIX."projet_task_time as ptt where ptt.fk_task = ".$this->id.")"; $sql.= " WHERE rowid = ".$this->id; dol_syslog(get_class($this)."::updateTimeSpent", LOG_DEBUG); 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 540ceff1bfa..23c3cc6f8b1 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 * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -41,16 +42,18 @@ if (! empty($conf->ficheinter->enabled)) require_once DOL_DOCUMENT_ROOT.'/fichi 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.'/donations/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->ficheinter->enabled)) $langs->load("interventions"); -if (! empty($conf->deplacement->enabled)) $langs->load("trips"); +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"); $id=GETPOST('id','int'); $ref=GETPOST('ref','alpha'); @@ -80,21 +83,9 @@ $mine = $_REQUEST['mode']=='mine' ? 1 : 0; $projectid=$id; // For backward compatibility -$project = new Project($db); -if ($id > 0 || ! empty($ref)) -{ - $ret=$project->fetch($id,$ref); - if ($ret > 0) - { - $projectid=$project->id; - $project->fetch_thirdparty(); - } - else - { - setEventMessages($project->error, $project->errors, 'errors'); - $action=''; - } -} +$object = new Project($db); + +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once // Security check $socid=0; @@ -106,6 +97,8 @@ $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); @@ -116,10 +109,10 @@ $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 ''; @@ -130,36 +123,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 '
    '; @@ -256,25 +249,33 @@ $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', + 'table'=>'don', + 'datefieldname'=>'date', + 'disableamount'=>1, + 'test'=>$conf->don->enabled && $user->rights->don->lire), ); 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'); } } @@ -317,7 +318,7 @@ foreach ($listofreferent as $key => $value) print_titre($langs->trans($title)); - $selectList=$formproject->select_element($tablename,$project->thirdparty->id); + $selectList=$formproject->select_element($tablename,$object->thirdparty->id); if (! $selectList || ($selectList<0)) { setEventMessages($formproject->error,$formproject->errors,'errors'); @@ -352,7 +353,7 @@ foreach ($listofreferent as $key => $value) else print ''; print ''.$langs->trans("Status").''; print ''; - $elementarray = $project->get_element_list($key, $tablename, $datefieldname, $dates, $datee); + $elementarray = $object->get_element_list($key, $tablename, $datefieldname, $dates, $datee); if (is_array($elementarray) && count($elementarray)>0) { $var=true; @@ -544,32 +545,32 @@ foreach ($listofreferent as $key => $value) */ print '
    '; - if ($project->statut > 0) + if ($object->statut > 0) { - if ($project->thirdparty->prospect || $project->thirdparty->client) + if ($object->thirdparty->prospect || $object->thirdparty->client) { if ($key == 'propal' && ! empty($conf->propal->enabled) && $user->rights->propale->creer) { - print ''.$langs->trans("AddProp").''; + print ''.$langs->trans("AddProp").''; } if ($key == 'order' && ! empty($conf->commande->enabled) && $user->rights->commande->creer) { - print ''.$langs->trans("AddCustomerOrder").''; + print ''.$langs->trans("AddCustomerOrder").''; } if ($key == 'invoice' && ! empty($conf->facture->enabled) && $user->rights->facture->creer) { - print ''.$langs->trans("AddCustomerInvoice").''; + print ''.$langs->trans("AddCustomerInvoice").''; } } - if ($project->thirdparty->fournisseur) + if ($object->thirdparty->fournisseur) { if ($key == 'order_supplier' && ! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->commande->creer) { - print ''.$langs->trans("AddSupplierInvoice").''; + print ''.$langs->trans("AddSupplierOrder").''; } if ($key == 'invoice_supplier' && ! empty($conf->fournisseur->enabled) && $user->rights->fournisseur->facture->creer) { - print ''.$langs->trans("AddSupplierOrder").''; + print ''.$langs->trans("AddSupplierInvoice").''; } } } @@ -607,7 +608,7 @@ foreach ($listofreferent as $key => $value) { $element = new $classname($db); - $elementarray = $project->get_element_list($key, $tablename); + $elementarray = $object->get_element_list($key, $tablename); if (count($elementarray)>0 && is_array($elementarray)) { $var=true; diff --git a/htdocs/projet/ganttview.php b/htdocs/projet/ganttview.php index 81acd18e301..5f1589d59dc 100644 --- a/htdocs/projet/ganttview.php +++ b/htdocs/projet/ganttview.php @@ -38,12 +38,8 @@ $mine = ($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; @@ -81,8 +77,10 @@ if (! empty($conf->use_javascript_ajax)) ); } +$title=$langs->trans("Project").' - '.$langs->trans("Gantt").' - '.$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("Gantt"); $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; -llxHeader("",$langs->trans("Tasks"),$help_url,'',0,0,$arrayofjs,$arrayofcss); +llxHeader("",$title,$help_url,'',0,0,$arrayofjs,$arrayofcss); if ($id > 0 || ! empty($ref)) { diff --git a/htdocs/projet/index.php b/htdocs/projet/index.php index 65351b70638..a7f0f957f06 100644 --- a/htdocs/projet/index.php +++ b/htdocs/projet/index.php @@ -175,7 +175,7 @@ if (empty($conf->global->PROJECT_HIDE_TASKS)) if ($socid) $sql.= " AND (p.fk_soc IS NULL OR p.fk_soc = 0 OR p.fk_soc = ".$socid.")"; $sql.= " AND p.fk_statut=1"; $sql.= " GROUP BY p.ref, p.title, p.rowid, t.label, t.rowid, t.planned_workload, t.duration_effective, t.progress, t.dateo, t.datee"; - $sql.= " ORDER BY t.rowid, t.dateo, t.datee"; + $sql.= " ORDER BY t.dateo desc, t.rowid desc, t.datee"; $sql.= $db->plimit($max+1); // We want more to know if we have more than limit $var=true; diff --git a/htdocs/projet/note.php b/htdocs/projet/note.php index b581ca01be9..583326b3e34 100644 --- a/htdocs/projet/note.php +++ b/htdocs/projet/note.php @@ -36,12 +36,8 @@ $mine = $_REQUEST['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; @@ -62,8 +58,10 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, * View */ +$title=$langs->trans("Project").' - '.$langs->trans("Note").' - '.$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("Note"); $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); $userstatic=new User($db); diff --git a/htdocs/projet/tasks.php b/htdocs/projet/tasks.php index 1b69fd5757e..b3549d3a727 100644 --- a/htdocs/projet/tasks.php +++ b/htdocs/projet/tasks.php @@ -47,12 +47,11 @@ $object = new Project($db); $taskstatic = new Task($db); $extrafields_project = new ExtraFields($db); $extrafields_task = new ExtraFields($db); + +include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be include, not includ_once + if ($id > 0 || ! empty($ref)) { - $object->fetch($id,$ref); - $id=$object->id; - $ref=$object->ref; - // fetch optionals attributes and labels $extralabels_projet=$extrafields_project->fetch_name_optionals_label($object->table_element); $extralabels_task=$extrafields_task->fetch_name_optionals_label($taskstatic->table_element); @@ -178,8 +177,10 @@ $formother=new FormOther($db); $taskstatic = new Task($db); $userstatic=new User($db); +$title=$langs->trans("Project").' - '.$langs->trans("Tasks").' - '.$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("Tasks"); $help_url="EN:Module_Projects|FR:Module_Projets|ES:Módulo_Proyectos"; -llxHeader("",$langs->trans("Tasks"),$help_url); +llxHeader("",$title,$help_url); if ($id > 0 || ! empty($ref)) { diff --git a/htdocs/projet/tasks/task.php b/htdocs/projet/tasks/task.php index 06f62c9f4c7..8dd7bac68d8 100644 --- a/htdocs/projet/tasks/task.php +++ b/htdocs/projet/tasks/task.php @@ -1,6 +1,6 @@ - * Copyright (C) 2006-2014 Laurent Destailleur + * Copyright (C) 2006-2015 Laurent Destailleur * Copyright (C) 2010-2012 Regis Houssin * * This program is free software; you can redistribute it and/or modify @@ -42,7 +42,7 @@ $action=GETPOST('action','alpha'); $confirm=GETPOST('confirm','alpha'); $withproject=GETPOST('withproject','int'); $project_ref=GETPOST('project_ref','alpha'); -$planned_workload=GETPOST('planned_workloadhour')*3600+GETPOST('planned_workloadmin')*60; +$planned_workload=((GETPOST('planned_workloadhour')!='' && GETPOST('planned_workloadmin')!='')?GETPOST('planned_workloadhour')*3600+GETPOST('planned_workloadmin')*60:''); // Security check $socid=0; @@ -110,17 +110,14 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->projet->creer) if ($action == 'confirm_delete' && $confirm == "yes" && $user->rights->projet->supprimer) { - if ($object->fetch($id,$ref) >= 0 ) + if ($object->fetch($id,$ref) >= 0) { - $result=$projectstatic->fetch($object->fk_projet); - if (! empty($projectstatic->socid)) - { - $projectstatic->societe->fetch($projectstatic->socid); - } + $result=$projectstatic->fetch($object->fk_project); + $projectstatic->fetch_thirdparty(); if ($object->delete($user) > 0) { - header('Location: '.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id); + header('Location: '.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'')); exit; } else @@ -460,7 +457,7 @@ if ($id > 0 || ! empty($ref)) if ($object->planned_workload != '') { $tmparray=$object->getSummaryOfTimeSpent(); - if ($tmparray['total_duration'] > 0) print round($tmparray['total_duration'] / $object->planned_workload * 100, 2).' %'; + if ($tmparray['total_duration'] > 0 && ! empty($object->planned_workload)) print round($tmparray['total_duration'] / $object->planned_workload * 100, 2).' %'; else print '0 %'; } else print ''; diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php index 9951902ec5b..20ef1714164 100644 --- a/htdocs/projet/tasks/time.php +++ b/htdocs/projet/tasks/time.php @@ -87,7 +87,15 @@ if ($action == 'addtimespent' && $user->rights->projet->creer) $object->progress = GETPOST('progress', 'int'); $object->timespent_duration = $_POST["timespent_durationhour"]*60*60; // We store duration in seconds $object->timespent_duration+= $_POST["timespent_durationmin"]*60; // We store duration in seconds - $object->timespent_date = dol_mktime(12,0,0,$_POST["timemonth"],$_POST["timeday"],$_POST["timeyear"]); + if (GETPOST("timehour") != '' && GETPOST("timehour") >= 0) // If hour was entered + { + $object->timespent_date = dol_mktime(GETPOST("timehour"),GETPOST("timemin"),0,GETPOST("timemonth"),GETPOST("timeday"),GETPOST("timeyear")); + $object->timespent_withhour = 1; + } + else + { + $object->timespent_date = dol_mktime(12,0,0,GETPOST("timemonth"),GETPOST("timeday"),GETPOST("timeyear")); + } $object->timespent_fk_user = $_POST["userid"]; $result=$object->addTimeSpent($user); if ($result >= 0) @@ -126,7 +134,15 @@ if ($action == 'updateline' && ! $_POST["cancel"] && $user->rights->projet->cree $object->timespent_old_duration = $_POST["old_duration"]; $object->timespent_duration = $_POST["new_durationhour"]*60*60; // We store duration in seconds $object->timespent_duration+= $_POST["new_durationmin"]*60; // We store duration in seconds - $object->timespent_date = dol_mktime(12,0,0,$_POST["timelinemonth"],$_POST["timelineday"],$_POST["timelineyear"]); + if (GETPOST("timelinehour") != '' && GETPOST("timelinehour") >= 0) // If hour was entered + { + $object->timespent_date = dol_mktime(GETPOST("timelinehour"),GETPOST("timelinemin"),0,GETPOST("timelinemonth"),GETPOST("timelineday"),GETPOST("timelineyear")); + $object->timespent_withhour = 1; + } + else + { + $object->timespent_date = dol_mktime(12,0,0,GETPOST("timelinemonth"),GETPOST("timelineday"),GETPOST("timelineyear")); + } $object->timespent_fk_user = $_POST["userid_line"]; $result=$object->updateTimeSpent($user); @@ -341,7 +357,7 @@ if ($id > 0 || ! empty($ref)) /* - * Add time spent + * Form to add time spent */ if ($user->rights->projet->creer) { @@ -367,8 +383,9 @@ if ($id > 0 || ! empty($ref)) // Date print ''; - $newdate=dol_mktime(12,0,0,$_POST["timemonth"],$_POST["timeday"],$_POST["timeyear"]); - print $form->select_date($newdate,'time','','','',"timespent_date"); + //$newdate=dol_mktime(12,0,0,$_POST["timemonth"],$_POST["timeday"],$_POST["timeyear"]); + $newdate=''; + print $form->select_date($newdate,'time',1,1,2,"timespent_date"); print ''; // Contributor @@ -410,13 +427,13 @@ if ($id > 0 || ! empty($ref)) /* * List of time spent */ - $sql = "SELECT t.rowid, t.task_date, t.task_duration, t.fk_user, t.note"; + $sql = "SELECT t.rowid, t.task_date, t.task_datehour, t.task_date_withhour, t.task_duration, t.fk_user, t.note"; $sql.= ", u.lastname, u.firstname"; $sql .= " FROM ".MAIN_DB_PREFIX."projet_task_time as t"; $sql .= " , ".MAIN_DB_PREFIX."user as u"; $sql .= " WHERE t.fk_task =".$object->id; $sql .= " AND t.fk_user = u.rowid"; - $sql .= " ORDER BY t.task_date DESC"; + $sql .= " ORDER BY t.task_date DESC, t.task_datehour DESC, t.rowid DESC"; $var=true; $resql = $db->query($sql); @@ -459,15 +476,18 @@ if ($id > 0 || ! empty($ref)) $var=!$var; print ""; + $date1=$db->jdate($task_time->task_date); + $date2=$db->jdate($task_time->task_datehour); + // Date - print ''; + print ''; if ($_GET['action'] == 'editline' && $_GET['lineid'] == $task_time->rowid) { - print $form->select_date($db->jdate($task_time->task_date),'timeline','','','',"timespent_date"); + print $form->select_date($db->jdate($date2?$date2:$date1),'timeline',1,1,2,"timespent_date"); } else { - print dol_print_date($db->jdate($task_time->task_date),'day'); + print dol_print_date($date2?$date2:$date1,($task_time->task_date_withhour?'dayhour':'day')); } print ''; @@ -480,6 +500,7 @@ if ($id > 0 || ! empty($ref)) $contactsoftask[]=$task_time->fk_user; } if (count($contactsoftask)>0) { + print img_object('','user','class="hideonsmartphone"'); print $form->select_dolusers($task_time->fk_user,'userid_line',0,'',0,'',$contactsoftask); }else { print img_error($langs->trans('FirstAddRessourceToAllocateTime')).$langs->trans('FirstAddRessourceToAllocateTime'); diff --git a/htdocs/public/donations/donateurs_code.php b/htdocs/public/donations/donateurs_code.php index d2435f9f20f..0fef24df949 100644 --- a/htdocs/public/donations/donateurs_code.php +++ b/htdocs/public/donations/donateurs_code.php @@ -39,7 +39,7 @@ function llxHeaderVierge() { print 'Export agenda cal function llxFooterVierge() { print ''; } require '../../main.inc.php'; -require_once DOL_DOCUMENT_ROOT .'/compta/dons/class/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT .'/don/class/don.class.php'; // Security check if (empty($conf->don->enabled)) accessforbidden('',1,1,1); diff --git a/htdocs/public/donations/therm.php b/htdocs/public/donations/therm.php index 1e111567c17..7c24253dd71 100644 --- a/htdocs/public/donations/therm.php +++ b/htdocs/public/donations/therm.php @@ -27,7 +27,7 @@ define("NOCSRFCHECK",1); // We accept to go on this page from external web site. require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php'; -require_once DOL_DOCUMENT_ROOT.'/compta/dons/class/don.class.php'; +require_once DOL_DOCUMENT_ROOT.'/don/class/don.class.php'; // Security check if (empty($conf->don->enabled)) accessforbidden('',1,1,1); diff --git a/htdocs/public/test/test_arrays.php b/htdocs/public/test/test_arrays.php index cae90530d36..7cbd9898204 100644 --- a/htdocs/public/test/test_arrays.php +++ b/htdocs/public/test/test_arrays.php @@ -1,5 +1,5 @@ - - - - - - -Test page - - - - - - -" /> - - - - - --- - - + ?> + + + + + + + Test page + + + + + + + " /> + + + + + + + + - + -
    +
    - This page is a sample of page using tables. It is designed to make test with
    - css (edit page to change to test another css)
    -- jmobile (add parameter dol_use_jmobile=1 to enable view with jmobile)
    +- jmobile (add parameter dol_use_jmobile=1&dol_optimize_smallscreen=1 to enable view with jmobile)
    - dataTables
    - tablednd
    @@ -111,47 +113,27 @@ This page is a sample of page using tables. It is designed to make test with
    -


    Example 1 : Table using tags: div.tagtable+div.tagtr+div or div.tagtable+div.tagtr+div.tagtd => Use this for tables that are edited forms

    +


    Example 1 : Standard table => Use this if you need the drag and drop for lines
    + use_javascript_ajax)) include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php'; +$sortfield='aaa'; +$sortorder='ASC'; +$tasksarray=array(1,2,3); // To force having several lines +$tagidfortablednd='tablelines3'; +if (! empty($conf->use_javascript_ajax)) include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php'; ?> -
    -
    -
    line3
    -
    dfsdf
    -
    ffdsfsd
    -
    aaaa
    -
    -
    -
    line4
    -
    dfsdf
    -
    -
    bbbb
    -
    -
    -
    line5
    -
    dfsdf
    -
    -
    bbbb
    -
    - - -
    + + +trans('title1'),0,$_SERVER["PHP_SELF"],'aaa','','','align="left"',$sortfield,$sortorder); ?> +trans('title2'),0,$_SERVER["PHP_SELF"],'bbb','','','align="right"',$sortfield,$sortorder); ?> +trans('title3'),0,$_SERVER["PHP_SELF"],'ccc','','','align="center"',$sortfield,$sortorder); ?> + + + +
    a1b1c1
    a2b2c2
    +
    @@ -238,7 +220,7 @@ $('xxxth').replaceWith( - + trans('zzz'),1,$_SERVER["PHP_SELF"],'','','','align="center" class="tagtd"',$sortfield,$sortorder); ?> @@ -248,81 +230,111 @@ $('xxxth').replaceWith( - + - + - + - + - + - + - + - + - + - + - + - +
    snake
    line1 dfsdf xxx xxx
    line2 dfsdf xxx xxx
    line3 dfsdf xxx xxx
    line4 dfsdf xxx xxx
    line5 dfsdf xxx xxx
    line6 dfsdf xxx xxx
    line7 dfsdf xxx xxx
    line8 dfsdf xxx xxx
    line9 dfsdf xxx xxx
    line10 dfsdf xxx xxx
    line11 dfsdf xxx xxx
    line12 dfsdf xxx xxx

    -


    Example 3 : Standard table => Use this if you need the drag and drop for lines
    +


    Example 3 : Table using tags: div.tagtable+div.tagtr+div or div.tagtable+div.tagtr+div.tagtd => Use this, but AVOID IT if possible, for tables that need to have a different form for each line (drag and drop of lines does not work for this case, also height of title can't be forced to a minimum)

    + use_javascript_ajax)) include DOL_DOCUMENT_ROOT.'/core/tpl/ajaxrow.tpl.php'; ?> - - - - -
    title1title2
    a1b1
    a2b2
    -
    +
    +
    +
    line3
    +
    dfsdf
    +
    ffdsfsd
    +
    aaaa
    +
    +
    +
    line4
    +
    dfsdf
    +
    +
    bbbb
    +
    +
    +
    line5
    +
    dfsdf
    +
    +
    bbbb
    +
    + + +
    + + id. $get_params .'" title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip">'; + $link = ''; $picto='resource@resource'; $label=$langs->trans("ShowResource").': '.$this->ref; } - $lienfin=''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($label, $picto, 'class="classfortooltip"').$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; } } diff --git a/htdocs/societe/agenda.php b/htdocs/societe/agenda.php index 19d943798ce..e3b273796fa 100644 --- a/htdocs/societe/agenda.php +++ b/htdocs/societe/agenda.php @@ -69,7 +69,10 @@ if ($socid) $object = new Societe($db); $result = $object->fetch($socid); - llxHeader("",$langs->trans("Agenda"),''); + + $title=$langs->trans("Agenda"); + if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; + llxHeader('',$title); if (! empty($conf->notification->enabled)) $langs->load("mails"); $head = societe_prepare_head($object); diff --git a/htdocs/societe/class/address.class.php b/htdocs/societe/class/address.class.php index 68f58e41c34..db981834760 100644 --- a/htdocs/societe/class/address.class.php +++ b/htdocs/societe/class/address.class.php @@ -430,11 +430,11 @@ class Address $result=''; $label = $langs->trans("ShowAddress").': '.$this->label; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowAddress").': '.$this->label, 'address', 'class="classfortooltip"').$lienfin.' '); - $result.=$lien.$this->label.$lienfin; + if ($withpicto) $result.=($link.img_object($langs->trans("ShowAddress").': '.$this->label, 'address', 'class="classfortooltip"').$linkend.' '); + $result.=$link.$this->label.$linkend; return $result; } diff --git a/htdocs/societe/class/client.class.php b/htdocs/societe/class/client.class.php index 27209c05abd..d5ac33227c5 100644 --- a/htdocs/societe/class/client.class.php +++ b/htdocs/societe/class/client.class.php @@ -29,9 +29,12 @@ include_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; */ class Client extends Societe { - var $nb; - - /** + var $db; + + var $next_prev_filter="te.client in (1,2,3)"; // Used to add a filter in Form::showrefnav method + + + /** * Constructor * * @param DoliDB $db Database handler diff --git a/htdocs/societe/class/companybankaccount.class.php b/htdocs/societe/class/companybankaccount.class.php index 37e646d6b88..255ab6a05a6 100644 --- a/htdocs/societe/class/companybankaccount.class.php +++ b/htdocs/societe/class/companybankaccount.class.php @@ -49,6 +49,10 @@ class CompanyBankAccount extends Account var $owner_address; var $default_rib; + var $datec; + var $datem; + + /** * Constructor * @@ -174,7 +178,7 @@ class CompanyBankAccount extends Account { if (empty($id) && empty($socid)) return -1; - $sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address, default_rib, label"; + $sql = "SELECT rowid, fk_soc, bank, number, code_banque, code_guichet, cle_rib, bic, iban_prefix as iban, domiciliation, proprio, owner_address, default_rib, label, datec, tms as datem"; $sql.= " FROM ".MAIN_DB_PREFIX."societe_rib"; if ($id) $sql.= " WHERE rowid = ".$id; if ($socid) $sql.= " WHERE fk_soc = ".$socid." AND default_rib = 1"; @@ -200,6 +204,8 @@ class CompanyBankAccount extends Account $this->owner_address = $obj->owner_address; $this->label = $obj->label; $this->default_rib = $obj->default_rib; + $this->datec = $this->db->jdate($obj->datec); + $this->datem = $this->db->jdate($obj->datem); } $this->db->free($resql); diff --git a/htdocs/societe/class/societe.class.php b/htdocs/societe/class/societe.class.php index 7ce7ab44f13..2df9ba0776f 100644 --- a/htdocs/societe/class/societe.class.php +++ b/htdocs/societe/class/societe.class.php @@ -1,6 +1,6 @@ - * Copyright (C) 2004-2014 Laurent Destailleur + * Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2004 Eric Seigne * Copyright (C) 2003 Brian Fraval * Copyright (C) 2006 Andre Cianfarani @@ -42,7 +42,7 @@ class Societe extends CommonObject public $element='societe'; public $table_element = 'societe'; public $fk_element='fk_soc'; - protected $childtables=array("propal","commande","facture","contrat","facture_fourn","commande_fournisseur"); // To test if we can delete object + protected $childtables=array("askpricesupplier","propal","commande","facture","contrat","facture_fourn","commande_fournisseur","projet"); // To test if we can delete object /** * 0=No test on entity, 1=Test with field entity, 2=Test with link by societe @@ -351,6 +351,11 @@ class Societe extends CommonObject var $array_options; + // Incoterms + var $fk_incoterms; + var $location_incoterms; + var $libelle_incoterms; //Used into tooltip + /** * To contains a clone of this when we need to save old properties of object */ @@ -423,7 +428,7 @@ class Societe extends CommonObject if ($result >= 0) { - $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, fk_user_creat, canvas, status, ref_int, ref_ext, fk_stcomm, import_key)"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."societe (nom, entity, datec, fk_user_creat, canvas, status, ref_int, ref_ext, fk_stcomm, fk_incoterms, location_incoterms ,import_key)"; $sql.= " VALUES ('".$this->db->escape($this->name)."', ".$conf->entity.", '".$this->db->idate($now)."'"; $sql.= ", ".(! empty($user->id) ? "'".$user->id."'":"null"); $sql.= ", ".(! empty($this->canvas) ? "'".$this->canvas."'":"null"); @@ -431,6 +436,8 @@ class Societe extends CommonObject $sql.= ", ".(! empty($this->ref_int) ? "'".$this->ref_int."'":"null"); $sql.= ", ".(! empty($this->ref_ext) ? "'".$this->ref_ext."'":"null"); $sql.= ", 0"; + $sql.= ", ".(int) $this->fk_incoterms; + $sql.= ", '".$this->db->escape($this->location_incoterms)."'"; $sql.= ", ".(! empty($this->import_key) ? "'".$this->import_key."'":"null").")"; dol_syslog(get_class($this)."::create", LOG_DEBUG); @@ -730,6 +737,10 @@ class Societe extends CommonObject $this->webservices_url = $this->webservices_url?clean_url($this->webservices_url,0):''; $this->webservices_key = trim($this->webservices_key); + //Incoterms + $this->fk_incoterms = (int) $this->fk_incoterms; + $this->location_incoterms = trim($this->location_incoterms); + $this->db->begin(); // Check name is required and codes are ok or unique. @@ -813,6 +824,10 @@ class Societe extends CommonObject $sql .= ",webservices_url = ".(! empty($this->webservices_url)?"'".$this->db->escape($this->webservices_url)."'":"null"); $sql .= ",webservices_key = ".(! empty($this->webservices_key)?"'".$this->db->escape($this->webservices_key)."'":"null"); + //Incoterms + $sql.= ", fk_incoterms = ".$this->fk_incoterms; + $sql.= ", location_incoterms = ".(! empty($this->location_incoterms)?"'".$this->db->escape($this->location_incoterms)."'":"null"); + if ($customer) { $sql .= ", code_client = ".(! empty($this->code_client)?"'".$this->db->escape($this->code_client)."'":"null"); @@ -952,7 +967,7 @@ class Societe extends CommonObject * @param string $idprof2 Prof id 2 of third party (Warning, this can return several records) * @param string $idprof3 Prof id 3 of third party (Warning, this can return several records) * @param string $idprof4 Prof id 4 of third party (Warning, this can return several records) - * @return int >0 if OK, <0 if KO or if two records found for same ref or idprof. + * @return int >0 if OK, <0 if KO or if two records found for same ref or idprof, 0 if not found. */ function fetch($rowid, $ref='', $ref_ext='', $ref_int='', $idprof1='',$idprof2='',$idprof3='',$idprof4='') { @@ -975,13 +990,14 @@ class Societe extends CommonObject $sql .= ', s.code_client, s.code_fournisseur, s.code_compta, s.code_compta_fournisseur, s.parent, s.barcode'; $sql .= ', s.fk_departement, s.fk_pays as country_id, s.fk_stcomm, s.remise_client, s.mode_reglement, s.cond_reglement, s.tva_assuj'; $sql .= ', s.mode_reglement_supplier, s.cond_reglement_supplier, s.localtax1_assuj, s.localtax1_value, s.localtax2_assuj, s.localtax2_value, s.fk_prospectlevel, s.default_lang, s.logo'; - $sql .= ', s.outstanding_limit, s.import_key, s.canvas'; + $sql .= ', s.outstanding_limit, s.import_key, s.canvas, s.fk_incoterms, s.location_incoterms'; $sql .= ', fj.libelle as forme_juridique'; $sql .= ', e.libelle as effectif'; $sql .= ', c.code as country_code, c.label as country'; $sql .= ', d.code_departement as state_code, d.nom as state'; $sql .= ', st.libelle as stcomm'; $sql .= ', te.code as typent_code'; + $sql .= ', i.libelle as libelle_incoterms'; $sql .= ' FROM '.MAIN_DB_PREFIX.'societe as s'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_effectif as e ON s.fk_effectif = e.id'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_country as c ON s.fk_pays = c.rowid'; @@ -989,6 +1005,7 @@ class Societe extends CommonObject $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_forme_juridique as fj ON s.fk_forme_juridique = fj.code'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_departements as d ON s.fk_departement = d.rowid'; $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_typent as te ON s.fk_typent = te.id'; + $sql .= ' LEFT JOIN '.MAIN_DB_PREFIX.'c_incoterms as i ON s.fk_incoterms = i.rowid'; if ($rowid) $sql .= ' WHERE s.rowid = '.$rowid; if ($ref) $sql .= " WHERE s.nom = '".$this->db->escape($ref)."' AND s.entity IN (".getEntity($this->element, 1).")"; if ($ref_ext) $sql .= " WHERE s.ref_ext = '".$this->db->escape($ref_ext)."' AND s.entity IN (".getEntity($this->element, 1).")"; @@ -1007,7 +1024,7 @@ class Societe extends CommonObject { $this->error='Fetch several records found for ref='.$ref; dol_syslog($this->error, LOG_ERR); - $result = -1; + $result = -2; } if ($num) { @@ -1117,6 +1134,11 @@ class Societe extends CommonObject $this->import_key = $obj->import_key; + //Incoterms + $this->fk_incoterms = $obj->fk_incoterms; + $this->location_incoterms = $obj->location_incoterms; + $this->libelle_incoterms = $obj->libelle_incoterms; + $result = 1; // Retreive all extrafield for thirdparty @@ -1127,17 +1149,15 @@ class Societe extends CommonObject $this->fetch_optionals($this->id,$extralabels); } else - { - $this->error='Fetch no third party found for id='.$rowid; - dol_syslog($this->error, LOG_ERR); - $result = -2; + { + $result = 0; } $this->db->free($resql); } else - { - $this->error=$this->db->error(); + { + $this->error=$this->db->lasterror(); $result = -3; } @@ -1157,12 +1177,21 @@ class Societe extends CommonObject * @param boolean $case Case sensitive (true/false) * @param boolean $similar Add test if string inside name into database, or name into database inside string. Do not use this: Not compatible with other database. * @param string $clause Clause for filters - * @return array Array of thirdparties object + * @return array|int <0 if KO, array of thirdparties object if OK */ function searchByName($name, $type='0', $filters = array(), $exact = false, $case = false, $similar = false, $clause = 'AND') { $thirdparties = array(); + dol_syslog("searchByName name=".$name." type=".$type." exact=".$exact); + + // Check parameter + if (empty($name)) + { + $this->errors[]='ErrorBadValueForParameter'; + return -1; + } + // Generation requete recherche $sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe"; $sql.= " WHERE entity IN (".getEntity('category',1).")"; @@ -1241,7 +1270,7 @@ class Societe extends CommonObject } else { - $this->error=$this->db->error().' sql='.$sql; + $this->error=$this->db->lasterror(); return -1; } } @@ -1721,41 +1750,41 @@ class Societe extends CommonObject } $result=''; $label=''; - $lien=''; $lienfin=''; + $link=''; $linkend=''; $label.= '
    '; if ($option == 'customer' || $option == 'compta') { $label.= '' . $langs->trans("ShowCustomer") . ''; - $lien = 'global->SOCIETE_DISABLE_PROSPECTS)) { $label.= '' . $langs->trans("ShowProspect") . ''; - $lien = 'trans("ShowSupplier") . ''; - $lien = 'trans("ShowCategory") . ''; - $lien = 'trans("ShowCategorySupplier") . ''; - $lien = 'trans("ShowCompany") . ''; - $lien = '
    '; - //if (! is_object($form)) $form = new Form($db); + $label.= '
    '; + //if (! is_object($form)) $form = new Form($db); $label.= Form::showphoto('societe', $this, 80); + $label.= '
    '; } $label.= '
    '; // Add type of canvas - $lien.=(!empty($this->canvas)?'&canvas='.$this->canvas:'').'"'; - $lien.=($notooltip?'':' title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip"'); - $lien.='>'; - $lienfin='
    '; + $link.=(!empty($this->canvas)?'&canvas='.$this->canvas:'').'"'; + $link.=($notooltip?'':' title="'.dol_escape_htmltag($label, 1).'" class="classfortooltip"'); + $link.='>'; + $linkend=''; - if ($withpicto) $result.=($lien.img_object(($notooltip?'':$label), 'company', ($notooltip?'':'class="classfortooltip"')).$lienfin); + if ($withpicto) $result.=($link.img_object(($notooltip?'':$label), 'company', ($notooltip?'':'class="classfortooltip"')).$linkend); if ($withpicto && $withpicto != 2) $result.=' '; - $result.=$lien.($maxlen?dol_trunc($name,$maxlen):$name).$lienfin; + $result.=$link.($maxlen?dol_trunc($name,$maxlen):$name).$linkend; return $result; } @@ -2067,6 +2097,7 @@ class Societe extends CommonObject return $bac->getRibLabel(true); } + /** * Return Array of RIB * diff --git a/htdocs/societe/consumption.php b/htdocs/societe/consumption.php index d8aad10d054..8b8f3755fff 100644 --- a/htdocs/societe/consumption.php +++ b/htdocs/societe/consumption.php @@ -98,8 +98,10 @@ $form = new Form($db); $formother = new FormOther($db); $productstatic=new Product($db); -$titre = $langs->trans("Referer",$object->name); -llxHeader('',$titre,''); +$title = $langs->trans("Referer",$object->name); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name." - ".$title; +$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('',$title,$help_url); if (empty($socid)) { @@ -311,7 +313,7 @@ print ''; print ''; print ''; print ''; -print ''; // date +print ''; // date print $formother->select_month($month?$month:-1,'month',1); $formother->select_year($year?$year:-1,'year',1, 20, 1); print ''; diff --git a/htdocs/societe/document.php b/htdocs/societe/document.php index c2ad751f196..f3c217d0a54 100644 --- a/htdocs/societe/document.php +++ b/htdocs/societe/document.php @@ -82,8 +82,10 @@ include_once DOL_DOCUMENT_ROOT . '/core/tpl/document_actions_pre_headers.tpl.php $form = new Form($db); +$title=$langs->trans("ThirdParty").' - '.$langs->trans("Files"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name.' - '.$langs->trans("Files"); $help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; -llxHeader('',$langs->trans("ThirdParty").' - '.$langs->trans("Files"),$help_url); +llxHeader('',$title,$help_url); if ($object->id) { diff --git a/htdocs/societe/info.php b/htdocs/societe/info.php index 9d06d203d9c..b3586c4f327 100644 --- a/htdocs/societe/info.php +++ b/htdocs/societe/info.php @@ -56,16 +56,16 @@ if ($reshook < 0) setEventMessages($hookmanager->error, $hookmanager->errors, 'e * View */ -$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; -llxHeader('',$langs->trans("ThirdParty"),$help_url); - $object = new Societe($db); $object->fetch($socid); $object->info($socid); -/* - * Affichage onglets - */ +$title=$langs->trans("ThirdParty"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name.' - '.$langs->trans("Info"); +$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('',$title,$help_url); + + $head = societe_prepare_head($object); dol_fiche_head($head, 'info', $langs->trans("ThirdParty"),0,'company'); diff --git a/htdocs/societe/notify/card.php b/htdocs/societe/notify/card.php index 1845669dcfc..2e63d243526 100644 --- a/htdocs/societe/notify/card.php +++ b/htdocs/societe/notify/card.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/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/contact/class/contact.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/triggers/interface_50_modNotification_Notification.class.php'; @@ -123,11 +124,15 @@ if ($action == 'delete') $form = new Form($db); -llxHeader(); - $object = new Societe($db); $result=$object->fetch($socid); +$title=$langs->trans("ThirdParty").' - '.$langs->trans("Notification"); +if (! empty($conf->global->MAIN_HTML_TITLE) && preg_match('/thirdpartynameonly/',$conf->global->MAIN_HTML_TITLE) && $object->name) $title=$object->name.' - '.$langs->trans("Notification"); +$help_url='EN:Module_Third_Parties|FR:Module_Tiers|ES:Empresas'; +llxHeader('',$title,$help_url); + + if ($result > 0) { $langs->load("other"); @@ -169,24 +174,8 @@ if ($result > 0) print ''.$langs->trans("NbOfActiveNotifications").''; print ''; - $sql = "SELECT COUNT(n.rowid) as nb"; - $sql.= " FROM ".MAIN_DB_PREFIX."notify_def as n"; - $sql.= " WHERE fk_soc = ".$object->id; - $resql=$db->query($sql); - if ($resql) - { - $num = $db->num_rows($resql); - $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($resql); - $nb=$obj->nb; - $i++; - } - } - else { - dol_print_error($db); - } + $notify=new Notify($db); + $nb = $notify->countDefinedNotifications('', $object->id); print $nb; print ''; print ''; @@ -273,16 +262,26 @@ if ($result > 0) foreach($conf->global as $key => $val) { if (! preg_match('/^NOTIFICATION_FIXEDEMAIL_(.*)/', $key, $reg)) continue; - //print $key.' - '.$val.' - '.$reg[1].'
    '; - print ''.$val; - if (isValidEmail($val)) + $var = ! $var; + print ''; + $listtmp=explode(',',$val); + $first=1; + foreach($listtmp as $keyemail => $valemail) { - print ' <'.$val.'>'; - } - else - { - $langs->load("errors"); - print '   '.img_warning().' '.$langs->trans("ErrorBadEMail",$val); + if (! $first) print ', '; + $first=0; + $valemail=trim($valemail); + //print $keyemail.' - '.$valemail.' - '.$reg[1].'
    '; + if (isValidEmail($valemail, 1)) + { + if ($valemail == '__SUPERVISOREMAIL__') print $valemail; + else print ' <'.$valemail.'>'; + } + else + { + $langs->load("errors"); + print ' '.img_warning().' '.$langs->trans("ErrorBadEMail",$valemail); + } } print ''; print ''; @@ -292,7 +291,7 @@ if ($result > 0) print ''; print $langs->trans("Email"); print ''; - print ''.$langs->trans("SeeModuleSetup").''; + print ''.$langs->trans("SeeModuleSetup", $langs->transnoentitiesnoconv("Module600Name")).''; print ''; } diff --git a/htdocs/societe/rib.php b/htdocs/societe/rib.php index 2a21f6cdc87..dd2e0e4d21b 100644 --- a/htdocs/societe/rib.php +++ b/htdocs/societe/rib.php @@ -29,6 +29,7 @@ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/bank.lib.php'; require_once DOL_DOCUMENT_ROOT.'/societe/class/companybankaccount.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; $langs->load("companies"); $langs->load("commercial"); @@ -191,6 +192,7 @@ if ($action == 'confirm_delete' && $_GET['confirm'] == 'yes') */ $form = new Form($db); +$prelevement = new BonPrelevement($db); llxHeader(); @@ -336,11 +338,11 @@ if ($socid && $action != 'edit' && $action != "create") print "
    "; - + /* * List of bank accounts */ - + print_titre($langs->trans("AllRIB")); $rib_list = $soc->get_all_rib(); @@ -355,6 +357,10 @@ if ($socid && $action != 'edit' && $action != "create") print_liste_field_titre($langs->trans("RIB")); print_liste_field_titre($langs->trans("IBAN")); print_liste_field_titre($langs->trans("BIC")); + if (! empty($conf->prelevement->enabled)) + { + print 'RUM'; + } print_liste_field_titre($langs->trans("DefaultRIB"), '', '', '', '', 'align="center"'); print ''; print ''; @@ -372,6 +378,12 @@ if ($socid && $action != 'edit' && $action != "create") print ''.$rib->iban.''; // BIC print ''.$rib->bic.''; + + if (! empty($conf->prelevement->enabled)) + { + print ''.$prelevement->buildRumNumber($soc->code_client, $rib->datec, $rib->id).''; + } + // Default print ''; if (!$rib->default_rib) { diff --git a/htdocs/societe/soc.php b/htdocs/societe/soc.php index 72dfc8931b8..84b47983d5c 100644 --- a/htdocs/societe/soc.php +++ b/htdocs/societe/soc.php @@ -45,6 +45,7 @@ $langs->load("commercial"); $langs->load("bills"); $langs->load("banks"); $langs->load("users"); +if (!empty($conf->incoterm->enabled)) $langs->load("incoterm"); if (! empty($conf->notification->enabled)) $langs->load("mails"); $mesg=''; $error=0; $errors=array(); @@ -62,6 +63,10 @@ $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('thirdpartycard','globalcard')); + + // Get object canvas (By default, this is not defined, so standard usage of dolibarr) $object->getCanvas($socid); $canvas = $object->canvas?$object->canvas:GETPOST("canvas"); @@ -76,8 +81,6 @@ if (! empty($canvas)) // Security check $result = restrictedArea($user, 'societe', $socid, '&societe', '', 'fk_soc', 'rowid', $objcanvas); -// Initialize technical object to manage hooks of thirdparties. Note that conf->hooks_modules contains array array -$hookmanager->initHooks(array('thirdpartycard','globalcard')); /* @@ -191,6 +194,12 @@ if (empty($reshook)) $object->webservices_url = GETPOST('webservices_url', 'custom', 0, FILTER_SANITIZE_URL); $object->webservices_key = GETPOST('webservices_key', 'san_alpha'); + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('location_incoterms', 'alpha'); + } // Fill array 'array_options' with data from add form $ret = $extrafields->setOptionalsFromPost($extralabels,$object); if ($ret < 0) $error++; @@ -518,6 +527,12 @@ if (empty($reshook)) $result = $object->set_parent(GETPOST('editparentcompany','int')); } + // Set incoterm + if ($action == 'set_incoterms' && !empty($conf->incoterm->enabled)) + { + $object->fetch($socid); + $result = $object->setIncoterms(GETPOST('incoterm_id', 'int'), GETPOST('location_incoterms', 'alpha')); + } // Actions to send emails $id=$socid; @@ -1079,6 +1094,16 @@ else print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:'')); + print ''; + } + // Other attributes $parameters=array('colspan' => ' colspan="3"', 'colspanvalue' => '3'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook @@ -1201,6 +1226,13 @@ else $object->webservices_url = GETPOST('webservices_url', 'custom', 0, FILTER_SANITIZE_URL); $object->webservices_key = GETPOST('webservices_key', 'san_alpha'); + //Incoterms + if (!empty($conf->incoterm->enabled)) + { + $object->fk_incoterms = GETPOST('incoterm_id', 'int'); + $object->location_incoterms = GETPOST('lcoation_incoterms', 'alpha'); + } + //Local Taxes $object->localtax1_assuj = GETPOST('localtax1assuj_value'); $object->localtax2_assuj = GETPOST('localtax2assuj_value'); @@ -1588,6 +1620,16 @@ else print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print ''; + print ''; + print $form->select_incoterms((!empty($object->fk_incoterms) ? $object->fk_incoterms : ''), (!empty($object->location_incoterms)?$object->location_incoterms:'')); + print ''; + } + // Logo print ''; print ''; @@ -1974,6 +2016,29 @@ else print ''; } + // Incoterms + if (!empty($conf->incoterm->enabled)) + { + print ''; + print '
    '; + print $langs->trans('IncotermLabel'); + print ''; + if ($user->rights->societe->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'].'?socid='.$object->id); + } + print ''; + } + // Other attributes $parameters=array('socid'=>$socid, 'colspan' => ' colspan="3"', 'colspanvalue' => '3'); $reshook=$hookmanager->executeHooks('formObjectOptions',$parameters,$object,$action); // Note that $action and $object may have been modified by hook diff --git a/htdocs/support/inc.php b/htdocs/support/inc.php index 58b9de1d38c..c5f74469faa 100644 --- a/htdocs/support/inc.php +++ b/htdocs/support/inc.php @@ -225,7 +225,7 @@ function pHeader($soutitre,$next,$action='none') /** * Print HTML footer * - * @param string $nonext No button "Next step" + * @param integer $nonext No button "Next step" * @param string $setuplang Language code * @return void */ diff --git a/htdocs/theme/amarok/style.css.php b/htdocs/theme/amarok/style.css.php index bd41d0735a5..c7f3d27dcfb 100644 --- a/htdocs/theme/amarok/style.css.php +++ b/htdocs/theme/amarok/style.css.php @@ -1125,6 +1125,24 @@ td.formdocbutton {padding-top:6px;} ); color:white; } +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} + /* ============================================================================== */ /* Tables */ diff --git a/htdocs/theme/auguria/style.css.php b/htdocs/theme/auguria/style.css.php index 35e0cdd36c9..7278521e092 100644 --- a/htdocs/theme/auguria/style.css.php +++ b/htdocs/theme/auguria/style.css.php @@ -184,6 +184,23 @@ legend { margin-bottom: 8px; } padding: 0px 2px 0px 2px; margin: 0px 0px 0px 0px; } +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} form { padding: 0em 0em 0em 0em; margin: 0em 0em 0em 0em; diff --git a/htdocs/theme/bureau2crea/style.css.php b/htdocs/theme/bureau2crea/style.css.php index b720bd4a802..31071f0b10c 100644 --- a/htdocs/theme/bureau2crea/style.css.php +++ b/htdocs/theme/bureau2crea/style.css.php @@ -209,6 +209,23 @@ legend { margin-bottom: 8px; } padding: 0px 2px 0px 2px; margin: 0px 0px 0px 0px; } +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} form { padding: 0em 0em 0em 0em; margin: 0em 0em 0em 0em; diff --git a/htdocs/theme/cameleo/style.css.php b/htdocs/theme/cameleo/style.css.php index a49ad6daaec..d09cb844b88 100644 --- a/htdocs/theme/cameleo/style.css.php +++ b/htdocs/theme/cameleo/style.css.php @@ -185,6 +185,23 @@ legend { margin-bottom: 8px; } padding: 0px 2px 0px 2px; margin: 0px 0px 0px 0px; } +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} form { padding: 0em 0em 0em 0em; margin: 0em 0em 0em 0em; diff --git a/htdocs/theme/eldy/ckeditor/config.js b/htdocs/theme/eldy/ckeditor/config.js index 97f1c0a0b62..cffaadfba6e 100644 --- a/htdocs/theme/eldy/ckeditor/config.js +++ b/htdocs/theme/eldy/ckeditor/config.js @@ -76,7 +76,7 @@ CKEDITOR.editorConfig = function( config ) [ ['Source','Maximize'], ['Cut','Copy','Paste','-','SpellChecker'], - ['Font','FontSize'], + ['Format','Font','FontSize'], ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], ['NumberedList','BulletedList','Outdent','Indent'], ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], diff --git a/htdocs/theme/eldy/img/menus_black/agenda.png b/htdocs/theme/eldy/img/menus_black/agenda.png new file mode 100644 index 00000000000..eb4c8d2bea2 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/agenda.png differ diff --git a/htdocs/theme/eldy/img/menus_black/agenda_over.png b/htdocs/theme/eldy/img/menus_black/agenda_over.png new file mode 100644 index 00000000000..93c5a814bc3 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/agenda_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/bank.png b/htdocs/theme/eldy/img/menus_black/bank.png new file mode 100644 index 00000000000..ee7b17fe7f9 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/bank.png differ diff --git a/htdocs/theme/eldy/img/menus_black/bank_over.png b/htdocs/theme/eldy/img/menus_black/bank_over.png new file mode 100644 index 00000000000..c916e89d8f6 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/bank_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/commercial.png b/htdocs/theme/eldy/img/menus_black/commercial.png new file mode 100644 index 00000000000..19abbd54356 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/commercial.png differ diff --git a/htdocs/theme/eldy/img/menus_black/commercial_over.png b/htdocs/theme/eldy/img/menus_black/commercial_over.png new file mode 100644 index 00000000000..6671810c5de Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/commercial_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/company.png b/htdocs/theme/eldy/img/menus_black/company.png new file mode 100644 index 00000000000..d6381eab1e4 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/company.png differ diff --git a/htdocs/theme/eldy/img/menus_black/company_over.png b/htdocs/theme/eldy/img/menus_black/company_over.png new file mode 100644 index 00000000000..ca172c460ac Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/company_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/ecm.png b/htdocs/theme/eldy/img/menus_black/ecm.png new file mode 100644 index 00000000000..4c179311bb6 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/ecm.png differ diff --git a/htdocs/theme/eldy/img/menus_black/ecm_over.png b/htdocs/theme/eldy/img/menus_black/ecm_over.png new file mode 100644 index 00000000000..a44830798aa Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/ecm_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/externalsite.png b/htdocs/theme/eldy/img/menus_black/externalsite.png new file mode 100644 index 00000000000..27077673074 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/externalsite.png differ diff --git a/htdocs/theme/eldy/img/menus_black/externalsite_over.png b/htdocs/theme/eldy/img/menus_black/externalsite_over.png new file mode 100644 index 00000000000..2435f2fed0e Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/externalsite_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/ftp.png b/htdocs/theme/eldy/img/menus_black/ftp.png new file mode 100644 index 00000000000..d8d235f3a1a Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/ftp.png differ diff --git a/htdocs/theme/eldy/img/menus_black/ftp_over.png b/htdocs/theme/eldy/img/menus_black/ftp_over.png new file mode 100644 index 00000000000..a50a6814b6c Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/ftp_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic1.png b/htdocs/theme/eldy/img/menus_black/generic1.png new file mode 100644 index 00000000000..8238aa372a2 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic1.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic1_over.png b/htdocs/theme/eldy/img/menus_black/generic1_over.png new file mode 100644 index 00000000000..77acb2ee99e Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic1_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic2.png b/htdocs/theme/eldy/img/menus_black/generic2.png new file mode 100644 index 00000000000..39c3cb2a249 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic2.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic2_over.png b/htdocs/theme/eldy/img/menus_black/generic2_over.png new file mode 100644 index 00000000000..84c4c7e4a57 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic2_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic3.png b/htdocs/theme/eldy/img/menus_black/generic3.png new file mode 100644 index 00000000000..9555adba72c Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic3.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic3_over.png b/htdocs/theme/eldy/img/menus_black/generic3_over.png new file mode 100644 index 00000000000..03e9eecd933 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic3_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic4.png b/htdocs/theme/eldy/img/menus_black/generic4.png new file mode 100644 index 00000000000..bd6c5196431 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic4.png differ diff --git a/htdocs/theme/eldy/img/menus_black/generic4_over.png b/htdocs/theme/eldy/img/menus_black/generic4_over.png new file mode 100644 index 00000000000..b7feb7fb238 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/generic4_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/globe.png b/htdocs/theme/eldy/img/menus_black/globe.png new file mode 100644 index 00000000000..04bd3fc25ce Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/globe.png differ diff --git a/htdocs/theme/eldy/img/menus_black/globe_over.png b/htdocs/theme/eldy/img/menus_black/globe_over.png new file mode 100644 index 00000000000..e3676a44faa Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/globe_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/home.png b/htdocs/theme/eldy/img/menus_black/home.png new file mode 100644 index 00000000000..c210b4f8dcd Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/home.png differ diff --git a/htdocs/theme/eldy/img/menus_black/home_over.png b/htdocs/theme/eldy/img/menus_black/home_over.png new file mode 100644 index 00000000000..505d18ab403 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/home_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/mail.png b/htdocs/theme/eldy/img/menus_black/mail.png new file mode 100644 index 00000000000..ee3d9d81dda Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/mail.png differ diff --git a/htdocs/theme/eldy/img/menus_black/mail_over.png b/htdocs/theme/eldy/img/menus_black/mail_over.png new file mode 100644 index 00000000000..61333228ef4 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/mail_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/members.png b/htdocs/theme/eldy/img/menus_black/members.png new file mode 100644 index 00000000000..14213093700 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/members.png differ diff --git a/htdocs/theme/eldy/img/menus_black/members_over.png b/htdocs/theme/eldy/img/menus_black/members_over.png new file mode 100644 index 00000000000..4698496f5f8 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/members_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/money.png b/htdocs/theme/eldy/img/menus_black/money.png new file mode 100644 index 00000000000..a09188c39e5 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/money.png differ diff --git a/htdocs/theme/eldy/img/menus_black/money_over.png b/htdocs/theme/eldy/img/menus_black/money_over.png new file mode 100644 index 00000000000..fba1c91e05b Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/money_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/pointofsale.png b/htdocs/theme/eldy/img/menus_black/pointofsale.png new file mode 100644 index 00000000000..2d428154491 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/pointofsale.png differ diff --git a/htdocs/theme/eldy/img/menus_black/pointofsale_over.png b/htdocs/theme/eldy/img/menus_black/pointofsale_over.png new file mode 100644 index 00000000000..4549e2c4611 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/pointofsale_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/products.png b/htdocs/theme/eldy/img/menus_black/products.png new file mode 100644 index 00000000000..e4edc0f31e2 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/products.png differ diff --git a/htdocs/theme/eldy/img/menus_black/products_over.png b/htdocs/theme/eldy/img/menus_black/products_over.png new file mode 100644 index 00000000000..100edf445f1 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/products_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/project.png b/htdocs/theme/eldy/img/menus_black/project.png new file mode 100644 index 00000000000..b015297bf0d Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/project.png differ diff --git a/htdocs/theme/eldy/img/menus_black/project_over.png b/htdocs/theme/eldy/img/menus_black/project_over.png new file mode 100644 index 00000000000..bec7144c109 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/project_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/shop.png b/htdocs/theme/eldy/img/menus_black/shop.png new file mode 100644 index 00000000000..fd1fe4b5785 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/shop.png differ diff --git a/htdocs/theme/eldy/img/menus_black/shop_over.png b/htdocs/theme/eldy/img/menus_black/shop_over.png new file mode 100644 index 00000000000..aad451b8f4a Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/shop_over.png differ diff --git a/htdocs/theme/eldy/img/menus_black/tools.png b/htdocs/theme/eldy/img/menus_black/tools.png new file mode 100644 index 00000000000..fff7aa2baa8 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/tools.png differ diff --git a/htdocs/theme/eldy/img/menus_black/tools_over.png b/htdocs/theme/eldy/img/menus_black/tools_over.png new file mode 100644 index 00000000000..fa4ff3aded1 Binary files /dev/null and b/htdocs/theme/eldy/img/menus_black/tools_over.png differ diff --git a/htdocs/theme/eldy/img/object_askpricesupplier.png b/htdocs/theme/eldy/img/object_askpricesupplier.png new file mode 100644 index 00000000000..2dc60e66b3e Binary files /dev/null and b/htdocs/theme/eldy/img/object_askpricesupplier.png differ diff --git a/htdocs/theme/eldy/style.css.php b/htdocs/theme/eldy/style.css.php index ccf54a6f9b5..aa9cc9fe862 100644 --- a/htdocs/theme/eldy/style.css.php +++ b/htdocs/theme/eldy/style.css.php @@ -319,6 +319,7 @@ fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #DDD; } display: inline-block; padding: 4px 14px; margin-bottom: 0; + margin-top: 0; text-align: center; cursor: pointer; color: #333333; @@ -361,6 +362,15 @@ fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #DDD; } -moz-box-shadow: none; cursor: auto; } +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} form { padding:0px; margin:0px; @@ -434,11 +444,13 @@ textarea.centpercent { .movable { cursor: move; } - .borderrightlight { border-right: 1px solid #DDD; } +#formuserfile_link { + margin-left: 1px; +} /* ============================================================================== */ /* Styles to hide objects */ @@ -671,7 +683,7 @@ div.tmenuleft dol_optimize_smallscreen)) { ?> width: 5px; height: px; - background: url() 0 0 no-repeat; + background: url() 0 -6px no-repeat; } div.tmenucenter @@ -831,9 +843,6 @@ foreach($mainmenuusedarray as $val) .bodylogin { background: #f0f0f0; - /* -moz-box-shadow: inset 0 0 10px #000000; - -webkit-box-shadow: inset 0 0 10px #000000; - box-shadow: inset 0 0 10px #000000; */ } .login_vertical_align { padding: 10px; @@ -939,7 +948,7 @@ div.login a:hover { text-decoration:underline; } div.login_block_user, div.login_block_other { clear: both; } -div.login_block_other { padding-top: 3px; } +div.login_block_other { padding-top: 3px; text-align: right; } .login_block_elem { float: right; vertical-align: top; @@ -997,6 +1006,7 @@ div.vmenu, td.vmenu { } .menu_contenu { padding-top: 1px; } +#menu_contenu_logo { padding-right: 4px; } a.vmenu:link, a.vmenu:visited, a.vmenu:hover, a.vmenu:active { font-size:px; font-family: ; text-align: ; font-weight: bold; } font.vmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: bold; color: #93a5aa; } @@ -1384,10 +1394,10 @@ div.tabsElem { margin-top: 8px; } /* To avoid overlap of tabs when not browser div.tabBar { color: #; - padding-top: 9px; - padding-left: px; - padding-right: px; - padding-bottom: 8px; + padding-top: px; + padding-left: px; + padding-right: px; + padding-bottom: px; margin: 0px 0px 14px 0px; -moz-border-radius:6px; -webkit-border-radius: 6px; @@ -1735,22 +1745,23 @@ table.noborder, table.formdoc, div.noborder { border-spacing: 0px; border-right-width: 1px; - border-right-color: #BBBBBB; + border-right-color: #CCC; border-right-style: solid; - border-left-width: 1px; - border-left-color: #B0B0B0; - border-left-style: solid; - +/* border-bottom-width: 1px; border-bottom-color: #BBBBBB; border-bottom-style: solid; +*/ + border-left-width: 1px; + border-left-color: #CCC; + border-left-style: solid; margin: 0px 0px 2px 0px; - -moz-box-shadow: 2px 2px 4px #DDD; - -webkit-box-shadow: 2px 2px 4px #DDD; - box-shadow: 2px 2px 4px #DDD; + -moz-box-shadow: 2px 2px 4px #CCC; + -webkit-box-shadow: 2px 2px 4px #CCC; + box-shadow: 2px 2px 4px #CCC; -moz-border-radius: 0.2em; -webkit-border-radius: 0.2em; @@ -1767,7 +1778,7 @@ table.noborder tr, div.noborder form { border-left-width: 1px; border-left-color: #BBBBBB; border-left-style: solid; - height: 20px; + height: 26px; } table.noborder th, table.noborder td, div.noborder form, div.noborder form div { @@ -1791,27 +1802,29 @@ table.nobordernopadding td { table.liste { width: 100%; + border-collapse: collapse; border-top-color: #FEFEFE; border-right-width: 1px; - border-right-color: #BBBBBB; + border-right-color: #CCC; border-right-style: solid; - border-left-width: 1px; - border-left-color: #CCCCCC; - border-left-style: solid; - +/* border-bottom-width: 1px; border-bottom-color: #BBBBBB; border-bottom-style: solid; +*/ + border-left-width: 1px; + border-left-color: #CCC; + border-left-style: solid; margin-bottom: 2px; margin-top: 0px; - -moz-box-shadow: 3px 3px 4px #DDD; - -webkit-box-shadow: 3px 3px 4px #DDD; - box-shadow: 3px 3px 4px #DDD; + -moz-box-shadow: 0px 3px 4px #CCC; + -webkit-box-shadow: 0px 3px 4px #CC; + box-shadow: 0px 3px 4px #CCC; } table.liste td { padding-right: 2px; @@ -1885,6 +1898,7 @@ table.liste td { } .pair, .nohover .pair:hover, tr.pair td.nohover { +/* background: linear-gradient(bottom, rgb() 85%, rgb() 100%); background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); @@ -1894,13 +1908,24 @@ table.liste td { background: #ffffff; +*/ font-family: ; border: 0px; margin-bottom: 1px; color: #202020; + + background-color: #f9f9f9; +} +tr.pair td, tr.impair td { + padding: 4px; + border-bottom: 1px solid #ddd; +} +div.liste_titre .tagtd { + vertical-align: middle; +} +div.liste_titre { + min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height doe not work either for div */ } - - tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable.tr { height: 26px !important; @@ -1961,6 +1986,7 @@ input.liste_titre { color: #332266; font-weight: normal; white-space: nowrap; + padding: 4px; } @@ -2018,7 +2044,7 @@ div.tabBar .noborder { } tr.box_titre { - height: 20px; + height: 26px; background: rgb(); background-repeat: repeat-x; @@ -2054,8 +2080,9 @@ tr.box_impair { font-family: ; } + tr.box_pair { - +/* background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); @@ -2064,7 +2091,15 @@ tr.box_pair { background: #ffffff; +*/ font-family: ; + + background-color: #f9f9f9; +} + +tr.box_pair td, tr.box_impair td { + padding: 4px; + border-bottom: 1px solid #ddd; } .formboxfilter { @@ -2168,6 +2203,13 @@ div.dolgraph div.legend table tbody tr { height: auto; } margin-bottom: 2px; margin-top: 2px; } +.photointooltip { + -webkit-box-shadow: -1px -1px 5px #777; + -moz-box-shadow: -1px -1px 5px #777; + box-shadow: -1px -1px 5px #777; + margin-top: 6px; + float: left; +} .logo_setup { @@ -2288,6 +2330,7 @@ border-radius: 6px; #tiptip_content { background-color: rgb(252,248,246); background-color: rgba(252,248,246,0.95); + line-height: 1.4em; } /* ============================================================================== */ @@ -2915,7 +2958,10 @@ div.dolEventError h1, div.dolEventError h2 { { text-decoration: underline !important; } - +.paginate_button +{ + font-weight: normal !important; +} /* For jquery plugin combobox */ /* Disable this. It breaks wrapping of boxes .ui-corner-all { white-space: nowrap; } */ @@ -2940,7 +2986,10 @@ div.dolEventError h1, div.dolEventError h2 { { border: 1px solid #aaa; } - +.select2-disabled +{ + color: #888; +} .select2-drop-active { border: 1px solid #aaa; diff --git a/htdocs/theme/md_exp/.gitignore b/htdocs/theme/md_exp/.gitignore new file mode 100644 index 00000000000..134509791a9 --- /dev/null +++ b/htdocs/theme/md_exp/.gitignore @@ -0,0 +1 @@ +/*.new diff --git a/htdocs/theme/md_exp/AUTHOR b/htdocs/theme/md_exp/AUTHOR new file mode 100644 index 00000000000..f04e8a95239 --- /dev/null +++ b/htdocs/theme/md_exp/AUTHOR @@ -0,0 +1 @@ +2003-2004 Laurent Destailleur diff --git a/htdocs/theme/md_exp/ckeditor/config.js b/htdocs/theme/md_exp/ckeditor/config.js new file mode 100644 index 00000000000..cffaadfba6e --- /dev/null +++ b/htdocs/theme/md_exp/ckeditor/config.js @@ -0,0 +1,92 @@ +/* +Copyright (c) 2003-2010, CKSource - Frederico Knabben. All rights reserved. +For licensing, see LICENSE.html or http://ckeditor.com/license +*/ + +CKEDITOR.editorConfig = function( config ) +{ + // Define changes to default configuration here. + // http://docs.cksource.com/CKEditor_3.x/Developers_Guide + // http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html + config.enterMode = CKEDITOR.ENTER_BR; + config.resize_enabled = false; + //config.resize_maxHeight = 3000; + //config.resize_maxWidth = 3000; + //config.height = '300px'; + //config.resize_dir = 'vertical'; // horizontal, vertical, both + config.removePlugins = 'elementspath,save'; // config.removePlugins = 'elementspath,save,font'; + config.removeDialogTabs = 'flash:advanced'; // config.removeDialogTabs = 'flash:advanced;image:Link'; + config.protectedSource.push( /<\?[\s\S]*?\?>/g ); // Prevent PHP Code to be formatted + //config.menu_groups = 'clipboard,table,anchor,link,image'; // for context menu 'clipboard,form,tablecell,tablecellproperties,tablerow,tablecolumn,table,anchor,link,image,flash,checkbox,radio,textfield,hiddenfield,imagebutton,button,select,textarea' + //config.language = 'de'; + //config.defaultLanguage = 'en'; + //config.contentsLanguage = 'fr'; + config.fullPage = false; // Not a full html page string, just part of it + config.dialog_backgroundCoverColor = 'rgb(255, 254, 253)'; + //config.contentsCss = '/css/mysitestyles.css'; + config.image_previewText=' '; // Must no be empty + + config.toolbar_Full = + [ + ['Source','-','Save','NewPage','Preview','-','Templates'], + ['Cut','Copy','Paste','PasteText','PasteFromWord','-','Print', 'SpellChecker', 'Scayt'], + ['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'], + ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'], + '/', + ['Bold','Italic','Underline','Strike','-','Subscript','Superscript'], + ['NumberedList','BulletedList','-','Outdent','Indent','Blockquote','CreateDiv'], + ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], + ['BidiLtr', 'BidiRtl'], + ['Link','Unlink','Anchor'], + ['Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe'], + '/', + ['Styles','Format','Font','FontSize'], + ['TextColor','BGColor'], + ['Maximize', 'ShowBlocks','-','About'] + ]; + + // Used for mailing fields + config.toolbar_dolibarr_mailings = + [ + ['Source','Maximize'], + ['Cut','Copy','Paste','-','SpellChecker'], + ['Undo','Redo','-','Find','Replace'], + ['Format','Font','FontSize'], + ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], + ['NumberedList','BulletedList','Outdent','Indent','CreateDiv'], + ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], + ['Link','Unlink','Anchor','Image','Table','HorizontalRule','SpecialChar'] + ]; + + // Used for notes fields + config.toolbar_dolibarr_notes = + [ + ['Source','Maximize'], + ['Cut','Copy','Paste','-','SpellChecker'], + ['Undo','Redo','-','Find','Replace'], + ['Format','Font','FontSize'], + ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], + ['NumberedList','BulletedList','Outdent','Indent'], + ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], + ['Link','Unlink','Image','Table','HorizontalRule','SpecialChar'] + ]; + + // Used for details lines + config.toolbar_dolibarr_details = + [ + ['Source','Maximize'], + ['Cut','Copy','Paste','-','SpellChecker'], + ['Format','Font','FontSize'], + ['Bold','Italic','Underline','Strike','Subscript','Superscript','-','TextColor','RemoveFormat'], + ['NumberedList','BulletedList','Outdent','Indent'], + ['JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock'], + ['Link','Unlink','SpecialChar'] + ]; + + // Used for mailing fields + config.toolbar_dolibarr_readonly = + [ + ['Source','Maximize'], + ['Find'] + ]; +}; diff --git a/htdocs/theme/md_exp/ckeditor/index.html b/htdocs/theme/md_exp/ckeditor/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/theme/md_exp/graph-color.php b/htdocs/theme/md_exp/graph-color.php new file mode 100644 index 00000000000..0c091a1ede3 --- /dev/null +++ b/htdocs/theme/md_exp/graph-color.php @@ -0,0 +1,34 @@ + + * Copyright (C) 2004-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 + * 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/theme/eldy/graph-color.php + * \brief File to declare colors to use to build graphics with theme Eldy + * \ingroup core + * + * To include file, do this: + * $color_file = DOL_DOCUMENT_ROOT.'/theme/'.$conf->theme.'/graph-color.php'; + * if (is_readable($color_file)) include_once $color_file; + */ + +global $theme_bordercolor, $theme_datacolor, $theme_bgcolor, $theme_bgcoloronglet; +$theme_bordercolor = array(235,235,224); +$theme_datacolor = array(array(190,190,220), array(200,160,180), array(125,135,150), array(170,140,190), array(190,190,170), array(190,170,190), array(170,190,190), array(150,135,125), array(85,135,150), array(150,135,80), array(150,80,150)); +$theme_bgcolor = array(hexdec('F4'),hexdec('F4'),hexdec('F4')); +$theme_bgcoloronglet = array(hexdec('DE'),hexdec('E7'),hexdec('EC')); + diff --git a/htdocs/theme/md_exp/img/1downarrow.png b/htdocs/theme/md_exp/img/1downarrow.png new file mode 100644 index 00000000000..1d134ab3e4e Binary files /dev/null and b/htdocs/theme/md_exp/img/1downarrow.png differ diff --git a/htdocs/theme/md_exp/img/1downarrow_selected.png b/htdocs/theme/md_exp/img/1downarrow_selected.png new file mode 100644 index 00000000000..5caf8ead52d Binary files /dev/null and b/htdocs/theme/md_exp/img/1downarrow_selected.png differ diff --git a/htdocs/theme/md_exp/img/1leftarrow.png b/htdocs/theme/md_exp/img/1leftarrow.png new file mode 100644 index 00000000000..554cdc3d76c Binary files /dev/null and b/htdocs/theme/md_exp/img/1leftarrow.png differ diff --git a/htdocs/theme/md_exp/img/1leftarrow_selected.png b/htdocs/theme/md_exp/img/1leftarrow_selected.png new file mode 100644 index 00000000000..554cdc3d76c Binary files /dev/null and b/htdocs/theme/md_exp/img/1leftarrow_selected.png differ diff --git a/htdocs/theme/md_exp/img/1rightarrow.png b/htdocs/theme/md_exp/img/1rightarrow.png new file mode 100644 index 00000000000..95fdc377ee9 Binary files /dev/null and b/htdocs/theme/md_exp/img/1rightarrow.png differ diff --git a/htdocs/theme/md_exp/img/1rightarrow_selected.png b/htdocs/theme/md_exp/img/1rightarrow_selected.png new file mode 100644 index 00000000000..95fdc377ee9 Binary files /dev/null and b/htdocs/theme/md_exp/img/1rightarrow_selected.png differ diff --git a/htdocs/theme/md_exp/img/1uparrow.png b/htdocs/theme/md_exp/img/1uparrow.png new file mode 100644 index 00000000000..70ea061dc5e Binary files /dev/null and b/htdocs/theme/md_exp/img/1uparrow.png differ diff --git a/htdocs/theme/md_exp/img/1uparrow_selected.png b/htdocs/theme/md_exp/img/1uparrow_selected.png new file mode 100644 index 00000000000..36d25a408c5 Binary files /dev/null and b/htdocs/theme/md_exp/img/1uparrow_selected.png differ diff --git a/htdocs/theme/md_exp/img/1updownarrow.png b/htdocs/theme/md_exp/img/1updownarrow.png new file mode 100644 index 00000000000..871ac1c1f29 Binary files /dev/null and b/htdocs/theme/md_exp/img/1updownarrow.png differ diff --git a/htdocs/theme/md_exp/img/addfile.png b/htdocs/theme/md_exp/img/addfile.png new file mode 100644 index 00000000000..1cb7af0ad8a Binary files /dev/null and b/htdocs/theme/md_exp/img/addfile.png differ diff --git a/htdocs/theme/md_exp/img/background.png b/htdocs/theme/md_exp/img/background.png new file mode 100644 index 00000000000..fb63f12299c Binary files /dev/null and b/htdocs/theme/md_exp/img/background.png differ diff --git a/htdocs/theme/md_exp/img/bg-bas-rubrique.png b/htdocs/theme/md_exp/img/bg-bas-rubrique.png new file mode 100644 index 00000000000..af8483f8746 Binary files /dev/null and b/htdocs/theme/md_exp/img/bg-bas-rubrique.png differ diff --git a/htdocs/theme/md_exp/img/bg-rubrique.png b/htdocs/theme/md_exp/img/bg-rubrique.png new file mode 100644 index 00000000000..0eb3cc2603c Binary files /dev/null and b/htdocs/theme/md_exp/img/bg-rubrique.png differ diff --git a/htdocs/theme/md_exp/img/bg-titre-rubrique.png b/htdocs/theme/md_exp/img/bg-titre-rubrique.png new file mode 100644 index 00000000000..17b35d88823 Binary files /dev/null and b/htdocs/theme/md_exp/img/bg-titre-rubrique.png differ diff --git a/htdocs/theme/md_exp/img/button_bg.png b/htdocs/theme/md_exp/img/button_bg.png new file mode 100644 index 00000000000..7e8a806b28f Binary files /dev/null and b/htdocs/theme/md_exp/img/button_bg.png differ diff --git a/htdocs/theme/md_exp/img/button_edit.png b/htdocs/theme/md_exp/img/button_edit.png new file mode 100644 index 00000000000..894b4cfd78e Binary files /dev/null and b/htdocs/theme/md_exp/img/button_edit.png differ diff --git a/htdocs/theme/md_exp/img/calc.png b/htdocs/theme/md_exp/img/calc.png new file mode 100644 index 00000000000..5e6471408d8 Binary files /dev/null and b/htdocs/theme/md_exp/img/calc.png differ diff --git a/htdocs/theme/md_exp/img/calendar.png b/htdocs/theme/md_exp/img/calendar.png new file mode 100644 index 00000000000..bbe6c27f041 Binary files /dev/null and b/htdocs/theme/md_exp/img/calendar.png differ diff --git a/htdocs/theme/md_exp/img/call.png b/htdocs/theme/md_exp/img/call.png new file mode 100644 index 00000000000..ddfc1b7bd90 Binary files /dev/null and b/htdocs/theme/md_exp/img/call.png differ diff --git a/htdocs/theme/md_exp/img/call_out.png b/htdocs/theme/md_exp/img/call_out.png new file mode 100644 index 00000000000..b5a22eb827b Binary files /dev/null and b/htdocs/theme/md_exp/img/call_out.png differ diff --git a/htdocs/theme/md_exp/img/close.png b/htdocs/theme/md_exp/img/close.png new file mode 100644 index 00000000000..ec4338e8bca Binary files /dev/null and b/htdocs/theme/md_exp/img/close.png differ diff --git a/htdocs/theme/md_exp/img/close_title.png b/htdocs/theme/md_exp/img/close_title.png new file mode 100644 index 00000000000..bebb74d9861 Binary files /dev/null and b/htdocs/theme/md_exp/img/close_title.png differ diff --git a/htdocs/theme/md_exp/img/delete.png b/htdocs/theme/md_exp/img/delete.png new file mode 100644 index 00000000000..8ad73597be7 Binary files /dev/null and b/htdocs/theme/md_exp/img/delete.png differ diff --git a/htdocs/theme/md_exp/img/detail.png b/htdocs/theme/md_exp/img/detail.png new file mode 100644 index 00000000000..05562bef842 Binary files /dev/null and b/htdocs/theme/md_exp/img/detail.png differ diff --git a/htdocs/theme/md_exp/img/disable.png b/htdocs/theme/md_exp/img/disable.png new file mode 100644 index 00000000000..f8c84994d47 Binary files /dev/null and b/htdocs/theme/md_exp/img/disable.png differ diff --git a/htdocs/theme/md_exp/img/edit.png b/htdocs/theme/md_exp/img/edit.png new file mode 100644 index 00000000000..4e916fe1fb0 Binary files /dev/null and b/htdocs/theme/md_exp/img/edit.png differ diff --git a/htdocs/theme/md_exp/img/edit_add.png b/htdocs/theme/md_exp/img/edit_add.png new file mode 100644 index 00000000000..ae205e9d770 Binary files /dev/null and b/htdocs/theme/md_exp/img/edit_add.png differ diff --git a/htdocs/theme/md_exp/img/edit_remove.png b/htdocs/theme/md_exp/img/edit_remove.png new file mode 100644 index 00000000000..bc4bdb360fa Binary files /dev/null and b/htdocs/theme/md_exp/img/edit_remove.png differ diff --git a/htdocs/theme/md_exp/img/editdelete.png b/htdocs/theme/md_exp/img/editdelete.png new file mode 100644 index 00000000000..f8c84994d47 Binary files /dev/null and b/htdocs/theme/md_exp/img/editdelete.png differ diff --git a/htdocs/theme/md_exp/img/error.png b/htdocs/theme/md_exp/img/error.png new file mode 100644 index 00000000000..f41dd8a3bc0 Binary files /dev/null and b/htdocs/theme/md_exp/img/error.png differ diff --git a/htdocs/theme/md_exp/img/favicon.ico b/htdocs/theme/md_exp/img/favicon.ico new file mode 100644 index 00000000000..b93a86747d6 Binary files /dev/null and b/htdocs/theme/md_exp/img/favicon.ico differ diff --git a/htdocs/theme/md_exp/img/file.png b/htdocs/theme/md_exp/img/file.png new file mode 100644 index 00000000000..73c66e9b2b3 Binary files /dev/null and b/htdocs/theme/md_exp/img/file.png differ diff --git a/htdocs/theme/md_exp/img/filenew.png b/htdocs/theme/md_exp/img/filenew.png new file mode 100644 index 00000000000..8680cce82bf Binary files /dev/null and b/htdocs/theme/md_exp/img/filenew.png differ diff --git a/htdocs/theme/md_exp/img/filter.png b/htdocs/theme/md_exp/img/filter.png new file mode 100644 index 00000000000..917715107bd Binary files /dev/null and b/htdocs/theme/md_exp/img/filter.png differ diff --git a/htdocs/theme/md_exp/img/folder-open.png b/htdocs/theme/md_exp/img/folder-open.png new file mode 100644 index 00000000000..1db8369b3d5 Binary files /dev/null and b/htdocs/theme/md_exp/img/folder-open.png differ diff --git a/htdocs/theme/md_exp/img/folder.png b/htdocs/theme/md_exp/img/folder.png new file mode 100644 index 00000000000..04a24af2e22 Binary files /dev/null and b/htdocs/theme/md_exp/img/folder.png differ diff --git a/htdocs/theme/md_exp/img/gradient.gif b/htdocs/theme/md_exp/img/gradient.gif new file mode 100644 index 00000000000..d9d7c1086cd Binary files /dev/null and b/htdocs/theme/md_exp/img/gradient.gif differ diff --git a/htdocs/theme/md_exp/img/grip.png b/htdocs/theme/md_exp/img/grip.png new file mode 100644 index 00000000000..8053007e9dd Binary files /dev/null and b/htdocs/theme/md_exp/img/grip.png differ diff --git a/htdocs/theme/md_exp/img/grip_title.png b/htdocs/theme/md_exp/img/grip_title.png new file mode 100644 index 00000000000..d6ecce335cb Binary files /dev/null and b/htdocs/theme/md_exp/img/grip_title.png differ diff --git a/htdocs/theme/md_exp/img/headbg.jpg b/htdocs/theme/md_exp/img/headbg.jpg new file mode 100644 index 00000000000..160821354cc Binary files /dev/null and b/htdocs/theme/md_exp/img/headbg.jpg differ diff --git a/htdocs/theme/md_exp/img/headbg2.jpg b/htdocs/theme/md_exp/img/headbg2.jpg new file mode 100644 index 00000000000..0bc44f0ea99 Binary files /dev/null and b/htdocs/theme/md_exp/img/headbg2.jpg differ diff --git a/htdocs/theme/md_exp/img/help.png b/htdocs/theme/md_exp/img/help.png new file mode 100644 index 00000000000..12e6cd655d6 Binary files /dev/null and b/htdocs/theme/md_exp/img/help.png differ diff --git a/htdocs/theme/md_exp/img/helpdoc.png b/htdocs/theme/md_exp/img/helpdoc.png new file mode 100644 index 00000000000..8cd950e7be1 Binary files /dev/null and b/htdocs/theme/md_exp/img/helpdoc.png differ diff --git a/htdocs/theme/md_exp/img/high.png b/htdocs/theme/md_exp/img/high.png new file mode 100644 index 00000000000..c0eaee6542f Binary files /dev/null and b/htdocs/theme/md_exp/img/high.png differ diff --git a/htdocs/theme/md_exp/img/history.png b/htdocs/theme/md_exp/img/history.png new file mode 100644 index 00000000000..0fa4283476b Binary files /dev/null and b/htdocs/theme/md_exp/img/history.png differ diff --git a/htdocs/theme/md_exp/img/index.html b/htdocs/theme/md_exp/img/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/theme/md_exp/img/info.png b/htdocs/theme/md_exp/img/info.png new file mode 100644 index 00000000000..12e6cd655d6 Binary files /dev/null and b/htdocs/theme/md_exp/img/info.png differ diff --git a/htdocs/theme/md_exp/img/liste_titre.png b/htdocs/theme/md_exp/img/liste_titre.png new file mode 100644 index 00000000000..a58ee63e1b6 Binary files /dev/null and b/htdocs/theme/md_exp/img/liste_titre.png differ diff --git a/htdocs/theme/md_exp/img/liste_titre2.png b/htdocs/theme/md_exp/img/liste_titre2.png new file mode 100644 index 00000000000..038c8d3c5d5 Binary files /dev/null and b/htdocs/theme/md_exp/img/liste_titre2.png differ diff --git a/htdocs/theme/md_exp/img/lock.png b/htdocs/theme/md_exp/img/lock.png new file mode 100644 index 00000000000..3d99cf1eaef Binary files /dev/null and b/htdocs/theme/md_exp/img/lock.png differ diff --git a/htdocs/theme/md_exp/img/login_background.png b/htdocs/theme/md_exp/img/login_background.png new file mode 100644 index 00000000000..facc2c6f442 Binary files /dev/null and b/htdocs/theme/md_exp/img/login_background.png differ diff --git a/htdocs/theme/md_exp/img/logo_setup.svg b/htdocs/theme/md_exp/img/logo_setup.svg new file mode 100644 index 00000000000..4db2a11dff1 --- /dev/null +++ b/htdocs/theme/md_exp/img/logo_setup.svg @@ -0,0 +1,475 @@ + + + + + + + Ruota dentata grigia 2 + + + + gears + machine + + + + + Open Clip Art Library + + + + + Architetto Francesco Rollandin + + + + + Architetto Francesco Rollandin + + + + image/svg+xml + + + en + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/htdocs/theme/md_exp/img/logout.png b/htdocs/theme/md_exp/img/logout.png new file mode 100644 index 00000000000..26ae717bc1a Binary files /dev/null and b/htdocs/theme/md_exp/img/logout.png differ diff --git a/htdocs/theme/md_exp/img/menus/README.md b/htdocs/theme/md_exp/img/menus/README.md new file mode 100644 index 00000000000..12cd9da537a --- /dev/null +++ b/htdocs/theme/md_exp/img/menus/README.md @@ -0,0 +1,12 @@ + +Tutorial to create a new image for menu: + +1) First find an image. +2) With Gimp, open image and check there is a alpha channel. If not add one. +3) Convert image into back and white (Menu Image - Mode - Grey levels). +4) Use the degrade tool with option: +* Erase color +* Opacity: 50 +/- +* Offset: 0 +* Shape: Linear +Il est possible aussi d'augmenter la transparence globale depuis le calque. diff --git a/htdocs/theme/md_exp/img/menus/agenda.png b/htdocs/theme/md_exp/img/menus/agenda.png new file mode 100644 index 00000000000..0798d15f938 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/agenda.png differ diff --git a/htdocs/theme/md_exp/img/menus/agenda_over.png b/htdocs/theme/md_exp/img/menus/agenda_over.png new file mode 100644 index 00000000000..bdebed8fa26 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/agenda_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/bank.png b/htdocs/theme/md_exp/img/menus/bank.png new file mode 100644 index 00000000000..fbaee7cc6bd Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/bank.png differ diff --git a/htdocs/theme/md_exp/img/menus/bank_over.png b/htdocs/theme/md_exp/img/menus/bank_over.png new file mode 100644 index 00000000000..d395710a877 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/bank_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/chart.png b/htdocs/theme/md_exp/img/menus/chart.png new file mode 100644 index 00000000000..6efce90a788 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/chart.png differ diff --git a/htdocs/theme/md_exp/img/menus/commercial.png b/htdocs/theme/md_exp/img/menus/commercial.png new file mode 100644 index 00000000000..df9b443ceec Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/commercial.png differ diff --git a/htdocs/theme/md_exp/img/menus/commercial_over.png b/htdocs/theme/md_exp/img/menus/commercial_over.png new file mode 100644 index 00000000000..5fc4f661821 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/commercial_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/company.png b/htdocs/theme/md_exp/img/menus/company.png new file mode 100644 index 00000000000..828bf8f2e70 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/company.png differ diff --git a/htdocs/theme/md_exp/img/menus/company_over.png b/htdocs/theme/md_exp/img/menus/company_over.png new file mode 100644 index 00000000000..bed6b8dcbfb Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/company_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/ecm.png b/htdocs/theme/md_exp/img/menus/ecm.png new file mode 100644 index 00000000000..542ff5766e1 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/ecm.png differ diff --git a/htdocs/theme/md_exp/img/menus/ecm_over.png b/htdocs/theme/md_exp/img/menus/ecm_over.png new file mode 100644 index 00000000000..269258a8cfb Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/ecm_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/externalsite.png b/htdocs/theme/md_exp/img/menus/externalsite.png new file mode 100644 index 00000000000..01e30553fc5 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/externalsite.png differ diff --git a/htdocs/theme/md_exp/img/menus/externalsite_over.png b/htdocs/theme/md_exp/img/menus/externalsite_over.png new file mode 100644 index 00000000000..8e227ddc83f Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/externalsite_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/ftp.png b/htdocs/theme/md_exp/img/menus/ftp.png new file mode 100644 index 00000000000..d9d96f0255b Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/ftp.png differ diff --git a/htdocs/theme/md_exp/img/menus/ftp_over.png b/htdocs/theme/md_exp/img/menus/ftp_over.png new file mode 100644 index 00000000000..e3ea742e7c7 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/ftp_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic1.png b/htdocs/theme/md_exp/img/menus/generic1.png new file mode 100644 index 00000000000..39f808bed32 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic1.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic1_over.png b/htdocs/theme/md_exp/img/menus/generic1_over.png new file mode 100644 index 00000000000..adfa8c1599b Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic1_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic2.png b/htdocs/theme/md_exp/img/menus/generic2.png new file mode 100644 index 00000000000..f4dfc5f360a Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic2.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic2_over.png b/htdocs/theme/md_exp/img/menus/generic2_over.png new file mode 100644 index 00000000000..c8e58fc2220 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic2_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic3.png b/htdocs/theme/md_exp/img/menus/generic3.png new file mode 100644 index 00000000000..00769352dae Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic3.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic3_over.png b/htdocs/theme/md_exp/img/menus/generic3_over.png new file mode 100644 index 00000000000..0672d20bce4 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic3_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic4.png b/htdocs/theme/md_exp/img/menus/generic4.png new file mode 100644 index 00000000000..5f9240240da Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic4.png differ diff --git a/htdocs/theme/md_exp/img/menus/generic4_over.png b/htdocs/theme/md_exp/img/menus/generic4_over.png new file mode 100644 index 00000000000..6a4d7b1acce Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/generic4_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/globe.png b/htdocs/theme/md_exp/img/menus/globe.png new file mode 100644 index 00000000000..8c2380eda13 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/globe.png differ diff --git a/htdocs/theme/md_exp/img/menus/globe_over.png b/htdocs/theme/md_exp/img/menus/globe_over.png new file mode 100644 index 00000000000..fd1e54f4754 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/globe_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/holiday.png b/htdocs/theme/md_exp/img/menus/holiday.png new file mode 100644 index 00000000000..493974477f3 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/holiday.png differ diff --git a/htdocs/theme/md_exp/img/menus/home.png b/htdocs/theme/md_exp/img/menus/home.png new file mode 100644 index 00000000000..2c174340c76 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/home.png differ diff --git a/htdocs/theme/md_exp/img/menus/home_over.png b/htdocs/theme/md_exp/img/menus/home_over.png new file mode 100644 index 00000000000..ff0d692307f Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/home_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/index.html b/htdocs/theme/md_exp/img/menus/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/theme/md_exp/img/menus/mail.png b/htdocs/theme/md_exp/img/menus/mail.png new file mode 100644 index 00000000000..b7ff50e3d99 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/mail.png differ diff --git a/htdocs/theme/md_exp/img/menus/mail_over.png b/htdocs/theme/md_exp/img/menus/mail_over.png new file mode 100644 index 00000000000..f9de32d3002 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/mail_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/members.png b/htdocs/theme/md_exp/img/menus/members.png new file mode 100644 index 00000000000..fb72919971c Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/members.png differ diff --git a/htdocs/theme/md_exp/img/menus/members_over.png b/htdocs/theme/md_exp/img/menus/members_over.png new file mode 100644 index 00000000000..8c77498c304 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/members_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/money.png b/htdocs/theme/md_exp/img/menus/money.png new file mode 100644 index 00000000000..503e5c67519 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/money.png differ diff --git a/htdocs/theme/md_exp/img/menus/money_over.png b/htdocs/theme/md_exp/img/menus/money_over.png new file mode 100644 index 00000000000..9a501e762d0 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/money_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/pointofsale.png b/htdocs/theme/md_exp/img/menus/pointofsale.png new file mode 100644 index 00000000000..6bb68041d19 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/pointofsale.png differ diff --git a/htdocs/theme/md_exp/img/menus/pointofsale_over.png b/htdocs/theme/md_exp/img/menus/pointofsale_over.png new file mode 100644 index 00000000000..4abe7219694 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/pointofsale_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/products.png b/htdocs/theme/md_exp/img/menus/products.png new file mode 100644 index 00000000000..a5ecf2ceb78 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/products.png differ diff --git a/htdocs/theme/md_exp/img/menus/products_over.png b/htdocs/theme/md_exp/img/menus/products_over.png new file mode 100644 index 00000000000..0a5d9a7951f Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/products_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/project.png b/htdocs/theme/md_exp/img/menus/project.png new file mode 100644 index 00000000000..ae4d177c6cd Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/project.png differ diff --git a/htdocs/theme/md_exp/img/menus/project_over.png b/htdocs/theme/md_exp/img/menus/project_over.png new file mode 100644 index 00000000000..d6c28b6d7ee Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/project_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/shop.png b/htdocs/theme/md_exp/img/menus/shop.png new file mode 100644 index 00000000000..fab7db59040 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/shop.png differ diff --git a/htdocs/theme/md_exp/img/menus/shop_over.png b/htdocs/theme/md_exp/img/menus/shop_over.png new file mode 100644 index 00000000000..bda5823f8c3 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/shop_over.png differ diff --git a/htdocs/theme/md_exp/img/menus/tools.png b/htdocs/theme/md_exp/img/menus/tools.png new file mode 100644 index 00000000000..de7f2b7b221 Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/tools.png differ diff --git a/htdocs/theme/md_exp/img/menus/tools_over.png b/htdocs/theme/md_exp/img/menus/tools_over.png new file mode 100644 index 00000000000..80f9a7f553a Binary files /dev/null and b/htdocs/theme/md_exp/img/menus/tools_over.png differ diff --git a/htdocs/theme/md_exp/img/menutab-r.png b/htdocs/theme/md_exp/img/menutab-r.png new file mode 100644 index 00000000000..95c2324b612 Binary files /dev/null and b/htdocs/theme/md_exp/img/menutab-r.png differ diff --git a/htdocs/theme/md_exp/img/nav-overlay.png b/htdocs/theme/md_exp/img/nav-overlay.png new file mode 100644 index 00000000000..82d159c6ec0 Binary files /dev/null and b/htdocs/theme/md_exp/img/nav-overlay.png differ diff --git a/htdocs/theme/md_exp/img/nav-overlay3.png b/htdocs/theme/md_exp/img/nav-overlay3.png new file mode 100644 index 00000000000..3d73145dab7 Binary files /dev/null and b/htdocs/theme/md_exp/img/nav-overlay3.png differ diff --git a/htdocs/theme/md_exp/img/next.png b/htdocs/theme/md_exp/img/next.png new file mode 100644 index 00000000000..953731ca934 Binary files /dev/null and b/htdocs/theme/md_exp/img/next.png differ diff --git a/htdocs/theme/md_exp/img/object_account.png b/htdocs/theme/md_exp/img/object_account.png new file mode 100644 index 00000000000..46be8b6fe0f Binary files /dev/null and b/htdocs/theme/md_exp/img/object_account.png differ diff --git a/htdocs/theme/md_exp/img/object_accounting.png b/htdocs/theme/md_exp/img/object_accounting.png new file mode 100644 index 00000000000..b5600221f02 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_accounting.png differ diff --git a/htdocs/theme/md_exp/img/object_action.png b/htdocs/theme/md_exp/img/object_action.png new file mode 100644 index 00000000000..0b02fada414 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_action.png differ diff --git a/htdocs/theme/md_exp/img/object_action_rdv.png b/htdocs/theme/md_exp/img/object_action_rdv.png new file mode 100644 index 00000000000..25edfa85b45 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_action_rdv.png differ diff --git a/htdocs/theme/md_exp/img/object_address.png b/htdocs/theme/md_exp/img/object_address.png new file mode 100644 index 00000000000..201577281f0 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_address.png differ diff --git a/htdocs/theme/md_exp/img/object_askpricesupplier.png b/htdocs/theme/md_exp/img/object_askpricesupplier.png new file mode 100644 index 00000000000..2dc60e66b3e Binary files /dev/null and b/htdocs/theme/md_exp/img/object_askpricesupplier.png differ diff --git a/htdocs/theme/md_exp/img/object_barcode.png b/htdocs/theme/md_exp/img/object_barcode.png new file mode 100644 index 00000000000..6f1931ab96c Binary files /dev/null and b/htdocs/theme/md_exp/img/object_barcode.png differ diff --git a/htdocs/theme/md_exp/img/object_bill.png b/htdocs/theme/md_exp/img/object_bill.png new file mode 100644 index 00000000000..b4022e77740 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_bill.png differ diff --git a/htdocs/theme/md_exp/img/object_billa.png b/htdocs/theme/md_exp/img/object_billa.png new file mode 100644 index 00000000000..93564621d7a Binary files /dev/null and b/htdocs/theme/md_exp/img/object_billa.png differ diff --git a/htdocs/theme/md_exp/img/object_billd.png b/htdocs/theme/md_exp/img/object_billd.png new file mode 100644 index 00000000000..2080958f0fb Binary files /dev/null and b/htdocs/theme/md_exp/img/object_billd.png differ diff --git a/htdocs/theme/md_exp/img/object_billr.png b/htdocs/theme/md_exp/img/object_billr.png new file mode 100644 index 00000000000..7a9692a0804 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_billr.png differ diff --git a/htdocs/theme/md_exp/img/object_book.png b/htdocs/theme/md_exp/img/object_book.png new file mode 100644 index 00000000000..85097420728 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_book.png differ diff --git a/htdocs/theme/md_exp/img/object_bookmark.png b/htdocs/theme/md_exp/img/object_bookmark.png new file mode 100644 index 00000000000..39109ef5ee6 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_bookmark.png differ diff --git a/htdocs/theme/md_exp/img/object_calendar.png b/htdocs/theme/md_exp/img/object_calendar.png new file mode 100644 index 00000000000..8cda1f3f220 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_calendar.png differ diff --git a/htdocs/theme/md_exp/img/object_calendarday.png b/htdocs/theme/md_exp/img/object_calendarday.png new file mode 100644 index 00000000000..5678cdd2411 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_calendarday.png differ diff --git a/htdocs/theme/md_exp/img/object_calendarperuser.png b/htdocs/theme/md_exp/img/object_calendarperuser.png new file mode 100644 index 00000000000..ba16a4ab6c0 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_calendarperuser.png differ diff --git a/htdocs/theme/md_exp/img/object_calendarweek.png b/htdocs/theme/md_exp/img/object_calendarweek.png new file mode 100644 index 00000000000..4ea2c09ccc9 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_calendarweek.png differ diff --git a/htdocs/theme/md_exp/img/object_category-expanded.png b/htdocs/theme/md_exp/img/object_category-expanded.png new file mode 100644 index 00000000000..8168f76fa26 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_category-expanded.png differ diff --git a/htdocs/theme/md_exp/img/object_category.png b/htdocs/theme/md_exp/img/object_category.png new file mode 100644 index 00000000000..aaea38dbef2 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_category.png differ diff --git a/htdocs/theme/md_exp/img/object_commercial.png b/htdocs/theme/md_exp/img/object_commercial.png new file mode 100644 index 00000000000..36cdcc8d4a2 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_commercial.png differ diff --git a/htdocs/theme/md_exp/img/object_company.png b/htdocs/theme/md_exp/img/object_company.png new file mode 100644 index 00000000000..2a582b8bd4c Binary files /dev/null and b/htdocs/theme/md_exp/img/object_company.png differ diff --git a/htdocs/theme/md_exp/img/object_contact.png b/htdocs/theme/md_exp/img/object_contact.png new file mode 100644 index 00000000000..e98202b367d Binary files /dev/null and b/htdocs/theme/md_exp/img/object_contact.png differ diff --git a/htdocs/theme/md_exp/img/object_contact_all.png b/htdocs/theme/md_exp/img/object_contact_all.png new file mode 100644 index 00000000000..f571504b246 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_contact_all.png differ diff --git a/htdocs/theme/md_exp/img/object_contract.png b/htdocs/theme/md_exp/img/object_contract.png new file mode 100644 index 00000000000..a75f954555e Binary files /dev/null and b/htdocs/theme/md_exp/img/object_contract.png differ diff --git a/htdocs/theme/md_exp/img/object_cron.png b/htdocs/theme/md_exp/img/object_cron.png new file mode 100644 index 00000000000..6186d18da70 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_cron.png differ diff --git a/htdocs/theme/md_exp/img/object_dir.png b/htdocs/theme/md_exp/img/object_dir.png new file mode 100644 index 00000000000..6f364389133 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_dir.png differ diff --git a/htdocs/theme/md_exp/img/object_email.png b/htdocs/theme/md_exp/img/object_email.png new file mode 100644 index 00000000000..d5cd141733d Binary files /dev/null and b/htdocs/theme/md_exp/img/object_email.png differ diff --git a/htdocs/theme/md_exp/img/object_energie.png b/htdocs/theme/md_exp/img/object_energie.png new file mode 100644 index 00000000000..bc3966d2fa2 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_energie.png differ diff --git a/htdocs/theme/md_exp/img/object_generic.png b/htdocs/theme/md_exp/img/object_generic.png new file mode 100644 index 00000000000..ccfd2d2f5b2 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_generic.png differ diff --git a/htdocs/theme/md_exp/img/object_globe.png b/htdocs/theme/md_exp/img/object_globe.png new file mode 100644 index 00000000000..aae8bf6eba0 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_globe.png differ diff --git a/htdocs/theme/md_exp/img/object_group.png b/htdocs/theme/md_exp/img/object_group.png new file mode 100644 index 00000000000..552eb39fa31 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_group.png differ diff --git a/htdocs/theme/md_exp/img/object_holiday.png b/htdocs/theme/md_exp/img/object_holiday.png new file mode 100644 index 00000000000..fdc1dd8e22b Binary files /dev/null and b/htdocs/theme/md_exp/img/object_holiday.png differ diff --git a/htdocs/theme/md_exp/img/object_intervention.png b/htdocs/theme/md_exp/img/object_intervention.png new file mode 100644 index 00000000000..7bb7ef583b4 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_intervention.png differ diff --git a/htdocs/theme/md_exp/img/object_invoice.png b/htdocs/theme/md_exp/img/object_invoice.png new file mode 100644 index 00000000000..b4022e77740 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_invoice.png differ diff --git a/htdocs/theme/md_exp/img/object_label.png b/htdocs/theme/md_exp/img/object_label.png new file mode 100644 index 00000000000..b112af5cf0a Binary files /dev/null and b/htdocs/theme/md_exp/img/object_label.png differ diff --git a/htdocs/theme/md_exp/img/object_list.png b/htdocs/theme/md_exp/img/object_list.png new file mode 100644 index 00000000000..1ceb098d9cc Binary files /dev/null and b/htdocs/theme/md_exp/img/object_list.png differ diff --git a/htdocs/theme/md_exp/img/object_margin.png b/htdocs/theme/md_exp/img/object_margin.png new file mode 100644 index 00000000000..cd0eb4109f7 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_margin.png differ diff --git a/htdocs/theme/md_exp/img/object_opensurvey.png b/htdocs/theme/md_exp/img/object_opensurvey.png new file mode 100644 index 00000000000..b5de3223bd4 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_opensurvey.png differ diff --git a/htdocs/theme/md_exp/img/object_order.png b/htdocs/theme/md_exp/img/object_order.png new file mode 100644 index 00000000000..20a1ddb6131 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_order.png differ diff --git a/htdocs/theme/md_exp/img/object_payment.png b/htdocs/theme/md_exp/img/object_payment.png new file mode 100644 index 00000000000..5691147d8ff Binary files /dev/null and b/htdocs/theme/md_exp/img/object_payment.png differ diff --git a/htdocs/theme/md_exp/img/object_phoning.png b/htdocs/theme/md_exp/img/object_phoning.png new file mode 100644 index 00000000000..23a4e0b1dbb Binary files /dev/null and b/htdocs/theme/md_exp/img/object_phoning.png differ diff --git a/htdocs/theme/md_exp/img/object_phoning_fax.png b/htdocs/theme/md_exp/img/object_phoning_fax.png new file mode 100644 index 00000000000..03d96a1e414 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_phoning_fax.png differ diff --git a/htdocs/theme/md_exp/img/object_product.png b/htdocs/theme/md_exp/img/object_product.png new file mode 100644 index 00000000000..79910e5e214 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_product.png differ diff --git a/htdocs/theme/md_exp/img/object_project.png b/htdocs/theme/md_exp/img/object_project.png new file mode 100644 index 00000000000..fd84ab427db Binary files /dev/null and b/htdocs/theme/md_exp/img/object_project.png differ diff --git a/htdocs/theme/md_exp/img/object_projectpub.png b/htdocs/theme/md_exp/img/object_projectpub.png new file mode 100644 index 00000000000..1444573cf05 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_projectpub.png differ diff --git a/htdocs/theme/md_exp/img/object_projecttask.png b/htdocs/theme/md_exp/img/object_projecttask.png new file mode 100644 index 00000000000..4a01b50435a Binary files /dev/null and b/htdocs/theme/md_exp/img/object_projecttask.png differ diff --git a/htdocs/theme/md_exp/img/object_propal.png b/htdocs/theme/md_exp/img/object_propal.png new file mode 100644 index 00000000000..2dc60e66b3e Binary files /dev/null and b/htdocs/theme/md_exp/img/object_propal.png differ diff --git a/htdocs/theme/md_exp/img/object_reduc.png b/htdocs/theme/md_exp/img/object_reduc.png new file mode 100644 index 00000000000..ccfd2d2f5b2 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_reduc.png differ diff --git a/htdocs/theme/md_exp/img/object_resource.png b/htdocs/theme/md_exp/img/object_resource.png new file mode 100644 index 00000000000..8cda1f3f220 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_resource.png differ diff --git a/htdocs/theme/md_exp/img/object_rss.png b/htdocs/theme/md_exp/img/object_rss.png new file mode 100644 index 00000000000..37372031157 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_rss.png differ diff --git a/htdocs/theme/md_exp/img/object_sending.png b/htdocs/theme/md_exp/img/object_sending.png new file mode 100644 index 00000000000..c798ced0b5c Binary files /dev/null and b/htdocs/theme/md_exp/img/object_sending.png differ diff --git a/htdocs/theme/md_exp/img/object_service.png b/htdocs/theme/md_exp/img/object_service.png new file mode 100644 index 00000000000..65e9041589f Binary files /dev/null and b/htdocs/theme/md_exp/img/object_service.png differ diff --git a/htdocs/theme/md_exp/img/object_skype.png b/htdocs/theme/md_exp/img/object_skype.png new file mode 100644 index 00000000000..b209cd8d16e Binary files /dev/null and b/htdocs/theme/md_exp/img/object_skype.png differ diff --git a/htdocs/theme/md_exp/img/object_stock.png b/htdocs/theme/md_exp/img/object_stock.png new file mode 100644 index 00000000000..2f439db7b50 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_stock.png differ diff --git a/htdocs/theme/md_exp/img/object_task.png b/htdocs/theme/md_exp/img/object_task.png new file mode 100644 index 00000000000..14dc14a9602 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_task.png differ diff --git a/htdocs/theme/md_exp/img/object_task_time.png b/htdocs/theme/md_exp/img/object_task_time.png new file mode 100644 index 00000000000..8cda1f3f220 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_task_time.png differ diff --git a/htdocs/theme/md_exp/img/object_technic.png b/htdocs/theme/md_exp/img/object_technic.png new file mode 100644 index 00000000000..6186d18da70 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_technic.png differ diff --git a/htdocs/theme/md_exp/img/object_trip.png b/htdocs/theme/md_exp/img/object_trip.png new file mode 100644 index 00000000000..95cc4412111 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_trip.png differ diff --git a/htdocs/theme/md_exp/img/object_user.png b/htdocs/theme/md_exp/img/object_user.png new file mode 100644 index 00000000000..d26d8899ee8 Binary files /dev/null and b/htdocs/theme/md_exp/img/object_user.png differ diff --git a/htdocs/theme/md_exp/img/off.png b/htdocs/theme/md_exp/img/off.png new file mode 100644 index 00000000000..f4217646b26 Binary files /dev/null and b/htdocs/theme/md_exp/img/off.png differ diff --git a/htdocs/theme/md_exp/img/on.png b/htdocs/theme/md_exp/img/on.png new file mode 100644 index 00000000000..728bb393536 Binary files /dev/null and b/htdocs/theme/md_exp/img/on.png differ diff --git a/htdocs/theme/md_exp/img/pdf2.png b/htdocs/theme/md_exp/img/pdf2.png new file mode 100644 index 00000000000..06634550daa Binary files /dev/null and b/htdocs/theme/md_exp/img/pdf2.png differ diff --git a/htdocs/theme/md_exp/img/pdf3.png b/htdocs/theme/md_exp/img/pdf3.png new file mode 100644 index 00000000000..f053591bf2d Binary files /dev/null and b/htdocs/theme/md_exp/img/pdf3.png differ diff --git a/htdocs/theme/md_exp/img/play.png b/htdocs/theme/md_exp/img/play.png new file mode 100644 index 00000000000..4922ea1ec12 Binary files /dev/null and b/htdocs/theme/md_exp/img/play.png differ diff --git a/htdocs/theme/md_exp/img/previous.png b/htdocs/theme/md_exp/img/previous.png new file mode 100644 index 00000000000..f807a78d281 Binary files /dev/null and b/htdocs/theme/md_exp/img/previous.png differ diff --git a/htdocs/theme/md_exp/img/printer.png b/htdocs/theme/md_exp/img/printer.png new file mode 100644 index 00000000000..3a5e7b2dfa0 Binary files /dev/null and b/htdocs/theme/md_exp/img/printer.png differ diff --git a/htdocs/theme/md_exp/img/puce.png b/htdocs/theme/md_exp/img/puce.png new file mode 100644 index 00000000000..8c116b0dc42 Binary files /dev/null and b/htdocs/theme/md_exp/img/puce.png differ diff --git a/htdocs/theme/md_exp/img/recent.png b/htdocs/theme/md_exp/img/recent.png new file mode 100644 index 00000000000..a49fc171c06 Binary files /dev/null and b/htdocs/theme/md_exp/img/recent.png differ diff --git a/htdocs/theme/md_exp/img/redstar.png b/htdocs/theme/md_exp/img/redstar.png new file mode 100644 index 00000000000..486fd6770a2 Binary files /dev/null and b/htdocs/theme/md_exp/img/redstar.png differ diff --git a/htdocs/theme/md_exp/img/refresh.png b/htdocs/theme/md_exp/img/refresh.png new file mode 100644 index 00000000000..9994475cdfe Binary files /dev/null and b/htdocs/theme/md_exp/img/refresh.png differ diff --git a/htdocs/theme/md_exp/img/reload.png b/htdocs/theme/md_exp/img/reload.png new file mode 100644 index 00000000000..a4029f119de Binary files /dev/null and b/htdocs/theme/md_exp/img/reload.png differ diff --git a/htdocs/theme/md_exp/img/rightarrow.png b/htdocs/theme/md_exp/img/rightarrow.png new file mode 100644 index 00000000000..2c479d9453b Binary files /dev/null and b/htdocs/theme/md_exp/img/rightarrow.png differ diff --git a/htdocs/theme/md_exp/img/search.png b/htdocs/theme/md_exp/img/search.png new file mode 100644 index 00000000000..4c52b1e401e Binary files /dev/null and b/htdocs/theme/md_exp/img/search.png differ diff --git a/htdocs/theme/md_exp/img/searchclear.png b/htdocs/theme/md_exp/img/searchclear.png new file mode 100644 index 00000000000..203a85e10c4 Binary files /dev/null and b/htdocs/theme/md_exp/img/searchclear.png differ diff --git a/htdocs/theme/md_exp/img/setup.png b/htdocs/theme/md_exp/img/setup.png new file mode 100644 index 00000000000..f997e53799b Binary files /dev/null and b/htdocs/theme/md_exp/img/setup.png differ diff --git a/htdocs/theme/md_exp/img/sort_asc.png b/htdocs/theme/md_exp/img/sort_asc.png new file mode 100644 index 00000000000..e327d952fa4 Binary files /dev/null and b/htdocs/theme/md_exp/img/sort_asc.png differ diff --git a/htdocs/theme/md_exp/img/sort_asc_disabled.png b/htdocs/theme/md_exp/img/sort_asc_disabled.png new file mode 100644 index 00000000000..e327d952fa4 Binary files /dev/null and b/htdocs/theme/md_exp/img/sort_asc_disabled.png differ diff --git a/htdocs/theme/md_exp/img/sort_desc.png b/htdocs/theme/md_exp/img/sort_desc.png new file mode 100644 index 00000000000..db99fd9ad47 Binary files /dev/null and b/htdocs/theme/md_exp/img/sort_desc.png differ diff --git a/htdocs/theme/md_exp/img/sort_desc_disabled.png b/htdocs/theme/md_exp/img/sort_desc_disabled.png new file mode 100644 index 00000000000..89051c2f34f Binary files /dev/null and b/htdocs/theme/md_exp/img/sort_desc_disabled.png differ diff --git a/htdocs/theme/md_exp/img/split.png b/htdocs/theme/md_exp/img/split.png new file mode 100644 index 00000000000..bb66213f413 Binary files /dev/null and b/htdocs/theme/md_exp/img/split.png differ diff --git a/htdocs/theme/md_exp/img/star.png b/htdocs/theme/md_exp/img/star.png new file mode 100644 index 00000000000..4b6b4584675 Binary files /dev/null and b/htdocs/theme/md_exp/img/star.png differ diff --git a/htdocs/theme/md_exp/img/stats.png b/htdocs/theme/md_exp/img/stats.png new file mode 100644 index 00000000000..d883f7faea9 Binary files /dev/null and b/htdocs/theme/md_exp/img/stats.png differ diff --git a/htdocs/theme/md_exp/img/statut0.png b/htdocs/theme/md_exp/img/statut0.png new file mode 100644 index 00000000000..d11252783a4 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut0.png differ diff --git a/htdocs/theme/md_exp/img/statut1.png b/htdocs/theme/md_exp/img/statut1.png new file mode 100644 index 00000000000..558439d282e Binary files /dev/null and b/htdocs/theme/md_exp/img/statut1.png differ diff --git a/htdocs/theme/md_exp/img/statut3.png b/htdocs/theme/md_exp/img/statut3.png new file mode 100644 index 00000000000..e7515796683 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut3.png differ diff --git a/htdocs/theme/md_exp/img/statut4.png b/htdocs/theme/md_exp/img/statut4.png new file mode 100644 index 00000000000..6ec1ba55961 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut4.png differ diff --git a/htdocs/theme/md_exp/img/statut5.png b/htdocs/theme/md_exp/img/statut5.png new file mode 100644 index 00000000000..53264a0515d Binary files /dev/null and b/htdocs/theme/md_exp/img/statut5.png differ diff --git a/htdocs/theme/md_exp/img/statut6.png b/htdocs/theme/md_exp/img/statut6.png new file mode 100644 index 00000000000..b964afff603 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut6.png differ diff --git a/htdocs/theme/md_exp/img/statut7.png b/htdocs/theme/md_exp/img/statut7.png new file mode 100644 index 00000000000..8871a45519f Binary files /dev/null and b/htdocs/theme/md_exp/img/statut7.png differ diff --git a/htdocs/theme/md_exp/img/statut8.png b/htdocs/theme/md_exp/img/statut8.png new file mode 100644 index 00000000000..c24d4a9dac2 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut8.png differ diff --git a/htdocs/theme/md_exp/img/statut9.png b/htdocs/theme/md_exp/img/statut9.png new file mode 100644 index 00000000000..94b6dabf265 Binary files /dev/null and b/htdocs/theme/md_exp/img/statut9.png differ diff --git a/htdocs/theme/md_exp/img/stcomm-1.png b/htdocs/theme/md_exp/img/stcomm-1.png new file mode 100644 index 00000000000..df442fc1eda Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm-1.png differ diff --git a/htdocs/theme/md_exp/img/stcomm-1_grayed.png b/htdocs/theme/md_exp/img/stcomm-1_grayed.png new file mode 100644 index 00000000000..5942e6c72af Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm-1_grayed.png differ diff --git a/htdocs/theme/md_exp/img/stcomm0.png b/htdocs/theme/md_exp/img/stcomm0.png new file mode 100644 index 00000000000..cbe60a02d28 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm0.png differ diff --git a/htdocs/theme/md_exp/img/stcomm0_grayed.png b/htdocs/theme/md_exp/img/stcomm0_grayed.png new file mode 100644 index 00000000000..9016db48b02 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm0_grayed.png differ diff --git a/htdocs/theme/md_exp/img/stcomm1.png b/htdocs/theme/md_exp/img/stcomm1.png new file mode 100644 index 00000000000..6bdea492985 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm1.png differ diff --git a/htdocs/theme/md_exp/img/stcomm1_grayed.png b/htdocs/theme/md_exp/img/stcomm1_grayed.png new file mode 100644 index 00000000000..367a55921e4 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm1_grayed.png differ diff --git a/htdocs/theme/md_exp/img/stcomm2.png b/htdocs/theme/md_exp/img/stcomm2.png new file mode 100644 index 00000000000..9e000b70dc9 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm2.png differ diff --git a/htdocs/theme/md_exp/img/stcomm2_grayed.png b/htdocs/theme/md_exp/img/stcomm2_grayed.png new file mode 100644 index 00000000000..f667e3573d0 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm2_grayed.png differ diff --git a/htdocs/theme/md_exp/img/stcomm3.png b/htdocs/theme/md_exp/img/stcomm3.png new file mode 100644 index 00000000000..5a6c0aeface Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm3.png differ diff --git a/htdocs/theme/md_exp/img/stcomm3_grayed.png b/htdocs/theme/md_exp/img/stcomm3_grayed.png new file mode 100644 index 00000000000..81a14c1e482 Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm3_grayed.png differ diff --git a/htdocs/theme/md_exp/img/stcomm4.png b/htdocs/theme/md_exp/img/stcomm4.png new file mode 100644 index 00000000000..3e26b4d06ed Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm4.png differ diff --git a/htdocs/theme/md_exp/img/stcomm4_grayed.png b/htdocs/theme/md_exp/img/stcomm4_grayed.png new file mode 100644 index 00000000000..4271aafb6ce Binary files /dev/null and b/htdocs/theme/md_exp/img/stcomm4_grayed.png differ diff --git a/htdocs/theme/md_exp/img/switch_off.png b/htdocs/theme/md_exp/img/switch_off.png new file mode 100644 index 00000000000..28a4376fb43 Binary files /dev/null and b/htdocs/theme/md_exp/img/switch_off.png differ diff --git a/htdocs/theme/md_exp/img/switch_on.png b/htdocs/theme/md_exp/img/switch_on.png new file mode 100644 index 00000000000..d4e32d98f57 Binary files /dev/null and b/htdocs/theme/md_exp/img/switch_on.png differ diff --git a/htdocs/theme/md_exp/img/tab_background.png b/htdocs/theme/md_exp/img/tab_background.png new file mode 100644 index 00000000000..6edd65003e0 Binary files /dev/null and b/htdocs/theme/md_exp/img/tab_background.png differ diff --git a/htdocs/theme/md_exp/img/tick.png b/htdocs/theme/md_exp/img/tick.png new file mode 100644 index 00000000000..9b035d99511 Binary files /dev/null and b/htdocs/theme/md_exp/img/tick.png differ diff --git a/htdocs/theme/md_exp/img/title.gif b/htdocs/theme/md_exp/img/title.gif new file mode 100644 index 00000000000..c1afa93ae4c Binary files /dev/null and b/htdocs/theme/md_exp/img/title.gif differ diff --git a/htdocs/theme/md_exp/img/title.png b/htdocs/theme/md_exp/img/title.png new file mode 100644 index 00000000000..bb48d617379 Binary files /dev/null and b/htdocs/theme/md_exp/img/title.png differ diff --git a/htdocs/theme/md_exp/img/tmenu.jpg b/htdocs/theme/md_exp/img/tmenu.jpg new file mode 100644 index 00000000000..e7c37c34041 Binary files /dev/null and b/htdocs/theme/md_exp/img/tmenu.jpg differ diff --git a/htdocs/theme/md_exp/img/tmenu2.jpg b/htdocs/theme/md_exp/img/tmenu2.jpg new file mode 100644 index 00000000000..b8f434c6d1f Binary files /dev/null and b/htdocs/theme/md_exp/img/tmenu2.jpg differ diff --git a/htdocs/theme/md_exp/img/tmenu3.jpg b/htdocs/theme/md_exp/img/tmenu3.jpg new file mode 100644 index 00000000000..d42f804b026 Binary files /dev/null and b/htdocs/theme/md_exp/img/tmenu3.jpg differ diff --git a/htdocs/theme/md_exp/img/tmenu_inverse.jpg b/htdocs/theme/md_exp/img/tmenu_inverse.jpg new file mode 100644 index 00000000000..e1efd44376e Binary files /dev/null and b/htdocs/theme/md_exp/img/tmenu_inverse.jpg differ diff --git a/htdocs/theme/md_exp/img/unlock.png b/htdocs/theme/md_exp/img/unlock.png new file mode 100644 index 00000000000..afefaa94d47 Binary files /dev/null and b/htdocs/theme/md_exp/img/unlock.png differ diff --git a/htdocs/theme/md_exp/img/uparrow.png b/htdocs/theme/md_exp/img/uparrow.png new file mode 100644 index 00000000000..5d54c6a4c91 Binary files /dev/null and b/htdocs/theme/md_exp/img/uparrow.png differ diff --git a/htdocs/theme/md_exp/img/vcard.png b/htdocs/theme/md_exp/img/vcard.png new file mode 100644 index 00000000000..315abdf179d Binary files /dev/null and b/htdocs/theme/md_exp/img/vcard.png differ diff --git a/htdocs/theme/md_exp/img/view.png b/htdocs/theme/md_exp/img/view.png new file mode 100644 index 00000000000..76c1e9f1e6a Binary files /dev/null and b/htdocs/theme/md_exp/img/view.png differ diff --git a/htdocs/theme/md_exp/img/warning.png b/htdocs/theme/md_exp/img/warning.png new file mode 100644 index 00000000000..f1b93b8cc82 Binary files /dev/null and b/htdocs/theme/md_exp/img/warning.png differ diff --git a/htdocs/theme/md_exp/img/working.gif b/htdocs/theme/md_exp/img/working.gif new file mode 100644 index 00000000000..1e421c3113f Binary files /dev/null and b/htdocs/theme/md_exp/img/working.gif differ diff --git a/htdocs/theme/md_exp/img/working2.gif b/htdocs/theme/md_exp/img/working2.gif new file mode 100644 index 00000000000..bf0fc8f2167 Binary files /dev/null and b/htdocs/theme/md_exp/img/working2.gif differ diff --git a/htdocs/theme/md_exp/index.html b/htdocs/theme/md_exp/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/theme/md_exp/style.css.php b/htdocs/theme/md_exp/style.css.php new file mode 100644 index 00000000000..4b8ebe8d178 --- /dev/null +++ b/htdocs/theme/md_exp/style.css.php @@ -0,0 +1,3307 @@ + + * Copyright (C) 2006 Rodolphe Quiedeville + * Copyright (C) 2007-2012 Regis Houssin + * Copyright (C) 2011 Philippe Grand + * Copyright (C) 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/theme/eldy/style.css.php + * \brief File for CSS style sheet Eldy + */ + +//if (! defined('NOREQUIREUSER')) define('NOREQUIREUSER','1'); // Not disabled because need to load personalized language +//if (! defined('NOREQUIREDB')) define('NOREQUIREDB','1'); // Not disabled to increase speed. Language code is found on url. +if (! defined('NOREQUIRESOC')) define('NOREQUIRESOC','1'); +//if (! defined('NOREQUIRETRAN')) define('NOREQUIRETRAN','1'); // Not disabled because need to do translations +if (! defined('NOCSRFCHECK')) define('NOCSRFCHECK',1); +if (! defined('NOTOKENRENEWAL')) define('NOTOKENRENEWAL',1); +if (! defined('NOLOGIN')) define('NOLOGIN',1); // File must be accessed by logon page so without login +if (! defined('NOREQUIREMENU')) define('NOREQUIREMENU',1); +if (! defined('NOREQUIREHTML')) define('NOREQUIREHTML',1); +if (! defined('NOREQUIREAJAX')) define('NOREQUIREAJAX','1'); + +session_cache_limiter(FALSE); + +require_once '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; + +// Load user to have $user->conf loaded (not done into main because of NOLOGIN constant defined) +if (empty($user->id) && ! empty($_SESSION['dol_login'])) $user->fetch('',$_SESSION['dol_login']); + + +// Define css type +header('Content-type: text/css'); +// Important: Following code is to avoid page request by browser and PHP CPU at each Dolibarr page access. +if (empty($dolibarr_nocache)) header('Cache-Control: max-age=3600, public, must-revalidate'); +else header('Cache-Control: no-cache'); + +// On the fly GZIP compression for all pages (if browser support it). Must set the bit 3 of constant to 1. +if (isset($conf->global->MAIN_OPTIMIZE_SPEED) && ($conf->global->MAIN_OPTIMIZE_SPEED & 0x04)) { ob_start("ob_gzhandler"); } + +if (GETPOST('lang')) $langs->setDefaultLang(GETPOST('lang')); // If language was forced on URL +if (GETPOST('theme')) $conf->theme=GETPOST('theme'); // If theme was forced on URL +$langs->load("main",0,1); +$right=($langs->trans("DIRECTION")=='rtl'?'left':'right'); +$left=($langs->trans("DIRECTION")=='rtl'?'right':'left'); + +$path=''; // This value may be used in future for external module to overwrite theme +$theme='eldy'; // Value of theme +if (! empty($conf->global->MAIN_OVERWRITE_THEME_RES)) { $path='/'.$conf->global->MAIN_OVERWRITE_THEME_RES; $theme=$conf->global->MAIN_OVERWRITE_THEME_RES; } + +// Define image path files and other constants +$fontlist='arial,tahoma,verdana,helvetica'; //$fontlist='Verdana,Helvetica,Arial,sans-serif'; +$img_head=''; +$img_button=dol_buildpath($path.'/theme/'.$theme.'/img/button_bg.png',1); +$dol_hide_topmenu=$conf->dol_hide_topmenu; +$dol_hide_leftmenu=$conf->dol_hide_leftmenu; +$dol_optimize_smallscreen=$conf->dol_optimize_smallscreen; +$dol_no_mouse_hover=$conf->dol_no_mouse_hover; +$dol_use_jmobile=$conf->dol_use_jmobile; + + +// Define reference colors +// Example: Light grey: $colred=235;$colgreen=235;$colblue=235; +// Example: Pink: $colred=230;$colgreen=210;$colblue=230; +// Example: Green: $colred=210;$colgreen=230;$colblue=210; +// Example: Ocean: $colred=220;$colgreen=220;$colblue=240; +//$conf->global->THEME_ELDY_ENABLE_PERSONALIZED=0; +//$user->conf->THEME_ELDY_ENABLE_PERSONALIZED=0; +//var_dump($user->conf->THEME_ELDY_RGB); +$colred =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,0,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,0,2))); +$colgreen=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,2,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,2,2))); +$colblue =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_RGB)?235:hexdec(substr($conf->global->THEME_ELDY_RGB,4,2))):(empty($user->conf->THEME_ELDY_RGB)?235:hexdec(substr($user->conf->THEME_ELDY_RGB,4,2))); + +// Colors +$isred=max(0,(2*$colred-$colgreen-$colblue)/2); // 0 - 255 +$isgreen=max(0,(2*$colgreen-$colred-$colblue)/2); // 0 - 255 +$isblue=max(0,(2*$colblue-$colred-$colgreen)/2); // 0 - 255 +$colorbackhmenu1=($colred-3).','.($colgreen-3).','.($colblue-3); // topmenu +$colorbackhmenu2=($colred+5).','.($colgreen+5).','.($colblue+5); +$colorbackvmenu1=($colred+15).','.($colgreen+16).','.($colblue+17); // vmenu +$colorbackvmenu1b=($colred+5).','.($colgreen+6).','.($colblue+7); // vmenu (not menu) +$colorbackvmenu2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktitle1=($colred-5).','.($colgreen-5).','.($colblue-5); // title of array +$colorbacktitle2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktabcard1=($colred+15).','.($colgreen+16).','.($colblue+17); // card +$colorbacktabcard2=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacktabactive=($colred-15).','.($colgreen-15).','.($colblue-15); +$colorbacklineimpair1=(244+round($isred/3)).','.(244+round($isgreen/3)).','.(244+round($isblue/3)); // line impair +$colorbacklineimpair2=(250+round($isred/3)).','.(250+round($isgreen/3)).','.(250+round($isblue/3)); // line impair +$colorbacklineimpairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line impair +$colorbacklinepair1='255,255,255'; // line pair +$colorbacklinepair2='255,255,255'; // line pair +$colorbacklinepairhover=(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)).','.(230+round(($isred+$isgreen+$isblue)/9)); // line pair +$colorbackbody='#f0f0f0'; +$colortext='40,40,40'; +$fontsize='12'; +$fontsizesmaller='11'; + +// Eldy colors +if (empty($conf->global->THEME_ELDY_ENABLE_PERSONALIZED)) +{ + // 90A4AE, 607D8B, 455A64, 37474F + //$conf->global->THEME_ELDY_TOPMENU_BACK1=join(',',colorStringToArray('#37474f')); // topmenu #607D8B + $conf->global->THEME_ELDY_TOPMENU_BACK1=join(',',colorStringToArray('#37474F')); // topmenu #607D8B + //$conf->global->THEME_ELDY_TOPMENU_BACK1=join(',',colorStringToArray('000')); // topmenu #607D8B + $conf->global->THEME_ELDY_TOPMENU_BACK2='236,236,236'; + $conf->global->THEME_ELDY_VERMENU_BACK1='255,255,255'; // vmenu + $conf->global->THEME_ELDY_VERMENU_BACK1b='230,232,232'; // vmenu (not menu) + $conf->global->THEME_ELDY_VERMENU_BACK2='240,240,240'; + $conf->global->THEME_ELDY_BACKTITLE1=join(',',colorStringToArray('#607D8B')); // title of arrays + $conf->global->THEME_ELDY_BACKTITLE2='230,230,230'; + $conf->global->THEME_ELDY_BACKTABCARD2='255,255,255'; // card + $conf->global->THEME_ELDY_BACKTABCARD1='234,234,234'; + $conf->global->THEME_ELDY_BACKTABACTIVE='234,234,234'; + $conf->global->THEME_ELDY_BACKBODY='#f0f0f0;'; + $conf->global->THEME_ELDY_LINEPAIR1='242,242,242'; + $conf->global->THEME_ELDY_LINEPAIR2='248,248,248'; + $conf->global->THEME_ELDY_LINEPAIRHOVER='238,246,252'; + $conf->global->THEME_ELDY_LINEIMPAIR1='255,255,255'; + $conf->global->THEME_ELDY_LINEIMPAIR2='255,255,255'; + $conf->global->THEME_ELDY_LINEIMPAIRHOVER='238,246,252'; + $conf->global->THEME_ELDY_TEXT='50,50,130'; + if ($dol_use_jmobile) + { + $conf->global->THEME_ELDY_BACKTABCARD1='245,245,245'; // topmenu + $conf->global->THEME_ELDY_BACKTABCARD2='245,245,245'; + $conf->global->THEME_ELDY_BACKTABACTIVE='245,245,245'; + } +} + +$colorbackhmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$conf->global->THEME_ELDY_TOPMENU_BACK1) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK1)?$colorbackhmenu1:$user->conf->THEME_ELDY_TOPMENU_BACK1); +$colorbackhmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$conf->global->THEME_ELDY_TOPMENU_BACK2) :(empty($user->conf->THEME_ELDY_TOPMENU_BACK2)?$colorbackhmenu2:$user->conf->THEME_ELDY_TOPMENU_BACK2); +$colorbackvmenu1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1)?$colorbackvmenu1:$user->conf->THEME_ELDY_VERMENU_BACK1); +$colorbackvmenu1b =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1:$conf->global->THEME_ELDY_VERMENU_BACK1b) :(empty($user->conf->THEME_ELDY_VERMENU_BACK1b)?$colorbackvmenu1b:$user->conf->THEME_ELDY_VERMENU_BACK1b); +$colorbackvmenu2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$conf->global->THEME_ELDY_VERMENU_BACK2) :(empty($user->conf->THEME_ELDY_VERMENU_BACK2)?$colorbackvmenu2:$user->conf->THEME_ELDY_VERMENU_BACK2); +$colorbacktitle1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE1) ?$colorbacktitle1:$conf->global->THEME_ELDY_BACKTITLE1) :(empty($user->conf->THEME_ELDY_BACKTITLE1)?$colorbacktitle1:$user->conf->THEME_ELDY_BACKTITLE1); +$colorbacktitle2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTITLE2) ?$colorbacktitle2:$conf->global->THEME_ELDY_BACKTITLE2) :(empty($user->conf->THEME_ELDY_BACKTITLE2)?$colorbacktitle2:$user->conf->THEME_ELDY_BACKTITLE2); +$colorbacktabcard1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD1) ?$colorbacktabcard1:$conf->global->THEME_ELDY_BACKTABCARD1) :(empty($user->conf->THEME_ELDY_BACKTABCARD1)?$colorbacktabcard1:$user->conf->THEME_ELDY_BACKTABCARD1); +$colorbacktabcard2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABCARD2) ?$colorbacktabcard2:$conf->global->THEME_ELDY_BACKTABCARD2) :(empty($user->conf->THEME_ELDY_BACKTABCARD2)?$colorbacktabcard2:$user->conf->THEME_ELDY_BACKTABCARD2); +$colorbacktabactive =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$conf->global->THEME_ELDY_BACKTABACTIVE):(empty($user->conf->THEME_ELDY_BACKTABACTIVE)?$colorbacktabactive:$user->conf->THEME_ELDY_BACKTABACTIVE); +$colorbacklineimpair1=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR1) ?$colorbacklineimpair1:$conf->global->THEME_ELDY_LINEIMPAIR1):(empty($user->conf->THEME_ELDY_LINEIMPAIR1)?$colorbacklineimpair1:$user->conf->THEME_ELDY_LINEIMPAIR1); +$colorbacklineimpair2=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIR2) ?$colorbacklineimpair2:$conf->global->THEME_ELDY_LINEIMPAIR2):(empty($user->conf->THEME_ELDY_LINEIMPAIR2)?$colorbacklineimpair2:$user->conf->THEME_ELDY_LINEIMPAIR2); +$colorbacklineimpairhover=empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEIMPAIRHOVER) ?$colorbacklineimpairhover:$conf->global->THEME_ELDY_LINEIMPAIRHOVER):(empty($user->conf->THEME_ELDY_LINEIMPAIRHOVER)?$colorbacklineimpairhover:$user->conf->THEME_ELDY_LINEIMPAIRHOVER); +$colorbacklinepair1 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR1) ?$colorbacklinepair1:$conf->global->THEME_ELDY_LINEPAIR1) :(empty($user->conf->THEME_ELDY_LINEPAIR1)?$colorbacklinepair1:$user->conf->THEME_ELDY_LINEPAIR1); +$colorbacklinepair2 =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIR2) ?$colorbacklinepair2:$conf->global->THEME_ELDY_LINEPAIR2) :(empty($user->conf->THEME_ELDY_LINEPAIR2)?$colorbacklinepair2:$user->conf->THEME_ELDY_LINEPAIR2); +$colorbacklinepairhover =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_LINEPAIRHOVER) ?$colorbacklinepairhover:$conf->global->THEME_ELDY_LINEPAIRHOVER) :(empty($user->conf->THEME_ELDY_LINEPAIRHOVER)?$colorbacklinepairhover:$user->conf->THEME_ELDY_LINEPAIRHOVER); +$colorbackbody =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_BACKBODY) ?$colorbackbody:$conf->global->THEME_ELDY_BACKBODY) :(empty($user->conf->THEME_ELDY_BACKBODY)?$colorbackbody:$user->conf->THEME_ELDY_BACKBODY); +$colortext =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_TEXT) ?$colortext:$conf->global->THEME_ELDY_TEXT) :(empty($user->conf->THEME_ELDY_TEXT)?$colortext:$user->conf->THEME_ELDY_TEXT); +$fontsize =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE1) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE1) :(empty($user->conf->THEME_ELDY_FONT_SIZE1)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE1); +$fontsizesmaller =empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED)?(empty($conf->global->THEME_ELDY_FONT_SIZE2) ?$fontsize:$conf->global->THEME_ELDY_FONT_SIZE2) :(empty($user->conf->THEME_ELDY_FONT_SIZE2)?$fontsize:$user->conf->THEME_ELDY_FONT_SIZE2); +// No hover by default, we keep only if we set var THEME_ELDY_USE_HOVER +if ((! empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($user->conf->THEME_ELDY_USE_HOVER)) + || (empty($user->conf->THEME_ELDY_ENABLE_PERSONALIZED) && empty($conf->global->THEME_ELDY_USE_HOVER))) +{ + $colorbacklineimpairhover=''; + $colorbacklinepairhover=''; +} + +// Format color value to match expected format (may be 'FFFFFF' or '255,255,255') +$colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); +$colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); + +// Format color value to match expected format (may be 'FFFFFF' or '255,255,255') +$colorbacktabcard1=join(',',colorStringToArray($colorbacktabcard1)); +$colorbacktabcard2=join(',',colorStringToArray($colorbacktabcard2)); + +// Set text color to black or white +$tmppart=explode(',',$colorbackhmenu1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) $colortextbackhmenu='FFF'; +else $colortextbackhmenu='111'; +$tmppart=explode(',',$colorbackvmenu1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) { $colortextbackvmenu='FFF'; } +else { $colortextbackvmenu='111'; } +$tmppart=explode(',',$colorbacktitle1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 360) { $colortexttitle='FFF'; $colorshadowtitle='888'; } +else { $colortexttitle='111'; $colorshadowtitle='FFF'; } +$tmppart=explode(',',$colorbacktabcard1); +$tmpval=(! empty($tmppart[1]) ? $tmppart[1] : '')+(! empty($tmppart[2]) ? $tmppart[2] : '')+(! empty($tmppart[3]) ? $tmppart[3] : ''); +if ($tmpval <= 340) { $colortextbacktab='FFF'; } +else { $colortextbacktab='111'; } + + +$usecss3=true; +if ($conf->browser->name == 'ie' && round($conf->browser->version,2) < 10) $usecss3=false; +elseif ($conf->browser->name == 'iceweasel') $usecss3=false; +elseif ($conf->browser->name == 'epiphany') $usecss3=false; + +print '/*'."\n"; +print 'colred='.$colred.' colgreen='.$colgreen.' colblue='.$colblue."\n"; +print 'isred='.$isred.' isgreen='.$isgreen.' isblue='.$isblue."\n"; +print 'colorbacklineimpair1='.$colorbacklineimpair1."\n"; +print 'colorbacklineimpair2='.$colorbacklineimpair2."\n"; +print 'colorbacklineimpairhover='.$colorbacklineimpairhover."\n"; +print 'colorbacklinepair1='.$colorbacklinepair1."\n"; +print 'colorbacklinepair2='.$colorbacklinepair2."\n"; +print 'colorbacklinepairhover='.$colorbacklinepairhover."\n"; +print 'usecss3='.$usecss3."\n"; +print 'dol_hide_topmenu='.$dol_hide_topmenu."\n"; +print 'dol_hide_leftmenu='.$dol_hide_leftmenu."\n"; +print 'dol_optimize_smallscreen='.$dol_optimize_smallscreen."\n"; +print 'dol_no_mouse_hover='.$dol_no_mouse_hover."\n"; +print 'dol_use_jmobile='.$dol_use_jmobile."\n"; +print 'dol_screenwidth='.$_SESSION['dol_screenwidth']."\n"; +print 'dol_screenheight='.$_SESSION['dol_screenheight']."\n"; +print '*/'."\n"; + +if (! empty($conf->dol_optimize_smallscreen)) $fontsize=11; +?> + +/* ============================================================================== */ +/* Default styles */ +/* ============================================================================== */ + + +body { + + background-color: #FFFFFF; + + background: ; + + color: #101010; + font-size: px; + font-family: ; + margin-top: 0; + margin-bottom: 0; + margin-right: 0; + margin-left: 0; + trans("DIRECTION").";\n"; ?> +} + +a:link, a:visited, a:hover, a:active { font-family: ; font-weight: bold; color: #4A4A4A; text-decoration: none; } + +a:hover { text-decoration: underline; color: #000000;} + + + +input:focus, textarea:focus, button:focus, select:focus { + box-shadow: 0 0 4px #8091BF; +} +textarea.cke_source:focus +{ + box-shadow: none; +} + +input, input.flat, textarea, textarea.flat, form.flat select, select.flat { + font-size: px; + font-family: ; + background: #FDFDFD; + border: 1px solid #C0C0C0; + /*padding: 1px 1px 1px 1px; */ + margin: 0px 0px 0px 0px; +} + +input, textarea, select { + border-radius:4px; + border:solid 1px rgba(0,0,0,.3); + border-top:solid 1px rgba(0,0,0,.3); + border-bottom:solid 1px rgba(0,0,0,.2); + /* box-shadow: 1px 1px 1px rgba(0,0,0,.2) inset;*/ + padding:4px; + margin-left:1px; + margin-bottom:1px; + margin-top:1px; + } + + +select.flat, form.flat select { + font-weight: normal; +} +input:disabled { + background:#ddd; +} + +input.liste_titre { + box-shadow: none !important; +} +input.removedfile { + padding: 0px !important; + border: 0px !important; +} +textarea:disabled { + background:#ddd; +} +input[type=checkbox] { background-color: transparent; border: none; box-shadow: none; } +input[type=radio] { background-color: transparent; border: none; box-shadow: none; } +input[type=image] { background-color: transparent; border: none; box-shadow: none; } +input[type=text] { min-width: 20px; } +input:-webkit-autofill { + background-color: !important; + background-image:none !important; + -webkit-box-shadow: 0 0 0 50px inset; +} +::-webkit-input-placeholder { color:#ccc; } +::-moz-placeholder { color:#ccc; } /* firefox 19+ */ +:-ms-input-placeholder { color:#ccc; } /* ie */ +input:-moz-placeholder { color:#ccc; } + + +legend { margin-bottom: 8px; } + +fieldset { border: 1px solid #AAAAAA !important; box-shadow: 2px 2px 3px #DDD; } + + +.button, sbmtConnexion { + font-family: ; + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); + display: inline-block; + padding: 4px 14px; + margin-bottom: 0; + margin-top: 0; + text-align: center; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} +.button:focus { + -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + box-shadow: 0px 0px 6px 1px rgba(0, 0, 60, 0.2), 0px 0px 0px rgba(60,60,60,0.1); +} +.button:hover { + -moz-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + -webkit-box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); + box-shadow: 0px 0px 6px 1px rgba(0, 0, 0, 0.2), 0px 0px 0px rgba(60,60,60,0.1); +} +.button:disabled { + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; + cursor: auto; +} +.buttonRefused { + pointer-events: none; + cursor: default; + opacity: 0.4; + filter: alpha(opacity=40); /* For IE8 and earlier */ + box-shadow: none; + -webkit-box-shadow: none; + -moz-box-shadow: none; +} +form { + padding:0px; + margin:0px; +} +div.float +{ + float:; +} +div.floatright +{ + float:; +} +.inline-block +{ + display:inline-block; +} + +th .button { + -moz-box-shadow: none !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + -moz-border-radius:0px !important; + -webkit-border-radius:0px !important; + border-radius:0px !important; +} + +.valignmiddle { + vertical-align: middle; +} +.centpercent { + width: 100%; +} +textarea.centpercent { + width: 96%; +} +.center { + text-align: center; +} +.left { + text-align: ; +} +.right { + text-align: ; +} +.nowrap { + white-space: ; +} +.nobold { + font-weight: normal !important; +} +.nounderline { + text-decoration: none; +} +.cursorpointer { + cursor: pointer; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 2px 5px; + font-size: 10px; + font-weight: 700; + line-height: 0.9em; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #777; + border-radius: 10px; +} +.movable { + cursor: move; +} + +.borderrightlight +{ + border-right: 1px solid #DDD; +} +#formuserfile_link { + margin-left: 1px; +} + + +/* ============================================================================== */ +/* Styles to hide objects */ +/* ============================================================================== */ + +.hideobject { display: none; } +.minwidth100 { min-width: 100px; } +.minwidth200 { min-width: 200px; } +.minwidth300 { min-width: 300px; } +.maxwidth100 { max-width: 100px; } +.maxwidth200 { max-width: 200px; } +.maxwidth300 { max-width: 300px; } + +.hideonsmartphone { display: none; } +.noenlargeonsmartphone { width : 50px !important; display: inline !important; } +.maxwidthonsmartphone { max-width: 100px; } +.maxwidth100onsmartphone { max-width: 100px; } +.maxwidth200onsmartphone { max-width: 200px; } +.maxwidth300onsmartphone { max-width: 300px; } + +.linkobject { cursor: pointer; } + +.hideonprint { display: none; } + + + +/* ============================================================================== */ +/* Styles for dragging lines */ +/* ============================================================================== */ + +.dragClass { + color: #002255; +} +td.showDragHandle { + cursor: move; +} +.tdlineupdown { + white-space: nowrap; + min-width: 10px; +} + + +/* ============================================================================== */ +/* Styles de positionnement des zones */ +/* ============================================================================== */ + +#id-container { + margin-top: 0px; + margin-bottom: 0px; + display: table; + table-layout: fixed; +} +#id-right, #id-left { + display: table-cell; + float: none; + vertical-align: top; +} +#id-top { +/* min-width: 100%; + position: relative; + heigth: 52px; + background: #f00;*/ +} +#id-left { + min-height: 100%; + position: relative; + width: 183px; +} +#id-right { /* This must stay id-right and not be replaced with echo $right */ + width: 100%; + padding-left: 184px; + padding-top: 12px; +} + +.side-nav { + background: #FFF; + border-right: 1px solid rgba(0,0,0,0.14); + bottom: 0; + color: #333; + display: block; + font-family: "RobotoDraft","Roboto",sans-serif; + left: 0; + position: fixed; + top: 50px; + z-index: 4; + -webkit-transform: translateZ(0); + -moz-transform: translateZ(0); + -ms-transform: translateZ(0); + -o-transform: translateZ(0); + transform: translateZ(0); + -webkit-transform-style: preserve-3d; + -moz-transform-style: preserve-3d; + -ms-transform-style: preserve-3d; + -o-transform-style: preserve-3d; + transform-style: preserve-3d; + -webkit-transition-delay: 0.1s; + -moz-transition-delay: 0.1s; + transition-delay: 0.1s; + -webkit-transition-duration: 0.2s; + -moz-transition-duration: 0.2s; + transition-duration: 0.2s; + -webkit-transition-property: -webkit-transform; + -moz-transition-property: -moz-transform; + transition-property: transform; + -webkit-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -moz-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + -webkit-overflow-scrolling: touch; + overflow-x: hidden; + overflow-y: auto; +} +.side-nav-vert { + margin-left: 184px; +} + + +div.fiche { + margin-: global->MAIN_MENU_USE_JQUERY_LAYOUT))?($dol_hide_leftmenu?'4':'12'):'24')); ?>px; + margin-: dol_optimize_smallscreen)?'12':'4')); ?>px; + dol_hide_leftmenu) && ! empty($conf->dol_hide_topmenu)) print 'margin-top: 4px;'; ?> +} + +div.fichecenter { + width: 100%; + clear: both; /* This is to have div fichecenter that are true rectangles */ +} +div.fichethirdleft { + browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> + browser->layout != 'phone') { print "width: 35%;\n"; } ?> + browser->layout == 'phone') { print "padding-bottom: 6px;\n"; } ?> +} +div.fichetwothirdright { + browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> + browser->layout != 'phone') { print "width: 65%;\n"; } ?> + browser->layout == 'phone') { print "padding-bottom: 6px\n"; } ?> +} +div.fichehalfleft { + browser->layout != 'phone') { print "float: ".$left.";\n"; } ?> + browser->layout != 'phone') { print "width: 50%;\n"; } ?> +} +div.fichehalfright { + browser->layout != 'phone') { print "float: ".$right.";\n"; } ?> + browser->layout != 'phone') { print "width: 50%;\n"; } ?> +} +div.ficheaddleft { + browser->layout != 'phone') { print "padding-".$left.": 16px;\n"; } + else print "margin-top: 10px;\n"; ?> +} +.containercenter { +display : table; +margin : 0px auto; +} + + +/* ============================================================================== */ +/* Menu top et 1ere ligne tableau */ +/* ============================================================================== */ + + + +div#tmenu_tooltip { + + display:none; + + /* padding-: 100px; */ + background: ; + /*box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important;*/ + + background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(128,128,128,.3) 100%); + background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(128,128,128,.3)) ); + + background-image: rgb(); + border-bottom: 1px solid #CCC; + + +} + +div.tmenudiv { + + display:none; + + position: relative; + display: block; + white-space: nowrap; + border-top: 0px; + border-: 0px; + border-: 0px; + padding: 0px 0px 0px 0px; /* t r b l */ + margin: 0px 0px 0px 0px; /* t r b l */ + font-size: 13px; + font-weight: normal; + color: #000000; + text-decoration: none; + +} +div.tmenudisabled, a.tmenudisabled { + opacity: 0.6; +} +a.tmenudisabled:link, a.tmenudisabled:visited, a.tmenudisabled:hover, a.tmenudisabled:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + white-space: nowrap; + color: #; + text-decoration: none; + cursor: not-allowed; +} + +a.tmenu:link, a.tmenu:visited, a.tmenu:hover, a.tmenu:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + white-space: nowrap; + /* text-shadow: 1px 1px 1px #000000; */ + color: #; + text-decoration: none; +} +a.tmenusel:link, a.tmenusel:visited, a.tmenusel:hover, a.tmenusel:active { + font-weight: normal; + padding: 0px 5px 0px 5px; + margin: 0px 0px 0px 0px; + white-space: nowrap; + color: #; + text-decoration: none !important; +} + + +ul.tmenu { /* t r b l */ + padding: 0px 0px 0px 0px; + margin: 0px 0px 0px 0px; + list-style: none; + /* box-shadow: 0 0 6px rgba(0, 0, 0, .4) !important; */ +} +ul.tmenu li { + background: rgb(); + + + /* + background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) ); + */ + + background-image: rgb(); + border-bottom: 1px solid #CCC; + +} +li.tmenu, li.tmenusel { + + text-align: center; + vertical-align: bottom; + global->MAIN_MENU_INVERT)) { ?> + float: ; + height: px; + + position:relative; + display: block; + padding: 0px 0px 2px 0px; + margin: 0px 0px 0px 0px; + font-weight: normal; +} +li.tmenusel, li.tmenu:hover { + background-image: -o-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: -moz-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0) 100%) !important; + background-image: -ms-linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background-image: linear-gradient(bottom, rgba(250,250,250,0.3) 0%, rgba(0,0,0,0.3) 100%) !important; + background: rgb(); + /* background: url() 50% 0 repeat-x !important; Nicer but problem when menu wrap on 2 lines */ +} +.tmenuend .tmenuleft { width: 0px; } +div.tmenuleft +{ + float: ; + margin-top: 0px; + dol_optimize_smallscreen)) { ?> + width: 5px; + height: px; + /* background: url() 0 -6px no-repeat; */ + +} +div.tmenucenter +{ + padding-top: 2px; + padding-left: 0px; + padding-right: 0px; + height: px; + width: 100%; +} +.mainmenuaspan +{ + padding-right: 4px; +} + +div.mainmenu { + position : relative; + background-repeat:no-repeat; + background-position:center top; + height: px; + margin-left: 0px; + min-width: 40px; +} + +/* Do not load menu img if hidden to save bandwidth */ + + +div.mainmenu.home{ + background-image: url(); + background-position-x: middle; +} + +div.mainmenu.accountancy { + background-image: url(); +} + +div.mainmenu.agenda { + background-image: url(); +} + +div.mainmenu.bank { + background-image: url(); +} + +div.mainmenu.cashdesk { + background-image: url(); +} + +div.mainmenu.companies { + background-image: url(); +} + +div.mainmenu.commercial { + background-image: url(); +} + +div.mainmenu.ecm { + background-image: url(); +} + +div.mainmenu.externalsite { + background-image: url(); +} + +div.mainmenu.ftp { + background-image: url(); +} + +div.mainmenu.hrm { + background-image: url(); +} + +div.mainmenu.members { + background-image: url(); +} + +div.mainmenu.products { + background-image: url(); + margin-left: 10px; +} + +div.mainmenu.project { + background-image: url(); +} + +div.mainmenu.tools { + background-image: url(); +} + +'name of class for div') + +$moduletomainmenu=array('user'=>'','syslog'=>'','societe'=>'companies','projet'=>'project','propale'=>'commercial','commande'=>'commercial', + 'produit'=>'products','service'=>'products','stock'=>'products', + 'don'=>'accountancy','tax'=>'accountancy','banque'=>'accountancy','facture'=>'accountancy','compta'=>'accountancy','accounting'=>'accountancy','adherent'=>'members','import'=>'tools','export'=>'tools','mailing'=>'tools', + 'contrat'=>'commercial','ficheinter'=>'commercial','deplacement'=>'commercial', + 'fournisseur'=>'companies', + 'barcode'=>'','fckeditor'=>'','categorie'=>'', +); +$mainmenuused='home'; +foreach($conf->modules as $val) +{ + $mainmenuused.=','.(isset($moduletomainmenu[$val])?$moduletomainmenu[$val]:$val); +} +//var_dump($mainmenuused); +$mainmenuusedarray=array_unique(explode(',',$mainmenuused)); + +$generic=1; +$divalreadydefined=array('home','companies','products','commercial','accountancy','project','tools','members','agenda','holiday','bookmark','cashdesk','ecm','geoipmaxmind','gravatar','clicktodial','paypal','webservices'); +foreach($mainmenuusedarray as $val) +{ + if (empty($val) || in_array($val,$divalreadydefined)) continue; + //print "XXX".$val; + + // Search img file in module dir + $found=0; $url=''; + foreach($conf->file->dol_document_root as $dirroot) + { + if (file_exists($dirroot."/".$val."/img/".$val.".png")) + { + $url=dol_buildpath('/'.$val.'/img/'.$val.'.png', 1); + $found=1; + break; + } + } + // Img file not found + if (! $found) + { + $url=dol_buildpath($path.'/theme/'.$theme.'/img/menus/generic'.$generic.".png",1); + $found=1; + if ($generic < 4) $generic++; + print "/* A mainmenu entry but img file ".$val.".png not found (check /".$val."/img/".$val.".png), so we use a generic one */\n"; + } + if ($found) + { + print "div.mainmenu.".$val." {\n"; + print " background-image: url(".$url.");\n"; + print "}\n"; + } +} +// End of part to add more div class css +?> + + + +.tmenuimage { + padding:0 0 0 0 !important; + margin:0 0px 0 0 !important; +} + + + +/* Login */ + +.bodylogin +{ + background: #f0f0f0; +} +.login_vertical_align { + padding: 10px; +} +form#login { + margin-top: px; + margin-bottom: 30px; + font-size: 13px; + vertical-align: middle; +} +.login_table_title { + max-width: 530px; + color: #888888; + text-shadow: 1px 1px 1px #FFF; +} +.login_table label { + text-shadow: 1px 1px 1px #FFF; +} +.login_table { + margin-left: 10px; + margin-right: 10px; + padding-left:6px; + padding-right:6px; + padding-top:16px; + padding-bottom:12px; + max-width: 560px; + + background-color: #FFFFFF; + + -moz-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + -webkit-box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + box-shadow: 0 4px 23px 5px rgba(0, 0, 0, 0.2), 0 2px 6px rgba(60,60,60,0.15); + /*-moz-box-shadow: 3px 2px 20px #CCC; + -webkit-box-shadow: 3px 2px 20px #CCC; + box-shadow: 3px 2px 20px #CCC;*/ + + border-radius: 8px; + border:solid 1px rgba(80,80,80,.4); + + border-top:solid 1px f8f8f8; + /* + background-color: #f8f8f8; + background-image: -o-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); + background-image: linear-gradient(top, rgba(250,250,250,.6) 0%, rgba(192,192,192,.3) 100%); + */ +} +div#login_left, div#login_right { + display: inline-block; + min-width: 245px; + padding-top: 10px; + padding-left: 16px; + padding-right: 16px; + text-align: center; + vertical-align: middle; +} +table.login_table tr td table.none tr td { + padding: 2px; +} +table.login_table_securitycode { + border-spacing: 0px; +} +table.login_table_securitycode tr td { + padding-left: 0px; + padding-right: 4px; +} +#securitycode { + min-width: 60px; +} +#img_securitycode { + border: 1px solid #DDDDDD; +} +#img_logo { + max-width: 200px; + max-height: 100px; +} + +div.login_block { + padding-top: 8px; + position: absolute; + : 5px; + left: 0; + top: 0px; + position: fixed; + font-weight: bold; + z-index: 10; + text-align: center; + vertical-align: middle; + background: #FFF; + width: 183px; + height: 42px; + + display: none; + +} +div.login_block table { + display: inline; +} +div.login { + white-space:nowrap; + font-weight: bold; + float: right; +} +div.login a { + color: #; +} +div.login a:hover { + color: #; + text-decoration:underline; +} +div.login_block_user, div.login_block_other { clear: both; } +div.login_block_other { padding-top: 3px; } +.login_block_elem { + float: right; + vertical-align: top; + padding: 0px 0px 0px 4px !important; + height: 16px; +} +.alogin, .alogin:hover { + color: #888 !important; + font-weight: normal !important; + font-size: px !important; +} +.alogin:hover { + text-decoration:underline !important; +} +img.login, img.printer, img.entity { + /* padding: 0px 0px 0px 4px; */ + /* margin: 0px 0px 0px 8px; */ + text-decoration: none; + color: white; + font-weight: bold; +} + +.span-icon-user { + background: url() no-repeat scroll 7px 7px; +} +.span-icon-password { + background-image: url(); + background-repeat: no-repeat; +} +/* +.span-icon-user input, .span-icon-password input { + margin-right: 30px; +} +*/ + +/* ============================================================================== */ +/* Menu gauche */ +/* ============================================================================== */ + +div.vmenu, td.vmenu { + margin-: 2px; + position: relative; + float: left; + padding: 0px; + padding-bottom: 0px; + padding-top: 0px; + width: 174px; +} + +.vmenu { + margin-left: 4px; + + display: none; + +} + +.menu_contenu { padding-top: 4px; padding-bottom: 3px;} + +a.vmenu:link, a.vmenu:visited, a.vmenu:hover, a.vmenu:active { font-size:px; font-family: ; text-align: ; font-weight: bold; } +font.vmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: bold; color: #93a5aa; } +a.vmenu:link, a.vmenu:visited { color: #; } + +a.vsmenu:link, a.vsmenu:visited, a.vsmenu:hover, a.vsmenu:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #202020; margin: 1px 1px 1px 8px; } +font.vsmenudisabled { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #93a5aa; } +a.vsmenu:link, a.vsmenu:visited { color: #; } +font.vsmenudisabledmargin { margin: 1px 1px 1px 8px; } + +a.help:link, a.help:visited, a.help:hover, a.help:active { font-size:px; font-family: ; text-align: ; font-weight: normal; color: #666666; text-decoration: none; } + + +div.blockvmenupair, div.blockvmenuimpair, div.blockvmenubookmarks +{ + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; + padding-left: 5px; + padding-right: 1px; + padding-top: 3px; + padding-bottom: 3px; + margin: 1px 0px 8px 0px; +/* + + + background-image: -o-linear-gradient(bottom, rgb() 0px, rgb() 3px); + background-image: -moz-linear-gradient(bottom, rgb() 0px, rgb() 3px); + background-image: -webkit-linear-gradient(right, rgb() 0px, rgb() 3px); + background-image: -ms-linear-gradient(bottom, rgb() 0px, rgb() 3px); + background-image: linear-gradient(bottom, rgb() 0px, rgb() 3px); + + + background-position:top; + background-repeat:repeat-x; + + border-left: 1px solid #AAA; + border-right: 1px solid #BBB; + border-bottom: 1px solid #BBB; + border-top: 1px solid #BBB; + border-radius: 5px; + -moz-border-radius: 5px; + -moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD;*/ + + padding-bottom: 10px; + border-bottom: 1px solid #DDD; +} + +div.blockvmenusearch +{ + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; + padding-left: 5px; + padding-right: 1px; + padding-top: 3px; + padding-bottom: 3px; + margin: 1px 0px 8px 0px; +/* + background: #E3E6E8; + + background-image: -o-linear-gradient(bottom, rgb() 90%, rgb() 100%); + background-image: -moz-linear-gradient(bottom, rgb() 90%, rgb() 100%); + background-image: -webkit-linear-gradient(bottom, rgb() 90%, rgb() 100%); + background-image: -ms-linear-gradient(bottom, rgb() 90%, rgb() 100%); + background-image: linear-gradient(bottom, rgb() 90%, rgb() 100%); + + + border-left: 1px solid #AAA; + border-right: 1px solid #CCC; + border-bottom: 1px solid #CCC; + border-top: 1px solid #CCC; + border-radius: 5px; + -moz-border-radius: 5px; + -moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD; +*/ + + padding-bottom: 10px; + border-bottom: 1px solid #DDD; +} + +div.blockvmenuhelp +{ +dol_optimize_smallscreen)) { ?> + font-family: ; + color: #000000; + text-align: center; + text-decoration: none; + padding-left: 0px; + padding-right: 3px; + padding-top: 3px; + padding-bottom: 3px; + margin: 4px 0px 0px 0px; + + display: none; + +} + + +td.barre { + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + background: #b3c5cc; + font-family: ; + color: #000000; + text-align: ; + text-decoration: none; +} + +td.barre_select { + background: #b3c5cc; + color: #000000; +} + +td.photo { + background: #F4F4F4; + color: #000000; + border: 1px solid #b3c5cc; +} + +/* ============================================================================== */ +/* Panes for Main */ +/* ============================================================================== */ + +/* + * PANES and CONTENT-DIVs + */ + +#mainContent, #leftContent .ui-layout-pane { + padding: 0px; + overflow: auto; +} + +#mainContent, #leftContent .ui-layout-center { + padding: 0px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + + +/* ============================================================================== */ +/* Toolbar for ECM or Filemanager */ +/* ============================================================================== */ + +.largebutton { + + background-image: -o-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -moz-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -webkit-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: -ms-linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + background-image: linear-gradient(bottom, rgba(200,200,200,0.1) 0%, rgba(255,255,255,0.3) 120%) !important; + + background: #FFF; + background-repeat: repeat-x !important; + border: 1px solid #CCC !important; + + -moz-border-radius: 5px 5px 5px 5px !important; + -webkit-border-radius: 5px 5px 5px 5px !important; + border-radius: 5px 5px 5px 5px !important; + -moz-box-shadow: 2px 2px 4px #DDD; + -webkit-box-shadow: 2px 2px 4px #DDD; + box-shadow: 2px 2px 4px #DDD; + + padding: 0 4px 0 4px !important; + min-height: 32px; +} + + +a.toolbarbutton { + margin-top: 0px; + margin-left: 4px; + margin-right: 4px; + height: 30px; +} +img.toolbarbutton { + margin-top: 1px; + height: 30px; +} + +/* ============================================================================== */ +/* Panes for ECM or Filemanager */ +/* ============================================================================== */ + +#containerlayout .layout-with-no-border { + border: 0 !important; + border-width: 0 !important; +} + +#containerlayout .layout-padding { + padding: 2px !important; +} + +/* + * PANES and CONTENT-DIVs + */ +#containerlayout .ui-layout-pane { /* all 'panes' */ + background: #FFF; + border: 1px solid #BBB; + /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, + otherwise you may get double-scrollbars - on the pane AND on the content-div + */ + padding: 0px; + overflow: auto; +} +/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ +#containerlayout .ui-layout-content { + padding: 10px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + + +/* + * RESIZER-BARS + */ +.ui-layout-resizer { /* all 'resizer-bars' */ + width: dol_optimize_smallscreen)?'8':'24'); ?>px !important; +} +.ui-layout-resizer-hover { /* affects both open and closed states */ +} +/* NOTE: It looks best when 'hover' and 'dragging' are set to the same color, + otherwise color shifts while dragging when bar can't keep up with mouse */ +/*.ui-layout-resizer-open-hover ,*/ /* hover-color to 'resize' */ +.ui-layout-resizer-dragging { /* resizer beging 'dragging' */ + background: #DDD; + width: dol_optimize_smallscreen)?'8':'24'); ?>px; +} +.ui-layout-resizer-dragging { /* CLONED resizer being dragged */ + border-left: 1px solid #BBB; + border-right: 1px solid #BBB; +} +/* NOTE: Add a 'dragging-limit' color to provide visual feedback when resizer hits min/max size limits */ +.ui-layout-resizer-dragging-limit { /* CLONED resizer at min or max size-limit */ + background: #E1A4A4; /* red */ +} +.ui-layout-resizer-closed { + background-color: #DDDDDD; +} +.ui-layout-resizer-closed:hover { + background-color: #EEDDDD; +} +.ui-layout-resizer-sliding { /* resizer when pane is 'slid open' */ + opacity: .10; /* show only a slight shadow */ + filter: alpha(opacity=10); +} +.ui-layout-resizer-sliding-hover { /* sliding resizer - hover */ + opacity: 1.00; /* on-hover, show the resizer-bar normally */ + filter: alpha(opacity=100); +} +/* sliding resizer - add 'outside-border' to resizer on-hover */ +/* this sample illustrates how to target specific panes and states */ +/*.ui-layout-resizer-north-sliding-hover { border-bottom-width: 1px; } +.ui-layout-resizer-south-sliding-hover { border-top-width: 1px; } +.ui-layout-resizer-west-sliding-hover { border-right-width: 1px; } +.ui-layout-resizer-east-sliding-hover { border-left-width: 1px; } +*/ + +/* + * TOGGLER-BUTTONS + */ +.ui-layout-toggler { + dol_optimize_smallscreen)) { ?> + border-top: 1px solid #AAA; /* match pane-border */ + border-right: 1px solid #AAA; /* match pane-border */ + border-bottom: 1px solid #AAA; /* match pane-border */ + background-color: #DDD; + top: 5px !important; + + diplay: none; + +} +.ui-layout-toggler-open { + height: 54px !important; + width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ui-layout-toggler-closed { + height: dol_optimize_smallscreen)?'54':'2'); ?>px !important; + width: dol_optimize_smallscreen)?'7':'22'); ?>px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ui-layout-toggler .content { /* style the text we put INSIDE the togglers */ + color: #666; + font-size: 12px; + font-weight: bold; + width: 100%; + padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ +} + +/* hide the toggler-button when the pane is 'slid open' */ +.ui-layout-resizer-sliding ui-layout-toggler { + display: none; +} + +.ui-layout-north { + height: dol_optimize_smallscreen)?'54':'21'); ?>px !important; +} + + +/* ECM */ + +#containerlayout .ecm-layout-pane { /* all 'panes' */ + background: #FFF; + border: 1px solid #BBB; + /* DO NOT add scrolling (or padding) to 'panes' that have a content-div, + otherwise you may get double-scrollbars - on the pane AND on the content-div + */ + padding: 0px; + overflow: auto; +} +/* (scrolling) content-div inside pane allows for fixed header(s) and/or footer(s) */ +#containerlayout .ecm-layout-content { + padding: 10px; + position: relative; /* contain floated or positioned elements */ + overflow: auto; /* add scrolling to content-div */ +} + +.ecm-layout-toggler { + border-top: 1px solid #AAA; /* match pane-border */ + border-right: 1px solid #AAA; /* match pane-border */ + border-bottom: 1px solid #AAA; /* match pane-border */ + background-color: #CCC; + } +.ecm-layout-toggler-open { + height: 48px !important; + width: 6px !important; + -moz-border-radius:0px 10px 10px 0px; + -webkit-border-radius:0px 10px 10px 0px; + border-radius:0px 10px 10px 0px; +} +.ecm-layout-toggler-closed { + height: 48px !important; + width: 6px !important; +} + +.ecm-layout-toggler .content { /* style the text we put INSIDE the togglers */ + color: #666; + font-size: 12px; + font-weight: bold; + width: 100%; + padding-bottom: 0.35ex; /* to 'vertically center' text inside text-span */ +} +#ecm-layout-west-resizer { + width: 6px !important; +} + +.ecm-layout-resizer { /* all 'resizer-bars' */ + border: 1px solid #BBB; + border-width: 0; + } +.ecm-layout-resizer-closed { +} + +.ecm-in-layout-center { + border-left: 1px !important; + border-right: 0px !important; + border-top: 0px !important; +} + +.ecm-in-layout-south { + border-left: 0px !important; + border-right: 0px !important; + border-bottom: 0px !important; + padding: 4px 0 4px 4px !important; +} + + + +/* ============================================================================== */ +/* Onglets */ +/* ============================================================================== */ +div.tabs { +/* margin: 0px 0px 2px 6px; + padding: 0px 6px 3px 0px; */ + text-align: ; + margin-left: 6px !important; + margin-right: 6px !important; + clear:both; + height:100%; +} +div.tabsElem { margin-top: 8px; } /* To avoid overlap of tabs when not browser */ + +div.tabBar { + color: #; + padding-top: 9px; + padding-left: px; + padding-right: px; + padding-bottom: 8px; + margin: 0px 0px 14px 0px; + -moz-border-radius:6px; + -webkit-border-radius: 6px; + border-radius: 6px; + border-right: 1px solid #BBB; + border-bottom: 1px solid #BBB; + border-left: 1px solid #BBB; + border-top: 1px solid #CCC; + width: auto; + + background: rgb(); + /* + background-image: -o-linear-gradient(bottom, rgba(, 0.5) 25%, rgba(, 0.5) 100%); + background-image: -moz-linear-gradient(bottom, rgba(, 0.5) 25%, rgba(, 0.5) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(, 0.5) 25%, rgba(, 0.5) 100%); + background-image: -ms-linear-gradient(bottom, rgba(, 0.5) 25%, rgba(, 0.5) 100%); + background-image: linear-gradient(bottom, rgba(, 0.5) 25%, rgba(, 0.5) 100%); + */ + + background: rgb(); + + + -moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD; + +} + +div.tabsAction { + margin: 20px 0em 10px 0em; + padding: 0em 0em; + text-align: right; +} + + +a.tabTitle { +/* background: #657090; + color: white;*/ + color:rgba(0,0,0,.5); + margin-right:10px; + text-shadow:1px 1px 1px #ffffff; + font-family: ; + font-weight: normal; + padding: 4px 6px 2px 6px; + margin: 0px 6px; + text-decoration: none; + white-space: nowrap; +} + +a.tab:link, a.tab:visited, a.tab:hover, a.tab#active { + font-family: ; + padding: 5px 12px 5px; + /* padding: 3px 6px 2px 6px;*/ + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + + /*-moz-border-radius:6px 6px 0px 0px; + -webkit-border-radius:6px 6px 0px 0px; + border-radius:6px 6px 0px 0px; + + -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + box-shadow: 0 -1px 4px rgba(0,0,0,.1); + + border-bottom: none; + border-right: 1px solid #CCCCCC; + border-left: 1px solid #D0D0D0; + border-top: 1px solid #D8D8D8; + */ + + /* + + background: rgb(); + /*background-image: -o-linear-gradient(bottom, rgb() 35%, rgb() 100%); + background-image: -moz-linear-gradient(bottom, rgb() 35%, rgb() 100%); + background-image: -webkit-linear-gradient(bottom, rgb() 35%, rgb() 100%); + background-image: -ms-linear-gradient(bottom, rgb() 35%, rgb() 100%); + background-image: linear-gradient(bottom, rgb() 35%, rgb() 100%);*/ + + */ + background-image: none !important; +} + +.tabactive, a.tab#active { + border-right: 1px solid #CCCCCC; + border-left: 1px solid #D0D0D0; + border-top: 1px solid #D8D8D8; + + -moz-border-radius:6px 6px 0px 0px; + -webkit-border-radius:6px 6px 0px 0px; + border-radius:6px 6px 0px 0px; + + -moz-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + -webkit-box-shadow: 0 -1px 4px rgba(0,0,0,.1); + box-shadow: 0 -1px 4px rgba(0,0,0,.1); + + + background: rgb() !important; +/* border-bottom: 1px solid rgb() !important; + background: rgba(, 0.5) url() 50% 0 repeat-x; */ + + background: rgb() url() 50% 0 repeat-x; + + /*background-image: none !important; */ + color: #; +} +a.tab:hover +{ + /* + background: rgba(, 0.5) url() 50% 0 repeat-x; + color: #; + */ + text-decoration: underline; +} +a.tab:link, a.tab:visited +{ + /* color: #888; */ + /* font-weight: normal !important; */ +} +a.tabimage { + color: #434956; + font-family: ; + text-decoration: none; + white-space: nowrap; +} + +td.tab { + background: #dee7ec; +} + +span.tabspan { + background: #dee7ec; + color: #434956; + font-family: ; + padding: 0px 6px; + margin: 0em 0.2em; + text-decoration: none; + white-space: nowrap; + -moz-border-radius:6px 6px 0px 0px; + -webkit-border-radius:6px 6px 0px 0px; + border-radius:6px 6px 0px 0px; + + border-: 1px solid #555555; + border-: 1px solid #D8D8D8; + border-top: 1px solid #D8D8D8; +} + +/* ============================================================================== */ +/* Boutons actions */ +/* ============================================================================== */ + +div.divButAction { margin-bottom: 1.4em; } + +.butAction, .butAction:link, .butAction:visited, .butAction:hover, .butAction:active, .butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { + text-decoration: none; + white-space: nowrap; + padding: 0.4em em; + margin: 0em em; + font-family: ; + + font-weight: bold; + background: white; + border: 1px solid #8CACBB; + color: #434956; + -moz-border-radius:0px 5px 0px 5px; + -webkit-border-radius:0px 5px 0px 5px; + border-radius:0px 5px 0px 5px; + -moz-box-shadow: 2px 2px 3px #DDD; + -webkit-box-shadow: 2px 2px 3px #DDD; + box-shadow: 2px 2px 3px #DDD; +} + +.butAction:hover { + background: #dee7ec; +} + +.butActionDelete, .butActionDelete:link, .butActionDelete:visited, .butActionDelete:hover, .butActionDelete:active { + border: 1px solid #997777; +} + +.butActionDelete:hover { + background: #FFe7ec; +} + +.butActionRefused { + text-decoration: none !important; + white-space: nowrap !important; + cursor: not-allowed; + padding: 0.4em em; + margin: 0em em; + font-family: !important; + + font-weight: bold !important; + background: white !important; + border: 1px solid #AAAAAA !important; + color: #AAAAAA !important; + -moz-border-radius:0px 5px 0px 5px; + -webkit-border-radius:0px 5px 0px 5px; + border-radius:0px 5px 0px 5px; + -moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD; +} + +global->MAIN_BUTTON_HIDE_UNAUTHORIZED)) { ?> +.butActionRefused { + display: none; +} + + +span.butAction, span.butActionDelete { + cursor: pointer; +} + +/* Preapre for bootstrap look +.butAction, .butActionDelete, .butActionRefused { + border-color: #c5c5c5; + border-color: rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.15) rgba(0, 0, 0, 0.25); + display: inline-block; + padding: 4px 14px; + margin-bottom: 0; + line-height: 20px; + text-align: center; + vertical-align: middle; + cursor: pointer; + color: #333333; + text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); + background-color: #f5f5f5; + background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); + background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); + background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); + background-image: linear-gradient(to bottom, #ffffff, #e6e6e6); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0); + border-color: #e6e6e6 #e6e6e6 #bfbfbf; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + border: 1px solid #bbbbbb; + border-bottom-color: #a2a2a2; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); +} + +.butAction { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #006dcc; + background-image: -moz-linear-gradient(top, #0088cc, #0044cc); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc)); + background-image: -webkit-linear-gradient(top, #0088cc, #0044cc); + background-image: -o-linear-gradient(top, #0088cc, #0044cc); + background-image: linear-gradient(to bottom, #0088cc, #0044cc); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc', endColorstr='#ff0044cc', GradientType=0); + border-color: #0044cc #0044cc #002a80; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} + +.butActionDelete { + color: #ffffff; + text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); + background-color: #cc6d00; + background-image: -moz-linear-gradient(top, #cc8800, #cc4400); + background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#cc8800), to(#cc4400)); + background-image: -webkit-linear-gradient(top, #cc8800, #cc4400); + background-image: -o-linear-gradient(top, #cc8800, #cc4400); + background-image: linear-gradient(to bottom, #cc8800, #cc4400); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffcc8800', endColorstr='#ffcc4400', GradientType=0); + border-color: #cc4400 #cc4400 #802a00; + border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +a.butAction:link, a.butAction:visited, a.butAction:hover, a.butAction:active { + color: #FFFFFF; +} +End bootstrap */ + + + +/* ============================================================================== */ +/* Tables */ +/* ============================================================================== */ + +.allwidth { + width: 100%; +} + +#undertopmenu { + background-repeat: repeat-x; + margin-top: px; +} + + +.paddingrightonly { + border-collapse: collapse; + border: 0px; + margin-left: 0px; + padding-: 0px !important; + padding-: 4px !important; +} +.nocellnopadd { + list-style-type:none; + margin: 0px !important; + padding: 0px !important; +} + +.notopnoleft { + border-collapse: collapse; + border: 0px; + padding-top: 0px; + padding-: 0px; + padding-: 16px; + padding-bottom: 4px; + margin-right: 0px 0px; +} +.notopnoleftnoright { + border-collapse: collapse; + border: 0px; + padding-top: 0px; + padding-left: 0px; + padding-right: 0px; + padding-bottom: 4px; + margin: 0px 0px 0px 0px; +} + + +table.border, table.dataTable, .table-border, .table-border-col, .table-key-border-col, .table-val-border-col, div.border { + border: 1px solid #D0D0D0; + border-collapse: collapse; + padding: 1px 2px 1px 3px; /* t r b l */ +} + +table.border td, div.border div div.tagtd { + padding: 2px 2px 2px 2px; + border: 1px solid #D0D0D0; + border-collapse: collapse; +} + +td.border, div.tagtable div div.border { + border-top: 1px solid #000000; + border-right: 1px solid #000000; + border-bottom: 1px solid #000000; + border-left: 1px solid #000000; +} + +.table-key-border-col { + width: 25%; + vertical-align:top; +} +.table-val-border-col { + width:auto; +} + +/* Main boxes */ + +table.noborder, table.formdoc, div.noborder { + width: 100%; + + border-collapse: separate !important; + border-spacing: 0px; + + border-right-width: 1px; + border-right-color: #CCC; + border-right-style: solid; + +/* + border-bottom-width: 1px; + border-bottom-color: #BBBBBB; + border-bottom-style: solid; +*/ + border-left-width: 1px; + border-left-color: #CCC; + border-left-style: solid; + + margin: 0px 0px 2px 0px; + + -moz-box-shadow: 2px 2px 4px #CCC; + -webkit-box-shadow: 2px 2px 4px #CCC; + box-shadow: 2px 2px 4px #CCC; + + -moz-border-radius: 0.2em; + -webkit-border-radius: 0.2em; + border-radius: 0.2em; +} + +table.noborder tr, div.noborder form { + border-top-color: #FEFEFE; + + border-right-width: 1px; + border-right-color: #BBBBBB; + border-right-style: solid; + + border-left-width: 1px; + border-left-color: #BBBBBB; + border-left-style: solid; + height: 26px; +} + +table.noborder th, table.noborder td, div.noborder form, div.noborder form div { + padding: 1px 2px 1px 3px; /* t r b l */ +} + +table.nobordernopadding { + border-collapse: collapse !important; + border: 0px; +} +table.nobordernopadding tr { + border: 0px !important; + padding: 0px 0px; +} +table.nobordernopadding td { + border: 0px !important; + padding: 0px 0px; +} + +/* For lists */ + +table.liste { + width: 100%; + border-collapse: collapse; + border-top-color: #FEFEFE; + + border-right-width: 1px; + border-right-color: #CCC; + border-right-style: solid; + +/* + border-bottom-width: 1px; + border-bottom-color: #BBBBBB; + border-bottom-style: solid; +*/ + border-left-width: 1px; + border-left-color: #CCC; + border-left-style: solid; + + margin-bottom: 2px; + margin-top: 0px; + + -moz-box-shadow: 0px 3px 4px #CCC; + -webkit-box-shadow: 0px 3px 4px #CC; + box-shadow: 0px 3px 4px #CCC; +} +table.liste td { + padding-right: 2px; +} + +.tagtable, .table-border { display: table; } +.tagtr, .table-border-row { display: table-row; } +.tagtd, .table-border-col, .table-key-border-col, .table-val-border-col { display: table-cell; } + + +/* Prepare to remove class pair - impair +.noborder > tbody > tr:nth-child(even) td { + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; + min-height: 18px; +} + +.noborder > tbody > tr:nth-child(odd) td { + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; +} +*/ + +.impair:hover, td.nohover { + + background: rgb(); + + background: #fafafa; + + border: 0px; +} + +.impair, .nohover .impair:hover, tr.impair td.nohover { + + background: linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + + background: #eaeaea; + + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; + min-height: 18px; /* seems to not be used */ +} + +.pair:hover { + + background: rgb(); + + background: #fafafa; + + border: 0px; +} + +.pair, .nohover .pair:hover, tr.pair td.nohover { +/* + + background: linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%) !important; + + background: #ffffff; + +*/ + font-family: ; + border: 0px; + margin-bottom: 1px; + color: #202020; + background-color: #f9f9f9; +} +tr.pair td, tr.impair td { + padding: 4px; + border-bottom: 1px solid #ddd; +} +div.liste_titre .tagtd { + vertical-align: middle; +} +div.liste_titre { + min-height: 26px !important; /* We cant use height because it's a div and it should be higher if content is more. but min-height doe not work either for div */ +} +tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable.tr +{ + height: 26px !important; +} +div.liste_titre, tr.liste_titre, tr.liste_titre_sel, form.liste_titre, form.liste_titre_sel, table.dataTable thead tr +{ + background: rgb(); + background-repeat: repeat-x; + + /* + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + */ + font-weight: bold; + + color: #; + font-family: ; + border-bottom: 1px solid #FDFFFF; + text-align: ; +} +tr.liste_titre th, th.liste_titre, tr.liste_titre td, td.liste_titre, form.liste_titre div, div.liste_titre +{ + font-family: ; + font-weight: bold; + border-bottom: 1px solid #FDFFFF; + text-shadow: 1px 0px 1px #; + vertical-align: middle; +} +tr.liste_titre th a, th.liste_titre a, tr.liste_titre td a, td.liste_titre a, form.liste_titre div a, div.liste_titre a { + text-shadow: none !important; +} +.liste_titre td a { + text-shadow: none !important; + color: #; +} +div.liste_titre { + padding-left: 3px; +} +tr.liste_titre_sel th, th.liste_titre_sel, tr.liste_titre_sel td, td.liste_titre_sel, form.liste_titre_sel div +{ + font-family: ; + font-weight: normal; + border-bottom: 1px solid #FDFFFF; + text-decoration: underline; + text-shadow: 1px 0px 1px #; +} +input.liste_titre { + background: transparent; + border: 0px; +} + +.noborder tr.liste_total, .noborder tr.liste_total td, tr.liste_total, form.liste_total { + background: #F0F0F0; +} +.noborder tr.liste_total td, tr.liste_total td, form.liste_total div { + border-top: 1px solid #DDDDDD; + color: #332266; + font-weight: normal; + white-space: nowrap; + padding: 4px; +} + + +.tableforservicepart1 .impair, .tableforservicepart1 .pair, .tableforservicepart2 .impair, .tableforservicepart2 .pair { + background: none; +} + +.margintable td { + border: 0px !important; +} + +/* Disable shadows */ +.noshadow { + -moz-box-shadow: 0px 0px 0px #DDD !important; + -webkit-box-shadow: 0px 0px 0px #DDD !important; + box-shadow: 0px 0px 0px #DDD !important; +} + +div.tabBar .noborder { + -moz-box-shadow: 0px 0px 0px #DDD !important; + -webkit-box-shadow: 0px 0px 0px #DDD !important; + box-shadow: 0px 0px 0px #DDD !important; +} + + +/* + * Boxes + */ + +.tdboxstats { + + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 120%) !important; + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 120%) !important; + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 120%) !important; + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 120%) !important; + background: linear-gradient(bottom, rgb() 85%, rgb() 120%) !important; + + background: #ffffff !important; + +} + +.boxstats { + + margin: 3px; + padding: 3px; + /*-moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD; + margin-bottom: 8px !important;*/ + border: 1px solid #AAA; + text-align: center; + border-radius: 5px; +} + +.boxtable { + -moz-box-shadow: 3px 3px 4px #DDD; + -webkit-box-shadow: 3px 3px 4px #DDD; + box-shadow: 3px 3px 4px #DDD; + margin-bottom: 8px !important; +} + + +.box { + padding-right: 0px; + padding-left: 0px; + padding-bottom: 4px; +} + +tr.box_titre { + height: 26px !important; + background: rgb(); + background-repeat: repeat-x; + + /* + background-image: linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -o-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -moz-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -ms-linear-gradient(top, rgba(255,255,255,.3) 0%, rgba(0,0,0,.3) 100%); + background-image: -webkit-gradient( linear, left top, left bottom, color-stop(0, rgba(255,255,255,.3)), color-stop(1, rgba(0,0,0,.3)) ); + */ + + color: #; + text-shadow: 1px 0px 1px #; + font-family: , sans-serif; + font-weight: bold; + border-bottom: 1px solid #FDFFFF; + white-space: nowrap; +} + +tr.box_titre td.boxclose { + width: 30px; +} + +tr.box_impair { + + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + + background: #eaeaea; + + font-family: ; +} + +tr.box_pair { + + background: -o-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -moz-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -webkit-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: -ms-linear-gradient(bottom, rgb() 85%, rgb() 100%); + background: linear-gradient(bottom, rgb() 85%, rgb() 100%); + + background: #ffffff; + + font-family: ; + + background-color: #f9f9f9; +} + +tr.box_pair td, tr.box_impair td { + padding: 4px; + border-bottom: 1px solid #ddd; +} + +.formboxfilter { + vertical-align: middle; + margin-bottom: 6px; +} +.formboxfilter input[type=image] +{ + top: 5px; + position: relative; +} + + + + + + +/* + * Ok, Warning, Error + */ +.ok { color: #114466; } +.warning { color: #887711; } +.error { color: #550000 !important; font-weight: bold; } + +div.ok { + color: #114466; +} + +div.warning { + color: #302020; + padding: 0.3em 0.3em 0.3em 0.3em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #e0d0b0; + -moz-border-radius:6px; + -webkit-border-radius: 6px; + border-radius: 6px; + background: #EFDF9A; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + +div.error { + color: #550000; font-weight: bold; + padding: 0.3em 0.3em 0.3em 0.3em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #DC9CAB; + -moz-border-radius:6px; + -webkit-border-radius: 6px; + border-radius: 6px; + background: #EFCFCF; +} + +/* Info admin */ +div.info { + color: #302010; + padding: 0.4em 0.4em 0.4em 0.4em; + margin: 0.5em 0em 0.5em 0em; + border: 1px solid #DFBF9A; + -moz-border-radius:6px; + -webkit-border-radius: 6px; + border-radius:6px; + background: #EFCFAA; + text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); +} + + +/* + * Liens Payes/Non payes + */ + +a.normal:link { font-weight: normal } +a.normal:visited { font-weight: normal } +a.normal:active { font-weight: normal } +a.normal:hover { font-weight: normal } + +a.impayee:link { font-weight: bold; color: #550000; } +a.impayee:visited { font-weight: bold; color: #550000; } +a.impayee:active { font-weight: bold; color: #550000; } +a.impayee:hover { font-weight: bold; color: #550000; } + + + +/* + * Other + */ + +.product_line_stock_ok { color: #002200; } +.product_line_stock_too_low { color: #664400; } + +.fieldrequired { font-weight: bold; color: #000055; } + +.dolgraphtitle { margin-top: 6px; margin-bottom: 4px; } +.dolgraphtitlecssboxes { margin: 0px; } +.legendColorBox, .legendLabel { border: none !important; } +div.dolgraph div.legend, div.dolgraph div.legend div { background-color: rgba(255,255,255,0) !important; } +div.dolgraph div.legend table tbody tr { height: auto; } + +.photo { + border: 0px; +} +.photowithmargin { + margin-bottom: 2px; + margin-top: 2px; +} +.photointooltip { + -webkit-box-shadow: 0px 0px 5px #777; + -moz-box-shadow: 0px 0px 5px #777; + box-shadow: 0px 0px 6px #777; + margin-top: 8px; + float: left; +} + +.logo_setup +{ + content:url(); +} + +div.titre { + font-family: ; + font-weight: bold; + color: rgb(); + text-decoration: none; + text-shadow: 1px 1px 2px #FFFFFF; + dol_optimize_smallscreen)?'':'margin-top: 4px;'); ?> +} + +#dolpaymenttable { width: 600px; font-size: 13px; } +#tablepublicpayment { border: 1px solid #CCCCCC !important; width: 100%; } +#tablepublicpayment .CTableRow1 { background-color: #F0F0F0 !important; } +#tablepublicpayment tr.liste_total { border-bottom: 1px solid #CCCCCC !important; } +#tablepublicpayment tr.liste_total td { border-top: none; } + +#divsubscribe { width: 700px; } +#tablesubscribe { width: 100%; } + + +/* + * Effect Postit + */ +.effectpostit +{ + position: relative; +} +.effectpostit:before, .effectpostit:after +{ + z-index: -1; + position: absolute; + content: ""; + bottom: 15px; + left: 10px; + width: 50%; + top: 80%; + max-width:300px; + background: #777; + -webkit-box-shadow: 0 15px 10px #777; + -moz-box-shadow: 0 15px 10px #777; + box-shadow: 0 15px 10px #777; + -webkit-transform: rotate(-3deg); + -moz-transform: rotate(-3deg); + -o-transform: rotate(-3deg); + -ms-transform: rotate(-3deg); + transform: rotate(-3deg); +} +.effectpostit:after +{ + -webkit-transform: rotate(3deg); + -moz-transform: rotate(3deg); + -o-transform: rotate(3deg); + -ms-transform: rotate(3deg); + transform: rotate(3deg); + right: 10px; + left: auto; +} + + + +/* ============================================================================== */ +/* Formulaire confirmation (When Ajax JQuery is used) */ +/* ============================================================================== */ + +.ui-dialog-titlebar { +} +.ui-dialog-content { + font-size: px !important; +} + +/* ============================================================================== */ +/* Formulaire confirmation (When HTML is used) */ +/* ============================================================================== */ + +table.valid { + border-top: solid 1px #E6E6E6; + border-: solid 1px #E6E6E6; + border-: solid 1px #444444; + border-bottom: solid 1px #555555; + padding-top: 0px; + padding-left: 0px; + padding-right: 0px; + padding-bottom: 0px; + margin: 0px 0px; + background: #D5BAA8; +} + +.validtitre { + background: #D5BAA8; + font-weight: bold; +} + + +/* ============================================================================== */ +/* Tooltips */ +/* ============================================================================== */ + +#tooltip { +position: absolute; +width: px; +border-top: solid 1px #BBBBBB; +border-: solid 1px #BBBBBB; +border-: solid 1px #444444; +border-bottom: solid 1px #444444; +padding: 2px; +z-index: 3000; +background-color: #EFCFAA; +opacity: 1; +-moz-border-radius:6px; +-webkit-border-radius: 6px; +border-radius: 6px; +} +#tiptip_content { + background-color: rgb(252,248,246); + background-color: rgba(252,248,246,0.95); + line-height: 1.4em; +} + +/* ============================================================================== */ +/* Calendar */ +/* ============================================================================== */ + +img.datecallink { padding-left: 2px !important; padding-right: 2px !important; } + +.ui-datepicker-trigger { + vertical-align: middle; + cursor: pointer; +} + +.bodyline { + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; + border: 1px #E4ECEC outset; + padding: 0px; + margin-bottom: 5px; +} +table.dp { + width: 180px; + background-color: #FFFFFF; + border-top: solid 2px #DDDDDD; + border-: solid 2px #DDDDDD; + border-: solid 1px #222222; + border-bottom: solid 1px #222222; + padding: 0px; + border-spacing: 0px; + border-collapse: collapse; +} +.dp td, .tpHour td, .tpMinute td{padding:2px; font-size:10px;} +/* Barre titre */ +.dpHead,.tpHead,.tpHour td:Hover .tpHead{ + font-weight:bold; + background-color:#b3c5cc; + color:white; + font-size:11px; + cursor:auto; +} +/* Barre navigation */ +.dpButtons,.tpButtons { + text-align:center; + background-color:#617389; + color:#FFFFFF; + font-weight:bold; + cursor:pointer; +} +.dpButtons:Active,.tpButtons:Active{border: 1px outset black;} +.dpDayNames td,.dpExplanation {background-color:#D9DBE1; font-weight:bold; text-align:center; font-size:11px;} +.dpExplanation{ font-weight:normal; font-size:11px;} +.dpWeek td{text-align:center} + +.dpToday,.dpReg,.dpSelected{ + cursor:pointer; +} +.dpToday{font-weight:bold; color:black; background-color:#DDDDDD;} +.dpReg:Hover,.dpToday:Hover{background-color:black;color:white} + +/* Jour courant */ +.dpSelected{background-color:#0B63A2;color:white;font-weight:bold; } + +.tpHour{border-top:1px solid #DDDDDD; border-right:1px solid #DDDDDD;} +.tpHour td {border-left:1px solid #DDDDDD; border-bottom:1px solid #DDDDDD; cursor:pointer;} +.tpHour td:Hover {background-color:black;color:white;} + +.tpMinute {margin-top:5px;} +.tpMinute td:Hover {background-color:black; color:white; } +.tpMinute td {background-color:#D9DBE1; text-align:center; cursor:pointer;} + +/* Bouton X fermer */ +.dpInvisibleButtons +{ + border-style:none; + background-color:transparent; + padding:0px; + font-size:9px; + border-width:0px; + color:#0B63A2; + vertical-align:middle; + cursor: pointer; +} + + +/* ============================================================================== */ +/* Afficher/cacher */ +/* ============================================================================== */ + +div.visible { + display: block; +} + +div.hidden { + display: none; +} + +tr.visible { + display: block; +} + +td.hidden { + display: none; +} + + +/* ============================================================================== */ +/* Module agenda */ +/* ============================================================================== */ + +table.cal_month { border-spacing: 0px; } +.cal_current_month { border-top: 0; border-left: solid 1px #E0E0E0; border-right: 0; border-bottom: solid 1px #E0E0E0; } +.cal_current_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B; border-right: 0; border-bottom: solid 1px #E0E0E0; } +.cal_current_month_oneday { border-right: solid 1px #E0E0E0; } +.cal_other_month { border-top: 0; border-left: solid 1px #C0C0C0; border-right: 0; border-bottom: solid 1px #C0C0C0; } +.cal_other_month_peruserleft { border-top: 0; border-left: solid 3px #6C7C7B !important; border-right: 0; } +.cal_current_month_right { border-right: solid 1px #E0E0E0; } +.cal_other_month_right { border-right: solid 1px #C0C0C0; } +.cal_other_month { opacity: 0.6; background: #EAEAEA; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_past_month { opacity: 0.6; background: #EEEEEE; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_current_month { background: #FFFFFF; border-left: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_current_month_peruserleft { background: #FFFFFF; border-left: solid 3px #6C7C7B; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today { background: #FDFDF0; border-left: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today_peruser { background: #FDFDF0; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_today_peruser_peruserleft { background: #FDFDF0; border-left: solid 3px #6C7C7B; border-right: solid 1px #E0E0E0; border-bottom: solid 1px #E0E0E0; padding-: 2px; padding-: 1px; padding-top: 0px; padding-bottom: 0px; } +.cal_past { } +.cal_peruser { padding: 0px; } +.peruser_busy { background: #CC8888; } +.peruser_notbusy { background: #EEDDDD; opacity: 0.5; } +table.cal_event { border: none; border-collapse: collapse; margin-bottom: 1px; -webkit-border-radius: 6px; border-radius: 6px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.25); + background: -webkit-gradient(linear, left top, left bottom, from(#006aac), to(#00438d)); + min-height: 20px; + } +table.cal_event td { border: none; padding-: 2px; padding-: 2px; padding-top: 0px; padding-bottom: 0px; } +ul.cal_event { padding-right: 2px; padding-top: 1px; border: none; list-style-type: none; margin: 0 auto; padding-left: 0px; padding-start: 0px; -khtml-padding-start: 0px; -o-padding-start: 0px; -moz-padding-start: 0px; -webkit-padding-start: 0px; } +li.cal_event { border: none; list-style-type: none; } +.cal_event a:link { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:visited { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:active { color: #111111; font-size: 11px; font-weight: normal !important; } +.cal_event a:hover { color: #111111; font-size: 11px; font-weight: normal !important; color:rgba(255,255,255,.75); } +.cal_event_busy { } +.cal_peruserviewname { max-width: 100px; height: 22px; } + +.topmenuimage { + background-size: 28px auto; +} + +/* ============================================================================== */ +/* Ajax - Liste deroulante de l'autocompletion */ +/* ============================================================================== */ + +.ui-widget-content { border: solid 1px rgba(0,0,0,.3); background: #fff !important; } + +.ui-autocomplete-loading { background: white url() right center no-repeat; } +.ui-autocomplete { + position:absolute; + width:auto; + font-size: 1.0em; + background-color:white; + border:1px solid #888; + margin:0px; +/* padding:0px; This make combo crazy */ + } +.ui-autocomplete ul { + list-style-type:none; + margin:0px; + padding:0px; + } +.ui-autocomplete ul li.selected { background-color: #D3E5EC;} +.ui-autocomplete ul li { + list-style-type:none; + display:block; + margin:0; + padding:2px; + height:18px; + cursor:pointer; + } + +/* ============================================================================== */ +/* jQuery - jeditable */ +/* ============================================================================== */ + +.editkey_textarea, .editkey_ckeditor, .editkey_string, .editkey_email, .editkey_numeric, .editkey_select, .editkey_autocomplete { + background: url() right top no-repeat; + cursor: pointer; +} + +.editkey_datepicker { + background: url() right center no-repeat; + cursor: pointer; +} + +.editval_textarea.active:hover, .editval_ckeditor.active:hover, .editval_string.active:hover, .editval_email.active:hover, .editval_numeric.active:hover, .editval_select.active:hover, .editval_autocomplete.active:hover, .editval_datepicker.active:hover { + background: white; + cursor: pointer; +} + +.viewval_textarea.active:hover, .viewval_ckeditor.active:hover, .viewval_string.active:hover, .viewval_email.active:hover, .viewval_numeric.active:hover, .viewval_select.active:hover, .viewval_autocomplete.active:hover, .viewval_datepicker.active:hover { + background: white; + cursor: pointer; +} + +.viewval_hover { + background: white; +} + + +/* ============================================================================== */ +/* Admin Menu */ +/* ============================================================================== */ + +/* CSS for treeview */ +.treeview ul { background-color: transparent !important; margin-top: 0; } +.treeview li { background-color: transparent !important; padding: 0 0 0 16px !important; min-height: 20px; } +.treeview .hover { color: black !important; } + + + +/* ============================================================================== */ +/* Show Excel tabs */ +/* ============================================================================== */ + +.table_data +{ + border-style:ridge; + border:1px solid; +} +.tab_base +{ + background:#C5D0DD; + font-weight:bold; + border-style:ridge; + border: 1px solid; + cursor:pointer; +} +.table_sub_heading +{ + background:#CCCCCC; + font-weight:bold; + border-style:ridge; + border: 1px solid; +} +.table_body +{ + background:#F0F0F0; + font-weight:normal; + font-family:sans-serif; + border-style:ridge; + border: 1px solid; + border-spacing: 0px; + border-collapse: collapse; +} +.tab_loaded +{ + background:#222222; + color:white; + font-weight:bold; + border-style:groove; + border: 1px solid; + cursor:pointer; +} + + +/* ============================================================================== */ +/* CSS for color picker */ +/* ============================================================================== */ + +A.color, A.color:active, A.color:visited { + position : relative; + display : block; + text-decoration : none; + width : 10px; + height : 10px; + line-height : 10px; + margin : 0px; + padding : 0px; + border : 1px inset white; +} +A.color:hover { + border : 1px outset white; +} +A.none, A.none:active, A.none:visited, A.none:hover { + position : relative; + display : block; + text-decoration : none; + width : 10px; + height : 10px; + line-height : 10px; + margin : 0px; + padding : 0px; + cursor : default; + border : 1px solid #b3c5cc; +} +.tblColor { + display : none; +} +.tdColor { + padding : 1px; +} +.tblContainer { + background-color : #b3c5cc; +} +.tblGlobal { + position : absolute; + top : 0px; + left : 0px; + display : none; + background-color : #b3c5cc; + border : 2px outset; +} +.tdContainer { + padding : 5px; +} +.tdDisplay { + width : 50%; + height : 20px; + line-height : 20px; + border : 1px outset white; +} +.tdDisplayTxt { + width : 50%; + height : 24px; + line-height : 12px; + font-family : ; + font-size : 8pt; + color : black; + text-align : center; +} +.btnColor { + width : 100%; + font-family : ; + font-size : 10pt; + padding : 0px; + margin : 0px; +} +.btnPalette { + width : 100%; + font-family : ; + font-size : 8pt; + padding : 0px; + margin : 0px; +} + + +/* Style to overwrites JQuery styles */ +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; + font-weight: normal; + font-family:; + font-size:1em; +} +.ui-widget { + font-family:; + font-size:px; +} +.ui-button { margin-left: -2px; browser->name)?'padding-top: 1px;':''); ?> } +.ui-button-icon-only .ui-button-text { height: 8px; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: 2px 0px 6px 0px; } +.ui-button-text +{ + line-height: 1em !important; +} +.ui-autocomplete-input { margin: 0; padding: 4px; } + + +/* ============================================================================== */ +/* CKEditor */ +/* ============================================================================== */ + +.cke_editable +{ + margin: 5px !important; +} +.cke_editor table, .cke_editor tr, .cke_editor td +{ + border: 0px solid #FF0000 !important; +} +span.cke_skin_kama { padding: 0 !important; } +.cke_wrapper { padding: 4px !important; } +a.cke_dialog_ui_button +{ + font-family: !important; + background-image: url() !important; + background-position: bottom !important; + border: 1px solid #C0C0C0 !important; + -moz-border-radius:0px 5px 0px 5px !important; + -webkit-border-radius:0px 5px 0px 5px !important; + border-radius:0px 5px 0px 5px !important; + -moz-box-shadow: 3px 3px 4px #DDD !important; + -webkit-box-shadow: 3px 3px 4px #DDD !important; + box-shadow: 3px 3px 4px #DDD !important; +} +.cke_dialog_ui_hbox_last +{ + vertical-align: bottom ! important; +} +.cke_editable +{ + line-height: 1.4 !important; + margin: 6px !important; +} + + +/* ============================================================================== */ +/* File upload */ +/* ============================================================================== */ + +.template-upload { + height: 72px !important; +} + + +/* ============================================================================== */ +/* Holiday */ +/* ============================================================================== */ + +#types .btn { + cursor: pointer; +} + +#types .btn-primary { + font-weight: bold; +} + +#types form { + padding: 20px; +} + +#types label { + display:inline-block; + width:100px; + margin-right: 20px; + padding: 4px; + text-align: right; + vertical-align: top; +} + +#types input.text, #types textarea { + width: 400px; +} + +#types textarea { + height: 100px; +} + + + +/* ============================================================================== */ +/* JSGantt */ +/* ============================================================================== */ + +div.scroll2 { + width: px !important; +} + + +/* ============================================================================== */ +/* jFileTree */ +/* ============================================================================== */ + +.ecmfiletree { + width: 99%; + height: 99%; + background: #FFF; + padding-left: 2px; + font-weight: normal; +} + +.fileview { + width: 99%; + height: 99%; + background: #FFF; + padding-left: 2px; + padding-top: 4px; + font-weight: normal; +} + +div.filedirelem { + position: relative; + display: block; + text-decoration: none; +} + +ul.filedirelem { + padding: 2px; + margin: 0 5px 5px 5px; +} +ul.filedirelem li { + list-style: none; + padding: 2px; + margin: 0 10px 20px 10px; + width: 160px; + height: 120px; + text-align: center; + display: block; + float: ; + border: solid 1px #DDDDDD; +} + +ui-layout-north { + +} + +ul.ecmjqft { + font-size: 11px; + line-height: 16px; + padding: 0px; + margin: 0px; + font-weight: normal; +} + +ul.ecmjqft li { + list-style: none; + padding: 0px; + padding-left: 20px; + margin: 0px; + white-space: nowrap; + display: block; +} + +ul.ecmjqft a { + line-height: 16px; + vertical-align: middle; + color: #333; + padding: 0px 0px; + font-weight:normal; + display: inline-block !important; +/* float: left;*/ +} +ul.ecmjqft a:active { + font-weight: bold !important; +} +ul.ecmjqft a:hover { + text-decoration: underline; +} +div.ecmjqft { + vertical-align: middle; + display: inline-block !important; + text-align: right; + position:absolute; + right:4px; +} + +/* Core Styles */ +.ecmjqft LI.directory { font-weight:normal; background: url() left top no-repeat; } +.ecmjqft LI.expanded { font-weight:normal; background: url() left top no-repeat; } +.ecmjqft LI.wait { font-weight:normal; background: url() left top no-repeat; } + + +/* ============================================================================== */ +/* jNotify */ +/* ============================================================================== */ + +.jnotify-container { + position: fixed !important; +global->MAIN_JQUERY_JNOTIFY_BOTTOM)) { ?> + top: auto !important; + bottom: 4px !important; + + text-align: center; + min-width: px; + width: auto; + padding-left: 10px !important; + padding-right: 10px !important; +} + +/* use or not ? */ +div.jnotify-background { + opacity : 0.95 !important; + -moz-box-shadow: 3px 3px 4px #888 !important; + -webkit-box-shadow: 3px 3px 4px #888 !important; + box-shadow: 3px 3px 4px #888 !important; +} + +/* ============================================================================== */ +/* blockUI */ +/* ============================================================================== */ + +/*div.growlUI { background: url(check48.png) no-repeat 10px 10px }*/ +div.dolEventValid h1, div.dolEventValid h2 { + color: #567b1b; + background-color: #e3f0db; + padding: 5px 5px 5px 5px; + text-align: left; +} +div.dolEventError h1, div.dolEventError h2 { + color: #a72947; + background-color: #d79eac; + padding: 5px 5px 5px 5px; + text-align: left; +} + +/* ============================================================================== */ +/* Maps */ +/* ============================================================================== */ + +.divmap, #google-visualization-geomap-embed-0, #google-visualization-geomap-embed-1, google-visualization-geomap-embed-2 { + -moz-box-shadow: 0px 0px 10px #AAA; + -webkit-box-shadow: 0px 0px 10px #AAA; + box-shadow: 0px 0px 10px #AAA; +} + + +/* ============================================================================== */ +/* Datatable */ +/* ============================================================================== */ + +.sorting_asc { background: url('') no-repeat center right; } +.sorting_desc { background: url('') no-repeat center right; } +.sorting_asc_disabled { background: url('') no-repeat center right; } +.sorting_desc_disabled { background: url('') no-repeat center right; } +.paginate_disabled_previous:hover, .paginate_enabled_previous:hover, .paginate_disabled_next:hover, .paginate_enabled_next:hover +{ + font-weight: normal; +} +.paginate_enabled_previous:hover, .paginate_enabled_next:hover +{ + text-decoration: underline !important; +} +.paginate_button +{ + font-weight: normal !important; +} + +/* For jquery plugin combobox */ +/* Disable this. It breaks wrapping of boxes +.ui-corner-all { white-space: nowrap; } */ + +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled, .paginate_button_disabled { + opacity: .35; + filter: Alpha(Opacity=35); + background-image: none; +} + +/* ============================================================================== */ +/* Select2 */ +/* ============================================================================== */ + +.select2-choice, +.select2-drop.select2-drop-above.select2-drop-active, +.select2-container-active .select2-choice, +.select2-container-active .select2-choices, +.select2-dropdown-open.select2-drop-above .select2-choice, +.select2-dropdown-open.select2-drop-above .select2-choices, +.select2-container-multi.select2-container-active .select2-choices +{ + border: 1px solid #aaa; +} +.select2-disabled +{ + color: #888; +} +.select2-drop-active +{ + border: 1px solid #aaa; + border-top: none; +} +a span.select2-chosen +{ + font-weight: normal !important; +} +.select2-container .select2-choice { + background-image: none; +} +.select2-results .select2-no-results, .select2-results .select2-searching, .select2-results .select2-ajax-error, .select2-results .select2-selection-limit +{ + background: #FFFFFF; +} + + +/* ============================================================================== */ +/* JMobile */ +/* ============================================================================== */ + +li.ui-li-divider .ui-link { + color: #FFF !important; +} +.ui-btn { + margin: 0.1em 2px +} +a.ui-link, a.ui-link:hover, .ui-btn:hover, span.ui-btn-text:hover, span.ui-btn-inner:hover { + text-decoration: none !important; +} + +.ui-btn-inner { + min-width: .4em; + padding-left: 10px; + padding-right: 10px; + + font-size: 13px; + + font-size: px; + + /* white-space: normal; */ /* Warning, enable this break the truncate feature */ +} +.ui-btn-icon-right .ui-btn-inner { + padding-right: 34px; +} +.ui-btn-icon-left .ui-btn-inner { + padding-left: 34px; +} +.ui-select .ui-btn-icon-right .ui-btn-inner { + padding-right: 38px; +} +.ui-select .ui-btn-icon-left .ui-btn-inner { + padding-left: 38px; +} +.fiche .ui-controlgroup { + margin: 0px; + padding-bottom: 0px; +} +div.ui-controlgroup-controls div.tabsElem +{ + margin-top: 2px; +} +div.ui-controlgroup-controls div.tabsElem a +{ + -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.2); + -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.2); + box-shadow: 0 -3px 6px rgba(0,0,0,.2); +} +div.ui-controlgroup-controls div.tabsElem a#active { + -moz-box-shadow: 0 -3px 6px rgba(0,0,0,.3); + -webkit-box-shadow: 0 -3px 6px rgba(0,0,0,.3); + box-shadow: 0 -3px 6px rgba(0,0,0,.3); +} + +a.tab span.ui-btn-inner +{ + border: none; + padding: 0; +} + +.ui-link { + color: rgb(); +} +.liste_titre .ui-link { + color: # !important; +} + +a.ui-link { + word-wrap: break-word; +} + +/* force wrap possible onto field overflow does not works */ +.formdoc .ui-btn-inner +{ + white-space: normal; + overflow: hidden; + text-overflow: hidden; +} + +/* Warning: setting this may make screen not beeing refreshed after a combo selection */ +/*.ui-body-c { + background: #fff; +}*/ + +div.ui-radio, div.ui-checkbox +{ + display: inline-block; + border-bottom: 0px !important; +} +.ui-checkbox input, .ui-radio input { + height: auto; + width: auto; + margin: 4px; + position: static; +} +div.ui-checkbox label+input, div.ui-radio label+input { + position: absolute; +} +.ui-mobile fieldset +{ + padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid #AAAAAA !important; +} + +ul.ulmenu { + border-radius: 0; + -webkit-border-radius: 0; +} + +.ui-field-contain label.ui-input-text { + vertical-align: middle !important; +} +.ui-mobile fieldset { + border-bottom: none !important; +} + +/* Style for first level menu with jmobile */ +.ui-bar-b, .lilevel0 { + border: 1px solid #5f5f7a !important; + background: rgb(); + background-repeat: repeat-x; + + background-image: -o-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -moz-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -webkit-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: -ms-linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + background-image: linear-gradient(bottom, rgba(0,0,0,0.3) 0%, rgba(250,250,250,0.3) 100%); + font-weight: bold; + + color: # !important; +} +.alilevel0 { + color: # !important; + text-shadow: 1px 0px 1px #; +} + +.ui-body-c { + border: 1px solid #ccc; + text-shadow: none; +} +.ui-btn-up-c, .ui-btn-hover-c { + border: 1px solid #ccc; + text-shadow: none; +} +.ui-body-c .ui-link, .ui-body-c .ui-link:visited, .ui-body-c .ui-link:hover { + color: rgb(); +} +.ui-btn-up-c .vsmenudisabled { + color: # !important; + text-shadow: none !important; +} +.ui-controlgroup-horizontal .ui-btn.ui-first-child { +-webkit-border-top-left-radius: 6px; +border-top-left-radius: 6px; +} +.ui-controlgroup-horizontal .ui-btn.ui-last-child { +-webkit-border-top-right-radius: 6px; +border-top-right-radius: 6px; +} +.alilevel1 { + color: # !important; + text-shadow: 1px 0px 1px #; +} +.lilevel1 { + background-image: -webkit-gradient(linear,left top,left bottom,from( #ddd ),to( #d1d1d1 )) !important; + background-image: -webkit-linear-gradient( #ddd,#d1d1d1 ) !important; + background-image: -moz-linear-gradient( #ddd,#d1d1d1 ) !important; + background-image: -ms-linear-gradient( #ddd,#d1d1d1 ) !important; + background-image: -o-linear-gradient( #ddd,#d1d1d1 ) !important; + background-image: linear-gradient( #ddd,#d1d1d1 ) !important; +} +.lilevel2 +{ + padding-left: 22px; +} +.lilevel3 +{ + padding-left: 54px; +} + +close(); diff --git a/htdocs/theme/md_exp/tpl/README b/htdocs/theme/md_exp/tpl/README new file mode 100644 index 00000000000..d3bc4b4679f --- /dev/null +++ b/htdocs/theme/md_exp/tpl/README @@ -0,0 +1,3 @@ +README (english) + +This directory is used to store custom templates. (system core and modules) \ No newline at end of file diff --git a/htdocs/theme/md_exp/tpl/index.html b/htdocs/theme/md_exp/tpl/index.html new file mode 100644 index 00000000000..e69de29bb2d diff --git a/htdocs/user/card.php b/htdocs/user/card.php index f709b02f043..8a6b08401df 100644 --- a/htdocs/user/card.php +++ b/htdocs/user/card.php @@ -8,7 +8,7 @@ * Copyright (C) 2011 Herve Prot * Copyright (C) 2012 Juanjo Menent * Copyright (C) 2013 Florian Henry - * Copyright (C) 2013-2014 Alexandre Spangaro + * Copyright (C) 2013-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 @@ -213,7 +213,7 @@ if ($action == 'add' && $canadduser) $ret = $extrafields->setOptionalsFromPost($extralabels,$object); if ($ret < 0) $error++; - // Set entity of new user + // Set entity property $entity=GETPOST('entity','int'); if (! empty($conf->multicompany->enabled)) { @@ -988,6 +988,15 @@ if (($action == 'create') || ($action == 'adduserldap')) print ''; print "\n"; + // Accountancy code + if ($conf->salaries->enabled) + { + print ''.$langs->trans("AccountancyCode").''; + print ''; + print ''; + print ''; + } + // User color if (! empty($conf->agenda->enabled)) { @@ -1130,7 +1139,7 @@ else */ if ($action != 'edit') { - $rowspan=17; + $rowspan=19; print ''; @@ -1326,11 +1335,10 @@ else print "\n"; // Accountancy code - if (! empty($conf->global->USER_ENABLE_ACCOUNTANCY_CODE)) // For the moment field is not used so must not appeared. + if ($conf->salaries->enabled) { - $rowspan++; - print ''; - print ''; + print ''; + print ''; } // Color user @@ -1420,7 +1428,7 @@ else if (! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode) && $conf->entity == 1 && $user->admin && ! $user->entity) { print '\n"; // Accountancy code - if (! empty($conf->global->USER_ENABLE_ACCOUNTANCY_CODE)) // For the moment field is not used so must not appeared. - { - print ""; - print ''; - print ''; - print ""; - } + if ($conf->salaries->enabled) + { + print ""; + print ''; + print ''; + print ""; + } // User color if (! empty($conf->agenda->enabled)) @@ -2114,7 +2122,7 @@ else if (empty($conf->multicompany->transverse_mode) && $conf->entity == 1 && $user->admin && ! $user->entity) { print "".''; - print "\n"; } else diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index babac9c33ba..d8d8a1f071c 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -1066,7 +1066,7 @@ class User extends CommonObject /** * Assign rights by default * - * @return Si erreur <0, si ok renvoi le nbre de droits par defaut positionnes + * @return integer erreur <0, si ok renvoi le nbre de droits par defaut positionnes */ function set_default_rights() { @@ -1621,7 +1621,7 @@ class User extends CommonObject /** * Update clicktodial info * - * @return void + * @return integer */ function update_clicktodial() { @@ -1775,10 +1775,10 @@ class User extends CommonObject * Return a link to the user card (with optionaly the picto) * Use this->id,this->lastname, this->firstname * - * @param int $withpicto Include picto in link (0=No picto, 1=Inclut le picto dans le lien, 2=Picto seul) + * @param int $withpicto Include picto in link (0=No picto, 1=Include picto into link, 2=Only picto) * @param string $option On what the link point to - * @param boolean $infologin Add connection info to the tooltip - * @param string $notooltip 1=Disable tooltip + * @param integer $infologin Add connection info to the tooltip + * @param integer $notooltip 1=Disable tooltip * @param int $maxlen Max length of visible user name * @return string String with URL */ @@ -1793,13 +1793,13 @@ class User extends CommonObject $label = '' . $langs->trans("User") . ''; $label.= '
    '; - $label .= '' . $langs->trans('Name') . ': ' . $this->getFullName($langs,'',''); + $label.= '' . $langs->trans('Name') . ': ' . $this->getFullName($langs,'',''); if (! empty($this->login)) - $label .= '
    ' . $langs->trans('Login') . ': ' . $this->login; + $label.= '
    ' . $langs->trans('Login') . ': ' . $this->login; if (! empty($this->email)) - $label .= '
    ' . $langs->trans("EMail").': '.$this->email; + $label.= '
    ' . $langs->trans("EMail").': '.$this->email; if (! empty($this->admin)) - $label .= '
    ' . $langs->trans("Administrator").': '.yn($this->admin); + $label.= '
    ' . $langs->trans("Administrator").': '.yn($this->admin); if (! empty($this->societe_id)) { $thirdpartystatic = new Societe($db); $thirdpartystatic->fetch($this->societe_id); @@ -1807,14 +1807,14 @@ class User extends CommonObject $company=' ('.$langs->trans("Company").': '.$thirdpartystatic->name.')'; } $type=($this->societe_id?$langs->trans("External").$company:$langs->trans("Internal")); - $label .= '
    ' . $langs->trans("Type") . ': ' . $type; + $label.= '
    ' . $langs->trans("Type") . ': ' . $type; + $label.='
    '; if (! empty($this->photo)) { - $label.= '
    '; - //if (! is_object($form)) $form = new Form($db); + $label.= '
    '; $label.= Form::showphoto('userphoto', $this, 80); + $label.= '
    '; } - $label.= '
    '; // Info Login if ($infologin) @@ -1836,24 +1836,24 @@ class User extends CommonObject } - $lien = 'getFullName($langs,'','',$maxlen) . $companylink . $lienfin; + $result.= $link . $this->getFullName($langs,'','',$maxlen) . $companylink . $linkend; return $result; } /** * Renvoie login clicable (avec eventuellement le picto) * - * @param int $withpicto Inclut le picto dans le lien + * @param int $withpicto Include picto into link * @param string $option Sur quoi pointe le lien * @return string Chaine avec URL */ @@ -1863,17 +1863,17 @@ class User extends CommonObject $result=''; - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; if ($option == 'xxx') { - $lien = ''; - $lienfin=''; + $link = ''; + $linkend=''; } - if ($withpicto) $result.=($lien.img_object($langs->trans("ShowUser"),'user').$lienfin.' '); - $result.=$lien.$this->login.$lienfin; + if ($withpicto) $result.=($link.img_object($langs->trans("ShowUser"),'user').$linkend.' '); + $result.=$link.$this->login.$linkend; return $result; } diff --git a/htdocs/user/home.php b/htdocs/user/home.php index 72e9b124ae0..61d09e0e4c2 100644 --- a/htdocs/user/home.php +++ b/htdocs/user/home.php @@ -181,7 +181,7 @@ if ($resql) { if (! empty($conf->multicompany->enabled)) { - if ($obj->admin && ! $obj->entity) + if (empty($obj->entity)) { print ' ('.$langs->trans("AllEntities").')'; } diff --git a/htdocs/user/index.php b/htdocs/user/index.php index 5d0b0ac77e4..9e3e40b2e59 100644 --- a/htdocs/user/index.php +++ b/htdocs/user/index.php @@ -125,9 +125,11 @@ if ($result) print ''; print "\n"; - //SearchBar + // SearchBar + $colspan=7; + if (! empty($conf->multicompany->enabled) && empty($conf->multicompany->transverse_mode)) $colspan++; print ''; - print ''; + print ''; // Status print ''; - print ''; - print ''; - print ''; - print ''."\n"; - } - } + if ($caneditperms && (empty($objMod->rights_admin_allowed) || empty($fuser->admin))) + { + // On affiche ligne pour modifier droits + print ''; + print ''; + print ''; + print ''; + print ''."\n"; + } + } - print ''; + print ''; - // Picto and label of permission - print ''; + // Picto and label of permission + print ''; - // Permission and tick - if (! empty($fuser->admin) && ! empty($objMod->rights_admin_allowed)) // Permission own because admin - { - if ($caneditperms) - { - print ''; - } - print ''; - } - else if (in_array($obj->id, $permsuser)) // Permission own by user - { - if ($caneditperms) - { - print ''; - } - print ''; - } + // Permission and tick + if (! empty($fuser->admin) && ! empty($objMod->rights_admin_allowed)) // Permission own because admin + { + if ($caneditperms) + { + print ''; + } + print ''; + } + else if (in_array($obj->id, $permsuser)) // Permission own by user + { + if ($caneditperms) + { + print ''; + } + print ''; + } - else if (is_array($permsgroupbyentity[$entity])) - { - if (in_array($obj->id, $permsgroupbyentity[$entity])) // Permission own by group - { - if ($caneditperms) - { - print ''; - } - print ''; - } - else - { - // Do not own permission - if ($caneditperms) - { - print ''; - } - print ''; - } - } - else - { - // Do not own permission - if ($caneditperms) - { - print ''; - } - print ''; - } + else if (is_array($permsgroupbyentity[$entity])) + { + if (in_array($obj->id, $permsgroupbyentity[$entity])) // Permission own by group + { + if ($caneditperms) + { + print ''; + } + print ''; + } + else + { + // Do not own permission + if ($caneditperms) + { + print ''; + } + print ''; + } + } + else + { + // Do not own permission + if ($caneditperms) + { + print ''; + } + print ''; + } - $perm_libelle=($conf->global->MAIN_USE_ADVANCED_PERMS && ($langs->trans("PermissionAdvanced".$obj->id)!=("PermissionAdvanced".$obj->id))?$langs->trans("PermissionAdvanced".$obj->id):(($langs->trans("Permission".$obj->id)!=("Permission".$obj->id))?$langs->trans("Permission".$obj->id):$obj->libelle)); - print ''; + $perm_libelle=($conf->global->MAIN_USE_ADVANCED_PERMS && ($langs->trans("PermissionAdvanced".$obj->id)!=("PermissionAdvanced".$obj->id))?$langs->trans("PermissionAdvanced".$obj->id):(($langs->trans("Permission".$obj->id)!=("Permission".$obj->id))?$langs->trans("Permission".$obj->id):$obj->libelle)); + print ''; - print ''."\n"; + print ''."\n"; - $i++; - } + $i++; + } } else dol_print_error($db); print '
    '.$langs->trans("AccountancyCode").''.$object->accountancy_code.'
    '.$langs->trans("AccountancyCode").''.$object->accountancy_code.'
    '.$langs->trans("Entity").''; - if ($object->admin && ! $object->entity) + if (empty($object->entity)) { print $langs->trans("AllEntities"); } @@ -1661,7 +1669,7 @@ else */ if ($action == 'edit' && ($canedituser || $caneditfield || $caneditpassword || ($user->id == $object->id))) { - $rowspan=15; + $rowspan=16; if (isset($conf->file->main_authentication) && preg_match('/openid/',$conf->file->main_authentication) && ! empty($conf->global->MAIN_OPENIDURL_PERUSER)) $rowspan++; if (! empty($conf->societe->enabled)) $rowspan++; if (! empty($conf->adherent->enabled)) $rowspan++; @@ -2028,23 +2036,23 @@ else print "
    '.$langs->trans("AccountancyCode").''; - if ($caneditfield) - { - print ''; - } - else - { - print ''; - print $object->accountancy_code; - } - print '
    '.$langs->trans("AccountancyCode").''; + if ($caneditfield) + { + print ''; + } + else + { + print ''; + print $object->accountancy_code; + } + print '
    '.$langs->trans("Entity").'".$mc->select_entities($object->entity); + print "".$mc->select_entities($object->entity, 'entity', '', 0, 1); // last parameter 1 means, show also a choice 0=>'all entities' print "
     
      '; diff --git a/htdocs/user/perms.php b/htdocs/user/perms.php index b63b3e65ffc..a01b5ffa7ab 100644 --- a/htdocs/user/perms.php +++ b/htdocs/user/perms.php @@ -1,24 +1,24 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo - * Copyright (C) 2004-2012 Laurent Destailleur - * Copyright (C) 2004 Eric Seigne - * Copyright (C) 2005-2012 Regis Houssin - * Copyright (C) 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 . - */ +* Copyright (C) 2004-2012 Laurent Destailleur +* Copyright (C) 2004 Eric Seigne +* Copyright (C) 2005-2012 Regis Houssin +* Copyright (C) 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/user/perms.php @@ -74,10 +74,10 @@ if ($user->id <> $id && ! $canreaduser) accessforbidden(); if ($action == 'addrights' && $caneditperms) { - $edituser = new User($db); + $edituser = new User($db); $edituser->fetch($id); - //$edituser->addrights($rights, $module, '', $entity); // TODO unused for the moment - $edituser->addrights($rights, $module); + //$edituser->addrights($rights, $module, '', $entity); // TODO unused for the moment + $edituser->addrights($rights, $module); // Si on a touche a ses propres droits, on recharge if ($id == $user->id) @@ -90,10 +90,10 @@ if ($action == 'addrights' && $caneditperms) if ($action == 'delrights' && $caneditperms) { - $edituser = new User($db); + $edituser = new User($db); $edituser->fetch($id); - //$edituser->delrights($rights, $module, '', $entity); // TODO unused for the moment - $edituser->delrights($rights, $module); + //$edituser->delrights($rights, $module, '', $entity); // TODO unused for the moment + $edituser->delrights($rights, $module); // Si on a touche a ses propres droits, on recharge if ($id == $user->id) @@ -133,39 +133,39 @@ $modulesdir = dolGetModulesDirs(); foreach($modulesdir as $dir) { $handle=@opendir(dol_osencode($dir)); - if (is_resource($handle)) - { - while (($file = readdir($handle))!==false) - { - if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') - { - $modName = substr($file, 0, dol_strlen($file) - 10); + if (is_resource($handle)) + { + while (($file = readdir($handle))!==false) + { + if (is_readable($dir.$file) && substr($file, 0, 3) == 'mod' && substr($file, dol_strlen($file) - 10) == '.class.php') + { + $modName = substr($file, 0, dol_strlen($file) - 10); - if ($modName) - { - include_once $dir.$file; - $objMod = new $modName($db); + if ($modName) + { + include_once $dir.$file; + $objMod = new $modName($db); - // Load all lang files of module - if (isset($objMod->langfiles) && is_array($objMod->langfiles)) - { - foreach($objMod->langfiles as $domain) - { - $langs->load($domain); - } - } - // Load all permissions - if ($objMod->rights_class) - { - $forceEntity=((! empty($conf->multicompany->enabled) && ! empty($fuser->entity)) ? $fuser->entity : null); - $ret=$objMod->insert_permissions(0, $forceEntity); - $modules[$objMod->rights_class]=$objMod; - //print "modules[".$objMod->rights_class."]=$objMod;"; - } - } - } - } - } + // Load all lang files of module + if (isset($objMod->langfiles) && is_array($objMod->langfiles)) + { + foreach($objMod->langfiles as $domain) + { + $langs->load($domain); + } + } + // Load all permissions + if ($objMod->rights_class) + { + $forceEntity=((! empty($conf->multicompany->enabled) && ! empty($fuser->entity)) ? $fuser->entity : null); + $ret=$objMod->insert_permissions(0, $forceEntity); + $modules[$objMod->rights_class]=$objMod; + //print "modules[".$objMod->rights_class."]=$objMod;"; + } + } + } + } + } } $db->commit(); @@ -195,19 +195,19 @@ dol_syslog("get user perms", LOG_DEBUG); $result=$db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($result); - array_push($permsuser,$obj->id); - $i++; - } - $db->free($result); + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) + { + $obj = $db->fetch_object($result); + array_push($permsuser,$obj->id); + $i++; + } + $db->free($result); } else { - dol_print_error($db); + dol_print_error($db); } // Lecture des droits groupes @@ -231,27 +231,27 @@ dol_syslog("get user perms", LOG_DEBUG); $result=$db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - while ($i < $num) - { - $obj = $db->fetch_object($result); - if (! isset($permsgroupbyentity[$obj->entity])) - $permsgroupbyentity[$obj->entity] = array(); - array_push($permsgroupbyentity[$obj->entity], $obj->id); - $i++; - } - $db->free($result); + $num = $db->num_rows($result); + $i = 0; + while ($i < $num) + { + $obj = $db->fetch_object($result); + if (! isset($permsgroupbyentity[$obj->entity])) + $permsgroupbyentity[$obj->entity] = array(); + array_push($permsgroupbyentity[$obj->entity], $obj->id); + $i++; + } + $db->free($result); } else { - dol_print_error($db); + dol_print_error($db); } /* * Ecran ajout/suppression permission - */ +*/ print ''; @@ -274,9 +274,9 @@ print ''."\n"; print '

    '; -if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules"), 0, 1).'
    '; +if ($user->admin) print info_admin($langs->trans("WarningOnlyPermissionOfActivatedModules")); // Show warning about external users -if (empty($user->societe_id)) print info_admin(showModulesExludedForExternal($modules)).'

    '."\n"; +if (empty($user->societe_id)) print info_admin(showModulesExludedForExternal($modules))."\n"; // For multicompany transversal mode // TODO Place a hook here @@ -310,115 +310,115 @@ $sql.= " ORDER BY r.module, r.id"; $result=$db->query($sql); if ($result) { - $num = $db->num_rows($result); - $i = 0; - $var = True; - $oldmod=''; + $num = $db->num_rows($result); + $i = 0; + $var = True; + $oldmod=''; - while ($i < $num) - { - $obj = $db->fetch_object($result); + while ($i < $num) + { + $obj = $db->fetch_object($result); - // Si la ligne correspond a un module qui n'existe plus (absent de includes/module), on l'ignore - if (empty($modules[$obj->module])) - { - $i++; - continue; - } + // Si la ligne correspond a un module qui n'existe plus (absent de includes/module), on l'ignore + if (empty($modules[$obj->module])) + { + $i++; + continue; + } - if (isset($obj->module) && ($oldmod <> $obj->module)) - { - $oldmod = $obj->module; - $var = !$var; + if (isset($obj->module) && ($oldmod <> $obj->module)) + { + $oldmod = $obj->module; + $var = !$var; - // Rupture detectee, on recupere objMod - $objMod=$modules[$obj->module]; - $picto=($objMod->picto?$objMod->picto:'generic'); + // Rupture detectee, on recupere objMod + $objMod=$modules[$obj->module]; + $picto=($objMod->picto?$objMod->picto:'generic'); - if ($caneditperms && (empty($objMod->rights_admin_allowed) || empty($fuser->admin))) - { - // On affiche ligne pour modifier droits - print '
    '.img_object('',$picto).' '.$objMod->getName(); - print ' '; - print ''.$langs->trans("All").""; - print '/'; - print ''.$langs->trans("None").""; - print ' 
    '.img_object('',$picto).' '.$objMod->getName(); + print ' '; + print ''.$langs->trans("All").""; + print '/'; + print ''.$langs->trans("None").""; + print ' 
    '.img_object('',$picto).' '.$objMod->getName().''.img_object('',$picto).' '.$objMod->getName().''.img_picto($langs->trans("Administrator"),'star').''; - print img_picto($langs->trans("Active"),'tick'); - print ''.img_edit_remove($langs->trans("Remove")).''; - print img_picto($langs->trans("Active"),'tick'); - print ''.img_picto($langs->trans("Administrator"),'star').''; + print img_picto($langs->trans("Active"),'tick'); + print ''.img_edit_remove($langs->trans("Remove")).''; + print img_picto($langs->trans("Active"),'tick'); + print ''; - print $form->textwithtooltip($langs->trans("Inherited"),$langs->trans("PermissionInheritedFromAGroup")); - print ''; - print img_picto($langs->trans("Active"),'tick'); - print ''.img_edit_add($langs->trans("Add")).' '.img_edit_add($langs->trans("Add")).' '; + print $form->textwithtooltip($langs->trans("Inherited"),$langs->trans("PermissionInheritedFromAGroup")); + print ''; + print img_picto($langs->trans("Active"),'tick'); + print ''.img_edit_add($langs->trans("Add")).' '.img_edit_add($langs->trans("Add")).' '.$perm_libelle. ''.$perm_libelle. '
    '; diff --git a/htdocs/webservices/server_contact.php b/htdocs/webservices/server_contact.php index ec652e80074..066c9f38b6c 100644 --- a/htdocs/webservices/server_contact.php +++ b/htdocs/webservices/server_contact.php @@ -114,8 +114,7 @@ $contact_fields = array( 'user_id' => array('name'=>'user_id','type'=>'xsd:string'), 'user_login' => array('name'=>'user_login','type'=>'xsd:string'), 'civility_id' => array('name'=>'civility_id','type'=>'xsd:string'), - 'poste' => array('name'=>'poste','type'=>'xsd:string'), - 'statut' => array('name'=>'statut','type'=>'xsd:string') + 'poste' => array('name'=>'poste','type'=>'xsd:string') //... ); //Retreive all extrafield for contact @@ -286,7 +285,7 @@ function getContact($authentication,$id,$ref_ext) 'country_code' => $contact->country_code, 'country' => $contact->country, 'socid' => $contact->socid, - 'status' => $contact->status, + 'status' => $contact->statut, 'phone_pro' => $contact->phone_pro, 'fax' => $contact->fax, 'phone_perso' => $contact->phone_perso, @@ -304,8 +303,7 @@ function getContact($authentication,$id,$ref_ext) 'user_id' => $contact->user_id, 'user_login' => $contact->user_login, 'civility_id' => $contact->civility_id, - 'poste' => $contact->poste, - 'statut' => $contact->statut + 'poste' => $contact->poste ); //Retreive all extrafield for thirdsparty @@ -353,7 +351,7 @@ function getContact($authentication,$id,$ref_ext) * Create Contact * * @param array $authentication Array of authentication information - * @param Contact $contact $contact + * @param Contact $contact $contact * @return array Array result */ function createContact($authentication,$contact) @@ -398,7 +396,7 @@ function createContact($authentication,$contact) $newobject->country_code=$contact['country_code']; $newobject->country=$contact['country']; $newobject->socid=$contact['socid']; - $newobject->status=$contact['status']; + $newobject->statut=$contact['status']; $newobject->phone_pro=$contact['phone_pro']; $newobject->fax=$contact['fax']; $newobject->phone_perso=$contact['phone_perso']; @@ -416,7 +414,6 @@ function createContact($authentication,$contact) $newobject->user_id=$contact['user_id']; $newobject->user_login=$contact['user_login']; $newobject->poste=$contact['poste']; - $newobject->statut=$contact['statut']; //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels @@ -493,7 +490,7 @@ function getContactsForThirdParty($authentication,$idthirdparty) { $linesinvoice=array(); - $sql = "SELECT c.rowid, c.fk_soc, c.civility as civility_id, c.lastname, c.firstname, c.statut,"; + $sql = "SELECT c.rowid, c.fk_soc, c.civility as civility_id, c.lastname, c.firstname, c.statut as status,"; $sql.= " c.address, c.zip, c.town,"; $sql.= " c.fk_pays as country_id,"; $sql.= " c.fk_departement,"; @@ -511,7 +508,6 @@ function getContactsForThirdParty($authentication,$idthirdparty) $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."societe as s ON c.fk_soc = s.rowid"; $sql.= " WHERE c.fk_soc=$idthirdparty"; - $resql=$db->query($sql); if ($resql) { @@ -525,58 +521,50 @@ function getContactsForThirdParty($authentication,$idthirdparty) $contact=new Contact($db); $contact->fetch($obj->rowid); - // Now define invoice $linescontact[]=array( - 'id' => $contact->id, - 'ref' => $contact->ref, - 'civility_id' => $contact->civility_id?$contact->civility_id:'', - 'lastname' => $contact->lastname?$contact->lastname:'', - 'firstname' => $contact->firstname?$contact->firstname:'', - 'address' => $contact->address?$contact->address:'', - 'zip' => $contact->zip?$contact->zip:'', - 'town' => $contact->town?$contact->town:'', + 'id' => $contact->id, + 'ref' => $contact->ref, + 'civility_id' => $contact->civility_id?$contact->civility_id:'', + 'lastname' => $contact->lastname?$contact->lastname:'', + 'firstname' => $contact->firstname?$contact->firstname:'', + 'address' => $contact->address?$contact->address:'', + 'zip' => $contact->zip?$contact->zip:'', + 'town' => $contact->town?$contact->town:'', - 'state_id' => $contact->state_id?$contact->state_id:'', - 'state_code' => $contact->state_code?$contact->state_code:'', - 'state' => $contact->state?$contact->state:'', - - 'country_id' => $contact->country_id?$contact->country_id:'', - 'country_code' => $contact->country_code?$contact->country_code:'', - 'country' => $contact->country?$contact->country:'', - - 'socid' => $contact->socid?$contact->socid:'', - 'socname' => $contact->socname?$contact->socname:'', - 'poste' => $contact->poste?$contact->poste:'', - - - - 'phone_pro' => $contact->phone_pro?$contact->phone_pro:'', - 'fax' => $contact->fax?$contact->fax:'', - 'phone_perso' => $contact->phone_perso?$contact->phone_perso:'', - 'phone_mobile' => $contact->phone_mobile?$contact->phone_mobile:'', - - 'email' => $contact->email?$contact->email:'', - 'jabberid' => $contact->jabberid?$contact->jabberid:'', - 'priv' => $contact->priv?$contact->priv:'', - 'mail' => $contact->mail?$contact->mail:'', - - 'birthday' => $contact->birthday?$contact->birthday:'', - 'default_lang' => $contact->default_lang?$contact->default_lang:'', - 'note' => $contact->note?$contact->note:'', - 'no_email' => $contact->no_email?$contact->no_email:'', - 'ref_facturation' => $contact->ref_facturation?$contact->ref_facturation:'', - 'ref_contrat' => $contact->ref_contrat?$contact->ref_contrat:'', - 'ref_commande' => $contact->ref_commande?$contact->ref_commande:'', - 'ref_propal' => $contact->ref_propal?$contact->ref_propal:'', - 'user_id' => $contact->user_id?$contact->user_id:'', - 'user_login' => $contact->user_login?$contact->user_login:'', - 'statut' => $contact->statut?$contact->statut:'' + 'state_id' => $contact->state_id?$contact->state_id:'', + 'state_code' => $contact->state_code?$contact->state_code:'', + 'state' => $contact->state?$contact->state:'', + 'country_id' => $contact->country_id?$contact->country_id:'', + 'country_code' => $contact->country_code?$contact->country_code:'', + 'country' => $contact->country?$contact->country:'', + 'socid' => $contact->socid?$contact->socid:'', + 'socname' => $contact->socname?$contact->socname:'', + 'poste' => $contact->poste?$contact->poste:'', + 'phone_pro' => $contact->phone_pro?$contact->phone_pro:'', + 'fax' => $contact->fax?$contact->fax:'', + 'phone_perso' => $contact->phone_perso?$contact->phone_perso:'', + 'phone_mobile' => $contact->phone_mobile?$contact->phone_mobile:'', + 'email' => $contact->email?$contact->email:'', + 'jabberid' => $contact->jabberid?$contact->jabberid:'', + 'priv' => $contact->priv?$contact->priv:'', + 'mail' => $contact->mail?$contact->mail:'', + 'birthday' => $contact->birthday?$contact->birthday:'', + 'default_lang' => $contact->default_lang?$contact->default_lang:'', + 'note' => $contact->note?$contact->note:'', + 'no_email' => $contact->no_email?$contact->no_email:'', + 'ref_facturation' => $contact->ref_facturation?$contact->ref_facturation:'', + 'ref_contrat' => $contact->ref_contrat?$contact->ref_contrat:'', + 'ref_commande' => $contact->ref_commande?$contact->ref_commande:'', + 'ref_propal' => $contact->ref_propal?$contact->ref_propal:'', + 'user_id' => $contact->user_id?$contact->user_id:'', + 'user_login' => $contact->user_login?$contact->user_login:'', + 'status' => $contact->statut?$contact->statut:'' ); $i++; diff --git a/htdocs/webservices/server_productorservice.php b/htdocs/webservices/server_productorservice.php index 08eb76b834b..474988fa6e8 100644 --- a/htdocs/webservices/server_productorservice.php +++ b/htdocs/webservices/server_productorservice.php @@ -379,43 +379,43 @@ function getProductOrService($authentication,$id='',$ref='',$ref_ext='',$lang='' if (! empty($product->multilangs[$langs->defaultlang]["description"])) $product->description = $product->multilangs[$langs->defaultlang]["description"]; if (! empty($product->multilangs[$langs->defaultlang]["note"])) $product->note = $product->multilangs[$langs->defaultlang]["note"]; - $productorservice_result_fields = array( - 'id' => $product->id, - 'ref' => $product->ref, - 'ref_ext' => $product->ref_ext, - 'label' => $product->label, - 'description' => $product->description, - 'date_creation' => dol_print_date($product->date_creation,'dayhourrfc'), - 'date_modification' => dol_print_date($product->date_modification,'dayhourrfc'), - 'note' => $product->note, - 'status_tosell' => $product->status, - 'status_tobuy' => $product->status_buy, - 'type' => $product->type, - 'barcode' => $product->barcode, - 'barcode_type' => $product->barcode_type, - 'country_id' => $product->country_id>0?$product->country_id:'', - 'country_code' => $product->country_code, - 'custom_code' => $product->customcode, + $productorservice_result_fields = array( + 'id' => $product->id, + 'ref' => $product->ref, + 'ref_ext' => $product->ref_ext, + 'label' => $product->label, + 'description' => $product->description, + 'date_creation' => dol_print_date($product->date_creation,'dayhourrfc'), + 'date_modification' => dol_print_date($product->date_modification,'dayhourrfc'), + 'note' => $product->note, + 'status_tosell' => $product->status, + 'status_tobuy' => $product->status_buy, + 'type' => $product->type, + 'barcode' => $product->barcode, + 'barcode_type' => $product->barcode_type, + 'country_id' => $product->country_id>0?$product->country_id:'', + 'country_code' => $product->country_code, + 'custom_code' => $product->customcode, - 'price_net' => $product->price, - 'price' => $product->price_ttc, - 'price_min_net' => $product->price_min, - 'price_min' => $product->price_min_ttc, - 'price_base_type' => $product->price_base_type, - 'vat_rate' => $product->tva_tx, - //! French VAT NPR - 'vat_npr' => $product->tva_npr, - //! Spanish local taxes - 'localtax1_tx' => $product->localtax1_tx, - 'localtax2_tx' => $product->localtax2_tx, + 'price_net' => $product->price, + 'price' => $product->price_ttc, + 'price_min_net' => $product->price_min, + 'price_min' => $product->price_min_ttc, + 'price_base_type' => $product->price_base_type, + 'vat_rate' => $product->tva_tx, + //! French VAT NPR + 'vat_npr' => $product->tva_npr, + //! Spanish local taxes + 'localtax1_tx' => $product->localtax1_tx, + 'localtax2_tx' => $product->localtax2_tx, - 'stock_real' => $product->stock_reel, - 'stock_alert' => $product->seuil_stock_alerte, - 'pmp' => $product->pmp, - 'import_key' => $product->import_key, - 'dir' => $pdir, - 'images' => $product->liste_photos($dir,$nbmax=10) - ); + 'stock_real' => $product->stock_reel, + 'stock_alert' => $product->seuil_stock_alerte, + 'pmp' => $product->pmp, + 'import_key' => $product->import_key, + 'dir' => $pdir, + 'images' => $product->liste_photos($dir,$nbmax=10) + ); //Retreive all extrafield for thirdsparty // fetch optionals attributes and labels @@ -515,11 +515,11 @@ function createProductOrService($authentication,$product) $newobject->price_base_type=$product['price_base_type']; $newobject->date_creation=$now; - if ($product['barcode']) - { - $newobject->barcode = $product['barcode']; - $newobject->barcode_type = $product['barcode_type']; - } + if ($product['barcode']) + { + $newobject->barcode = $product['barcode']; + $newobject->barcode_type = $product['barcode_type']; + } $newobject->stock_reel=$product['stock_real']; $newobject->pmp=$product['pmp']; @@ -547,12 +547,12 @@ function createProductOrService($authentication,$product) //var_dump($product['lines'][0]['type']); $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('product',true); - foreach($extrafields->attribute_label as $key=>$label) - { - $key='options_'.$key; - $newobject->array_options[$key]=$product[$key]; - } + $extralabels=$extrafields->fetch_name_optionals_label('product',true); + foreach($extrafields->attribute_label as $key=>$label) + { + $key='options_'.$key; + $newobject->array_options[$key]=$product[$key]; + } $db->begin(); @@ -622,7 +622,7 @@ function updateProductOrService($authentication,$product) { $errror++; $errorcode='KO' ; $errorlabel="You must set a barcode type when setting a barcode."; } - + if (! $error) { include_once DOL_DOCUMENT_ROOT.'/core/lib/company.lib.php'; @@ -645,7 +645,7 @@ function updateProductOrService($authentication,$product) $newobject->price_base_type=$product['price_base_type']; $newobject->date_creation=$now; - if ($product['barcode']) + if ($product['barcode']) { $newobject->barcode = $product['barcode']; $newobject->barcode_type = $product['barcode_type']; @@ -676,13 +676,13 @@ function updateProductOrService($authentication,$product) //var_dump($product['ref_ext']); //var_dump($product['lines'][0]['type']); - $extrafields=new ExtraFields($db); - $extralabels=$extrafields->fetch_name_optionals_label('product',true); - foreach($extrafields->attribute_label as $key=>$label) - { - $key='options_'.$key; - $newobject->array_options[$key]=$product[$key]; - } + $extrafields=new ExtraFields($db); + $extralabels=$extrafields->fetch_name_optionals_label('product',true); + foreach($extrafields->attribute_label as $key=>$label) + { + $key='options_'.$key; + $newobject->array_options[$key]=$product[$key]; + } $db->begin(); diff --git a/test/phpunit/AllTests.php b/test/phpunit/AllTests.php index 03d092e976d..b4c7497cb79 100644 --- a/test/phpunit/AllTests.php +++ b/test/phpunit/AllTests.php @@ -31,14 +31,17 @@ global $conf,$user,$langs,$db; //require_once 'PHPUnit/Autoload.php'; require_once dirname(__FILE__).'/../../htdocs/master.inc.php'; -if ($langs->defaultlang != 'en_US') { +if ($langs->defaultlang != 'en_US') +{ print "Error: Default language for company to run tests must be set to en_US or auto. Current is ".$langs->defaultlang."\n"; exit; } -if (! empty($conf->google->enabled)) { +if (! empty($conf->google->enabled)) +{ print "Warning: Google module should not be enabled.\n"; } -if (empty($user->id)) { +if (empty($user->id)) +{ print "Load permissions for admin user nb 1\n"; $user->fetch(1); $user->getrights(); @@ -161,6 +164,8 @@ class AllTests $suite->addTestSuite('HolidayTest'); require_once dirname(__FILE__).'/EntrepotTest.php'; $suite->addTestSuite('EntrepotTest'); + require_once dirname(__FILE__).'/MouvementStockTest.php'; + $suite->addTestSuite('MouvementStockTest'); require_once dirname(__FILE__).'/CategorieTest.php'; $suite->addTestSuite('CategorieTest'); diff --git a/test/phpunit/CommandeTest.php b/test/phpunit/CommandeTest.php index 0bb7788d33f..aaba882cc87 100644 --- a/test/phpunit/CommandeTest.php +++ b/test/phpunit/CommandeTest.php @@ -77,6 +77,8 @@ class CommandeTest extends PHPUnit_Framework_TestCase global $conf,$user,$langs,$db; $db->begin(); // This is to have all actions inside a transaction even if test launched without suite. + if (empty($conf->commande->enabled)) { print __METHOD__." module customer order must be enabled.\n"; die(); } + print __METHOD__."\n"; } diff --git a/test/phpunit/FactureTest.php b/test/phpunit/FactureTest.php index 3248be7104c..d2ad97454bf 100644 --- a/test/phpunit/FactureTest.php +++ b/test/phpunit/FactureTest.php @@ -76,6 +76,7 @@ class FactureTest extends PHPUnit_Framework_TestCase { global $conf,$user,$langs,$db; + if (empty($conf->facture->enabled)) { print __METHOD__." module customer invoice must be enabled.\n"; die(); } if (! empty($conf->ecotaxdeee->enabled)) { print __METHOD__." ecotaxdeee module must not be enabled.\n"; die(); } $db->begin(); // This is to have all actions inside a transaction even if test launched without suite. diff --git a/test/phpunit/MouvementStockTest.php b/test/phpunit/MouvementStockTest.php new file mode 100644 index 00000000000..826b55851e2 --- /dev/null +++ b/test/phpunit/MouvementStockTest.php @@ -0,0 +1,254 @@ + + * + * This 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 test/phpunit/MouvementStockTest.php + * \ingroup test + * \brief PHPUnit test + * \remarks To run this script as CLI: phpunit filename.php + */ + +global $conf,$user,$langs,$db; +//define('TEST_DB_FORCE_TYPE','mysql'); // This is to force using mysql driver +//require_once 'PHPUnit/Autoload.php'; +require_once dirname(__FILE__).'/../../htdocs/master.inc.php'; +require_once dirname(__FILE__).'/../../htdocs/product/stock/class/mouvementstock.class.php'; +require_once dirname(__FILE__).'/../../htdocs/product/stock/class/entrepot.class.php'; +require_once dirname(__FILE__).'/../../htdocs/product/class/product.class.php'; + +if (empty($user->id)) +{ + print "Load permissions for admin user nb 1\n"; + $user->fetch(1); + $user->getrights(); +} +$conf->global->MAIN_DISABLE_ALL_MAILS=1; + + +/** + * Class for PHPUnit tests + * + * @backupGlobals disabled + * @backupStaticAttributes enabled + * @remarks backupGlobals must be disabled to have db,conf,user and lang not erased. + */ +class MouvementStockTest extends PHPUnit_Framework_TestCase +{ + protected $savconf; + protected $savuser; + protected $savlangs; + protected $savdb; + + /** + * Constructor + * We save global variables into local variables + * + * @return ContratTest + */ + function __construct() + { + //$this->sharedFixture + global $conf,$user,$langs,$db; + $this->savconf=$conf; + $this->savuser=$user; + $this->savlangs=$langs; + $this->savdb=$db; + + print __METHOD__." db->type=".$db->type." user->id=".$user->id; + //print " - db ".$db->db; + print "\n"; + } + + // Static methods + public static function setUpBeforeClass() + { + global $conf,$user,$langs,$db; + $db->begin(); // This is to have all actions inside a transaction even if test launched without suite. + + print __METHOD__."\n"; + } + + // tear down after class + public static function tearDownAfterClass() + { + global $conf,$user,$langs,$db; + $db->rollback(); + + print __METHOD__."\n"; + } + + /** + * Init phpunit tests + * + * @return void + */ + protected function setUp() + { + global $conf,$user,$langs,$db; + $conf=$this->savconf; + $user=$this->savuser; + $langs=$this->savlangs; + $db=$this->savdb; + + print __METHOD__."\n"; + } + /** + * End phpunit tests + * + * @return void + */ + protected function tearDown() + { + print __METHOD__."\n"; + } + + /** + * testMouvementCreate + * + * @return int + */ + public function testMouvementCreate() + { + global $conf,$user,$langs,$db; + $conf=$this->savconf; + $user=$this->savuser; + $langs=$this->savlangs; + $db=$this->savdb; + + // We create a product for tests + $product1=new Product($db); + $product1->initAsSpecimen(); + $product1->ref.=' 1'; + $product1->label.=' 1'; + $product1id=$product1->create($user); + + $product2=new Product($db); + $product2->initAsSpecimen(); + $product2->ref.=' 2'; + $product2->label.=' 2'; + $product2id=$product2->create($user); + + // We create a product for tests + $warehouse1=new Entrepot($db); + $warehouse1->initAsSpecimen(); + $warehouse1->libelle.=' 1'; + $warehouse1->description.=' 1'; + $warehouse1id=$warehouse1->create($user); + + $warehouse2=new Entrepot($db); + $warehouse2->initAsSpecimen(); + $warehouse2->libelle.=' 2'; + $warehouse2->description.=' 2'; + $warehouse2id=$warehouse2->create($user); + + $localobject=new MouvementStock($this->savdb); + + // Do a list of movement into warehouse 1 + + // Create an input movement (type = 3) of price 9.9 -> shoul dupdate PMP to 9.9 + $result=$localobject->_create($user, $product1id, $warehouse1id, 10, 3, 9.9, 'Movement for unit test 1', 'Inventory Code Test'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an input movement (type = 3) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse1id, 10, 3, 9.7, 'Movement for unit test 2', 'Inventory Code Test'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 2) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse1id, -5, 2, 999, 'Movement for unit test 3', 'Inventory Code Test'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 1) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse1id, 1, 0, 0, 'Input from transfer', 'Transfert X'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 1) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse1id, -2, 1, 0, 'Output from transfer', 'Transfert Y'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + + // Do same but into warehouse 2 + + // Create an input movement (type = 3) of price 9.9 -> shoul dupdate PMP to 9.9 + $result=$localobject->_create($user, $product1id, $warehouse2id, 10, 3, 9.9, 'Movement for unit test 1 wh 2', 'Inventory Code Test 2'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an input movement (type = 3) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse2id, 10, 3, 9.7, 'Movement for unit test 2 wh 2', 'Inventory Code Test 2'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 2) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse2id, -5, 2, 999, 'Movement for unit test 3 wh 2', 'Inventory Code Test 2'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 1) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse2id, 1, 0, 0, 'Input from transfer wh 2', 'Transfert X 2'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + // Create an output movement (type = 1) of price 9.7 -> shoul dupdate PMP to 9.9/9.7 = 9.8 + $result=$localobject->_create($user, $product1id, $warehouse2id, -2, 1, 0, 'Output from transfer wh 2', 'Transfert Y 2'); + print __METHOD__." result=".$result."\n"; + $this->assertLessThan($result, 0); + + + return $localobject; + } + + /** + * testMouvementCheck + * + * @param MouvementStock $localobject Movement object we created + * @return int + * + * @depends testMouvementCreate + * The depends says test is run only if previous is ok + */ + public function testMouvementCheck($localobject) + { + global $conf,$user,$langs,$db; + $conf=$this->savconf; + $user=$this->savuser; + $langs=$this->savlangs; + $db=$this->savdb; + + $productid = $localobject->product_id; + $warehouseid = $localobject->entrepot_id; + + print __METHOD__." productid=".$productid."\n"; + + $producttotest = new Product($db); + $producttotest->fetch($productid); + + print __METHOD__." producttotest->stock_reel=".$producttotest->stock_reel."\n"; + $this->assertEquals($producttotest->stock_reel, 28); // 28 is result of stock movement defined into testMouvementCreate + + print __METHOD__." producttotest->pmp=".$producttotest->pmp."\n"; + $this->assertEquals($producttotest->pmp, 9.8); + + return $localobject; + } + +} diff --git a/test/phpunit/ProjectTest.php b/test/phpunit/ProjectTest.php index e27cd1e0223..c2f5d5b8161 100644 --- a/test/phpunit/ProjectTest.php +++ b/test/phpunit/ProjectTest.php @@ -189,7 +189,7 @@ class ProjectTest extends PHPUnit_Framework_TestCase } /** - * testProjectOther + * testProjectClose * * @param Project $localobject Project * @return int @@ -205,6 +205,10 @@ class ProjectTest extends PHPUnit_Framework_TestCase $langs=$this->savlangs; $db=$this->savdb; + $result=$localobject->setClose($user); + + print __METHOD__." id=".$localobject->id." result=".$result."\n"; + $this->assertLessThan($result, 0); return $localobject->id; } @@ -214,7 +218,7 @@ class ProjectTest extends PHPUnit_Framework_TestCase * @param int $id Id of project * @return void * - * @depends testProjectOther + * @depends testProjectClose * The depends says test is run only if previous is ok */ public function testProjectDelete($id)